#はじめに
YOLOv5でYouTube動画から直接物体検出する方法についてまとめます。
Google Colaboratory上でYOLOv5を使用して、YouTube動画から直接物体検出を試していきます。
YouTube動画から直接物体検出することで、動画内容の分析や情報の把握の自動化への活用が期待されます。
以下ソース
#目標(成果物)
上図のようにYouTube上にある動画に対して物体検出を行なって結果を得ます。
今回は、YOLOv5の自作モデルによりYouTube動画から直接電車の抽出を行います。
#YOLOv5におけるモデル作成
今回試す電車抽出モデルの作成は以前作成したものを使用します。詳細は以下の記事を参照してください。
#環境構築
まずはGoogle Colaboratoryを起動して、Yolov5の準備を行います。
!git clone https://github.com/ultralytics/yolov5
%cd yolov5/
!pip install -qr requirements.txt
これで準備は完了です。
#①学習済みモデルでサクッと試してみる
まずは実際にYouTube動画から物体検出を試してみます。
学習済みモデルを使用するので、誰でもすぐに再現することが可能です。
今回使用する動画は以下のものです。
(ただ電車の通過シーンを撮影した動画です)
この動画に対して物体検出をしていきます。
以下の通り実行します。
!python detect.py --source 'https://youtu.be/igh_evKnkFk'
しばらくすると結果が以下の場所に結果が保存されます。
/content/yolov5/runs/detect/exp/
YouTube動画から物体検出ができました。
学習済みモデルを使用しているので電車以外にも人間などを検出しています。
結果はYouTubeに動画としてアップしていますので、興味のある方は記事最後のリンクよりご確認ください。
#②自作モデルで試してみる
先程の動画に対して、以前作成したモデルで再度検証を行います。
学習モデルはあらかじめ以下の場所にアップしておきます。
/content/yolov5/
以下の通り実行します。
引数weights
で、モデルを指定することができます。
!python detect.py --source 'https://youtu.be/igh_evKnkFk' --weights /content/yolov5/best.pt
しばらくすると以下の場所に結果が保存されます。
/content/yolov5/runs/detect/exp2/
実際にYouTube動画から電車の検出ができました。
#結果
①と②の抽出結果を以下の通り動画にまとめましたので、興味のある方はご覧下さい。
#まとめ
YOLOv5でYouTube動画から直接物体検出する手順をまとめました。