吳 宇 蔡永斌 湯榮華
(1.海軍駐上海地區通信軍事代表室 上海 200333)(2.上海美多通信設備有限公司 上海 200333)
在水下航行器進行探測的過程中,光學傳感器常常會被用于進行局部導航或是觀察海底的地貌特征,因此圖像是主要的信息來源。盡管光學攝像頭技術目前已經比較成熟,但在水下環境下的能見度卻非常有限,一般在理想的清澈的海水中能見度約為二十米,而在相對混油的海水環境下只有幾米。光在水下傳播的衰減會造成圖像背景的模糊,而復雜的水下環境如水中生物、懸浮物等存在,這些因素會在水下圖像的成像過程中造成噪聲污染和干擾,為了增加能見度而附加的人造光源也會受到散射的作用影響圖像的清晰度。因此,針對水下圖像做目標識別和圖像處理的研究是很有必要的。
海水是一種化學成分非常復雜的混合物,它包含著以物理化學形態存在的各種元素,通常在海水中還含有懸浮體和各種活性有機體,如細菌、浮游生物和礦物顆粒等。由于海水的不均勻性和懸浮體的存在,使得海水容易受到光的散射、吸收和衰減特性的影響。水對光的衰減主要是由水對光的吸收作用和水中粒子對光的散射作用引起的。海水的吸收特性與海水中所含的物質成分密切相關,通常海水吸收特性都會隨著水域的深度,時間和種類而隨之變化。假設I0為某水層的光量,在傳輸一定距離后的光量為Ir單色平行光通過水體介質的衰減變化方程為Ir=I0e(-rc)。
其中,c為海水體積衰減系數(m-1)為平行光的傳輸距離。光在水中傳輸時受到散射和吸收的作用而衰減,因此海水體積衰減系數由體積吸收系數a和體積散射系數b兩部分組成,即c=a+b,其中表示平行光能量通過水體介質單位路程被吸收的比例,表示平行光能量通過水體介質單位路程后所有方向散射之和的比例。
水環境對光成像的影響一般分為兩個方面:水對光的吸收和水對光的散射,依據這兩個特點,我們發現:
1)水對光的吸收作用給水下彩色攝像帶來很大的困難,通常只能在距離目標進行拍攝才能避免色彩的丟失,因此在水下中遠距離目標攝像多會采用灰度圖像的成像方式。
2)照明設備一般為點光源,為會聚光照明,其強弱有著較大的差異,以光源最強的點為中心,徑向逐漸減弱,通常反映到圖像上為背景灰度不均勻。不良的照明條件還會使得水下圖像質量變差,如出現假細節、自陰影、假輪廓等。
3)水體本身的性質和懸浮體、活性有機體的存在,造成水下圖像的照度不均、對比度低、噪聲明顯等問題。
在不同光照條件下,懸浮物等都對最終成像和識別具有很大的影響,通常采集到的目標圖像里的信息龐雜而且兀余,因此直接運用此類信息完成目標識別的效率非常低,為此產生了一系列針對特征提取方法的研究。人們希望提取的特征應與目標所處的環境、條件無關,這樣的特征稱為不變量,不變性識別是圖像識別的一項重要工作,它的識別結果對目標的位置、方向、大小及合理范圍內的變形不敏感。實現不變性識別的途徑一般有兩種:
1)分類器本身具有不變性識別能力;
2)提取的特征具有不變性。
由于具有不變性識別能力的分類器存在計算量大,條件苛刻等情況,不利于實驗進行,所以基本上主要以提取具有不變性的特征為主要研究方向,也就是特征不變量。令 f(x,y)為某二維圖像函數,則其p+q階原點矩為

mpq為 f(x,y)在單項式上的投影,由于mpq不具有平移不變性,因此定義p+q階中心矩為

再對中心距進行歸一化處理:

得到了滿足伸縮不變性的歸一化中心矩,可以通過它構造不變矩來找出一副圖像中的不變性特征。
不同圖像灰度不同,邊界處一般會有明顯的邊緣,利用此特征可以分割圖像。需要說明的是:邊緣和物體間的邊界并不等同,邊緣指的是圖像中像素的值有突變的地方,而物體間的邊界指的是現實場景中的存在于物體之間的邊界。有可能有邊緣的地方并非邊界,也有可能邊界的地方并無邊緣,因為現實世界中的物體是三維的,而圖像只具有二維信息,從三維到二維的投影成像不可避免地會丟失一部分信息;另外,成像過程中的光照和噪聲也是不可避免的重要因素。正是因為這些原因,基于邊緣的圖像分割仍然是當前圖像研究中的世界級難題,目前研究者正在試圖在邊緣提取中加入高層的語義信息。
在實際的圖像分割中,往往只用到一階和二階導數,雖然原理上可以用更高階的導數,但是,因為噪聲的影響,在純粹二階的導數操作中就會出現對噪聲的敏感現象,三階以上的導數信息往往失去了應用價值。二階導數還可以說明灰度突變的類型。在有些情況下,如灰度變化均勻的圖像,只利用一階導數可能找不到邊界,此時二階導數就能提供很有用的信息。二階導數對噪聲也比較敏感,解決的方法是先對圖像進行平滑濾波,消除部分噪聲,再進行邊緣檢測。不過,利用二階導數信息的算法是基于過零檢測的,因此得到的邊緣點數比較少,有利于后繼的處理和識別工作。
各種算子的存在就是對這種導數分割原理進行的實例化計算,是為了在計算過程中直接使用的一種計算單位。
3.2.1 Sobel算子
其主要用于邊緣檢測,在技術上它是以離散型的差分算子,用來運算圖像亮度函數的梯度的近似值,Sobel算子是典型的基于一階導數的邊緣檢測算子,由于該算子中引入了類似局部平均的運算,因此對噪聲具有平滑作用,能很好地消除噪聲的影響。Sobel算子對于像素的位置的影響做了加權,因此與Prewitt算子、Roberts算子相比效果更好。
Sobel算子包含兩組3x3的矩陣,分別為橫向及縱向模板,將之與圖像作平面卷積,即可分別得出橫向及縱向的亮度差分近似值。實際使用中,常用如下兩個模板來檢測圖像邊緣。
檢測水平邊沿橫向模板:

檢測垂直平邊沿縱向模板:

圖像的每一個像素的橫向及縱向梯度近似值可用以下的公式結合,來計算梯度:

然后可用以下公式計算梯度方向。

在以上例子中,如果以上的角度Θ等于零,即代表圖像該處擁有縱向邊緣,左方較右方暗。
缺點是Sobel算子并沒有將圖像的主題與背景嚴格地區分開來,換言之就是Sobel算子并沒有基于圖像灰度進行處理,由于Sobel算子并沒有嚴格地模擬人的視覺生理特征,所以提取的圖像輪廓有時并不能令人滿意。
3.2.2 Isotropic Sobel算子
Sobel算子另一種形式是(Isotropic Sobel)算子,加權平均算子,權值反比于鄰點與中心點的距離,當沿不同方向檢測邊緣時梯度幅度一致,就是通常所說的各向同性Sobel(Isotropic Sobel)算子。模板也有兩個,一個是檢測水平邊沿的,另一個是檢測垂直平邊沿的。各向同性Sobel算子和普通Sobel算子相比,它的位置加權系數更為準確,在檢測不同方向的邊沿時梯度的幅度一致。
3.2.3 Roberts算子
羅伯茨算子、Roberts算子是一種最簡單的算子,是一種利用局部差分算子尋找邊緣的算子,采用對角線方向相鄰兩象素之差近似梯度幅值檢測邊緣。檢測垂直邊緣的效果好于斜向邊緣,定位精度高,對噪聲敏感,無法抑制噪聲的影響。1963年,Roberts提出了這種尋找邊緣的算子。
Roberts邊緣算子是一個2x2的模板,采用的是對角方向相鄰的兩個像素之差。從圖像處理的實際效果來看,邊緣定位較準,對噪聲敏感。適用于邊緣明顯且噪聲較少的圖像分割。Roberts邊緣檢測算子是一種利用局部差分算子尋找邊緣的算子,Robert算子圖像處理后結果邊緣不是很平滑。經分析,由于Robert算子通常會在圖像邊緣附近的區域內產生較寬的響應,故采用上述算子檢測的邊緣圖像常需做細化處理,邊緣定位的精度不是很高。

圖1 Sobel算子的邊緣檢測
3.2.4 高斯濾波
高斯濾波是一種線性平滑濾波,適用于消除高斯噪聲,廣泛應用于圖像處理的減噪過程。通俗的講,高斯濾波就是對整幅圖像進行加權平均的過程,每一個像素點的值,都由其本身和鄰域內的其他像素值經過加權平均后得到。高斯濾波的具體操作是:用一個模板(或稱卷積、掩模)掃描圖像中的每一個像素,用模板確定的鄰域內像素的加權平均灰度值去替代模板中心像素點的值。

圖2 高斯濾波的模型
如圖3所示是找出藍色水池中的一個紅球,要想識別這個紅球的邊緣,我們首先對紅球的HSV三通道做了分析,結果發現,H通道和背景的差異最大。

圖3 水池中的紅球和它的H通道
然后發現圖像H通道的目標部分并不能很好地展示目標物,我們對圖像做了多次的腐蝕和膨脹后,得到了比較好的效果,再對進行過開閉運算的圖像做Canny邊緣檢測,得到了很好的效果。

圖4 紅球H通道的開閉運算和邊緣檢測
這種邊緣雖然清晰,但不利于我們對它實施計算和運算,雖然對于圖4而言可以直接使用Hough圓變換,但由于霍夫圓變換參數本身較多,如果實時性要求的話參數調整難度大,稍微不慎就會導致程序出錯或卡頓,這里把Canny算法單獨提出來,減少Hough圓變換中的參數。

圖5 紅球邊緣的Hough圓變換
可以看到,我們很好地實現了對這個目標的識別。
本論文主要針對視覺系統的水下圖像處理算法作了一定廣度和深度的研究。參考前人的研究成果,并閱讀相關文獻,嘗試將幾種新算法用于水下目標的圖像處理與識別,通過研究和實驗驗證,說明了這些算法的有效性和可行性。通過對水下圖像的特點研究,選擇適合水下的數字圖像處理的方法,研究了目前圖像處理領域常用的方法和理論,實現了對水下物體的識別和檢測。