勉強しないとな~blog

ちゃんと勉強せねば…な電気設計エンジニアです。

画像物体認識お試し

前回、カメラ(EZVIZ CP1)からRTSP受信できることが確認できたので、画像からの物体認識を簡単に試してみる。

nokixa.hatenablog.com

結果だけ先に

こんな感じで、カメラで撮影したデータから、物体認識することができた。

やり方

YOLOv5を使う。
今はYOLOv8が出てるが、会社でYOLOv5を使ったことはあって、動かすまでが簡単だったので。

GitHubリポジトリをクローンして、サンプルコードでEZVIZ CP1のRTSPを画像ソースとして指定する、というだけ。

github.com

condaでYOLO試し用の環境作成

YOLOv5お試し用に、専用のconda環境を作っておく。

Powershellから実行した。

↓コマンド

conda create -n yolov5 

↓実行結果

(base) PS C:\work\yolo_test> conda create -n yolov5 
Retrieving notices: ...working... done
Collecting package metadata (current_repodata.json): done
Solving environment: done


==> WARNING: A newer version of conda exists. <==
  current version: 23.5.2
  latest version: 23.7.2

Please update conda by running

    $ conda update -n base -c defaults conda

Or to minimize the number of packages updated during conda update use

     conda install conda=23.7.2



## Package Plan ##

  environment location: C:\Users\a\.conda\envs\yolov5



Proceed ([y]/n)?

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate yolov5
#
# To deactivate an active environment, use
#
#     $ conda deactivate

(base) PS C:\work\yolo_test> conda activate yolov5                          
(yolov5) PS C:\work\yolo_test> 

GitHubリポジトリのクローン

↓コマンド

git clone https://github.com/ultralytics/yolov5

↓実行結果

(yolov5) PS C:\work\yolo_test> git clone https://github.com/ultralytics/yolov5
Cloning into 'yolov5'...
remote: Enumerating objects: 15921, done.
remote: Counting objects: 100% (41/41), done.
remote: Compressing objects: 100% (28/28), done.
remote: Total 15921 (delta 17), reused 25 (delta 13), pack-reused 15880Receiving objects: 100% (15921/15921), 12.50Receiving objects: 100% (15921/15921), 14.66 MiB | 26.06 MiB/s, done.

Resolving deltas: 100% (10916/10916), done.
(yolov5) PS C:\work\yolo_test> 

最近も頻繁にアップデートがあるので、今回使ったのがどんな状態のものだったかわかるようにしようと思ったが、どこを見ればいいかよくわからず。

GitHubサイト

23/8/15現在で、4日前が最終更新日。

VS Codeに入れたGit Graphで見てみると、コミット情報も見れたので、また何かあったときの参考になるかな。

環境セットアップ

requirements.txtを使って。

↓コマンド

cd yolov5
pip install -r .\requirements.txt

↓実行結果

(yolov5) PS C:\work\yolo_test> cd yolov5
(yolov5) PS C:\work\yolo_test\yolov5> pip install -r .\requirements.txt
pip : 用語 'pip' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されませ
ん。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行して 
ください。
発生場所 行:1 文字:1
+ pip install -r .\requirements.txt
+ ~~~
    + CategoryInfo          : ObjectNotFound: (pip:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

(yolov5) PS C:\work\yolo_test\yolov5>

なぜかpipが通らない…

コマンドプロンプトでやってみる。
今まで会社でやったときはそれでできていたような。

コマンドプロンプトでanaconda使う設定

まず普通にコマンドプロンプト立ち上げてcondaコマンドが使えるようにする。

やり方はPowershellのときと同様。

Windows版Anacondaのインストール: Python環境構築ガイド - python.jp

Anaconda Promptを管理者権限で立ち上げて、下記コマンド実行

conda init

↓結果

(base) C:\Windows\System32>conda init
no change     C:\ProgramData\anaconda3\Scripts\conda.exe
no change     C:\ProgramData\anaconda3\Scripts\conda-env.exe
no change     C:\ProgramData\anaconda3\Scripts\conda-script.py
no change     C:\ProgramData\anaconda3\Scripts\conda-env-script.py
no change     C:\ProgramData\anaconda3\condabin\conda.bat
no change     C:\ProgramData\anaconda3\Library\bin\conda.bat
no change     C:\ProgramData\anaconda3\condabin\_conda_activate.bat
no change     C:\ProgramData\anaconda3\condabin\rename_tmp.bat
no change     C:\ProgramData\anaconda3\condabin\conda_auto_activate.bat
no change     C:\ProgramData\anaconda3\condabin\conda_hook.bat
no change     C:\ProgramData\anaconda3\Scripts\activate.bat
no change     C:\ProgramData\anaconda3\condabin\activate.bat
no change     C:\ProgramData\anaconda3\condabin\deactivate.bat
no change     C:\ProgramData\anaconda3\Scripts\activate
no change     C:\ProgramData\anaconda3\Scripts\deactivate
no change     C:\ProgramData\anaconda3\etc\profile.d\conda.sh
no change     C:\ProgramData\anaconda3\etc\fish\conf.d\conda.fish
no change     C:\ProgramData\anaconda3\shell\condabin\Conda.psm1
no change     C:\ProgramData\anaconda3\shell\condabin\conda-hook.ps1
no change     C:\ProgramData\anaconda3\Lib\site-packages\xontrib\conda.xsh
no change     C:\ProgramData\anaconda3\etc\profile.d\conda.csh
no change     C:\Users\a\Documents\WindowsPowerShell\profile.ps1
modified      HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

==> For changes to take effect, close and re-open your current shell. <==


(base) C:\Windows\System32>

別でコマンドプロンプト立ち上げて。

Microsoft Windows [Version 10.0.22621.2134]
(c) Microsoft Corporation. All rights reserved.

C:\work\yolo_test>conda activate yolov5

(yolov5) C:\work\yolo_test>cd yolov5

(yolov5) C:\work\yolo_test\yolov5>pip install -r requirements.txt 
'pip' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

(yolov5) C:\work\yolo_test\yolov5>

やっぱりダメだった。

またPowershellに戻ってやってみる。

condaコマンドでrequirements.txtを読み込む案

How to install packages from Requirement.txt in python using anaconda? - Stack Overflow

以下のコマンドで。

conda install --file .\requirements.txt

結果。

(yolov5) PS C:\work\yolo_test\yolov5> conda install --file .\requirements.txt
Collecting package metadata (current_repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  - torch[version='>=1.8.0']
  - ultralytics[version='>=8.0.147']
  - opencv-python[version='>=4.1.1']
  - thop[version='>=0.1.1']

Current channels:

  - https://repo.anaconda.com/pkgs/main/win-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/win-64
  - https://repo.anaconda.com/pkgs/r/noarch
  - https://repo.anaconda.com/pkgs/msys2/win-64
  - https://repo.anaconda.com/pkgs/msys2/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.


(yolov5) PS C:\work\yolo_test\yolov5>       

anacondaのチャンネルに色々ないといわれてしまった。

conda環境にpipをインストールして、pipでやる案

Conda Install Requirements

まずpipのインストール。

(yolov5) PS C:\work\yolo_test\yolov5> conda install pip
Collecting package metadata (current_repodata.json): done
Solving environment: done


==> WARNING: A newer version of conda exists. <==
  current version: 23.5.2
  latest version: 23.7.2

Please update conda by running

    $ conda update -n base -c defaults conda

Or to minimize the number of packages updated during conda update use

     conda install conda=23.7.2



## Package Plan ##

  environment location: C:\Users\a\.conda\envs\yolov5

  added / updated specs:
    - pip


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    openssl-3.0.10             |       h2bbff1b_0         7.4 MB
    ------------------------------------------------------------
                                           Total:         7.4 MB

The following NEW packages will be INSTALLED:

  bzip2              pkgs/main/win-64::bzip2-1.0.8-he774522_0
  ca-certificates    pkgs/main/win-64::ca-certificates-2023.05.30-haa95532_0
  libffi             pkgs/main/win-64::libffi-3.4.4-hd77b12b_0
  openssl            pkgs/main/win-64::openssl-3.0.10-h2bbff1b_0
  pip                pkgs/main/win-64::pip-23.2.1-py311haa95532_0
  python             pkgs/main/win-64::python-3.11.4-he1021f5_0
  setuptools         pkgs/main/win-64::setuptools-68.0.0-py311haa95532_0
  sqlite             pkgs/main/win-64::sqlite-3.41.2-h2bbff1b_0
  tk                 pkgs/main/win-64::tk-8.6.12-h2bbff1b_0
  tzdata             pkgs/main/noarch::tzdata-2023c-h04d1e81_0
  vc                 pkgs/main/win-64::vc-14.2-h21ff451_1
  vs2015_runtime     pkgs/main/win-64::vs2015_runtime-14.27.29016-h5e58377_2
  wheel              pkgs/main/win-64::wheel-0.38.4-py311haa95532_0
  xz                 pkgs/main/win-64::xz-5.4.2-h8cc25b3_0
  zlib               pkgs/main/win-64::zlib-1.2.13-h8cc25b3_0


Proceed ([y]/n)?


Downloading and Extracting Packages

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(yolov5) PS C:\work\yolo_test\yolov5>

とりあえずできた。

次、pip実行。

下記は実行結果の途中は省略してるが、今後の参考のため、クリックしたら全結果が開いて出てくるようにしておいた。

はてなブログを使ってて気づいた事 - Aikの技術日記

結果ログ一部。(クリックで結果ログが全部表示されます。)

(yolov5) PS C:\work\yolo_test\yolov5> pip install -r requirements.txt
Collecting gitpython>=3.1.30 (from -r requirements.txt (line 5))
  Obtaining dependency information for gitpython>=3.1.30 from https://files.pythonhosted.org/packages/67/50/742c2fb60989b76ccf7302c7b1d9e26505d7054c24f08cc7ec187faaaea7/GitPython-3.1.32-py3-none-any.whl.metadata
  Downloading GitPython-3.1.32-py3-none-any.whl.metadata (10.0 kB)
Collecting matplotlib>=3.3 (from -r requirements.txt (line 6))
  Obtaining dependency information for matplotlib>=3.3 from https://files.pythonhosted.org/packages/4d/9c/65830d4a56c47f5283eaa244dc1228c5da9c844a9f999ebcc2e69bf6cc65/matplotlib-3.7.2-cp311-cp311-win_amd64.whl.metadata
  Downloading matplotlib-3.7.2-cp311-cp311-win_amd64.whl.metadata (5.8 kB)
Collecting numpy>=1.22.2 (from -r requirements.txt (line 7))
  Obtaining dependency information for numpy>=1.22.2 from https://files.pythonhosted.org/packages/72/b2/02770e60c4e2f7e158d923ab0dea4e9f146a2dbf267fec6d8dc61d475689/numpy-1.25.2-cp311-cp311-win_amd64.whl.metadata

...

Downloading filelock-3.12.2-py3-none-any.whl (10 kB)
Downloading typing_extensions-4.7.1-py3-none-any.whl (33 kB)
Downloading MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl (17 kB)
Installing collected packages: pytz, py-cpuinfo, mpmath, urllib3, tzdata, typing-extensions, sympy, smmap, six, PyYAML, pyparsing, psutil, Pillow, packaging, numpy, networkx, MarkupSafe, kiwisolver, idna, fonttools, filelock, cycler, colorama, charset-normalizer, certifi, tqdm, scipy, requests, python-dateutil, opencv-python, jinja2, gitdb, contourpy, torch, pandas, matplotlib, gitpython, torchvision, thop, seaborn, ultralytics
Successfully installed MarkupSafe-2.1.3 Pillow-10.0.0 PyYAML-6.0.1 certifi-2023.7.22 charset-normalizer-3.2.0 colorama-0.4.6 contourpy-1.1.0 cycler-0.11.0 filelock-3.12.2 fonttools-4.42.0 gitdb-4.0.10 gitpython-3.1.32 idna-3.4 jinja2-3.1.2 kiwisolver-1.4.4 matplotlib-3.7.2 mpmath-1.3.0 networkx-3.1 numpy-1.25.2 opencv-python-4.8.0.76 packaging-23.1 pandas-2.0.3 psutil-5.9.5 py-cpuinfo-9.0.0 pyparsing-3.0.9 python-dateutil-2.8.2 pytz-2023.3 requests-2.31.0 scipy-1.11.1 seaborn-0.12.2 six-1.16.0 smmap-5.0.0 sympy-1.12 thop-0.1.1.post2209072238 torch-2.0.1 torchvision-0.15.2 tqdm-4.66.1 typing-extensions-4.7.1 tzdata-2023.3 ultralytics-8.0.154 urllib3-2.0.4
(yolov5) PS C:\work\yolo_test\yolov5>  

結果全部。

(yolov5) PS C:\work\yolo_test\yolov5> pip install -r requirements.txt
Collecting gitpython>=3.1.30 (from -r requirements.txt (line 5))
  Obtaining dependency information for gitpython>=3.1.30 from https://files.pythonhosted.org/packages/67/50/742c2fb60989b76ccf7302c7b1d9e26505d7054c24f08cc7ec187faaaea7/GitPython-3.1.32-py3-none-any.whl.metadata
  Downloading GitPython-3.1.32-py3-none-any.whl.metadata (10.0 kB)
Collecting matplotlib>=3.3 (from -r requirements.txt (line 6))
  Obtaining dependency information for matplotlib>=3.3 from https://files.pythonhosted.org/packages/4d/9c/65830d4a56c47f5283eaa244dc1228c5da9c844a9f999ebcc2e69bf6cc65/matplotlib-3.7.2-cp311-cp311-win_amd64.whl.metadata
  Downloading matplotlib-3.7.2-cp311-cp311-win_amd64.whl.metadata (5.8 kB)
Collecting numpy>=1.22.2 (from -r requirements.txt (line 7))
  Obtaining dependency information for numpy>=1.22.2 from https://files.pythonhosted.org/packages/72/b2/02770e60c4e2f7e158d923ab0dea4e9f146a2dbf267fec6d8dc61d475689/numpy-1.25.2-cp311-cp311-win_amd64.whl.metadata
  Downloading numpy-1.25.2-cp311-cp311-win_amd64.whl.metadata (5.7 kB)
Collecting opencv-python>=4.1.1 (from -r requirements.txt (line 8))
  Obtaining dependency information for opencv-python>=4.1.1 from https://files.pythonhosted.org/packages/fb/c4/f574ba6f04e6d7bf8c38d23e7a52389566dd7631fee0bcdd79ea07ef2dbf/opencv_python-4.8.0.76-cp37-abi3-win_amd64.whl.metadata
  Downloading opencv_python-4.8.0.76-cp37-abi3-win_amd64.whl.metadata (20 kB)
Collecting Pillow>=7.1.2 (from -r requirements.txt (line 9))
  Obtaining dependency information for Pillow>=7.1.2 from https://files.pythonhosted.org/packages/66/d4/054e491f0880bf0119ee79cdc03264e01d5732e06c454da8c69b83a7c8f2/Pillow-10.0.0-cp311-cp311-win_amd64.whl.metadata
  Downloading Pillow-10.0.0-cp311-cp311-win_amd64.whl.metadata (9.6 kB)
Collecting psutil (from -r requirements.txt (line 10))
  Downloading psutil-5.9.5-cp36-abi3-win_amd64.whl (255 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 255.1/255.1 kB 15.3 MB/s eta 0:00:00
Collecting PyYAML>=5.3.1 (from -r requirements.txt (line 11))
  Obtaining dependency information for PyYAML>=5.3.1 from https://files.pythonhosted.org/packages/b3/34/65bb4b2d7908044963ebf614fe0fdb080773fc7030d7e39c8d3eddcd4257/PyYAML-6.0.1-cp311-cp311-win_amd64.whl.metadata
  Downloading PyYAML-6.0.1-cp311-cp311-win_amd64.whl.metadata (2.1 kB)
Collecting requests>=2.23.0 (from -r requirements.txt (line 12))
  Obtaining dependency information for requests>=2.23.0 from https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl.metadata
  Downloading requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Collecting scipy>=1.4.1 (from -r requirements.txt (line 13))
  Obtaining dependency information for scipy>=1.4.1 from https://files.pythonhosted.org/packages/04/b8/947f40706ee2e316fd1a191688f690c4c2b351c2d043fe9deb9b7940e36e/scipy-1.11.1-cp311-cp311-win_amd64.whl.metadata
  Downloading scipy-1.11.1-cp311-cp311-win_amd64.whl.metadata (59 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.1/59.1 kB ? eta 0:00:00
Collecting thop>=0.1.1 (from -r requirements.txt (line 14))
  Downloading thop-0.1.1.post2209072238-py3-none-any.whl (15 kB)
Collecting torch>=1.8.0 (from -r requirements.txt (line 15))
  Downloading torch-2.0.1-cp311-cp311-win_amd64.whl (172.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 172.3/172.3 MB 22.6 MB/s eta 0:00:00
Collecting torchvision>=0.9.0 (from -r requirements.txt (line 16))
  Downloading torchvision-0.15.2-cp311-cp311-win_amd64.whl (1.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 79.0 MB/s eta 0:00:00
Collecting tqdm>=4.64.0 (from -r requirements.txt (line 17))
  Obtaining dependency information for tqdm>=4.64.0 from https://files.pythonhosted.org/packages/00/e5/f12a80907d0884e6dff9c16d0c0114d81b8cd07dc3ae54c5e962cc83037e/tqdm-4.66.1-py3-none-any.whl.metadata       
  Downloading tqdm-4.66.1-py3-none-any.whl.metadata (57 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.6/57.6 kB 3.2 MB/s eta 0:00:00
Collecting ultralytics>=8.0.147 (from -r requirements.txt (line 18))
  Obtaining dependency information for ultralytics>=8.0.147 from https://files.pythonhosted.org/packages/09/bf/86e16bfb2c886899a9da0c2589689ef56041b1c04acbccee45614fe7c166/ultralytics-8.0.154-py3-none-any.whl.metadata
  Downloading ultralytics-8.0.154-py3-none-any.whl.metadata (28 kB)
Collecting pandas>=1.1.4 (from -r requirements.txt (line 27))
  Obtaining dependency information for pandas>=1.1.4 from https://files.pythonhosted.org/packages/9e/71/756a1be6bee0209d8c0d8c5e3b9fc72c00373f384a4017095ec404aec3ad/pandas-2.0.3-cp311-cp311-win_amd64.whl.metadata
  Downloading pandas-2.0.3-cp311-cp311-win_amd64.whl.metadata (18 kB)
Collecting seaborn>=0.11.0 (from -r requirements.txt (line 28))
  Downloading seaborn-0.12.2-py3-none-any.whl (293 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 293.3/293.3 kB ? eta 0:00:00
Requirement already satisfied: setuptools>=65.5.1 in c:\users\a\.conda\envs\yolov5\lib\site-packages (from -r requirements.txt (line 42)) (68.0.0)
Collecting gitdb<5,>=4.0.1 (from gitpython>=3.1.30->-r requirements.txt (line 5))
  Downloading gitdb-4.0.10-py3-none-any.whl (62 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.7/62.7 kB ? eta 0:00:00
Collecting contourpy>=1.0.1 (from matplotlib>=3.3->-r requirements.txt (line 6))
  Obtaining dependency information for contourpy>=1.0.1 from https://files.pythonhosted.org/packages/16/09/989b982322439faa4bafffcd669e6f942b38fee897c2664c987bcd091dec/contourpy-1.1.0-cp311-cp311-win_amd64.whl.metadata
  Downloading contourpy-1.1.0-cp311-cp311-win_amd64.whl.metadata (5.7 kB)
Collecting cycler>=0.10 (from matplotlib>=3.3->-r requirements.txt (line 6))
  Downloading cycler-0.11.0-py3-none-any.whl (6.4 kB)
Collecting fonttools>=4.22.0 (from matplotlib>=3.3->-r requirements.txt (line 6))
  Obtaining dependency information for fonttools>=4.22.0 from https://files.pythonhosted.org/packages/52/65/aaa3d2b7a292d93cc2cf1c534d03ba3f744e480f15b3b2ab6ad68189f7ee/fonttools-4.42.0-cp311-cp311-win_amd64.whl.metadata
  Downloading fonttools-4.42.0-cp311-cp311-win_amd64.whl.metadata (153 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 153.7/153.7 kB ? eta 0:00:00
Collecting kiwisolver>=1.0.1 (from matplotlib>=3.3->-r requirements.txt (line 6))
  Downloading kiwisolver-1.4.4-cp311-cp311-win_amd64.whl (55 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 55.4/55.4 kB ? eta 0:00:00
Collecting packaging>=20.0 (from matplotlib>=3.3->-r requirements.txt (line 6))
  Downloading packaging-23.1-py3-none-any.whl (48 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 48.9/48.9 kB ? eta 0:00:00
Collecting pyparsing<3.1,>=2.3.1 (from matplotlib>=3.3->-r requirements.txt (line 6))
  Downloading pyparsing-3.0.9-py3-none-any.whl (98 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.3/98.3 kB ? eta 0:00:00
Collecting python-dateutil>=2.7 (from matplotlib>=3.3->-r requirements.txt (line 6))
  Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 kB 15.8 MB/s eta 0:00:00
Collecting charset-normalizer<4,>=2 (from requests>=2.23.0->-r requirements.txt (line 12))
  Obtaining dependency information for charset-normalizer<4,>=2 from https://files.pythonhosted.org/packages/91/6e/db0e545302bf93b6dbbdc496dd192c7f8e8c3bb1584acba069256d8b51d4/charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl.metadata
  Downloading charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl.metadata (31 kB)
Collecting idna<4,>=2.5 (from requests>=2.23.0->-r requirements.txt (line 12))
  Downloading idna-3.4-py3-none-any.whl (61 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 kB ? eta 0:00:00
Collecting urllib3<3,>=1.21.1 (from requests>=2.23.0->-r requirements.txt (line 12))
  Obtaining dependency information for urllib3<3,>=1.21.1 from https://files.pythonhosted.org/packages/9b/81/62fd61001fa4b9d0df6e31d47ff49cfa9de4af03adecf339c7bc30656b37/urllib3-2.0.4-py3-none-any.whl.metadata
  Downloading urllib3-2.0.4-py3-none-any.whl.metadata (6.6 kB)
Collecting certifi>=2017.4.17 (from requests>=2.23.0->-r requirements.txt (line 12))
  Obtaining dependency information for certifi>=2017.4.17 from https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl.metadata
  Downloading certifi-2023.7.22-py3-none-any.whl.metadata (2.2 kB)
Collecting filelock (from torch>=1.8.0->-r requirements.txt (line 15))
  Obtaining dependency information for filelock from https://files.pythonhosted.org/packages/00/45/ec3407adf6f6b5bf867a4462b2b0af27597a26bd3cd6e2534cb6ab029938/filelock-3.12.2-py3-none-any.whl.metadata       
  Downloading filelock-3.12.2-py3-none-any.whl.metadata (2.7 kB)
Collecting typing-extensions (from torch>=1.8.0->-r requirements.txt (line 15))
  Obtaining dependency information for typing-extensions from https://files.pythonhosted.org/packages/ec/6b/63cc3df74987c36fe26157ee12e09e8f9db4de771e0f3404263117e75b95/typing_extensions-4.7.1-py3-none-any.whl.metadata
  Downloading typing_extensions-4.7.1-py3-none-any.whl.metadata (3.1 kB)
Collecting sympy (from torch>=1.8.0->-r requirements.txt (line 15))
  Downloading sympy-1.12-py3-none-any.whl (5.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.7/5.7 MB 61.0 MB/s eta 0:00:00
Collecting networkx (from torch>=1.8.0->-r requirements.txt (line 15))
  Downloading networkx-3.1-py3-none-any.whl (2.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 128.9 MB/s eta 0:00:00
Collecting jinja2 (from torch>=1.8.0->-r requirements.txt (line 15))
  Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.1/133.1 kB ? eta 0:00:00
Collecting colorama (from tqdm>=4.64.0->-r requirements.txt (line 17))
  Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Collecting py-cpuinfo (from ultralytics>=8.0.147->-r requirements.txt (line 18))
  Downloading py_cpuinfo-9.0.0-py3-none-any.whl (22 kB)
Collecting pytz>=2020.1 (from pandas>=1.1.4->-r requirements.txt (line 27))
  Downloading pytz-2023.3-py2.py3-none-any.whl (502 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 502.3/502.3 kB ? eta 0:00:00
Collecting tzdata>=2022.1 (from pandas>=1.1.4->-r requirements.txt (line 27))
  Downloading tzdata-2023.3-py2.py3-none-any.whl (341 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 341.8/341.8 kB ? eta 0:00:00
Collecting smmap<6,>=3.0.1 (from gitdb<5,>=4.0.1->gitpython>=3.1.30->-r requirements.txt (line 5))
  Downloading smmap-5.0.0-py3-none-any.whl (24 kB)
Collecting six>=1.5 (from python-dateutil>=2.7->matplotlib>=3.3->-r requirements.txt (line 6))
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting MarkupSafe>=2.0 (from jinja2->torch>=1.8.0->-r requirements.txt (line 15))
  Obtaining dependency information for MarkupSafe>=2.0 from https://files.pythonhosted.org/packages/be/bb/08b85bc194034efbf572e70c3951549c8eca0ada25363afc154386b5390a/MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl.metadata
  Downloading MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl.metadata (3.1 kB)
Collecting mpmath>=0.19 (from sympy->torch>=1.8.0->-r requirements.txt (line 15))
  Downloading mpmath-1.3.0-py3-none-any.whl (536 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 35.1 MB/s eta 0:00:00
Downloading GitPython-3.1.32-py3-none-any.whl (188 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 188.5/188.5 kB ? eta 0:00:00
Downloading matplotlib-3.7.2-cp311-cp311-win_amd64.whl (7.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.5/7.5 MB 34.2 MB/s eta 0:00:00
Downloading numpy-1.25.2-cp311-cp311-win_amd64.whl (15.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 15.5/15.5 MB 72.5 MB/s eta 0:00:00
Downloading opencv_python-4.8.0.76-cp37-abi3-win_amd64.whl (38.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 38.1/38.1 MB 65.5 MB/s eta 0:00:00
Downloading Pillow-10.0.0-cp311-cp311-win_amd64.whl (2.5 MB)
Downloading PyYAML-6.0.1-cp311-cp311-win_amd64.whl (144 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 144.7/144.7 kB ? eta 0:00:00
Downloading requests-2.31.0-py3-none-any.whl (62 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 kB ? eta 0:00:00
Downloading scipy-1.11.1-cp311-cp311-win_amd64.whl (44.0 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 44.0/44.0 MB 59.4 MB/s eta 0:00:00
Downloading tqdm-4.66.1-py3-none-any.whl (78 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.3/78.3 kB ? eta 0:00:00
Downloading ultralytics-8.0.154-py3-none-any.whl (612 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 613.0/613.0 kB 40.2 MB/s eta 0:00:00
Downloading pandas-2.0.3-cp311-cp311-win_amd64.whl (10.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.6/10.6 MB 72.5 MB/s eta 0:00:00
Downloading certifi-2023.7.22-py3-none-any.whl (158 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 158.3/158.3 kB 9.3 MB/s eta 0:00:00
Downloading charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl (96 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.6/96.6 kB ? eta 0:00:00
Downloading contourpy-1.1.0-cp311-cp311-win_amd64.whl (470 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 470.9/470.9 kB 28.8 MB/s eta 0:00:00
Downloading fonttools-4.42.0-cp311-cp311-win_amd64.whl (2.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 65.8 MB/s eta 0:00:00
Downloading urllib3-2.0.4-py3-none-any.whl (123 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 123.9/123.9 kB ? eta 0:00:00
Downloading filelock-3.12.2-py3-none-any.whl (10 kB)
Downloading typing_extensions-4.7.1-py3-none-any.whl (33 kB)
Downloading MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl (17 kB)
Installing collected packages: pytz, py-cpuinfo, mpmath, urllib3, tzdata, typing-extensions, sympy, smmap, six, PyYAML, pyparsing, psutil, Pillow, packaging, numpy, networkx, MarkupSafe, kiwisolver, idna, fonttools, filelock, cycler, colorama, charset-normalizer, certifi, tqdm, scipy, requests, python-dateutil, opencv-python, jinja2, gitdb, contourpy, torch, pandas, matplotlib, gitpython, torchvision, thop, seaborn, ultralytics
Successfully installed MarkupSafe-2.1.3 Pillow-10.0.0 PyYAML-6.0.1 certifi-2023.7.22 charset-normalizer-3.2.0 colorama-0.4.6 contourpy-1.1.0 cycler-0.11.0 filelock-3.12.2 fonttools-4.42.0 gitdb-4.0.10 gitpython-3.1.32 idna-3.4 jinja2-3.1.2 kiwisolver-1.4.4 matplotlib-3.7.2 mpmath-1.3.0 networkx-3.1 numpy-1.25.2 opencv-python-4.8.0.76 packaging-23.1 pandas-2.0.3 psutil-5.9.5 py-cpuinfo-9.0.0 pyparsing-3.0.9 python-dateutil-2.8.2 pytz-2023.3 requests-2.31.0 scipy-1.11.1 seaborn-0.12.2 six-1.16.0 smmap-5.0.0 sympy-1.12 thop-0.1.1.post2209072238 torch-2.0.1 torchvision-0.15.2 tqdm-4.66.1 typing-extensions-4.7.1 tzdata-2023.3 ultralytics-8.0.154 urllib3-2.0.4
(yolov5) PS C:\work\yolo_test\yolov5>  

できたっぽい。

画像物体認識

YOLOv5のリポジトリには、すぐ動かせるPythonコード(detect.py)があるので、それを使う。

↓実行コマンド

python detect.py --source rtsp://USER:PASSWORD@192.168.1.29 --view-img                    

detect.pyにはいくつかオプション引数があるが、必要最低限だけ指定。

  • --source : 画像入力元の指定
    今回は、EZVIZ CP1のRTSPのURLを指定
  • --view-img : 物体認識結果をリアルタイムに画像で見るかどうか
    これを指定すると、OpenCVのimshowで出てくるようなウィンドウが出て、撮影画像に認識した物体の枠を描画したものが表示される。
    動画データとしても保存されていた。

USERPASSWORDは実際に使ったものとは違う。
何を入れればいいかは前回の記事参照。

実行結果。

結果ログ一部。(クリックで結果ログが全部表示されます。)

(yolov5) PS C:\work\yolo_test\yolov5>  python detect.py --source rtsp://USER:PASSWORD@192.168.1.29 --view-img
detect: weights=yolov5s.pt, source=rtsp://USER:PASSWORD@192.168.1.29, data=data\coco128.yaml, imgsz=[640, 640], conf_thres=0.25, iou_thres=0.45, max_det=1000, device=, view_img=True, save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None, agnostic_nms=False, augment=False, visualize=False, update=False, project=runs\detect, name=exp, exist_ok=False, line_thickness=3, hide_labels=False, hide_conf=False, half=False, dnn=False, vid_stride=1
YOLOv5  v7.0-210-gdd10481 Python-3.11.4 torch-2.0.1+cpu CPU

Fusing layers... 
YOLOv5s summary: 213 layers, 7225885 parameters, 0 gradients
1/1: rtsp://USER:PASSWORD@192.168.1.29...  Success (inf frames 2304x1296 at 25.00 FPS)

0: 384x640 4 cars, 3 trucks, 175.5ms
0: 384x640 4 cars, 3 trucks, 148.7ms
0: 384x640 4 cars, 3 trucks, 144.9ms
0: 384x640 4 cars, 3 trucks, 129.8ms
0: 384x640 4 cars, 3 trucks, 133.4ms

...

0: 384x640 2 persons, 3 cars, 1 bus, 2 trucks, 113.8ms
0: 384x640 2 persons, 2 cars, 1 bus, 2 trucks, 113.0ms
0: 384x640 2 persons, 2 cars, 1 bus, 2 trucks, 115.3ms
0: 384x640 2 persons, 2 cars, 1 bus, 2 trucks, 114.6ms
0: 384x640 1 person, 3 cars, 1 bus, 2 trucks, 1 fire hydrant, 122.4ms
0: 384x640 1 person, 3 cars, 2 buss, 2 trucks, 110.1ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 120.4ms

...

結果ログ全部。

(yolov5) PS C:\work\yolo_test\yolov5>  python detect.py --source rtsp://USER:PASSWORD@192.168.1.29 --view-img
detect: weights=yolov5s.pt, source=rtsp://USER:PASSWORD@192.168.1.29, data=data\coco128.yaml, imgsz=[640, 640], conf_thres=0.25, iou_thres=0.45, max_det=1000, device=, view_img=True, save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None, agnostic_nms=False, augment=False, visualize=False, update=False, project=runs\detect, name=exp, exist_ok=False, line_thickness=3, hide_labels=False, hide_conf=False, half=False, dnn=False, vid_stride=1
YOLOv5  v7.0-210-gdd10481 Python-3.11.4 torch-2.0.1+cpu CPU

Fusing layers... 
YOLOv5s summary: 213 layers, 7225885 parameters, 0 gradients
1/1: rtsp://USER:PASSWORD@192.168.1.29...  Success (inf frames 2304x1296 at 25.00 FPS)

0: 384x640 4 cars, 3 trucks, 175.5ms
0: 384x640 4 cars, 3 trucks, 148.7ms
0: 384x640 4 cars, 3 trucks, 144.9ms
0: 384x640 4 cars, 3 trucks, 129.8ms
0: 384x640 4 cars, 3 trucks, 133.4ms
0: 384x640 4 cars, 3 trucks, 126.4ms
0: 384x640 4 cars, 1 bus, 3 trucks, 104.2ms
0: 384x640 4 cars, 3 trucks, 109.0ms
0: 384x640 4 cars, 3 trucks, 111.0ms
0: 384x640 4 cars, 3 trucks, 112.2ms
0: 384x640 4 cars, 3 trucks, 109.8ms
0: 384x640 4 cars, 3 trucks, 115.2ms
0: 384x640 4 cars, 3 trucks, 114.6ms
0: 384x640 4 cars, 3 trucks, 100.4ms
0: 384x640 4 cars, 3 trucks, 113.6ms
0: 384x640 4 cars, 3 trucks, 110.9ms
0: 384x640 4 cars, 3 trucks, 111.0ms
0: 384x640 4 cars, 3 trucks, 99.8ms
0: 384x640 4 cars, 3 trucks, 99.2ms
0: 384x640 4 cars, 3 trucks, 108.1ms
0: 384x640 4 cars, 3 trucks, 110.5ms
0: 384x640 4 cars, 1 bus, 3 trucks, 116.2ms
0: 384x640 4 cars, 3 trucks, 121.4ms
0: 384x640 4 cars, 3 trucks, 110.7ms
0: 384x640 2 persons, 4 cars, 3 trucks, 108.3ms
0: 384x640 2 persons, 4 cars, 2 trucks, 1 skateboard, 97.2ms
0: 384x640 2 persons, 5 cars, 2 trucks, 106.1ms
0: 384x640 2 persons, 5 cars, 3 trucks, 111.4ms
0: 384x640 2 persons, 5 cars, 3 trucks, 113.8ms
0: 384x640 2 persons, 5 cars, 2 trucks, 107.3ms
0: 384x640 2 persons, 5 cars, 3 trucks, 114.0ms
0: 384x640 2 persons, 5 cars, 3 trucks, 106.5ms
0: 384x640 2 persons, 5 cars, 2 trucks, 119.2ms
0: 384x640 2 persons, 5 cars, 2 trucks, 1 skateboard, 103.7ms
0: 384x640 2 persons, 5 cars, 2 trucks, 102.0ms
0: 384x640 2 persons, 5 cars, 2 trucks, 1 skateboard, 109.8ms
0: 384x640 2 persons, 5 cars, 2 trucks, 1 skateboard, 108.6ms
0: 384x640 2 persons, 5 cars, 2 trucks, 1 skateboard, 102.2ms
0: 384x640 2 persons, 5 cars, 3 trucks, 107.1ms
0: 384x640 2 persons, 5 cars, 2 trucks, 105.0ms
0: 384x640 2 persons, 5 cars, 2 trucks, 130.3ms
0: 384x640 2 persons, 5 cars, 2 trucks, 127.7ms
0: 384x640 2 persons, 5 cars, 2 trucks, 1 skateboard, 116.5ms
0: 384x640 1 person, 3 cars, 2 trucks, 1 fire hydrant, 1 skateboard, 123.3ms
0: 384x640 1 person, 3 cars, 2 trucks, 1 fire hydrant, 1 skateboard, 115.4ms
0: 384x640 1 person, 4 cars, 2 trucks, 1 fire hydrant, 1 skateboard, 115.1ms
0: 384x640 1 person, 4 cars, 3 trucks, 1 fire hydrant, 111.5ms
0: 384x640 1 person, 2 cars, 2 trucks, 1 skateboard, 114.1ms
0: 384x640 1 person, 3 cars, 2 trucks, 1 skateboard, 114.3ms
0: 384x640 1 person, 2 cars, 3 trucks, 105.4ms
0: 384x640 1 person, 2 cars, 3 trucks, 111.4ms
0: 384x640 1 person, 4 cars, 3 trucks, 127.4ms
0: 384x640 1 person, 2 cars, 3 trucks, 110.6ms
0: 384x640 2 persons, 2 cars, 3 trucks, 107.1ms
0: 384x640 2 persons, 2 cars, 3 trucks, 108.7ms
0: 384x640 2 persons, 2 cars, 3 trucks, 105.7ms
0: 384x640 1 person, 3 cars, 2 trucks, 1 fire hydrant, 108.4ms
0: 384x640 1 person, 3 cars, 2 trucks, 1 fire hydrant, 1 suitcase, 108.8ms
0: 384x640 1 person, 3 cars, 2 trucks, 1 fire hydrant, 112.3ms
0: 384x640 1 person, 3 cars, 2 trucks, 1 fire hydrant, 108.1ms
0: 384x640 2 persons, 3 cars, 2 trucks, 1 fire hydrant, 111.5ms
0: 384x640 1 person, 3 cars, 2 trucks, 113.6ms
0: 384x640 2 persons, 3 cars, 2 trucks, 102.7ms
0: 384x640 2 persons, 3 cars, 2 trucks, 112.1ms
0: 384x640 2 persons, 3 cars, 1 bus, 1 truck, 103.1ms
0: 384x640 2 persons, 3 cars, 1 bus, 1 truck, 111.1ms
0: 384x640 2 persons, 3 cars, 3 trucks, 108.4ms
0: 384x640 2 persons, 3 cars, 3 trucks, 101.2ms
0: 384x640 2 persons, 3 cars, 3 trucks, 108.8ms
0: 384x640 2 persons, 4 cars, 2 trucks, 109.0ms
0: 384x640 2 persons, 4 cars, 2 trucks, 107.7ms
0: 384x640 2 persons, 3 cars, 2 trucks, 113.8ms
0: 384x640 2 persons, 3 cars, 2 trucks, 106.9ms
0: 384x640 2 persons, 3 cars, 2 trucks, 110.1ms
0: 384x640 2 persons, 3 cars, 2 trucks, 112.8ms
0: 384x640 2 persons, 3 cars, 3 trucks, 128.3ms
0: 384x640 2 persons, 3 cars, 3 trucks, 101.9ms
0: 384x640 2 persons, 3 cars, 3 trucks, 112.8ms
0: 384x640 2 persons, 3 cars, 3 trucks, 110.5ms
0: 384x640 2 persons, 3 cars, 3 trucks, 99.2ms
0: 384x640 2 persons, 3 cars, 3 trucks, 109.0ms
0: 384x640 2 persons, 3 cars, 3 trucks, 113.6ms
0: 384x640 2 persons, 3 cars, 3 trucks, 124.8ms
0: 384x640 2 persons, 3 cars, 1 bus, 3 trucks, 110.7ms
0: 384x640 2 persons, 3 cars, 1 bus, 3 trucks, 111.7ms
0: 384x640 2 persons, 3 cars, 1 bus, 3 trucks, 110.9ms
0: 384x640 2 persons, 3 cars, 1 bus, 3 trucks, 109.7ms
0: 384x640 1 person, 3 cars, 1 bus, 3 trucks, 104.2ms
0: 384x640 1 person, 3 cars, 1 bus, 2 trucks, 129.7ms
0: 384x640 1 person, 3 cars, 1 bus, 2 trucks, 113.6ms
0: 384x640 1 person, 3 cars, 1 bus, 2 trucks, 110.7ms
0: 384x640 1 person, 3 cars, 1 bus, 3 trucks, 117.6ms
0: 384x640 1 person, 3 cars, 1 bus, 3 trucks, 112.9ms
0: 384x640 1 person, 3 cars, 1 bus, 3 trucks, 110.9ms
0: 384x640 1 person, 3 cars, 1 bus, 3 trucks, 104.0ms
0: 384x640 2 persons, 3 cars, 1 bus, 3 trucks, 112.1ms
0: 384x640 2 persons, 3 cars, 1 bus, 2 trucks, 113.8ms
0: 384x640 2 persons, 2 cars, 1 bus, 2 trucks, 113.0ms
0: 384x640 2 persons, 2 cars, 1 bus, 2 trucks, 115.3ms
0: 384x640 2 persons, 2 cars, 1 bus, 2 trucks, 114.6ms
0: 384x640 1 person, 3 cars, 1 bus, 2 trucks, 1 fire hydrant, 122.4ms
0: 384x640 1 person, 3 cars, 2 buss, 2 trucks, 110.1ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 120.4ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 110.1ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 113.3ms
0: 384x640 1 person, 2 cars, 2 buss, 2 trucks, 107.6ms
0: 384x640 1 person, 3 cars, 2 buss, 1 truck, 114.1ms
0: 384x640 1 person, 3 cars, 2 buss, 1 truck, 113.7ms
0: 384x640 1 person, 3 cars, 2 buss, 1 truck, 111.4ms
0: 384x640 1 person, 3 cars, 2 buss, 1 truck, 116.1ms
0: 384x640 1 person, 2 cars, 2 buss, 1 truck, 108.6ms
0: 384x640 1 person, 2 cars, 2 buss, 2 trucks, 1 fire hydrant, 117.5ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 1 fire hydrant, 109.0ms
0: 384x640 2 persons, 3 cars, 2 buss, 1 truck, 109.5ms
0: 384x640 2 persons, 3 cars, 2 buss, 1 truck, 1 fire hydrant, 122.5ms
0: 384x640 2 persons, 3 cars, 2 buss, 2 trucks, 1 fire hydrant, 122.3ms
0: 384x640 2 persons, 3 cars, 2 buss, 1 truck, 1 fire hydrant, 112.7ms
0: 384x640 2 persons, 3 cars, 2 buss, 2 trucks, 122.9ms
0: 384x640 2 persons, 3 cars, 2 buss, 1 truck, 113.2ms
0: 384x640 2 persons, 3 cars, 1 bus, 2 trucks, 116.8ms
0: 384x640 2 persons, 2 cars, 2 buss, 2 trucks, 103.2ms
0: 384x640 2 persons, 3 cars, 2 buss, 1 truck, 110.3ms
0: 384x640 2 persons, 2 cars, 2 buss, 1 truck, 110.0ms
0: 384x640 2 persons, 2 cars, 2 buss, 2 trucks, 108.1ms
0: 384x640 2 persons, 2 cars, 2 buss, 2 trucks, 121.1ms
0: 384x640 2 persons, 3 cars, 2 buss, 2 trucks, 112.3ms
0: 384x640 2 persons, 2 cars, 2 buss, 1 truck, 106.6ms
0: 384x640 2 persons, 2 cars, 2 buss, 2 trucks, 112.1ms
0: 384x640 2 persons, 2 cars, 2 buss, 1 truck, 116.3ms
0: 384x640 2 persons, 2 cars, 2 buss, 2 trucks, 115.3ms
0: 384x640 2 persons, 2 cars, 2 buss, 2 trucks, 114.3ms
0: 384x640 2 persons, 2 cars, 2 buss, 2 trucks, 124.8ms
0: 384x640 2 persons, 2 cars, 2 buss, 2 trucks, 109.2ms
0: 384x640 2 persons, 2 cars, 2 buss, 2 trucks, 117.4ms
0: 384x640 2 persons, 2 cars, 2 buss, 2 trucks, 1 fire hydrant, 115.0ms
0: 384x640 1 person, 2 cars, 2 buss, 2 trucks, 1 fire hydrant, 108.7ms
0: 384x640 1 person, 2 cars, 2 buss, 2 trucks, 1 fire hydrant, 111.1ms
0: 384x640 1 person, 2 cars, 2 buss, 2 trucks, 1 fire hydrant, 108.6ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 1 teddy bear, 112.5ms
0: 384x640 1 person, 2 cars, 2 buss, 2 trucks, 115.0ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 1 skateboard, 108.3ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 113.3ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 1 fire hydrant, 1 skateboard, 125.2ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 1 fire hydrant, 2 skateboards, 108.7ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 1 fire hydrant, 1 skateboard, 108.6ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 2 skateboards, 108.9ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 114.1ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 112.5ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 113.6ms
0: 384x640 2 persons, 1 car, 2 buss, 2 trucks, 1 skateboard, 102.8ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 1 skateboard, 108.7ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 1 skateboard, 110.6ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 1 skateboard, 112.1ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 1 skateboard, 107.1ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 2 skateboards, 112.8ms
0: 384x640 1 person, 1 car, 2 buss, 2 trucks, 2 skateboards, 107.3ms
0: 384x640 1 person, 2 buss, 2 trucks, 1 skateboard, 108.6ms
0: 384x640 1 person, 2 buss, 2 trucks, 1 skateboard, 114.9ms
0: 384x640 1 person, 2 buss, 2 trucks, 1 skateboard, 111.9ms
0: 384x640 1 person, 2 buss, 2 trucks, 1 skateboard, 105.9ms
0: 384x640 1 person, 2 buss, 2 trucks, 1 skateboard, 125.7ms
0: 384x640 1 person, 2 buss, 2 trucks, 1 skateboard, 110.2ms
0: 384x640 1 person, 2 buss, 2 trucks, 1 fire hydrant, 1 skateboard, 117.5ms
0: 384x640 1 person, 2 buss, 2 trucks, 1 fire hydrant, 1 skateboard, 106.3ms
0: 384x640 1 person, 2 buss, 2 trucks, 1 fire hydrant, 1 skateboard, 111.1ms
0: 384x640 1 person, 2 buss, 2 trucks, 1 fire hydrant, 1 skateboard, 115.4ms
0: 384x640 1 person, 2 buss, 2 trucks, 1 fire hydrant, 1 skateboard, 1 teddy bear, 107.9ms
0: 384x640 1 person, 2 buss, 2 trucks, 1 fire hydrant, 1 skateboard, 123.9ms
0: 384x640 1 person, 2 buss, 2 trucks, 1 fire hydrant, 1 teddy bear, 110.1ms
0: 384x640 1 person, 2 cars, 2 buss, 2 trucks, 1 fire hydrant, 106.8ms
0: 384x640 1 person, 2 cars, 2 buss, 2 trucks, 1 fire hydrant, 1 teddy bear, 114.0ms
0: 384x640 1 person, 2 cars, 2 buss, 2 trucks, 1 fire hydrant, 108.2ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 1 teddy bear, 110.5ms
0: 384x640 1 person, 2 cars, 2 buss, 1 truck, 1 fire hydrant, 126.0ms
0: 384x640 1 person, 2 cars, 2 buss, 1 truck, 1 fire hydrant, 100.5ms
0: 384x640 2 persons, 2 cars, 2 buss, 1 truck, 1 fire hydrant, 110.3ms
0: 384x640 1 person, 2 cars, 1 bus, 1 truck, 1 fire hydrant, 115.5ms
0: 384x640 1 person, 2 cars, 1 bus, 1 truck, 1 fire hydrant, 111.4ms
0: 384x640 1 person, 2 cars, 2 buss, 2 trucks, 1 fire hydrant, 109.4ms
0: 384x640 1 person, 2 cars, 2 buss, 2 trucks, 1 fire hydrant, 109.1ms
0: 384x640 1 person, 2 cars, 2 buss, 1 truck, 1 fire hydrant, 110.7ms
0: 384x640 1 person, 2 cars, 2 buss, 2 trucks, 1 fire hydrant, 115.0ms
0: 384x640 1 person, 2 cars, 2 buss, 1 truck, 1 fire hydrant, 107.4ms
0: 384x640 1 person, 2 cars, 2 buss, 1 truck, 1 fire hydrant, 108.5ms
0: 384x640 1 person, 2 cars, 2 buss, 2 trucks, 1 fire hydrant, 108.0ms
0: 384x640 1 person, 2 cars, 2 buss, 1 truck, 1 fire hydrant, 124.4ms
0: 384x640 1 person, 2 cars, 1 bus, 1 truck, 1 fire hydrant, 111.5ms
0: 384x640 1 person, 2 cars, 2 buss, 1 truck, 1 fire hydrant, 100.5ms
0: 384x640 1 person, 2 cars, 1 bus, 1 truck, 1 fire hydrant, 107.3ms
0: 384x640 1 person, 2 cars, 1 bus, 1 truck, 1 fire hydrant, 116.6ms
0: 384x640 1 person, 2 cars, 1 bus, 1 truck, 1 fire hydrant, 121.2ms
0: 384x640 1 person, 2 cars, 2 buss, 1 truck, 1 fire hydrant, 112.1ms
0: 384x640 1 person, 2 cars, 1 bus, 1 truck, 1 fire hydrant, 110.9ms
0: 384x640 1 person, 2 cars, 1 bus, 1 truck, 1 fire hydrant, 116.7ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 113.2ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 105.5ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 112.1ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 108.2ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 111.1ms
0: 384x640 1 person, 1 car, 1 bus, 2 trucks, 1 fire hydrant, 121.6ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 115.5ms
0: 384x640 1 person, 1 car, 1 bus, 2 trucks, 1 fire hydrant, 119.1ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 106.3ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 110.2ms
0: 384x640 1 person, 1 car, 1 bus, 2 trucks, 1 fire hydrant, 135.0ms
0: 384x640 1 person, 1 car, 1 bus, 2 trucks, 1 fire hydrant, 113.5ms
0: 384x640 1 person, 1 car, 1 bus, 2 trucks, 112.0ms
0: 384x640 1 person, 1 car, 1 bus, 2 trucks, 111.6ms
0: 384x640 1 person, 1 car, 1 bus, 2 trucks, 120.3ms
0: 384x640 1 person, 1 car, 1 bus, 2 trucks, 118.0ms
0: 384x640 1 person, 1 car, 1 bus, 2 trucks, 107.4ms
0: 384x640 1 person, 1 car, 1 bus, 2 trucks, 106.4ms
0: 384x640 1 person, 1 car, 1 bus, 2 trucks, 109.7ms
0: 384x640 1 person, 1 car, 1 bus, 2 trucks, 113.0ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 114.5ms
0: 384x640 1 person, 1 car, 1 bus, 2 trucks, 110.8ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 109.7ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 107.0ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 123.5ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 126.1ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 118.7ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 109.1ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 122.9ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 108.6ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 108.3ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 110.4ms
0: 384x640 1 person, 2 cars, 1 bus, 2 trucks, 113.3ms
0: 384x640 2 persons, 2 cars, 1 bus, 2 trucks, 113.9ms
0: 384x640 2 persons, 2 cars, 1 bus, 2 trucks, 115.9ms
0: 384x640 2 persons, 2 cars, 1 bus, 2 trucks, 114.3ms
0: 384x640 2 persons, 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 1 skateboard, 108.9ms
0: 384x640 2 persons, 2 cars, 1 bus, 2 trucks, 102.7ms
0: 384x640 2 persons, 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 106.9ms
0: 384x640 2 persons, 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 118.8ms
0: 384x640 2 persons, 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 114.5ms
0: 384x640 2 persons, 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 109.7ms
0: 384x640 2 persons, 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 110.1ms
0: 384x640 2 persons, 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 106.5ms
0: 384x640 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 108.9ms
0: 384x640 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 108.0ms
0: 384x640 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 112.5ms
0: 384x640 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 122.6ms
0: 384x640 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 112.8ms
0: 384x640 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 112.5ms
0: 384x640 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 139.6ms
0: 384x640 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 143.2ms
0: 384x640 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 129.2ms
0: 384x640 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 112.0ms
0: 384x640 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 179.1ms
0: 384x640 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 134.4ms
0: 384x640 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 132.0ms
0: 384x640 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 124.7ms
0: 384x640 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 127.6ms
0: 384x640 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 124.9ms
0: 384x640 2 cars, 1 bus, 2 trucks, 1 fire hydrant, 146.1ms

...

※このgifは、容量削減のため、フレーム間引きしています。

静止画も一部。

  • 無事、RTSPを受信して物体認識ができた。
  • 特に処理を止める手段はないようだったので、終わるときはCtrl+Cで強制終了した。
  • トミカを車として認識してくれた。
  • 車の中でも、car、truck、busの分類があった。
  • アンパンマンの小さい人形は、人として認識されることもあったが、fire hydrant(消火栓)になることもあった。
  • トミカを動かす手も人として認識された。

以上

環境セットアップで少し手間取ったものの、結構簡単に物体認識ができた。

楽しい。

やることを考えてみて、もう少し続けたい。

ついで

ついでに、子供がカメラの前をうろうろしたときのログ。
記録のために置いておく。
こちらは動画は載せたくないので、ログだけで。

人の認識ができている。

結果ログ一部。(クリックで結果ログが全部表示されます。)

(yolov5) PS C:\work\yolo_test\yolov5> python detect.py --source rtsp://USER:PASSWORD@192.168.1.29 --view-img                    
detect: weights=yolov5s.pt, source=rtsp://USER:PASSWORD@192.168.1.29, data=data\coco128.yaml, imgsz=[640, 640], conf_thres=0.25, iou_thres=0.45, max_det=1000, device=, view_img=True, save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None, agnostic_nms=False, augment=False, visualize=False, update=False, project=runs\detect, name=exp, exist_ok=False, line_thickness=3, hide_labels=False, hide_conf=False, half=False, dnn=False, vid_stride=1
YOLOv5  v7.0-210-gdd10481 Python-3.11.4 torch-2.0.1+cpu CPU

Fusing layers... 
YOLOv5s summary: 213 layers, 7225885 parameters, 0 gradients
1/1: rtsp://USER:PASSWORD@192.168.1.29...  Success (inf frames 2304x1296 at 25.00 FPS)

0: 384x640 1 person, 126.9ms
0: 384x640 1 person, 145.1ms
0: 384x640 1 person, 136.3ms
0: 384x640 1 person, 126.6ms
0: 384x640 1 person, 131.3ms

...

0: 384x640 1 person, 104.8ms
0: 384x640 1 person, 105.3ms
0: 384x640 1 person, 100.5ms
0: 384x640 1 person, 104.2ms
0: 384x640 1 person, 101.4ms
0: 384x640 2 persons, 107.2ms
0: 384x640 1 person, 98.9ms
0: 384x640 2 persons, 119.1ms
0: 384x640 2 persons, 106.0ms
0: 384x640 1 person, 97.7ms
0: 384x640 1 person, 103.6ms
0: 384x640 1 person, 107.9ms
0: 384x640 2 persons, 98.3ms
0: 384x640 1 person, 108.5ms
0: 384x640 2 persons, 112.8ms
0: 384x640 2 persons, 120.2ms
0: 384x640 2 persons, 103.5ms
0: 384x640 2 persons, 102.5ms
0: 384x640 3 persons, 101.0ms
0: 384x640 3 persons, 102.6ms
0: 384x640 2 persons, 102.7ms
0: 384x640 3 persons, 1 bed, 115.9ms
0: 384x640 2 persons, 97.8ms
0: 384x640 2 persons, 1 bed, 102.7ms
0: 384x640 2 persons, 1 bed, 103.1ms
0: 384x640 3 persons, 1 bed, 102.3ms
0: 384x640 2 persons, 1 bed, 101.0ms

...

結果ログ全部。

(yolov5) PS C:\work\yolo_test\yolov5> python detect.py --source rtsp://USER:PASSWORD@192.168.1.29 --view-img                    
detect: weights=yolov5s.pt, source=rtsp://USER:PASSWORD@192.168.1.29, data=data\coco128.yaml, imgsz=[640, 640], conf_thres=0.25, iou_thres=0.45, max_det=1000, device=, view_img=True, save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None, agnostic_nms=False, augment=False, visualize=False, update=False, project=runs\detect, name=exp, exist_ok=False, line_thickness=3, hide_labels=False, hide_conf=False, half=False, dnn=False, vid_stride=1
YOLOv5  v7.0-210-gdd10481 Python-3.11.4 torch-2.0.1+cpu CPU

Fusing layers... 
YOLOv5s summary: 213 layers, 7225885 parameters, 0 gradients
1/1: rtsp://USER:PASSWORD@192.168.1.29...  Success (inf frames 2304x1296 at 25.00 FPS)

0: 384x640 1 person, 126.9ms
0: 384x640 1 person, 145.1ms
0: 384x640 1 person, 136.3ms
0: 384x640 1 person, 126.6ms
0: 384x640 1 person, 131.3ms
0: 384x640 1 person, 121.4ms
0: 384x640 1 person, 102.3ms
0: 384x640 1 person, 104.9ms
0: 384x640 1 person, 100.0ms
0: 384x640 1 person, 107.8ms
0: 384x640 1 person, 103.2ms
0: 384x640 1 person, 101.0ms
0: 384x640 1 person, 101.4ms
0: 384x640 1 person, 107.9ms
0: 384x640 1 person, 103.0ms
0: 384x640 1 person, 104.0ms
0: 384x640 1 person, 99.9ms
0: 384x640 1 person, 102.0ms
0: 384x640 1 person, 101.4ms
0: 384x640 1 person, 100.0ms
0: 384x640 1 person, 95.4ms
0: 384x640 1 person, 116.2ms
0: 384x640 2 persons, 102.4ms
0: 384x640 1 person, 102.6ms
0: 384x640 1 person, 102.0ms
0: 384x640 1 person, 98.7ms
0: 384x640 1 person, 91.6ms
0: 384x640 1 person, 105.3ms
0: 384x640 1 person, 115.2ms
0: 384x640 1 person, 1 remote, 102.4ms
0: 384x640 1 person, 101.7ms
0: 384x640 1 person, 98.9ms
0: 384x640 1 person, 1 bench, 1 toothbrush, 101.4ms
0: 384x640 1 person, 100.8ms
0: 384x640 1 person, 1 bench, 1 toothbrush, 100.7ms
0: 384x640 1 person, 116.4ms
0: 384x640 1 person, 108.4ms
0: 384x640 1 person, 1 book, 114.5ms
0: 384x640 1 person, 2 books, 106.1ms
0: 384x640 1 person, 1 bottle, 105.4ms
0: 384x640 1 person, 115.0ms
0: 384x640 1 person, 104.8ms
0: 384x640 1 person, 105.3ms
0: 384x640 1 person, 100.5ms
0: 384x640 1 person, 104.2ms
0: 384x640 1 person, 101.4ms
0: 384x640 2 persons, 107.2ms
0: 384x640 1 person, 98.9ms
0: 384x640 2 persons, 119.1ms
0: 384x640 2 persons, 106.0ms
0: 384x640 1 person, 97.7ms
0: 384x640 1 person, 103.6ms
0: 384x640 1 person, 107.9ms
0: 384x640 2 persons, 98.3ms
0: 384x640 1 person, 108.5ms
0: 384x640 2 persons, 112.8ms
0: 384x640 2 persons, 120.2ms
0: 384x640 2 persons, 103.5ms
0: 384x640 2 persons, 102.5ms
0: 384x640 3 persons, 101.0ms
0: 384x640 3 persons, 102.6ms
0: 384x640 2 persons, 102.7ms
0: 384x640 3 persons, 1 bed, 115.9ms
0: 384x640 2 persons, 97.8ms
0: 384x640 2 persons, 1 bed, 102.7ms
0: 384x640 2 persons, 1 bed, 103.1ms
0: 384x640 3 persons, 1 bed, 102.3ms
0: 384x640 2 persons, 1 bed, 101.0ms
0: 384x640 2 persons, 1 bed, 102.9ms
0: 384x640 3 persons, 1 bed, 118.3ms
0: 384x640 1 person, 1 bed, 106.1ms
0: 384x640 3 persons, 103.9ms
0: 384x640 2 persons, 1 bed, 106.1ms
0: 384x640 3 persons, 112.8ms
0: 384x640 3 persons, 1 bed, 121.9ms
0: 384x640 2 persons, 115.7ms
0: 384x640 2 persons, 101.9ms
0: 384x640 2 persons, 108.7ms
0: 384x640 2 persons, 101.0ms
0: 384x640 2 persons, 1 bed, 104.7ms
0: 384x640 2 persons, 1 bed, 95.3ms
0: 384x640 1 person, 1 bed, 100.7ms
0: 384x640 1 person, 118.1ms
0: 384x640 1 person, 100.8ms
0: 384x640 1 person, 112.8ms
0: 384x640 1 person, 102.5ms
0: 384x640 1 person, 101.9ms
0: 384x640 1 person, 95.2ms
0: 384x640 2 persons, 105.7ms
0: 384x640 1 person, 122.1ms
0: 384x640 1 person, 101.0ms
0: 384x640 1 person, 100.7ms
0: 384x640 1 person, 112.0ms
0: 384x640 3 persons, 111.3ms
0: 384x640 2 persons, 104.9ms
0: 384x640 1 person, 106.8ms
0: 384x640 1 person, 102.2ms
0: 384x640 1 person, 108.7ms
0: 384x640 1 person, 104.7ms
0: 384x640 1 person, 90.2ms
0: 384x640 1 person, 98.1ms
0: 384x640 1 person, 103.5ms
0: 384x640 1 person, 104.1ms
0: 384x640 1 person, 108.6ms
0: 384x640 1 person, 113.7ms
0: 384x640 1 person, 105.1ms
0: 384x640 1 person, 103.0ms
0: 384x640 2 persons, 105.8ms
0: 384x640 2 persons, 101.6ms
0: 384x640 2 persons, 102.7ms
0: 384x640 2 persons, 119.5ms
0: 384x640 1 person, 102.8ms
0: 384x640 2 persons, 1 toothbrush, 101.2ms
0: 384x640 1 person, 107.1ms
0: 384x640 1 person, 113.5ms
0: 384x640 1 person, 105.8ms
0: 384x640 1 person, 1 cup, 104.2ms
0: 384x640 2 persons, 1 chair, 108.7ms
0: 384x640 2 persons, 104.5ms
0: 384x640 2 persons, 101.2ms
0: 384x640 1 bed, 105.6ms
0: 384x640 1 person, 1 bed, 102.9ms
0: 384x640 (no detections), 105.3ms
0: 384x640 (no detections), 115.1ms
0: 384x640 (no detections), 103.6ms
0: 384x640 (no detections), 107.4ms
0: 384x640 (no detections), 103.4ms
0: 384x640 (no detections), 101.3ms
0: 384x640 (no detections), 101.9ms
0: 384x640 (no detections), 101.8ms
0: 384x640 (no detections), 117.4ms
0: 384x640 (no detections), 106.6ms
0: 384x640 (no detections), 102.9ms
0: 384x640 (no detections), 102.0ms
0: 384x640 (no detections), 103.6ms
0: 384x640 (no detections), 102.8ms
0: 384x640 (no detections), 101.9ms
0: 384x640 (no detections), 115.6ms
0: 384x640 (no detections), 99.5ms
0: 384x640 (no detections), 98.7ms
0: 384x640 (no detections), 101.1ms
0: 384x640 (no detections), 103.8ms
0: 384x640 (no detections), 111.2ms
0: 384x640 (no detections), 109.7ms
0: 384x640 (no detections), 113.8ms
0: 384x640 (no detections), 104.3ms
0: 384x640 (no detections), 96.0ms
0: 384x640 (no detections), 109.0ms
0: 384x640 (no detections), 104.3ms
0: 384x640 (no detections), 102.8ms
0: 384x640 (no detections), 101.9ms
0: 384x640 (no detections), 114.4ms
0: 384x640 (no detections), 91.6ms
0: 384x640 (no detections), 104.1ms
0: 384x640 1 person, 102.2ms
0: 384x640 2 persons, 99.6ms
0: 384x640 2 persons, 1 teddy bear, 105.9ms
0: 384x640 2 persons, 1 teddy bear, 103.6ms
0: 384x640 2 persons, 1 teddy bear, 113.6ms
0: 384x640 2 persons, 102.0ms
0: 384x640 3 persons, 102.0ms
0: 384x640 2 persons, 103.1ms
0: 384x640 2 persons, 101.5ms
0: 384x640 2 persons, 1 bed, 102.6ms
0: 384x640 2 persons, 1 bed, 99.7ms
0: 384x640 2 persons, 1 bed, 89.5ms
0: 384x640 2 persons, 1 bed, 102.3ms
0: 384x640 2 persons, 1 bed, 106.4ms
0: 384x640 2 persons, 1 bed, 106.6ms
0: 384x640 2 persons, 1 bed, 102.5ms
0: 384x640 2 persons, 1 bed, 141.0ms
0: 384x640 2 persons, 1 bed, 128.0ms
0: 384x640 2 persons, 1 bed, 117.4ms
0: 384x640 2 persons, 1 bed, 125.5ms
0: 384x640 2 persons, 109.8ms
0: 384x640 2 persons, 109.2ms
0: 384x640 2 persons, 109.7ms
0: 384x640 2 persons, 1 bed, 109.7ms
0: 384x640 2 persons, 126.8ms
0: 384x640 2 persons, 1 bed, 93.9ms
0: 384x640 2 persons, 1 bed, 112.3ms
0: 384x640 2 persons, 93.9ms
0: 384x640 2 persons, 113.8ms
0: 384x640 1 person, 110.0ms
0: 384x640 1 person, 109.8ms
0: 384x640 2 persons, 94.0ms
0: 384x640 2 persons, 109.2ms
0: 384x640 1 person, 125.4ms
0: 384x640 1 person, 125.5ms
0: 384x640 2 persons, 1 hot dog, 111.1ms
0: 384x640 2 persons, 109.8ms
0: 384x640 2 persons, 115.0ms
0: 384x640 2 persons, 109.8ms
0: 384x640 2 persons, 108.2ms
0: 384x640 1 bed, 109.8ms
0: 384x640 2 persons, 110.4ms
0: 384x640 1 person, 125.5ms
0: 384x640 2 persons, 110.9ms
0: 384x640 2 persons, 111.1ms
0: 384x640 1 person, 109.8ms
0: 384x640 2 persons, 114.4ms
0: 384x640 2 persons, 1 remote, 110.6ms
0: 384x640 2 persons, 125.6ms
0: 384x640 2 persons, 108.1ms
0: 384x640 2 persons, 140.1ms
0: 384x640 2 persons, 1 donut, 149.0ms
0: 384x640 2 persons, 1 donut, 142.2ms
0: 384x640 3 persons, 1 donut, 125.4ms
0: 384x640 1 person, 120.4ms
0: 384x640 3 persons, 140.5ms
0: 384x640 3 persons, 125.8ms
0: 384x640 3 persons, 1 donut, 125.2ms

...