Top Banner
2013/5/29 1 コンピュータビジョン特論 Advanced Computer Vision 6SIFTアプローチの高速化 SURF(Speeded Up Robust Features) 処理の流れ 1. キーポイント検出子 キーポイント(特徴点)の検出 スケール探索 2. 記述子 オリエンテーション 特徴量の記述 SURFのキーポイント検出子処理の流れ 1.近似ヘッセ行列の算出 Box filterによる近似 Integral Imageによる高速化 2.スケールスペースの構築 3.極値探索によるキーポイント検出 入力画像 キーポイント 極値探索 近似ヘッセ行列の算出 box filter integral image scale: σ スケールスペースの構築 scale σの変更 2次微分の集合 Labはガウシアンの各方向の2次微分を画像I(x)畳み込んだ応答値 ヘッセ行列 Lyy Lxx Lxy エッジの種類 (a) xy方向の両方の輝度差が大きい (b) xy方向の両方の輝度差が大きいが極性が違う (c) xy方向の片方が輝度差が大きい 判別式 エッジの種類と判別式 ガウシアンの2次微分は計算コストが高いため判別に時間が掛かる (a) (b) (c) Box filterによる判別式を近似 近似判別式 0.9:近似誤差修正 Lyy Lxx Lxy Dxx Dyy Dxy 近似
13

SIFTアプローチの高速化 コンピュータビジョン特論 …wuhy/CV06.pdfSIFT GLOH PCA-SIFT 正解率 83.8 82.6 85.7 78.1 78.3 72.3 対応点マッチングの正解率[%]

Jun 03, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SIFTアプローチの高速化 コンピュータビジョン特論 …wuhy/CV06.pdfSIFT GLOH PCA-SIFT 正解率 83.8 82.6 85.7 78.1 78.3 72.3 対応点マッチングの正解率[%]

2013/5/29

1

コンピュータビジョン特論Advanced Computer Vision

第6回

SIFTアプローチの高速化

SURF(Speeded Up Robust Features)処理の流れ

1. キーポイント検出子

– キーポイント(特徴点)の検出

– スケール探索

2. 記述子

– オリエンテーション

– 特徴量の記述

SURFのキーポイント検出子処理の流れ

1.近似ヘッセ行列の算出

• Box filterによる近似

• Integral Imageによる高速化

2.スケールスペースの構築

3.極値探索によるキーポイント検出入力画像 キーポイント極値探索近似ヘッセ行列の算出

•box filter•integral image•scale: σ

スケールスペースの構築

•scale σの変更

2次微分の集合

Labはガウシアンの各方向の2次微分を画像I(x)に畳み込んだ応答値

ヘッセ行列

LyyLxx Lxy

エッジの種類

(a) xy方向の両方の輝度差が大きい

(b) xy方向の両方の輝度差が大きいが極性が違う

(c) xy方向の片方が輝度差が大きい

判別式

エッジの種類と判別式

ガウシアンの2次微分は計算コストが高いため判別に時間が掛かる

(a) (b) (c)

Box filterによる判別式を近似

近似判別式

0.9倍:近似誤差修正

LyyLxx Lxy

Dxx Dyy Dxy

近似

Page 2: SIFTアプローチの高速化 コンピュータビジョン特論 …wuhy/CV06.pdfSIFT GLOH PCA-SIFT 正解率 83.8 82.6 85.7 78.1 78.3 72.3 対応点マッチングの正解率[%]

2013/5/29

2

矩形領域の輝度値の和を高速に算出可能

利点

• 領域の数が多い場合

• 領域が重なり合う場合O

Integral Image

A

B

C

D

S

S = -B-C+DA

σを増加し,複数の近似ヘッセ行列を作成

• スケールσ : 1.2, 2.0, 2.8, 3.6

• フィルタサイズ : 9 x 9, 15 x 15, 21 x 21, 27 x 27

スケールスペース

Sca

le

Sca

le

極値探索

キーポイント検出例

26近傍で極値ならキーポイント

Sca

le

SURF(Speeded Up Robust Features)

1. SURFのキーポイント検出子2. SURFの記述子

オリエンテーションの算出 6sの領域からオリエンテーションを算出

4sのHaar-Waveletを用いて勾配方向と強度を算出

• オリエンテーション算出領域内をラスタ操作

• x方向とy方向の応答(dx, dy)から勾配方向と強度を算出

4s

4s

x

y

6s

6s

●勾配方向の分解能は60度

– 6方向のヒストグラムを作成

●勾配強度の和が最も大きい角度→ オリエンテーション

1.記述範囲として20sの領域を選択

2.記述範囲をオリエンテーション方向に回転

3.領域を4×4(=16)ブロックに分割

方向の正規化

20s

20s

Page 3: SIFTアプローチの高速化 コンピュータビジョン特論 …wuhy/CV06.pdfSIFT GLOH PCA-SIFT 正解率 83.8 82.6 85.7 78.1 78.3 72.3 対応点マッチングの正解率[%]

2013/5/29

3

特徴ベクトル算出分割した同じサイズのHaar-Waveletを作成

• 応答値よりΣdx,Σdy,Σ|dx|,Σ|dy|を算出→ 16分割×4次元=64次元

濃淡変化を表現するヒストグラムを求められる→4Dベクトル

速度とマッチングの比較

Detector しきい値 特徴点数 処理時間

Fast-Hessian(SURF)Hessian-LaplaceHarris-Laplace

DoG(SIFT)

60010002500

default

1418197916641520

1206501800400

Detectorの処理時間 [ms]

速度とマッチングの比較

U-SURF SURF SURF-128 SIFT

255 354 391 1036

Descriptorの処理時間 [ms]

U-SURF SURFSURF-

128SIFT GLOH

PCA-SIFT

正解率 83.8 82.6 85.7 78.1 78.3 72.3

対応点マッチングの正解率 [%]

普通:SURFの方が早いが、SIFTの方は精度が高い

まとめ:SURF

SIFTより精度がちょっと低い

以下の特徴があるので、高速マッチングが可能

• Integral Imageの利用

• Hessian行列算出にbox filtersの利用

Tracking/SFM

画像特徴(点、直線、領域)の検出と識別-3

Hough変換投票と多数決原理に基づく幾何学的対象の検出と識別

参考書: 松山隆司、久野義徳、井宮 淳、コンピュータビジョン ー技術評論と将来展望ー新技術コミュニケーションズ

酒井幸市デジタル画像処理入門コロナ

Page 4: SIFTアプローチの高速化 コンピュータビジョン特論 …wuhy/CV06.pdfSIFT GLOH PCA-SIFT 正解率 83.8 82.6 85.7 78.1 78.3 72.3 対応点マッチングの正解率[%]

2013/5/29

4

(エッジ点)

例えば:

欠落のある情報

投票

図形検出

多数決

結果として

何の図形?

投票と多数決原理に基づく図形の検出・識別法

Hough変換(P.V.C.Hough、1962):2値画像から、直線の検出(米国特許が取られている)

Hough変換(R.O.Duda and P.E.Hart、1972):2値画像から、円、楕円の検出

一般化Hough変換(D.H.Ballard、1981):2値画像から、平行移動、回転、ズームなどの変換を受けた任意形状の図形の検出

Geometric Hashing(Y.Lamdan et al.、1988):2値画像から、予め与えた複数の図形集合の検出・識別

画像空間 パラメータ空間

(Xi, Yi)

(Xn, Yn)

(X1, Y1)

(A,B)

①②

y

x

b

a

パラメータ(a-b)空間の問題点

・入力画像から抽出された図形のxi, yiから、パラメータa, bを決定すればよいが、

傾きが垂直に近くなると、aの絶対値が無限大に近く(bもその可能性がある→考えること:どんな場合?)

y = ax + b

・ハフ変換では、a-bパラメータ平面上の各点の累積度数を格納するために、2次元配列E[a][b]が用いられる

このままでは大きなメモリ容量を必要とするため

→ コンピュータ処理には不都合

Page 5: SIFTアプローチの高速化 コンピュータビジョン特論 …wuhy/CV06.pdfSIFT GLOH PCA-SIFT 正解率 83.8 82.6 85.7 78.1 78.3 72.3 対応点マッチングの正解率[%]

2013/5/29

5

直線の方程式: y = ax + b

= xcos + ysin:原点から直線に垂線を引いたときの長さ :x軸とのなす角;範囲は0 ≦

垂線がy < 0の領域にあるときは< 0

o

空間

一本の直線に対し、が唯一に決まる

ある1点(x, y)を通る直線群は無限に存在→ が無数

xcos ysin を用いて計算すれば、直線上の1点(Xi, Yi)に対するパラメータ空間の一本の曲線が求まる

直線上の点1と点2に対する二本の曲線が求まる

曲線はある点( 0)で交差この( 0)が点1,点2を共通に通る直線を表す

( 0, 0)

空間のメリット

xcos ysinでは、角度は有界で、

画像の大きさが有限であるため、も有界となる

ほとんどの直線検出用ハフ変換ではパラメータ空間が用いられている

Hough変換の処理の流れ

1. 初期化:パラメータ空間を「セル」と呼ばれる要素に分解、全てのセルの投票度数を0にリセット

2. 投票:各特徴点について軌跡を計算、軌跡が通過するセルの度数をプラス1

3. ピーク検出:全ての特徴点からの投票を終了した後、投票度数が閾値以上の極大値を持つセルを抽出

4. 検証:真のピークかどうかをチェック

Page 6: SIFTアプローチの高速化 コンピュータビジョン特論 …wuhy/CV06.pdfSIFT GLOH PCA-SIFT 正解率 83.8 82.6 85.7 78.1 78.3 72.3 対応点マッチングの正解率[%]

2013/5/29

6

tokens VotesHorizontal axis is θ, vertical is .

投票数を濃度で表す

入力画像(一直線)ピークが一点だけ

tokens votes

投票数を濃度で表す

入力画像(ノイズある直線)

ピークがある点付近に複数あり

投票数を濃度で表す

tokens votes

入力画像(ランダムの点)

閾値以上のピークがない

Real World Example

Original Edge Detection Found Lines

Parameter Space複数個ピークがあり→複数本の直線を抽出

入力画像(研究例) ハフ変換で抽出された黄色両側の直線

全体として、安定な結果が得られた

Page 7: SIFTアプローチの高速化 コンピュータビジョン特論 …wuhy/CV06.pdfSIFT GLOH PCA-SIFT 正解率 83.8 82.6 85.7 78.1 78.3 72.3 対応点マッチングの正解率[%]

2013/5/29

7

3次元Hough変換より眼鏡の抽出

2次元空間内の直線 3次元空間内の平面

眼鏡の平均的な形状

フレーム部分

• 同一平面への近似

• 対称性あり

3眼ステレオ画像

– 3眼ステレオカメラ

– 濃淡画像

– VGAサイズ

640*480画素

– 同期している

– キャリブレーション済み

–R, Tが既知→3Dデータ

得られた3次元データ例

黄色点:3Dデータ赤色線:3D直線と楕円

3次元Hough変換(1)

),,( bbb zyx

cossinsincossin zyx 3次元空間内の平面P

cossinsincossin bbb zyx 点Bを通す曲平面

(1)

(2)

3次元Hough空間

3次元Hough変換(2)

1

1

1

1

1

1N,1,2,nmax

90

nnn

maxnnn

,,freq

.Freq,,freq

ノイズある平面

眼鏡が除去された結果例

Page 8: SIFTアプローチの高速化 コンピュータビジョン特論 …wuhy/CV06.pdfSIFT GLOH PCA-SIFT 正解率 83.8 82.6 85.7 78.1 78.3 72.3 対応点マッチングの正解率[%]

2013/5/29

8

眼鏡の抽出→頭部の姿勢推定 The Hough transform The Hough transform

ρ=xcosθ + ysinθ

edge detection

image segmentation

simple algorithm

noise tolerance

unable to detect the exact positionof the line pixels

high memory reuqirements -high computational cost

問題点

特長

応用

Hough変換の曲線への応用

◎今まで説明したHough変換は直線を検出できる

◎一組のパラメータで式で表現できる形状ならば、類似の変換法を適用し、幾何形状を検出できる◎例えば、 (平面上の)・円は中心(x0,y0)と半径rを表す三つのパラメータに変換できるので、3次元Hough空間を用いることになる・楕円も中心(x0,y0)、長軸a、短軸b、傾きを表す5つのパラメータで表現できるので、5次元Hough空間を用いることになる。

更に複雑な図形には一般化Hough変換が用いられる。

Hough変換:円検出(半径既知)

円の方程式: 222 )()( rbyax ii 半径が既知(r固定)の場合: 2次元(円の中心)Hough空間に投票

),( baA

sin;cos rybrxa ii  パラメータ式:

a

b

Hough変換:円検出(半径未知)

求める円周上にある(はずの)一点 (Xi, Yi)について、それを通る無限に多くの円を考える。 例えば:赤、緑、青の円の中心座標、半径をパラメータとして、3次元Hough空間(CenterX,CenterY,r)内にプロットすると、一つの曲面が形成される(「投票」)。

半径が未知の場合

sin;cos ryCenterYrxCenterX ii  パラメータ式:

( Xi, Yi )

Hough変換:円検出(半径未知)

頭の抽出例

2次元Hough空間(a, b)内で、半径を変化しながら投票

ii yxab tantan

パラメータ式:

もう一つのアルゴリズム:

Page 9: SIFTアプローチの高速化 コンピュータビジョン特論 …wuhy/CV06.pdfSIFT GLOH PCA-SIFT 正解率 83.8 82.6 85.7 78.1 78.3 72.3 対応点マッチングの正解率[%]

2013/5/29

9

曲線フィット1

双曲線

放物線

楕円

一般的な2次曲線

直線

曲線フィット2

空間内で式と図を使って、直線を検出するHoughの基本原理と処理の流れを記入してください。

学籍番号と名前、今日の日付を記入してください。

出席チェック6●廊下を撮影した画像2値化して、その画像に対して

-Hough変換を行うことによって、消失点の位置をもとめてください。

●消失点(Vanishing point):空間中の平行線は画像面上では一点(消失点)で交わる。

レポート3

u0 u1

u2

ニュートン(I.Newton)が音速実験を行った回廊ーケンブリッジ大学内ー

2004年5月ECCV

レポート3の提出要求:1)廊下の画像を一枚選んで、原画像と処理した結果画像を提出してください。

注1:エッジ検出や、2値化処理などはプログラムを作るか、OpenCVの関数を利用するかどっちでもOKです。

注2:標準的ハフ変換による線の検出例:cvHoughLines2 (src_img_gray, storage,

CV_HOUGH_STANDARD, 1, CV_PI / 180, 50, 0, 0);

2)プログラムも提出してください。(説明を含む)

提出期限:3週間以内(講義時間 or 私の居室A612)

Page 10: SIFTアプローチの高速化 コンピュータビジョン特論 …wuhy/CV06.pdfSIFT GLOH PCA-SIFT 正解率 83.8 82.6 85.7 78.1 78.3 72.3 対応点マッチングの正解率[%]

2013/5/29

10

Hough変換と一般化Hough変換における投票空間

形状とポーズ一緒に投票

形状が固定

座標変換パラメータ投票と多数決

Hough変換 一般化Hough変換

CorrelationFor each translation, compute the correlation between the target and the translated query:

Generalized Hough Transform

dxxTgxfgTf )()()(,

CorrelationFor each translation, compute the correlation between the target and the translated query:

Generalized Hough Transform

dxxTgxfgTf )()()(,

一般的に形状モデルは関数で表現できない

(4次元)

xi(Xi, Yi)

基準点

Page 11: SIFTアプローチの高速化 コンピュータビジョン特論 …wuhy/CV06.pdfSIFT GLOH PCA-SIFT 正解率 83.8 82.6 85.7 78.1 78.3 72.3 対応点マッチングの正解率[%]

2013/5/29

11

一般化Hough変換の投票方法

1.画像上の特徴点(Xj,Yj)と、勾配方向jを求める

2. 回転角、拡大率sのパラメータ空間中の全ての

s)の組合せに対して、 j-に対応するRテー

ブル中のエントリから、平行移動ベクトル(u, v)を以下の式によって求め、投票を行う

))(sin()(

))(cos()(

jjj

jjj

srYv

srXu

ポーズが固定(位置・大きさ・回転の正規化より)

形状に投票/多数決

Geometric Hashing

Compute invariants

不変特徴を計算

Hash-table

List of objects

Verify

Hash Table中の対応要素に

“モデル、記述に用いた基底”の組を登録

Feature Extraction Basis Geometric Hashing

Wolfson and Rigoutsos, Geometric Hashing, an Overview, 1997

拡大縮小 回転

平行移動

点4と点1から生成された基底に基づいて、Hash Tableにモデルを登録するイメージ

Page 12: SIFTアプローチの高速化 コンピュータビジョン特論 …wuhy/CV06.pdfSIFT GLOH PCA-SIFT 正解率 83.8 82.6 85.7 78.1 78.3 72.3 対応点マッチングの正解率[%]

2013/5/29

12

う性質を持っている

変化しないといの座標変換を受けても

大などが平行移動や回転、拡集合

はもとの点が得られる。この

不変特徴の集合ことにより、図に示す

座標値を求めるで表された各特徴点の

する。この基底となる直交基底を生成

 

点から、する。これらの

を選択点から、

れたモデルN個の点によって表さ

}{

)},{(

)}(),({()},{(

),(),,(

2

2),,{

2

21

i

ikijikij

ij

ij

ijij

jiN

P

PPYPPX

YPP

PPX

P,PPPP

ff

ff

ijijijij

yx

yx

xyyx

M

モデルの登録

点i,jを基底とする場合

点j,kを基底とする場合

Basis Geometric Hashing

Wolfson and Rigoutsos, Geometric Hashing, an Overview, 1997

全ての2点の組合せから生成される基底に対してそれぞれ不変特徴を求め、それらを全てHash Tableに登録しておく

Wolfson and Rigoutsos, Geometric Hashing, an Overview, 1997

Basis Geometric Hashing

Wolfson and Rigoutsos, Geometric Hashing, an Overview, 1997

モデルの多重記述により、モデルと相似な図形が与えられたとき、この図形に含まれる任意の2点から求められる不変特徴とHash Table上に記録された(モデル、基底)の組のどれかが一致することが保証

4 1

5 2

3

Recognition of Objects

投票数

道路 車 家 トラ 草原 ・・・

(4,1) (1,4)(3,2)

•Find Features•Select Basis•Parameterize Features•Do hash table lookup•Histogram number of matches per model

Recognition of Objects

Verification

確認

Least Square Transform Recovery(find the rotation, and translation of the basis)

Page 13: SIFTアプローチの高速化 コンピュータビジョン特論 …wuhy/CV06.pdfSIFT GLOH PCA-SIFT 正解率 83.8 82.6 85.7 78.1 78.3 72.3 対応点マッチングの正解率[%]

2013/5/29

13

Geometric Hashingの投票と識別1

1.Hash Tableの各要素に対する投票数を0にする2.画像からまだ選択されていない任意の2点を選択

し、基底を求める

3.この基底に対して画像上の全ての点の不変特徴を計算し、対応するHash Table中の要素の投票度数を各々1増加させる

4.投票終了後、(モデル、基底)の組ごとに投票度数を集計し、予め与えた閾値を越えるものがあるかどうかを調べる。閾値を越えた投票が得られたものがなければ、1.の処理に戻る

Geometric Hashingの投票と識別2

5.高い投票が得られた(モデル、基底)組の基底と、

画像から求められた基底を対応付ける座標変換を求める

6.求められた変換を用いてモデルを画像上に写像し、

モデルにマッチする特徴点が十分存在することを確認する。特徴点が十分存在すれば終了し、そうでなければ1.の処理に戻る

画像中に存在する複数の対象を識別、検出する場合には、モデルにマッチする特徴点集合を取り除きながら、上記の手続きを繰り返し行う

Geometric Hashingの意味

1. Hash Tableに登録された形状モデルは、不変特

徴によって記述された形状の「テンプレート」と見なすことができる

2. Geometric Hashingにおいて、“ポーズを固定す

る”ということは、画像から不変特徴を求める際に1つの基底を用いることを意味

対象とするモデルの全てに関して同様に記述を行っておくことにより、複数のモデルを同時に扱うことが可能となる