江祥奎,汪友明
(西安郵電大學(xué)自動(dòng)化學(xué)院,陜西 西安 710121)
作為立體視覺(jué)中的關(guān)鍵技術(shù),攝像機(jī)標(biāo)定技術(shù)目前己被廣泛關(guān)注。比較經(jīng)典的優(yōu)化算法在攝像機(jī)標(biāo)定中的應(yīng)用也較為普遍,遺傳算法是近年來(lái)應(yīng)用較多的一種優(yōu)化方法,目前已取得一定成效,但主要的研究工作集中在單個(gè)攝像機(jī)的參數(shù)標(biāo)定。采用遺傳算法標(biāo)定攝像機(jī)參數(shù),在收斂性、精度和魯棒性方面具有很好的性能。但由于其攝像機(jī)模型中沒(méi)有包含透鏡畸變因素,如果用于三維測(cè)量,則難以保證精度。另外,標(biāo)準(zhǔn)遺傳算法用于高維空間的尋優(yōu)時(shí)性能會(huì)變差,而且隨著搜索空間維數(shù)的增加,算法性能會(huì)急劇退化,同時(shí),基于神經(jīng)網(wǎng)絡(luò)的攝像機(jī)標(biāo)定方法所能覆蓋的標(biāo)定空間十分有限[1],所以擬采用蟻群遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的攝像機(jī)標(biāo)定方法,以解決傳統(tǒng)攝像機(jī)標(biāo)定中難以解決的問(wèn)題。
遺傳算法具有快速全局搜索能力,但是對(duì)于系統(tǒng)中的反饋信息卻沒(méi)有利用,往往導(dǎo)致大量無(wú)為的冗余迭代,求精確解效率較低[2]。蟻群遺傳算法的流程如圖1所示。
圖1 蟻群-遺傳算法流程
蟻群算法是通過(guò)信息素的積累和更新而收斂于最優(yōu)路徑,具有分布、并行、全局收斂能力,但是搜索初期信息素匱乏,導(dǎo)致搜索初期信息素積累時(shí)間較長(zhǎng),求解速度慢[3-4]。為了克服這2種算法各自的缺陷,形成優(yōu)勢(shì)互補(bǔ),首先利用遺傳算法的隨機(jī)搜索、快速、全局收斂性產(chǎn)生有關(guān)問(wèn)題的初始解,并將其轉(zhuǎn)化為蟻群算法的初始信息素分布,然后利用蟻群算法的并行性、正反饋機(jī)制以及求解效率高等特征尋求最優(yōu)解。在遺傳算法運(yùn)行過(guò)程中動(dòng)態(tài)確定遺傳算法與蟻群算法的融合時(shí)機(jī),避免由于遺傳算法過(guò)早或過(guò)晚結(jié)束而影響算法整體性能,這樣融合后的算法既發(fā)揮了遺傳算法與蟻群算法在尋優(yōu)搜索中的各自的優(yōu)勢(shì),又克服了遺傳算法在搜索到一定階段時(shí)最優(yōu)解搜索效率低以及蟻群算法初始信息素匱乏的不足。
基于蟻群遺傳算法的攝像機(jī)標(biāo)定主要包括:
a.遺傳算法和蟻群算法的融合。首先利用遺傳算法的隨機(jī)搜索、快速、全局收斂性獲取問(wèn)題初始解,并將其轉(zhuǎn)換為蟻群算法的初始信息分布,然后利用蟻群算法的并行性、反饋機(jī)制尋求最優(yōu)解。原理如圖2所示。
圖2 遺傳算法與蟻群算法的融合原理
b.利用步驟1產(chǎn)生的最優(yōu)解作為BP神經(jīng)網(wǎng)絡(luò)的輸入層。搭建的BP神經(jīng)網(wǎng)絡(luò)如圖3所示。
圖3 BP神經(jīng)網(wǎng)絡(luò)的搭建
c.BP神經(jīng)網(wǎng)絡(luò)運(yùn)用于攝像機(jī)標(biāo)定。設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)與攝像機(jī)的物理模型一致,其前向計(jì)算相當(dāng)于求解程序中的被優(yōu)化函數(shù),同時(shí)將蟻群-遺傳算法引入進(jìn)來(lái),以神經(jīng)網(wǎng)絡(luò)性能指標(biāo)的倒數(shù)作為遺傳算法的適應(yīng)度函數(shù),得到系統(tǒng)全局最優(yōu)解的時(shí)候,即可根據(jù)神經(jīng)網(wǎng)絡(luò)的權(quán)值得到攝像機(jī)的內(nèi)、外部參數(shù)。
實(shí)驗(yàn)采用2臺(tái)MV-2000FCMOS攝像機(jī),鏡頭采用Computar公司的M0814-MP,焦距f=8mm。采用AutoCAD繪制,激光打印機(jī)打印的8×8圓陣列圖案(圓直徑20mm,兩圓之間的水平和垂直間距均為10mm)作為標(biāo)定模板,圓心為標(biāo)定點(diǎn)。在不同位置拍攝10對(duì)圖像,給出的其中1對(duì)如圖4所示。將標(biāo)定板置于一垂直于地面的平板,以標(biāo)定板的兩條相互垂直的邊作為世界坐標(biāo)系的X軸和Y軸,Z軸垂直標(biāo)定板,實(shí)驗(yàn)中,以標(biāo)定板所在的平面作為面,即標(biāo)定點(diǎn)Z坐標(biāo)為0。用2臺(tái)攝像機(jī)同時(shí)采集一幅圖像。將特征點(diǎn)在左右兩幅圖像的坐標(biāo)作為輸入,在世界空間坐標(biāo)系的坐標(biāo)作為輸出。
圖4 測(cè)量標(biāo)定板
Matlab神經(jīng)網(wǎng)絡(luò)工具箱提供了相關(guān)函數(shù),可以直接建立網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練和測(cè)試。課題設(shè)計(jì)的是從像平面坐標(biāo)到世界坐標(biāo)系之間的映射,而像平面坐標(biāo)采用是雙目攝像機(jī)采集,即有(u1,v1),(u2,v2)4個(gè)輸入數(shù)據(jù),所以輸入層采用4個(gè)結(jié)點(diǎn)。輸出層是經(jīng)過(guò)網(wǎng)絡(luò)學(xué)習(xí)后輸出的世界坐標(biāo)(XW,YW,ZW),所以,這里的輸出層結(jié)點(diǎn)選擇3個(gè)。隱層節(jié)點(diǎn)數(shù)采用2 N+1個(gè),即9個(gè)。所以網(wǎng)絡(luò)結(jié)構(gòu)為4-9-3。訓(xùn)練數(shù)據(jù)存放在chrom2.mat文件中,是1個(gè)480×7的矩陣。其中1~460行為訓(xùn)練數(shù)據(jù),461~480為測(cè)試數(shù)據(jù),1~4列為輸入數(shù)據(jù),5~7列為輸出數(shù)據(jù)??紤]到遺傳算法工具箱需要自己導(dǎo)入,實(shí)驗(yàn)采用英國(guó)Sheffield遺傳算法工具箱進(jìn)行訓(xùn)練,經(jīng)過(guò)81步訓(xùn)練達(dá)到目標(biāo),此時(shí)網(wǎng)絡(luò)訓(xùn)練停止??梢?jiàn),采用蟻群遺傳算法的BP神經(jīng)網(wǎng)絡(luò)能更好的擬合。
將整個(gè)測(cè)試樣本的均方根誤差RMSE作為標(biāo)定方法的評(píng)價(jià)指標(biāo)。基于蟻群遺傳算法的BP神經(jīng)網(wǎng)絡(luò)標(biāo)定結(jié)果如表1所示。與此同時(shí)還進(jìn)行了基于BP神經(jīng)網(wǎng)絡(luò)的標(biāo)定實(shí)驗(yàn)[5],其標(biāo)定結(jié)果如表2所示。
表1 基于ACGA的BP神經(jīng)網(wǎng)絡(luò)標(biāo)定結(jié)果
表2 基于BP神經(jīng)網(wǎng)絡(luò)的標(biāo)定結(jié)果
對(duì)比表1和表2可知,雖然在X,Y方向上的誤差二者相差不大,但在Z軸方向上,采用蟻群遺傳算法的BP神經(jīng)網(wǎng)絡(luò)誤差明顯低于BP神經(jīng)網(wǎng)絡(luò)的誤差。
通過(guò)對(duì)比,基于蟻群遺傳算法的BP神經(jīng)網(wǎng)絡(luò)標(biāo)定結(jié)果的均方根誤差(RMSE)比基于BP神經(jīng)網(wǎng)絡(luò)的均方根誤差要小,這說(shuō)明采用蟻群遺傳算法優(yōu)化之后的BP神經(jīng)網(wǎng)絡(luò)能訓(xùn)練出更精確的結(jié)果。
神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的非線性逼近能力和學(xué)習(xí)能力,可以不建立復(fù)雜的數(shù)學(xué)模型,通過(guò)直接學(xué)習(xí)系統(tǒng)的輸入輸出數(shù)據(jù),即可建立三維空間中的物點(diǎn)與其對(duì)應(yīng)的二維圖像點(diǎn)的復(fù)雜的非線性映射關(guān)系,具有較好的精度。但是由于網(wǎng)絡(luò)的權(quán)值和閾值隨機(jī),不利于擬合,所以采用融合的蟻群遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),通過(guò)訓(xùn)練誤差作為遺傳算法的目標(biāo)函數(shù),并以此計(jì)算適應(yīng)度來(lái)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,然后再通過(guò)BP網(wǎng)絡(luò)訓(xùn)練,將優(yōu)化后的神經(jīng)網(wǎng)絡(luò)應(yīng)用于攝像機(jī)標(biāo)定中。實(shí)驗(yàn)結(jié)果表明,提出的基于蟻群遺傳算法的BP神經(jīng)網(wǎng)絡(luò)攝像機(jī)標(biāo)定方法切實(shí)可行,有效提高了攝像機(jī)標(biāo)定的精度。
[1]田 震.基于神經(jīng)網(wǎng)絡(luò)方法的攝像機(jī)標(biāo)定技術(shù)研究[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2010.
[2]陳江義,宋雪楓,張明偉.融合蟻群算法和遺傳算法的矩形件排樣問(wèn)題研究[J].鄭州大學(xué)學(xué)報(bào),2011,43(2):79-82.
[3]畢碩本,董學(xué)士,馬 燕.遺傳算法和蟻群算法優(yōu)化TSP的設(shè)計(jì)與分析[J].武漢理工大學(xué)學(xué)報(bào),2010,32(16):89-92.
[4]段海濱.蟻群算法原理及其應(yīng)用[M].北京:科學(xué)出版社,2005.
[5]華??。钣莱?,王木菊,等.基于BP神經(jīng)網(wǎng)絡(luò)的攝像機(jī)標(biāo)定方法研究[J].機(jī)械設(shè)計(jì)與制造,2010,(11):51-53.