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.9
0.1 0.1]就要比用[1 0 0]要好。
但是歸一化處理並不總是合適的,根據輸出值的分佈情況,標準化等其它統計變換方法有時可能更好。
二、如何歸一化
matlab中的歸一化處理有三種方法
1. premnmx、postmnmx、tramnmx
2. restd、poststd、trastd
3. 自己程式設計
(1)線性函式轉換,表示式如下:
y=(x-MinValue)/(MaxValue-MinValue)
說明:x、y分別為轉換前、後的值,MaxValue、MinValue分別為樣本的最大值和最小值。
(2)對數函式轉換,表示式如下:
y=log10(x)
說明:以10為底的對數函式轉換。
(3)反餘切函式轉換,表示式如下:
y=atan(x)*2/PI
(4)一個歸一化程式碼.
I=double(I);
maxvalue=max(max(I)');%max在把矩陣每列的最大值找到,並組成一個單行的陣列,轉置一下就會行轉換為列,再max就求一個最大的值,如果不轉置,只能求出每列的最大值。
f = 1 - I/maxvalue; %為什麼要用1去減?
Image1=f;
相關文章
- matlab中將RGB影象轉化為灰度影象Matlab
- 為什麼要虛擬化,為什麼要容器,為什麼要Docker,為什麼要K8S?DockerK8S
- [Python影象處理] 七.影象閾值化處理及演算法對比Python演算法
- 影象處理之影象增強
- 特徵預處理之歸一化&標準化特徵
- 什麼是NLP,NLP主要有什麼用,為什麼要學自然語言處理?自然語言處理
- [Python影象處理] 一.影象處理基礎知識及OpenCV入門函式PythonOpenCV函式
- Python資料預處理:徹底理解標準化和歸一化Python
- 數字影象處理-第一節
- 實戰 | 用Python做影象處理(一)Python
- Sklearn之資料預處理——StandardScaler歸一化
- 為什麼要特徵標準化特徵
- 前端為什麼要工程化?前端
- [Python影象處理] 八.影象腐蝕與影象膨脹Python
- [Python影象處理] 六.影象縮放、影象旋轉、影象翻轉與影象平移Python
- 數字影象處理DIP
- python為什麼要字串格式化Python字串格式化
- 為什麼要學習Linux?學習Linux有什麼好處?Linux
- 異常是什麼和怎麼去處理!--
- 影象中的畫素處理
- 為什麼要建立資料視覺化視覺化
- [Python影象處理] 三.獲取影象屬性、興趣ROI區域及通道處理Python
- 為什麼要開展等級保護工作?有什麼好處?
- 銳龍處理器和酷睿處理器哪個好 為什麼都不建議買銳龍處理器
- 使用matlab對影像進行二值化處理Matlab
- MATLAB中的影象融合Matlab
- [Python影象處理] 五.影象融合、加法運算及影象型別轉換Python型別
- matlab中中影象PSNR和SSIM的計算Matlab
- 影象處理庫GPUImage簡單使用GPUUI
- 為什麼要對資料庫最佳化資料庫
- 為什麼要上BI視覺化系統?視覺化
- 為什麼說流處理即未來?\n
- [Python影象處理] 十.形態學之影象頂帽運算和黑帽運算Python
- 特徵工程中的「歸一化」有什麼作用特徵工程
- Android元件化開發實踐(一):為什麼要進行元件化開發?Android元件化
- 單元測試效率優化:為什麼要對程式進行測試?測試有什麼好處?優化
- 多對一處理 和一對多處理的處理
- 為什麼要code reviewView
- 為什麼要寫作