CV輪講

 輪講
西村
孝
年 月 日
はじめに
近年,物体認識や,特徴点追跡,マッチングにおいて, が良く用いられている. は,画像の回転やスケール変化等に不変であるため,それら要素に適している.しかし,処理
コストが高いことが問題となっており, を用いるアプリケーションではリアルタイム処
理が難しい課題となっている.今回調査する は,メモリー使用量削減と高速化を同時に行っており,携帯電話で実装が可能となっ
ている.
携帯電話上のリアルタイムの特徴トラッキングを行うため つの技術を用いる.それは, と である. は画像変化に強いが,計算コストが高い, は,分類は速いが,大
量のメモリを必要とする.この両方のアプローチは携帯電話に適さない.そのため携帯電話上
に実装するための手法を示す.
対応点マッチング
スケールに不変なトラッキング
記述子は,回転やスケール変化に不変ではないため, 検出時に回転やスケール
のパラメータを求めている. は,異なるスケールでガウスのフィルタを
適応し, の差を計算している.これは,! オペレーターの近似である." は,スケールスペース極値を探索することにより決定する.# $ 探索とガウシアンフィル
タは,計算コストが非常に高い.回転の不変性は, のまわりの勾配オリエンテーショ
ンおよび強度を計算しオリエンテーションのヒストグラムを作成して,ヒストグラム中のピー
クを探索することで得られる.
!%& ' ( )*+ **,
図 - 領域分割
特徴量は,オリエンテーション算出と同じように再び勾配に基づく.領域をサブ領域に分割 .図
を参照/ し,重みは,パッチ .図 の中の大規模な円によって示された/ の中心からの距離に
よって勾配に加えられる.特徴量の長さは,サブ領域 .通常 )$) あるいは 0$0/ の上でオリエン
テーション .通常 0 あるいは 1/ の量子化に依存する. は 1 つのオリエンテーションおよ
び 0$0 サブ領域を使用している.それは精度が一番良いためである.
対応点マッチングを携帯電話で実現
下記では,携帯電話にふさわしくした と のアプローチについて示す.
図 - 処理手順
!%& ' ( )*+ **,
)
の修正
下記では,携帯電話上のリアルタイム実行を実現するために, アルゴリズムを修正した
かを示す.モデル画像は,予め特徴量を求めておく必要がある.
特徴点
アルゴリズムは,特徴点を検知するだけでなくスケールを評価する.スケールスペース探
索を行なうために
の違い . / を使用している.しかし,携帯電話上のリアルタイ
ム実行に向かないため, を,% 2 に置き換える.このままでは,スケー
ル変化の不変性がなくなるため,すべてのスケールから特徴量を算出し記録している.従って,
速度とメモリを交換し, 34 に負荷を与えるスケールスペース探索を回避することができる.
調節することができる % 2 のしきい値を変えることによって, の数を
変える事ができる. つのモデル当たり 5* 個程度の特徴が精度と処理速度の間のよいバラン
スであると判明している.
図 )- コーナ検出
% 2 は,しきい値 と候補ピクセル の強度より明るい円上の接触するピク
セルが存在するならコーナ点として検出する .図 )/.円の大きさは定義されている.高速化の
ため図 ) 中の ,5,, および ).0 つの方位/ で 0 つのピクセルだけを検査する. がそのとき
角である場合,少なくともこれらの ) つはすべて 6 より明るいか,あるいは より暗
く,どちらでもない場合, はコーナ点ではない.以上のように,候補ピクセル と円上の 0
つのピクセルの 5 ピクセルを検査することでコーナ点を検出している.
トラッキング
特徴点は,次フレームにすべてのアウトライアテストに合格した特徴点を用いるので,追跡精
度は改善される.良い特徴点は,すべてのテストに合格して,前のフレームで最終的に姿勢評
価に貢献する. 悪い特徴点は,マッチングすることができなかったか,アウトライアとして検
出されなかった特徴点である. この情報を次フレームに送ることで,不要な特徴点を削除する
ことで処理コストを削減できる.特徴点を追跡するために, )$) のガウスを使用して平滑化し
た 1$1 ピクセルのサイズのパッチを抽出する.平滑化することで,特徴をアフィン変換および
!%& ' ( )*+ **,
0
少々の位置ズレが生じた特徴座標に対してもより頑健にする.パッチの類似度は % により
評価される.計算速度を削減するために,追跡は半径 5 ピクセルの範囲である.
記述子
記述子は 1 次元(0$0 領域から 1 つの勾配方向)である.計算コストとメモリの削減
のため,)$) 領域から 0 つの勾配方向 .)7 次元/ を使用する.キーポイント検出でスケールを
図 0-
の特徴抽出
探索していないため,特徴量を記述する範囲は常に 5 ピクセル .5 ピクセルごとの ) つの領域
.図 // である.)$) のガウスにより平滑化を行う .図 0 を参照/.オリエンテーションは,通常
の と同様に,最初にパッチの勾配からオリエンテーションを評価する.作成されるヒス
トグラムからピークを探索し, ) つを超えるピークが見つかる場合,特徴点は削除する.算出
されたオリエンテーションの方向にサブピクセル精度を使用して回転する.回転したパッチか
ら特徴量を記述する.
マッチング
新しいイメージ .前フレームから追跡されているのを除いて/ に検知されたすべての特徴点を記
述して記憶しておく.各フレームで 5*〜** 程度の特徴点が算出され,記憶された 5*** 程度
の特徴点と比較する必要がある.特徴が )7 次元であるため, 1** 万個の特徴量を比較するこ
とになる.それはメモリと計算上の制約によりリアルタイムが困難となる.そこで,マッチン
!%& ' ( )*+ **,
5
グに を利用する.モデル画像から作成した )7 次元の空間に特徴点を入力し,近いク
ラスの特徴点のみを比較することで,探索範囲を削減している.
アウトライア
アウトライア判定にはオリエンテーションを使用する.追跡点は,同様なオリエンテーション
を持つことが多いためオリエンテーションが大きく異なる追跡点をアウトライアとする.この
ステップは非常に高速である.
ターゲットデータ取得
このアプローチは,モデルベースのアプローチを使用して,あらかじめ準備する特徴データベー
スを必要とする. データ取得は,画像ピラミッドを作成する必要がある. 画像ピラミッドは縮
小によって前の大きさから 倍で作成される.最も大きいスケールから最も小さいスケー
ルまでの範囲は定義される.画像ピラミッドが作成された後,すべてのスケールで特徴点を検
出する. 最も安定した特徴点に制限するために, つの連続したスケールで検出される特徴点
を利用する. 一方,) つ以上のオリエンテーションがある特徴点は削除される. そして,すべ
ての特徴座標と特徴量を保存する.
の修正
追跡するための特徴分類は,モデルイメージ中のポイント をモデル化するのに対応する セットのクラス 3 のある特徴 の分配の学習によりモデル化して計算される.そして,ポイン
トは,特徴値 を確率を最大にすることによって分類する.
8
$ . /
./
図 5 に示すように決定木が構築される.
図 5- の決定木
ポイント のイメージ強度 ./ を比較するために, ペアの . / によってパラメータ化され
た関数 ./.
./
8
*
. 6 /
.
6 /
./
!%& ' ( )*+ **,
一連の
7
がクラス を観察する確率 はベイズの定理を用いて計算することができる.
. / 8 .
/
. / . /.
.)/
分母はスケーリング定数のみである.また,先の . / は一定であると仮定される.確率 . /
は,同じモデルポイントおよび対応するクラス 3 の様々な例のための の発生を数えることに
より,トレーニング過程の中で学習される.学習画像は,スケール,回転およびアフィン変換
図 7- 学習
, . /.図 7 を参照/ の経験的
の変化により作成される.½ を計算する異なる結果,¾ ,
な分配について記述する サイズのヒストグラムの中で数えられる.実用的な数の に関し
ては,表すことができないくらい大きい. 代わりに,それは完全な分配が格納される と
呼ばれる特徴の部分集合によって近似されている. 固定 サイズ において, 8 は作成される. 次に . / が近似されている確率
. / 8
. /.
.0/
実際上,確率の値を記録し,最後の方程式の確率の結果は合計と取り替えらる.学習された 図 9- 木の表現
つのキーポイントから図 9 に示すように探索木が構築される.木の段数は ) 段で木の葉の葉の
!%& ' ( )*+ **,
9
図 1- マッチング
位置データは バイトで頻度の値も バイトのデータ *〜55 となる.図 9 に示すように,注
目する 点の位置を変更した複数の探索木を構築し複数の葉を算出する.
マッチングには,図 1 に示すように,未知な入力データを全ての探索木に通して出力値を算出
する.学習で得たキーポイント(例)%〜3)の葉の値から,未知の入力で得た出力値のビット
列の値を取り出し,全ての葉の値を掛け合わせる.こうすることで,% をとる形になり,葉
の値の一番小さな値を取り出すことができる.全てのキーポイントで同様に行い,未知のデー
タのビット列から一番確立の大きな(ヒストグラムの大きい)キーポイントを抽出する.階層
が深くなるとノードの数も増加する.ノードの数とメモリーの関係を図 , に示す.7 ノードは
図 ,- 階層の深さとメモリーの増加
バイトのデータとして取り扱え 9 ノード〜 ノードは バイトのデータとなる. 7 ノードが
メモリー使用の効率がよいため 7 ノードを採用している.
!%& ' ( )*+ **,
1
評価実験
実験に用いる入力画像を図 * に示す.下記に実験に用いる装置を示す.
図 *- 実験データ( : + 2: + : + 2 + +
+ ;)
<
= 3
= %? 70 <
,5 <
?, <
.'2< >/
70= >
>%9*.'2< /
))*= @% 0* . /
))*= @% 0*.'2< /
モトローラ ?,.'2< ,ノキア ,5 の両方 . / は同じ 34 であるため,同
様のベンチマークの結果であると言える;.コードは整数か固定小数点を用いるようにしている
が,さらに .固定小数点式のコードをすべて浮動小数点式の変形に取り替えて/ ハードウェア浮
動小数点で ,5.@% 0* 34 かはハードウェア浮動小数点ユニットをを持つ/ をベンチ
34 を
マークのテストをする.%? 70 .'2< / は,70= を搭載した >
用いる.これは他の電話より処理能力が上であるといえる.参考のために, = の 3 を搭載したノート上でテストする.コードが電話用に最適化されているため,34 は コアの
み使用する. 図 ,図 は,携帯電話上での処理速度を示す.3 での実験では約 5〜* 倍
高速化した.携帯電話での平均処理速度は, 5 である.
図 - = による 3 の全 9 つのデータセットの実験結果
!%& ' ( )*+ **,
,
図 - 処理時間の比較
おわりに
の論文を調査した.
参考文献
:2 ;!< + A : B: C+ ;( 3 D +D;7*+ ;+ ;,B*+ **0.
' + A
%FG*1+ **1
C+ ; EEE
) D; ! 2 ; + A" F F 2 2 C+ EEE B
% 2 + D;1+ ;,+ ;075B09,+ **7;