日記的「駄目」プログラミング Yet Another Hacking Life

Harris Corner Detectのヘッセ行列の固有値の符号の話というかSIFTの話

10.23.2010 · Posted in ビジョン, 日記

SIFTでキーポイント候補からエッジ上に存在する候補を取り除く際にHarris Corner Detectと同等の手法でエッジ判定を行っているそうな。と、いう話を『第6回「コンピュータビジョン最先端ガイド」勉強会』に行って聞いてきた。

追記(2010/10/26):追加の考察および思い違ってたことがあったので「続Harris Corner Detectのヘッセ行列の固有値の符号の話というかSIFTの話」という続きを書いてみた。

で、ヘッシアンの固有値の比で判定するんだけど、SIFTで使ってる閾値だとふたつの固有値α、β(α>β)がα+β<0のときどうすんの?という話が出ていた。

で、よく考えもせず「ヘッセ行列って正定値じゃないんですか?」ととんちんかんな質問をしてしまって死にたくなったわけだが。

その場では「負の場合は考慮してないんじゃないか」みたいな感じであとで確認みたいな感じになっていたようなどうだっけ。

恥ずかしい思いをすると気になるもので、帰りの電車でぼーっと考えていたんだが、定性的にはわかっても証明として書き下せない。

エッジ判定の値が負にならない条件は「α>0, |β|<α」で、画素の勾配としてのヘッセ行列の符号は同じ形でも画素値の正負(白黒反転)、座標の正負(X軸やY軸の向きの定義)で調整?できる。ここがうまく定式化できない。エッジ判定では濃度の反転や軸の定義に関わらず関数の概形が判定できればいいわけで、対象の画素での固有値によるエッジ判定の値が負になっても、絶対値の比が同じで「α>0, |β|<α」を満たす白黒・軸の組み合わせが存在して、その組み合わせでの固有値を使用しても同じ形の画素群を判定していることになる。従ってα、βが「α>0, |β|<α」を満たさなくても絶対値の大きい方の値が正になるように符号を反転させれば同等の形のエッジを判定していることになる。

というような考えに至ったのだけど、どうだろうなー。

勉強会。レベル高くてまいってしまった。次はちゃんと勉強していこう。

Leave a Reply