LoginSignup
46
36

More than 5 years have passed since last update.

3x3 畳み込みフィルタ 結果画像

Last updated at Posted at 2017-05-30

畳み込みフィルタで、フィルタの重みによって、画像がどう変わるかを見比べられる形でまとめました。参考になれば幸いです。

背景

  • NNを自前で実装できる程度に理解しようとしています。
  • Convolution NNについて理解を深めていくにあたり、フィルタの重みを変えると、変換後の画像がどう変わるのか、見比べれる形でまとめたいと思ってました。

元画像

  • 下表は 3x3 フィルタの重み値を示します。
0.00 0.00 0.00
0.00 1.00 0.00
0.00 0.00 0.00

Bias:0.0
01_01.png

明るさ変換

明るく。 中心の値を1.0 より大きい値に

0.00 0.00 0.00
0.00 1.50 0.00
0.00 0.00 0.00

Bias:0.0

01_02.png

  • 明るくなる。
  • 単純に輝度を1.5倍にするので、白飛びが生じている。

暗く: 中心の値を1.0 より小さい値に(0より大きい値で)

0.00 0.00 0.00
0.00 0.75 0.00
0.00 0.00 0.00

Bias:0.0

01_03.png

  • 暗くなっている。

重み値合計 1.0

ぼかし効果。 中心と近傍とも正数 合計は1.0 

中心と 4近傍で 同値

0.00 0.20 0.00
0.20 0.20 0.20
0.00 0.20 0.00

Bias:0.0
02_01.png

  • 比較用に原画 と フィルタ画像を並べている。 左が原画 右がフィルタ後の画像
  • 並べると ぼかしの効果がわかる。  

中心と 8近傍で ほぼ同値

0.11 0.11 0.11
0.11 0.12 0.11
0.11 0.11 0.11

Bias:0.0
02_02.png

  • 先の4近傍に比べ、ぼかし効果が強まっているのが判る。(左下の髪のあたりが特に)

4近傍に対し中心値を大きくする

0.00 0.10 0.00
0.10 0.60 0.10
0.00 0.10 0.00

Bias:0.0
02_03.png

  • ノイズ低減に用いるのは このあたりの比率っぽい。

中心値を少し小さく & 4近傍→8近傍

0.05 0.10 0.05
0.10 0.40 0.10
0.05 0.10 0.05

Bias:0.0
02_04.png

  • 中心値と近傍値の比率で、ぼかし加減を調節できるみたい。

エッジ強調。 中心は正数 近傍は負数 合計は1.0

0.00 -0.20 0.00
-0.20 1.80 -0.20
0.00 -0.20 0.00

Bias:0.0
02_05.png

  • エッジが強調され、くっきりした印象ある。

値を大きくした場合

0.00 -1.00 0.00
-1.00 5.00 -1.00
0.00 -1.00 0.00

Bias:0.0
02_06.png

  • 印刷物っぽい印象に。

さらに倍に

0.00 -2.00 0.00
-2.00 10.00 -2.00
0.00 -2.00 0.00

Bias:0.0
02_07.png

  • イラストっぽい印象に。

さらに倍ぷっしゅ

0.00 -4.00 0.00
-4.00 20.00 -4.00
0.00 -4.00 0.00

Bias:0.0
02_08.png

  • やりすぎた感ある...。

エンボス効果。 重みに傾きをつける。 合計は1.0

① ↑ 方向

-1.00 -2.00 -1.00
0.00 1.00 0.00
1.00 2.00 1.00

Bias:0.0
03_01.png


② ↗ 方向

0.00 -1.00 -2.00
1.00 1.00 -1.00
2.00 1.00 0.00

Bias:0.0
03_02.png


③ → 方向

1.00 0.00 -1.00
2.00 1.00 -2.00
1.00 0.00 -1.00

Bias:0.0
03_03.png


④ ↘ 方向

2.00 1.00 0.00
1.00 1.00 -1.00
0.00 -1.00 -2.00

Bias:0.0
03_04.png


⑤ ↓ 方向

1.00 2.00 1.00
0.00 1.00 0.00
-1.00 -2.00 -1.00

Bias:0.0
03_05.png


⑥ ↙ 方向

0.00 1.00 2.00
-1.00 1.00 1.00
-2.00 -1.00 0.00

Bias:0.0
03_06.png


⑦ ← 方向

-1.00 0.00 1.00
-2.00 1.00 2.00
-1.00 0.00 1.00

Bias:0.0
03_07.png


⑧ ↖ 方向

-2.00 -1.00 0.00
-1.00 1.00 1.00
0.00 1.00 2.00

Bias:0.0
03_08.png

  • 向きで画像の印象がだいぶ変わる。
  • 絵のタッチが変わったようにも見えなくもない。
  • 画調変換ではこのあたりのフィルタが使われてるのかな。

エッジ抽出。 重み合計 0.0

  • 重みの合計を 0.0 にすると、エッジ画像となる。

4近傍均等 合計は0.0

0.00 -0.25 0.00
-0.25 1.00 -0.25
0.00 -0.25 0.00

Bias:0.0
04_01.png


値を倍に

0.00 -0.50 0.00
-0.50 2.00 -0.50
0.00 -0.50 0.00

Bias:0.0
04_02.png


さらに倍に

0.00 -1.00 0.00
-1.00 4.00 -1.00
0.00 -1.00 0.00

Bias:0.0
04_03.png

  • エッジ部分が明るくなる。

8近傍 合計は0.0

-0.25 -0.50 -0.25
-0.50 3.00 -0.50
-0.25 -0.50 -0.25

Bias:0.0
05_01.png


-0.50 -1.00 -0.50
-1.00 6.00 -1.00
-0.50 -1.00 -0.50

Bias:0.0
05_02.png

輪郭強調 中心と近傍1つ


① ↑

0.00 -1.00 0.00
0.00 1.00 0.00
0.00 0.00 0.00

Bias:0.0
05_03.png


② →

0.00 0.00 0.00
0.00 1.00 -1.00
0.00 0.00 0.00

Bias:0.0
05_06.png


③ ↓

0.00 0.00 0.00
0.00 1.00 0.00
0.00 -1.00 0.00

Bias:0.0
05_04.png


④ ←

0.00 0.00 0.00
-1.00 1.00 0.00
0.00 0.00 0.00

Bias:0.0
05_05.png


重みに方向を持たせる ↑方向

-0.20 -0.20 -0.20
0.00 0.00 0.00
0.20 0.20 0.20

Bias:0.0
06_01.png


重みの傾きを増した場合

-1.00 -1.00 -1.00
0.00 0.00 0.00
1.00 1.00 1.00

Bias:0.0
06_02.png


傾きをさらに増した場合

-2.00 -2.00 -2.00
0.00 0.00 0.00
2.00 2.00 2.00

Bias:0.0
06_03.png

  • 傾きを増すにつれ、エッジの線も明るくなっていく。

傾きの方向を変える →

1.00 0.00 -1.00
1.00 0.00 -1.00
1.00 0.00 -1.00

Bias:0.0
07_03.png


方向 ↓

1.00 1.00 1.00
0.00 0.00 0.00
-1.00 -1.00 -1.00

Bias:0.0
07_01.png


方向 ←

-1.00 0.00 1.00
-1.00 0.00 1.00
-1.00 0.00 1.00

Bias:0.0
07_02.png


ソーベル フィルタ (時計回り)

① ↑ 方向

-1.00 -2.00 -1.00
0.00 0.00 0.00
1.00 2.00 1.00

Bias:0.0
08_01.png


② ↗ 方向

0.00 -1.00 -2.00
1.00 0.00 -1.00
2.00 1.00 0.00

Bias:0.0

08_02.png


③ → 方向

1.00 0.00 -1.00
2.00 0.00 -2.00
1.00 0.00 -1.00

Bias:0.0
08_03.png


④ ↘ 方向

2.00 1.00 0.00
1.00 0.00 -1.00
0.00 -1.00 -2.00

Bias:0.0
08_04.png


⑤ ↓ 方向

1.00 2.00 1.00
0.00 0.00 0.00
-1.00 -2.00 -1.00

Bias:0.0
08_05.png


⑥ ↙ 方向

0.00 1.00 2.00
-1.00 0.00 1.00
-2.00 -1.00 0.00

Bias:0.0
08_06.png


⑦ ← 方向

-1.00 0.00 1.00
-2.00 0.00 2.00
-1.00 0.00 1.00

Bias:0.0
08_07.png


⑧ ↖ 方向

-2.00 -1.00 0.00
-1.00 0.00 1.00
0.00 1.00 2.00

Bias:0.0
08_08.png

畳み込みフィルタ 重み値合計 -1.0 ネガポジ反転

0.00 0.00 0.00
0.00 -1.00 0.00
0.00 0.00 0.00

Bias:255.0
09_01.png

  • Bias を使うとネガポジ反転も可能

感想

  • グレースケール画像 + 3x3フィルタ のシンプルな組み合わせでも、フィルタを通しての表現が幅広い事を体感した。
  • フィルタを組み合わせ検出器をつくる作業は、機械に任せた方がいいと体感した。
46
36
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
46
36