動画データの物体認識のアノテーションを効率良くするには?
投稿日: 2022/04/12 20:36:22
著者: 木村 優志
Convergence Lab.株式会社 の木村 優志です。
今回は、動画データからの物体検出AIを作る場合のちょっとしたTipsをお伝えしようと思います。
物体検出AIを作る場合、EfficientDet や YOLOX などのOSS実装を利用することで作成することが多いです。
しかし、物体検出AIをつくるためには、大量のアノテーションが必要になります。ただし、もとのデータが動画である場合、物体追跡アルゴリズムを利用して、ラベリングを少し楽に行うことができます。
たとえば、OpenCVには、MIL法などのいくつかの物体追跡アルゴリズムが実装されています。たとえば、マウスなどを用いて、初期位置を与えて、そこからは物体検出アルゴリズムで追跡させることで、アノテーションの手間を減らすことができます。このためには、ラベリング用のGUIアプリケーションを作ってしまうのが便利です。
OpenCVを用いた、物体追跡の例については、以下が参考になります。
https://learnopencv.com/object-tracking-using-opencv-cpp-python/
ビデオトラッキング自体の説明は、Wikipedia 記事が分かりやすいでしょう。
実際に我々は、この方法を用いて数百万フレームの動画データのアノテーションを低コストで行っています。ラベリングツールは自作しています。アノテーション代行会社もいくつかあります。しかし、インハウスでアノテーションをおこなうことで、弊社では受託金額を抑えることができました。
これでもマウスを使って、追跡がずれたら修正するプロセスが必要になるため完全自動とは行きませが、大きな労力の削減には成ります。
動画からの物体検出を検討している場合は、是非弊社へお問い合わせください。