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

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

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



# 元画像 
 
<!--   01_01.png -->

* 下表は 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](https://qiita-image-store.s3.amazonaws.com/0/169589/3b0d6e62-e461-5ce2-f427-0975fae7482d.png)



# 明るさ変換
### 明るく。　中心の値を１.0 より大きい値に
<!-- 01_02.png -->
| | | |
|:--:|:--:|:--:|
| 0.00 | 0.00 | 0.00 |
| 0.00 | 1.50 | 0.00 |
| 0.00 | 0.00 | 0.00 |
 Bias:0.0

![01_02.png](https://qiita-image-store.s3.amazonaws.com/0/169589/cc55e5dc-820e-9f84-8dc7-94a006d28f87.png)

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

---
### 暗く： 中心の値を１.0 より小さい値に(0より大きい値で）
<!-- 01_03.png -->
| | | |
|:--:|:--:|:--:|
| 0.00 | 0.00 | 0.00 |
| 0.00 | 0.75 | 0.00 |
| 0.00 | 0.00 | 0.00 |
 Bias:0.0

![01_03.png](https://qiita-image-store.s3.amazonaws.com/0/169589/e9dea4e4-8407-4d6a-487a-4fc6d53e4971.png)

* 暗くなっている。

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

### 中心と 4近傍で 同値
<!--   02_01.png -->
| | | |
|:--:|:--:|:--:|
| 0.00 | 0.20 | 0.00 |
| 0.20 | 0.20 | 0.20 |
| 0.00 | 0.20 | 0.00 |
 Bias:0.0
![02_01.png](https://qiita-image-store.s3.amazonaws.com/0/169589/9a12e243-23b4-ef9a-d079-11c9900e2b4a.png)

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

----
### 中心と 8近傍で ほぼ同値 
<!--   02_02.png -->
| | | |
|:--:|:--:|:--:|
| 0.11 | 0.11 | 0.11 |
| 0.11 | 0.12 | 0.11 |
| 0.11 | 0.11 | 0.11 |
 Bias:0.0
![02_02.png](https://qiita-image-store.s3.amazonaws.com/0/169589/d45fd168-0ca9-e3f8-2cbf-ed2fbf5a94c9.png)

* 先の４近傍に比べ、ぼかし効果が強まっているのが判る。（左下の髪のあたりが特に）

---
### ４近傍に対し中心値を大きくする 
 
<!--   02_03.png -->
| | | |
|:--:|:--:|:--:|
| 0.00 | 0.10 | 0.00 |
| 0.10 | 0.60 | 0.10 |
| 0.00 | 0.10 | 0.00 |
 Bias:0.0
![02_03.png](https://qiita-image-store.s3.amazonaws.com/0/169589/4d59fdec-0c20-6b6c-8e0e-8a9410d09ded.png)

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

---
### 中心値を少し小さく & ４近傍→８近傍 
 
<!--   02_04.png -->
| | | |
|:--:|:--:|:--:|
| 0.05 | 0.10 | 0.05 |
| 0.10 | 0.40 | 0.10 |
| 0.05 | 0.10 | 0.05 |
 Bias:0.0
![02_04.png](https://qiita-image-store.s3.amazonaws.com/0/169589/a25b77cf-7635-6f2e-90e9-21c21bd12c1c.png)

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

---
## エッジ強調。　中心は正数 近傍は負数　合計は1.0
 
<!--   02_05.png -->
| | | |
|:--:|:--:|:--:|
| 0.00 | -0.20 | 0.00 |
| -0.20 | 1.80 | -0.20 |
| 0.00 | -0.20 | 0.00 |
 Bias:0.0
![02_05.png](https://qiita-image-store.s3.amazonaws.com/0/169589/1040f61a-68c6-e028-aa32-d9627ec28f30.png)

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

---
### 値を大きくした場合
<!--   02_06.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](https://qiita-image-store.s3.amazonaws.com/0/169589/e148e65f-ca61-93c4-b165-7903adad2666.png)

* 印刷物っぽい印象に。

---
### さらに倍に
 
<!--   02_07.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](https://qiita-image-store.s3.amazonaws.com/0/169589/7e58710f-7853-1be6-933d-97d84bcc4221.png)

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

---
### さらに倍ぷっしゅ
 
<!--   02_08.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](https://qiita-image-store.s3.amazonaws.com/0/169589/ab4c0706-d764-5ad0-a836-fea1a53f7418.png)

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

---
##エンボス効果。 重みに傾きをつける。　合計は1.0
###① ↑ 方向 
<!--   03_01.png -->
| | | |
|:--:|:--:|:--:|
| -1.00 | -2.00 | -1.00 |
| 0.00 | 1.00 | 0.00 |
| 1.00 | 2.00 | 1.00 |
 Bias:0.0
![03_01.png](https://qiita-image-store.s3.amazonaws.com/0/169589/f492cb94-8581-2637-81bb-94f358d6ab94.png)

---
### ② ↗ 方向 
 
<!--   03_02.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](https://qiita-image-store.s3.amazonaws.com/0/169589/df8c7ad5-fb48-1222-c674-5946e7470c29.png)

---
### ③ → 方向
 
<!--   03_03.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](https://qiita-image-store.s3.amazonaws.com/0/169589/55a20231-cca4-8884-8512-0b65071b4d4a.png)

---
### ④ ↘ 方向
 
<!--   03_04.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](https://qiita-image-store.s3.amazonaws.com/0/169589/b1cfad69-7c99-3bfb-6aa2-579970a923f6.png)

---
### ⑤ ↓ 方向
 
<!--   03_05.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](https://qiita-image-store.s3.amazonaws.com/0/169589/b212962e-7e78-de90-41ca-3383ff9f3daf.png)

---
### ⑥ ↙ 方向
 
<!--   03_06.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](https://qiita-image-store.s3.amazonaws.com/0/169589/4b3bf2ab-498d-a9db-3352-273344b1315c.png)

---
### ⑦ ← 方向 
 
<!--   03_07.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](https://qiita-image-store.s3.amazonaws.com/0/169589/2234ae05-1344-0e50-8eb4-c72edda15095.png)

---
### ⑧ ↖ 方向
 
<!--   03_08.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](https://qiita-image-store.s3.amazonaws.com/0/169589/87ca89e3-a99f-eb96-fc47-288db94c208e.png)

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

# エッジ抽出。 重み合計 0.0   
* 重みの合計を 0.0 にすると、エッジ画像となる。

## 4近傍均等　合計は0.0
 
<!--   04_01.png -->
| | | |
|:--:|:--:|:--:|
| 0.00 | -0.25 | 0.00 |
| -0.25 | 1.00 | -0.25 |
| 0.00 | -0.25 | 0.00 |
 Bias:0.0
![04_01.png](https://qiita-image-store.s3.amazonaws.com/0/169589/b3600c95-9331-4b6a-c328-45b872593b05.png)

---
### 値を倍に
 
<!--   04_02.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](https://qiita-image-store.s3.amazonaws.com/0/169589/a92f6767-77ae-5b70-c2e9-8d2f0864e124.png)

---
### さらに倍に
 
<!--   04_03.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](https://qiita-image-store.s3.amazonaws.com/0/169589/dbdd6c1c-b37a-3971-2f22-3b5724410cc4.png)

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

---
### 8近傍 合計は0.0
 
<!--   05_01.png -->
| | | |
|:--:|:--:|:--:|
| -0.25 | -0.50 | -0.25 |
| -0.50 | 3.00 | -0.50 |
| -0.25 | -0.50 | -0.25 |
 Bias:0.0
![05_01.png](https://qiita-image-store.s3.amazonaws.com/0/169589/ad7ab60e-15ea-7555-0253-b5f5cbc20abc.png)

---
### 
 
<!--   05_02.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](https://qiita-image-store.s3.amazonaws.com/0/169589/4b13aa76-1cb3-bcaa-7e5a-9399c90c28f0.png)

## 輪郭強調 中心と近傍１つ
---
### ① ↑
<!--   05_03.png -->
| | | |
|:--:|:--:|:--:|
| 0.00 | -1.00 | 0.00 |
| 0.00 | 1.00 | 0.00 |
| 0.00 | 0.00 | 0.00 |
 Bias:0.0
![05_03.png](https://qiita-image-store.s3.amazonaws.com/0/169589/b88b6b7f-375b-fc2f-da8c-c4270f63fa73.png)

---
### ② →


<!--   05_06.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](https://qiita-image-store.s3.amazonaws.com/0/169589/de233acb-cb05-5eb8-b5bc-8f857899e32d.png)


---
### ③ ↓
 
<!--   05_04.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](https://qiita-image-store.s3.amazonaws.com/0/169589/27516c73-5fdd-2b9b-932b-5ac484addbc9.png)

---
### ④ ← 
 
<!--   05_05.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](https://qiita-image-store.s3.amazonaws.com/0/169589/1af6c8c7-8bd7-3f2f-3ad7-ea819a9bb241.png)

 
---
### 重みに方向を持たせる ↑方向
 
<!--   06_01.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](https://qiita-image-store.s3.amazonaws.com/0/169589/2f3b6f83-2552-7b23-01ce-2c8e3f658732.png)

---
### 重みの傾きを増した場合
 
<!--   06_02.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](https://qiita-image-store.s3.amazonaws.com/0/169589/a082dfbc-05dc-c1df-4fea-6ca63c629927.png)

---
### 傾きをさらに増した場合 
 
<!--   06_03.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](https://qiita-image-store.s3.amazonaws.com/0/169589/4a25ac75-db7c-ef49-8865-a53f625d8c5d.png)

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

---
### 傾きの方向を変える　→
 
<!--   07_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](https://qiita-image-store.s3.amazonaws.com/0/169589/79e91ce4-e9f3-58b8-feac-1ce144250b1c.png)

---
### 方向　↓
 
<!--   07_01.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](https://qiita-image-store.s3.amazonaws.com/0/169589/70a77831-92b0-ea28-bbe0-decf88df4346.png)

---
### 方向　←
 
<!--   07_02.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](https://qiita-image-store.s3.amazonaws.com/0/169589/c406cc35-592b-7856-cf9a-d081ff0b1ccd.png)


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

### ① ↑ 方向
<!--   08_01.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](https://qiita-image-store.s3.amazonaws.com/0/169589/2eb49f77-480c-b106-7e66-0c42b0158537.png)

---
### ② ↗ 方向
 
<!--   08_02.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](https://qiita-image-store.s3.amazonaws.com/0/169589/6900eda0-064a-dfa7-6a63-9676864d972c.png)

---
### ③ → 方向
 
<!--   08_03.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](https://qiita-image-store.s3.amazonaws.com/0/169589/09df6b70-317e-09cb-83b7-f6afcc65f006.png)

---
### ④ ↘ 方向
 
<!--   08_04.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](https://qiita-image-store.s3.amazonaws.com/0/169589/65d6c208-1ee9-0706-0a09-f7cad8cdbe8d.png)

---
### ⑤ ↓ 方向
 
<!--   08_05.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](https://qiita-image-store.s3.amazonaws.com/0/169589/f590acdc-ff21-c240-872e-59ae062e484e.png)

---
### ⑥ ↙ 方向
 
<!--   08_06.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](https://qiita-image-store.s3.amazonaws.com/0/169589/46079f00-c515-7ce3-0354-641d602cca92.png)

---
### ⑦ ← 方向
 
<!--   08_07.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](https://qiita-image-store.s3.amazonaws.com/0/169589/3a6db99d-9c3b-f524-efa5-5b2e07801e7c.png)

---
### ⑧ ↖ 方向
<!--   08_08.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](https://qiita-image-store.s3.amazonaws.com/0/169589/176a65ab-ccde-c960-fd81-249ca2ad7716.png)


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

<!--   09_01.png -->
| | | |
|:--:|:--:|:--:|
| 0.00 | 0.00 | 0.00 |
| 0.00 | -1.00 | 0.00 |
| 0.00 | 0.00 | 0.00 |
 Bias:255.0
![09_01.png](https://qiita-image-store.s3.amazonaws.com/0/169589/1cae5ffb-9e56-7ad5-fd78-496ba7af1a7e.png)

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

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