唐耿彪 張 巍 關夏威
(1.中科芯集成電路有限公司 無錫 214062)(2.武漢第二船舶設計研究所 武漢 430205)
近年來,水下激光成像技術是水下成像領域最熱門的課題之一。激光在水下傳播會受水體吸收和散射作用,致使距離較遠的目標信號被淹沒,導致成像對比度差、分辨率不高[1~3]。分辨率是水下激光成像系統的重要性能指標,以水下激光靶板圖像上所能識別的最大分辨率線對為衡量標準。目前,常用的檢測手段是目測法,通過人眼直接觀察和識別監視器上水下激光靶板圖像中的線對,但當目標距離較遠時,光線會在水中快速衰減,圖像易受到光照不足和噪聲等問題的干擾,而且目測法具有主觀性,易受環境影響,不能定量分析,且檢測穩定性不高。
針對上述問題,本文提出了一種基于信息熵和多峰直方圖的分辨率靶板自動檢測算法,該算法能自動計算靶板中線對數目,檢測系統的分辨率,且能抑制光照和噪聲的影響,準確率較高。
對分辨率靶板圖像中不同線寬的線對區域進行定位和提取是進行分辨率自動檢測的第一步,本文采用的分辨率靶板圖案為黑目標白背景,尺寸為280mm×280mm,四周分布不同分辨率線對,黑目標由不同分辨率線對組成,線寬分別為1/3、1、2、3、4、6、8、10、20、40、60、80、100,單位是 mm/LP,共 13個,分辨率靶板如圖1所示。
圖1 分辨率靶板
由于分辨率靶板尺寸及各線對區域相對位置固定,本文采用等比例尺縮放法對線對區域進行定位[4],在對靶板圖像中各線對進行定位前,選取線寬為100mm/LP的線對作為基準,依照此線對在分辨率靶板中的大小以及與其他線對之間的相對位置,計算其他線對在靶板圖像中的位置。具體計算步驟如下。
1)求圖像縮放因子scaleX和scaleY
其中115和150是靶板上線寬為100mm/LP線對的寬和高,單位是mm,width和height是靶板圖像上線寬為100mm/LP線對的寬和高,單位是pix。
2)求所有線對在圖像上的坐標topX、topY、bot?tomX和bottomY
其中x、y是線寬為100mm/LP的線對在靶板圖像上的坐標,i∈[1,22]。
圖2為768×576的水下激光靶板圖像定位結果。
圖2 圖像定位
在確定不同分辨率的線對在靶板圖像中的位置后,提取相應區域的圖像進行分割和識別。
線對圖像直方圖統計結果直接影響線對識別的有效性,對水下激光成像系統分辨率檢測尤為重要。本文提出一種基于多峰直方圖檢測線對數目的方法,該方法對線對圖像統計直方圖,利用差分法確定波峰和波谷的位置,能有效消除噪聲等因素的影響,準確計算圖像中線對數目。
在統計線對圖像直方圖之前,對線對圖像進行分割是一個關鍵步驟和難題,圖像分割的準確程度直接影響線對數目檢測的準確性。目前常用的閾值分割法有Otsu法、Bernsen法等。本文在對水下激光成像系統采集的靶板圖像進行研究和分析的基礎上,采用基于最大信息熵求閾值的方法對圖像進行分割,該方法能有效地區分目標對象和背景。
其中-pilg(pi)為隨機值 pi的信息量,當 pi=0時,其信息量取0。
根據信息論可知,信息熵代表圖像的信息量。對離散的信息熵,當其概率相等時,信息熵的取值最大。對一副圖像而言,當信息熵取最大值時,對應的灰度值正處于灰度直方圖波谷的位置,這符合圖像分割時閾值的選取原則。
基于最大信息熵的圖像分割算法步驟如下。
1)計算線對圖像中灰度值為i的概率,計算公式如下:
其中 pi表示灰度值為i的點在圖像中出現的概率,Ni表示出現的次數,w×w表示圖像的大小。
2)假設灰度值 t(t=0,1,...,255)將圖像分為前景和背景兩個區域,計算對應t的信息熵Ht,計算公式如下:
其中HFt是前景區域的信息熵,HBt是背景區域的信息熵,計算公式如下:
其中 pi表示灰度值為i的概率,Pt表示前景區灰度值所對應的概率之和,計算公式如下:
3)求使信息熵取最大值所對應的灰度值t,將該值確定為圖像分割的閾值T,計算公式如下:
4)用閾值T對圖像進行分割,計算公式如下:
其中G(x,y)表示圖像(x,y)處的灰度值。
本文采集了不同光照條件下的分辨率靶板圖像,并以線寬為10mm/LP的線對圖像為例進行預處理,如圖3所示,并測試了三種閾值分割算法的效果,如圖4所示。
圖3 圖像預處理
圖4 圖像分割
由圖3知,經圖像預處理后圖像的質量有一定的提高,高斯濾波后消除了圖像中的部分噪聲。由圖4知,Otsu法能較好地抑制噪聲,但對對比度較低的圖像較敏感,容易丟失重要信息;Bernsen法二值化后的圖像不夠清晰光滑,且對噪聲敏感。本文采用的基于最大信息熵的方法對線對圖像進行分割,從圖4中可看出,既能完整地保留圖像中的重要信息,又有效地抑制了噪聲,同時盡可能地消除了光照的影響,有利于識別圖像中的線對數目。
多峰直方圖靶板檢測算法的基本思想是按行統計分割后圖像中灰度值為255的像素點,以行號為橫坐標,像素點數為縱坐標繪制直方圖,通過差分法確定直方圖中波峰和波谷的位置,計算有效波峰個數,進而統計圖像中線對的數目。
為使檢測的準確性更高,對分割后的圖像進行濾波處理,常用的濾波算法有均值濾波、中值濾波和高斯濾波等,但對分割后的圖像處理的效果都不理想[7~9]。本文結合線對圖像的特點,提出一種非線性濾波算法,能有效地解決圖像中噪聲和粘連等問題,算法的步驟如下。
1)按行統計圖像中灰度值為255的像素點個數Ni,并求其最大值M,計算公式如下:
其中h是圖像的高。
2)用最大值M 的1/3作為判斷依據消除圖像中孤立的點,計算公式如下:
3)按列對圖像執行類似操作。
以線寬為10mm/LP的線對圖像為例,濾波后的圖像如圖5所示。
圖5 濾波后圖像
由圖5知,濾波后圖像中孤立的點、無效的粘連被去除,有利于直方圖的統計。
線對圖像按行統計直方圖如圖6所示。
圖6 圖像直方圖
由圖6知,直方圖中波峰代表圖像中線對的數目,但還存在一些噪聲,邊緣處較明顯,可設置閾值消除其影響,如圖7所示是以閾值為峰值處理后的靶板直方圖。
圖7 處理后直方圖
由圖7知,處理后直方圖中波峰和波谷清晰可見,計算每個橫坐標點的差分,當差分結果為負值時,表示波峰開始,為正值時表示波峰結束,統計波峰數量和波峰長度[10~12]。當波峰長度小于某一閾值時,可認為是無效的線對,本文選擇的閾值是波峰最大長度的1/8。
在檢測系統分辨率時,從線寬最小的線對圖像開始識別,如果當前線對圖像的識別結果與實際線對數目相等,則系統的最高分辨率為當前線對線寬的倒數。
針對某型水下激光成像系統,采用目測法和自動檢測法,以對比度為0.88的分辨率靶板為例,在系統與靶板之間的距離為1.54m、水體衰減系數不同的場景下檢測系統的最高分辨率,兩種方法的檢測結果如表1所示。
表1 檢測結果
由表1知,兩種檢測方法的結果相差不大,誤差不超過一組分辨單元,屬于可接受的誤差范圍,且自動檢測方法的準確性并未隨水中噪聲的增加而降低。
本文提出了一種基于信息熵和多峰直方圖的分辨率靶板自動檢測算法,通過圖像定位和提取,采用最大信息熵法對靶板圖像進行分割,結合濾波函數去除噪聲和粘連部分,最后使用基于差分的多峰直方圖算法識別了線對數量、檢測出系統分辨率。實驗結果表明,基于信息熵和多峰直方圖的分辨率靶板自動檢測算法實現了對水下激光成像系統分辨率指標的客觀評價,避免了人為因素的影響,而且對光照和噪聲具有魯棒性,有較高的穩定性和準確性。