【opencv】21.图像处理为什么要归一化
圖像處理為什么要歸一化和如何歸一化
答:其中一個原因是,對于網絡模型訓練等,是為了加速神經網絡訓練收斂,以及保證程序運行時收斂加快。其他原因見下面參考博客。
對圖像歸一化有2種處理方式:
- (1) img/255.0
- (2) img/127.5 - 1
第一種圖像歸一化方式,范圍為[0, 1];
第二種圖像歸一化方式,范圍為[-1, 1],這兩種只是歸一化范圍不同.
參考1:原文鏈接
參考2:原文鏈接
matlab圖像處理為什么要歸一化和如何歸一化?一、為什么歸一化
1.基本上歸一化思想是利用圖像的不變矩尋找一組參數使其能夠消除其他變換函數對圖像變換的影響。也就是轉換成唯一的標準形式以抵抗仿射變換
圖像歸一化使得圖像可以抵抗幾何變換的攻擊,它能夠找出圖像中的那些不變量,從而得知這些圖像原本就是一樣的或者一個系列的。
因為我們這次的圖片有好多都是一個系列的,所以老師把這個也作為我研究的一個方向。
我們主要要通過歸一化減小醫學圖片由于光線不均勻造成的干擾。
2.matlab里圖像數據有時候必須是浮點型才能處理,而圖像數據本身是0-255的UNIT型數據所以需要歸一化,轉換到0-1之間。
3.歸一化是一種簡化計算的方式,即將有量綱的表達式,經過變換,化為無量綱的表達式,成為純量。目的是為了:
(1).避免具有不同物理意義和量綱的輸入變量不能平等使用
(2).bp中常采用sigmoid函數作為轉移函數,歸一化能夠防止凈輸入絕對值過大引起的神經元輸出飽和現象
(3).保證輸出數據中數值小的不被吞食
3.神經網絡中歸一化的原因
歸一化是為了加快訓練網絡的收斂性,可以不進行歸一化處理
歸一化的具體作用是歸納統一樣本的統計分布性。歸一化在0-1之間是統計的概率分布,歸一化在-1–+1之間是統計的坐標分布。歸一化有同一、統一和合一的意思。無論是為了建模還是為了計算,首先基本度量單位要同一,神經網絡是以樣本在事件中的統計分別幾率來進行訓練(概率計算)和預測的,歸一化是同一在0-1之間的統計概率分布;當所有樣本的輸入信號都為正值時,與第一隱含層神經元相連的權值只能同時增加或減小,從而導致學習速度很慢。為了避免出現這種情況,加快網絡學習速度,可以對輸入信號進行歸一化,使得所有樣本的輸入信號其均值接近于0或與其均方差相比很小。
歸一化是因為sigmoid函數的取值是0到1之間的,網絡最后一個節點的輸出也是如此,所以經常要對樣本的輸出歸一化處理。所以這樣做分類的問題時用[0.8, 0.1, 0.1]就要比用[1, 0, 0]要好。
但是歸一化處理并不總是合適的,根據輸出值的分布情況,標準化等其它統計變換方法有時可能更好。
原文鏈接:
總結
以上是生活随笔為你收集整理的【opencv】21.图像处理为什么要归一化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C++】35.判断一个文件是否存在、
- 下一篇: 【Tools】cmake之编写CMake