本發(fā)明涉及計(jì)算機(jī)視覺領(lǐng)域,尤其涉及相機(jī)標(biāo)定技術(shù)領(lǐng)域的標(biāo)定算法評(píng)價(jià)。
背景技術(shù):
圖像測(cè)量過程以及機(jī)器視覺應(yīng)用中,為確定空間物體表面某點(diǎn)的三維幾何位置與其在圖像中對(duì)應(yīng)點(diǎn)之間的相互關(guān)系,必須建立相機(jī)成像的幾何模型,這些幾何模型參數(shù)就是相機(jī)參數(shù)。在大多數(shù)條件下這些參數(shù)必須通過實(shí)驗(yàn)與計(jì)算才能得到,這個(gè)求解參數(shù)的過程就稱之為相機(jī)標(biāo)定。相機(jī)標(biāo)定的目的就是獲取相機(jī)的內(nèi)參和外參系數(shù)對(duì)之后相機(jī)拍攝的圖像進(jìn)行矯正,得到畸變相對(duì)較小的圖像。
通常相機(jī)標(biāo)定的方法為:采集標(biāo)定板的一系列圖片,并對(duì)每張圖片進(jìn)行角點(diǎn)提取,進(jìn)一步的提取角點(diǎn)的亞像素信息,然后開始相機(jī)的標(biāo)定,最后會(huì)對(duì)標(biāo)定結(jié)果進(jìn)行評(píng)價(jià)。相機(jī)標(biāo)定算法評(píng)價(jià)的方法是通過得到的攝像機(jī)內(nèi)外參數(shù),對(duì)空間的三維點(diǎn)進(jìn)行重新投影計(jì)算,得到空間三維點(diǎn)在圖像上新的投影點(diǎn)的坐標(biāo),計(jì)算投影坐標(biāo)和亞像素角點(diǎn)坐標(biāo)之間的偏差,偏差越小,標(biāo)定結(jié)果越好。
魚眼相機(jī)在提供大視場(chǎng)視野攝像范圍的同時(shí),伴隨而來的是圖像的魚眼畸變。魚眼相機(jī)拍攝的圖像在中心點(diǎn)畸變較小,而由中心點(diǎn)向外畸變會(huì)越來越大,這種相機(jī)非線性畸變需要建立復(fù)雜的相機(jī)模型,一定程度上增加了標(biāo)定的困難度,選取不同的畸變模型。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明為克服上述情況不足,旨在提供一種不需要建立復(fù)雜的非線性畸變模型就可以客觀準(zhǔn)確評(píng)價(jià)相機(jī)標(biāo)定結(jié)果準(zhǔn)確度的方法。
一種魚眼相機(jī)標(biāo)定算法評(píng)價(jià)的方法,包括如下步驟:
s1:獲取經(jīng)過標(biāo)定后相機(jī)的內(nèi)參數(shù)矩陣和畸變系數(shù);首先采用待評(píng)價(jià)的相機(jī)標(biāo)定算法對(duì)相機(jī)進(jìn)行標(biāo)定,獲得經(jīng)過標(biāo)定后相機(jī)的內(nèi)參數(shù)矩陣和畸變系數(shù),然后將標(biāo)定板上特征點(diǎn)的位置坐標(biāo)p以及經(jīng)過標(biāo)定算法獲得的相機(jī)的內(nèi)參數(shù)m和畸變系數(shù)k組合起來構(gòu)成訓(xùn)練數(shù)據(jù)集{p,m,k};
s2:訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,所述神經(jīng)網(wǎng)絡(luò)模型為非全連接且同一層中某些神經(jīng)元之間的連接權(quán)重共享;所述s2包括s201、s202、s203;
s201:構(gòu)建一個(gè)神經(jīng)網(wǎng)絡(luò)模型;所述s201步驟具體為:將步驟s1獲取的訓(xùn)練數(shù)據(jù)集{p,m,k}作為網(wǎng)絡(luò)輸入,構(gòu)建一個(gè)神經(jīng)網(wǎng)絡(luò)模型,該神經(jīng)網(wǎng)絡(luò)采用5層的神經(jīng)網(wǎng)絡(luò),分別是輸入層、第一卷積采樣層、第二卷積采樣層、全鏈接層和輸出層;在第一卷積采樣層首先將輸入與該層設(shè)定的不同卷積核和可加偏置進(jìn)行卷積,卷積后產(chǎn)生若干個(gè)特征,然后對(duì)特征按照設(shè)定的池化尺度大小進(jìn)行特征值求和、加權(quán)值、加偏置,最后通過sigmoid函數(shù)得到該層輸出,第二卷積采樣層進(jìn)行與第一卷積采樣層相同的操作,區(qū)別在于兩層所使用到的卷積核、池化尺度大小以及偏置不同,兩次卷積采樣層的輸出是特征映射圖,全鏈接層將卷積采樣層的特征正向傳播輸出特征向量,同時(shí)也可以進(jìn)行反向傳播操作,在輸出層中將輸入的特征向量按輸出標(biāo)簽的大小指定輸出。
s202:設(shè)置卷積采樣層參數(shù);所述s202步驟具體為:在一個(gè)卷積層l,輸入層的輸入或者是上一層的第i個(gè)特征
其中,i,j分別表示上一層和當(dāng)前層上特征映射編號(hào),mj表示選取的輸入特征集合的一個(gè)子集,
其中,down(.)表示一個(gè)下采樣函數(shù);
s203:利用訓(xùn)練數(shù)據(jù)集訓(xùn)練深度卷積神經(jīng)網(wǎng)絡(luò);
s3:基于測(cè)試數(shù)據(jù)集和訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型,得到測(cè)試數(shù)據(jù)集的輸出;
所述s3具體為:將測(cè)試樣本輸入訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型計(jì)算在相機(jī)下像素的坐標(biāo)值,然后計(jì)算輸出值與真實(shí)值的誤差;計(jì)算公式如下:
其中,d表示輸出值與真實(shí)值的距離差,e表示相對(duì)誤差值,n表示像素點(diǎn)的個(gè)數(shù),(x,y)表示通過神經(jīng)網(wǎng)絡(luò)計(jì)算的輸出像素坐標(biāo),(xr,yr)表示像素的真實(shí)坐標(biāo)值,avg表示相機(jī)標(biāo)定結(jié)果的評(píng)價(jià)值。
進(jìn)一步的,所述子采樣的下采樣函數(shù)采用max-pooling池化模式,池化核大小為2*2,步長為2。
進(jìn)一步的,所述s203步驟具體可以分為如下兩個(gè)階段:
第一階段:前向傳播階段
對(duì)給定的訓(xùn)練數(shù)據(jù)集
其中,k表示輸出數(shù)據(jù)的維數(shù),
第二階段:后向傳播階段
反向傳播回來的誤差是每個(gè)神經(jīng)元的偏置的靈敏度δ,卷積層逆向誤差傳播公式為:
其中,°表示每個(gè)元素相乘,l表示層數(shù),m,n分別表示上一層和當(dāng)前層上特征的映射編號(hào),
池化層的逆向誤差傳播公式計(jì)算如下:
其中,m表示輸入特征的集合,
最后,對(duì)每個(gè)神經(jīng)元運(yùn)用δ規(guī)則進(jìn)行權(quán)值更新;計(jì)算偏置和卷積核的偏導(dǎo)數(shù)公式如下:
其中,e表示誤差代價(jià)函數(shù),
本發(fā)明首先基于標(biāo)定好的魚眼鏡頭的內(nèi)參數(shù)和畸變系數(shù)以及給定的標(biāo)定板的特征點(diǎn)世界坐標(biāo)和相機(jī)下對(duì)應(yīng)的像素點(diǎn)坐標(biāo),進(jìn)行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的非線性映射能力,通過訓(xùn)練能夠作為復(fù)雜數(shù)學(xué)模型的虛表達(dá),滿足魚眼鏡頭等大視場(chǎng)相機(jī)標(biāo)定中相機(jī)模型非線性映射的要求,這樣不需要建立復(fù)雜的非線性畸變模型,可以客觀準(zhǔn)確的評(píng)價(jià)相機(jī)標(biāo)定結(jié)果的準(zhǔn)確度。
本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例中魚眼相機(jī)標(biāo)定算法評(píng)價(jià)的方法流程圖;
圖2為本發(fā)明實(shí)施例中s2步訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的方法流程圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,本發(fā)明一種魚眼相機(jī)標(biāo)定結(jié)果的評(píng)價(jià)方法流程圖具體包括如下步驟:
s1:獲取經(jīng)過標(biāo)定后相機(jī)的內(nèi)參數(shù)矩陣和畸變系數(shù)
首先,采用待評(píng)價(jià)的相機(jī)標(biāo)定算法對(duì)相機(jī)進(jìn)行標(biāo)定,獲得經(jīng)過標(biāo)定后相機(jī)的內(nèi)參數(shù)矩陣和畸變系數(shù)。然后,將標(biāo)定板上特征點(diǎn)的位置坐標(biāo)p以及經(jīng)過標(biāo)定算法獲得的相機(jī)的內(nèi)參數(shù)m和畸變系數(shù)k組合起來構(gòu)成訓(xùn)練數(shù)據(jù)集{p,m,k}。
s2:訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型
在本發(fā)明實(shí)施例中,采用的是非全連接的神經(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ù)量。
如圖2所示,神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練包括如下步驟:
s201:構(gòu)建一個(gè)神經(jīng)網(wǎng)絡(luò)模型。
將步驟s1獲取的訓(xùn)練數(shù)據(jù)集{p,m,k}作為網(wǎng)絡(luò)的輸入,構(gòu)建一個(gè)神經(jīng)網(wǎng)絡(luò)模型,該神經(jīng)網(wǎng)絡(luò)采用5層的神經(jīng)網(wǎng)絡(luò),分別是輸入層,第一卷積采樣層,第二卷積采樣層,全鏈接層,輸出層,其中,在第一卷積采樣層首先將輸入與該層設(shè)定的不同卷積核和可加偏置進(jìn)行卷積,卷積后產(chǎn)生若干個(gè)特征,然后對(duì)特征按照設(shè)定的池化尺度大小進(jìn)行特征值求和,加權(quán)值,加偏置,最后通過一個(gè)sigmoid函數(shù)得到該層的輸出,第二卷積采樣層進(jìn)行與第一卷積采樣層相同的操作,區(qū)別在于兩層所使用到的卷積核、池化尺度大小以及偏置不同,兩次卷積采樣層的輸出是特征映射圖,全鏈接層將卷積采樣層的特征正向傳播輸出特征向量,同時(shí)也可以進(jìn)行反向傳播操作,在輸出層中將輸入的特征向量按輸出標(biāo)簽的大小指定輸出。
以上僅給出深度卷積神經(jīng)網(wǎng)絡(luò)模型的一個(gè)示例,實(shí)際上深度卷積神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建方式可以根據(jù)應(yīng)用目的進(jìn)行經(jīng)驗(yàn)設(shè)置,包括卷積池化層數(shù)、全鏈接層數(shù)、卷積核的數(shù)量與大小以及池化尺度等參數(shù)可以根據(jù)應(yīng)用目的進(jìn)行設(shè)置。
s202:設(shè)置卷積采樣層參數(shù)。
在一個(gè)卷積層l,輸入層的輸入或者是上一層的第i個(gè)特征
其中,i,j分別表示上一層和當(dāng)前層上特征映射編號(hào),mj表示選取的輸入特征集合的一個(gè)子集,
卷積之后會(huì)緊跟著一個(gè)子采樣,對(duì)于子采樣來說,有n個(gè)輸入特征,就有n個(gè)輸出特征,只是每個(gè)輸出特征在大小上變小了,計(jì)算公式如下:
其中,down(.)表示一個(gè)下采樣函數(shù),優(yōu)選max-pooling池化模式,池化核大小為2*2,步長為2。
深度卷積神經(jīng)網(wǎng)絡(luò)中的每一個(gè)特征提取層(子采樣層)都緊跟著一個(gè)用來求局部平均與二次提取的計(jì)算層(卷積層),這種特有的兩次特征提取結(jié)構(gòu)使網(wǎng)絡(luò)在識(shí)別時(shí)對(duì)輸入樣本有較高的畸變?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é)表達(dá)式,只要用已知的模式對(duì)深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,網(wǎng)絡(luò)就具有輸入到輸出對(duì)之間的映射能力。在開始訓(xùn)練前,所有的權(quán)重都應(yīng)該進(jìn)行隨機(jī)初始化。
深度卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法可以分為如下兩個(gè)階段:
第一階段:前向傳播階段
對(duì)給定的訓(xùn)練數(shù)據(jù)集
其中,k表示輸出數(shù)據(jù)的維數(shù),
第二階段:后向傳播階段
后向傳播階段是按照上述計(jì)算前向平方誤差方法反向傳播調(diào)整網(wǎng)絡(luò)每一層的權(quán)重矩陣。反向傳播回來的誤差可以看做是每個(gè)神經(jīng)元的偏置的靈敏度δ,卷積層逆向誤差傳播公式為:
其中,°表示每個(gè)元素相乘,l表示層數(shù),m,n分別表示上一層和當(dāng)前層上特征的映射編號(hào),
其中,m表示輸入特征的集合,
最后,對(duì)每個(gè)神經(jīng)元運(yùn)用δ規(guī)則進(jìn)行權(quán)值更新。即對(duì)一個(gè)給定的神經(jīng)元,得到它的輸入,然后用這個(gè)神經(jīng)元的δ來進(jìn)行縮放。用向量的形式表述就是,對(duì)于第l層,誤差對(duì)于該層每一個(gè)權(quán)值(組合為矩陣)的導(dǎo)數(shù)是該層的輸入(等于上一層的輸出)與該層的靈敏度(該層每個(gè)神經(jīng)元的δ組合成一個(gè)向量的形式)的叉乘。計(jì)算偏置和卷積核的偏導(dǎo)數(shù)公式如下:
其中,e表示誤差代價(jià)函數(shù),
利用步驟s1獲取的訓(xùn)練數(shù)據(jù)集,采用hinge損失函數(shù)和隨機(jī)梯度下降方法對(duì)深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,當(dāng)整個(gè)深度卷積神經(jīng)網(wǎng)絡(luò)的損失函數(shù)趨于局部最優(yōu)解附近時(shí),完成訓(xùn)練;其中局部最優(yōu)解事先由人工設(shè)定。
s3:基于測(cè)試數(shù)據(jù)集和訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型,得到測(cè)試數(shù)據(jù)集的輸出。
將測(cè)試樣本輸入訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型計(jì)算在相機(jī)下像素的坐標(biāo)值,然后計(jì)算輸出值與真實(shí)值的誤差。單純的輸出像素值與真實(shí)值的距離差不能準(zhǔn)確的權(quán)衡標(biāo)定的誤差,故本發(fā)明采用輸出值與真實(shí)值的距離差d在整個(gè)標(biāo)定平面所占的比例作為相對(duì)誤差值e,最后統(tǒng)計(jì)所有誤差的平均值得到相機(jī)標(biāo)定結(jié)果的評(píng)價(jià)值avg。計(jì)算公式如下:
其中,n表示像素點(diǎn)的個(gè)數(shù),(x,y)表示通過神經(jīng)網(wǎng)絡(luò)計(jì)算的輸出像素坐標(biāo),(xr,yr)表示像素的真實(shí)坐標(biāo)值。
本發(fā)明首先基于標(biāo)定好的魚眼鏡頭的內(nèi)參數(shù)和畸變系數(shù)以及給定的標(biāo)定板的特征點(diǎn)世界坐標(biāo)和相機(jī)下對(duì)應(yīng)的像素點(diǎn)坐標(biāo),進(jìn)行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的非線性映射能力,通過訓(xùn)練能夠作為復(fù)雜數(shù)學(xué)模型的虛表達(dá),滿足魚眼鏡頭等大視場(chǎng)相機(jī)標(biāo)定中相機(jī)模型非線性映射的要求,這樣不需要建立復(fù)雜的非線性畸變模型,可以客觀準(zhǔn)確的評(píng)價(jià)相機(jī)標(biāo)定結(jié)果的準(zhǔn)確度。
以上所揭露的僅為本發(fā)明一種較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。