朱志鵬, 朱志宇
一種基于雙目視覺的水下導引光源檢測和測距方法
朱志鵬, 朱志宇
(江蘇科技大學 電子信息學院, 江蘇 鎮江, 212000)
為滿足自主水下航行器(AUV)水下對接過程中高精確性、實時性和魯棒性等要求, 提出一種基于雙目視覺的水下導引光源檢測和測距方法, 其中包括水下相機標定、原始圖像去噪、光源檢測、位置信息解算等幾個重要步驟。在原始圖像去噪階段, 引入Laplace算子改進均值去噪算法并增強圖像突顯光源; 接著使用基于二分法的自適應閾值二值化圖像, 將光源與背景有效分開, 進一步檢測并匹配左右成像平面光源; 最后, 根據雙目定位原理, 利用檢測出的光源信息解算相對位置。文中針對水下環境改進傳統均值去噪, 更加突顯導引光源信息, 以連通域為循環判斷條件, 自適應獲取最佳圖像二值化閾值, 利用加權質心檢測確定光源中心, 并通過試驗驗證該方法滿足水下對接精度要求, 且實時性得到優化。
自主水下航行器; 雙目視覺; 水下對接; 圖像處理; 定位
隨著科學技術的發展, 水下機器人成為各國海洋勘探、軍事與商業環節中的重要工具之一。由于自主水下航行器(autonomous undersea vehicle, AUV)具有高機動性和大范圍水下巡航能力等優點, 在水下勘探、觀測、制圖、定位、深海采樣和軍事防御中扮演重要角色。但AUV自身攜帶能源有限, 限制了自身水下作業范圍, 所以對AUV的自主對接和回收技術研究尤為重要。
AUV與對接塢回收的過程可以分為遠距離導航階段和末端導引階段[1-2]。當AUV處于遠距離導航階段時, 水下對接系統對導航精度的要求不高, 一般采取水聲定位方法或者融合慣性導航和多普勒計程儀等傳感器以組合導航的方式接近對接目標[3]。當AUV靠近對接塢時, 導航定位的系統精度大體上決定最后對接的成功率, 因此需采用精度更高的導航策略, 包括聲學導引、光學導引、電磁導引和視覺導引[4]。在近距離導引階段, 視覺導引在隱蔽性、通用性和精度上均較優于另外3種導引方式[5]。
由于水下情況復雜, 實際的水下環境中存在大量的浮游生物和微小型顆粒, 這使得成像畫面清晰度低, 噪聲干擾嚴重。此外, 在位置距離計算中, 雙目視覺定位需要對特征點進行計算, 因此特征點的獲取十分關鍵。姜言清、王曉娟等[6-7]分別使用Hough圓形檢測與心形輪廓線提取參考光源, 該方法可以有效提高識別精度, 但其計算量大, 計算耗時久。Li 等[8]針對水下環境使用改進Otsu自適應閾值分割方法, 在傳統Otsu方法上增加約束條件, 分割圖像理想化的同時也相應增加了計算量。常用的水下光源檢測方法為Hough圓形檢測法, 通過對光源圓心的查找以確定光源中心坐標, 以此為特征坐標點解算AUV最終的位置信息。但在實際的水下環境中, 導引光源非直射狀態下, 光源圖像呈橢圓形, 使得Hough算法誤判光源中心, 進而影響定位精度, 并且其算法本身需考慮邊緣檢測閾值、圓形半徑范圍、相對圓心距離, 所以該算法計算量大、占用CPU處理周期長。
基于以上水下對接過程中檢測光源目標點存在的問題, 文中提出一種改進方案, 在傳統均值圖像去噪基礎上, 加入Laplace算子檢測圖像邊緣[9-10], 增強導引光源部分信息。在光源檢測方面, 以8-領域連通域為判定條件尋找最佳二值化閾值, 通過加權質心算法提取光源中心坐標。最后, 利用實際的水下圖像驗證了該方案在具體距離信息下的解算精度與實時性。
雙目視覺原理如圖1所示, 左右2臺電荷耦合器件(charge coupled device, CCD)相機在不同位置同時獲取目標圖像, 目標點會在2個成像平面形成坐標, 二者之間存在的差異, 即視差。計算出視差就可以根據相似三角形原理求出目標點在世界坐標系下的坐標。獲取物體(如光源)三維坐標之后, 可以通過下式計算AUV與導引光源的相對位置信息[9], 即

式中: 、分別為目標點在左右成像面上的橫坐標; 為兩相機基線長; 為相機焦距; 為目標點與相機之間的深度值。
文中基于雙目視覺的水下導引光源檢測和定位方法提出實施方案, 具體流程如圖2所示。在水下光源拍攝之前, 需要對2臺水下CCD相機進行雙目標定, 獲取2臺相機的位置和旋轉關系及內外參數以便后續的圖像處理[11]。將2臺水下CCD相機水平內嵌于AUV的正前方, 用以保證導引光源全部位于雙目相機視角中。開啟相機采集4個導引光源的圖像, 首先采用改進的均值濾波去除原始圖像的噪聲; 其次采用基于二分法的特殊閾值二值化圖像對圖像進行灰度變換; 接著利用距離加權質心算法提取光源中心并對其配對; 最后根據相對應的坐標求解出AUV與對接塢之間的位置關系。
原始水下圖像中的噪聲易干擾特征點的判斷,水下圖像去噪是進行雙目視覺特征點解析的前提條件。
對2臺水下CCD相機進行雙目標定, 用以獲取成像的坐標系和世界坐標系之間的關系。采用7×10(6 cm×6 cm)的標定板, 在水下從不同的角度拍攝標定板, 獲得25~30對標定板的圖像。接著將圖像導入到MATLAB R2018a自帶的Stereo Camera Calibrator工具箱中, 如圖3所示。水下標定過程會直接獲得雙目相機的內外參數, 其中內參數包括每個相機內部參數、徑向畸變系數和切向畸變系數, 外參數包括形容2個相機之間關系的旋轉矩陣和平移向量。

圖3 水下標定過程
雙目標定的結果顯示, 從左到右攝像機坐標系之間的旋轉矩陣

從左到右攝像機坐標系之間的平移矩陣

由于在實際試驗中2臺相機的放置不會達到絕對的水平, 不利于建立在理想模型上的雙目視覺位置解算。因此采用Bouguet算法[12]對水下圖像進行立體校正, 以此來建立理想雙目系統。同時, 利用相機的內部參數對相機的徑向畸變和切向畸變進行修正, 而外參數則將對最終的AUV與對接塢位置結算過程起到關鍵影響。立體校正后的效果圖如圖4所示。

圖4 立體校正后效果圖


傳統的均值濾波算法對圖像噪聲有很好的抑制作用, 但是均值濾波處理后的圖像變得平滑、模糊, 破壞了圖像邊緣的特征細節, 而在水下光源的提取過程中, 需要將導引光源區域和背景區域完全區分開, 因此在初始圖像的去噪部分需要對傳統的均值濾波算法加以改進。
改進的均值濾波算法是在傳統均值濾波基礎上加入Laplace算子以尋找圖像邊緣像素點的坐標, 在該像素點灰度值中使用迭代法選取一個自適應閾值。Laplace算子的定義為


去噪并增強后的水下灰度圖像將用于接下來的圖像二值化。圖像二值化的方法可以分為全局性質二值化和局部性質二值化。由于水下對接的特殊需求, AUV只需區分光源與背景2種區域, 全局與局部性質的二值化會將部分較高亮度的背景提取出來。因此, 在二值化圖像閾值選取方面, 以連通域數量為判定條件, 基于二分法自適應選取閾值, 提取光源圖像。
連通區域(connected component)一般是指圖像中具有相同像素值且位置鄰近的前景像素點組成的圖像區域。對于二值圖像, 連通域表示對圖像中所有的白色像素點進行標記, 同一種標記的白色像素即被定義為二值圖像的連通域。
將含有導引光源的圖像二值化后, 導引光源所在的區域會形成不同的連通域。連通域中心的區域即導引光源中心所在位置, 因此對連通域的判定是獲取光源中心的重要步驟之一。常用的連通域判定有4-領域判定和8-領域判定。4-領域判定是指當前操作的圖像像素點的上、下、左、右4個像素, 只要滿足其中一個像素點為1(或255)即可表示為同一連通域。8-領域連通域判定是指對應像素點的上、下、左、右、左上、右上、左下和右下8個像素點, 只要滿足其中一個像素點為1(或255)即可表示為同一連通域[14]。因此, 4-領域的連通域判定為8-領域連通域判定的子集。4-連通域與8-連通域的定義分別為


考慮到4個導引光源呈菱形狀排列且水下環境復雜, 光源附近易產生白色噪聲; 使用4-領域連通域判定方式易在光源邊緣判定出新的小塊連通域, 而這樣的連通域并非導引光源產生, 故而引起導引光源的誤判。而8-領域連通域判定可以有效避免上述情況的發生, 該判定方法將噪聲產生的連通域與光源產生的連通域視作同一個連通域判定, 不會產生光源誤判并在后續的腐蝕、膨脹處理階段消除噪聲產生的小塊連通域。
查找方面, 8-領域連通域采用2遍掃描法(two-pass)尋找二值圖像, 其核心思路是掃描2遍圖像將圖像中存在的所有連通域找出并標記, 第1遍掃描時賦予每個白色像素點1個標簽, 同一連通域內的像素可能會存在1個或多個標簽, 因此需要將同一個連通域內的不同標簽進行合并; 第2遍掃描時, 將滿足式(6)的像素標記并進行合并, 使其從屬于同一個連通域。具體步驟如下。
3) 掃描結束, 輸出連通域范圍與連通域數量。
二值化后的水下圖像, 水下光源部分完全凸顯, 需要提取光源的中心以匹配各個光源。在這一過程中, 利用質心檢測算法找出二值圖像光源中心坐標。
對二值圖像進行膨脹和腐蝕操作是進行質心檢測的前提條件。膨脹和腐蝕能夠平滑光源邊緣, 得到規則的連通域形狀。膨脹運算能夠去除圖像中的暗噪點, 使圖像中的高亮區域變大, 亮噪點增強; 腐蝕運算能去除圖像中的亮噪點, 但會使圖像中的高亮區變小, 暗噪點增強。因此需組合使用上述2種運算方式。

開運算能夠消除圖像中二值圖像中較小的噪聲點, 對圖像的亮噪區域進行平滑的同時不改變其形狀和體積, 如圖5所示。
圖5 形態學處理后效果圖
Fig. 5 Effect picture after morphological treatment
傳統的質心檢測算法是統計同一連通域內所有橫坐標與縱坐標之和, 將統計所得結果除以該連通域內所有的像素數量, 即求取同一連通域內的平均橫坐標與平均縱坐標。因此可定義為

對于水下的光源灰度圖像, 光源中心亮度最高, 距離中心越遠, 亮度越低, 因此距離光源中心越遠的像素對質心判斷的影響越小。傳統質心檢測算法將光源所在范圍全部無差別納入質心檢測過程中, 忽略了遠離光源的像素對質心檢測的影響。因此文中以滿足條件的像素點與質心之間距離的倒數作為加權函數[15], 用以減弱遠離光源的噪聲, 減少光暈部分的噪聲對質心檢測的干擾, 提高質心檢測的精度。具體做法是將傳統質心檢測結果作為初始質心坐標, 代入加權函數



由于對接塢一般設置在深海或者水下3 m以上的淺水中, 所以對接過程中, AUV不存在其他光源或水面光斑的干擾, 因此質心檢測環節計算出的質心便是對接塢光源所在的位置。實驗中對接塢的4個導引光源為菱形分布, 因此文中以質心的橫縱坐標為判別依據, 將4個導引光源一一匹配, 其配對結果將用于位置解算環節。
理想的雙目視覺模型是雙目立體視覺的基礎模型[16-18], 如圖6所示。

圖6 理想雙目視覺模型

根據攝像機線性模型, 可求得空間點到像點的映射關系


由式(14)~(16)可以得出, 對于空間中同一點, 在兩攝像機中成像點之間的轉換關系為

綜合上式, 可求出空間三維點位點坐標

將相機標定環節得到的左右攝像機內外參數和匹配環節的匹配點坐標代入式(18), 即可解算出AUV的三維位置信息。
圖7為試驗流程圖。試驗中以2臺CCD相機為基礎, 在十字架上搭建4個菱形排布的模擬光源, 作為對接過程中的導引光源。CCD相機平行于水池底面, 并令其完全靜止, 保證拍攝圖像不因外力而模糊變形。而導引光源預先設置在CCD相機15 m處, 試驗過程中不斷推進相機與導引光源的實際距離, 記錄其真實距離值, 模擬AUV不斷向對接塢靠近的過程。在拍攝導引光源圖像之前先對相機進行雙目標定, 獲取每個相機的內外參數。拍攝導引光源的過程中要保證4個導引光源全部位于相機視野中, 拍攝后的原始圖像直接傳送到計算機中進行后續處理。由于AUV在回收對接末端階段, 其行進速度低于1.5 kn且航向不會短時大幅變化, 所以雙目相機拍攝的水下導引光源圖像不會因航速、航向失真。因此,試驗階段重點驗證該方案的精度與實時性。

圖7 試驗流程圖
水下圖像去噪效果如圖8所示。由圖可以看出, 改進后的均值去噪算法可以去除噪聲圖像中大部分的噪聲, 同時保留并增強光源信息, 為接下來二值化閾值選取提供便利條件。
圖9為二值化閾值選取效果圖。原始圖像的灰度最大值為219, 最小值為43, 得到初始閾值為131, 此時檢測到8-領域連通域數量為154, 不滿足要求, 經過二分法鎖定最終閾值為193, 用時0.13 s, 連通域數量為4, 滿足要求, 循環結束, 輸出二值圖像。圖10為Hough算法檢測圓心效果圖, 可以看出, 該算法檢測出的光源數量較多, 且用時2.7 s。通過對比可得, 使用基于二分法的光源圖像提取更能滿足水下對接實時性需求。

圖8 水下圖像去噪效果圖

圖9 閾值選取效果圖

圖10 Hough檢測圓效果圖
加權質心檢測的效果如圖11所示。從圖中可以看出, 加權質心檢測后的坐標點更傾向于光源的中心, 減少了光暈對光源中心判斷的影響。表1為加權質心檢測后光源坐標的變化。

圖11 質心檢測對比圖

表1 加權質心檢測后光源坐標變化
表2中的6組數據為實際距離和解算距離, 試驗結果顯示距離越遠, 精度越發散, 而近距離精度較高。表3中統計了4組樣本容量為50的平均用時, 其范圍均未超過0.5 s, 因此滿足對接精度與實時性需求。

表2 距離解算與誤差

表3 用時比較
基于MATLAB、VS2019和Opencv3.7.0 環境, 以2臺分辨率為1 280×720的水密CCD相機構建一種基于雙目視覺的AUV對接回收末端定位方法。水池試驗證明, 文中提出的水下雙目視覺定位方法, 在近距離階段可以較為準確地解算出AUV與對接塢之間的距離, 并能保證10 m附近定位誤差在±10%附近。由于回收塢喇叭口直徑為1.2 m, 且10 m以外區域, AUV采用航位推算導航, 10 m以內區域, AUV采用視覺與航位推算混合導航, 其近距離階段的視覺導引精度足以使AUV順利進入喇叭口, 因此該方案精度滿足對接需求。
在實際工程應用中, AUV對接末端速度低于1.5 kn(約0.75 m/s), 且距離回收塢越近, 速度越慢。統計10 m以內的平均用時均未超過0.5 s, 即AUV每秒接收視覺定位數據至少2次, 滿足對接過程信號頻率需求。而Hough邊緣梯度變換處理一張圖像需要2.7 s。因此, AUV對接回收的實時性得到優化提高。
采用雙目視覺獲取水下導引光源的圖像, 對原始光源圖像濾波去噪, 去噪后循環獲取圖像連通域與二值化的閾值、提取出光源圖像并計算出光源中心坐標、匹配光源并最終結算位置信息。使用的光源檢測算法與傳統的Hough圓形檢測算法相比, 實現簡單計算量減少, 圖像處理時間縮短, 有效的提高了定位過程中實時性需求。但是, 由于使用加權質心檢測算法判斷光源中心, 海水中的雜質或者導引光源自身的不規則光暈將使得精度發生變化, 因此, 該方案犧牲了部分雙目測距精度與魯棒性以提高AUV短距離對接過程中的實時性。但其精度滿足對接需求, 且魯棒性可通過增加導引光源數量與提高光源強度等方式提高。
[1] Liam P, Sajad S, Mae S, et al. AUV Navigation and Localization: A Review[J]. IEEE Journal of Oceanic Engineering, 2014, 39(1): 131-149.
[2] Inzartev A V, Matvienko Y V, Pavin A M, et al. Investigation of Autonomous Docking System Elements for Long Term AUV[C]//Proceedings of MTS/IEEE Oceans. Washington, USA: IEEE, 2005: 388-393.
[3] 孫葉義, 武皓微, 李曄, 等. 智能無人水下航行器水下回收對接技術綜述[J]. 哈爾濱工程大學學報, 2019, 40(1): 1-11.
Sun ye-yi, Wu Hao-wei, Li Ye, et al. Review of Underwater Docking Technology for Intelligent Unmanned Underwater Vehicle[J]. Journal of Harbin Engineering University, 2019, 40(1): 1-11
[4] Yao P, Qi S B. Obstacle-avoiding Path Planning for Multiple Autonomous Underwater Vehicles with Simultaneous Arrival[J]. Science China(Technological Sciences), 2019, 62(1): 121-132.
[5] 趙霞, 袁家政, 劉宏哲. 基于視覺的目標定位技術的研究進展[J]. 計算機科學, 2016, 43(6): 10-16, 43.
Zhao Xia, Yuan Jia-zheng, Liu Hong-zhe. Advances in Vision-based Target Location Technology[J]. Computer Science, 2016, 43(6): 10-16, 43.
[6] 姜言清. AUV回收控制的關鍵技術研究[D]. 哈爾濱: 哈爾濱工程大學, 2016.
[7] 王曉娟. 基于視覺的AUV水下回收導引定位技術研究[D]. 哈爾濱: 哈爾濱工程大學, 2011.
[8] Li Y, Jiang Y, Cao J, et al. AUV Docking Experiments Based on Vision Positioning Using Two Cameras[J]. Ocean Engineering, 2015, 110: 163-173.
[9] 王國權, 周小紅, 蔚立磊. 基于分水嶺算法的圖像分割方法研究[J]. 計算機仿真, 2009, 26(5): 255-258.
Wang Guo-quan, Zhou Xiao-hong, Yu Li-lei. Image Segmentation Based on Watershed Algorithm[J]. Computer Simulation, 2009, 26(5): 255-258.
[10] 周莉莉, 姜楓. 圖像分割方法綜述研究[J]. 計算機應用研究, 2017, 34(7): 1921-1928.
Zhou Li-li, Jiang Feng. Survey on Image Segmentation Methods[J]. Application Research of Computers, 2017, 34(7): 1921-1928.
[11] 尋言言, 薛河儒, 姜新華. 基于MATLAB的相機標定方法[J]. 內蒙古農業大學學報(自然科學版), 2014, 35(2): 164-168.
Xun Yan-yan, Xue He-ru, Jiang Xin-hua. The Camera Calibration Method Based on MATLAB[J]. Journal of Inner Mongolia Agricultural University(Natural Science Edition), 2014, 35(2): 164-168.
[12] Bouchra B, Sebastien K, Nabil E A, et al. A Flexible Technique Based on Fundamental Matrix for Camera Self-calibration with Variable Intrinsic Parameters from Two Views[J]. Journal of Visual Communication and Image Representation, 2016, 39: 40-45.
[13] Otsu N. A Threshold Selection Method from Gray-Level Histograms[J]. IEEE Transactions on Systems Man & Cybernetics, 2007, 9(1): 62-66.
[14] 馬逸東, 周順勇. 基于連通性檢測的圖像椒鹽噪聲濾波算法[J]. 液晶與顯示, 2020, 35(2): 167-172.
Ma Yi-dong, Zhou Shun-yong. Salt and Pepper Noise Filtering Algorithm Based on Connectivity Detection[J]. Chinese Journal of Liquid Crystals and Displays, 2020, 35(2): 167-172.
[15] 劉子銘. 加權方向自適應全變分去噪算法[J]. 電子技術與軟件工程, 2019(23): 69-70.
[16] 權穩穩. 基于視覺的水下目標識別與定位技術研究[D]. 青島: 山東大學, 2018.
[17] 于永軍, 徐錦法, 張梁, 等. 慣導/雙目視覺位姿估計算法研究[J]. 儀器儀表學報, 2014, 35(10): 2170-2176.
Yu Yong-jun, Xu Jin-fa, Zhang Liang, et al. Research on SINS/Binocular Vision Integrated Position and Attitude Estimation Algorithm[J]. Chinese Journal of Scientific Instrument, 2014, 35(10): 2170-2176.
[18] Scharstein D, Szeliski R. A Taxonomy and Evaluation of Dense Two-Frame Stereo Correspondence Algorithms[J]. Kluwer Academic Publishers, 2002, 47: 1-3.
1. 謝景鵬, 李宗剛, 杜亞江, 等. 基于視覺信息丟失的機器魚運動控制算法[J]. 水下無人系統學報, 2020, 28(5).
2. 陳嘉杰, 王中, 曹小娟, 等. 基于最優導引律的高空滑翔魚雷彈道設計[J]. 水下無人系統學報, 2020, 28(3).
3. 李娟, 張建新, 楊莉娟, 等. 未知環境下UUV動態目標跟蹤導引方法[J]. 水下無人系統學報, 2019, 27(3).
4. 張偉, 李子軒, 宮鵬, 等. UUV接駁單目視覺導引燈陣定位方法[J]. 水下無人系統學報, 2019, 27(3).
5. 楊惠珍, 王迪, 呂瑞. 基于導引控制一體化設計的水下攔截器迎面攔截最優制導律[J]. 水下無人系統學報, 2018, 26(3).
6. 齊貝貝, 嚴衛生, 高劍. 基于偶極勢場的移動回收站空間回塢導引算法[J]. 水下無人系統學報, 2018, 26(3).
7. 趙旭, 陳亞林, 張奎. 基于FPGA的高精度水下對接聲導引技術[J]. 水下無人系統學報, 2018, 26(1).
Method for Detecting and Ranging an Underwater Guided Light Source Based on Binocular Vision
ZHU Zhi-peng, ZHU Zhi-yu
(Jiangsu University of Science and Technology, School of Electronic Information, Zhenjiang 212000, China)
To meet the requirements of high accuracy, real-time performance, and robustness in autonomous underwater vehicle(AUV) underwater docking, this study proposes a binocular vision-based underwater guidance light source detection and ranging method. The main processes of this method includes underwater camera calibration, denoising of original images, detection of light sources, and location calculation. In the original image denoising stage, a Laplace operator is introduced to improve the mean denoising algorithm and enhance the image to highlight the light source. Then, an adaptive threshold binary image based on the dichotomy is used to effectively separate the light source from the background. Light sources on the left and right imaging planes are then detected and matched. Finally, according to the principle of binocular location, the relative position is solved by using the detected light source information. In this method, traditional mean denoising is improved for an underwater environment, and information of the guided light source is highlighted. The best image binary threshold is obtained by using the connected domain as the cyclic judgment condition, and the light source center is determined by weighted centroid detection method. The method is verified in specific experiments that meet the requirements of underwater docking accuracy. In addition, real-time performance is optimized.
autonomous undersea vehicle(AUV); binocular vision; underwater docking; image processing; location
TP242.62; P715.5
A
2096-3920(2021)01-0065-09
10.11993/j.issn.2096-3920.2021.01.010
朱志鵬, 朱志宇. 一種基于雙目視覺的水下導引光源檢測和測距方法[J]. 水下無人系統學報, 2021, 29(1): 65-73.
2020-06-18;
2020-07-21.
國防基礎預研項目(JCKY2017414C002).
朱志鵬(1996-), 男, 在讀碩士, 主要研究方向為AUV回收對接末端雙目視覺定位.
(責任編輯: 許 妍)