【連載】

機械の目が見たセカイ -コンピュータビジョンがつくるミライ

28 動く人・物を追跡する(2) - OpenCVのトラッキング手法(前編)

28/32

第27回では、OpenCVを用いたトラッキングの実装方法、トラッキング結果についてまとめました。今回は、OpenCVに組み込まれている5つのトラッキング手法のうち、Boosting、MIL、Median Flowの3つをご紹介します。

Boosting

Boostingを用いたトラッキング[1]の概要は図1のとおりです。まず追跡対象物の近傍領域からPositiveサンプル、その周辺の領域からNegativeサンプルを生成し、識別器(AdaBoost)を学習します。そして、探索領域内の各領域(sub-patches)が追跡対象物らしいか否かを識別器により求めます。そして追跡対象物らしさが最大となる箇所を新たな物体位置とするとともに、PositiveサンプルとNegativeサンプルを更新します。

図1 Bootingを用いたトラッキングの概要 (出典:参考文献[1])

MIL(Multiple Instance Learning)

MIL(Multiple Instance Learning)を用いたトラッキング[2]の概念は、図2(c)のとおりです。図2(a)、(b)はBoostingを用いたトラッキングの枠組みです。

Multi Instance Learningで用いる学習データは、「複数のサンプルの中にPositiveサンプルがあります」という形でサンプルの集合(bag)に対してラベルが与えられます。トラッキング中の物体の周辺からPositiveサンプルを切り出した際に、トラッキング誤差の影響ですべてのサンプルが本当にPositiveであるとは限りません。そこで、Multi Instance Learningの枠組みを導入することで、複数のサンプルをひとつの集合(bag)として扱い、そのbagのなかにPositiveサンプルだけでなくNegativeも入ってしまうことを許容したものが、MILを用いたトラッキングです。

図2 MILを用いたトラッキング (出典:参考文献[2])

Median Flow

Median Flow[3]の処理の概要は図3のとおりです。まず、追跡対象のBounding boxをグリッド状に分割します。そして、各グリッド内の点をLucas-Kanade Trackerにより追跡し、点の動き(Flow)を求めます。最後に、トラッキングエラーが大きいグリッドを除去し、残ったFlowの中央値を用いてBounding boxの座標を更新します。

図3 Median Flowの概要 (出典:参考文献[3])

次回ご紹介するTLD、KCFの方が新しい手法で、トラッキング精度も高いですが、今回ご紹介した3つの手法の概要だけでも頭の片隅に置いておくと良いでしょう。独自に新しいトラッキングアルゴリズムを開発するときに役に立つはずです。

参考文献

[1] Grabner, H., Grabner, M., & Bischof, H.: Real-time tracking via on-line boosting. In BMVC, 2006.
[2] Babenko, B., Yang, M. H., & Belongie., S.: Visual Tracking with Online Multiple Instance Learning. In CVPR, 2009.
[3] Kalal, Z., Mikolajczyk, K. & Matas, J.: Forward-Backward Error: Automatic Detection of Tracking Failures. In ICPR, 2010.

著者プロフィール

樋口未来(ひぐち・みらい)
日立製作所 日立研究所に入社後、自動車向けステレオカメラ、監視カメラの研究開発に従事。2011年から1年間、米国カーネギーメロン大学にて客員研究員としてカメラキャリブレーション技術の研究に携わる。

日立製作所を退職後、2016年6月にグローバルウォーカーズ株式会社を設立し、CTOとして画像/映像コンテンツ×テクノロジーをテーマにコンピュータビジョン、機械学習の研究開発に従事している。また、東京大学大学院博士課程に在学し、一人称視点映像(First-person vision, Egocentric vision)の解析に関する研究を行っている。具体的には、頭部に装着したカメラで撮影した一人称視点映像を用いて、人と人のインタラクション時の非言語コミュニケーション(うなずき等)を観測し、機械学習の枠組みでカメラ装着者がどのような人物かを推定する技術の研究に取り組んでいる。

専門:コンピュータビジョン、機械学習

28/32

インデックス

連載目次
第32回 見えないものを観る(2) - 絵画の下書きを観る
第31回 見えないものを観る(1) - 映像から音を復元する
第30回 動く人・物を追跡する(4) - OpenCVのトラッキング手法(後編)
第29回 動く人・物を追跡する(3) - OpenCVのトラッキング手法(中編)
第28回 動く人・物を追跡する(2) - OpenCVのトラッキング手法(前編)
第27回 動く人・物を追跡する(1) - OpenCVによるトラッキング
第26回 インターネット上の画像群からTime-lapse映像を自動生成する手法の概要
第25回 一人称視点(3) - Social Saliency
第24回 一人称視点(2) - Social Interaction
第23回 一人称視点(1) - 概要
第22回 行動認識(3) - Two-stream ConvNets
第21回 行動認識(2) - 動きの特徴量(HOF、MBH)
第20回 行動認識(1) - Dense Trajectories
第19回 視線計測(3) - カメラのみを用いた視線計測
第18回 視線計測(2) - 近赤外の点光源を用いた視線計測
第17回 視線計測(1) - 導入編
第16回 コンピュータビジョン分野における機械学習(4) - Deep Learning
第15回 コンピュータビジョン分野における機械学習(3) - 識別器
第14回 コンピュータビジョン分野における機械学習(2) - 顔検出・人検出
第13回 コンピュータビジョン分野における機械学習(1) - 導入編
第12回 コンピュータビジョン分野の市場分析(1) - 自動車編
第11回 コンピュータビジョン分野で活躍する企業・フリーランサー インタビュー(2)
第10回 カメラを用いた3次元計測(4) - Structure from Motion
第9回 カメラを用いた3次元計測(3) - サブピクセル推定
第8回 カメラを用いた3次元計測(2) - ステレオカメラ
第7回 コンピュータビジョン分野で活躍する企業・フリーランサー インタビュー(1)
第6回 カメラを用いた3次元計測(1)
第5回 意外と知らないカメラキャリブレーション
第4回 ハードウェアの基礎知識
第3回 コンピュータビジョンの要素技術と応用範囲(後編)
第2回 コンピュータビジョンの要素技術と応用範囲(前編)
第1回 普及期に入ったコンピュータビジョン

もっと見る



人気記事

一覧

イチオシ記事

新着記事