YOLOv8では、2つの方法でオブジェクトトラッキングが可能です。
( YOLOv8解説トップ:【画像認識AI】Ultralytics YOLO v8 解説 )
BoT-SORTとByteTrackが利用可能です。
デフォルトはBoT-SORTです。
- BoT-SORT: Robust Associations Multi-Pedestrian Tracking
https://github.com/NirAharon/BoT-SORT - ByteTrack: Multi-Object Tracking by Associating Every Detection Box
https://github.com/ifzhang/ByteTrack
ものすごいザックリいうと、
『映像において検出できた物体があり、それと同じ物体が次のフレームで少しだけ位置が変わって検出されている』としたら、「それは同じ物体だろう」ということでラベルを付ける仕組みです。
歩いている人物などをトラッキングすることができます。
YOLOv8 トラッカー比較
BoT-SORTとByteTrackを比較してみます。
項目 | BoT-SORT | ByteTrack |
---|---|---|
発表年 | 2022年 | 2021年 |
発表元 | イスラエル テルアビブ大学 | 華中科技大学、 香港大学、 ByteDance Inc. (TikTok) |
精度 | ||
特徴 | ByteTrackの改良版(!?) | 素早い物体のトラッキングに 強い…かもしれない |
BoT-SORTはByteTrackよりも新しく、改良版とも言えるようなのでトラッキングするときはBoT-SORTデフォルトのままでよいと思われます。
一方で、UltralyticsのGlenn氏が「素早い物体の検知にはByteTrackを使ってみたらどうか」と提案していたこともあり、BoT-SORTで思ったより成果が出なかった場合はByteTrackを試してみるというのが良いかもしれません。
https://github.com/orgs/ultralytics/discussions/13404
ケースバイケースですが、
生放送などのリアルタイムでのトラッキングが必要なときに ByteTrackを使うことも、あります。
トラッカーの使い方
以下のようにして使用します。 model.track とするだけで、デフォルトトラッカーが適応されます。
※結果を保存したかったので便宜上save=Trueとしています
from ultralytics import YOLO
model = YOLO("yolov8n.pt")
results = model.track("umineko.mp4", save=True)
YouTube ウミネコ商店さまのライブ配信動画を分析させていただきました。
https://www.youtube.com/@uminekoshouten
※関係者さまへ:あくまで研究的な目的での利用ですが、問題あるようでしたらお問い合わせフォームよりご連絡くださいますようお願い申し上げます。
結果
手前の女性の方が id:1 、奥の女性が id:2 としてトラッキングされています。(2秒差の画像)
- 2枚目の画像では奥の女性が 評価0.16となっているのですが、この後トラッキングが外れてしまいます。
id:2 だった女性が id:3 の別人として評価されています。
いわゆる”ReID (Re-identification)” 問題ですが、高精度なモデルを使用したり、パラメータを変更することで別人として評価されてしまうことを減らすことができます。
ReIDに関連し、カスタムトラッカーの利用が↓で議論されるなどしています。
https://github.com/ultralytics/ultralytics/issues/8154
YOLOv8での挙動
YOLOv8はYOLOv8、トラッカーはトラッカーとして動くようになっており、
トラッキングしてからYOLOv8…ではなく、全フレームごとにYOLOv8は動いています。
YOLOv8が映像を通して値を持っているわけではなく、トラッカーが id を保存し、通しで効くようにしています。
(というか、YOLOv8は各フレームごとに動くといった方がよいかも)
Pose (姿勢)でも使うことができますが、上記の通り、足首の位置を追いかけてくれているとかそういうのではない…と思っていた方がよいでしょう。
トラッキングテスト
モーニング娘。さんの公式YouTubeにあったダンス動画で検証してみました。
https://www.youtube.com/watch?v=T_t9B87xUBo
※版権関係者さまへ:あくまで研究的な目的での利用ですが、問題あるようでしたらお問い合わせフォームよりご連絡くださいますようお願い申し上げます。
ポーズモデルの、最も制度が高いもので検証しました。トラッキングパラメータはデフォルトです。
イントロ、楽曲の始めの方
id:2 が見て取れます。映像内の左後ろの方のメンバーの方が、id:13やid:14として新しい番号が振られてしまったようです。
中盤
立ち位置がめまぐるしく変わる中で、idが何度も採番され続けているようです。id:111まで見て取れます。
最後
センター「id:310」までカウントされています。順番に採番されたのであれば、
ステージ上には10人のメンバーしかいないのですが、310人はいると推定できた?ようです。