潘選任, 王冬姣, 葉家瑋
面向無人艇雷達(dá)圖像的連通區(qū)域標(biāo)記改進(jìn)算法
潘選任, 王冬姣, 葉家瑋
(華南理工大學(xué) 土木與交通學(xué)院, 廣東 廣州, 510640)
搭載雷達(dá)的無人艇在水域中航行時(shí), 通過雷達(dá)掃描水域附近的環(huán)境以識(shí)別無人艇周圍的障礙物, 為了區(qū)分雷達(dá)圖像中的障礙物, 通常采用連通區(qū)域標(biāo)記算法對(duì)不同障礙物進(jìn)行標(biāo)記。由于雜波對(duì)雷達(dá)成像的干擾, 造成雷達(dá)圖像中像素點(diǎn)增加, 使用常見的算法處理圖像時(shí)效果不佳, 為此, 提出一種改進(jìn)算法, 在常見算法的基礎(chǔ)上增加去除雜波像素點(diǎn)的功能, 并標(biāo)記出圖像中的最大障礙物。經(jīng)過實(shí)驗(yàn)分析后可知, 相比于改進(jìn)前的算法, 改進(jìn)后的算法減少了標(biāo)記的區(qū)域數(shù)量, 處理后的雷達(dá)圖像更加平滑, 便于無人艇對(duì)最大障礙物進(jìn)行預(yù)警以及采取合理的避碰措施。
無人艇; 雷達(dá)圖像; 障礙物; 連通區(qū)域標(biāo)記算法
無人艇由于體積小、成本低、活動(dòng)區(qū)域廣、雷達(dá)反射面積小等優(yōu)勢(shì)越來越被廣泛關(guān)注, 目前主要用于航道測量、海洋環(huán)境監(jiān)測等領(lǐng)域[1]。無人艇通常依靠雷達(dá)來獲取可靠的航路信息, 保證其在復(fù)雜的水域環(huán)境中安全航行, 并完成各種航行任務(wù)。
由于雷達(dá)掃描的原始圖像有很多雜波, 不方便岸站進(jìn)行觀察, 調(diào)大雷達(dá)增益又會(huì)使雷達(dá)圖像上障礙物的掃描范圍縮小, 增加無人艇的碰撞危險(xiǎn), 因此采用連通區(qū)域標(biāo)記算法對(duì)雷達(dá)掃描所得的圖像進(jìn)行處理, 便于岸站區(qū)分障礙物, 及時(shí)采取避碰措施。
目前許多文獻(xiàn)對(duì)圖像處理和連通區(qū)域標(biāo)記算法進(jìn)行了研究。汪勁希等[2]通過線段表連通域原理對(duì)二值化后的海天線圖像進(jìn)行檢測, 以提取海天線的非線性邊緣信息。田守東[3]采用8鄰域連通, 完成對(duì)雷達(dá)圖像中目標(biāo)的識(shí)別, 標(biāo)記出圖像中所有連通區(qū)域, 不受區(qū)域形狀的影響。王凱等[4]在傳統(tǒng)連通區(qū)域算法的基礎(chǔ)上, 采用圖像分塊的改進(jìn)方法, 減少了數(shù)據(jù)處理量, 提高了抗噪性。謝宜壯等[5]提出一種新的連通域標(biāo)記算法, 通過增加虛警剔除, 減小控制邏輯的復(fù)雜性, 使新算法在速度和性能上更具有優(yōu)勢(shì)。
采用一般的圖像處理算法處理雷達(dá)圖像時(shí), 由于雜波的影響, 處理后的圖像效果較差。文中對(duì)現(xiàn)有算法進(jìn)行改進(jìn), 挑選合適的閾值處理圖像, 將不同的障礙物提取出來并進(jìn)行標(biāo)記, 使改進(jìn)后的算法不僅適用于處理雷達(dá)圖像, 而且增加了提取最大障礙物的功能, 便于岸站對(duì)無人艇附近最具威脅的障礙物進(jìn)行預(yù)警。
選用圖1所示的Broadband 3G雷達(dá)作為艇載雷達(dá), 該型雷達(dá)高24 cm, 重7.5 kg, 采用12/24 V直流電壓供電, 工作功率為18 W, 工作溫度為–25℃~44℃, 能短時(shí)間內(nèi)開機(jī)且無需預(yù)熱, 完全滿足無人艇的需求。
圖1 雷達(dá)設(shè)備
艇載雷達(dá)通電后將信號(hào)接口與路由器相連接, 路由器向外發(fā)射Wi-Fi信號(hào), 岸站接收路由器發(fā)射的信號(hào)后, 就可以在提供的軟件界面上顯示雷達(dá)圖像。如圖2所示, 紅色部分為障礙物, 雷達(dá)回波信號(hào)最強(qiáng), 黑色部分為背景, 無雷達(dá)回波信號(hào)。
圖2 雷達(dá)掃描圖像
連通區(qū)域分析是指將雷達(dá)圖像中的各個(gè)連通區(qū)域找出并標(biāo)記, 是圖像處理工作中所使用的主要預(yù)處理方法[6]。連通區(qū)域分析處理的對(duì)象通常是一張二值化后的圖像, 二值圖像的亮度值只有2個(gè)狀態(tài): 黑(背景像素為0)和白(目標(biāo)像素為255)[7]。通過對(duì)二值圖像中白色像素(目標(biāo))的標(biāo)記, 讓每個(gè)單獨(dú)的連通區(qū)域形成一個(gè)被標(biāo)識(shí)的塊, 就是連通區(qū)域分析。
圖像的連通區(qū)域是指圖像的最大連通子集中的所有元素都是前景像素的區(qū)域。例如圖3中有5個(gè)連通區(qū)域。
圖3 二值圖像與標(biāo)記
連通性的準(zhǔn)則有以下2種: 如果2個(gè)像素點(diǎn)1(1,1)和2(2,2)滿足
即1和2是4鄰接的, 此情況下, 1個(gè)像素有4個(gè)像素與其鄰接, 如圖4(a)。如果2個(gè)像素點(diǎn)坐標(biāo)1(1,1)和2(2,2)滿足
即1和2是8鄰接的, 此情況下, 1個(gè)像素有8個(gè)像素與其鄰接, 如圖4(b)。圖4中標(biāo)號(hào)為的像素是像素的索引號(hào)為的鄰居, 以P表示[8]。
圖4 2種鄰接方式
常見的連通區(qū)域分析算法有2種: 2遍掃描法(Two-Pass)和種子填充法(Seed-Filling)。2遍掃描法是由Rosenfeld[9]提出的經(jīng)典連通區(qū)域標(biāo)記算法, 該算法是對(duì)二值圖像進(jìn)行2遍掃描以確定連通區(qū)域, 掃描順序?yàn)閺淖蟮接? 從上到下[10]。種子填充法來源于計(jì)算機(jī)圖形學(xué)[11], 常用于對(duì)某個(gè)圖像進(jìn)行填充。算法的思路為: 選取1個(gè)前景像素點(diǎn)作為種子, 然后根據(jù)連通區(qū)域的2個(gè)基本條件(像素值相同、位置相鄰)將與種子相鄰的前景像素合并到同一個(gè)像素集合中, 最后得到的該像素集合則為一個(gè)連通區(qū)域。
由于2遍掃描法需要對(duì)圖像掃描2遍, 而種子填充算法只需要掃描1遍即可完成對(duì)連通區(qū)域的像素標(biāo)記[12], 因此文中對(duì)種子填充算法進(jìn)行改進(jìn)。改進(jìn)前的算法[13]流程如圖5所示。
改進(jìn)前的算法采用4鄰接的方式處理圖2中雷達(dá)掃描所得的圖像, 最后的處理結(jié)果如圖6所示。圖中, 圖像正上方的連通區(qū)域有1塊沒有標(biāo)記完成, 而且有很多雜波形成的細(xì)小區(qū)域, 不便于觀察。
由于8鄰接方式更加全面, 有更好的通用性, 因此改進(jìn)算法擴(kuò)大到8鄰接進(jìn)行分析。改進(jìn)后的算法先處理二值圖像中的雜波, 然后完成對(duì)連通區(qū)域的輪廓跟蹤及標(biāo)記, 最后提取圖像中的最大連通區(qū)域。算法流程如圖7所示。
圖5 改進(jìn)前的算法流程
圖6 改進(jìn)前算法所得圖像
雷達(dá)圖像一般包括目標(biāo)物體、背景和噪聲,要想從多值的數(shù)字圖像中直接提取出目標(biāo)物體, 常用的方法就是閾值分割法。使用閾值分割法前需要對(duì)圖像進(jìn)行二值化處理, 即將圖像上的像素點(diǎn)的亮度值設(shè)置為0或255, 使整個(gè)圖像呈現(xiàn)出只有黑和白的明顯的視覺效果。然后利用圖像中需提取的目標(biāo)與背景在亮度上的差異, 通過設(shè)定閾值將像素級(jí)分成若干類, 從而實(shí)現(xiàn)目標(biāo)與背景的分離[14]。
圖7 改進(jìn)后的算法流程
當(dāng)原始圖像的某個(gè)像素點(diǎn)大于或等于閾值時(shí), 將此像素點(diǎn)標(biāo)記為目標(biāo)像素(像素值為1), 當(dāng)原始圖像的某個(gè)像素點(diǎn)低于閾值時(shí), 將此像素點(diǎn)標(biāo)記為背景像素(像素值為0)。
在圖2所示的雷達(dá)圖像中有明顯的目標(biāo)和背景, 灰度直方圖呈雙峰分布, 如圖8所示, 因此, 可采用固定閾值法進(jìn)行閾值選取。
圖8 雷達(dá)圖像灰度直方圖
選取兩峰之間的谷底對(duì)應(yīng)的灰度級(jí)作為閾值, 此時(shí)閾值=30, 大于閾值的作為前景, 小于閾值的作為背景, 從而完成目標(biāo)和背景的分離。最終圖像的二值化處理結(jié)果如圖9所示。
圖9 二值化后的圖像
選取固定閾值對(duì)圖像進(jìn)行二值化處理后, 將圖像中閾值低于100的連通區(qū)域反轉(zhuǎn)為背景像素,以去除圖像中剩余的許多小的連通區(qū)域和雜波,提升算法處理圖像的速度, 快速標(biāo)記圖像中的障礙物, 去除后的圖像更加平滑, 如圖10所示。
圖10 去除雜波后的圖像
圖像連通區(qū)域的標(biāo)記通過輪廓跟蹤完成。輪廓跟蹤就是如何根據(jù)當(dāng)前的輪廓點(diǎn), 找到下一個(gè)輪廓點(diǎn), 存在以下2種情況: 根據(jù)圖4, 若當(dāng)前的輪廓點(diǎn)是第1個(gè)輪廓點(diǎn), 那么從與當(dāng)前點(diǎn)鄰接的左上點(diǎn)5開始按順時(shí)針方向掃描它的鄰居, 第1個(gè)遇到的前景像素就是下一個(gè)輪廓點(diǎn); 若當(dāng)前的輪廓點(diǎn)不是第1個(gè)輪廓點(diǎn), 那么假如上一個(gè)輪廓點(diǎn)是當(dāng)前輪廓點(diǎn)的鄰居P, 那么從P+2開始按順時(shí)針方向掃描當(dāng)前輪廓點(diǎn)的鄰居, 第1個(gè)遇到的像素點(diǎn)就是下一個(gè)輪廓點(diǎn)[8]。
首先從輪廓的第1個(gè)像素點(diǎn)左上的鄰居5開始按順時(shí)針方向掃描它的鄰居。若當(dāng)前像素點(diǎn)的所有鄰居都是背景像素, 即當(dāng)前像素點(diǎn)是一個(gè)孤立的點(diǎn), 則停止跟蹤并返回0, 否則第1個(gè)遇到的前景像素點(diǎn)即為下一個(gè)輪廓點(diǎn)。若當(dāng)前輪廓點(diǎn)不是第1個(gè)輪廓點(diǎn), 則先檢查當(dāng)前輪廓點(diǎn)的標(biāo)簽, 如果當(dāng)前點(diǎn)已經(jīng)標(biāo)記且不是最新標(biāo)簽(假設(shè)當(dāng)前點(diǎn)的標(biāo)簽為),則提前終止跟蹤并返回。假如上一個(gè)輪廓點(diǎn)是當(dāng)前輪廓點(diǎn)的鄰居P, 那么從P+2開始按順時(shí)針方向掃描當(dāng)前輪廓點(diǎn)的鄰居, 首先遇到的前景像素點(diǎn)就是下一個(gè)輪廓點(diǎn)。如果當(dāng)前點(diǎn)是起始點(diǎn)并且下一個(gè)點(diǎn)是第2點(diǎn), 則輪廓跟蹤算法程序結(jié)束, 返回0[8]。
通過輪廓跟蹤得到圖像中的所有連通區(qū)域后, 給不同的連通區(qū)域隨機(jī)分配不同的顏色進(jìn)行標(biāo)記。標(biāo)記結(jié)果如圖11所示。
圖11 連通區(qū)域標(biāo)記
通過讀取雷達(dá)的二值圖像, 將各連通區(qū)域標(biāo)記顏色, 統(tǒng)計(jì)各區(qū)域的顏色數(shù)量, 求取最多顏色數(shù)量區(qū)域, 并把該區(qū)域標(biāo)為255, 其他的標(biāo)為0, 就能提取出圖像的最大連通區(qū)域, 如圖12所示, 此時(shí)提取出的最大連通區(qū)域在雷達(dá)的右側(cè), 因此無人艇在航行時(shí)需要密切關(guān)注右側(cè)的障礙物。
圖12 最大連通區(qū)域提取圖像
將雷達(dá)置于無人艇模型(簡稱船模), 在室外空地測試接收雷達(dá)圖像, 實(shí)驗(yàn)環(huán)境如圖13(a)所示, 船模的正前方置有1艘雙體船。雷達(dá)掃描圖像如圖13(b)所示, 圖像正上方的一塊紅色障礙物即為雙體船。
圖13 實(shí)驗(yàn)環(huán)境及障礙物雷達(dá)圖像
在VS2017軟件以及Opencv2.7.0環(huán)境中編寫改進(jìn)的種子填充算法程序, 驗(yàn)證算法的有效性。程序運(yùn)行后可得到二值化后去除雜波的圖像、連通區(qū)域標(biāo)記圖像以及最大連通區(qū)域提取圖像, 如圖14所示。
圖14 經(jīng)改進(jìn)程序處理后的障礙物圖像
由圖14(a)可以看到, 與原始雷達(dá)圖像相比, 部分小的區(qū)域和雜波已被去除, 雷達(dá)圖像更加平滑; 圖14(b)將雷達(dá)掃描的所有障礙物標(biāo)記為不同的顏色, 可更好地觀察周圍的障礙物; 圖14(c)將圖像中的最大障礙物提取出來, 即正前方的雙體船, 提醒岸站特別注意, 需要采取轉(zhuǎn)向措施避開前方的船舶。
將船模右轉(zhuǎn)后, 正前方的雙體船位于船模的左側(cè), 此時(shí)的實(shí)驗(yàn)環(huán)境及雷達(dá)圖像如圖15所示。在雷達(dá)的界面上可以看到左側(cè)有一塊大的紅色障礙物, 此時(shí)運(yùn)行程序得到圖16所示3幅圖像。
根據(jù)圖16(c)可知, 船模轉(zhuǎn)向后程序提取的最大障礙物位于左側(cè), 即雙體船所在的位置。
圖15 船模右轉(zhuǎn)實(shí)驗(yàn)環(huán)境及雷達(dá)圖像
圖16 經(jīng)改進(jìn)程序處理后的船模右轉(zhuǎn)圖像
通過上述實(shí)驗(yàn)驗(yàn)證了改進(jìn)后的算法能有效處理雷達(dá)圖像, 并能提取圖像中的最大障礙物, 為無人艇采取合理的避碰措施提供參考。
將改進(jìn)前算法與改進(jìn)后算法的處理效果進(jìn)行對(duì)比, 選取圖2、圖13(b)和圖15(b)所示的3幅雷達(dá)圖像作為處理對(duì)象, 對(duì)比算法改進(jìn)前后連通區(qū)域的標(biāo)記數(shù)量以及計(jì)算程序的運(yùn)行速度, 結(jié)果如表1和表2所示。
表1 改進(jìn)前算法的運(yùn)行結(jié)果
表2 改進(jìn)后算法的運(yùn)行結(jié)果
對(duì)比可知, 相比于改進(jìn)前的算法, 算法改進(jìn)后, 減少了圖像的噪聲和雜波, 使雷達(dá)圖像的連通區(qū)域的標(biāo)記數(shù)量減少, 在一定程度上提高了算法的運(yùn)行速度。
文中通過對(duì)連通區(qū)域分析中的種子填充算法進(jìn)行改進(jìn), 去除了雷達(dá)圖像中的雜波和小的連通區(qū)域, 減少了算法標(biāo)記的數(shù)量,并能夠提取雷達(dá)圖像中的最大障礙物。相比于原始算法的處理結(jié)果, 改進(jìn)后算法標(biāo)記的障礙物數(shù)量減少, 縮短了圖像處理的時(shí)間, 通過實(shí)驗(yàn)觀測到的雷達(dá)圖像更為平滑, 且更為直觀地觀察到無人艇周圍的最大障礙物。因此改進(jìn)后的算法在無人艇航行時(shí), 能有效處理雷達(dá)圖像, 并對(duì)周圍的最大障礙物進(jìn)行預(yù)警。
文中僅對(duì)雷達(dá)圖片進(jìn)行了靜態(tài)分析, 但無人艇在水面航行時(shí), 需要對(duì)雷達(dá)掃描后的圖像進(jìn)行實(shí)時(shí)的分析處理, 以判斷無人艇前方或周圍最具威脅的障礙物, 做出適當(dāng)?shù)谋芘霾倏v指令, 如何動(dòng)態(tài)持續(xù)地的處理雷達(dá)圖像是有待進(jìn)一步開展的工作。
[1] 鄭烈心.水面無人艇建模與運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)[D].廣州: 華南理工大學(xué), 2016.
[2] 汪勁希, 燕肇一, 彭真明.復(fù)雜背景下海天線的連通域檢測法[J].艦船科學(xué)技術(shù), 2016(8): 108-112.
Wang Jin-xi, Yan Zhao-yi, Peng Zhen-ming.A Sea-Sky- Line Detection Algorithm Based on the Method of Conne- cted Area Detection Under Complicated Background[J].Ship Science and Technology, 2016, 38(8): 108-112.
[3] 田守東.基于雷達(dá)圖像的目標(biāo)檢測技術(shù)研究[D].哈爾濱: 哈爾濱工程大學(xué), 2010.
[4] 王凱, 黃山, 趙瑜, 等.面向圖像目標(biāo)提取的改進(jìn)連通域標(biāo)記算法[J].計(jì)算機(jī)工程與設(shè)計(jì), 2014, 35(7): 2438- 2441.
Wang Kai, Huang Shan, Zhao Yu, et al.Improved Algori- thm of Connected Component Labeling for Image Targets Extraction[J].Computer Engineering and Design, 2014, 35(7): 2438-2441.
[5] 謝宜壯, 譚許彬, 陳禾.一種新的連通域標(biāo)記算法[J].北京理工大學(xué)學(xué)報(bào), 2012, 32(12): 1273-1278.
Xie Yi-zhuang, Tan Xu-bin, Chen He.A New Algorithm for Connected Components Labeling[J].Transaction of Beijing Institute of Technology, 2012, 32(12): 1273-1278.
[6] 左文明.連通區(qū)域提取算法研究[J].計(jì)算機(jī)應(yīng)用與軟件, 2006, 23(1): 97-98.
Zuo Wen-ming.Study on Connected Regions Extraction[J].Computer Applications and Software, 2006, 23(1): 97-98.
[7] 左敏, 曾廣平, 涂序彥, 等.基于等價(jià)對(duì)的圖像連通域標(biāo)記算法[J].計(jì)算機(jī)仿真, 2011, 28(1): 14-16, 50.
Zuo Min, Zeng Guang-ping, Tu Xu-yan, et al.A Connected Domain Labeling Algorithm Based on Equivalence Pair in Binary Image[J].Computer Simulation, 2011, 28 (1): 14-16, 50.
[8] 張?jiān)普? 趙海, 宋純賀, 等.一種新的連通區(qū)域標(biāo)記算法[J].計(jì)算機(jī)應(yīng)用研究, 2010, 27(11): 4335-4337, 4340.
Zhang Yun-zhe, Zhao Hai, Song Chun-he, et al.New Me- thod for Component-Labeling in Binary Image[J].Application Research of Computers, 2010, 27(11): 4335-4337, 4340.
[9] Rosenfeld A.Sequential Operations in Digital Picture Processing[J].Journal of the ACM, 1996, 13(4): 471-494.
[10] 沈夏炯, 段曉宇, 原萬里, 等.基于連通區(qū)域標(biāo)記算法的圓檢測算法的研究[J].計(jì)算機(jī)工程與應(yīng)用, 2018, 54 (21): 95-98.
Shen Xia-jiong, Duan Xiao-yu, Yuan Wan-li, et al.Research on Circle Detection Algorithm Based on Connected Region Labeling Algorithm[J].Computer Engineering and Applications, 2018, 54(21): 95-98.
[11] 覃方濤, 房斌.GPU加速的二值圖連通域標(biāo)記并行算法[J].計(jì)算機(jī)應(yīng)用, 2010, 30(10): 2774-2776.
Qin Fang-tao, Fang Bin.GPU Accelerated Parallel Labe- ling Algorithm of Connected-Domains in Binary Images [J].Journal Computer Applications, 2010, 30(10): 2774- 2776.
[12] 張國和, 徐快, 段國棟, 等.一種適于硬件實(shí)現(xiàn)的快速連通域標(biāo)記算法[J].西安交通大學(xué)學(xué)報(bào), 2018, 52(6): 95-101.
Zhang Guo-he, Xu Kuai, Duan Guo-dong, et al.A Fast Labeling Algorithm of Connected Components Applicable for Hardware Implementation[J].Journal of Xi’an Jiao- tong University, 2018, 52(8): 95-101.
[13] Robert L.OpenCV 2 Computer Vision Application Programming Cookbook[M].Birmingham: Packt Publishing, 2011.
[14] 雷建鋒, 汪偉.基于OpenCV的圖像閾值分割研究與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù), 2013, 36(24): 73-76.
Lei Jian-feng, Wang Wei.Research and Implementa- tion of Image Threshold Segmentation Based on OpenCV[J].Modern Electronics Technique, 2013, 36(24): 73-76.
Improved Algorithm of Connected Component Labeling for Unmanned Surface Vehicle Radar Images
PAN Xuan-ren, WANG Dong-jiao, YE Jia-wei
(College of Civil and Transportation Engineering, South China University of Technology, Guangzhou 510640, China)
When an unmanned surface vehicle(USV) equipped with a boat-borne radar navigates the water, the radar scans the environment near the water, and the radar image is used to identify the obstacles around the USV.To distinguish different obstacles, a connected component labeling algorithm is used to mark different obstacles in the radar image.Owing to the interference from clutter on radar imaging, the pixels in the radar image increase; thus, the results obtained from traditional algorithms to process the image are inadequate.Therefore, an improved algorithm is proposed to improve the function of removing the clutter pixels based on conventional algorithms and mark the biggest obstacle in the image.Compared with the traditional algorithm, the improved algorithm reduced the number of marked areas, and the processed radar images are smoother, which is convenient for the USV to detect the largest obstacle early such that avoidance maneuvers can be performed.
unmanned surface vehicle(USV); radar image; obstacle; connected component labeling algorithm
潘選任, 王冬姣, 葉家瑋.面向無人艇雷達(dá)圖像的連通區(qū)域標(biāo)記改進(jìn)算法[J].水下無人系統(tǒng)學(xué)報(bào), 2022, 30 (1): 78-84.
U674.91; U665.22
A
2096-3920(2022)01-0078-07
10.11993/j.issn.2096-3920.2022.01.010
2021-01-18;
2021-03-19.
廣東省科技項(xiàng)目(2015B010919006).
潘選任(1995-), 男, 在讀碩士, 主要研究方向?yàn)樾滦痛芭c海洋結(jié)構(gòu)物制造.
(責(zé)任編輯: 楊力軍)