# 6.1.2~6.1.4 # 一維卷積 :::info 卷積用於對資料進行處理,從而去除資料中的雜訊或的到資料蘊含的某種訊息 ::: 以下是一個使用一個一維的高斯分布卷積核來去除躁點<br> 生成一個$sin$函數,並給予隨機的偏差值 ```python= import numpy as np import matplotlib.pyplot as plt %matplotlib inline x = np.linspace(0, 2*np.pi, 100) y = np.sin(x) + np.random.random(100) * 0.2 ``` ```python= plt.plot(x, y) plt.show() ```  ```python= #初始化W權重 sigma = 1.6986436005760381 # 標準差 x_for_w = np.arange(-6, 6) w = np.exp(-(x_for_w)**2 / (2 * sigma**2)) w /= sum(w) #輸出W權重長條圖 plt.bar(x_for_w, w) ```  ```python= #進行一維卷積 yhat = np.correlate(y, w, "same") plt.plot(x, yhat, color='red') ``` <br> --- # 二維卷積 :::info 用像素矩陣表達的模型為**數字模型** ::: 使用$skimage.color$的$rgb2gray$轉成灰階 ```python= from skimage.color import rgb2gray from skimage import io img = io.imread('image.jpg') gray_img = rgb2gray(img) ``` ## 卷積運算 :::info 運算順序:從上到下,從左到右 :::  若想要的到和原本矩陣一樣大小的運算結果,可以使用same卷積(亦即在上下左右各填充一些0) 具體來說 若卷積核大小是 $W \times H$,則需要在左右填充$\frac{W-1}{2}$個 0,上下填充$\frac{H-1}{2}$個 0 :::info 如果想要生成更小的圖形,可以讓卷積核的stride變大。 ::: ## 多通道的輸入與輸出 在彩色圖形中包含了三個通道(RGB),每一個都是一個2D矩陣,因此RGB三個通道可以視為三個2D矩陣(或3D陣列),在運算時我們只需給與每個通道1個卷積核,經過卷積運算後相加即可。 :::info 若想要有多個輸出通道(feature map)可以使用多個卷積核進行卷積運算 ::: (如下圖所示,使用了兩種卷積核,得出兩個特徵圖   問題: 一維卷積的應用? 二維卷積的應用? 三維卷積的應用?
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up