MATLAB,Python,Scilab,Julia比較 第3章 その37【非極大値抑制②】

MATLAB,Python,Scilab,Julia比較 第3章 その37【非極大値抑制②】 数値計算
MATLAB,Python,Scilab,Julia比較 第3章 その37【非極大値抑制②】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia3-backnumber/

はじめに

非極大値抑制なるものの説明続き。

  • 非極大値抑制の大雑把な雰囲気
  • 2次元平面に実施する場合の考え方
  • 勾配の特定方法
  • 斜面の方向パターン

の「非極大値抑制の大雑把な雰囲気」「2次元平面に実施する場合の考え方」について。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

非極大値抑制の大雑把な雰囲気

太郎くん
太郎くん

やることリストてきには、
「非極大値抑制の大雑把な雰囲気」
をまずは説明してくる感じかな。

フクさん
フクさん

そうだね。

フクさん
フクさん

といっても、おおよそイメージはできてるんじゃないかな?

太郎くん
太郎くん

まぁ、極大値意外と抹殺するというくらいの認識だけどねー。
なにかしら、図解してもらえると助かるんだけど。

「非極大値抑制の大雑把な雰囲気」を図解

フクさん
フクさん

というわけで、絵を描いてきた。

太郎くん
太郎くん

(準備いいな・・・。)

非極大値抑制の大雑把な雰囲気、最も急勾配なところだけを検知したい、最も急勾配なところだけを検知したい、こんな画素配置があるとして、微分して、絶対値化して極大値だけを検知して、極大値以外を0値に、微分の絶対値化まではSobelフィルタで実現できている。
フクさん
フクさん

実は、上から3段目のところまではSobelフィルタで実現済み。
よって、最後の1段を実現すればOKだ。

太郎くん
太郎くん

なるほど。
確かに言われてみれば、Sobelフィルタでいいところまで来てるのか。

フクさん
フクさん

そうそう。

2次元平面に実施する場合の考え方

フクさん
フクさん

と、まぁ、1次元でみるとシンプルは話ではあるのだが、
画像自体は2次元平面。
もう少し考える必要がある。

太郎くん
太郎くん

これもよくわからんから図解希望!

フクさん
フクさん

そういうと思って用意してきたよ。

2次元平面に実施する場合の考え方、黒線が画像上の推定境界線(極大値)、こっち(垂直方向)から見た微分で評価したい、こっち(斜め左上右下方向)から見た微分で評価したい、こっち(水平方向)から見た微分で評価したい、こっち(斜め左下右上方向)から見た微分で評価したい
太郎くん
太郎くん

そっか・・・。
いろんな方向から見た極大値を特定しないといけないのか・・・。

太郎くん
太郎くん

極大値を特定して、そこだけ残すってのも複雑な処理になりそうだな・・・。
斜めから見た場合とかかなり面倒な気がする・・・。

フクさん
フクさん

そこは、Sobelフィルタの途中過程の情報を使うと解決できたりする。

太郎くん
太郎くん

そうなの?

フクさん
フクさん

その解説は次回。

まとめ

フクさん
フクさん

まとめだよ。

  • 非極大値抑制の大雑把な雰囲気を確認。
    • 図で確認。
  • 2次元平面に実施する場合の考え方を確認。
    • これも図で確認。
    • 様々な方向から見た極大値を意識する必要がある。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました