-33 Hough 変換 - Wakayama...

45
画像特徴(点、直線、領域)の検出と識別-3 画像特徴(点、直線、領域)の検出と識別 3 Hough変換 Hough変換 投票と多数決原理に基づく幾何学的対象の検出と識別 呉海元 和歌山大学 呉海元和歌山大学 2010524参考書: 参考書: 松山隆司、久野義徳、井宮 松山隆司、久野義徳、井宮 淳、 淳、 ンピ タビジ ン ンピ タビジ ン 技術評論と将来展望 技術評論と将来展望 ンピュータビジンピュータビジ技術評論と将来展望技術評論と将来展望新技術コミュニケーションズ 新技術コミュニケーションズ 酒井幸市 酒井幸市 デジタル画像処理入門 デジタル画像処理入門 コロナ コロナ

Transcript of -33 Hough 変換 - Wakayama...

Page 1: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

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

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

呉海元 和歌山大学呉海元@和歌山大学2010年5月24日

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

新技術コミュニケーションズ新技術コミュニケーションズ

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

Page 2: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

The Hough transformThe Hough transform The Hough transformThe Hough transform

ρ=xcosθ + ysinθ

edge detection

応用

image segmentation

特長

simple algorithm noise tolerance

特長

unable to detect the exact position問題点

unable to detect the exact positionof the line pixels

high memory reuqirements -hi h i lhigh computational cost

Page 3: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

Hough変換の曲線への応用Hough変換の曲線 の応用

今まで説明したHough変換は直線を検出するためにし今まで説明したHough変換は直線を検出するためにし

か役立たないが、一組のパラメータで表現しうる形状については全て 類似の変換法が応用できるについては全て、類似の変換法が応用できる。例えば、 (平面上の)・円は中心(x0 y0)と半径rを表す三つのパラメ タに変・円は中心(x0,y0)と半径rを表す三つのパラメータに変換できるので、3次元Hough空間を用いることになる。・楕円も中心(x0 y0) 長軸a 短軸b 傾きを表す5つ・楕円も中心(x0,y0)、長軸a、短軸b、傾きを表す5つのパラメータで表現できるので、5次元Hough空間を用いることになる用いることになる。

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

Page 4: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

Hough変換:円検出(半径既知)Hough変換:円検出(半径既知)円の方程式: 222 )()( rbyax 円の方程式: )()( rbyax ii

半径が既知(固定)の場合: 2次元Hough空間に投票 ),( baA半径が既知(固定)の場合: 2次元Hough空間に投票 ),(

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

bb

a

Page 5: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

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

半径が未知の場合

求める円周上にある(はずの)一点 Xi, Yiについて、それを通る無

限に多くの円を考えることができる。それらの円の中心座標、半径をパラメータとして、3次元Hough空間(CenterX,CenterY,r)内にプロットすると、一つの曲面が形成される(「投票」)。

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

Page 6: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

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

もう ゴリズム

2次元Hough空間(a b)内で

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

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

yxab tantanパラメータ式:

ii yxab tantan

頭の抽出例

Page 7: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

曲線フィット1

直線線

楕円

双曲線

放物線

一般的な2次曲線

Page 8: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

曲線フィット2曲線フィット2

Page 9: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

出席チェック6-1出席チェック6-1

直線を検出するHoughの基本原理と処理の流れを記入してください。

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

Page 10: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

レポート3●廊下を撮影した画像2値化して、その画像に対して

H h変換を行う とによ て 消失点の位置をも

レポ ト3

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

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

uu00 uu11uu00 uu11

uu22

Page 11: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

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

2004年5月ECCV

Page 12: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

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

注1:画像入出力ライブラリの使用は自由、例えば、前回使用したRaslib OpenCVを使ってもOKです回使用したRaslib、OpenCVを使ってもOKです。

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

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

3)直線以外(円、特に楕円)を抽出できるハフ変換のプログラムのURLを一つ以上記入してください。

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

Page 13: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択
Page 14: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

形状とポ ズ 形状が固定形状とポーズ一緒に投票

形状が固定

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

HoughHough変換変換 一般化一般化HoughHough変換変換gg

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

Page 15: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

Generalized Hough TransformCorrelationGeneralized Hough TransformCorrelationFor each translation, compute the correlation b h d h l dbetween the target and the translated query:

dxxTgxfgTf )()()(,

Page 16: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

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

(4次元)(4次元)

Page 17: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

基準点

xi(Xi, Yi)( , )

Page 18: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

一般化Hough変換の投票方法般化Hough変換の投票方法

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

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

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

ブル中のエントリから 平行移動ベクトル( )を

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

))(cos()( jjj srXu

))(sin()(

))(()(

jjj

jjj

srYv

Page 19: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

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

形状に投票形状に投票//多数決多数決

Page 20: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択
Page 21: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

Geometric HashingGeometric Hashing

Compute invariants不変特徴を計算

Hash-table

不変特徴を計算

Li t f bj tList of objects

Verify

Hash Table中の対応要素にHash Table中の対応要素に

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

Page 22: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

Feature ExtractionFeature Extraction

Page 23: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

Basis Geometric HashingBasis Geometric Hashing

拡大拡大縮小 回転

平行移動

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

Wolfson and Rigoutsos, Geometric Hashing, an Overview, 1997

Hash Tableにモデルを登録するイメージ

Page 24: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

モデルの登録

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

モデルの登録

点から、する。これらの

を選択点から、

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

2

2),,{ 21 jiN P,PPPPM

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

  ),(),,(2 ij

ij

ijij Y

PP

PPX ijijijij xyyx

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

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

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

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

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

 

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

)}{(

)}(),({()},{( ikijikij PPYPPXff

yx

yx

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

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

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

}{

)},{(

iPff yx

う性質を持っている

Page 25: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

Basis GeometricBasis Geometric Hashing

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

Wolfson and Rigoutsos, Geometric Hashing, an Overview, 1997

Page 26: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

Wolfson and Rigoutsos, Geometric Hashing, an Overview, 1997

Page 27: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

Basis Geometric HashingBasis Geometric Hashing

34 1

3

5 2

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

Wolfson and Rigoutsos, Geometric Hashing, an Overview, 1997

上に記録された(モデル、基底)の組のどれかが一致することが保証

Page 28: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

Recognition of Objectsg j•Find Features

投票

•Select Basis•Parameterize Features

票数•Do hash table lookup

•Histogram number of matches per modelHistogram number of matches per model

道路 車 家 トラ 草原 ・・・道路 車 家 トラ 草原 ・・・

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

Page 29: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

Recognition of ObjectsRecognition of Objects

Verification

確認確認

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

Page 30: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

Geometric Hashingの投票と識別1Geometric Hashingの投票と識別1

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

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

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

Page 31: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

Geometric Hashingの投票と識別2Geometric Hashingの投票と識別2

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

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

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

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

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

Page 32: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

Geometric Hashingの意味Geometric Hashingの意味

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

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

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

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

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

Page 33: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

Geometric Hashingの性質Geometric Hashingの性質

「基底によって画像を不変特徴に変換し、Hash Table上で複数のテンプレートとのマッチングを行う」という処理を様々な基底について繰り返す

Page 34: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

投票と多数決に基づくアルゴリズム投票と多数決に基づくアルゴリズムの特長(安定性)特長(安定性)

より多くの証拠情報によ て支持される仮説を求め• より多くの証拠情報によって支持される仮説を求めるという多数決原理に基づく手法であり、雑音などによ て生じる偽の特徴点が含まれる場合でも安定によって生じる偽の特徴点が含まれる場合でも安定に動作する

• 局所的な特徴のみを用い、特徴点間の連結性を用いないため、遮蔽などによって特徴点が欠落した場合でも対象の検出・認識が可能である

Page 35: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

投票と多数決に基づくアルゴリズム投票と多数決に基づくアルゴリズムの特長(拡張性)

任意形状 検出 認識に適用 きる 特に

特長(拡張性)

• 任意形状の検出・認識に適用できる。特にGeometric Hashingでは、画像から3次元物体の識

別を行 たり イ 変換に対する不変特徴を用別を行ったり、アフイン変換に対する不変特徴を用いるなどの拡張も比較的容易に実現できる

• 投票計算が各特徴点ごとに独立に行われるため、計算の並列化が容易である

Page 36: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

投票と多数決に基づくアルゴリズム投票と多数決に基づくアルゴリズムの問題点(精度)

画像中に複数 図形が含まれる場合 異なる図形

問題点(精度)

• 画像中に複数の図形が含まれる場合、異なる図形からの投票が投票空間上で重畳する

• 特徴点の誤差(位置の変動)により、投票空間中での投票位置がずれてしまう

• 投票空間の標本化が不適切な場合、Aliasingが生じ 投票数に偏りが生じるじ、投票数に偏りが生じる

エイリアシング(Aliasing):ぎざぎざ

Page 37: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

投票と多数決に基づくアルゴリズム投票と多数決に基づくアルゴリズムの問題点(計算コスト)

• Hough変換において、パラメータ空間中のセルを表

現するために用 られるメ リは 空間 次元数に

問題点(計算 )

現するために用いられるメモリは、空間の次元数に対して指数関数的に増加する

投票に要する計算は 投票軌跡の次元数に対し• 投票に要する計算は、投票軌跡の次元数に対して指数関数的に増加するG i H hi では 同 の図形に含まれる複• Geometric Hashingでは、同一の図形に含まれる複

数の点から基底を選択する必要があるため、基底の選択を何回も繰り返さなければならないの選択を何回も繰り返さなければならない

• 投票数の集計を(モデル、基底)の組毎に行わなければならないればならない

Page 38: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択
Page 39: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択
Page 40: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択
Page 41: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択
Page 42: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

現状のアルゴリズムの限界現状のアル リズムの限界

Page 43: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

弾性輪郭モデル弾性輪郭 デ(Snakes)動的輪郭モデル

Snakes収束の例

Page 44: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

今後の展望今後の展望

• 具体的な表現が与えられていない対象に関しても適用可能な「投票と多数決に基づく対象の検出・認識アルゴリズム」の開発

解決の方針としては、

• 特徴点の座標値のような定量的特徴ではなく、定性特徴点の座標値のような定量的特徴ではなく、定性的特徴を用いる

• 統計的パターン認識手法を併用する• 統計的パターン認識手法を併用する

などが考えられる

Page 45: -33 Hough 変換 - Wakayama Universityweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV06.pdfN個の点によって表されたモデル する。これらの点から、 から、点 を選択

出席チェック6-2出席チェック6-2

投票と多数決原理に基づく図形の検出・識別法は何種類がある?それぞれの名前と機能を記入してください。

学籍番号と名前を記入してください。