999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

差分遺傳算法優化BP神經網絡的雙目相機標定

2021-07-13 02:07:34張峰峰陳龍薛保珊閆曉劍孫立寧
哈爾濱工程大學學報 2021年7期
關鍵詞:檢測方法

張峰峰,陳龍,薛保珊,閆曉劍,孫立寧

(1.蘇州大學 機電工程學院,江蘇 蘇州 215006;2.蘇州大學 蘇州納米科技協同創新中心,江蘇 蘇州 215123)

近年來,雙目立體視覺在機械制造、定位、測距以及三維重建等領域有著越來越廣泛的應用,相比于單目立體相機,它能夠獲取更多目標深度信息[1-3]。雙目立體視覺主要利用視差原理對從不同位置獲取的2幅圖像上的同名點之間的位置偏差進行計算,從而獲得目標物體的三維信息[4]。雙目相機的標定是基于雙目立體視覺進行三維重建、視覺檢測等研究的重要環節,因此自動、高精度的雙目相機標定是實現高精度雙目視覺三維重建、定位等功能的重要前提[5-7]。

雙目相機的標定決定了雙目立體視覺成像系統的內、外部參數,相比于單目立體相機,其標定過程比較繁瑣,對算法優化和目標變化的要求更高[8-9]。目前所存在的雙目相機標定方法大多依賴于精確的成像數學模型,對成像過程中各種非線性畸變因素考慮較少。人工神經網絡是人工智能領域近年來發展起來的一種新技術,它具有很強的自適應、自學習以及強大的非線性映射能力[10]。在雙目相機標定過程中,相比于傳統的相機標定方法,它無需確定相機的內部和外部參數,也無需了解相關的相機的成像模型,直接建立二維的相機像素坐標與物體的三維真實世界坐標的映射關系,并且將所有的非線性因素都包含在神經網絡中,作為一種隱式標定。在使用人工神經網絡算法對雙目相機進行標定的研究中,使用BP神經網絡算法較多,其在雙目相機標定中的可行性已經被崔等人證實[11]。但是其標定精度和收斂速度在實際測試中并不令人滿意。劉金頌等[12]提出了一種基于Zernike矩和粒子群(partical swarm optimization,PSO)算法的攝像機神經網絡標定方法。該方法對BP神經網絡進行優化,主要通過PSO算法優化BP網絡的初始權重和閾值,提高網絡的收斂速度和泛化能力。相比于普通的BP神經網絡的雙目相機標定其各方面能力都有了一定的改善,但是仍然不能滿足實際工程中的需求。目前,大多數研究在應用BP神經網絡進行雙目相機標定主要面臨的問題:左右相機圖像中同名點的誤匹配率高以及BP神經網絡迭代時間較長、精度低、收斂性差。

基于以上情況,本文提出了一種差分遺傳算法優化BP神經網絡的雙目相機的標定方法,克服了傳統相機標定過程復雜、計算量大的問題。從而能夠方便、靈活、高精度地對雙目相機進行標定。

1 棋盤格角點的檢測與自動匹配

1.1 基于能量生長算法的棋盤格的角點檢測

棋盤格角點的檢測是雙目相機標定的重要環節之一,角點檢測是為了獲取棋盤格角點的像素坐標,因此角點檢測的精度直接影響相機最終的標定精度[13]。采用基于能量生長算法的棋盤格角點檢測具有魯棒性好、角點提取精度高以及可以同時檢測一個圖片里包含多張棋盤等優點[14]。

首先,通過定義2種角點原型,一種類似于棋盤格中正方形的4個角,另一種為在第1種的基礎之上,將正方形旋轉45°的角點。每個原型由4個濾波核組成,用于后面和圖像進行卷積操作。然后,利用這2個角點原型來計算每個像素點與角點的相似程度。對每個像素點都進行上述計算后,可以去掉大量的非棋盤格式的角點,同時得到所有可能的角點。其次,對上述角點的位置以及邊緣方向進行亞像素級精細化處理。最后,給定一個種子角點,沿著其邊緣方向搜索產生一個初始化的種子棋盤格。該棋盤格有3×3個角點,有2×2個棋盤。以此種子棋盤格為基礎,分別從最外沿的4個邊緣去生長棋盤格,生成4個新的棋盤格。如果其中能量最小的那個棋盤格的能量值比棋盤格擴展前的能量更減少了,就說明生長成功,用這個新的棋盤格代替原來棋盤格,繼續生長,直到4個方向新棋盤格能量不再減少為止。

1.2 棋盤格的同名角點匹配

1.2.1 傳統方法的同名角點匹配

傳統的同名角點匹配主要在Opencv中通過Sift(scale invariant feature transform)、Surf(speeded up robust features)、Fast(features from accelerated segment test)等特征算子進行特征點檢測[15-16],再使用BruteForceMatcher或者是FlannBasedMatcher進行匹配。然后,經過一系列的錯誤匹配去除步驟獲取優質的匹配結果。由于本研究標定塊的6個面為類似國際象棋的棋盤,該棋盤的圖案太過類似,從在同名角點匹配的時候,容易出現大量錯誤的匹配。常用于針對Sift、Surf、Fast等匹配行之有效的錯誤匹配點去除算法在這里效果較差。

1.2.2 基于光線掃描算法的同名角點匹配

根據光線投射算法的啟發,本研究提出一種基于光線逐行掃描的同名角點匹配算法來克服棋盤格角點誤匹配率高的缺點。基于光線掃描的同名角點匹配算法的原理圖如圖1所示,其主要分為以下幾個步驟:

圖1 基于光線掃描算法的同名角點匹配原理

1)通過Opencv中最小外接矩形的方法,搜尋與左攝像機拍攝的棋盤格圖像的左上角最近的點,同時搜尋與右攝像機拍攝的棋盤圖像的右上角最近的點,以此獲取現有棋盤圖像角點集合的左上角與右上角的2個點P、Q。

2)把棋盤的角點從上到下從左到右地劃分,這樣其實就獲取了棋盤第1行的2個端點。將P、Q2點構造1條射線,通過計算左上角點到右上角點的方向矢量,將其作為射線方向。

3)保持P點靜止,假設此時PQ距離為L10,將Q點從右往左逐步步進,不斷計算PQ間的距離。當發現點Q處于剩余棋盤角點點集中的某一棋盤點與當前的P點處于的位置小于某個閾值(Lbest)時,將該點列為PQ射線經過的一個點。

4)把PQ射線經過的點存放到新的向量n1里,同時將這個點從剩余棋盤角點點集中去除。此時P點右移到P1的位置,然后將Q點繼續從最右端角點開始進行下一次的步進。

依次類推,直到達到該行應該有的最大的同名角點匹配個數,那么這一行的同名角點匹配完成。其余棋盤圖像各行同名角點匹配也是相同的步驟,只需要迭代棋盤的行數,比如9×9的棋盤迭代9次,就可以完成最終的同名角點的匹配。

2 差分遺傳算法優化BP神經網絡的雙目相機標定

2.1 基于BP神經網絡相機標定的參數設置

主要通過棋盤圖像角點的二維像素坐標值作為BP神經網絡的輸入。利用BP網絡自身固有的正向計算,反向優化權值的特點來進行棋盤圖像角點的三維世界坐標的預測[21]。通過多組訓練集對BP神經網絡內部的權值進行不斷訓練和改變,擬合并建立二維像素坐標到三維世界坐標之間的關系。具體基于BP神經網絡進行雙目相機標定的結構示意圖如圖2所示。

圖2 采用BP神經網絡的雙目相機標定原理

2.2 差分遺傳算法優化BP神經網絡的雙目相機標定原理

2.2.1 相機標定的數據種群適應性調節

傳統的BP神經網絡在進行雙目相機標定時,容易陷入局部最優值,同時標定精度相對較低。引入差分算法后需要在前期開始差分進化的時候增強相機標定數據種群的多樣性,在后期需要對最佳個體持續改善。因此,根據精英策略和適應度值來動態調節數據種群的規模對于雙目相機的標定非常重要。根據:

(1)

GAVAPS[17]提出的雙線性分配策略對大于種群設定的壽命的個體進行刪除。式中:fmax和fa表示種群的最大和平均適應度;Mmax和Mmin表示壽命的最大、小值。

在刪除部分個體的同時需要對數據種群多樣性減少進行彌補。通過復制高適應度值的個體來增加種群規模,根據公式

Cn=ψ×(Nmax-NC)

(2)

NC+1=NC-ND+Cn

(3)

可以得到此時的種群規模的變化。式中:Cn表示復制個體的數目;ψ為復制的概率;Nmax代表了種群的最大規模;NC和ND分別表示當前種群規模和種群刪除的個體的數目。

2.2.2 選擇算子的改進

選擇算子在雙目相機標定的過程中起到重要的作用,主要以適應度函數作為參考,從相機標定的數據種群中挑選一些個體保留至下一代,剩下的個體全部淘汰,因此從相機標定的數據種群中選擇的個體的好與壞將直接影響雙目相機標定的后續操作。傳統的選擇算子在選擇過程中誤差較大,針對該問題,本研究利用排序法對其改進來減小選擇個體之間的誤差,第n個體在排序后被選擇的概率Pnew重新定義:

(4)

Pnew=b(1-q0)β-1

(5)

式中:a表示種群的數量;b代表將q0標準化;q0作為最優個體被選擇的概率;β表示第n個個體在整個種群排序后的位置。

2.2.3 交叉算子的改進

雙目相機標定的數據種群的多樣性主要依賴交叉概率[18],同時遺傳算法的全局尋優能力也受交叉概率的直接影響。在目前的研究中多數將其設定為一個常數值,在實際過程中最佳參數較難調節。本研究根據種群適應度的分散程度不同,將種群的最大和平均適應度即(fmax和fa)的關系定義為:

(6)

對交叉概率Qj的自適應性進行改進,x1表示自適應性參數為:

(7)

2.2.4 差分變異算子

雙目相機標定過程中能否避開局部極值主要由遺傳算法的變異概率決定[19]。與傳統的遺傳算法的變異算子不同,差分變異算子在相機數據種群整體的差異基礎之上,種群個體之間的變異通過差分向量的形式對個體進行擾動來實現[20]。本研究對不同個體之間的向量差進行計算,同時引入待變異個體向量,對向量差采用縮放的方法與其合并成新的個體。具體的縮放合并公式為:

G(n+1)=Pr1(n)+ξ×[Pr2(n)-Pr3(n)]

(8)

式中:ξ代表向量差的縮放值;Pr1(n)代表待變異的個體的向量;Pr2(n)-Pr3(n)代表個體之間向量差。在實際的計算過程中需要根據適應度值的變化利用下式對ξ進行自動調節:

(9)

式中:Pw代表最差適應度值的向量;Pb代表最優適應度值的向量;χ表示適應度值調節參數。當適應度值較低時,此時需提高ξ值,以此來增加尋優解的概率,反之,則降低ξ值。

3 實驗和結果

3.1 雙目相機標定硬件平臺的搭建

雙目相機標定的硬件平臺主要由圖3所示的顯示器、工作站、雙目相機、標定塊等組成。標定塊為立方體,其6個面均布滿相同數量的邊長為1 cm的正方形。以圖中所示立方體3個底邊的角點作為原點O,并以3條棱作為X、Y、Z軸,便可以獲取每個小正方形的角點的實際的三維坐標。

圖3 雙目相機標定的硬件平臺

3.2 棋盤角點的檢測和匹配實驗

本文采用了基于能量生長算法來完成棋盤二維像素圖像的角點檢測,并且提出基于光線掃描算法來完成檢測后的角點的匹配。在此基礎上,本文利用雙目相機拍攝如圖4所示的圖片,將拍攝的棋盤圖像分成左、右相機圖像,并且每次拍攝10~20張圖片。利用本文提出的方法對分類好的左、右相機的圖像進行角點檢測和匹配,通過實驗獲得最終的效果如圖5所示。

圖4 雙目相機拍攝的標定圖像

圖5 本研究方法的同名角點檢測與匹配

為了驗證本文提出的角點檢測和匹配方法的穩定性,繼續進行5組上述的實驗,最終獲得的同名角點匹配的正確率如表1所示。

表1 同名角點檢測和匹配結果

結合圖5和表1可以很清晰地看出采用本文提出的方法具有很高的同名角點匹配的正確率。為了進一步突出其在棋盤圖像上應用的優越性,本文將其與傳統的角點特征檢測和匹配算法進行對比。例如分別采用Sift檢測算法+FlannBasedMatcher匹配方法和Surf檢測算法+FlannBasedMatcher匹配方法最終通過實驗效果如圖6所示,同名角點匹配的平均成功率如表示。從圖6(a)中可以看出棋盤格對應點可以實現完美匹配,但是棋盤格的角點檢測基本失效。從圖6(b)可以看出該方法可以順利實現棋盤格角點的檢測,但是其同名角點出現多處匹配錯誤的問題。綜合表可以看出采用本文的方法同名角點匹配成功率分別提高了90%和70%左右。

圖6 基于傳統方法的同名角點檢測與匹配

表2 基于不同方法的同名角點檢測和匹配結果

3.3 雙目相機的標定實驗和結果分析

3.3.1 不同方法的標定精度對比實驗

利用本文提出的差分遺傳算法優化后的BP神經網絡來進行雙目相機的標定,需要獲得一定量數據的同名角點的二維像素坐標和對應的該點的三維世界坐標。將二維像素坐標作為神經網絡的輸入,三維世界坐標作為神經網絡的輸出。具體經過采集獲得的部分的同名角點的像素坐標和三維實際坐標如表3所示。

表3 同名角點的像素坐標和三維坐標(部分數據)

將類似表中500組同樣的數據作為普通BP神經網絡和本文提出的差分遺傳算法優化后的神經網絡的訓練集。選取6組數據作為神經網絡的測試集,通過實際的實驗測試得出優化前后的神經網絡預測角點的三維世界坐標的值分別如表4所示。

表4 神經網絡預測角點的三維世界坐標值

為了進一步驗證采用本文差分遺傳算法優化后的神經網絡來標定雙目相機的精度,將其結果與采用Opencv的張正友標定和Matlab自帶的雙目相機標定工具箱標定出來的結果進行對比。利用基于Opencv的張正友標定方法對雙目相機進行標定,需要大概10~20張雙目相機的拍攝的圖片。對拍攝的圖片進行標定操作,便可以獲得雙目相機的內、外參數。在雙目相機的內、外參數已知的情況下,便可以根據拍攝的棋盤的二維圖像的角點像素坐標來計算出對應的三維世界坐標。與之相似的是,將拍攝的棋盤圖像導入Matlab,利用自帶的雙目相機標定工具箱來標定出雙目相機的內、外參。在標定出內、外參后,同樣根據二維圖像的角點像素坐標來計算出對應的三維世界坐標。

將神經網絡標定的6組測試集的二維像素坐標,作為基于Opencv和Matlab標定的實驗輸入數據。通過各自標定出的雙目相機的內、外參,分別計算出二者實際對應的棋盤角點的三維世界坐標。具體計算結果如表5所示。

表5 基于傳統方法的角點的三維世界坐標值計算

3.3.2 標定精度結果的分析

采用均方根誤差評判的方式對3種不同方式的標定精度進行評價。假設真實的角點的三維世界坐標的值為(X,Y,Z),通過不同標定方式計算獲得的三維世界坐標值為(Xi,Yi,Zi)。其中i可取C、O、M分別代表3種不同的標定方式下計算出的三維世界坐標的實際的值。故此標定精度的均方差計算公式設定為:

(10)

通過式(10)的計算,最終針對6組測試集采用3種不同標定方法計算出的均方根的誤差如表6所示。

從表6中數據可以看出采用本文提出的方法的雙目相機的標定誤差的平均均方根約為0.038 mm。采用基于Opencv和Matlab標定的方法獲得的雙目相機標定的平均均方根誤差分別為0.155 mm和0.417 mm。相比而言,其標定精度分別提高了75%和90%。從圖7中也能清晰看出3種不同方法的標定誤差的均方根的變化,采用本文提出的方法的標定的精度和穩定性相對較好。

表6 不同方法標定的誤差的均方根

圖7 基于不同方法的標定誤差均方根變化

進一步從每個三維坐標的X、Y、Z軸的誤差分別進行分析,如圖所示。從圖8中可以看出采用本文提出的方法在X、Y、Z3個方向的誤差均比較小,而且整體的穩定性相對較高。通過3種不同的方法最終計算出的三維世界坐標的各個方向的誤差分布圖,更加清晰證明本文提出的方法的有效性和穩定性。

圖8 基于不同方法的角點的三坐標標定誤差分析

3.3.3 不同方法的標定速度對比實驗

針對上述3種不同方法進行雙目相機標定時的速度進行測試。按照相同的環境同樣的硬件條件下進行5組實驗測試,最終標定花費的計算時間如表7所示。

從表7中的數據可以看出采用本文方法進行雙目相機標定時需要的平均時間為26.3 s,采用Opencv和Matlab標定時所需要的平均時間分別為5.8 s和6.6 s。相比而言采用本文提出的方法所需要花費的時間較長,主要因為需要進行大量的訓練集進行訓練。在訓練的過程中不斷調整神經網絡的權重值,使其標定的精度不斷提高。

4 結論

1)本文提出的基于差分遺傳算法優化BP神經網絡來進行雙目相機標定的方法最終獲得的標定誤差的均方根為0.038 mm。

2)與傳統的基于Opencv和Matlab的方法相比,不僅簡化了標定的流程,降低了計算的復雜度,同時還提高了標定的精度。從實際的實驗結果進行分析,完全符合雙目相機標定的精度需求。

在實際的應用過程中,由于神經網絡訓練需要大量的數據集,因此在數據集的采集和訓練所花費的時間相對較多。然而一旦神經網絡達到訓練設定的要求,后續的標定速度將會非常快。于此同時基于本文提出的方法標定的精度受數據集量的大小的影響,由于實驗條件的限制選取了一部分實驗數據,因此其實際的標定精度可以進一步的提高。

猜你喜歡
檢測方法
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
學習方法
小波變換在PCB缺陷檢測中的應用
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
主站蜘蛛池模板: 中文字幕乱码中文乱码51精品| 国产欧美自拍视频| 天天色综网| 58av国产精品| 亚洲人成网站日本片| 国产美女主播一级成人毛片| 99re在线视频观看| 婷婷激情亚洲| 超碰91免费人妻| 国内精品自在自线视频香蕉| 色综合久久综合网| 亚洲第一色网站| 91精品国产情侣高潮露脸| 亚洲视频免| 99久久婷婷国产综合精| 国产噜噜噜| 亚洲成人精品| 伊人91在线| 国产正在播放| 国产人人射| 日本精品视频一区二区| 日韩不卡免费视频| 污视频日本| 国产a v无码专区亚洲av| 中文一区二区视频| 久久这里只精品国产99热8| 国产又粗又猛又爽视频| 亚洲国产欧洲精品路线久久| 亚洲色图欧美一区| 日韩高清一区 | 国产三级精品三级在线观看| 亚洲AV一二三区无码AV蜜桃| 手机在线免费不卡一区二| 无码有码中文字幕| 中文字幕日韩视频欧美一区| 欧美亚洲网| 久热这里只有精品6| 浮力影院国产第一页| 午夜老司机永久免费看片| 一级爆乳无码av| 欧美人在线一区二区三区| 欧美午夜视频在线| 国产无码精品在线| 亚洲成人网在线观看| AV片亚洲国产男人的天堂| 热99re99首页精品亚洲五月天| 一级毛片在线播放| 伊人色天堂| 国产精品99久久久久久董美香| 国产美女在线观看| 午夜欧美理论2019理论| 国产精品中文免费福利| 亚洲第一福利视频导航| 一级黄色网站在线免费看| 日韩欧美中文字幕在线韩免费 | 久久99精品久久久久纯品| 亚洲欧洲日产无码AV| 都市激情亚洲综合久久| 国产精品性| 日a本亚洲中文在线观看| 欧美日韩免费| 亚洲视频影院| 国产精品私拍在线爆乳| 亚洲成人精品在线| 免费中文字幕一级毛片| 欧美日韩国产一级| 毛片免费高清免费| 国产麻豆91网在线看| 国产精品久久久久久久久| 国产18在线| 亚洲经典在线中文字幕| 国产精品久久久久久影院| 性色在线视频精品| 免费在线国产一区二区三区精品| 国产在线啪| 欧美成人a∨视频免费观看 | 日本久久网站| 国产精品密蕾丝视频| 免费毛片网站在线观看| 亚洲精品你懂的| 黄色国产在线| 国产一区二区三区在线观看免费|