摘 "要: 為適應(yīng)未來無人船發(fā)展趨勢,發(fā)現(xiàn)并定位海上遠(yuǎn)距離目標(biāo),采用YOLOV8和局部立體匹配方法,提出一種雙目視覺遠(yuǎn)距離定位技術(shù)方案。首先對雙目相機(jī)進(jìn)行標(biāo)定;然后采用YOLOV8算法對海上目標(biāo)進(jìn)行檢測;進(jìn)一步通過局部立體匹配,對兩個相機(jī)檢測目標(biāo)進(jìn)行局部特征提取和局部特征匹配;最后基于匹配結(jié)果,根據(jù)雙目視覺原理計(jì)算所匹配目標(biāo)的距離。實(shí)驗(yàn)結(jié)果表明:該技術(shù)方案對距離為100~300 m、300~500 m、500~700 m、700~900 m的目標(biāo)測距平均精度分別為90%、84%、75%、60%,處理速度為20 PFS。與傳統(tǒng)方法相比,所提方法直接聚焦海面目標(biāo),只對局部像素進(jìn)行立體匹配,具有運(yùn)行速度快、定位效果好的優(yōu)勢。
關(guān)鍵詞: 目標(biāo)檢測; 立體匹配; 雙目系統(tǒng); 定位; 遠(yuǎn)距離測距; YOLO; AIS; 相機(jī)標(biāo)定
中圖分類號: TN911.7?34; TP3 " " " " " " " " " " "文獻(xiàn)標(biāo)識碼: A " " " " " " " " " "文章編號: 1004?373X(2024)15?0151?06
Study on sea surface long?range ranging based on binocular system
ZHENG Hailin1, CUI Yaqi2
(1. North University of China, Taiyuan 030051, China; 2. Naval Aeronautical University, Yantai 264001, China)
Abstract: In order to adapt to the future development trend of unmanned ships and discover and locate long?range targets at sea, a binocular vision long?distance localization technology scheme is proposed by YOLOV8 and local stereo matching method. The binocular cameras are calibrated. The YOLOV8 algorithm is adopted to detect the targets at sea. Furthermore, by local stereo matching, the local feature extraction and local feature matching of the targets detected by the two cameras are carried out. On the basis of the matched results, the distance of the matched targets is calculated according to the principle of binocular vision. The experimental results show that the average accuracy of this technical solution for target ranging at distances of 100 to 300 m, 300 to 500 m, 500 to 700 m, and 700 to 900 m is 90%, 84%, 75% and 60%, respectively. Its processing speed is 20 PFS. In comparison with the traditional methods, the proposed method can focus on the targets at sea surface directly and implement stereo matching of local pixels only, so it has the advantages of fast operation speed and good positioning effect.
Keywords: target detection; stereo matching; binocular system; positioning; long?range ranging; YOLO; automatic identification system; camera calibration
0 "引 "言
隨著海上事業(yè)的發(fā)展,需要對海面目標(biāo)進(jìn)行探測與距離計(jì)算,以保證安全航行。但是海面測距面臨嚴(yán)峻的挑戰(zhàn),首先距離較遠(yuǎn),其次海面情況復(fù)雜,風(fēng)浪、雨水以及海霧對測距干擾較大。目前來說有多種探測手段,使用雷達(dá)對目標(biāo)進(jìn)行探測是海面探測的主要手段,因?yàn)樗行畔鬏斨饕揽柯暡?,聲波是一種機(jī)械波,可以在水中傳播較遠(yuǎn)距離[1]。雷達(dá)效果雖好,但也存在一定的局限性。首先采用雷達(dá)對目標(biāo)進(jìn)行探測,其隱蔽性較弱,而提高隱蔽性的方式一般采用電磁靜默的方式。該方式采用光電手段,并配合激光設(shè)備對周邊海域目標(biāo)進(jìn)行探測及定位;其次,此種探測方式存在成本高、易被偵查設(shè)備發(fā)現(xiàn),針對經(jīng)過偽裝的艦船探測效果不佳等問題。所以本文采用可見光的形式對目標(biāo)進(jìn)行探測??梢姽馓綔y一般采用雙目系統(tǒng),因?yàn)殡p目相機(jī)能夠獲得物體的深度信息,根據(jù)雙目系統(tǒng)來獲得物體的距離。目前雙目測距算法分為傳統(tǒng)算法與深度學(xué)習(xí)算法。傳統(tǒng)立體匹配算法最具有代表的是SGBM。SGBM是半全局立體匹配,使用互信息為代價子,求解全局能量函數(shù),速度非???,但是對于距離稍遠(yuǎn)的物體匹配效果非常差,不能滿足本文海面遠(yuǎn)距離測距的要求。目前深度學(xué)習(xí)算法具有代表性的是LEAStereo網(wǎng)絡(luò),采用神經(jīng)網(wǎng)絡(luò)的方式對每一個像素點(diǎn)進(jìn)行匹配。該方法雖然細(xì)節(jié)效果好,但是有效測距距離太短,不能應(yīng)用于海面,對于遠(yuǎn)距離目標(biāo)不能進(jìn)行有效的探測。目前為止,對于海面測距一般采用三角形測距法,但是這種方式對設(shè)備的要求較高,且對于遠(yuǎn)距離目標(biāo)需要將兩相機(jī)分別放置在兩艘艦船之上,對于實(shí)際操作極為不利。綜上所述,開展雙目系統(tǒng)的海面遠(yuǎn)距離測距研究對提高海面物體測距效果有著實(shí)際意義。
本文中主要使用了目標(biāo)檢測、特征提取以及特征匹配來進(jìn)行遠(yuǎn)距離測距。首先對雙面立體視覺進(jìn)行了研究,使用局部立體匹配的方式對遠(yuǎn)距離物體進(jìn)行匹配;其次對于海面物體的檢測進(jìn)行研究,使用海面物體數(shù)據(jù)集進(jìn)行訓(xùn)練,從而實(shí)現(xiàn)對海面物體的高精度檢測;然后對特征提取和特征匹配算法進(jìn)行了優(yōu)劣對比,針對不同場景下的算法選擇做了詳細(xì)研究,同時將各種算法融合成一個新結(jié)構(gòu),以適用于海面的立體匹配,給出針對更遠(yuǎn)距離、更高精度的立體匹配方法。
1 "雙目立體視覺原理
本文采用雙目測距的方式對海面物體進(jìn)行距離測量。雙目視覺技術(shù)自20世紀(jì)60年代中期被提出[2],是通過對多幅二維圖像進(jìn)行分析,獲得有關(guān)數(shù)據(jù)并將其由二維向三維轉(zhuǎn)換的一個過程[3]。雙目視覺利用視差計(jì)算物體與原點(diǎn)之間的距離。視差指同一空間點(diǎn)在左右視圖中成像的差異[4],當(dāng)物體離原點(diǎn)越近,兩只眼睛看到的物體位置差異越大,反之越遠(yuǎn),兩只眼睛看到的物體位置差異越小。
為了計(jì)算視差,采用兩個攝像頭同時拍攝同一場景,通過測量兩攝像頭中同一物體在圖像上的像素差異,計(jì)算出物體距離。計(jì)算視差之前需要有如下幾個步驟。
1) 需要進(jìn)行相機(jī)標(biāo)定,因?yàn)橹苯佑?jì)算視差是在理想環(huán)境下得到的,實(shí)際上直接計(jì)算視差誤差會非常大,所以需要獲得相機(jī)的內(nèi)外參數(shù),為后續(xù)操作做數(shù)據(jù)儲備;
2) 進(jìn)行畸變矯正,能消除平行雙目視覺系統(tǒng)在制造安裝時兩相機(jī)無法完全平行的缺陷[5],將實(shí)際情況模擬為理想情況,將成像平面矯正為同一水平面,這樣可以減小誤差;
3) 進(jìn)行目標(biāo)檢測,獲得目標(biāo)的名稱、位置、目標(biāo)框、中心點(diǎn),為后續(xù)的局部立體匹配做準(zhǔn)備;
4) 進(jìn)行特征提取,提取圖像中的關(guān)鍵點(diǎn);
5) 進(jìn)行特征匹配用于計(jì)算視差,得到視差計(jì)算距離。
測距步驟如圖1所示。
對于相機(jī)標(biāo)定,在圖像測量過程中,為確定空間物體表面某點(diǎn)的三維幾何位置與其在圖像中對應(yīng)點(diǎn)之間的相互關(guān)系,必須建立相機(jī)成像的幾何模型,這些幾何模型參數(shù)就是相機(jī)參數(shù)。首先得到世界坐標(biāo)系([Xw],[Yw],[Zw],1),世界坐標(biāo)系描述的是物體在真實(shí)世界中的絕對位置;其次將世界坐標(biāo)系轉(zhuǎn)換為相機(jī)坐標(biāo)系,該坐標(biāo)系是為了將世界坐標(biāo)系轉(zhuǎn)換到圖像坐標(biāo)系的一個過渡坐標(biāo)系([R]和[T]被稱為旋轉(zhuǎn)矩陣);然后將相機(jī)坐標(biāo)系轉(zhuǎn)換為圖像坐標(biāo)系,圖像坐標(biāo)系是相機(jī)的虛擬成像平面的坐標(biāo)系,該坐標(biāo)系的作用是獲得物體實(shí)際成像的坐標(biāo)點(diǎn),結(jié)合焦距實(shí)現(xiàn)坐標(biāo)系的轉(zhuǎn)化;最后將圖像坐標(biāo)系轉(zhuǎn)換為像素坐標(biāo)系,圖像坐標(biāo)是連續(xù)的,但是電腦中存儲的圖像是離散化的像素點(diǎn),需要將連續(xù)的像素點(diǎn)轉(zhuǎn)化為離散的。最終將世界坐標(biāo)系轉(zhuǎn)換為像素坐標(biāo)系,并獲得相機(jī)的內(nèi)部參數(shù)。
相機(jī)標(biāo)定后得到相機(jī)內(nèi)部參數(shù),需要對相機(jī)進(jìn)行畸變矯正,使實(shí)際情況模擬理想情況。矯正前的左右圖極線、光軸不在同一水平面,會導(dǎo)致測量出來的視差誤差過大。為了使極點(diǎn)在無窮遠(yuǎn)處,左右兩圖高度一致,采用Bouguet極線矯正。首先分解左右兩個旋轉(zhuǎn)矩陣,將其變?yōu)樽缶仃嚺c右矩陣;其次通過調(diào)整旋轉(zhuǎn)矩陣,將左右相機(jī)各旋轉(zhuǎn)一半,使得左右相機(jī)的光軸平行;然后構(gòu)建變換矩陣使得極線與成像平面在同一水平面,通過右相機(jī)相對于左相機(jī)的偏移矩陣完成;最后通過合成旋轉(zhuǎn)矩陣與變換矩陣相乘獲得左右相機(jī)的整體旋轉(zhuǎn)矩陣。左右相機(jī)的坐標(biāo)系乘以各自的整體旋轉(zhuǎn)矩陣可以使左右相機(jī)的主光軸平行,且成像平面與極線位于同一水平面,即可完成畸變矯正。
2 "海面目標(biāo)檢測
本文需要進(jìn)行海上目標(biāo)檢測以及海上目標(biāo)測距,但是海上光照十分復(fù)雜,實(shí)際拍攝的圖像往往因?yàn)樘鞖狻⒐庹盏雀鞣N環(huán)境因素使得整體圖像對比度較低[6]。直接使用原圖像進(jìn)行目標(biāo)檢測和測距,會受到外部條件的干擾,導(dǎo)致實(shí)驗(yàn)效果不理想,所以需要對圖像進(jìn)行預(yù)處理。飛濺起來的海水、雨水以及海霧,在圖像上呈現(xiàn)出一個小點(diǎn)或者一塊顏色較弱區(qū)域,在進(jìn)行目標(biāo)檢測之前,需要采用高斯濾波對圖像進(jìn)行噪聲過濾,還需要增強(qiáng)圖像紋理和清晰度,將圖像中物體的邊緣特征增強(qiáng)。因?yàn)槲矬w表面紋理越豐富,提取特征以及計(jì)算視差的效果就越好。物體的像素特征越區(qū)別于背景像素,提取特征點(diǎn)的效果就越好。除了使用直方圖均衡化之外,還對圖像進(jìn)行銳化操作,增強(qiáng)圖像角點(diǎn),以提高特征檢測的準(zhǔn)確率。
圖像預(yù)處理結(jié)束后進(jìn)行海面目標(biāo)檢測。由于海面情況復(fù)雜,且搭載相機(jī)的船舶晃動,所以傳統(tǒng)目標(biāo)檢測效果不佳。因?yàn)樯疃葘W(xué)習(xí)在目標(biāo)檢測方面有著非常優(yōu)異的表現(xiàn)[7],故本文采用基于深度學(xué)習(xí)的目標(biāo)檢測,兼顧速度以及準(zhǔn)確率。本文使用的數(shù)據(jù)集大部分來源于公開數(shù)據(jù)集,少部分來自于網(wǎng)絡(luò)。數(shù)據(jù)集的優(yōu)劣會直接影響到目標(biāo)檢測的精準(zhǔn)度,所以對來自網(wǎng)絡(luò)的圖片進(jìn)行圖像增強(qiáng)和預(yù)處理。本文的數(shù)據(jù)集分為4類,分別為:艦船、浮標(biāo)、礁石、島嶼。數(shù)據(jù)集的命名格式與coco數(shù)據(jù)集格式統(tǒng)一。目標(biāo)檢測算法按網(wǎng)絡(luò)結(jié)構(gòu)可分為兩大類:One Stage和Two Stage[8]。在實(shí)際的目標(biāo)檢測中,需要快速確定目標(biāo)位置,對海面上的物體進(jìn)行實(shí)時檢測,所以采用One Stage的方式進(jìn)行目標(biāo)檢測。One Stage可直接回歸物體的類別概率和位置坐標(biāo)值,速度快,通過主干網(wǎng)絡(luò)直接給出類別和位置信息。采用One Stage方式的有基于自然語言處理領(lǐng)域中的Transformer模型遷移到計(jì)算機(jī)視覺任務(wù)中的Transformer框架算法,其代表性算法為DETR[9]。DETR采用編碼器解碼器的方式進(jìn)行目標(biāo)檢測,速度快、準(zhǔn)確率高,但是此方法訓(xùn)練速度非常慢,難以收斂,泛用性不高,所以本文采用YOLO家族中的YOLOV8。YOLO算法是一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的實(shí)時目標(biāo)檢測算法[10]。YOLOV8也是采用One Stage的方式,它是建立在以前YOLO版本成功的基礎(chǔ)上,并引入了新的模塊,改進(jìn)了網(wǎng)絡(luò)結(jié)構(gòu),進(jìn)一步提升了速度以及準(zhǔn)確率,且收斂快,訓(xùn)練速度快。
YOLOV8由Backbone提取特征模塊、Neck模塊和Head預(yù)測模塊組成。Backbone用于提取特征,采用從上到下、由淺入深的網(wǎng)絡(luò)結(jié)構(gòu)提取深層次圖像特征;Neck模塊主要將淺層圖形特征與深層語義特征相結(jié)合;Head模塊用于預(yù)測目標(biāo)框以及目標(biāo)類別。YOLOV8采用目前主流的解耦頭結(jié)構(gòu),將分類和目標(biāo)框分開檢測。
目標(biāo)檢測效果如圖2所示。
3 "局部立體匹配
計(jì)算視差需要使用立體匹配算法,立體匹配算法的目的是將兩幅圖像中點(diǎn)對應(yīng)起來計(jì)算,從而計(jì)算視差。因?yàn)楹C婺繕?biāo)單一,且圖像中只有海面的情況占多數(shù)情況,所以本文采用特征提取以及特征匹配的局部匹配方式來計(jì)算視差,且局部立體匹配算法實(shí)時性能好[11],比傳統(tǒng)立體匹配算法速度更快,誤差更小,不需要將所有像素點(diǎn)都進(jìn)行視差計(jì)算,只需要提取目標(biāo)檢測框內(nèi)的特征點(diǎn)進(jìn)行特征匹配計(jì)算視差。
對于特征提取,本文對SURF和ORB兩種特征提取算法在海面上的特征提取效果做了對比實(shí)驗(yàn),結(jié)果如圖3所示。
SURF算法計(jì)算速度快,對尺度、旋轉(zhuǎn)、光照等變化具有較好的魯棒性和較高的特征匹配準(zhǔn)確率。ORB算法計(jì)算速度最快,對尺度、旋轉(zhuǎn)、光照等變化具有較好的魯棒性,同時具有較高的特征匹配準(zhǔn)確率和較低的計(jì)算量。但是相對于SURF算法,ORB算法的匹配準(zhǔn)確率稍低。
如圖3所示,特征點(diǎn)大部分在目標(biāo)上,且海面上的特征點(diǎn)不參與匹配計(jì)算,所以本文采用只匹配物體的特征來進(jìn)行局部立體匹配,最后將匹配的坐標(biāo)映射回原圖計(jì)算得到視差。使用ORB算法提取的特征點(diǎn)比使用SURF算法提取的特征點(diǎn)更少,但是也基本都在目標(biāo)上,且速度更快,所以首次提取采用ORB算法,提取效果不理想時使用SURF算法進(jìn)行第二次提取。
在初次提取時采用ORB算法,ORB算法主要由關(guān)鍵點(diǎn)提取及改進(jìn)的特征描述子組成[12]。ORB可以快速選擇關(guān)鍵點(diǎn),首先需要遍歷所有像素選擇出關(guān)鍵點(diǎn)。將每一個像素點(diǎn)與該像素點(diǎn)周圍一圈的等距非連續(xù)像素相對比,并設(shè)置一個閾值,此閾值與中心點(diǎn)像素值正相關(guān)。將周圍的像素與閾值做判斷,如果有連續(xù)多個像素點(diǎn)大于或小于該閾值,則將該中心點(diǎn)像素視作關(guān)鍵點(diǎn)。判斷關(guān)鍵點(diǎn)的計(jì)算公式如下:
[S=d, " "Ix≤Ip-ts, " "Ip-tlt;Ixlt;Ip+tb, " "Ip+t≤Ix] (1)
式中:[d]為暗點(diǎn);[s]為相似點(diǎn);[b]為亮點(diǎn);[Ix]為中心點(diǎn)的亮度;[Ip]為圓上某點(diǎn)的亮度;[t]為閾值;[S]為找出的關(guān)鍵點(diǎn)。找出所有關(guān)鍵點(diǎn)后就能大致描述物體的輪廓。
將關(guān)鍵點(diǎn)轉(zhuǎn)化為特征向量,讓這些特征向量可以共同表示一個對象,并利用一組關(guān)鍵點(diǎn)創(chuàng)建二元描述符,再從關(guān)鍵點(diǎn)周圍界定好的鄰域內(nèi)隨機(jī)選擇一對像素。關(guān)鍵點(diǎn)周圍的鄰域是一個具有特定像素寬度和高度的正方形。比較關(guān)鍵點(diǎn)像素與該點(diǎn)鄰域像素的亮度,如果關(guān)鍵點(diǎn)像素比鄰域的亮,則分配值為1的描述符,反之為0。遍歷所有關(guān)鍵點(diǎn),構(gòu)建特征描述符;最后保證旋轉(zhuǎn)不變性與尺度不變性。雙目視覺中,左右兩圖的相同物體可能因?yàn)橐暡顚?dǎo)致大小顯示不均勻,所以需要保持旋轉(zhuǎn)與尺度不變性。構(gòu)建圖像金字塔,再從每一層快速尋找關(guān)鍵點(diǎn),因?yàn)榻鹱炙拿繉訛樵紙D像的縮小版本,所以原始圖像中的任何一點(diǎn)像素在圖像金字塔的像素級別也會降低,實(shí)現(xiàn)了部分尺度不變性使用。保持旋轉(zhuǎn)不變性,通過矩法來計(jì)算特征點(diǎn)以[r]為半徑范圍內(nèi)的質(zhì)心,特征點(diǎn)坐標(biāo)到質(zhì)心形成一個向量,作為該特征點(diǎn)的方向,以上步驟得到了特征點(diǎn)以及特征點(diǎn)的特征描述符。
當(dāng)目標(biāo)框內(nèi)提取特征點(diǎn)的效果不理想時,進(jìn)行第二次提取,使用SURF進(jìn)行特征提取,SURF算法是由文獻(xiàn)[13]提出的一種圖像局部特征描述算子。首先以對每一個像素點(diǎn)構(gòu)建黑塞矩陣的方式生成特征點(diǎn)。黑塞矩陣的行列式值代表了像素點(diǎn)周圍的變化量,提取特征點(diǎn)只需要提取行列式值的極大值和極小值。黑塞矩陣還能保持局部尺度不變性。對于圖像中的某一點(diǎn),黑塞矩陣的定義如下:
[H(x,?)=Lxx(x,?)Lxy(x,?)Lxy(x,?)Lyy(x,?)] (2)
式中[L]為高斯二階偏導(dǎo)數(shù)在[x]處與圖像中像素點(diǎn)的卷積。將圖像生成多尺度圖像金字塔來構(gòu)建尺度空間,并在每一層對每一個像素點(diǎn)構(gòu)建黑塞矩陣,生成特征點(diǎn),實(shí)現(xiàn)尺度不變性;其次對特征點(diǎn)進(jìn)行主方向匹配,將經(jīng)過黑塞矩陣處理后的每個像素點(diǎn)與二維空間和尺度空間鄰域內(nèi)的多個點(diǎn)進(jìn)行比較,篩選出比較穩(wěn)定的特征點(diǎn)。以篩選出的每一個特征點(diǎn)為中心,計(jì)算一個圓形鄰域內(nèi)的點(diǎn)在[x]和[y]方向上的響應(yīng)。對兩個方向上的響應(yīng)值進(jìn)行高斯加權(quán)后,分別表示在水平和垂直方向上的方向向量。在所有的方向向量中最大的即為此特征點(diǎn)的方向;最后生成特征點(diǎn)的描述符,在特征點(diǎn)周圍取一個矩形區(qū)域塊,所取的矩形區(qū)域方向是沿著特征點(diǎn)的主方向,將矩陣相對主方向的水平方向值、垂直方向值、水平方向絕對值、垂直方向絕對值這4個值作為每個區(qū)域的特征向量。將此特征向量作為該特征點(diǎn)的描述子。
在進(jìn)行了多次實(shí)驗(yàn)后,提取特征得到以下結(jié)論:一般情況下第一次提取到有效特征點(diǎn)的概率為90%,需要進(jìn)行第二次特征提取的概率為10%,得到特征點(diǎn)后,先對特征點(diǎn)進(jìn)行過濾操作,將非目標(biāo)框內(nèi)特征點(diǎn)過濾,后續(xù)不需要將非目標(biāo)點(diǎn)進(jìn)行匹配;然后進(jìn)行特征點(diǎn)匹配,如何在左右兩幅圖像中選擇合適的區(qū)域進(jìn)行特征點(diǎn)匹配這是非常關(guān)鍵的問題。本文采用了代價計(jì)算的方式選擇左右兩圖匹配區(qū)域,采用了兩種特征點(diǎn)匹配算法來計(jì)算視差。
代價計(jì)算選擇匹配區(qū)域。首先使用水平Sobel濾波將左右圖像進(jìn)行邊緣處理,得到圖像的梯度信息。將水平Sobel濾波處理后的圖像上的每個像素點(diǎn)映射為一個新圖像,映射函數(shù)為:
[Pnew=0, " "Plt;-preFilterP+preFilter, " "-preFilter≤P≤preFilter2×preFilter, " "Pgt;preFilter] (3)
式中:[P]表示圖像上的像素;preFilter為一個常數(shù)參數(shù),將處理好的圖像保存用于代價計(jì)算。利用圖像經(jīng)過采樣的方式得到SAD代價,最終得到像素矩陣的偏移量,從而將左圖的目標(biāo)框映射到右圖。
在左右兩圖都找到特征框后,進(jìn)行特征點(diǎn)匹配,本文采用了交叉匹配的方式。對于交叉匹配,首先建立匹配條件,采用特征點(diǎn)最近的方式,只用到左圖中的特征點(diǎn)[A]與右圖中的特征點(diǎn)[B]距離最近,并且右圖圖中的此特征點(diǎn)[B]到左圖中的此特征點(diǎn)[A]也是最近,且左圖中沒有其他特征點(diǎn)到右圖特征點(diǎn)[B]距離最近,此時返回最佳匹配[A]和[B];其次選擇左圖中的特征點(diǎn)與右圖中的特征點(diǎn)按照建立的匹配條件進(jìn)行匹配;最后按照降序排列取最佳匹配的50個關(guān)鍵點(diǎn)進(jìn)行繪制,并輸出坐標(biāo)。
特征點(diǎn)匹配后,需要計(jì)算視差,將匹配的兩特征點(diǎn)進(jìn)行水平位移檢測得到視差。根據(jù)雙目系統(tǒng)理論,將視差轉(zhuǎn)化為深度,獲得局部點(diǎn)云信息,最后得到距離信息。
4 "效果驗(yàn)證
驗(yàn)證測距效果。首先使用AIS傳播自動識別系統(tǒng),獲取艦船的信息,將其經(jīng)緯度坐標(biāo)與相機(jī)的GPS信息相結(jié)合轉(zhuǎn)換為實(shí)際距離信息;其次將船舶的經(jīng)緯度坐標(biāo)繪制成點(diǎn)圖與相機(jī)中的艦船做關(guān)聯(lián),使艦船的圖像坐標(biāo)系與世界坐標(biāo)系相關(guān)聯(lián),如圖4所示。
圖4中,左下側(cè)的點(diǎn)為待測點(diǎn)目標(biāo),右下側(cè)的點(diǎn)為相機(jī)GPS信息,最高處的點(diǎn)為其他船舶。根據(jù)經(jīng)緯度計(jì)算公式得到距離為115 m。
測距效果如圖5所示。其中方框中間的數(shù)字為距離,方框左上角數(shù)字為物體置信度,本次精度為96%。
本文做了多組測試,表1為在各距離段下多組測試的情況,平均FPS為20,在100~300 m之間效果最好。
5 "硬件構(gòu)成
使用ZED2相機(jī)、筆記本電腦和Jetson nano邊緣計(jì)算模塊作為本次實(shí)驗(yàn)的硬件模塊。ZED2相機(jī)是雙目相機(jī),采用兩個高清攝像頭,像素可達(dá)1 920×1 080,兩攝像頭基線長度為12 cm,焦距為2.12 mm。筆記本電腦處理器為i5?7700k,顯卡為1050 Ti,因?yàn)樗惴ㄖ行枰褂媚繕?biāo)檢測和測距算法,都對處理器和顯卡有一定要求,主要用于編寫代碼、調(diào)試相機(jī)、標(biāo)定相機(jī)、測試代碼。Jetson nano邊緣計(jì)算模塊是一個特殊的開發(fā)板,也是一個功能強(qiáng)大的小型計(jì)算機(jī),專為AI應(yīng)用程序設(shè)計(jì)。它尺寸小巧、便于攜帶、耗電量低且算力適中,可以對目標(biāo)檢測算法進(jìn)行加速運(yùn)算。Jetson nano計(jì)算模塊實(shí)物如圖6所示。
本文利用Pycharm和Matlab 2020兩個工具進(jìn)行設(shè)計(jì)和實(shí)現(xiàn),主要采用Python進(jìn)行編譯,使用Pytorch框架。通過Matlab對雙目相機(jī)進(jìn)行標(biāo)定,使用Pycharm對相機(jī)進(jìn)行畸變矯正、目標(biāo)檢測、立體匹配代碼編寫。
6 "結(jié) "語
本文研究了海面遠(yuǎn)距離測距的方法,將目標(biāo)檢測和雙目視覺理論結(jié)合,提出了局部立體匹配的方法。針對海面上目標(biāo)檢測進(jìn)行了改進(jìn),對不同的特征匹配算法進(jìn)行比較,在不同的情況下使用合適的特征匹配算法,并使用硬件搭載實(shí)施。本文仍然存在不足之處,后續(xù)還需進(jìn)一步進(jìn)行改進(jìn):首先是硬件問題,相機(jī)的分辨率有待提高,分辨率越高遠(yuǎn)距離物體的測距效果越好;其次是算法問題,本文使用的算法對于近距離的測距效果不好,有待優(yōu)化;最后在未來的實(shí)驗(yàn)中將使用高倍率相機(jī)以及可移動云臺對遠(yuǎn)距離、全方位物體進(jìn)行測距。
參考文獻(xiàn)
[1] 鄧彬,李韜,湯斌,等.基于太赫茲雷達(dá)的聲致海面微動信號檢測[J].雷達(dá)學(xué)報(bào),2023,12(4):817?831.
[2] HENRY P, KRAININ M, HERBST E, et al. RGB?D mapping: Using depth cameras for dense 3D modeling of indoor environments [C]// 12th International Symposium on Experimental Robotics Experimental Robotics. Heidelberg, Germany: Springer, 2014: 477?491.
[3] 姚安素.基于雙目立體視覺測體積的算法研究[D].北京:北京理工大學(xué),2018.
[4] 韓坤昊,賈振堂.融合多層次特征及互注意力機(jī)制的視差估計(jì)[J].國外電子測量技術(shù),2023,42(10):35?42.
[5] 成彬,馮勇平,雷華.基于雙目立體視覺的連鑄輥尺寸三維測量方法[J].電子測量技術(shù),2024,47(3):135?143.
[6] 龐明,鞠金寶.海面復(fù)雜背景下圖像增強(qiáng)算法研究[J].科技創(chuàng)新與應(yīng)用,2023,13(31):36?41.
[7] 蘇山杰,陳俊豪,張之云.基于深度學(xué)習(xí)的車輛目標(biāo)檢測算法綜述[J].汽車文摘,2022(8):14?23.
[8] 申彩英,朱思瑤,黃興馳.雙目視覺的智能汽車目標(biāo)檢測算法研究[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2023,37(11):11?19.
[9] CARION N, MASSA F, SYNNAEVE G, et al. End?to?end object detection with transformers [C]// Proceedings of 16th European Conference on Computer Vision. Heidelberg, Germany: Springer, 2020: 213?229.
[10] 吳博陽,毛勝軻,林特宇,等.基于改進(jìn)YOLOv8的風(fēng)電葉片表面損傷檢測與識別方法[J/OL].機(jī)電工程:1?9[2024?03?19].http://kns.cnki.net/kcms/detail/33.1088.TH.20240319.1117.007.html.
[11] 郭俊陽,胡德勇,潘祥,等.基于改進(jìn)ORB特征的圖像處理方法[J].海南熱帶海洋學(xué)院學(xué)報(bào),2024,31(2):47?52.
[12] 游達(dá)章,周宏耀,張業(yè)鵬.基于特征優(yōu)化的Census立體匹配方法[J].湖北工業(yè)大學(xué)學(xué)報(bào),2024,39(1):41?45.
[13] BAY H, ESS A, TUYTELAARS T, et al. Speeded?up robust features (SURF) [J]. Computer vision and image understanding, 2008, 110(3): 346?359.
作者簡介:鄭海霖(2000—),男,四川宜賓人,碩士研究生,研究方向?yàn)閳D像處理。
崔亞奇(1987—),男,河南人,副教授,講師,研究方向?yàn)樯疃葘W(xué)習(xí)和多傳感器信息融合。