本發(fā)明屬于圖像拼接和圖像質(zhì)量評價技術(shù)領(lǐng)域,涉及計算機視覺領(lǐng)域,尤其涉及一種評估拼接圖像清晰度的方法。
背景技術(shù):
隨著電子信息產(chǎn)業(yè)的發(fā)展和技術(shù)進步,能夠獲取、記錄視頻信息的設(shè)備日益普及,但與人眼的視場范圍相比,普通攝像機的視場要小得多,如何有效的利用計算機技術(shù)擴大攝像機拍攝圖像和視頻的視場范圍,引起了研究者的廣泛注意。圖像拼接技術(shù)可以解決由于攝像機等成像儀器的視角和大小的限制,不能生成寬視場圖片的問題,現(xiàn)有的圖像拼接技術(shù)主要有兩種方案:
第一種方案是用一個常規(guī)鏡頭的投影變換和多項式畸變校正技術(shù)用校正模板圖像對鏡頭畸變參數(shù)進行畸變校正,生成一組中間校正后的2d圖像,然后采用2d圖像配準技術(shù)對校正后的圖像元進行2d配準,最后對配準的兩幅圖像進行融合。
第二種方案是把圖像的徑向畸變校正參數(shù)和圖像元的位姿參數(shù)作為一體,整體用最優(yōu)化技術(shù)進行參數(shù)估計,生成一個參數(shù)映射表,然后利用參數(shù)映射表將原始圖片逐張映射到全景圖像中,處理完所有的圖像后,將兩兩相鄰的處理之后的圖像在重疊區(qū)域做一次融合過渡。
從上述過程可以看出,圖像拼接算法性能的好壞受圖像配準和圖像融合兩大步驟的共同影響。針對拼接合成圖像進行算法評價是不可或缺的,但對于圖像拼接算法的定量評價分析,目前尚無統(tǒng)一的標準。已有的評價方法都是通過人眼觀測拼接縫的方法來評估拼接質(zhì)量的好壞,而人眼觀測的方法誤差較大,無法準確評估圖像拼接算法的拼接質(zhì)量。
技術(shù)實現(xiàn)要素:
本發(fā)明為克服上述情況不足,旨在提供一種可以準確的判斷圖像拼接中融合區(qū)域清晰度的好壞的方法。
一種評估拼接圖像清晰度的方法,包括以下步驟:s1:生成訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集;s2:生成卷積神經(jīng)網(wǎng)絡(luò)模型;s3:基于訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)測試測試數(shù)據(jù)集;
所述s1包括s101、s102、s103、s104;
s101:獲取拼接合成圖像;
s102:計算拼接合成圖像的客觀評價參數(shù);選取了清晰度作為客觀評價參數(shù);采用多方向sobel算子檢測邊緣并以其梯度幅值作為清晰度的度量;采用多方向模板si,對圖像中每個點進行領(lǐng)域卷積計算,提取圖像多個方向上的邊緣成分;即有:
其中,imos(x,y)為圖像灰度,圖像中每個像素點的梯度值可以表示為:
為降低圖像噪聲對實際邊緣的影響,將表征圖像整體噪聲的標準差經(jīng)過開發(fā)處理,作為邊緣圖像閾值,則i(x,y)>tn的點即認為是圖像邊緣像素,閾值tn表示如下:
然后,將所有大于閾值的梯度值tn,即把被認為是圖像邊緣像素的梯度值相加,以邊緣梯度能量和定義圖像清晰度評價算子,即:
s103:生成訓(xùn)練數(shù)據(jù)集;
根據(jù)s101步得到的拼接合成圖像以及s102步設(shè)置的客觀評價參數(shù),計算卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)集;對訓(xùn)練樣本集中所有的拼接合成圖像以及相對應(yīng)的原始圖像序列,使用圖像配準技術(shù),將拼接合成圖像與原始圖像序列進行配準,得到二者的重合區(qū)域,將重合區(qū)域按行均勻分割成m塊,對每一塊進行處理,依據(jù)上述兩種評價參數(shù)的計算方法,對每個塊計算它們的客觀評價參數(shù),作為卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)集x={cg1,cl1,cg2,cl2,...,cgm,clm};基于每個塊都會得到一個配準誤差,設(shè)置一個閾值τ,將每個塊的清晰度與τ進行比較,得到對應(yīng)于每個塊的理想輸出yi,計算公式如下:
將所有塊的埋想輸出組合成訓(xùn)練數(shù)據(jù)集y={y1,y2,...,ym},{x,y}一起構(gòu)成了卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)集合;
s104:獲取測試數(shù)據(jù)集;
所述s2步驟包括s201、s202、s203;
s201:構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)模型;s202:設(shè)置輸入層與卷積采樣層參數(shù);s203:利用訓(xùn)練數(shù)據(jù)集訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)。
進一步的,所述步驟s102中還采用了峰值信噪比作為客觀評價參數(shù),計算公式為:
其中,n是評價的拼接序列圖像數(shù)量;s是拼接序列圖像,作為比較的參考圖像;
進一步的,所述步驟s2中采用非全連接的深層神經(jīng)網(wǎng)絡(luò)模型,且同一層中某些神經(jīng)元之間的連接權(quán)重是共享的。
進一步的,所述s201具體為:以步驟s1生成的訓(xùn)練數(shù)據(jù)集中的客觀評價參數(shù)x為輸入,構(gòu)建一個卷積神經(jīng)網(wǎng)絡(luò)模型,該卷積神經(jīng)網(wǎng)絡(luò)采用5層的神經(jīng)網(wǎng)絡(luò),分別是輸入層,第一卷積采樣層,第二卷積采樣層,全鏈接層,輸出層,其中,在第一卷積采樣層首先將輸入與該層設(shè)定的不同卷積核和可加偏置進行卷積,卷積后產(chǎn)生若干個特征,然后對特征按照設(shè)定的池化尺度大小進行特征值求和,加權(quán)值,加偏置,最后通過一個sigmoid函數(shù)得到該層的輸出,第二卷積采樣層進行與第一卷積采樣層相同的操作,區(qū)別在于兩層所使用到的卷積核、池化尺度大小以及偏置不同,兩次卷積采樣層的輸出是特征映射圖,全鏈接層將第二卷積采樣層的特征正向傳播輸出特征向量,同時也可以進行反向傳播操作,在輸出層中將輸入的特征向量按輸出標簽的大小指定輸出。
進一步的,所述步驟s202具體為:輸入層:x={cg1,cl1,cg2,cl2,...,cgm,clm)是卷積神經(jīng)網(wǎng)絡(luò)的輸入,為了將各項不同的評價參數(shù)綜合起來,需要對各個評價指標進行歸一化處理;
卷積采樣層:在一個卷積層l,輸入層的輸入或者是上一層的第i個特征
其中,i,j分別表示上一層和當(dāng)前層上特征映射編號,mj表示選取的輸入特征集合的一個子集,
卷積之后會緊跟著一個子采樣,對于子采樣來說,有n個輸入特征,就有n個輸出特征,只是每個輸出特征在大小上變小了,計算公式如下:
其中,down(.)表示一個下采樣函數(shù),優(yōu)選max-pooling池化模式,池化核大小為2*2,步長為2。
進一步的,所述步驟s203具體分為如下兩個階段:
第一階段:前向傳播階段
對給定的訓(xùn)練數(shù)據(jù)集{x,y},將訓(xùn)練數(shù)據(jù)集中的x輸入到卷積神經(jīng)網(wǎng)絡(luò)的輸入層,經(jīng)過逐層的變換(卷積采樣層,卷積采樣層,全鏈接層,全鏈接層),傳送到輸出層,計算出與x相對應(yīng)的實際輸出o;計算實際輸出o與理想輸出y之間的誤差,這里采用平方誤差代價函數(shù),第n個訓(xùn)練數(shù)據(jù)的誤差表示為:
其中,k表示輸出數(shù)據(jù)的維數(shù),
第二階段:后向傳播階段
后向傳播階段是按照上述計算前向平方誤差方法反向傳播調(diào)整網(wǎng)絡(luò)每一層的權(quán)重矩陣;反向傳播回來的誤差可以看做是每個神經(jīng)元的偏置的靈敏度δ,卷積層逆向誤差傳播公式為:
其中,ο表示每個元素相乘,l表示層數(shù),m,n分別表示上一層和當(dāng)前層上特征的映射編號,
其中,m表示輸入特征的集合,
最后,對每個神經(jīng)元運用δ規(guī)則進行權(quán)值更新;即對一個給定的神經(jīng)元,得到它的輸入,然后用這個神經(jīng)元的δ來進行縮放;用向量的形式表述就是,對于第l層,誤差對于該層每一個權(quán)值的導(dǎo)數(shù)是該層的輸入與該層的靈敏度的叉乘;計算偏置和卷積核的偏導(dǎo)數(shù)公式如下:
其中,e表示誤差代價函數(shù),
進一步的,所述步驟s3具體為:將步驟s103生成的測試數(shù)據(jù)集作為步驟s2訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)的輸入,經(jīng)過該神經(jīng)網(wǎng)絡(luò)后輸出對應(yīng)每個塊的輸出標簽。
根據(jù)卷積神經(jīng)網(wǎng)絡(luò)輸出的每塊的輸出標簽,計算每一幅待評價拼接合成圖像所有塊的輸出標簽的平均值,然后計算同一拼接算法下所有拼接合成圖像輸出標簽的平均值作為該拼接算法效果好壞的評價等級。
綜上所述,利用卷積神經(jīng)網(wǎng)絡(luò),可以代替繁瑣的,大量的人為統(tǒng)計評分,并且可以準確的判斷圖像拼接中融合區(qū)域清晰度的好壞,克服單因素評價指標所帶來的局限性,有利于全自動自適應(yīng)圖像拼接系統(tǒng)的實現(xiàn),具有非常重要的應(yīng)用價值。
本發(fā)明的附加方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例中一種評估拼接圖像清晰度的方法流程圖;
圖2為本發(fā)明實施例中訓(xùn)練數(shù)據(jù)集與測試數(shù)據(jù)集的計算流程圖。
圖3為本發(fā)明實施例中卷積神經(jīng)網(wǎng)絡(luò)計算流程圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1所示,本發(fā)明一種評估拼接圖像清晰度的方法具體包括以下步驟:
s1:生成訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集。
如圖2所示,訓(xùn)練數(shù)據(jù)集與測試數(shù)據(jù)集的計算方法如下:
s101:獲取拼接合成圖像。
利用圖像采集設(shè)備拍攝n組原始圖像序列,然后采用不同的待評價拼接算法對這n組原始圖像序列進行拼接,獲得與每種待評價拼接算法相對應(yīng)的n組拼接合成圖像。
s102:計算拼接合成圖像的客觀評價參數(shù)。
本發(fā)明主要關(guān)心的是拼接合成圖像的匹配誤差,為了實現(xiàn)對拼接合成圖像配準效果的評價,選取了清晰度作為客觀評價參數(shù),進一步的,還可以增加峰值信噪比作為客觀評價參數(shù)。
(1)清晰度
清晰度是觀察者對拼接合成圖像評價時較為關(guān)注的方面。清晰度評價算法有很多,如頻域函數(shù),灰度函數(shù)等,對于拼接圖像全局清晰度評價可任選有效的清晰度評價算法作為該項指標。由于圖像清晰度與圖像邊緣的銳利程度和圖像細節(jié)的多少有密切的關(guān)系,因此本發(fā)明提出采用多方向sobel算子檢測邊緣并以其梯度幅值作為清晰度的度量。
根據(jù)原始sobel算子邊緣檢測理論,采用多方向模板si,對圖像中每個點進行領(lǐng)域卷積計算,提取圖像多個方向上的邊緣成分。即有:
其中,imos(x,y)為圖像灰度,圖像中每個像素點的梯度值可以表示為:
為降低圖像噪聲對實際邊緣的影響,將表征圖像整體噪聲的標準差經(jīng)過開發(fā)處理,作為邊緣圖像閾值,則i(x,y)>tn的點即認為是圖像邊緣像素,閾值tn表示如下
然后,將所有大于閾值的梯度值tn,即把被認為是圖像邊緣像素的梯度值相加,以邊緣梯度能量和定義圖像清晰度評價算子,即:
該指標值越大,代表拼接合成圖像越清晰。
(2)峰值信噪比
該指標可反映相鄰圖像間的灰度、顏色信息差異,體現(xiàn)相鄰幀間圖像拼接的有效性,計算公式為:
其中,n是評價的拼接序列圖像數(shù)量;s是拼接序列圖像,作為比較的參考圖像;
s103:生成訓(xùn)練數(shù)據(jù)集。
根據(jù)s101步得到的拼接合成圖像以及s102步設(shè)置的客觀評價參數(shù),計算卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)集。對訓(xùn)練樣本集中所有的拼接合成圖像以及相對應(yīng)的原始圖像序列,使用圖像配準技術(shù),將拼接合成圖像與原始圖像序列進行配準,得到二者的重合區(qū)域,將重合區(qū)域按行均勻分割成m塊,對每一塊進行處理,依據(jù)上述兩種評價參數(shù)的計算方法,對每個塊計算它們的客觀評價參數(shù),作為卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)集x={cg1,cl1,cg2,cl2,...,cgm,clm}?;诿總€塊都會得到一個配準誤差,設(shè)置一個閾值τ,將每個塊的清晰度與τ進行比較,得到對應(yīng)于每個塊的理想輸出yi,計算公式如下:
將所有塊的埋想輸出組合成訓(xùn)練數(shù)據(jù)集y={y1,y2,...,ym},{x,y}一起構(gòu)成了卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)集合。
s104:獲取測試數(shù)據(jù)集。
測試樣本圖像包括原始序列圖像以及拼接合成圖像,按照步驟s103介紹的方法獲取測試數(shù)據(jù)集ts={cg1,cl1,cg2,cl2,...,cgm,clm}。
s2:卷積神經(jīng)網(wǎng)絡(luò)模型。
在本發(fā)明實施例中,采用的是非全連接的深層神經(jīng)網(wǎng)絡(luò)模型,且同一層中某些神經(jīng)元之間的連接權(quán)重是共享的,這種非全連接和權(quán)重共享的網(wǎng)絡(luò)結(jié)構(gòu)使該模型更類似于生物神經(jīng)網(wǎng)絡(luò),降低了網(wǎng)絡(luò)模型的復(fù)雜度,減少了權(quán)重的數(shù)量。
如圖3所示,卷積神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練包括如下步驟:
s201:構(gòu)建一個卷積神經(jīng)網(wǎng)絡(luò)模型。
以步驟s1生成的訓(xùn)練數(shù)據(jù)集中的客觀評價參數(shù)x為輸入,構(gòu)建一個卷積神經(jīng)網(wǎng)絡(luò)模型,該卷積神經(jīng)網(wǎng)絡(luò)采用5層的神經(jīng)網(wǎng)絡(luò),分別是輸入層,第一卷積采樣層,第二卷積采樣層,全鏈接層,輸出層,其中,在第一卷積采樣層首先將輸入與該層設(shè)定的不同卷積核和可加偏置進行卷積,卷積后產(chǎn)生若干個特征,然后對特征按照設(shè)定的池化尺度大小進行特征值求和,加權(quán)值,加偏置,最后通過一個sigmoid函數(shù)得到該層的輸出,第二卷積采樣層進行與第一卷積采樣層相同的操作,區(qū)別在于兩層所使用到的卷積核、池化尺度大小以及偏置不同,兩次卷積采樣層的輸出是特征映射圖,全鏈接層將第二卷積采樣層的特征正向傳播輸出特征向量,同時也可以進行反向傳播操作,在輸出層中將輸入的特征向量按輸出標簽的大小指定輸出。
以上僅給出卷積神經(jīng)網(wǎng)絡(luò)模型的一個示例,實際上卷積神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建方式可以根據(jù)應(yīng)用目的進行經(jīng)驗設(shè)置,包括卷積池化層數(shù)、全鏈接層數(shù)、卷積核的數(shù)量與大小以及池化尺度等參數(shù)可以根據(jù)應(yīng)用目的進行設(shè)置。
s202:設(shè)置輸入層與卷積采樣層參數(shù)。
輸入層:x=(cg1,cl1,cg2,cl2,...,cgm,clm}是卷積神經(jīng)網(wǎng)絡(luò)的輸入,為了將各項不同的評價參數(shù)綜合起來,需要對各個評價指標進行歸一化處理。
卷積采樣層(包括第一卷積采樣層和第二卷積采樣層):在一個卷積層l,輸入層的輸入或者是上一層的第i個特征
其中,i,j分別表示上一層和當(dāng)前層上特征映射編號,mj表示選取的輸入特征集合的一個子集,
卷積之后會緊跟著一個子采樣,對于子采樣來說,有n個輸入特征,就有n個輸出特征,只是每個輸出特征在大小上變小了,計算公式如下:
其中,down(.)表示一個下采樣函數(shù),優(yōu)選max-pooling池化模式,池化核大小為2*2,步長為2。
卷積神經(jīng)網(wǎng)絡(luò)中的每一個特征提取層(子采樣層)都緊跟著一個用來求局部平均與二次提取的計算層(卷積層),這種特有的兩次特征提取結(jié)構(gòu)使網(wǎng)絡(luò)在識別時對輸入樣本有較高的畸變?nèi)萑棠芰Α?/p>
s203:利用訓(xùn)練數(shù)據(jù)集訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)。
卷積神經(jīng)網(wǎng)絡(luò)在本質(zhì)上是一種輸入到輸出的映射,他能夠?qū)W習(xí)大量的輸入與輸出之間的映射關(guān)系,而不需要任何輸入和輸出之間的精確數(shù)學(xué)表達式,只要用已知的模式對卷積神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,網(wǎng)絡(luò)就具有輸入到輸出對之間的映射能力。在開始訓(xùn)練前,所有的權(quán)重都應(yīng)該進行隨機初始化。
卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法可以分為如下兩個階段:
第一階段:前向傳播階段
對給定的訓(xùn)練數(shù)據(jù)集{x,y},將訓(xùn)練數(shù)據(jù)集中的x輸入到卷積神經(jīng)網(wǎng)絡(luò)的輸入層,經(jīng)過逐層的變換(卷積采樣層,卷積采樣層,全鏈接層,全鏈接層),傳送到輸出層,計算出與x相對應(yīng)的實際輸出o。計算實際輸出o與理想輸出y之間的誤差,這里采用平方誤差代價函數(shù),第n個訓(xùn)練數(shù)據(jù)的誤差表示為:
其中,k表示輸出數(shù)據(jù)的維數(shù),
第二階段:后向傳播階段
后向傳播階段是按照上述計算前向平方誤差方法反向傳播調(diào)整網(wǎng)絡(luò)每一層的權(quán)重矩陣。反向傳播回來的誤差可以看做是每個神經(jīng)元的偏置的靈敏度δ,卷積層逆向誤差傳播公式為:
其中,ο表示每個元素相乘,l表示層數(shù),m,n分別表示上一層和當(dāng)前層上特征的映射編號,
其中,m表示輸入特征的集合,
最后,對每個神經(jīng)元運用δ規(guī)則進行權(quán)值更新。即對一個給定的神經(jīng)元,得到它的輸入,然后用這個神經(jīng)元的δ來進行縮放。用向量的形式表述就是,對于第l層,誤差對于該層每一個權(quán)值(組合為矩陣)的導(dǎo)數(shù)是該層的輸入(等于上一層的輸出)與該層的靈敏度(該層每個神經(jīng)元的δ組合成一個向量的形式)的叉乘。計算偏置和卷積核的偏導(dǎo)數(shù)公式如下:
其中,e表示誤差代價函數(shù),
利用步驟s1獲取的訓(xùn)練數(shù)據(jù)集,采用hinge損失函數(shù)和隨機梯度下降方法對卷積神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,當(dāng)整個卷積神經(jīng)網(wǎng)絡(luò)的損失函數(shù)趨于局部最優(yōu)解附近時,完成訓(xùn)練;其中局部最優(yōu)解事先由人工設(shè)定。
s3:基于訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)測試測試數(shù)據(jù)集。
將步驟s103生成的測試數(shù)據(jù)集作為步驟s2訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)的輸入,經(jīng)過該神經(jīng)網(wǎng)絡(luò)后輸出對應(yīng)每個塊的輸出標簽。
根據(jù)上述卷積神經(jīng)網(wǎng)絡(luò)輸出的每塊的輸出標簽,計算每一幅待評價拼接合成圖像所有塊的輸出標簽的平均值,然后計算同一拼接算法下所有拼接合成圖像輸出標簽的平均值作為該拼接算法效果好壞的評價等級。
綜上所述,利用卷積神經(jīng)網(wǎng)絡(luò),可以代替繁瑣的,大量的人為統(tǒng)計評分,并且可以準確的判斷圖像拼接中融合區(qū)域清晰度的好壞,克服單因素評價指標所帶來的局限性,有利于全自動自適應(yīng)圖像拼接系統(tǒng)的實現(xiàn),具有非常重要的應(yīng)用價值。
以上所揭露的僅為本發(fā)明一種較佳實施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。