国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于混合蛙跳優(yōu)化的采摘機(jī)器人相機(jī)標(biāo)定方法

2019-02-15 07:24陳科尹鄒湘軍關(guān)卓懷彭紅星吳崇友
關(guān)鍵詞:蛙跳雙目靶標(biāo)

陳科尹 鄒湘軍 關(guān)卓懷 王 剛 彭紅星 吳崇友

(1.農(nóng)業(yè)農(nóng)村部南京農(nóng)業(yè)機(jī)械化研究所, 南京 210014; 2.賀州學(xué)院信息與通信工程學(xué)院, 賀州 542899; 3.華南農(nóng)業(yè)大學(xué)南方農(nóng)業(yè)機(jī)械與裝備關(guān)鍵技術(shù)省部共建教育部重點(diǎn)實(shí)驗(yàn)室, 廣州 510642)

0 引言

相機(jī)標(biāo)定是采摘機(jī)器人進(jìn)行視覺識(shí)別與定位的重要前期步驟之一。相機(jī)標(biāo)定精度在很大程度上決定了后續(xù)目標(biāo)識(shí)別定位的準(zhǔn)確性。因此,找到一種精度高、穩(wěn)定可靠的相機(jī)標(biāo)定方法顯得格外重要。目前,比較常見的相機(jī)標(biāo)定方法是基于張正友相機(jī)標(biāo)定原理,利用計(jì)算智能優(yōu)化算法對(duì)其進(jìn)行改進(jìn)[1-7]。YAO等[1]利用遺傳算法BP神經(jīng)網(wǎng)絡(luò)對(duì)張正友相機(jī)標(biāo)定方法進(jìn)行改進(jìn);FüHR等[2]在張正友相機(jī)標(biāo)定方法的基礎(chǔ)上,提出了一種基于非線性優(yōu)化的相機(jī)自標(biāo)定方法;PITCHANDI等[3]結(jié)合張正友相機(jī)標(biāo)定方法,利用遺傳算法對(duì)視覺輔助機(jī)器人裝配系統(tǒng)的相機(jī)標(biāo)定問題進(jìn)行了研究;ZHANG等[4]基于張正友相機(jī)標(biāo)定方法,提出了一種基于線段的柔性在線相機(jī)標(biāo)定方法;游江等[5]提出了基于改進(jìn)遺傳模擬退火的相機(jī)標(biāo)定方法;柯豐愷等[6]提出了基于凸松弛優(yōu)化算法的相機(jī)內(nèi)外參數(shù)標(biāo)定方法;劉艷等[7]針對(duì)魚眼鏡頭存在的畸變問題,對(duì)張正友相機(jī)標(biāo)定法進(jìn)行了改進(jìn)。

但此類基于張正友相機(jī)標(biāo)定原理改進(jìn)的相機(jī)標(biāo)定方法還存在以下問題[8-9]:在求取相機(jī)標(biāo)定參數(shù)初值時(shí),先不考慮相機(jī)畸變因素,直接利用平面靶標(biāo)圖像中的特征點(diǎn)線性求解相機(jī)標(biāo)定參數(shù)初值。但實(shí)際上這些特征點(diǎn)存在的畸變誤差會(huì)影響相機(jī)標(biāo)定參數(shù)初值的準(zhǔn)確性。在考慮相機(jī)畸變因素、進(jìn)一步優(yōu)化相機(jī)標(biāo)定參數(shù)時(shí),采用了非線性優(yōu)化過程,若相機(jī)標(biāo)定參數(shù)初值選擇不當(dāng),容易收斂到局部最小,從而影響相機(jī)標(biāo)定參數(shù)的精度以及穩(wěn)定性。平面靶標(biāo)圖像數(shù)量直接影響相機(jī)標(biāo)定參數(shù)的精度和穩(wěn)定性。基于張正友相機(jī)標(biāo)定原理的本質(zhì)是通過建立平面靶標(biāo)圖像中特征點(diǎn)的世界坐標(biāo)與像素坐標(biāo)之間的映射關(guān)系方程組,根據(jù)最小二乘方法,求取相機(jī)標(biāo)定參數(shù)。顯然,通過增加平面靶標(biāo)圖像數(shù)量,即可增加特征點(diǎn)的世界坐標(biāo)與像素坐標(biāo)之間映射關(guān)系方程組的數(shù)量,從而提高最小二乘方法求取相機(jī)標(biāo)定參數(shù)的精度。但隨著平面靶標(biāo)圖像數(shù)量的不斷增加,在同等標(biāo)定環(huán)境下特征點(diǎn)的提取和畸變等誤差也不可避免地帶入相機(jī)標(biāo)定過程,從而影響相機(jī)標(biāo)定參數(shù)的精度和穩(wěn)定性。

為此,按照對(duì)采摘機(jī)器人相機(jī)標(biāo)定精度的要求(相機(jī)焦距的絕對(duì)誤差在0.1~1 mm內(nèi),相對(duì)誤差在1%~15%內(nèi);平面靶標(biāo)圖像特征點(diǎn)的平均像素誤差在1個(gè)像素內(nèi);雙目相機(jī)之間距離的絕對(duì)誤差在1~5 mm內(nèi),相對(duì)誤差在1%~6%內(nèi)),本文擬引進(jìn)混合蛙跳優(yōu)化算法和LM算法對(duì)采摘機(jī)器人相機(jī)標(biāo)定,進(jìn)行定量研究。同時(shí),為驗(yàn)證本文相機(jī)標(biāo)定方法的有效性和可靠性,分別同傳統(tǒng)張正友相機(jī)標(biāo)定方法(OpenCV庫自帶)、基于遺傳算法的相機(jī)標(biāo)定方法以及基于標(biāo)準(zhǔn)混合蛙跳算法的相機(jī)標(biāo)定方法進(jìn)行相機(jī)標(biāo)定性能對(duì)比試驗(yàn)。

1 相機(jī)標(biāo)定

1.1 張正友相機(jī)標(biāo)定原理

張正友相機(jī)標(biāo)定原理[10]是通過移動(dòng)相機(jī)或平面靶標(biāo)(標(biāo)定板),從不同的方位采集平面靶標(biāo)圖像,利用平面靶標(biāo)上特征點(diǎn)的圖像坐標(biāo)和其已知的三維空間坐標(biāo)(Z坐標(biāo)置為0)的對(duì)應(yīng)關(guān)系,計(jì)算出相機(jī)模型參數(shù)的初始值,然后再進(jìn)行非線性優(yōu)化,從而完成相機(jī)標(biāo)定操作。其具體相機(jī)標(biāo)定過程如圖1所示。

圖1 張正友相機(jī)標(biāo)定原理的相機(jī)標(biāo)定過程Fig.1 Camera calibration process with Zhang Zhengyou’s camera calibration principle

圖1中,R為相機(jī)外參旋轉(zhuǎn)矩陣,T為相機(jī)外參平移向量,f為相機(jī)焦距,u0為相機(jī)內(nèi)參光心橫向像素坐標(biāo),v0為相機(jī)內(nèi)參光心縱向像素坐標(biāo),fx為相機(jī)內(nèi)參焦距橫向像素,fy為相機(jī)內(nèi)參焦距縱向像素,α為相機(jī)內(nèi)參成像平面傾角,k1、k2、k3為相機(jī)徑向畸變參數(shù),p1、p2為相機(jī)切向畸變參數(shù)。

1.2 基于改進(jìn)混合蛙跳算法和LM算法的相機(jī)標(biāo)定原理

張正友相機(jī)標(biāo)定方法,一般先直接求取相機(jī)模型的參數(shù)初值,然后利用LM算法對(duì)該參數(shù)初值進(jìn)一步非線性優(yōu)化求精,從而求出最終的相機(jī)模型參數(shù)。但是,直接求解相機(jī)模型參數(shù)初值的計(jì)算過程非常繁瑣,并且由于LM算法自身固有的特點(diǎn),該類相機(jī)標(biāo)定方法對(duì)相機(jī)模型的參數(shù)初值非常敏感,從而使標(biāo)定出的相機(jī)模型參數(shù)很不穩(wěn)定。

本文結(jié)合混合蛙跳優(yōu)化算法以及LM算法各自的特點(diǎn),對(duì)張正友相機(jī)標(biāo)定原理,進(jìn)行以下幾點(diǎn)改進(jìn):直接運(yùn)用最小二乘法求取單應(yīng)性矩陣,不必要利用LM算法對(duì)其進(jìn)行優(yōu)化,簡(jiǎn)化了求取單應(yīng)性矩陣的過程。運(yùn)用混合蛙跳優(yōu)化算法來求取相機(jī)模型參數(shù)初值,避免直接求取相機(jī)模型的參數(shù)初值所帶來的繁瑣計(jì)算和LM算法對(duì)參數(shù)初值敏感的問題。運(yùn)用改進(jìn)LM算法對(duì)相機(jī)模型的參數(shù)初值進(jìn)行優(yōu)化處理,避免了原LM算法必須求取需要優(yōu)化參數(shù)的雅可比矩陣,從而造成優(yōu)化過程中出現(xiàn)不穩(wěn)定現(xiàn)象。

1.2.1混合蛙跳優(yōu)化算法

混合蛙跳優(yōu)化算法[11-13]是模仿青蛙覓食過程中的群體信息交互機(jī)制而建立的一類智能計(jì)算優(yōu)化算法。該優(yōu)化算法結(jié)合了模因(Meme)演算法和粒子群優(yōu)化算法各自的優(yōu)點(diǎn),具有概念簡(jiǎn)單、控制參數(shù)少、計(jì)算量小、全局尋優(yōu)能力強(qiáng)、魯棒性好、易于實(shí)現(xiàn)等特點(diǎn)。為此,選取該優(yōu)化算法來求取相機(jī)模型的參數(shù)初始值。其基本原理可描述為:

假設(shè)L={F1,F2,…,FN}為N只青蛙組成的初始種群;其中,F(xiàn)i={xi1,xi2,…,xiS}為所求問題的S維解空間中的第i只青蛙。并且,將該種群內(nèi)的青蛙個(gè)體按適應(yīng)值降序排列。接著把整個(gè)種群劃分為m個(gè)模因組,第1只青蛙劃入第1個(gè)模因組,第2只青蛙劃入第2個(gè)模因組,第m只青蛙劃入第m個(gè)模因組,第m+1只青蛙劃入第m+1個(gè)模因組,依此類推,直至種群內(nèi)所有青蛙分配完畢。

同時(shí),把每一個(gè)模因組內(nèi)具有最好適應(yīng)值和最差適應(yīng)值的青蛙分別標(biāo)記為Fb和Fw,而該種群中具有最優(yōu)適應(yīng)值的青蛙標(biāo)記為Fg。然后,對(duì)模因組內(nèi)的每一個(gè)青蛙執(zhí)行局部位置更新操作,具體更新公式為

(1)

式中r——0~1之間的隨機(jī)數(shù)

D——青蛙移動(dòng)的距離

?——位置更新操作

Dmax——青蛙所允許移動(dòng)的最大距離

如果更新后得到的青蛙優(yōu)于原來的青蛙,則可替代原模因組內(nèi)的青蛙Fw;否則,用Fg代替Fb,執(zhí)行局部位置更新操作

(2)

如果式(2)操作仍然不能獲得更好適應(yīng)值的青蛙或移動(dòng)過程中超過了青蛙所允許的最大移動(dòng)距離,那么就隨機(jī)生成一個(gè)新的青蛙直接替代原來的Fw。重復(fù)數(shù)次以上局部位置更新操作,并將所有模因組內(nèi)的青蛙重新混合排序和劃分模因組,再執(zhí)行下一輪的數(shù)次局部位置更新操作,直到滿足預(yù)先設(shè)定的收斂條件或者達(dá)到混合最大迭代次數(shù)為止。

為了加快混合蛙跳優(yōu)化算法的收斂速度和減少其局部位置更新操作的次數(shù),本文在文獻(xiàn)[14-15]的基礎(chǔ)上,對(duì)其稍作些修改:對(duì)其局部位置更新操作,引入加速因子。僅需執(zhí)行一次局部位置更新操作,取消多次重復(fù)執(zhí)行該操作。修改后的混合蛙跳算法的局部位置更新操作為

(3)

式中c——加速因子

若更新后得到的青蛙優(yōu)于原來的青蛙,則可替代原模因組內(nèi)的青蛙Fw;否則,用Fg代替Fb,執(zhí)行局部位置更新操作

(4)

如果式(4)等操作仍然不能獲得更好適應(yīng)值的青蛙或移動(dòng)過程中超過了青蛙所允許的最大移動(dòng)距離Dmax,那就隨機(jī)生成一個(gè)新的青蛙直接替代原來的Fw。

修改后混合蛙跳優(yōu)化算法的具體實(shí)現(xiàn)過程為:

(1)初始化相關(guān)參數(shù),在所求問題的定義域內(nèi)隨機(jī)產(chǎn)生N只青蛙,構(gòu)成一個(gè)初始種群,并置模因組數(shù)為m,模因組內(nèi)的青蛙個(gè)數(shù)為n,使其滿足N=m×n;置混合最大迭代次數(shù)為G。

(2)計(jì)算每只青蛙的適應(yīng)值,并按照其適應(yīng)值的大小降序排列、選出該種群中具有最優(yōu)適應(yīng)值的Fg和劃分模因組。

(3)選出每個(gè)模因組的Fb,依據(jù)式(3)和式(4),執(zhí)行局部位置更新操作,更新每個(gè)模因組的Fw。

(4)判斷混合迭代次數(shù)是否達(dá)到G或者是否符合預(yù)先設(shè)定的收斂條件,如果不滿足,則返回步驟(2)繼續(xù)執(zhí)行;如果滿足,則結(jié)束算法,輸出Fg,即所求問題的解。

1.2.2改進(jìn)LM算法

相機(jī)模型參數(shù)的非線性優(yōu)化,一般可歸納為非線性最小二乘問題。LM算法是解決該類問題較為有效的方法[16]。但是,LM算法需要求取優(yōu)化參數(shù)函數(shù)的雅可比矩陣。而相機(jī)模型的優(yōu)化參數(shù)函數(shù)往往都很復(fù)雜,很難通過偏導(dǎo)方法求取其雅可比矩陣。為此,本文采用文獻(xiàn)[17]提出的改進(jìn)LM算法,把原LM算法采取求偏導(dǎo)方式來獲取優(yōu)化參數(shù)函數(shù)的雅可比矩陣替換為通過求差商方式來獲取。

一般非線性最小二乘問題,都可構(gòu)造目標(biāo)優(yōu)化函數(shù)

(5)

其中f(X)=[f1(X)f2(X) …fm(X)]T

fi(X)=fi(x1,x2,…,xn)
X=(x1,x2,…,xn)T

式中X——需要優(yōu)化的參數(shù)向量

xi——需要優(yōu)化的參數(shù)(i=1,2,…,m)

改進(jìn)LM算法的具體步驟可描述為:

(1)給出需要優(yōu)化的參數(shù)向量的初值X(1),初始化阻尼系數(shù)c、放大系數(shù)β(一般憑經(jīng)驗(yàn)可取c=0.01,β=10)、允許誤差ε,并計(jì)算出F(X(1))。

(2)令c?c/β,并且計(jì)算出需要優(yōu)化的參數(shù)向量f(k)及其雅可比矩陣Ak。

f(k)=[f1(X(k))f2(X(k))…fm(X(k))]T

(6)

(7)

(4)計(jì)算F(X(k+1)),如果F(X(k+1))

1.2.3結(jié)合混合蛙跳和改進(jìn)LM算法的相機(jī)標(biāo)定

參照張正友相機(jī)標(biāo)定原理,結(jié)合混合蛙跳優(yōu)化算法和改進(jìn)LM算法的各自優(yōu)點(diǎn),把相機(jī)標(biāo)定過程劃分為以下兩步:第1步,以混合蛙跳算法為工具,求出相機(jī)模型參數(shù)的初始值。第2步,以改進(jìn)LM算法對(duì)第1步求出的相機(jī)模型參數(shù)的初始值,進(jìn)一步非線性優(yōu)化求精,最終求得標(biāo)定精度較高的相機(jī)模型參數(shù)。

一般相機(jī)模型需要標(biāo)定的參數(shù)包括:內(nèi)部參數(shù)(fx,fy,α,u0,v0)、外部參數(shù)(R,T)和畸變參數(shù)(k1,k2,k3,p1,p2)。而外部參數(shù)求取公式為

(8)

式中K——相機(jī)模型的內(nèi)參數(shù)矩陣

H——單應(yīng)性矩陣

h1、h2、h3——H的第1、2、3列向量

s——比例系數(shù)

r1、r2、r3——R的第1、2、3列向量

改進(jìn)LM算法對(duì)相機(jī)參數(shù)非線性優(yōu)化目標(biāo)函數(shù)定義為平面靶標(biāo)圖像的二維重投影誤差

(9)

式中Iij——第i幅平面靶標(biāo)圖像上第j個(gè)特征點(diǎn)在圖像像素坐標(biāo)系下的坐標(biāo)

Pij——第i幅平面靶標(biāo)圖像上第j個(gè)特征點(diǎn)的三維世界坐標(biāo)

L——平面靶標(biāo)圖像數(shù)

M——單幅平面靶標(biāo)圖像特征點(diǎn)數(shù)

為了減少混合蛙跳算法的搜索維數(shù),本文僅利用混合蛙跳算法來尋求相機(jī)模型的內(nèi)部參數(shù)和畸變參數(shù),而每一幅平面靶標(biāo)圖像的相機(jī)模型外部參數(shù)由式(8)來求取。為此,依據(jù)混合蛙跳算法的原理,可以把每一只青蛙個(gè)體表示為

(10)

式中Fk——第k只青蛙個(gè)體

顯然,又可把混合蛙跳算法的每個(gè)模因組內(nèi)具有最好適應(yīng)值和最差適應(yīng)值以及整個(gè)種群中具有最優(yōu)適應(yīng)值的青蛙個(gè)體表示為

(11)

(12)

(13)

并依據(jù)二維圖像特征點(diǎn)與三維空間點(diǎn)之間的二維重投影誤差和混合蛙跳算法的特點(diǎn),求取青蛙個(gè)體適應(yīng)值函數(shù)

(14)

基于改進(jìn)混合蛙跳和LM算法的相機(jī)標(biāo)定詳細(xì)步驟為:

(1)提取所有平面靶標(biāo)圖像特征點(diǎn)圖像像素坐標(biāo)系下的二維坐標(biāo),同時(shí)根據(jù)平面靶標(biāo)圖像特征點(diǎn)的二維坐標(biāo)以及其三維世界坐標(biāo),利用最小二乘法直接求取每幅平面靶標(biāo)圖像的單應(yīng)性矩陣H。

(15)

式中 rand()——0~1之間的隨機(jī)函數(shù)

Wk、Hk——平面靶標(biāo)圖像的寬度和高度

(4)選出每個(gè)模因組Fb,依據(jù)式(3)和式(4),執(zhí)行局部位置更新操作,更新每個(gè)模因組Fw。

(5)判斷混合迭代次數(shù)是否達(dá)到G或者是否達(dá)到預(yù)先設(shè)定最小適應(yīng)值η,如不滿足,則返回步驟(3)繼續(xù)執(zhí)行;如滿足,則轉(zhuǎn)到步驟(6)。

1.2.4雙目相機(jī)立體標(biāo)定

由于采摘機(jī)器人采用雙目相機(jī)視覺系統(tǒng),所以不僅需知左、右相機(jī)模型的內(nèi)、外參數(shù),還需知左、右相機(jī)之間的對(duì)應(yīng)關(guān)系(即左、右相機(jī)之間的旋轉(zhuǎn)矩陣和三維平移向量)。

其具體的求解過程為先按照前面介紹的相機(jī)標(biāo)定方法,分別單獨(dú)求出左、右相機(jī)模型的參數(shù),然后依據(jù)左、右相機(jī)之間的對(duì)應(yīng)關(guān)系,求出左、右相機(jī)之間的旋轉(zhuǎn)矩陣Rlr和三維平移向量Tlr[18-20]。

假設(shè)三維空間中的任意一點(diǎn)P,在世界坐標(biāo)系、左相機(jī)坐標(biāo)系以及右相機(jī)坐標(biāo)系下的非齊次坐標(biāo)分別為XW、XCl、XCr,則有

(16)

式中Rl、Tl——左相機(jī)模型的外部參數(shù)旋轉(zhuǎn)矩陣和三維平移向量

Rr、Tr——右相機(jī)模型的外部參數(shù)旋轉(zhuǎn)矩陣和三維平移向量

整理式(16),可得

XCl=RlrXCr+Tlr

(17)

2 試驗(yàn)與結(jié)果分析

根據(jù)采摘機(jī)器人視覺定位精度的要求(視覺定位位置絕對(duì)誤差0.1~1 mm,相對(duì)誤差1%~10%)以及雙目視覺系統(tǒng)的標(biāo)定原理,本文設(shè)計(jì)了由1個(gè)三角架、2個(gè)出廠參數(shù)相同的廣角相機(jī)(出廠焦距參數(shù)f為3.5 mm,像元橫向物理尺寸dx為4.65 μm,像元縱向物理尺寸dy為4.65 μm,兩個(gè)相機(jī)主光心之間距離即雙目相機(jī)之間距離為60 mm)和平面靶標(biāo)(平面靶標(biāo)方格的邊長為25 mm)組成的采摘機(jī)器人雙目相機(jī)標(biāo)定試驗(yàn)平臺(tái)(圖2)。

圖2 雙目相機(jī)標(biāo)定試驗(yàn)平臺(tái)Fig.2 Test platform of binocular camera calibration

運(yùn)用OpenCV2.3.1、VS2008和OpenGL編程實(shí)現(xiàn)了采摘機(jī)器人雙目視覺標(biāo)定系統(tǒng),見圖3。該標(biāo)定系統(tǒng)包括OpenCV自帶的傳統(tǒng)張正友相機(jī)標(biāo)定方法、基于遺傳算法的相機(jī)標(biāo)定方法(設(shè)置交叉概率p為0.8,變異概率q為0.2,優(yōu)化閾值t為0.5,種群大小N為50,最大迭代次數(shù)G為100)、基于標(biāo)準(zhǔn)混合蛙跳算法的相機(jī)標(biāo)定方法(設(shè)置加速因子c為0.5,優(yōu)化閾值t為0.5,種群大小N為50,模因組大小m為5,模因組組內(nèi)青蛙個(gè)數(shù)n為10,最大迭代次數(shù)G為100)和基于改進(jìn)混合蛙跳和LM算法的相機(jī)標(biāo)定方法(即本文相機(jī)標(biāo)定方法,設(shè)置加速因子c為0.5,優(yōu)化閾值t為0.5,種群大小N為50,模因組大小m為5,模因組組內(nèi)青蛙個(gè)數(shù)n為10,最大迭代次數(shù)G為100)。按照?qǐng)D4所示的試驗(yàn)流程,在室外進(jìn)行相機(jī)標(biāo)定試驗(yàn)。

圖3 采摘機(jī)器人雙目視覺標(biāo)定系統(tǒng)Fig.3 Binocular camera calibration system of harvesting robot

圖4 相機(jī)標(biāo)定試驗(yàn)步驟流程Fig.4 Test procedures of camera calibration

為了評(píng)價(jià)以上相機(jī)標(biāo)定方法的性能,本文根據(jù)誤差理論,設(shè)計(jì)了以下評(píng)價(jià)指標(biāo)。

相機(jī)焦距絕對(duì)誤差

ferr=|f*-f|

(18)

其中

f*=(fxdx+fydy)/2

式中f*——由相機(jī)內(nèi)部參數(shù)fx、fy以及相機(jī)像元尺寸參數(shù)dx、dy計(jì)算出的相機(jī)焦距

相機(jī)焦距相對(duì)誤差

fΔerr=|(f*-f)/f*|×100%

(19)

平面靶標(biāo)圖像特征點(diǎn)平均像素誤差

(20)

雙目相機(jī)間距絕對(duì)誤差

(21)

tlr——實(shí)際的雙目相機(jī)間距(本文中為60 mm)

雙目相機(jī)間距相對(duì)誤差

(22)

同時(shí),考慮到隨著平面靶標(biāo)圖像數(shù)量的增加,在同等標(biāo)定環(huán)境下,平面靶標(biāo)圖像的特征點(diǎn)的提取誤差和畸變誤差也不可避免地帶入相機(jī)標(biāo)定過程,從而影響相機(jī)標(biāo)定參數(shù)的精度和穩(wěn)定性。為此,本文不選擇通過采集大量平面靶標(biāo)圖像進(jìn)行相機(jī)標(biāo)定試驗(yàn),而是根據(jù)張正友相機(jī)標(biāo)定方法至少所需平面靶標(biāo)圖像數(shù)量的要求:只需4幅不同的平面靶標(biāo)圖像,即可完成相機(jī)內(nèi)、外參數(shù)標(biāo)定,左、右相機(jī)分別采集5幅不同的平面靶標(biāo)圖像,具體見圖5、6。

圖5 左相機(jī)采集到的5幅平面靶標(biāo)圖像Fig.5 Fine capturing planar target images of left camera

圖6 右相機(jī)采集到的5幅平面靶標(biāo)圖像Fig.6 Fine capturing planar target images of right camera

然后,利用左、右各5幅平面靶標(biāo)圖像中的4幅圖像的不同組合進(jìn)行相機(jī)標(biāo)定,并依據(jù)相機(jī)焦距絕對(duì)誤差、相機(jī)焦距相對(duì)誤差、平面靶標(biāo)圖像特征點(diǎn)的平均像素誤差、雙目相機(jī)間距的絕對(duì)誤差以及雙目相機(jī)間距的相對(duì)誤差的性能評(píng)價(jià)指標(biāo),對(duì)以上相機(jī)標(biāo)定方法進(jìn)行性能評(píng)價(jià)。具體相機(jī)標(biāo)定參數(shù)結(jié)果和性能評(píng)價(jià)結(jié)果,見表1~5。

為了比較基于遺傳算法的相機(jī)標(biāo)定方法、基于標(biāo)準(zhǔn)混合蛙跳算法的相機(jī)標(biāo)定方法和本文相機(jī)標(biāo)定方法的收斂性,分別統(tǒng)計(jì)了100次標(biāo)定優(yōu)化過程中適應(yīng)值的變化趨勢(shì),結(jié)果見圖7、8。

對(duì)比表1、2,可知在以上5組不同組合相機(jī)標(biāo)定試驗(yàn)中,傳統(tǒng)張正友相機(jī)標(biāo)定方法獲得的左相機(jī)焦距絕對(duì)誤差ferr為0.340~0.637 mm,焦距相對(duì)誤差fΔerr為6.660%~15.406%,平面靶標(biāo)圖像特征點(diǎn)的平均像素誤差perr為0.167~0.176像素,右相機(jī)焦距絕對(duì)誤差ferr變化范圍為0.237~0.997 mm,焦距相對(duì)誤差fΔerr變化范圍為6.346%~22.181%,平面靶標(biāo)圖像特征點(diǎn)的平均像素誤差perr為0.105~0.115像素;基于遺傳算法的相機(jī)標(biāo)定方法獲得的左相機(jī)焦距絕對(duì)誤差ferr為0.458~3.724 mm,焦距相對(duì)誤差fΔerr為11.574%~51.552%,平面靶標(biāo)圖像特征點(diǎn)的平均像素誤差perr為0.113~0.129像素,右相機(jī)焦距絕對(duì)誤差ferr為1.101~8.654 mm,焦距相對(duì)誤差fΔerr為23.935%~71.203%,平面靶標(biāo)圖像特征點(diǎn)的平均像素誤差perr為0.120~0.181像素;基于標(biāo)準(zhǔn)混合蛙跳算法的相機(jī)標(biāo)定方法獲得的左相機(jī)焦距絕對(duì)誤差ferr為0.455~2.155 mm,焦距相對(duì)誤差fΔerr為11.521%~38.115%,平面靶標(biāo)圖像特征點(diǎn)的平均像素誤差perr為0.115~0.131像素,右相機(jī)焦距絕對(duì)誤差ferr為0.771~3.419 mm,焦距相對(duì)誤差fΔerr為18.053%~49.416%,平面靶標(biāo)圖像特征點(diǎn)的平均像素誤差perr為0.120~0.144像素;本文相機(jī)標(biāo)定方法獲得的左相機(jī)焦距絕對(duì)誤差ferr為0.065~0.506 mm,焦距相對(duì)誤差fΔerr為1.899%~12.652%,平面靶標(biāo)圖像特征點(diǎn)的平均像素誤差perr為0.166~0.175像素,右相機(jī)焦距絕對(duì)誤差ferr為0.083~0.360 mm,焦距相對(duì)誤差fΔerr為2.429%~11.484%,平面靶標(biāo)圖像特征點(diǎn)的平均像素誤差perr為0.103~0.114像素。

對(duì)比表3、4可知,在以上5組不同組合的相機(jī)標(biāo)定試驗(yàn)中,傳統(tǒng)張正友相機(jī)標(biāo)定方法獲得的左相機(jī)畸變參數(shù)k1為-0.410~-0.323,k2為3.687~4.598,k3為-32.420~-31.551,p1為0.007~0.068,p2為0.001~0.012,右相機(jī)畸變參數(shù)k1為-0.227~-0.149,k2為0.978~1.060,k3為-5.987~-5.048,p1為-0.000 210~-0.000 199,p2為-0.000 586~-0.000 498;基于遺傳算法的相機(jī)標(biāo)定方法獲得的左相機(jī)畸變參數(shù)k1為-0.472~-0.077,k2為-7.427~-4.578,k3為42.999~63.270,p1為0.008 1~0.048 9,p2為-0.028 5~-0.005 4,右相機(jī)畸變參數(shù)k1為-0.771~-0.368,k2為-2.597~2.321,k3為-16.848~25.208,p1為0.010 5~0.042 5,p2變化范圍為-0.072 6~-0.024 9;基于標(biāo)準(zhǔn)混合蛙跳算法的相機(jī)標(biāo)定方法獲得的左相機(jī)畸變參數(shù)k1為-0.472~-0.077,k2為-7.427~-4.578,k3為42.999~63.270,p1為0.008 1~0.048 9,p2為-0.028 5~-0.005 4,右相機(jī)畸變參數(shù)k1為-0.771~-0.368,k2為-2.597~2.321,k3為-16.848~25.208,p1為0.010 5~0.042 5,p2為-0.072 6~-0.024 9;本文相機(jī)標(biāo)定方法獲得的左相機(jī)畸變參數(shù)k1為-0.331~-0.253,k2為0.276~0.356,k3為-0.236~-0.144,p1為0.021~0.029,p2為-0.058~-0.051,右相機(jī)畸變參數(shù)k1為-0.184~-0.114,k2為0.424~0.504,k3為-0.265~-0.219,p1為0.002~0.007,p2為0.021~0.030。

表1 不同相機(jī)標(biāo)定方法獲得的左相機(jī)標(biāo)定內(nèi)參結(jié)果及性能評(píng)價(jià)指標(biāo)Tab.1 Left camera calibration results and evaluation index with different camera calibration methods

表2 不同相機(jī)標(biāo)定方法獲得的右相機(jī)內(nèi)參標(biāo)定結(jié)果及性能評(píng)價(jià)指標(biāo)Tab.2 Right camera calibration results and evaluation index with different camera calibration methods

表3 不同相機(jī)標(biāo)定方法獲得的左相機(jī)標(biāo)定畸變結(jié)果Tab.3 Left camera calibration distortion results with different camera calibration methods

表4 不同相機(jī)標(biāo)定方法獲得的右相機(jī)標(biāo)定畸變結(jié)果Tab.4 Right camera calibration distortion results with different camera calibration methods

表5 不同相機(jī)標(biāo)定方法獲得的雙目相機(jī)標(biāo)定結(jié)果及性能評(píng)價(jià)指標(biāo)Tab.5 Binocular camera calibration results and evaluation index with different camera calibration methods

圖7 左相機(jī)標(biāo)定過程中的適應(yīng)值變化曲線Fig.7 Variation curves of adaptive value in calibration of left camera

圖8 右相機(jī)標(biāo)定過程中的適應(yīng)值變化曲線Fig.8 Variation curves of adaptive value in calibration of right camera

在表5中,Tx為雙目相機(jī)之間平移向量的X方向分量,Ty為雙目相機(jī)之間平移向量的Y方向分量,Tz為雙目相機(jī)之間平移向量的Z方向分量;φx為雙目相機(jī)之間旋轉(zhuǎn)角向量的X方向分量,φy為雙目相機(jī)之間旋轉(zhuǎn)角向量的Y方向分量,φz為雙目相機(jī)之間旋轉(zhuǎn)角向量的Z方向分量。

由表5可知,傳統(tǒng)張正友相機(jī)標(biāo)定方法獲得的雙目相機(jī)之間平移向量的分量Tx、Ty、Tz分別為-57.297~-56.577 mm、-57.355~-56.149 mm、-57.391~-55.646 mm,雙目相機(jī)之間旋轉(zhuǎn)角向量的分量φx、φy、φz分別為2.112~3.718 rad、2.447~3.482 rad、-1.210~-0.911 rad,雙目相機(jī)間距絕對(duì)誤差tlrerr為2.703~3.423 mm,相對(duì)誤差tΔlrerr為4.717%~6.050%;基于遺傳算法的相機(jī)標(biāo)定方法獲得的雙目相機(jī)之間平移向量的分量Tx、Ty、Tz分別為-58.933~64.252 mm、-44.215~41.508 mm、-410.380~1 909.058 mm,雙目相機(jī)之間旋轉(zhuǎn)角向量的分量φx、φy、φz分別為3.273~5.784 rad、-3.728~4.510 rad、-1.356~0.845 rad,雙目相機(jī)間距絕對(duì)誤差tlrerr為1.067~124.252 mm,相對(duì)誤差tΔlrerr為1.810%~274.972%;基于標(biāo)準(zhǔn)混合蛙跳算法的相機(jī)標(biāo)定方法獲得的雙目相機(jī)之間平移向量的分量Tx、Ty、Tz分別為-97.527~-22.735 mm、-5.635~63.765 mm、-133.680~271.134 mm,雙目相機(jī)之間旋轉(zhuǎn)角向量的分量φx、φy、φz分別為2.770~5.843 rad、1.996~3.412 rad、-0.028~0.502 rad,雙目相機(jī)間距絕對(duì)誤差tlrerr為0.175~37.527 mm,相對(duì)誤差tΔlrerr變化范圍為0.290%~163.910%;本文相機(jī)標(biāo)定方法獲得的雙目相機(jī)之間平移向量的分量Tx、Ty、Tz分別為-58.134~-57.211 mm、-0.231~-0.204 mm、-4.868~-4.531 mm,雙目相機(jī)之間旋轉(zhuǎn)角向量的分量φx、φy、φz分別為1.949~2.735 rad、2.231~3.098 rad、-0.116~-0.108 rad,雙目相機(jī)間距絕對(duì)誤差tlrerr為1.866~2.789 mm,相對(duì)誤差tΔlrerr為3.209%~4.874%。

由此可見,對(duì)于左、右相機(jī)焦距的絕對(duì)誤差和相對(duì)誤差變化,本文相機(jī)標(biāo)定方法最小,傳統(tǒng)張正友相機(jī)標(biāo)定方法次之,基于遺傳算法的相機(jī)標(biāo)定方法和基于標(biāo)準(zhǔn)混合蛙跳算法的相機(jī)標(biāo)定方法變化較大;對(duì)于平面靶標(biāo)圖像特征點(diǎn)的平均像素誤差變化,雖然基于遺傳算法的相機(jī)標(biāo)定方法和基于標(biāo)準(zhǔn)混合蛙跳算法的相機(jī)標(biāo)定方法稍微小些,但跟傳統(tǒng)張正友相機(jī)標(biāo)定方法以及本文相機(jī)標(biāo)定方法的差異不大,都在1像素之內(nèi)。而相機(jī)畸變參數(shù),按照文獻(xiàn)[3],認(rèn)為合適的變化范圍為-1~1,但以上4種相機(jī)標(biāo)定方法,除了本文相機(jī)標(biāo)定方法所獲得的所有畸變參數(shù)均符合-1~1的變化范圍外,其余的相機(jī)標(biāo)定方法所獲得的畸變參數(shù)k2、k3、p1、p2均不在此變化范圍之內(nèi),且變化也相對(duì)較大。而雙目相機(jī)間距絕對(duì)誤差和相對(duì)誤差,基于遺傳算法的相機(jī)標(biāo)定方法最大,分別達(dá)到124.252 mm和274.972%;基于標(biāo)準(zhǔn)混合蛙跳算法的相機(jī)標(biāo)定方法也相對(duì)較大,分別達(dá)到37.527 mm和163.910%;傳統(tǒng)張正友相機(jī)標(biāo)定方法相對(duì)較小,而本文相機(jī)標(biāo)定方法最小。

同時(shí),比較圖7、8,可以看出本文相機(jī)標(biāo)定方法的左、右相機(jī)標(biāo)定,適應(yīng)值隨著優(yōu)化次數(shù)增加而下降,分別經(jīng)過約26次和12次優(yōu)化后,收斂到一個(gè)穩(wěn)定的適應(yīng)值;基于遺傳算法的相機(jī)標(biāo)定方法的左、右相機(jī)標(biāo)定,適應(yīng)值先下降后上升,最后分別經(jīng)過約86次和71次優(yōu)化后,才收斂到一個(gè)穩(wěn)定的適應(yīng)值;基于標(biāo)準(zhǔn)混合蛙跳算法的相機(jī)標(biāo)定方法的左、右相機(jī)標(biāo)定,適應(yīng)值先下降再上升后又下降,最后分別經(jīng)過約86次和81次優(yōu)化后,才收斂到一個(gè)穩(wěn)定的適應(yīng)值。顯然可見,本文相機(jī)標(biāo)定方法的收斂速度和穩(wěn)定性,均優(yōu)于基于遺傳算法的相機(jī)標(biāo)定方法和基于標(biāo)準(zhǔn)混合蛙跳算法的相機(jī)標(biāo)定方法。

以上分析表明,本文相機(jī)標(biāo)定方法所獲得的左、右相機(jī)內(nèi)參數(shù)fx、fy、α、u0、v0,畸變參數(shù)k1、k2、k3、p1、p2和雙目相機(jī)參數(shù)Tx、Ty、Tz、φx、φy、φz均比以上其他3種相機(jī)標(biāo)定方法更為準(zhǔn)確可靠。這是因?yàn)閭鹘y(tǒng)張正友相機(jī)標(biāo)定方法是通過對(duì)單應(yīng)性矩陣奇異值分解來求取相機(jī)內(nèi)參初值,然后利用LM算法對(duì)該相機(jī)內(nèi)參數(shù)進(jìn)一步求精。但矩陣奇異值分解存在數(shù)值不穩(wěn)定,并且LM算法優(yōu)化結(jié)果的精度取決于參數(shù)初始值,這樣將影響求取的相機(jī)內(nèi)參數(shù)的最終精度。而基于遺傳算法的相機(jī)標(biāo)定方法、基于標(biāo)準(zhǔn)混合蛙跳算法的相機(jī)標(biāo)定方法和本文相機(jī)標(biāo)定方法,先采用仿生智能優(yōu)化策略直接求取相機(jī)內(nèi)參數(shù)初值,避免了對(duì)單應(yīng)性矩陣奇異值分解所造成的相機(jī)內(nèi)參數(shù)初值不準(zhǔn)確,再利用改進(jìn)LM算法進(jìn)一步優(yōu)化相機(jī)內(nèi)參數(shù),避免了原LM算法優(yōu)化過程必須求取優(yōu)化參數(shù)的雅可比矩陣所導(dǎo)致求取參數(shù)精度的不穩(wěn)定。但這些仿生智能優(yōu)化算法本質(zhì)是基于概率統(tǒng)計(jì)規(guī)律的隨機(jī)搜索,隨機(jī)性很強(qiáng),面對(duì)求取相機(jī)內(nèi)參數(shù)這樣多元參數(shù)非線性優(yōu)化問題,極容易陷入局部極值,從而造成相機(jī)內(nèi)參數(shù)精度不穩(wěn)定以及優(yōu)化收斂過程過于緩慢。而本文相機(jī)標(biāo)定方法對(duì)標(biāo)準(zhǔn)混合蛙跳算法的局部位置更新操作進(jìn)行了改進(jìn),協(xié)調(diào)其全局搜索和局部開采的能力,提高了其收斂速度,避免了求取相機(jī)內(nèi)參數(shù)初值陷入局部極值的問題,所以本文相機(jī)標(biāo)定方法求取相機(jī)內(nèi)參數(shù)比基于遺傳算法的相機(jī)標(biāo)定方法以及基于標(biāo)準(zhǔn)混合蛙跳算法的相機(jī)標(biāo)定方法更為準(zhǔn)確可靠。此外,因?yàn)闃?biāo)準(zhǔn)混合蛙跳算法比遺傳算法的全局搜索能力強(qiáng),所以它求取的相機(jī)內(nèi)參結(jié)果比基于遺傳算法的結(jié)果理想。同時(shí),由于相機(jī)畸變參數(shù)和雙目相機(jī)參數(shù),是在相機(jī)內(nèi)參數(shù)基礎(chǔ)上求取的,所以相機(jī)內(nèi)參數(shù)的準(zhǔn)確性將直接影響相機(jī)畸變參數(shù)和雙目相機(jī)參數(shù)的準(zhǔn)確性。由于本文相機(jī)標(biāo)定方法所求取的相機(jī)內(nèi)參數(shù)比其他3種相機(jī)標(biāo)定方法結(jié)果均更為準(zhǔn)確,因此,本文相機(jī)標(biāo)定方法所求取的相機(jī)畸變參數(shù)和雙目相機(jī)參數(shù)也相對(duì)更為準(zhǔn)確可靠。

3 結(jié)束語

根據(jù)對(duì)采摘機(jī)器人相機(jī)標(biāo)定精度的要求,針對(duì)傳統(tǒng)張正友相機(jī)標(biāo)定方法存在標(biāo)定結(jié)果不穩(wěn)定、容易陷入局部極值等缺點(diǎn),提出了一種基于改進(jìn)混合蛙跳和LM算法的相機(jī)標(biāo)定方法。該相機(jī)標(biāo)定方法只需4幅不同平面靶標(biāo)圖像即可完成相機(jī)標(biāo)定,并且相機(jī)焦距的絕對(duì)誤差、相對(duì)誤差,平面靶標(biāo)圖像特征點(diǎn)的平均像素誤差,雙目相機(jī)間距絕對(duì)誤差、相對(duì)誤差等相機(jī)標(biāo)定性能評(píng)價(jià)指標(biāo)都符合采摘機(jī)器人相機(jī)標(biāo)定精度的要求。標(biāo)定所獲得的左、右相機(jī)內(nèi)參數(shù)、畸變參數(shù)以及雙目相機(jī)之間的參數(shù),均優(yōu)于傳統(tǒng)張正友相機(jī)標(biāo)定、基于遺傳算法的相機(jī)標(biāo)定和基于標(biāo)準(zhǔn)混合蛙跳算法的相機(jī)標(biāo)定等方法。同時(shí),在相機(jī)標(biāo)定優(yōu)化過程中,只需很少次優(yōu)化,即可收斂到穩(wěn)定的適應(yīng)值,具有較高的收斂速度和穩(wěn)定性,能夠滿足采摘機(jī)器人雙目視覺定位系統(tǒng)的要求,是一種精度高且簡(jiǎn)便的相機(jī)標(biāo)定方法。

猜你喜歡
蛙跳雙目靶標(biāo)
納米載體可緩解農(nóng)藥對(duì)靶標(biāo)作物的負(fù)作用
“三層七法”:提高初中生三級(jí)蛙跳能力的實(shí)踐研究
霜 降 蘇美玲
基于雙目視覺的機(jī)器人定位與導(dǎo)航算法
“百靈”一號(hào)超音速大機(jī)動(dòng)靶標(biāo)
基于一致性學(xué)習(xí)預(yù)測(cè)藥物-靶標(biāo)相互作用
基于雙目測(cè)距的卡爾曼濾波船舶軌跡跟蹤
納米除草劑和靶標(biāo)生物的相互作用
三坐標(biāo)測(cè)量在零件安裝波動(dòng)中的應(yīng)用
名山县| 皋兰县| 冷水江市| 东城区| 河东区| 达日县| 沈阳市| 瑞昌市| 图们市| 漯河市| 长泰县| 桓仁| 常山县| 且末县| 道孚县| 卢湾区| 靖远县| 宝山区| 长岭县| 青川县| 兰州市| 和政县| 耒阳市| 新巴尔虎左旗| 上犹县| 岳西县| 定襄县| 迁西县| 阿合奇县| 耿马| 海淀区| 旺苍县| 江西省| 和顺县| 德江县| 五原县| 扶绥县| 通江县| 德昌县| 武山县| 会东县|