機器學習8-卷積和卷積核1
- 卷積與圖像去噪
- 卷積的定義與性質
- 定義
- 性質
- 卷積的原理
- 卷積步驟
- 卷積的示例與應用
- 卷積的優缺點
- 優點
- 缺點
- 總結
- 高斯卷積核
- 卷積核尺寸的設置
- 依據任務類型
- 考慮數據特性
- 實驗與調優
- 高斯函數標準差的設置
- 依據平滑需求
- 結合卷積核尺寸
- 實際應用場景
- 總結
- 圖像噪聲與中值濾波器
- 高斯噪聲
- 定義
- 概率分布
- 產生原因
- 對圖像和信號的影響
- 去除方法
- 中值濾波
卷積與圖像去噪
卷積的定義與性質
定義
卷積是數學中的一種運算,廣泛應用于信號處理、圖像處理和機器學習等領域。在機器學習中,卷積通常指卷積神經網絡(CNN)中的卷積操作。
卷積操作可以表示為:
[ ( f ? g ) ( t ) = ∫ ? ∞ ∞ f ( τ ) g ( t ? τ ) d τ (f * g)(t) = \int_{-\infty}^{\infty} f(\tau) g(t - \tau) \, d\tau (f?g)(t)=∫?∞∞?f(τ)g(t?τ)dτ]
在離散情況下,卷積操作可以表示為:
[ ( f ? g ) [ n ] = ∑ m = ? ∞ ∞ f [ m ] g [ n ? m ] (f * g)[n] = \sum_{m=-\infty}^{\infty} f[m] g[n - m] (f?g)[n]=∑m=?∞∞?f[m]g[n?m]]
在CNN中,卷積操作通常是在二維圖像上進行的,卷積核(或濾波器)在輸入圖像上滑動,計算局部區域的加權和。
性質
- 線性性:卷積是線性操作,滿足疊加原理。
- 平移不變性:卷積操作對輸入信號的平移是不變的。
- 交換性:卷積操作滿足交換律,即 ( f ? g = g ? f f * g = g * f f?g=g?f)。
- 結合性:卷積操作滿足結合律,即 ( ( f ? g ) ? h = f ? ( g ? h ) (f * g) * h = f * (g * h) (f?g)?h=f?(g?h))。
卷積的原理
在CNN中,卷積操作通過卷積核(filter)在輸入數據(如圖像)上滑動,計算局部區域的加權和。卷積核的參數通過訓練過程學習得到。
卷積步驟
-
輸入數據:通常是二維圖像或多通道圖像。
-
卷積核:一個小的矩陣,包含可學習的參數。
邊界填充
不考慮邊界圖像會變小,如果不想變小只能填充像素。
拉伸 -鏡像
0填充
-
滑動窗口:卷積核在輸入數據上滑動,計算每個位置的加權和。
-
輸出特征圖:卷積操作的結果是一個新的特征圖,反映了輸入數據中某些特征的響應。
卷積的示例與應用
平滑
銳化
卷積在機器學習和深度學習中有廣泛的應用,特別是在圖像處理和計算機視覺領域。
- 圖像分類:CNN通過卷積層提取圖像的特征,用于分類任務。
- 目標檢測:卷積操作用于檢測圖像中的目標物體。
- 圖像分割:卷積操作用于將圖像分割成不同的區域。
- 自然語言處理:卷積操作也可以應用于文本數據,提取局部特征。
卷積的優缺點
優點
- 局部感知:卷積操作只關注局部區域,減少了參數數量,降低了計算復雜度。
- 參數共享:卷積核在輸入數據上共享參數,進一步減少了參數數量。
- 平移不變性:卷積操作對輸入數據的平移是不變的,適合處理圖像等數據。
- 層次化特征提取:通過多層卷積操作,可以提取從低級到高級的特征。
缺點
- 計算復雜度:雖然卷積操作減少了參數數量,但在大規模數據上仍然需要大量計算資源。
- 局部性限制:卷積操作只關注局部區域,可能忽略全局信息。
- 超參數選擇:卷積核的大小、步長、填充等超參數需要仔細選擇,影響模型性能。
總結
卷積是機器學習和深度學習中一種重要的操作,特別適用于處理圖像等具有局部結構的數據。通過卷積操作,可以有效地提取數據的特征,降低模型的復雜度,提高模型的性能。然而,卷積操作也存在一些局限性,需要在實際應用中仔細權衡。
高斯卷積核
存在振鈴問題
如何設置卷積核的尺寸和高斯函數的標準差?
方差的變化
方差越大,平滑效果明顯
尺寸的變化
模板尺寸越大, 平滑效果越強
總結
- 大方差或者大尺寸卷積核平滑能力強;
- 小方差或者小尺寸卷積核平滑能力弱;
- 經驗法則:將卷積核的半窗寬度設置為3σ,最終卷積模板尺寸為2×3σ+1。
例子:標準差設置成1,卷積模板寬度=231+1=7
在圖像處理和深度學習領域,卷積核尺寸和高斯函數標準差的設置是比較關鍵的操作,以下分別介紹它們的設置方法:
卷積核尺寸的設置
依據任務類型
- 邊緣檢測:通常會使用較小的卷積核,如 3x3 或 5x5。以 Sobel 算子為例,它使用 3x3 的卷積核來檢測圖像中的邊緣信息。小尺寸的卷積核能夠聚焦于局部像素的變化,從而更敏銳地捕捉邊緣特征。
- 特征提取:對于淺層網絡,可能會使用較小的卷積核(如 3x3)來提取圖像的基本特征,如紋理、顏色等;而在深層網絡中,有時會使用較大的卷積核(如 7x7)來獲取更全局的特征信息。例如,在 AlexNet 中,第一層卷積層使用了 11x11 的大卷積核來捕捉圖像的宏觀特征。
- 圖像分割:卷積核的尺寸選擇會根據具體的分割任務和數據集特點而定。一般來說,較小的卷積核可以用于細化分割邊界,而較大的卷積核可以用于融合不同區域的信息。
考慮數據特性
- 圖像分辨率:對于高分辨率的圖像,可以適當使用較大的卷積核來減少計算量,同時避免丟失過多的細節信息;而對于低分辨率的圖像,使用較小的卷積核可以更好地保留圖像的細節。
- 數據集大小:如果數據集較小,使用較小的卷積核可以減少模型的參數數量,降低過擬合的風險;如果數據集較大,可以嘗試使用較大的卷積核來增加模型的表達能力。
實驗與調優
通過多次實驗,嘗試不同的卷積核尺寸,并使用驗證集評估模型的性能,選擇性能最優的卷積核尺寸。可以采用網格搜索、隨機搜索等方法來系統地探索不同的卷積核尺寸組合。
高斯函數標準差的設置
依據平滑需求
- 輕微平滑:當只需要對圖像進行輕微的平滑處理,去除一些高頻噪聲時,可以選擇較小的標準差,如 0.5 - 1.0。較小的標準差會使高斯函數的分布更集中,卷積操作主要影響相鄰的少數像素,對圖像的整體結構影響較小。
- 顯著平滑:如果需要對圖像進行更強烈的平滑處理,去除較大的噪聲或模糊圖像細節,可以選擇較大的標準差,如 3.0 - 5.0 甚至更大。較大的標準差會使高斯函數的分布更廣泛,卷積操作會影響更多的像素,從而達到更顯著的平滑效果。
結合卷積核尺寸
高斯卷積核的尺寸和標準差通常是相互關聯的。一般來說,卷積核的尺寸應該足夠大,以覆蓋高斯函數的主要部分。通常可以根據標準差來確定合適的卷積核尺寸,例如,當標準差為 σ 時,卷積核的尺寸可以選擇為 (6σ + 1) x (6σ + 1) ,以確保高斯函數的大部分能量都被包含在卷積核內。
實際應用場景
- 圖像預處理:在圖像預處理階段,如去噪、圖像增強等,標準差的選擇要根據圖像的噪聲水平和具體的處理目標來確定。例如,對于包含椒鹽噪聲的圖像,可以先使用較大的標準差進行平滑處理,然后再進行其他處理。
- 特征提取:在提取圖像特征時,標準差的選擇會影響特征的提取效果。較小的標準差可以提取更精細的特征,而較大的標準差可以提取更宏觀的特征。例如,在人臉檢測中,可以使用不同標準差的高斯濾波器來提取不同尺度的人臉特征。
同樣,也可以通過實驗的方法,嘗試不同的標準差取值,并根據實際應用的評估指標(如準確率、召回率等)來選擇最優的標準差。
總結
去除圖像中的“高頻”成分(低通濾波器)
兩個高斯卷積核卷積后得到的還是高斯卷積核
- 使用多次小方差卷積核連續卷積,可以得到與大方差卷積核相同的結果
- 使用標準差為σ的高斯核進行兩次卷積與使用標準差σ√2 的高斯核進行一次卷積相同
可分離
- 可分解為兩個一維高斯的乘積
1.用尺寸為/m×m的卷積核卷積一個尺寸為n×n的圖像,其計算復雜度是多少?
小模板多次卷積比一個大模板一次卷積計算量低很多
圖像噪聲與中值濾波器
高斯噪聲
高斯噪聲是一種在信號處理、圖像處理、通信等多個領域經常出現的噪聲類型
定義
高斯噪聲是指其概率密度函數服從高斯分布(也稱為正態分布)的噪聲。在實際應用中,許多自然噪聲和測量噪聲都近似服從高斯分布,因此高斯噪聲是一種非常常見且重要的噪聲模型。
概率分布
高斯分布的概率密度函數由均值(μ)和標準差(σ)兩個參數完全確定,其數學表達式為:
[ f ( x ) = 1 σ 2 π e ? ( x ? μ ) 2 2 σ 2 f(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{(x - \mu)^2}{2\sigma^2}} f(x)=σ2π?1?e?2σ2(x?μ)2?]
其中, x x x 是隨機變量的值, μ \mu μ 是分布的均值,它決定了分布的中心位置; σ \sigma σ 是標準差,它決定了分布的寬度,即噪聲的分散程度。當 μ = 0 \mu = 0 μ=0 時,稱為零均值高斯噪聲。
產生原因
- 電子設備內部的熱噪聲:電子元件中的電子由于熱運動產生的隨機噪聲,這種噪聲在各種電子設備中普遍存在,如放大器、傳感器等。
- 通信信道中的噪聲:在信號傳輸過程中,信道中的各種干擾因素會引入高斯噪聲,例如無線通信中的大氣噪聲、多徑衰落等。
- 測量誤差:在數據采集和測量過程中,由于測量設備的精度限制和環境干擾,可能會產生高斯噪聲。
對圖像和信號的影響
- 對圖像的影響:高斯噪聲會使圖像變得模糊、粗糙,降低圖像的清晰度和質量。在圖像中,噪聲表現為隨機分布的灰度值變化,使得圖像的細節信息被掩蓋,影響圖像的視覺效果和后續的處理(如邊緣檢測、特征提取等)。
- 對信號的影響:在信號處理中,高斯噪聲會干擾信號的真實值,使信號的幅度和相位發生隨機變化,導致信號失真。這會影響信號的檢測、識別和分析,降低系統的性能和可靠性。
去除方法
噪聲的方差越大,卷積和的方差也要越大。但是此時也會帶來副作用,會影響圖像本身的顯示。
- 線性濾波:如均值濾波和高斯濾波。均值濾波是將每個像素的鄰域內像素值取平均值作為該像素的新值,它可以在一定程度上平滑噪聲,但會使圖像邊緣模糊。高斯濾波則是根據高斯函數對鄰域像素進行加權平均,它在平滑噪聲的同時能較好地保留圖像的邊緣信息。
- 非線性濾波:如中值濾波。中值濾波是將鄰域內像素值的中值作為該像素的新值,它對脈沖噪聲和椒鹽噪聲有較好的抑制效果,同時也能在一定程度上去除高斯噪聲,并且對圖像邊緣的保護能力較強。
- 基于變換域的方法:如小波變換。小波變換可以將圖像或信號分解到不同的尺度和頻率子帶中,通過對不同子帶的系數進行處理,去除噪聲分量,然后再進行重構得到去噪后的圖像或信號。
- 深度學習方法:近年來,深度學習在圖像去噪領域取得了顯著的成果。通過訓練深度神經網絡(如卷積神經網絡),可以學習到高斯噪聲的特征和圖像的先驗信息,從而實現高效的圖像去噪。
中值濾波
對于椒鹽噪聲和脈沖噪聲使用高斯卷積核去噪是很難去掉的。
中值濾波的原理示意圖。
控制濾波的效果
認識了三種類型的噪聲,椒鹽噪聲、脈沖噪聲及高斯噪聲對于前兩者建議使用中值濾波器對于高斯噪聲可以使用高斯卷積核來進行去噪。