ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

YOLOv5 でダンスやスプラトゥーンのプレイ動画で物体検出してみたらどうなるか?

YOLOv5 でダンス動画やスプラトゥーンのようなゲームを物体検出するとどうなるか実験してみました。

YOLO

YOLOとは

「You Only Look Once」の略です。
YOLOは画像データからその画像データに写っている人や物・動物等々を検知して、その部分を矩形で囲い、それがなんであるかを教えてくれる技術です。

物体検出の準備

インストール

NVIDIAドライバインストール

developer.nvidia.com

$ wget https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda-reporhel7-11-1-local-11.1.1_455.32.00-1.x86_64.rpm
$ sudo rpm -i cuda-repo-rhel7-11-1-local-11.1.1_455.32.00-1.x86_64.rpm
$ sudo yum clean all
$ sudo yum -y install nvidia-driver-latest-dkms cuda
$ sudo yum -y install cuda-drivers
OpenCVインストール

gitクローンしてv3.4.3をチェックアウトする。

$ git clone https://github.com/opencv/opencv.git
$ git clone https://github.com/opencv/opencv_contrib.git
$ cd opencv_contrib
$ git checkout -b 3.4.3 refs/tags/3.4.3
$ cd ../opencv/
$ git checkout -b 3.4.3 refs/tags/3.4.3

インストール

cmake -D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_TBB=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..
make -j7
make install
echo /usr/local/lib > /etc/ld.so.conf.d/opencv.conf
ldconfig -v

バージョン確認

$ pkg-config --modversion opencv
3.4.3
$ opencv_version
3.4.3
YOLOv5インストール

以下のgithubを利用させていただきます。
github.com

$ git clone https://github.com/ultralytics/yolov5.git
$ cd yolov5
追加ライブラリインストール

追加でライブラリをインストールします。

$ pip install PyHamcrest
$ pip install -r requirements.txt --user
モデルファイルダウンロード
$ bash weights/download_weights.sh

動画準備

ダンス動画取得

むかし作成したダンス動画を取得します。
www.youtube.com

物体検出処理

ダンス

MMDで作ったダンス動画を変換します。

$  python detect.py --source /home/test/ダンス.avi
スプラトゥーン2

スプラトゥーン2の動画を変換します。

$  python detect.py --source /home/test/スプラトゥーン2.mp4

物体検出してみた

ダンス動画

MMD で作成したダンス動画で物体検出をしてみました。

【yolov5】ダンス動画で物体認識 #1

スプラトゥーン動画 #1

スプラトゥーンの動画で物体検出をしてみました。

【yolov5】スプラトゥーンの動画で物体認識 #2

スプラトゥーン動画 #2

スプラトゥーンの動画で物体検出をしてみました。

【yolov5】スプラトゥーンの動画で物体認識 #3