MATLAB,Python,Scilab,Julia比較 第3章 その16【ガウシアンフィルタ②】

MATLAB,Python,Scilab,Julia比較 第3章 その16【ガウシアンフィルタ②】 数値計算
MATLAB,Python,Scilab,Julia比較 第3章 その16【ガウシアンフィルタ②】

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

はじめに

畳み込み演算のガウシアンフィルタの話。
今回は畳み込み演算について。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラスト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

今回の範囲

太郎くん
太郎くん

前回の流れを元にすると・・・。

  • 畳み込み演算
  • 畳み込み積分
  • 2次ガウス分布関数
  • 良く使われるガウス分布カーネル
  • 実際にガウシアンフィルタをやってみる
太郎くん
太郎くん

今回は畳み込み演算ってやつか。

畳み込み演算

太郎くん
太郎くん

畳み込み演算って、畳み込みニューラルネットワークとかの畳み込み層ってところでやってるのもと同じもの?

フクさん
フクさん

畳み込みニューラルネットワークの順伝播に於いての畳み込み層と同一だな。
ただし、畳み込みニューラルネットワークの場合は、複数の畳み込みカーネルを用いて様々な特徴を持ったチャンネルを生成してたりするが、
その点は異なるな。
我々がやろうとしているのは、一つの画像に対して一つの結果が欲しいだけだ。

太郎くん
太郎くん

何を言ってるのかわからんけど、畳み込みニューラルネットワークでやってることと一緒ではあるけど、
それよりはるかにシンプルで簡単なことをするってことだね。

フクさん
フクさん

その認識でOKだ。

畳み込み演算を図解

太郎くん
太郎くん

こういうようわからんものは図解してもらえると助かるかな。

フクさん
フクさん

そう思って作ってきたよ。

畳み込み演算、演算範囲をスライドしていく、この行列を畳み込み行列と呼んだり、カーネルと呼んだりする、全行列に実施
太郎くん
太郎くん

一番左が元の画像で、3×3の行列をスライドさせながらなんか計算してる?

フクさん
フクさん

この画像の場合だと、以下の計算をしているな。

\(
(35\times0)+(40\times-1)+(41\times0)+(40\times0)+(40\times1)\\+(42\times0)+(42\times0)+(46\times0)+(50\times0)=0
\)

太郎くん
太郎くん

あれ?
この計算って内積??

フクさん
フクさん

そうそう。
畳み込み演算は結果的には内積と同じ計算をしていることになる。

太郎くん
太郎くん

しかし、これをやったからと言って何があるのかがわからんな。

フクさん
フクさん

それは次の畳み込み積分の話でわかるかもね。

太郎くん
太郎くん

(もう名前的にメンドクサそうな感じなんだよな・・・。)

まとめ

フクさん
フクさん

まとめだよ。

  • 畳み込み演算について説明。
    • 一応、図解。
    • やっていることは内積。
  • 演算していることは分かるが、どのような効能が得られるかは分かりにくい。

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

コメント

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