【入門】微分フィルタ【数値計算】

【入門】微分フィルタ【数値計算】 数値計算
【入門】微分フィルタ【数値計算】

Sobelフィルタの課題

Sobelフィルタに限らずだが、そのままこのフィルタを使用すると少し問題がある。
それを一つずつ認識&解決していく。

使用する画像は恒例の、犬と自転車。
ちなみに、Sobelフィルタをする前にグレースケールにしているものとする。

犬と自転車

そのままSobelフィルタを使用すると?

まず、単純にそのままSobelフィルタで畳み込みをしている。
以下の結果になる。

そのままSobelフィルタ

一応、エッジ検出出来ているようには見える。
が、異様に暗い。
つまり、エッジ検出出来ているところと出来ていないところがある。

これは負の勾配に差し掛かった時に演算結果がマイナスになるため。
それが0にサチって結果エッジが検出出来てない感じになる。

対策としては、abs関数でも挟めばOK。

abs関数を入れた結果

そして、その結果が以下。

absを入れたSobelフィルタ

だいぶいい感じになったが、
横方向のエッジが検出されていないように見える。

これはSobelフィルタの向きが起因しているな。
転置したもので再度試してみよう。

\(
K_{sbl}^T=
\begin{bmatrix}
-1 & 0 & 1 \\
-2 & 0 & 2 \\
-1 & 0 & 1 \\
\end{bmatrix}^T=
\begin{bmatrix}
-1 & -2 & -1 \\
0 & 0 & 0 \\
1 & 2 & 1 \\
\end{bmatrix}
\)

absを入れて転置したSobelフィルタ

横方向のエッジは拾えてるけど、今度は縦方向のエッジが居なくなった。
横方向のエッジ検出カーネルなので、当然の結果ではある。

最終的なSobelフィルタ

先の結果より、縦方向、横方向のどちらかのエッジ検出しかできない状態になっている。
これは、両方のエッジ検出を合成すればOK。

合成の仕方は以下になる。

\(
G_s=\sqrt{G_{sx}^2+G_{sy}^2}
\)

\(G_{sx}\)が縦方向のエッジ検出のSobelフィルタの結果で、
\(G_{sy}\)が横方向のエッジ検出のSobelフィルタの結果になる。

それぞれをベクトルと捉えて、それらを合成したノルムをエッジというスカラ値にする感じ。
結果としては以下になる。

合成したSobelフィルタ

これで、エッジ検出出来ていると言って良いだろう。
まだ、いろいろあると言えばあるが、
現時点ではここまでだろう。

実験手順について

実験の手順について説明しておく。
以下の手順を想定している。

  • 画像の読み込み
  • ガウシアンフィルタ用のカーネル用意
  • Sobelフィルタ用のカーネル用意
  • SDTVグレースケール化実施
  • ガウシアンフィルタ実施
  • Sobelフィルタ実施
  • 各Sobelフィルタの結果の合成
  • 画像の書き出し

手順についてあれこれ。

事前にガウシアンフィルタを掛けている。
正直無くても良い処理ではあるが、割ととりあえず入れておくということは多い。
不要ならば消せば良いので、処理としては入れておく。

あとは前回までで説明したSobelフィルタ関連の処理が並んでいるだけになる。
注意点としては、縦方向のエッジ検出と横法のエッジ検出をした上で合成する。
ってところ。

というわけで、今度こそ、次回からは実際に実験開始。

まとめ

  • エッジ検出について説明。
  • 各種微分フィルタについて説明。
  • Sobelフィルタを元にいろいろ課題認識&対策実施。
  • 実験手順を説明。

MATLAB、Python、Scilab、Julia比較ページはこちら

社会のなかの数理 [新装版]──行列とベクトル入門──

Amazon.co.jp

なっとくする演習 行列・ベクトル なっとくする演習・行列 ベクトル (なっとくシリーズ)

https://amzn.to/4bzPvvO

ゼロからはじめるPID制御

ゼロからはじめるPID制御
プロセス制御分野で圧倒的なシェアをもっているPID制御。本書は、PID制御を実際の場面で活用するために必要な知識を効率良く学べる実用書。実際の機械や装置のPID制御例を豊富に取り上げ、できるだけそのまま応用できるように内容を工夫した。

基礎からわかる時系列分析―Rで実践するカルマンフィルタ・MCMC・粒子フィルタ― Data Science Library

https://amzn.to/3x0AhAZ

観測と最小二乗法―測量・G空間データの解析

https://amzn.to/4dWURmE

ディジタル画像処理[改訂第二版]

https://amzn.to/4e6C1JU

高校数学でわかるフーリエ変換―フーリエ級数からラプラス変換まで (ブルーバックス)

https://amzn.to/4e9nsFx

マンガでわかるフーリエ解析

https://amzn.to/3R2juVb

入門信号処理のための数学―離散フーリエ変換・離散コサイン変換

https://amzn.to/3Kj3FWs

はじめて学ぶディジタル・フィルタと高速フ-リエ変換: 基礎・原理からよく理解するための (ディジタル信号処理シリーズ)

https://amzn.to/3R0haOy

コメント

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