溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

opencv歸一化函數(shù)normalize詳解

發(fā)布時間:2020-04-09 10:27:52 來源:網(wǎng)絡(luò) 閱讀:22615 作者:Joe科技 欄目:開發(fā)技術(shù)

opencv 2 歸一化函數(shù)normalize詳解

1. 歸一化定義與作用

    歸一化就是要把需要處理的數(shù)據(jù)經(jīng)過處理后(通過某種算法)限制在你需要的一定范圍內(nèi)。首先歸一化是為了后面數(shù)據(jù)處理的方便,其次是保證程序運行時收斂加快。歸一化的具體作用是歸納統(tǒng)一樣本的統(tǒng)計分布性。歸一化在0-1之間是統(tǒng)計的概率分布,歸一化在某個區(qū)間上是統(tǒng)計的坐標分布。歸一化有同一、統(tǒng)一和合一的意思。

    歸一化的目的簡而言之,是使得沒有可比性的數(shù)據(jù)變得具有可比性,同時又保持相比較的兩個數(shù)據(jù)之間的相對關(guān)系,如大小關(guān)系;或是為了作圖,原來很難在一張圖上作出來,歸一化后就可以很方便的給出圖上的相對位置等。

    在使用機器學習算法的數(shù)據(jù)預(yù)處理階段,歸一化也是非常重要的一個步驟。例如在應(yīng)用SVM之前,縮放是非常重要的。Sarle的神經(jīng)網(wǎng)絡(luò)FAQ的第二部分(1997)闡述了縮放的重要性,大多數(shù)注意事項也適用于SVM??s放的最主要優(yōu)點是能夠避免大數(shù)值區(qū)間的屬性過分支配了小數(shù)值區(qū)間的屬性。另一個優(yōu)點能避免計算過程中數(shù)值復雜度。因為關(guān)鍵值通常依賴特征向量的內(nèi)積(inner products),例如,線性核和多項式核,屬性的大數(shù)值可能會導致數(shù)值問題。我們推薦將每個屬性線性縮放到區(qū)間[-1,+1]或者[0, 1]。

    當然,我們必須使用同樣的方法縮放訓練數(shù)據(jù)和測試數(shù)據(jù)。例如,假設(shè)我們把訓練數(shù)據(jù)的第一個屬性從[-10,+10]縮放到[-1, +1],那么如果測試數(shù)據(jù)的第一個屬性屬于區(qū)間[-11, +8],我們必須將測試數(shù)據(jù)轉(zhuǎn)變成[-1.1, +0.8]。

參考:“SVM:從理論到OpenCV實踐” 4.2 歸一化數(shù)據(jù):

http://blog.csdn.net/zhazhiqiang/article/details/20146243

2. normalize 函數(shù)介紹

函數(shù)原型:

    void normalize(InputArray src,OutputArraydst, double alpha = 1, double beta = 0, intnorm_type = NORM_L2, int dtype = -1, InputArray mask = noArray() )

    該函數(shù)歸一化輸入數(shù)組使它的范數(shù)或者數(shù)值范圍在一定的范圍內(nèi)。

Parameters:

src

    輸入數(shù)組

dst

    輸出數(shù)組,支持原地運算

alpha

    range normalization模式的最小值

beta 

    range normalization模式的最大值,不用于norm normalization(范數(shù)歸一化)模式。

normType

    歸一化的類型,可以有以下的取值:

    NORM_MINMAX:數(shù)組的數(shù)值被平移或縮放到一個指定的范圍,線性歸一化,一般較常用。

    NORM_INF:此類型的定義沒有查到,根據(jù)OpenCV 1的對應(yīng)項,可能是歸一化數(shù)組的C-范數(shù)(絕對值的最大值)

    NORM_L1 :  歸一化數(shù)組的L1-范數(shù)(絕對值的和)

    NORM_L2: 歸一化數(shù)組的(歐幾里德)L2-范數(shù)

dtype

    dtype為負數(shù)時,輸出數(shù)組的type與輸入數(shù)組的type相同;

否則,輸出數(shù)組與輸入數(shù)組只是通道數(shù)相同,而tpye=CV_MAT_DEPTH(dtype).

mask

    操作掩膜,用于指示函數(shù)是否僅僅對指定的元素進行操作。

3.歸一化公式:

1、線性函數(shù)轉(zhuǎn)換,表達式如下:(對應(yīng)NORM_MINMAX)

if mask(i,j)!=0

    dst(i,j) = (src(i,j) - min(src)) * (b' - a') / (max(src) - min(src)) +  a'

else

     dst(i,j) = src(i,j)

    其中b' = MAX(alpha,beta ) , a' = MIN(alpha,beta );

2. 當norm_type!=NORM_MINMAX:

if mask(i,j) != 0

    dst(i,j) = src(i,j) *alpha / norm (src,norm_type,mask)

else

    dst(i,j) = src(i,j)

    其中,函數(shù)norm的功能是計算norm(范數(shù))的絕對值

Thefunctions norm calculate an absolute norm of src1 (when there is no src2 ):

opencv歸一化函數(shù)normalize詳解

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI