CV勉強会@関東 発表資料
P-N Learning: Bootstrapping Binary
Classifiers by Structural Constraints
2015/05/30 takmin
自己紹介
テクニカル・ソリューション・アーキテクト
皆川 卓也(みながわ たくや)
フリーエンジニア(ビジョン&ITラボ)
「コンピュータビジョン勉強会@関東」主催
博士(工学)
テクニカル・ソリューション・アーキテクト
皆川 卓也(みながわ たくや)
フリーエンジニア(ビジョン&ITラボ)
「コンピュータビジョン勉強会@関東」主催
博士(工学)
略歴:
1999-2003年
日本HP(後にアジレント・テクノロジーへ分社)にて、ITエンジニアとしてシステム構築、プリ
セールス、プロジェクトマネジメント、サポート等の業務に従事
2004-2009年
コンピュータビジョンを用いたシステム/アプリ/サービス開発等に従事
2007-2010年
慶應義塾大学大学院 後期博士課程にて、コンピュータビジョンを専攻
単位取得退学後、博士号取得(2014年)
2009年-現在
フリーランスとして、コンピュータビジョンのコンサル/研究/開発等に従事
2
http://visitlab.jp
紹介する論文
3
 P-N Learning: Bootstrapping Binary Classifiers by
Structural Constraints
 Z. Kalal, J. Matas, K. Mikolajczyk
 CVPR 2010
 P-N Learningという二値分類を行う識別器をラベルなし
サンプルから学習させるパラダイムの定式化
 やってることはトラッキングだけど、論文自体はもっと上段に
構えてる
 デモ動画
 https://www.youtube.com/watch?v=1GhNXHCQGsM
 OpenCV3.0に実装される予定
P-N Learningを用いたトラッキング
4
 1つのサンプル(黄色)から物体検出器を学習し、赤のよ
うな違う姿勢の物体も検出
P-N Learning
5
 ラベルつきサンプルとラベルなしサンプルを使用して二
値分類の識別器を学習
 サンプル間の依存関係(構造)を利用して、サンプルにラ
ベルを付与する
 Positive Constraints
 Positiveラベルをつける構造パターン
 Negative Constraints
 Negativeラベルをつける構造パターン
トラッキングの例
6
 軌跡に近いパッチをPositiveサンプル、遠いパッチを
Negativeサンプルとする
ラベルなしサンプルの活用例
7
 半教師有学習
 EMアルゴリズム
 self-learning
 co-training
P-N Learningの流れ
8
ラベル有サンプルから
最初の識別器を学習
P-N Learningの流れ
9
ラベル無しサンプル
を識別
ラベル無し
サンプル
P-N Learningの流れ
10
ラベル有り
サンプル
制約を用いてラ
ベルを付け直し
ラベル有りサン
プルを拡張
P-N Learningの流れ
11
識別器を再
トレーニング
P-N Learningの流れ
12
ラベル無しサンプル
を識別
以下、繰り返し
動画からの物体検出器の学習
13
第1フレームの
追跡対象から
生成
Randomized
fern
追跡対象近くが正例
遠くが負例
入力フレームから
Sliding Windowで生成
fern
14
各ノードは2bitパターン
𝑃𝑟(𝑦 = 1|𝒙)
𝒙 =
2
1
1
特徴ベクトル
識別結果
Randomized fern
15
 様々なサイズのウィンドウで画像内を探索
 複数のfernの識別結果の平均が50%以上なら追跡対象
(正例)
Structural Constraints
16
Lucas-Kanade Trackerで追跡
Structural Constraints
17
識別器で物体と判定された近くのパッチを正例サンプルに追加
Structural Constraints
18
識別器で背景と判定された軌跡周辺のパッチを負例サンプル
に追加
動画から学習の流れ
19
 最初の識別器は第1フレームにラベルづけされた対象領
域をランダムにアフィン変換した300枚の正例を用いて学
習。
 第1フレームにラベルづけされた対象領域をLKトラッカー
で追跡。
 LKトラッカーが追跡に失敗したり、軌跡よりも遠い位置に
識別器が物体を検出した場合
 学習サンプルを全て破棄
 学習済み識別器を用いてLKトラッカーを再初期化
 最後のフレームまで学習された識別器=Final Detector
収束条件
20
識別器でラベル無しデータにラベルをつけたら、
当然間違えるものも出てくるよね?発散しな
い?
どのようなケースでP-N Learningが収束するの
かを理論的に検証
収束条件
21
False Positive数
False Negative数
𝛼 𝑘 + 1 = 𝛼 𝑘 − 𝑛 𝑐
−
𝑘 + 𝑛 𝑓
+
𝑘
𝑘: 学習回数
𝛽 𝑘 + 1 = 𝛽 𝑘 − 𝑛 𝑐
+
𝑘 + 𝑛 𝑓
−
𝑘
False Positive
を正しく負例と
変換した数
True Negative
を誤って正例
と変換した数
False Negative
を正しく正例と
変換した数
True Positive
を誤って負例
と変換した数
(1a)
(1b)
収束条件
22
P-Precision
𝑃+ =
𝑛 𝑐
+
𝑛 𝑐
+
+ 𝑛 𝑓
+
𝑃− =
𝑛 𝑐
−
𝑛 𝑐
−
+ 𝑛 𝑓
−
𝑅+ =
𝑛 𝑐
+
𝛽 𝑘
𝑅−
=
𝑛 𝑐
−
𝛼 𝑘
P-Recall
N-Precision N-Recall
False Positive
を正しく負例と
変換した数
True Negative
を誤って正例と
変換した数
False Negative
を正しく正例と
変換した数
True Positive
を誤って負例
と変換した数
False Negative数
False Positive数
これらを前の式(1a),(1b)へ代入
収束条件
23
𝛼 𝑘 + 1
𝛽 𝑘 + 1
=
1 − 𝑅−
1 − 𝑃+
𝑃+
𝑅+
1 − 𝑃−
𝑃−
𝑅− 1 − 𝑅+
𝛼 𝑘
𝛽 𝑘
(2)
固有値が1より小さいとき収束する
𝛼 𝑘 + 1 = 𝛼 𝑘 − 𝑛 𝑐
−
𝑘 + 𝑛 𝑓
+
𝑘
𝛽 𝑘 + 1 = 𝛽 𝑘 − 𝑛 𝑐
+
𝑘 + 𝑛 𝑓
−
𝑘
(1a)
(1b)
収束条件
24
 固有値ごとのエラー収束の様子
(1a)
(1b)
実験
25
 P-N Learningの学習に使用するサンプルのラベルを操
作して、𝑃+
, 𝑅+
, 𝑃−
, 𝑅−
を任意変化させることで、性能評
価を行った
𝑃+
= 𝑅+
= 𝑃−
= 𝑅−
= 1 − 𝜖
0から0.9の間で変化させる
(0.5より小さいと収束)
実験で使用した動画
実験
26
 𝜖を変化させたときのF値
実験
27
 𝜖 = 0の時
実験
28
 以下の10個の動画に対して実験
 カメラの動きやモーションブラーあり
実験
29
 1-6の動画に対して既存手法との比較
27フレームでLKトラッカーが追跡失敗し、
識別器も学習サンプルが不十分
実験
30
 10個の動画の評価結果
結論
31
 P-N Learningというラベル有り及びラベル無しの学習サ
ンプルを用いて識別器を学習させる新しいフレームワー
クを提案
 ラベル無しサンプルが構造的な場合に適用可能
 収束条件を明確にした
 動画に対して適用し、最初の1フレームのラベルからオン
ラインで物体検出器を学習
 時空間の制約を使用
 20fpsで学習
 state-of-the-artの追跡性能

Pn learning takmin