Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
画像における古典的な特徴抽出とマッチング
Search
yusumi
May 12, 2021
Research
0
360
画像における古典的な特徴抽出とマッチング
2021年のゼミで作成した資料.
Material prepared for the seminar in 2021.
yusumi
May 12, 2021
Tweet
Share
More Decks by yusumi
See All by yusumi
Understanding deeplearning, Chapter 13: Graph neural networks
yusumi
0
67
論文紹介: Semi-Supervised Learning with Normalizing Flows
yusumi
0
11
Understanding deeplearning, Chapter 16: Normalizing flows
yusumi
1
81
Understanding deeplearning, Chapter 9: Regularization
yusumi
0
66
論文紹介 : Beyond trivial counterfactual explanations with diverse valuable explanations
yusumi
0
50
論文紹介 : Regularizing Variational Autoencoder with Diversity and Uncertainty Awareness
yusumi
0
95
Recommender Systems
yusumi
1
36
論文紹介 : Multi objective optimization of item selection in computerized adaptive testing
yusumi
0
36
Neural Networks for Sequences
yusumi
0
110
Other Decks in Research
See All in Research
The many faces of AI and the role of mathematics
gpeyre
1
1.4k
LLM時代にLabは何をすべきか聞いて回った1年間
hargon24
1
530
「並列化時代の乱数生成」
abap34
3
910
VisFocus: Prompt-Guided Vision Encoders for OCR-Free Dense Document Understanding
sansan_randd
1
350
言語処理学会30周年記念事業留学支援交流会@YANS2024:「学生のための短期留学」
a1da4
1
270
[ECCV2024読み会] 衛星画像からの地上画像生成
elith
1
920
秘伝:脆弱性診断をうまく活用してセキュリティを確保するには
okdt
PRO
4
780
Weekly AI Agents News! 10月号 論文のアーカイブ
masatoto
1
410
TransformerによるBEV Perception
hf149
1
590
メタヒューリスティクスに基づく汎用線形整数計画ソルバーの開発
snowberryfield
3
630
Tietovuoto Social Design Agency (SDA) -trollitehtaasta
hponka
0
3k
The Relevance of UX for Conversion and Monetisation
itasohaakhib1
0
120
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Facilitating Awesome Meetings
lara
50
6.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
How to Ace a Technical Interview
jacobian
276
23k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.6k
A designer walks into a library…
pauljervisheath
205
24k
A Tale of Four Properties
chriscoyier
157
23k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Faster Mobile Websites
deanohume
305
30k
How GitHub (no longer) Works
holman
311
140k
Transcript
特徴検出とマッチング yusumi 2021年5月18日 参考資料 Computer Vision: Algorithms and Applications Chapter
4 Feature detection and matching
目次 1. はじめに 2. 特徴点検出 3. 特徴量記述 4. マッチング 5.
エッジ検出 6. 勾配法 7. ラプラシアン法 8. その他の手法 9. Appendix 10. 参考文献 点とパッチ エッジ
目次 1. はじめに 2. 特徴点検出 3. 特徴量記述 4. マッチング 5.
エッジ検出 6. 勾配法 7. ラプラシアン法 8. その他の手法 9. Appendix 10. 参考文献 点とパッチ エッジ
はじめに (1/7) 4 画像解析における特徴点とは? ➢ 画像変化 があっても常に検出される特徴的な場所 点を基準にした特徴点 領域を基準にした特徴点 エッジを基準にした特徴点
直線を基準にした特徴点
はじめに (2/7) 5 画像解析における特徴量とは? ➢ 画像の特定箇所の特徴が数値化されたもの 𝒙 = 2 15
8 ⋮ 6 入力画像の特定箇所に注目 勾配方向ヒストグラム ベクトル化 画像における特徴量の例 特徴点 ≠ 特徴量であることに注意
はじめに (3/7) ➢画像中の小さな矩形領域のこと 6 画像パッチとは? 山の画像と抽出されたパッチ 山の画像 ※赤い矩形領域がパッチ 抽出されたパッチ
はじめに (4/7) ➢視点の異なる2組の画像から, 対応する特徴点をどの ように見つけたら良いか? 7 2組の画像の特徴点マッチング 2組の画像の対応付け ? ?
はじめに (5/7) 8 パッチのみを用いた特徴点マッチング 2つの画像パッチを比較する単純な方法 → 重み付きSSD ( Weighted Sum
of Squared Differences ) 𝐸WSSD (𝒖) = 𝒙∈𝑺 𝑤(𝒙) 𝐼𝑡+1 𝒙 + 𝒖 − 𝐼𝑡 (𝒙) 2 𝑺 : 画像中のパッチ領域 𝒙 : 領域 𝑺 内の座標 𝒙 = 𝑥 𝑦 𝒖 : 2枚のパッチ間の変位量 𝒖 = 𝑢𝑥 𝑢𝑦 𝐼𝐴 (𝒙) : 画像 𝐼𝐴 の座標 𝒙 の画素値 𝑤(𝒙) : 座標 𝒙 の重み関数 (窓関数) 𝒙 ・ 𝑺 𝒙 + 𝒖 ・ 画像 𝐼𝑡 画像 𝐼𝑡+1 異なる画像における 画素毎の差分の二乗 重み ※𝒖は𝐼𝑡+1 (𝒙 + 𝒖) が存在するようにとる 𝐸WSSD (𝒖)が小さいほど2つの画像パッチは近い対応関係
はじめに (6/7) 9 𝐸WSSD (𝒖)だけでマッチングは可能か? パッチによる依存性 𝒖が一意に定まらないことがある 画像変化に鈍感 画像の拡大・縮小・回転が起こると 正しくマッチングできない
問題点その1 問題点その2 別の方法が必要 最小の𝒖を求めてマッチングすることは可能 → いくつかの問題あり
はじめに (7/7) 10 特徴点マッチングの流れ ①特徴点検出 ②特徴量記述 ③マッチング 固有の点や エッジの検出 𝒙
= ⋮ ⋮ 特徴点のベクトル化 ➢効率的な特徴点マッチングは主に次の3段階で構成
目次 1. はじめに 2. 特徴点検出 3. 特徴量記述 4. マッチング 5.
エッジ検出 6. 勾配法 7. ラプラシアン法 8. その他の手法 9. Appendix 10. 参考文献 点とパッチ エッジ
特徴点検出 視点の異なる2枚の画像から対応する特徴点を見つける 12 マッチングに有効な特徴点を見つける 視点を横に平行移動させた2枚の画像と3つのパッチ 他と区別できる特徴的なパッチを抽出したい パッチ毎に比較すると似ている特徴点がある ≈
特徴点検出 13 自己相関関数による特徴点検出 ある画像パッチの位置と,それを ∆𝒖 だけ微小変化させた パッチがどれくらい似ているか相関をとる →自己相関関数 (auto-correlation function)
𝐸AC (∆𝒖) = 𝒙∈𝑺 𝑤(𝒙) 𝐼𝑡 𝒙 + ∆𝒖 − 𝐼𝑡 (𝒙) 2 𝒙 ・ 𝑺 𝒙 + ∆𝒖 ・ 画像 𝐼𝑡 ∆𝒖ずらしたパッチにおける 画素毎の差分の二乗和 重み ※∆𝒖は𝐼𝑡 (𝒙 + ∆𝒖) が存在するようにとる ※実際の計算は近似手法を用いる (Appendix 1) 𝐸AC (∆𝒖)が小さいほど画素が安定的 (近傍のパッチ間の輝度勾配が小さい) 𝑺 : 画像中のパッチ領域 𝒙 : 領域 𝑺 内の座標 𝒙 = 𝑥 𝑦 ∆𝒖 : 微小変位量 ∆𝒖 = ∆𝑢𝑥 ∆𝑢𝑦 𝐼𝐴 (𝒙) : 画像 𝐼𝐴 の座標 𝒙 の画素値 𝑤(𝒙) : 座標 𝒙 の重み関数 (窓関数)
特徴点検出 14 画像に自己相関関数𝐸AC (∆𝒖)を適用 グレースケール原画像 a b c aを拡大 bを拡大
cを拡大 パッチaの 𝐸AC (∆𝒖) パッチbの 𝐸AC (∆𝒖) パッチcの 𝐸AC (∆𝒖) a b c
特徴点検出 15 パッチaにおける 𝐸AC (∆𝒖)計算例 パッチaの 𝐸AC (∆𝒖) パッチ a
(ここでは単にピクセル, すなわち 𝑺 = 𝟏) 比較パッチ (𝐸AC (∆𝒖)を計算) 比較しないパッチ (パッチa自身も含む) 𝑥 𝑦 aを拡大 ∆𝑢𝑥 ∆𝑢𝑦 𝑥 𝑦 𝐸AC (∆𝒖) ※各々の格子点は ∆𝒖 の値の一つに相当
特徴点検出 16 パッチaにおける自己相関係数 𝐸AC (∆𝒖) グレースケール原画像 a b c パッチa
パッチb パッチc パッチaの 𝐸AC (∆𝒖) パッチbの 𝐸AC (∆𝒖) パッチcの 𝐸AC (∆𝒖) ある方向に対して谷が直線状に集中 →谷が集中する箇所の特徴点抽出が難しい (家の屋根など, 直線上の谷がある特徴点全 てにマッチしてしまう) a
特徴点検出 17 パッチbにおける自己相関係数 𝐸AC (∆𝒖) パッチb パッチc パッチaの 𝐸AC (∆𝒖)
パッチbの 𝐸AC (∆𝒖) パッチcの 𝐸AC (∆𝒖) 特定箇所に凹み(最小値)がある →明確な特徴点になりえる パッチa グレースケール原画像 a b c b
特徴点検出 18 パッチcにおける自己相関係数 𝐸AC (∆𝒖) パッチc パッチaの 𝐸AC (∆𝒖) パッチbの
𝐸AC (∆𝒖) パッチcの 𝐸AC (∆𝒖) パッチa パッチb 明確な山・谷がない →対応する特徴点を探しずらい グレースケール原画像 a b c c
特徴点検出 19 特徴点検出における問題 例) 画像における雲領域のパッチ 雲領域のパッチc 𝐸AC (∆𝒖) ※雲のように明確なピークを持たない特徴点はスケールの大きさに依存する 明確な山・谷がない
→似たような特徴点が 沢山あって一意に対応 付けできない ➢ パッチのスケールが小さいと明確な特徴点が存在しな いケースがある c c
特徴点検出 (スケール不変性) 20 スケール不変性を考慮した特徴点検出 ➢多くのマッチングでは画像内のスケール変化を伴う →スケールに対して頑丈な特徴点(パッチ)を抽出すべき ※スケール : パッチサイズやガウス関数の幅𝝈など 5つのパッチスケールで特徴点を抽出
※この方法だとパッチの最適なスケール値が未知のままである
特徴点検出 (スケール不変性) 21 DoG画像によるスケール探索 1/3 ①DoG画像 (56ページ) から極値を検知 →注目画素のDoG値を画像スケール空間の26近傍と比較 →全ての近傍画素値より大きな画素(極値)を特徴点の候補とする
特徴点検出 (スケール不変性) 22 DoG探索 がスケールに頑丈な理由 ➢ 同じ画像であれば拡大・縮小しても同じ点でDoG画像が 極値をもつ ※𝝈は画像の拡大率・縮小率に比例 •
この点が極値を示した時 • 2倍した画像でもこの点が極値を示す • この時のGaussian filterの幅𝜎も2倍となる 2倍に拡大 : Gaussian filter DoG画像
特徴点検出 (スケール不変性) 23 DoG画像によるスケール探索 2/3 ②候補点の絞り込み →エッジ上の候補点の削除 (Harrisのコーナー検出) ヘッセ行列 𝐻
= 𝐷𝑥𝑥 𝐷𝑥𝑦 𝐷𝑥𝑦 𝐷𝑦𝑦 から主曲率を算出 𝐷 : DoG画像 ➢ 𝐻の固有方程式を解いて得られる2つの固有値 α, 𝛽 (α > 𝛽)からエッジ上の点を判別可能 ➢ 𝛼, 𝛽が共に小さい : フラット ➢ 𝛼, 𝛽が共に大きい : コーナー ➢ 𝛼 ≫ 𝛽 or 𝛽 ≫ 𝛼 : エッジ ※ヘッセ行列の固有値とエッジの関係はAppendix 9
特徴点検出 (スケール不変性) 24 DoG画像によるスケール探索 3/3 ➢ エッジ上の候補点の削除 (Harrisのコーナー検出) 対角成分の和 :
tr 𝐻 = 𝛼 + 𝛽 = 𝐷𝑥𝑥 + 𝐷𝑦𝑦 行列式 : det 𝐻 = 𝛼𝛽 = 𝐷𝑥𝑥 𝐷𝑦𝑦 − 𝐷𝑥𝑦 2 2つの固有値𝛼, 𝛽の比率 : 𝛾 = 𝛼 𝛽 ➢ 次の条件を満たす候補点を削除 tr 𝐻 2 det 𝐻 = 𝛼 + 𝛽 2 𝛼𝛽 = 𝛼/𝛽 + 1 2 𝛼/𝛽 = 𝛾 + 1 2 𝛾 > 𝜃 固有値を直接求めずに エッジ上の点を削除できる条件式 左辺は固有値の比率 を含む値となっている 閾値 ※判別式𝑅 = det 𝐻 − 𝑘tr 𝐻 2 (𝑘 = 0.04~0.06) を用いる手法もある
特徴点検出 (スケール不変性) 25 DoG画像によるスケール探索例 ➢ 𝛾 = 10, 𝜃 =
12.1の時の候補点抽出と削除 特徴点候補1895点 特徴点1197点 エッジの部分が削除された
特徴点検出 (回転不変性) 26 回転不変性を考慮した特徴点検出 ➢多くのマッチングでは平面内での画像回転も伴う →回転方向に沿って特徴点(パッチ)を検出すべき 回転方向の推定手法の一例
特徴点検出 (回転不変性) 27 回転不変性を考慮した特徴点検出 回転方向の推定手法の一例 Step1. パッチを小領域に分け各々 の勾配方向を計算する (Appendix 2)
➢多くのマッチングでは平面内での画像回転も伴う →回転方向に沿って特徴点(パッチ)を検出すべき
特徴点検出 (回転不変性) 28 回転不変性を考慮した特徴点検出 回転方向の推定手法の一例 Step2. 計算した各々の勾配 方向についてヒストグラム を求める Step1.
パッチを小領域に分け各々 の勾配方向を計算する (Appendix 2) ➢多くのマッチングでは平面内での画像回転も伴う →回転方向に沿って特徴点(パッチ)を検出すべき
特徴点検出 (回転不変性) 29 回転不変性を考慮した特徴点検出 回転方向の推定手法の一例 Step1. パッチを小領域に分け各々 の勾配方向を計算する (Appendix 2)
Step2. 計算した各々の勾配 方向についてヒストグラム を求める Step3. ヒストグラムの最頻 値を回転方向と推定する ➢多くのマッチングでは平面内での画像回転も伴う →回転方向に沿って特徴点(パッチ)を検出すべき
特徴点検出 (回転不変性) 30 回転不変性を考慮した特徴点検出 回転方向の推定結果例 パッチを小領域に分け各々の 勾配方向を計算する 計算した各々の勾配方向につ いてヒストグラムを求める ヒストグラムの最頻値を回転
方向と推定する Step1 Step2 Step3 ➢多くのマッチングでは平面内での画像回転も伴う →回転方向に沿って特徴点(パッチ)を検出すべき
特徴点検出 (アフィン不変性) 31 アフィン不変性を考慮した特徴点抽出 ➢スケール・回転どちらにも不変でありたい →アフィン不変な特徴点(パッチ)を抽出すべき 画像のアフィン変換 ƴ 𝑥 ƴ
𝑦 1 = 𝐴11 𝐴12 𝐴13 𝐴21 𝐴22 𝐴23 0 0 1 𝑥 𝑦 1 𝑥, 𝑦 : 変換前の座標 ƴ 𝑥, ƴ 𝑦 : 変換後の座標 𝐴𝑖𝑗 を変えることで画像の拡大縮小・ 回転・スキュー(平行四辺形に変形) が可能 (Appendix 3) 𝒙, 𝒚 ・ ƴ 𝒙, ƴ 𝒚 ・ アフィン不変な特徴点抽出には様々が研究がなされている (割愛)
目次 1. はじめに 2. 特徴点検出 3. 特徴量記述 4. マッチング 5.
エッジ検出 6. 勾配法 7. ラプラシアン法 8. その他の手法 9. Appendix 10. 参考文献 点とパッチ エッジ
特徴量記述 ➢特徴点抽出の後はそれらの数値化(ベクトル化)が必要 33 画像変化に頑丈な特徴量 画像変化に不変で識別性能を持った特徴量を抽出したい ※特徴点を抽出できても画像変化に鈍感だと適切にマッチングできない ?
特徴量記述 34 SIFT特徴量 周辺領域を一辺4ブロックの計16ブロックに分割 ブロックごとに8方向(45度ずつ)の勾配方向ヒストグラムを作成 ヒストグラムの各方向が特徴ベクトルとなる →4ブロック×4ブロック×8方向 = 128次元のベクトル ※ガウス関数で重み付けすることで中心から離れた勾配影響を抑える
検出した特徴点 スケール不変+回転不変 𝒙 = 2 15 8 ⋮ 6 ベクトル化
特徴量記述 ➢SIFT特徴量に比べて高速などの利点あり 35 その他の手法の特徴量 SIFT以降の局所勾配特徴量
目次 1. はじめに 2. 特徴点検出 3. 特徴量記述 4. マッチング 5.
エッジ検出 6. 勾配法 7. ラプラシアン法 8. その他の手法 9. Appendix 10. 参考文献 点とパッチ エッジ
マッチング (評価) 37 マッチング性能の評価 混同行列 ➢ 得られた特徴量同士で類似度を計算し閾値を設けて予 測結果を分類する→混同行列の作成 ➢ 適合率
precision = 𝑇𝑃 𝑇𝑃 + 𝐹𝑃 ➢ 真陽性率 recall = 𝑇𝑃 𝑇𝑃 + 𝐹𝑁 ➢ 正答率 accuracy = 𝑇𝑃 + 𝐹𝑁 𝑇𝑃 + 𝐹𝑁 + 𝐹𝑃 + 𝐹𝑁 ※実際はこれらの評価指標を組み合わせる
マッチング (評価) 38 評価における難しさ 𝜃を閾値としたときのFP, FNの変化およびROC曲線 ➢ 閾値の取り方によって予測精度が変わる ※Appendix4 :
ROC曲線について
マッチング (手法) 39 ユークリッド距離によるマッチング ➢特徴量を抽出したら, 画像間のマッチングが必要 →代表手法その1: ユークリッド距離による固定閾値決定 2つの特徴ベクトルを 𝒑,
𝒒とすると ԡ𝒑 − ԡ 𝒒 < 𝐶 を満たせばマッチング ※ 𝐶: ある閾値 ➢ 𝐶が大きすぎると𝐹𝑃が増加 ➢ 𝐶が小さすぎると𝐹𝑁が増加 閾値を適切に設定する必要がある
マッチング (手法) 40 最近傍法によるマッチング ➢特徴量を抽出したら, 画像間のマッチングが必要 →代表手法その2: 最近傍法 (NN, Nearest
Neighbor) 特徴ベクトル𝒑に対応する𝒒𝑖 ∈ 𝑄, 𝑖 ∈ 1, ⋯ , 𝑛 は argmin𝑖 ԡ𝒑 − ԡ 𝒒𝑖 𝑄: 比較先の特徴ベクトル集合 マッチングされる特徴点が必ず得られる ※本来対応する特徴点が存在しない場合でも強制的 にマッチングされてしまう 誤対応を減らすにはここでも閾値が必要
マッチング (手法) 41 最近傍距離比によるマッチング ➢特徴量を抽出したら, 画像間のマッチングが必要 →代表手法その3: 最近傍距離比 (NNDR, Nearest
Neighbor Distance Ratio) 特徴ベクトルを𝒑, 𝒒𝑖 ∈ 𝑄, 𝑖 ∈ 1, ⋯ , 𝑛 とすると 𝑑1 𝑑2 < 𝐶 を満たせばargmin𝑖 ԡ𝒑 − ԡ 𝒒𝑖 にマッチング 𝑑1 : 𝒑, 𝒒𝑖 ∈ 𝑄の最近傍距離 𝑑2 : 𝒑, 𝒒𝑖 ∈ 𝑄の第2近傍距離 ※ 𝐶: ある閾値
マッチング (性能比較) 42 マッチング手法の性能比較 ユークリッド距離, 最近傍法, 最近傍距離比による対応付け のROC曲線による性能比較 (Mikolajczyk and
Schmid, 2005) ユークリッド距離 最近傍法 最近傍距離比 AUC (Appendix 5) が ユークリッド距離 < 最近傍距離 < 最近傍距離比 の順に大きくなっている ※AUCの値は参考書に記載なし
目次 1. はじめに 2. 特徴点検出 3. 特徴量記述 4. マッチング 5.
エッジ検出 6. 勾配法 7. ラプラシアン法 8. その他の手法 9. Appendix 10. 参考文献 点とパッチ エッジ
エッジ検出 ➢画像の中で急激な輝度変化が起こる箇所 44 エッジとは? 車体や白線のエッジ検出 細胞のエッジ検出
エッジ検出 45 エッジ検出の種類 ➢勾配法 : 一次微分の極大値や極小値からエッジ検出 ➢ラプラシアン法 : 二次微分の変曲点からエッジ検出 画素値の変化に対する一次微分と二次微分
画像は離散的な 位置情報をもった行列 微分は隣接する ピクセルとの画素差を利用 (Appendix 2)
目次 1. はじめに 2. 特徴点検出 3. 特徴量記述 4. マッチング 5.
エッジ検出 6. 勾配法 7. ラプラシアン法 8. その他の手法 9. Appendix 10. 参考文献 点とパッチ エッジ
勾配法 47 画像における一次微分 微分filterと対象画像との畳み込み演算 (Appendix 6) で実現 微分filterの種類 (横方向) ➢
前進・後退差分 : 中央の注目画素と隣接している画素の差を取る ➢ 中心差分 : 中央の注目画素に隣接する画素の平均を取る ※縦方向の微分はこれらの転置を取れば良い
勾配法 48 平滑化処理 1. 横(縦)方向の微分 → 縦(横)方向の平滑化 2. 縦(横)方向のエッジを保存 →
横(縦)方向のノイズを削除 ※横(縦)方向の微分で縦(横)方向のエッジが得られることに注意 ノイズに反応してしまう filter適用時に平滑化処理を施す Prewitt (プレヴィット) filter Sobel (ソベル) filter 微分filterの問題点 解決策 代表的なfilter
勾配法 49 Prewitt (プレヴィット) filter ➢ filter 横方向 縦方向 合成
微分filterに 平滑化処理を施している
勾配法 50 Sobel (ソーベル) filter ➢ filter 横方向 縦方向 合成
中央の画素の 重みを大きくしたうえで 平滑化
目次 1. はじめに 2. 特徴点検出 3. 特徴量記述 4. マッチング 5.
エッジ検出 6. 勾配法 7. ラプラシアン法 8. その他の手法 9. Appendix 10. 参考文献 点とパッチ エッジ
ラプラシアン法 52 画像における二次微分 ➢二次微分filter : 輝度変化だけでなく変化の程度も抽出 ➢ラプラシアンfilter : 縦・横方向の二次微分filterの足し算 二次微分filter(横方向)
二次微分filter(縦方向) ※二次微分filter , ラプラシアンfilterの導出 : Appendix 7 二次微分filter(横方向) 二次微分filter(縦方向) ラプラシアンfilter
ラプラシアン法 53 平滑化処理 ノイズに反応してしまう filter適用時に平滑化処理を施す LoG (Laplacian of Gaussian) filter
ラプラシアンfilterの問題点 解決策 代表的なfilter
ラプラシアン法 54 LoG (Laplacian Of Gaussian) filter 𝐿𝑜𝐺 𝒙 =
∇2𝐺𝜎 𝒙 𝒙 : 画素の座標 𝐺𝜎 𝒙 = 1 2𝜋𝜎2 exp − 𝒙 2 2𝜎2 : 2次元ガウス分布 原画像 𝜎 = 1 𝜎 = 3 𝜎 = 5 ※𝜎の値が大きくなると極端に処理速度が遅くなる ∇2𝐺𝜎 𝒙 の分布 ※∇2𝐺𝜎 𝒙 の計算はAppendix 7 参照
目次 1. はじめに 2. 特徴点検出 3. 特徴量記述 4. マッチング 5.
エッジ検出 6. 勾配法 7. ラプラシアン法 8. その他の手法 9. Appendix 10. 参考文献 点とパッチ エッジ
その他の手法 56 DoG (Difference Of Gaussian) filter 𝐷𝑜𝐺𝜎1,𝜎2 𝒙 =
𝐺𝜎2 𝒙 − 𝐺𝜎1 𝒙 𝒙: 画素の座標 𝐺𝜎2 𝒙 , 𝐺𝜎1 𝒙 : 2変量ガウス分布 (𝜎1 < 𝜎2 ) ➢LoG filterを分離可能な2つのガウス分布で近似(Appendix 8) ➢LoG filterよりも処理速度が速い 原画像 𝜎1 = 1, 𝜎2 = 1.1 𝜎1 = 3, 𝜎2 = 3.1 𝜎1 = 5, 𝜎2 = 5.1 ※𝜎1 , 𝜎2 の差が小さくなるようにとる
その他の手法 57 Canny法 ➢弱いエッジでも正確に検出できる ➢他のエッジ検出に比べてノイズの誤検出が少ない Canny法で検出したエッジ 処理の流れ Gaussian filterで平滑化 Sobel
filterでエッジ検出 極大点以外のエッジ削除 閾値による判定
その他の手法 58 Canny法 Step1. Gaussian filterによる平滑化処理 𝐺 = 𝐼 ∗
𝐾𝑔 𝐼 : 入力画像 𝐾𝑔 : Gaussian filter 𝐺 : 平滑化画像 例) 𝐾𝑔 = 処理の流れ Gaussian filterで平滑化 Sobel filterでエッジ検出 極大点以外のエッジ削除 閾値による判定
その他の手法 59 Canny法 Step2. Sobel filterでエッジ検出 𝐺𝑥 = 𝐺 ∗
𝐾𝑥 𝐺𝑦 = 𝐺 ∗ 𝐾𝑦 𝐺 : 平滑化画像 𝐾𝑥 : Sobel filterの水平方向微分カーネル 𝐾𝑦 : Sobel filterの垂直方向微分カーネル 𝐺𝑥 : 水平方向微分画像 𝐺𝑦 : 垂直方向微分画像 処理の流れ Gaussian filterで平滑化 Sobel filterでエッジ検出 極大点以外のエッジ削除 閾値による判定 ➢ 微分画像から勾配の大きさ 𝐺 と方向𝜃を計算 (Appendix2) 𝐺 = 𝐺𝑥 2 + 𝐺𝑦 2 𝜃 = tan−1 𝐺𝑦 𝐺𝑥 𝐾𝑥 𝐾𝑦
その他の手法 60 Canny法 Step3. 極大点以外のエッジ削除 処理の流れ Gaussian filterで平滑化 Sobel filterでエッジ検出
極大点以外のエッジ削除 閾値による判定 ➢エッジと関係ない画素を取り除く ➢エッジ上の画素が勾配方向に対して極大かどうか判定 エッジ上の画素値と勾配方向の隣り 合う2つの画素値を比較 A, B, Cは勾配方向上の点 Aは縦方向のエッジ上の点 A, B, Cのうち Aが極大値→次の計算へ進む Aが極大値でない→Aの画素値を0にする
その他の手法 61 Canny法 Step4. 閾値による判定 処理の流れ Gaussian filterで平滑化 Sobel filterでエッジ検出
極大点以外のエッジ削除 閾値による判定 ➢検出されたエッジのうち, 正しいエッジかどうか区別 →Hysteresis (ヒステリシス) Threshold 処理 ➢ Aは正しいエッジ ➢ Cは正しいエッジと繋がってい るため正しいエッジ ➢ Bは正しいエッジと繋がってい ないため除去 ➢ 二つの閾値(minVal と maxVal )を使用 画素値の微分値が maxVal以上→正しいエッジ minVal以下→エッジから除去 minValより大きくmaxValより小さい→エッジの隣接関係から判断 正しいエッジ エッジから除去 エッジの隣接関係 から判断
その他の手法 ➢エッジ検出の比較 62 Canny法 左から原画像, Sobel法 , LoG法, Canny法 Sobel法は強いエッジのみ抽出しているのに対し,
Canny法 は弱いエッジまで抽出できている
目次 1. はじめに 2. 特徴点検出 3. 特徴量記述 4. マッチング 5.
エッジ検出 6. 勾配法 7. ラプラシアン法 8. その他の手法 9. Appendix 10. 参考文献 点とパッチ エッジ
Appendix 1 テイラー展開 𝐼𝑡 𝒙 + ∆𝒖 ≈ 𝐼𝑡 𝒙
+ 𝛻𝐼𝑡 𝒙 ∙ ∆𝒖 を適用すると 65 自己相関関数の近似 となる. 次ページへ続く… ≈ 𝒙∈𝑺 𝑤 𝒙 𝐼𝑡 𝒙 + 𝛻𝐼𝑡 𝒙 ∙ ∆𝒖 − 𝐼𝑡 𝒙 2 = 𝒙∈𝑺 𝑤 𝒙 𝛻𝐼𝑡 𝒙 ∙ ∆𝒖 2 = ∆𝒖𝑇𝐴∆𝒖 𝐸AC ∆𝒖 = 𝒙∈𝑺 𝑤 𝒙 𝐼𝑡 𝒙 + ∆𝒖 − 𝐼𝑡 𝒙 2 = ∆𝒖𝑇 𝑤 𝒙 ∗ 𝛻 ⊗ 𝛻𝐼𝑡 𝒙 ∆𝒖
Appendix 1 66 自己相関関数の近似 (続き) ここで 𝛻𝐼𝑡 𝒙 = 𝜕𝐼𝑡
𝒙 𝜕𝑥 , 𝜕𝐼𝑡 𝒙 𝜕𝑦 𝐴 = 𝑤 𝒙 ∗ 𝜕2𝐼𝑡 𝒙 𝜕𝑥𝜕𝑥 𝜕2𝐼𝑡 𝒙 𝜕𝑥𝜕𝑦 𝜕2𝐼𝑡 𝒙 𝜕𝑥𝜕𝑦 𝜕2𝐼𝑡 𝒙 𝜕𝑦𝜕𝑦 (輝度勾配) (自己相関行列) と表される. ヘッセ行列 13ページへ戻る
Appendix 2 画像の輝度値は離散的な格子 𝑥, 𝑦 上の関数𝐼 𝑥, 𝑦 として表されるため, 輝度
勾配は次の近似を用いる. 𝜕𝐼 𝑥, 𝑦 𝜕𝑥 ≈ 𝐼 𝑥, 𝑦 − 𝐼 𝑥 − ∆𝑥 , 𝑦 ∆𝑥 𝜕𝐼 𝑥, 𝑦 𝜕𝑥 ≈ 𝐼 𝑥 + ∆𝑥 , 𝑦 − 𝐼 𝑥, 𝑦 ∆𝑥 𝜕𝐼 𝑥, 𝑦 𝜕𝑥 ≈ 𝐼 𝑥 + ∆𝑥 , 𝑦 − 𝐼 𝑥 − ∆𝑥 , 𝑦 2∆𝑥 最後の式で∆𝑥 = 1を用いれば, 次の差分式が得られる. 𝜕𝐼 𝑥, 𝑦 𝜕𝑥 ≈ 1 2 𝐼 𝑥 + 1, 𝑦 − 𝐼 𝑥 − 1, 𝑦 𝑦についても同様に 𝜕𝐼 𝑥, 𝑦 𝜕𝑦 ≈ 1 2 𝐼 𝑥, 𝑦 − 1 − 𝐼 𝑥, 𝑦 + 1 と近似できる. (上2つの式も同様に近似できる) 次ページへ続く… 67 画像の輝度勾配
Appendix 2 輝度勾配の大きさと方向は次式で与えられる. ➢大きさ : 𝜕𝐼 𝑥,𝑦 𝜕𝑥 2 +
𝜕𝐼 𝑥,𝑦 𝜕𝑦 2 ➢方向 : tan−1 𝜕𝐼 𝑥,𝑦 𝜕𝑦 𝜕𝐼 𝑥,𝑦 𝜕𝑥 68 画像の輝度勾配 (続き) 27ページへ戻る
Appendix 3 ➢拡大縮小 ➢平行移動 次ページへ続く… 69 様々なアフィン変換 ƴ 𝑥 ƴ
𝑦 1 = 𝑆𝑥 0 0 0 𝑆𝑦 0 0 0 1 𝑥 𝑦 1 = 𝑆𝑥 𝑥 𝑆𝑦 𝑦 1 ƴ 𝑥 ƴ 𝑦 1 = 1 0 𝑇𝑥 0 1 𝑇𝑦 0 0 1 𝑥 𝑦 1 = 𝑥 + 𝑇𝑥 𝑦 + 𝑇𝑦 1 元画像 x軸方向に2倍
Appendix 3 ➢回転 ➢スキュー (平行四辺形に変形) 70 様々なアフィン変換 (続き) ƴ 𝑥
ƴ 𝑦 1 = cos 𝜃 − sin 𝜃 0 sin 𝜃 cos 𝜃 0 0 0 1 𝑥 𝑦 1 = 𝑥 cos 𝜃 − 𝑦 sin 𝜃 𝑥 cos 𝜃 + 𝑦 sin 𝜃 1 ƴ 𝑥 ƴ 𝑦 1 = 1 0 0 tan 𝜃 1 0 0 0 1 𝑥 𝑦 1 = 𝑥 𝑥 tan 𝜃 + 𝑦 1 ƴ 𝑥 ƴ 𝑦 1 = 1 tan 𝜃 0 0 1 0 0 0 1 𝑥 𝑦 1 = 𝑥 + 𝑦 tan 𝜃 𝑦 1 13ページへ戻る
Appendix 4 ➢2値分類問題で閾値を変化させた時にモデルの性能がどの ように変わるかを可視化する手法 ➢閾値を変化させた時に, 真陽性率(recall)と偽陽性率 (FPR)の 組み合わせがどのように変化するかを曲線で表現する 71 ROC曲線
(Receiver Operating Characteristic Curve) ➢真陽性率 recall = 𝑇𝑃 𝑇𝑃 + 𝐹𝑁 ➢偽陽性率 FPR = 𝐹𝑃 𝐹𝑃 + 𝑇𝑁 recall FPR 38ページへ戻る
Appendix 5 ➢ROC曲線の下の領域面積 ➢ROC曲線全体を一つの値で示せる ➢2値分類の評価指標 ➢0~1の値を取り, 値が大きいほどよい 次ページへ続く… 72 AUC
(Area Under ROC Curve) recall FPR
Appendix 5 ➢AUC = 0.5はランダムに予測したのと同じ ➢AUC = 1.0が理想だが, 現実的にはほぼありえない ➢AUCが1.0にどれだけ近いかでモデルの性能を評価
73 AUC (Area Under ROC Curve) (続き) 𝐀𝐔𝐂 𝐀𝐔𝐂 (0.5) 𝐀𝐔𝐂 (1.0) 一般的 ランダム 完全に予測的中 42ページへ戻る
Appendix 6 入力画像𝐼と3×3のfilter 𝐾が与えられた時, 出力の画像𝐼′は次 のように演算される. 74 畳み込み演算 𝐼 𝐾
𝐼′ ※微分filterでは𝐾 を隣接画素値の 差をとるように 決める. また𝐾は平滑化 filterなどにも利 用される. 47ページへ戻る
Appendix 7 ※一次微分についてはAppendix 2を参照 ➢ラプラシアンfilter : ∇2𝐼 = 𝜕2𝐼 𝑥,𝑦
𝜕𝑥2 + 𝜕2𝐼 𝑥,𝑦 𝜕𝑦2 𝜕2𝐼 𝑥, 𝑦 𝜕𝑥2 = 𝜕 𝜕𝑥 𝜕𝐼 𝑥, 𝑦 𝜕𝑥 ≈ 𝜕 𝜕𝑥 𝐼 𝑥, 𝑦 − 𝐼 𝑥 − 1, 𝑦 = 𝐼 𝑥, 𝑦 − 𝐼 𝑥 − 1, 𝑦 − 𝐼 𝑥 − 1, 𝑦 − 𝐼 𝑥 − 2, 𝑦 = 𝐼 𝑥 − 2, 𝑦 − 2𝐼 𝑥 − 1, 𝑦 + 𝐼 𝑥, 𝑦 𝑥 − 1を𝑥と置き換えると, 横方向の二次微分が求まる. 𝜕2𝐼 𝑥, 𝑦 𝜕𝑥2 ≈ 𝐼 𝑥 − 1, 𝑦 − 2𝐼 𝑥, 𝑦 + 𝐼 𝑥 + 1, 𝑦 縦方向の二次微分も同様にして求まる. 𝜕2𝐼 𝑥, 𝑦 𝜕𝑦2 ≈ 𝐼 𝑥, 𝑦 − 1 − 2𝐼 𝑥, 𝑦 + 𝐼 𝑥, 𝑦 + 1 よって ∇2𝐼 = 𝐼 𝑥 − 1, 𝑦 + 𝐼 𝑥, 𝑦 − 1 − 4𝐼 𝑥, 𝑦 + 𝐼 𝑥 + 1, 𝑦 + 𝐼 𝑥, 𝑦 + 1 を得る. 次ページへ続く… 75 二次微分filterとラプラシアンfilter
Appendix 7 76 二次微分filterとラプラシアンfilter (続き) 標準偏差の等しい二次元ガウス分布 𝐺𝜎 𝒙 の場合 𝐺𝜎
𝒙 = 1 2𝜋𝜎2 exp − 𝒙 2 2𝜎2 ラプラシアンは ∇2𝐺𝜎 𝒙 = 𝒙 2 − 2𝜎2 2𝜋𝜎6 exp − 𝒙 2 2𝜎2 となる. 画像解析では入力画像に∇2𝐺𝜎 𝒙 をfilterとしたものはLoG filterとよばれる. 𝜎 = 3の5×5の LoG filter 52ページへ戻る
Appendix 8 77 DoGによるLoGの近似 ➢ LoGは標準偏差の近い2つのガウス分布の差で近似可能 lim 𝑘→1 𝐺𝑘𝜎 𝒙
− 𝐺𝜎 𝒙 𝑘𝜎 − 𝜎 = 𝜕𝐺𝜎 𝒙 𝜕𝜎 中心が等しい2つの二次元ガウス分布 𝐺𝜎 𝒙 = 1 2𝜋𝜎2 exp − 𝒙 2 2𝜎2 𝐺𝑘𝜎 𝒙 = 1 2𝜋𝑘2𝜎2 exp − 𝒙 2 2𝑘2𝜎2 について, 標準偏差𝜎, 𝑘𝜎の差を0へ近づけると 次ページへ続く…
Appendix 8 78 DoGによるLoGの近似 (続き) ここで 𝐷𝑜𝐺𝜎,𝑘𝜎 𝒙 = 𝐺𝑘𝜎
𝒙 − 𝐺𝜎 𝒙 ≈ − 𝑘 − 1 𝜎2∇2𝐺𝜎 𝒙 = − 𝑘 − 1 𝜎2𝐿𝑜𝐺 𝒙 よって, DoG filter 𝐷𝑜𝐺𝜎,𝑘𝜎 𝒙 は 𝜕𝐺𝜎 𝒙 𝜕𝜎 = 2𝜎2 − 𝒙 2 2𝜋𝜎5 exp − 𝒙 2 2𝜎2 = −𝜎∇2𝐺𝜎 𝒙 最後の等号はAppendix 7 参照. と近似できる. 56ページへ戻る
Appendix 9 DoG画像のヘッセ行列 𝐻 = 𝐷𝑥𝑥 𝐷𝑥𝑦 𝐷𝑥𝑦 𝐷𝑦𝑦 を考えた時,
その固有値は主曲率に比例する. ※主曲率 : 曲面上のある点における最大曲率および最小曲率 (*) 𝐻の固有値の大小 ∝ 主曲率の大小 (*)より, 固有値の比率を見ればエッジ以外の特徴点 (コーナー)を検出できる. 79 Harrisのコーナー検出 ➢ 二つの主曲率の差が大きい →ある方向の変化は大きいが別の方向の変化は小さい →エッジの可能性が高い (厳密の定義は違う) 主曲率のイメージ 23ページへ戻る
目次 1. はじめに 2. 特徴点検出 3. 特徴量記述 4. マッチング 5.
エッジ検出 6. 勾配法 7. ラプラシアン法 8. その他の手法 9. Appendix 10. 参考文献 点とパッチ エッジ
81 参考文献 (1/4) 81 ➢コンピュータビジョン特論第12回対象追跡, 呉 海元, 2009/7/6 http://web.wakayama-u.ac.jp/~wuhy/CV/CV2009/CV12.pdf ➢物体認識論
講義 柳井啓司 第3回 局所特徴量 ➢A performance evaluation of local descriptors (Mikolajczyk and Schmid, 2005) https://lear.inrialpes.fr/pubs/2005/MS05/mikolajczyk_pami05.pdf ➢MathWorks エッジ検出 https://jp.mathworks.com/discovery/edge-detection.html ➢ビジュアル情報処理 高橋裕樹 第7章 簡単な画像処理 ➢一次微分フィルター Prewitt, Sobel https://www.mitani-visual.jp/mivlog/imageprocessing/edgefilter001.php ➢画像処理 (4)エッジ抽出 https://fussy.web.fc2.com/algo/image4_edge.htm ➢Canny検出器の原理・特徴・計算式 https://algorithm.joho.info/image-processing/canny-edge-detecter/
参考文献 (2/4) 82 ➢Canny法によるエッジ検出 http://labs.eecs.tottori- u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_can ny/py_canny.html ➢はしくれエンジニアもどきのメモ R言語で多変量解析5 https://cartman0.hatenablog.com/entry/2014/09/10/182717
➢画像処理の基礎 (2) – OpenCVによる基本的な例 東北大学大学院 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ic2009/kagami_ic20090630.pdf ➢コンピュータビジョン アルゴリズムと応用 Richard Szenliski http://szeliski.org/Book/drafts/SzeliskiBook_20100903_draft.pdf ➢Computer Vision: Algorithms and Applications, Richard Szeliski http://szeliski.org/Book/drafts/SzeliskiBook_20100903_draft.pdf ➢Lecture 04: Feature Detection and Matching I https://spark-lab.com/wp-content/uploads/2020/10/lecture04-Feature- Detection-and-Matching-I-note.pdf
参考文献 (3/4) 83 ➢画像工学における典型的な処理段階 http://www.osakac.ac.jp/labs/hild/IPslide7.pdf ➢画像処理ソリューション アフィン変換 https://imagingsolution.blog.fc2.com/blog-entry-284.html ➢深層学習で抽出した特徴量を用いた特徴点マッチング 宮崎大学
http://cvlab.cs.miyazaki-u.ac.jp/laboratory/2018/kajiwara_honbun.pdf ➢局所勾配抽出技術 SIFT以降のアプローチ https://www.jstage.jst.go.jp/article/jjspe/77/12/77_1109/_pdf ➢機械学習の分類における評価指標 https://aiacademy.jp/media/?p=258 ➢Kaggleで勝つデータ分析の技術 技術評論社 ➢SIGNATE QUEST 評価関数 分類問題における評価関数 ➢農学情報科学 畳み込み演算 https://axa.biopapyrus.jp/deep-learning/cnn/convolution.html
参考文献 (4/4) 84 ➢平滑化・微分フィルタ https://www.maebashi-it.ac.jp/~odagaki/ImageProc/src/ppt/7.pdf ➢高クオリティな線画抽出を目指して https://qiita.com/Shirataki2/items/813fdade850cc69d1882 ➢第6章 拡散方程式 https://www.se.fukuoka-u.ac.jp/iwayama/teach/kisoIII/2016/chap6.pdf
➢画像局所特徴量SIFTとそれ以降のアプローチ SlideShare https://www.slideshare.net/hironobufujiyoshi/miru2013sift ➢SIFT特徴量について SlideShare https://www.slideshare.net/la_flance/sift-20150311