diff --git a/YOLOv8_DeepSORT_TRACKING_SCRIPT.ipynb b/YOLOv8_DeepSORT_TRACKING_SCRIPT.ipynb new file mode 100644 index 00000000..e51cec05 --- /dev/null +++ b/YOLOv8_DeepSORT_TRACKING_SCRIPT.ipynb @@ -0,0 +1,2434 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + }, + "accelerator": "GPU", + "gpuClass": "standard" + }, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# Before Running the Script Please Make Sure you Select the Run Time as GPU" + ], + "metadata": { + "id": "Osp3607nFu9G" + } + }, + { + "cell_type": "markdown", + "source": [ + "#**Clone the Github Repo**" + ], + "metadata": { + "id": "tO1DFFdfFvI-" + } + }, + { + "cell_type": "code", + "source": [ + "!git clone https://github.com/MuhammadMoinFaisal/YOLOv8-DeepSORT-Object-Tracking.git" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "JTqOq3p0F0ul", + "outputId": "4999aab4-6c37-482f-bef0-3df008b26432" + }, + "execution_count": 1, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Cloning into 'YOLOv8-DeepSORT-Object-Tracking'...\n", + "remote: Enumerating objects: 367, done.\u001b[K\n", + "remote: Counting objects: 100% (265/265), done.\u001b[K\n", + "remote: Compressing objects: 100% (160/160), done.\u001b[K\n", + "remote: Total 367 (delta 116), reused 239 (delta 104), pack-reused 102\u001b[K\n", + "Receiving objects: 100% (367/367), 45.62 MiB | 15.98 MiB/s, done.\n", + "Resolving deltas: 100% (134/134), done.\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "##Setting the Current Directory" + ], + "metadata": { + "id": "PuJXtLs9C-tj" + } + }, + { + "cell_type": "code", + "source": [ + "%cd /content/YOLOv8-DeepSORT-Object-Tracking" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "_0Cy9Q3hC0CI", + "outputId": "d7be9a31-b001-4183-d481-19b98ecb4754" + }, + "execution_count": 2, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "/content/YOLOv8-DeepSORT-Object-Tracking\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "##Install all the Dependencies" + ], + "metadata": { + "id": "p4PQj_GXDMFb" + } + }, + { + "cell_type": "code", + "source": [ + "!pip install -e '.[dev]'" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "hxERsChADIgc", + "outputId": "fe5304f6-e2c3-49cf-c189-62c6e20a0485" + }, + "execution_count": 3, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Obtaining file:///content/YOLOv8-DeepSORT-Object-Tracking\n", + " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Collecting hydra-core>=1.2.0\n", + " Downloading hydra_core-1.3.1-py3-none-any.whl (154 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m154.1/154.1 KB\u001b[0m \u001b[31m9.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: matplotlib>=3.2.2 in /usr/local/lib/python3.8/dist-packages (from ultralytics==8.0.3) (3.2.2)\n", + "Requirement already satisfied: numpy>=1.18.5 in /usr/local/lib/python3.8/dist-packages (from ultralytics==8.0.3) (1.21.6)\n", + "Requirement already satisfied: opencv-python>=4.1.1 in /usr/local/lib/python3.8/dist-packages (from ultralytics==8.0.3) (4.6.0.66)\n", + "Requirement already satisfied: Pillow>=7.1.2 in /usr/local/lib/python3.8/dist-packages (from ultralytics==8.0.3) (7.1.2)\n", + "Requirement already satisfied: PyYAML>=5.3.1 in /usr/local/lib/python3.8/dist-packages (from ultralytics==8.0.3) (6.0)\n", + "Requirement already satisfied: requests>=2.23.0 in /usr/local/lib/python3.8/dist-packages (from ultralytics==8.0.3) (2.25.1)\n", + "Requirement already satisfied: scipy>=1.4.1 in /usr/local/lib/python3.8/dist-packages (from ultralytics==8.0.3) (1.7.3)\n", + "Requirement already satisfied: torch>=1.7.0 in /usr/local/lib/python3.8/dist-packages (from ultralytics==8.0.3) (1.13.1+cu116)\n", + "Requirement already satisfied: torchvision>=0.8.1 in /usr/local/lib/python3.8/dist-packages (from ultralytics==8.0.3) (0.14.1+cu116)\n", + "Requirement already satisfied: tqdm>=4.64.0 in /usr/local/lib/python3.8/dist-packages (from ultralytics==8.0.3) (4.64.1)\n", + "Requirement already satisfied: tensorboard>=2.4.1 in /usr/local/lib/python3.8/dist-packages (from ultralytics==8.0.3) (2.9.1)\n", + "Requirement already satisfied: pandas>=1.1.4 in /usr/local/lib/python3.8/dist-packages (from ultralytics==8.0.3) (1.3.5)\n", + "Requirement already satisfied: seaborn>=0.11.0 in /usr/local/lib/python3.8/dist-packages (from ultralytics==8.0.3) (0.11.2)\n", + "Requirement already satisfied: ipython in /usr/local/lib/python3.8/dist-packages (from ultralytics==8.0.3) (7.9.0)\n", + "Requirement already satisfied: psutil in /usr/local/lib/python3.8/dist-packages (from ultralytics==8.0.3) (5.4.8)\n", + "Collecting thop>=0.1.1\n", + " Downloading thop-0.1.1.post2209072238-py3-none-any.whl (15 kB)\n", + "Collecting GitPython>=3.1.24\n", + " Downloading GitPython-3.1.30-py3-none-any.whl (184 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m184.0/184.0 KB\u001b[0m \u001b[31m25.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting check-manifest\n", + " Downloading check_manifest-0.49-py3-none-any.whl (20 kB)\n", + "Requirement already satisfied: pytest in /usr/local/lib/python3.8/dist-packages (from ultralytics==8.0.3) (3.6.4)\n", + "Collecting pytest-cov\n", + " Downloading pytest_cov-4.0.0-py3-none-any.whl (21 kB)\n", + "Collecting coverage\n", + " Downloading coverage-7.0.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (227 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m227.0/227.0 KB\u001b[0m \u001b[31m26.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting mkdocs\n", + " Downloading mkdocs-1.4.2-py3-none-any.whl (3.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.7/3.7 MB\u001b[0m \u001b[31m100.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting mkdocstrings[python]\n", + " Downloading mkdocstrings-0.19.1-py3-none-any.whl (25 kB)\n", + "Collecting mkdocs-material\n", + " Downloading mkdocs_material-9.0.5-py3-none-any.whl (7.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.7/7.7 MB\u001b[0m \u001b[31m106.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting gitdb<5,>=4.0.1\n", + " Downloading gitdb-4.0.10-py3-none-any.whl (62 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m62.7/62.7 KB\u001b[0m \u001b[31m8.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting omegaconf<2.4,>=2.2\n", + " Downloading omegaconf-2.3.0-py3-none-any.whl (79 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m79.5/79.5 KB\u001b[0m \u001b[31m11.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: importlib-resources in /usr/local/lib/python3.8/dist-packages (from hydra-core>=1.2.0->ultralytics==8.0.3) (5.10.2)\n", + "Collecting antlr4-python3-runtime==4.9.*\n", + " Downloading antlr4-python3-runtime-4.9.3.tar.gz (117 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m117.0/117.0 KB\u001b[0m \u001b[31m16.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.8/dist-packages (from hydra-core>=1.2.0->ultralytics==8.0.3) (21.3)\n", + "Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=3.2.2->ultralytics==8.0.3) (2.8.2)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=3.2.2->ultralytics==8.0.3) (0.11.0)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=3.2.2->ultralytics==8.0.3) (1.4.4)\n", + "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=3.2.2->ultralytics==8.0.3) (3.0.9)\n", + "Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.8/dist-packages (from pandas>=1.1.4->ultralytics==8.0.3) (2022.7)\n", + "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests>=2.23.0->ultralytics==8.0.3) (4.0.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests>=2.23.0->ultralytics==8.0.3) (2022.12.7)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests>=2.23.0->ultralytics==8.0.3) (2.10)\n", + "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests>=2.23.0->ultralytics==8.0.3) (1.24.3)\n", + "Requirement already satisfied: setuptools>=41.0.0 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->ultralytics==8.0.3) (57.4.0)\n", + "Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->ultralytics==8.0.3) (3.4.1)\n", + "Requirement already satisfied: grpcio>=1.24.3 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->ultralytics==8.0.3) (1.51.1)\n", + "Requirement already satisfied: protobuf<3.20,>=3.9.2 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->ultralytics==8.0.3) (3.19.6)\n", + "Requirement already satisfied: google-auth<3,>=1.6.3 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->ultralytics==8.0.3) (2.16.0)\n", + "Requirement already satisfied: tensorboard-data-server<0.7.0,>=0.6.0 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->ultralytics==8.0.3) (0.6.1)\n", + "Requirement already satisfied: werkzeug>=1.0.1 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->ultralytics==8.0.3) (1.0.1)\n", + "Requirement already satisfied: wheel>=0.26 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->ultralytics==8.0.3) (0.38.4)\n", + "Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->ultralytics==8.0.3) (1.8.1)\n", + "Requirement already satisfied: absl-py>=0.4 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->ultralytics==8.0.3) (1.3.0)\n", + "Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.8/dist-packages (from tensorboard>=2.4.1->ultralytics==8.0.3) (0.4.6)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.8/dist-packages (from torch>=1.7.0->ultralytics==8.0.3) (4.4.0)\n", + "Collecting build>=0.1\n", + " Downloading build-0.10.0-py3-none-any.whl (17 kB)\n", + "Requirement already satisfied: tomli in /usr/local/lib/python3.8/dist-packages (from check-manifest->ultralytics==8.0.3) (2.0.1)\n", + "Requirement already satisfied: backcall in /usr/local/lib/python3.8/dist-packages (from ipython->ultralytics==8.0.3) (0.2.0)\n", + "Requirement already satisfied: pexpect in /usr/local/lib/python3.8/dist-packages (from ipython->ultralytics==8.0.3) (4.8.0)\n", + "Requirement already satisfied: prompt-toolkit<2.1.0,>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from ipython->ultralytics==8.0.3) (2.0.10)\n", + "Requirement already satisfied: pygments in /usr/local/lib/python3.8/dist-packages (from ipython->ultralytics==8.0.3) (2.6.1)\n", + "Requirement already satisfied: pickleshare in /usr/local/lib/python3.8/dist-packages (from ipython->ultralytics==8.0.3) (0.7.5)\n", + "Requirement already satisfied: traitlets>=4.2 in /usr/local/lib/python3.8/dist-packages (from ipython->ultralytics==8.0.3) (5.7.1)\n", + "Collecting jedi>=0.10\n", + " Downloading jedi-0.18.2-py2.py3-none-any.whl (1.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m81.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: decorator in /usr/local/lib/python3.8/dist-packages (from ipython->ultralytics==8.0.3) (4.4.2)\n", + "Collecting ghp-import>=1.0\n", + " Downloading ghp_import-2.1.0-py3-none-any.whl (11 kB)\n", + "Collecting pyyaml-env-tag>=0.1\n", + " Downloading pyyaml_env_tag-0.1-py3-none-any.whl (3.9 kB)\n", + "Requirement already satisfied: jinja2>=2.11.1 in /usr/local/lib/python3.8/dist-packages (from mkdocs->ultralytics==8.0.3) (2.11.3)\n", + "Collecting watchdog>=2.0\n", + " Downloading watchdog-2.2.1-py3-none-manylinux2014_x86_64.whl (78 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m79.0/79.0 KB\u001b[0m \u001b[31m11.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting mergedeep>=1.3.4\n", + " Downloading mergedeep-1.3.4-py3-none-any.whl (6.4 kB)\n", + "Requirement already satisfied: importlib-metadata>=4.3 in /usr/local/lib/python3.8/dist-packages (from mkdocs->ultralytics==8.0.3) (6.0.0)\n", + "Collecting markdown>=2.6.8\n", + " Downloading Markdown-3.3.7-py3-none-any.whl (97 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m97.8/97.8 KB\u001b[0m \u001b[31m14.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: click>=7.0 in /usr/local/lib/python3.8/dist-packages (from mkdocs->ultralytics==8.0.3) (7.1.2)\n", + "Collecting colorama>=0.4\n", + " Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", + "Requirement already satisfied: regex>=2022.4.24 in /usr/local/lib/python3.8/dist-packages (from mkdocs-material->ultralytics==8.0.3) (2022.6.2)\n", + "Collecting requests>=2.23.0\n", + " Downloading requests-2.28.2-py3-none-any.whl (62 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m62.8/62.8 KB\u001b[0m \u001b[31m7.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting pygments\n", + " Downloading Pygments-2.14.0-py3-none-any.whl (1.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.1/1.1 MB\u001b[0m \u001b[31m9.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting mkdocs-material-extensions>=1.1\n", + " Downloading mkdocs_material_extensions-1.1.1-py3-none-any.whl (7.9 kB)\n", + "Collecting jinja2>=2.11.1\n", + " Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m133.1/133.1 KB\u001b[0m \u001b[31m18.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting pymdown-extensions>=9.9.1\n", + " Downloading pymdown_extensions-9.9.1-py3-none-any.whl (219 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m219.5/219.5 KB\u001b[0m \u001b[31m28.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.8/dist-packages (from requests>=2.23.0->ultralytics==8.0.3) (2.1.1)\n", + "Collecting mkdocs-autorefs>=0.3.1\n", + " Downloading mkdocs_autorefs-0.4.1-py3-none-any.whl (9.8 kB)\n", + "Requirement already satisfied: MarkupSafe>=1.1 in /usr/local/lib/python3.8/dist-packages (from mkdocstrings[python]->ultralytics==8.0.3) (2.0.1)\n", + "Collecting mkdocstrings-python>=0.5.2\n", + " Downloading mkdocstrings_python-0.8.3-py3-none-any.whl (38 kB)\n", + "Requirement already satisfied: more-itertools>=4.0.0 in /usr/local/lib/python3.8/dist-packages (from pytest->ultralytics==8.0.3) (9.0.0)\n", + "Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.8/dist-packages (from pytest->ultralytics==8.0.3) (22.2.0)\n", + "Requirement already satisfied: six>=1.10.0 in /usr/local/lib/python3.8/dist-packages (from pytest->ultralytics==8.0.3) (1.15.0)\n", + "Requirement already satisfied: atomicwrites>=1.0 in /usr/local/lib/python3.8/dist-packages (from pytest->ultralytics==8.0.3) (1.4.1)\n", + "Requirement already satisfied: py>=1.5.0 in /usr/local/lib/python3.8/dist-packages (from pytest->ultralytics==8.0.3) (1.11.0)\n", + "Requirement already satisfied: pluggy<0.8,>=0.5 in /usr/local/lib/python3.8/dist-packages (from pytest->ultralytics==8.0.3) (0.7.1)\n", + "Collecting pytest\n", + " Downloading pytest-7.2.1-py3-none-any.whl (317 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m317.1/317.1 KB\u001b[0m \u001b[31m38.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting exceptiongroup>=1.0.0rc8\n", + " Downloading exceptiongroup-1.1.0-py3-none-any.whl (14 kB)\n", + "Collecting pytest\n", + " Downloading pytest-7.2.0-py3-none-any.whl (316 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m316.8/316.8 KB\u001b[0m \u001b[31m36.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-7.1.3-py3-none-any.whl (298 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m298.2/298.2 KB\u001b[0m \u001b[31m36.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-7.1.2-py3-none-any.whl (297 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m297.0/297.0 KB\u001b[0m \u001b[31m36.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-7.1.1-py3-none-any.whl (297 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m297.0/297.0 KB\u001b[0m \u001b[31m38.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-7.1.0-py3-none-any.whl (297 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m297.0/297.0 KB\u001b[0m \u001b[31m35.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-7.0.1-py3-none-any.whl (296 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m297.0/297.0 KB\u001b[0m \u001b[31m29.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-7.0.0-py3-none-any.whl (296 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m296.5/296.5 KB\u001b[0m \u001b[31m34.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-6.2.5-py3-none-any.whl (280 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m280.7/280.7 KB\u001b[0m \u001b[31m33.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: toml in /usr/local/lib/python3.8/dist-packages (from pytest->ultralytics==8.0.3) (0.10.2)\n", + " Downloading pytest-6.2.4-py3-none-any.whl (280 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m280.6/280.6 KB\u001b[0m \u001b[31m34.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-6.2.3-py3-none-any.whl (280 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m280.5/280.5 KB\u001b[0m \u001b[31m34.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-6.2.2-py3-none-any.whl (280 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m280.1/280.1 KB\u001b[0m \u001b[31m34.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-6.2.1-py3-none-any.whl (279 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m279.9/279.9 KB\u001b[0m \u001b[31m36.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-6.2.0-py3-none-any.whl (279 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m279.6/279.6 KB\u001b[0m \u001b[31m36.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-6.1.2-py3-none-any.whl (272 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m272.4/272.4 KB\u001b[0m \u001b[31m34.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting iniconfig\n", + " Downloading iniconfig-2.0.0-py3-none-any.whl (5.9 kB)\n", + "Collecting pytest\n", + " Downloading pytest-6.1.1-py3-none-any.whl (272 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m272.2/272.2 KB\u001b[0m \u001b[31m33.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-6.1.0-py3-none-any.whl (272 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m272.3/272.3 KB\u001b[0m \u001b[31m26.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-6.0.2-py3-none-any.whl (270 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m270.8/270.8 KB\u001b[0m \u001b[31m32.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-6.0.1-py3-none-any.whl (270 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m270.6/270.6 KB\u001b[0m \u001b[31m33.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-6.0.0-py3-none-any.whl (270 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m270.6/270.6 KB\u001b[0m \u001b[31m34.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.4.3-py3-none-any.whl (248 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m248.1/248.1 KB\u001b[0m \u001b[31m29.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: wcwidth in /usr/local/lib/python3.8/dist-packages (from pytest->ultralytics==8.0.3) (0.2.5)\n", + " Downloading pytest-5.4.2-py3-none-any.whl (247 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m247.4/247.4 KB\u001b[0m \u001b[31m30.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.4.1-py3-none-any.whl (246 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m246.7/246.7 KB\u001b[0m \u001b[31m30.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.4.0-py3-none-any.whl (247 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m247.0/247.0 KB\u001b[0m \u001b[31m31.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.3.5-py3-none-any.whl (235 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m235.2/235.2 KB\u001b[0m \u001b[31m28.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.3.4-py3-none-any.whl (235 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m235.3/235.3 KB\u001b[0m \u001b[31m28.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.3.3-py3-none-any.whl (235 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m235.5/235.5 KB\u001b[0m \u001b[31m26.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.3.2-py3-none-any.whl (234 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m234.5/234.5 KB\u001b[0m \u001b[31m31.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.3.1-py3-none-any.whl (233 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m233.9/233.9 KB\u001b[0m \u001b[31m30.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.3.0-py3-none-any.whl (233 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m233.7/233.7 KB\u001b[0m \u001b[31m27.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.2.4-py3-none-any.whl (227 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m227.4/227.4 KB\u001b[0m \u001b[31m30.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.2.3-py3-none-any.whl (227 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m227.4/227.4 KB\u001b[0m \u001b[31m29.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.2.2-py3-none-any.whl (227 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m227.3/227.3 KB\u001b[0m \u001b[31m29.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.2.1-py3-none-any.whl (226 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m226.8/226.8 KB\u001b[0m \u001b[31m28.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.2.0-py3-none-any.whl (226 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m226.7/226.7 KB\u001b[0m \u001b[31m29.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.1.3-py3-none-any.whl (224 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m224.1/224.1 KB\u001b[0m \u001b[31m30.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.1.2-py3-none-any.whl (224 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m224.2/224.2 KB\u001b[0m \u001b[31m26.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.1.1-py3-none-any.whl (223 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m223.6/223.6 KB\u001b[0m \u001b[31m29.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.1.0-py3-none-any.whl (223 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m223.6/223.6 KB\u001b[0m \u001b[31m25.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.0.1-py3-none-any.whl (221 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m221.8/221.8 KB\u001b[0m \u001b[31m28.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-5.0.0-py3-none-any.whl (221 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m221.8/221.8 KB\u001b[0m \u001b[31m29.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-4.6.11-py2.py3-none-any.whl (231 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m231.6/231.6 KB\u001b[0m \u001b[31m31.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-4.6.10-py2.py3-none-any.whl (231 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m231.6/231.6 KB\u001b[0m \u001b[31m30.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-4.6.9-py2.py3-none-any.whl (231 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m231.1/231.1 KB\u001b[0m \u001b[31m30.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-4.6.8-py2.py3-none-any.whl (230 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m230.5/230.5 KB\u001b[0m \u001b[31m29.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-4.6.7-py2.py3-none-any.whl (230 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m230.4/230.4 KB\u001b[0m \u001b[31m24.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-4.6.6-py2.py3-none-any.whl (230 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m230.2/230.2 KB\u001b[0m \u001b[31m27.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-4.6.5-py2.py3-none-any.whl (230 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m230.1/230.1 KB\u001b[0m \u001b[31m29.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-4.6.4-py2.py3-none-any.whl (229 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m229.6/229.6 KB\u001b[0m \u001b[31m28.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-4.6.3-py2.py3-none-any.whl (229 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m229.6/229.6 KB\u001b[0m \u001b[31m29.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-4.6.2-py2.py3-none-any.whl (229 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m229.5/229.5 KB\u001b[0m \u001b[31m26.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-4.6.1-py2.py3-none-any.whl (229 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m229.9/229.9 KB\u001b[0m \u001b[31m27.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Downloading pytest-4.6.0-py2.py3-none-any.whl (229 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m229.8/229.8 KB\u001b[0m \u001b[31m27.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hINFO: pip is looking at multiple versions of pytest-cov to determine which version is compatible with other requirements. This could take a while.\n", + "Collecting pytest-cov\n", + " Downloading pytest_cov-3.0.0-py3-none-any.whl (20 kB)\n", + " Downloading pytest_cov-2.12.1-py2.py3-none-any.whl (20 kB)\n", + " Downloading pytest_cov-2.12.0-py2.py3-none-any.whl (20 kB)\n", + " Downloading pytest_cov-2.11.1-py2.py3-none-any.whl (20 kB)\n", + " Downloading pytest_cov-2.11.0-py2.py3-none-any.whl (20 kB)\n", + " Downloading pytest_cov-2.10.1-py2.py3-none-any.whl (19 kB)\n", + " Downloading pytest_cov-2.10.0-py2.py3-none-any.whl (19 kB)\n", + "INFO: pip is looking at multiple versions of pytest-cov to determine which version is compatible with other requirements. This could take a while.\n", + " Downloading pytest_cov-2.9.0-py2.py3-none-any.whl (19 kB)\n", + "Collecting pyproject_hooks\n", + " Downloading pyproject_hooks-1.0.0-py3-none-any.whl (9.3 kB)\n", + "Collecting smmap<6,>=3.0.1\n", + " Downloading smmap-5.0.0-py3-none-any.whl (24 kB)\n", + "Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.8/dist-packages (from google-auth<3,>=1.6.3->tensorboard>=2.4.1->ultralytics==8.0.3) (4.9)\n", + "Requirement already satisfied: cachetools<6.0,>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from google-auth<3,>=1.6.3->tensorboard>=2.4.1->ultralytics==8.0.3) (5.2.1)\n", + "Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.8/dist-packages (from google-auth<3,>=1.6.3->tensorboard>=2.4.1->ultralytics==8.0.3) (0.2.8)\n", + "Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.8/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard>=2.4.1->ultralytics==8.0.3) (1.3.1)\n", + "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.8/dist-packages (from importlib-metadata>=4.3->mkdocs->ultralytics==8.0.3) (3.11.0)\n", + "Requirement already satisfied: parso<0.9.0,>=0.8.0 in /usr/local/lib/python3.8/dist-packages (from jedi>=0.10->ipython->ultralytics==8.0.3) (0.8.3)\n", + "Collecting griffe>=0.24\n", + " Downloading griffe-0.25.3-py3-none-any.whl (87 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m87.2/87.2 KB\u001b[0m \u001b[31m12.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.8/dist-packages (from pexpect->ipython->ultralytics==8.0.3) (0.7.0)\n", + "Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /usr/local/lib/python3.8/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard>=2.4.1->ultralytics==8.0.3) (0.4.8)\n", + "Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.8/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard>=2.4.1->ultralytics==8.0.3) (3.2.2)\n", + "Building wheels for collected packages: antlr4-python3-runtime\n", + " Building wheel for antlr4-python3-runtime (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.9.3-py3-none-any.whl size=144575 sha256=f49096613c651ba26ab4d160eb254e1a33a1e3a38dff639e5ea44fff0bec641a\n", + " Stored in directory: /root/.cache/pip/wheels/b1/a3/c2/6df046c09459b73cc9bb6c4401b0be6c47048baf9a1617c485\n", + "Successfully built antlr4-python3-runtime\n", + "Installing collected packages: antlr4-python3-runtime, watchdog, smmap, requests, pyyaml-env-tag, pyproject_hooks, pygments, omegaconf, mkdocs-material-extensions, mergedeep, jinja2, jedi, coverage, colorama, thop, pytest-cov, markdown, hydra-core, griffe, gitdb, ghp-import, build, pymdown-extensions, mkdocs, GitPython, check-manifest, mkdocs-material, mkdocs-autorefs, ultralytics, mkdocstrings, mkdocstrings-python\n", + " Attempting uninstall: requests\n", + " Found existing installation: requests 2.25.1\n", + " Uninstalling requests-2.25.1:\n", + " Successfully uninstalled requests-2.25.1\n", + " Attempting uninstall: pygments\n", + " Found existing installation: Pygments 2.6.1\n", + " Uninstalling Pygments-2.6.1:\n", + " Successfully uninstalled Pygments-2.6.1\n", + " Attempting uninstall: jinja2\n", + " Found existing installation: Jinja2 2.11.3\n", + " Uninstalling Jinja2-2.11.3:\n", + " Successfully uninstalled Jinja2-2.11.3\n", + " Attempting uninstall: markdown\n", + " Found existing installation: Markdown 3.4.1\n", + " Uninstalling Markdown-3.4.1:\n", + " Successfully uninstalled Markdown-3.4.1\n", + " Running setup.py develop for ultralytics\n", + "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "notebook 5.7.16 requires jinja2<=3.0.0, but you have jinja2 3.1.2 which is incompatible.\n", + "flask 1.1.4 requires Jinja2<3.0,>=2.10.1, but you have jinja2 3.1.2 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed GitPython-3.1.30 antlr4-python3-runtime-4.9.3 build-0.10.0 check-manifest-0.49 colorama-0.4.6 coverage-7.0.5 ghp-import-2.1.0 gitdb-4.0.10 griffe-0.25.3 hydra-core-1.3.1 jedi-0.18.2 jinja2-3.1.2 markdown-3.3.7 mergedeep-1.3.4 mkdocs-1.4.2 mkdocs-autorefs-0.4.1 mkdocs-material-9.0.5 mkdocs-material-extensions-1.1.1 mkdocstrings-0.19.1 mkdocstrings-python-0.8.3 omegaconf-2.3.0 pygments-2.14.0 pymdown-extensions-9.9.1 pyproject_hooks-1.0.0 pytest-cov-2.9.0 pyyaml-env-tag-0.1 requests-2.28.2 smmap-5.0.0 thop-0.1.1.post2209072238 ultralytics-8.0.3 watchdog-2.2.1\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "##Moving to the Required Directory" + ], + "metadata": { + "id": "i4-h2jwWDXU6" + } + }, + { + "cell_type": "code", + "source": [ + "%cd /content/YOLOv8-DeepSORT-Object-Tracking/ultralytics/yolo/v8/detect" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "sWXs2RdKDnqB", + "outputId": "86bf9497-7b23-4266-a642-e6a2fe905a3e" + }, + "execution_count": 4, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "/content/YOLOv8-DeepSORT-Object-Tracking/ultralytics/yolo/v8/detect\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "##To implement the DeepSORT tracking, downloading the required files " + ], + "metadata": { + "id": "oEUtstJcDqz0" + } + }, + { + "cell_type": "code", + "source": [ + "!gdown \"https://drive.google.com/uc?id=11ZSZcG-bcbueXZC3rN08CM0qqX3eiHxf&confirm=t\"\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "5FuD6jDfDSoU", + "outputId": "0d91cee1-5db0-46ba-b2f3-92d4590d4044" + }, + "execution_count": 5, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Downloading...\n", + "From: https://drive.google.com/uc?id=11ZSZcG-bcbueXZC3rN08CM0qqX3eiHxf&confirm=t\n", + "To: /content/YOLOv8-DeepSORT-Object-Tracking/ultralytics/yolo/v8/detect/deep_sort_pytorch.zip\n", + "100% 43.1M/43.1M [00:00<00:00, 186MB/s]\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "##Unzipping the DeepSORT Files" + ], + "metadata": { + "id": "qFpopDEED61b" + } + }, + { + "cell_type": "code", + "source": [ + "!unzip 'deep_sort_pytorch.zip'" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "uLmlRpFdD1su", + "outputId": "9bddacbb-5b08-44be-9d43-3039ed7344c1" + }, + "execution_count": 6, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Archive: deep_sort_pytorch.zip\n", + " inflating: deep_sort_pytorch/.gitignore \n", + " creating: deep_sort_pytorch/configs/\n", + " inflating: deep_sort_pytorch/configs/deep_sort.yaml \n", + " creating: deep_sort_pytorch/deep_sort/\n", + " inflating: deep_sort_pytorch/deep_sort/__init__.py \n", + " creating: deep_sort_pytorch/deep_sort/__pycache__/\n", + " inflating: deep_sort_pytorch/deep_sort/__pycache__/__init__.cpython-310.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/__pycache__/__init__.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/__pycache__/__init__.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/__pycache__/deep_sort.cpython-310.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/__pycache__/deep_sort.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/__pycache__/deep_sort.cpython-38.pyc \n", + " creating: deep_sort_pytorch/deep_sort/deep/\n", + " extracting: deep_sort_pytorch/deep_sort/deep/__init__.py \n", + " creating: deep_sort_pytorch/deep_sort/deep/__pycache__/\n", + " inflating: deep_sort_pytorch/deep_sort/deep/__pycache__/__init__.cpython-310.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/deep/__pycache__/__init__.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/deep/__pycache__/__init__.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/deep/__pycache__/feature_extractor.cpython-310.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/deep/__pycache__/feature_extractor.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/deep/__pycache__/feature_extractor.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/deep/__pycache__/model.cpython-310.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/deep/__pycache__/model.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/deep/__pycache__/model.cpython-38.pyc \n", + " creating: deep_sort_pytorch/deep_sort/deep/checkpoint/\n", + " extracting: deep_sort_pytorch/deep_sort/deep/checkpoint/.gitkeep \n", + " inflating: deep_sort_pytorch/deep_sort/deep/checkpoint/ckpt.t7 \n", + " inflating: deep_sort_pytorch/deep_sort/deep/evaluate.py \n", + " inflating: deep_sort_pytorch/deep_sort/deep/feature_extractor.py \n", + " inflating: deep_sort_pytorch/deep_sort/deep/model.py \n", + " inflating: deep_sort_pytorch/deep_sort/deep/original_model.py \n", + " inflating: deep_sort_pytorch/deep_sort/deep/test.py \n", + " inflating: deep_sort_pytorch/deep_sort/deep/train.jpg \n", + " inflating: deep_sort_pytorch/deep_sort/deep/train.py \n", + " inflating: deep_sort_pytorch/deep_sort/deep_sort.py \n", + " inflating: deep_sort_pytorch/deep_sort/README.md \n", + " creating: deep_sort_pytorch/deep_sort/sort - Copy/\n", + " extracting: deep_sort_pytorch/deep_sort/sort - Copy/__init__.py \n", + " creating: deep_sort_pytorch/deep_sort/sort - Copy/__pycache__/\n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/__pycache__/__init__.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/__pycache__/__init__.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/__pycache__/detection.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/__pycache__/detection.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/__pycache__/iou_matching.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/__pycache__/iou_matching.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/__pycache__/kalman_filter.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/__pycache__/kalman_filter.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/__pycache__/linear_assignment.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/__pycache__/linear_assignment.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/__pycache__/nn_matching.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/__pycache__/nn_matching.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/__pycache__/track.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/__pycache__/track.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/__pycache__/tracker.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/__pycache__/tracker.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/iou_matching.py \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/kalman_filter.py \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/linear_assignment.py \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/nn_matching.py \n", + " inflating: deep_sort_pytorch/deep_sort/sort - Copy/preprocessing.py \n", + " creating: deep_sort_pytorch/deep_sort/sort/\n", + " extracting: deep_sort_pytorch/deep_sort/sort/__init__.py \n", + " creating: deep_sort_pytorch/deep_sort/sort/__pycache__/\n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/__init__.cpython-310.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/__init__.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/__init__.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/detection.cpython-310.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/detection.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/detection.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/iou_matching.cpython-310.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/iou_matching.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/iou_matching.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/kalman_filter.cpython-310.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/kalman_filter.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/kalman_filter.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/linear_assignment.cpython-310.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/linear_assignment.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/linear_assignment.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/nn_matching.cpython-310.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/nn_matching.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/nn_matching.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/track.cpython-310.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/track.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/track.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/tracker.cpython-310.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/tracker.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/__pycache__/tracker.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/deep_sort/sort/detection.py \n", + " inflating: deep_sort_pytorch/deep_sort/sort/iou_matching.py \n", + " inflating: deep_sort_pytorch/deep_sort/sort/kalman_filter.py \n", + " inflating: deep_sort_pytorch/deep_sort/sort/linear_assignment.py \n", + " inflating: deep_sort_pytorch/deep_sort/sort/nn_matching.py \n", + " inflating: deep_sort_pytorch/deep_sort/sort/preprocessing.py \n", + " inflating: deep_sort_pytorch/deep_sort/sort/track.py \n", + " inflating: deep_sort_pytorch/deep_sort/sort/tracker.py \n", + " inflating: deep_sort_pytorch/LICENSE \n", + " inflating: deep_sort_pytorch/README.md \n", + " creating: deep_sort_pytorch/utils/\n", + " extracting: deep_sort_pytorch/utils/__init__.py \n", + " creating: deep_sort_pytorch/utils/__pycache__/\n", + " inflating: deep_sort_pytorch/utils/__pycache__/__init__.cpython-310.pyc \n", + " inflating: deep_sort_pytorch/utils/__pycache__/__init__.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/utils/__pycache__/__init__.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/utils/__pycache__/parser.cpython-310.pyc \n", + " inflating: deep_sort_pytorch/utils/__pycache__/parser.cpython-37.pyc \n", + " inflating: deep_sort_pytorch/utils/__pycache__/parser.cpython-38.pyc \n", + " inflating: deep_sort_pytorch/utils/asserts.py \n", + " inflating: deep_sort_pytorch/utils/draw.py \n", + " inflating: deep_sort_pytorch/utils/evaluation.py \n", + " inflating: deep_sort_pytorch/utils/io.py \n", + " inflating: deep_sort_pytorch/utils/json_logger.py \n", + " inflating: deep_sort_pytorch/utils/log.py \n", + " inflating: deep_sort_pytorch/utils/parser.py \n", + " inflating: deep_sort_pytorch/utils/tools.py \n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "##Download a Sample Video for Testing from Google Drive" + ], + "metadata": { + "id": "PUb4g3erEArb" + } + }, + { + "cell_type": "code", + "source": [ + "!gdown https://drive.google.com/uc?id=1_kt1alzcLRVxet-Drx0mt_KFSd3vrtHU\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "3QKR7ueED-CF", + "outputId": "6b731094-b619-4cb4-9257-841ebc2fe324" + }, + "execution_count": 7, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Downloading...\n", + "From: https://drive.google.com/uc?id=1_kt1alzcLRVxet-Drx0mt_KFSd3vrtHU\n", + "To: /content/YOLOv8-DeepSORT-Object-Tracking/ultralytics/yolo/v8/detect/test1.mp4\n", + "\r 0% 0.00/6.11M [00:00\n", + " \n", + "\n", + "\"\"\" % data_url)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 247 + }, + "id": "WkR9WDjCEn18", + "outputId": "54dd90d2-88e8-4330-afaa-ebd919859267" + }, + "execution_count": 10, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "\n", + "\n" + ] + }, + "metadata": {}, + "execution_count": 10 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "##Downloading the Script Files for Tracking and Vehicle Counting from Google Drive\n", + "\n", + "\n" + ], + "metadata": { + "id": "ehYcKyOxE48T" + } + }, + { + "cell_type": "code", + "source": [ + "!gdown \"https://drive.google.com/uc?id=1mV3xyYxz8fo8OZyMC_p1Jtv7jC458aSv&confirm=t\"\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "gZ7oe-QwE8X5", + "outputId": "8ae8c8d1-7fca-40a0-be5d-b34edc60a790" + }, + "execution_count": 11, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Downloading...\n", + "From: https://drive.google.com/uc?id=1mV3xyYxz8fo8OZyMC_p1Jtv7jC458aSv&confirm=t\n", + "To: /content/YOLOv8-DeepSORT-Object-Tracking/ultralytics/yolo/v8/detect/predict.py\n", + "\r 0% 0.00/12.2k [00:00\n", + " \n", + "\n", + "\"\"\" % data_url)" + ], + "metadata": { + "id": "r9psuirMFbHq", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 247 + }, + "outputId": "22d91d0c-e0e6-422c-b802-d687121f91de" + }, + "execution_count": 15, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "JGR8tiSjIT93" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file