, ,2, ,,,2
(1.江蘇科技大學張家港校區(qū)機電與動力工程學院,江蘇 張家港 215600;2.中科探海(蘇州)海洋科技有限責任公司,江蘇 張家港 215600)
機器魚作為仿生機器人的研究熱點,在污染物監(jiān)測、水下資源勘探等方面扮演著關鍵性角色[1-2]。
2004年8月,北航機器人研究所利用自研制的SPC II機器魚,通過對攝像頭獲得的圖像進行目標提取,進而實現(xiàn)機器魚控制來協(xié)助考古學家完成了冬古灣古沉船的考古發(fā)掘。其中視覺目標檢測是重點,為此,國內(nèi)外很多學者進行了相關研究[3-5]。巨志勇等[6]基于灰度化圖像,利用插值法和Otsu算法實現(xiàn)對目標的分割。此方法能有效抑制光照強度分配不均的問題,但無法處理圖像光照條件發(fā)生變化的情況。楊康葉等[7]綜合分析圖像各像素RGB分量,通過對像素的聚類實現(xiàn)目標提取,該方法直觀便捷,但在適應光照條件變化的方面還是差強人意。沈志忠等[8]基于YCrCb顏色空間,利用邊緣提取實現(xiàn)了適應光照條件變化的機器魚視覺分割。但由于YCrCb顏色空間的限制,執(zhí)行算法所需參數(shù)較多,不利于實時檢測。鑒于此,提出了一種新的基于邊緣重心模板閾值分割算法。
攝像頭默認使用RGB顏色空間來表述圖像顏色,但RGB顏色空間存在受光照條件影響較大的不足,而HSV顏色空間具有獨立顏色亮度、提高顏色聚類效果的優(yōu)點[9],為此以HSV顏色空間作為進行機器魚視覺分割的顏色空間。令k,m分別為RGB分量的最大和最小值,即k=max(R,G,B),m=min(R,G,B),則從RGB顏色空間到HSV顏色空間的映射過程如式(1)~式(3)所示:
V=k/255
(1)
(2)
H=
(3)
H,S,V為HSV顏色空間的分量,分別對應顏色的色調(diào)信息、飽和度信息和亮度信息。圖1a為機器魚的原始RGB圖像,利用式(1)~式(3)轉(zhuǎn)換后,可得如圖1b所示的HSV顏色空間圖像和如圖1c所示的僅H分量圖像。由圖1可知,盡管魚頭部、身部、尾部的RGB值分布離散,但整條魚的H分量值卻是連續(xù)相近的,這為利用H分量進行機器魚的視覺分割提供了保障。
圖1 機器魚的顏色空間轉(zhuǎn)換
機器魚像素H分量值的極差(以下簡稱為極差,用L表示)是H分量值的上極限與下極限之差。設機器魚像素H分量的上極限值和下極限值分別用Hstm和Hstn表示,則極差L為:
L=Hstm-Hstn
(4)
以圖1a的機器人原始RGB圖像為例,在進行平滑去噪等圖像預處理后,遍歷圖像像素得到H分量直方圖,如圖2所示。在H分量直方圖中,一般至少存在兩個波峰,一個是反映機器魚H分量值的波峰,稱為數(shù)據(jù)峰,另一個則是反映背景色H分量值的波峰,稱為背景峰。兩個峰一般有明顯的分界,如果分界不明顯,可以重復遍歷各個像素的H分量,將對應像素的H分量值進行疊加從而獲得多次遍歷后的H分量直方圖,得到理想的兩峰分界效果。
圖2 H分量直方圖
在RGB顏色空間下,當光照條件發(fā)生變化時,各像素的RGB值會發(fā)生變化,通過式(3)轉(zhuǎn)化的機器魚像素的H分量也隨之變化,影響機器魚的視覺分割。由HSV顏色空間的定義可判斷,機器魚像素H分量值的極差是由機器魚本身的物理性質(zhì)決定的,不會因為光照條件的變化而產(chǎn)生較大的改變。故可以尋求一個以H分量為變量的動態(tài)閾值來適應光照條件的變化。文中將機器魚H分量的極差L定義為閾值長度?;赟obel算子進行邊緣提取獲得邊緣重心坐標,將以邊緣重心為中心的n×n模板稱為邊緣重心模板,計算邊緣重心模板囊括的n2個像素的H分量平均值,這個值是在實時光照條件下獲得的,故它是一個隨光照條件變化的變量。利用這個H分量平均值作為閾值中值,極差L作為閾值長度,進而可以確定邊緣重心模板的動態(tài)閾值,并實現(xiàn)機器魚的閾值分割?;谶吘壷匦哪0宓臋C器魚閾值分割步驟如下所述。
a.步驟一,對待處理的機器魚RGB圖像進行灰度化、Sobel算子邊緣提取。
圖1a為試樣圖像,對其進行灰度化,效果如圖3a所示?;赟obel算子[10]進行邊緣提取,獲得如圖3b所示的二值化邊緣圖像。利用邊緣二值化圖像,可以進一步求取邊緣重心坐標。
圖3 Sobel算子邊緣提取
b.步驟二,計算邊緣重心坐標。
設提取的機器魚邊緣的像素集合為O,集合O的元素數(shù)為N(O),采用式(5)即可獲得機器魚邊緣重心坐標(XCO,YCO)。
(5)
對(XCO,YCO)進行如式(6)的修正處理:
(6)
修正系數(shù)α1,α2,β1,β2的值視邊緣提取的效果而定,當提取邊緣集合的橫縱坐標值之和過大時,以調(diào)整α1,α2為主,不太大時,以調(diào)整β1,β2為主。
由于圖像存在噪聲干擾,Sobel算子會造成邊緣誤分割,由式(5)獲得的邊緣重心坐標(XCO,YCO)往往存在誤差。通過修正系數(shù)α1,α2,β1,β2的調(diào)節(jié)可以修正邊緣重心坐標,保證計算的準確性。
c.步驟三,計算邊緣重心模板閾值。
定義以邊緣重心為中心的n×n模板為邊緣重心模板。n根據(jù)實際所需的分割效果而定,可以選擇3,5,7,9等奇數(shù)。n取值越大,機器魚的分割效果越理想。設邊緣重心模板囊括的像素集合為M,邊緣重心模板閾值的長度為極差L。通過式(7)求得邊緣重心模板閾值Hcm和Hcn。
Δ為極差修正系數(shù),一般可取L的1%~2%。Δ用以提高極差的準確度,避免噪聲等因素干擾,提高分割精度。并且由于∑(x,y)∈MH(x,y)/n2的調(diào)節(jié),使閾值具有自適應性,故能適應光照條件變化。
d.步驟四,二值化處理。
利用邊緣重心模板閾值將機器魚圖像進行二值化處理,獲得的二值化機器魚圖像如圖4所示。
圖4 二值化圖像
e.步驟五,閉合二值化圖像。
對獲得的二值化機器魚圖像進行邊緣平滑、形態(tài)學閉合操作,結果如圖5所示。
圖5 閉合后的二值化圖像
為了驗證邊緣重心模板閾值分割法(EGTTSA)的有效性,在酷睿i5 2.6 GHz計算機上,基于MATLAB2016a進行試驗測試。場地如圖6所示,機器魚置于水池中,水池正上方裝有獲取機器魚圖像的全局攝像頭,并將圖像傳輸至主機,主機再通過無線收發(fā)模塊控制機器魚的運動。
圖6 試驗場地
為了驗證文中算法抑制光照條件變化的效果,針對人造光照、強光照和弱光照3種環(huán)境下,對超過50個機器魚目標進行了性能測試,并將測試結果與基于RGB模型顏色相似性分割算法[7](CSSABR)和基于YCrCb顏色空間的自適應閾值分割算法[8](ATSABY)進行了比較。比較性能指標為檢出率和誤檢率,且定義如下:
檢出率=Nums/Numo×100%
(8)
誤檢率=Nume/Numo×100%
(9)
Nums表示分割出且屬于原圖像機器魚的像素數(shù);Nume表示分割出但不屬于原圖像機器魚的像素數(shù);Numo表示原圖像機器魚的像素數(shù)。
3種算法的性能對比如表1所示。由表1可知,CSSABR算法雖然平均誤檢率最低,但其平均檢出率分別低于ATSABY算法12%和EGTTSA算法16%。ATSABY算法由于主要依靠YCrCb顏色空間的Cr,Cb顏色分量實現(xiàn)機器魚的視覺分割,故其響應時間高出EGTTSA算法50%,并且平均檢出率低于EGTTSA算法4%,平均誤檢率也高于CSSABR算法大約1%和EGTTSA算法0.6%。相比于這2種算法,EGTTSA算法由于進行了邊緣重心模板的H分量均值求取,使閾值具有自調(diào)節(jié)性,有效降低了光照條件的影響,從而保證了高檢出率,而且極差不隨光照條件的變化而變化,故具有較低的誤檢率,響應時間也只比CSSABR算法慢大約29%。上述試驗結果表明,EGTTSA算法具有較高的機器魚分割精度,對不同光照條件下的圖像實現(xiàn)了高檢測、低誤檢的良好效果。
表1 3種算法的識別性能對比
圖7a ~圖7e給出了3種不同環(huán)境下的機器魚原圖像和3種算法的執(zhí)行結果。由圖7可知,CSSABR算法遺漏的機器魚像素數(shù)較多,無法有效適應光照條件變化。ATSABY算法在弱光照的條件下分割精度較低,性能不如EGTTSA算法。文中給出的EGTTSA算法所分割圖像具有最完整的檢測區(qū)域和較少的誤檢區(qū)域,而且圖像閉合完整,邊緣光滑,進一步證明了算法的有效性。
圖7 3種算法處理效果
為了解決不同光照條件對機器魚視覺分割帶來的影響,提出了一種邊緣重心模板的閾值分割算法,通過理論分析和試驗可以得到以下結論:
a.利用機器魚HSV顏色空間像素的H分量作為分割依據(jù),避免了因計算參量過多導致計算量過大的問題,具有實時檢測特性。
b.利用H分量的極差作為分割閾值長度。極差是根據(jù)機器魚本身的物理特性決定的,不受光照條件的影響,故多次使用同一條機器魚只需確定1次極差即可,減少了執(zhí)行算法的準備步驟,增強了算法的可操作性。
c.利用邊緣重心模板閾值對機器魚進行分割,有效降低了光照條件對機器魚視覺分割的影響,提高了不同光照條件下機器魚的分割效果。
參考文獻:
[1] Marrazza G, Ravalli A, Rossi C. Fish robot based on chemical sensors for water monitoring [C]// Proceedings of 19th AISEM National Conference on Sensors and Microsystems, 2017: 59-64.
[2] Cui Z, Jiang H Z. Design and implementation of thunniform robotic fish with variable body stiffness[J]. International Journal of Robotics and Automation, 2017,32(2):109-116.
[3] 劉敦浩,張彥鐸,李迅,等.動態(tài)環(huán)境下自適應閾值分割方法[J].計算機應用,2016,36(增刊2):152-156.
[4] 雷俊,王立輝,何蕓倩,等.適用于機器人視覺的圖像分割方法[J].系統(tǒng)工程與電子技術,2017,39(7):1653-1659.
[5] Yuan M X,Zhao R,Hua X B,et al.Research on visual segmentation and localization of multi-robots under different lighting conditions[J].Journal of Systems and Control Engineering, 2015,229(9):838-850.
[6] 巨志勇, 蘇春美.非均勻光照下的車牌圖像分割算法[J].信息技術,2015(10):34-37.
[7] 楊康葉,鄔春學.基于RGB模型顏色相似性的彩色圖像分割[J].計算機系統(tǒng)應用,2013,22(3):128-131,160.
[8] 沈志忠,王碩,曹志強,等.基于邊緣檢測的圖像分割方法及其在機器魚中的應用[J].機器人,2006,28(4):361-366.
[9] Sabzi S, Abbaspour-Gilandeh Y, Javadikia H.Machine vision system for the automatic segmentation of plants under different lighting conditions[J].Biosystems Engineering, 2017,161(9):157-173.
[10] 趙來剛,陳道炯.一種基于Sobel算子的新型邊緣提取技術[J].機械與電子,2011(2):59-61.