謝旻旻,鐘小莉
(青海民族大學計算機學院,青海 西寧 810007)
衛星圖像在空間和時間分辨率上都發生了革命性的改進變化,高分辨率的立體衛星影像具有清晰、無限制、范圍廣、重復監測等優點,能夠快速收集高精度的地形、地質和環境信息。衛星影像的獲取方式有單景與立體影像兩種,應用也不盡相同,單景主要應用于定性分析,而立體影像則多用來定量監測。多時相一般情況下常用于表示一組遙感影像在時間上具有的部分特征,任何情況下在不同時間內獲取的同一地域一組影像都可視為“多時相”的數據。衛星遙感圖像也具有根據固定周期,完成對地面目標觀測的能力,并且能提供不同時間分辨率的多時相遙感影像,滿足動態分析的所有要求。
但圖像內會包含冗余噪聲,需要通過分割手段去除。常用的OTSU已經不能滿足現階段社會需求,容易導致處理好的圖像邊緣模糊不清,信息保留不完整,后續無法進行有效識別或特征提取。針對分割效果并不理想的問題,曾有相關研究OTSU閾值的一維性質,提出一種快速閾值算法,用于OTSU準則搜索,與傳統的OTSU閾值相比,該算法得到的閾值能夠更準確地利用梯度圖像分割出小目標,但圖像的低閾值依舊會使部分邊緣信息丟失。
基于此,黃冬梅[1]等人在OTSU算法的基礎上,針對不同遙感信息,提出了一種非線性、最優的OTSU分割算法PCA算法,以減小遙感圖像多波段數據的維數和遙感信息的冗余度,將分割算法的終止條件加入到最小部分,以提高不同遙感信息分割的計算效率。但是該方法獲取到的圖像邊緣信息不完整,導致圖像分割效果較差;鐘忺[2]等人提出了一種基于平均變化的貝葉斯區域組合的MS-BRM圖像分割算法,根據非參數巴伐利亞分組模型,融合超像素空間信息,提出區域合并的策略,得到了最終的分割結果。但是該方法在對圖像進行分割時,分割效果較差,分割效率較低。
針對上述方法存在的問題,本文提出基于改進OTSU算法的多時相立體衛星圖像分割方法。由于一維OTSU算法受到噪聲、光照不均勻等因素的影響,導致分割效果不滿意,利用像素鄰域灰度平均值提出二維OTSU算法,根據均值計算獲取出最優閾值,但是其計算也相對復雜,將二維劃分為兩個一維,獲取出兩個最優閾值取值,實現簡便且精準的多時相立體衛星圖像分割的最終目的,與傳統方法相比具有一定優勢。
OTSU算法是一種基于閾值計算的自動無監督圖像分割算法,具有操作理論簡單、物理意義明確等特點。該算法基本思想為動態確定圖像分割閾值,利用目標圖像和背景變化的灰度直方圖不同且存在較大差異,得到與其對應的二值圖像[3]。
假設將數字圖像的灰度級別描述為L(G=0,1,…,L-1),并令灰度級i的像素數表示為ni,這樣即可得知圖像所有的像素數N,并且得出下述計算式

(1)
設定p(i)表示圖像中灰度級為i的像素出現的概率。將直方圖歸一化,則

(2)
根據上述計算結果,將圖像中的像素劃分為C0和C1,具體將C0描述為圖中像素灰度級別從0到t,而C1則為t+1到L-1,這樣即可進一步得知這兩個分類出現的可能性

(3)

(4)
經過計算便有
w0+w1=1
(5)
則整幅圖像的灰度均值為

(6)
整幅圖像的灰度均方差為

(7)
為了評估閾值的優劣,引入閾值評判函數

(8)
根據圖像一維直方圖統計特性,提出一維OTSU算法,如果目標與背景之間的差異較大,則相應灰度值是圖像的最佳分割閾值。雖然一維OTSU算法的圖像處理效率較快,但是在噪聲、光照不均等因素影響下,很難達到滿意的分割效果。為了能夠有效防止這種情況的出現,本文提出二維直方圖OTSU算法,將像素鄰域的平均灰度值與原始一維灰度值相結合[4]。
利用一維OTSU算法對遙感圖像進行分割時,由于只考慮圖像像素的灰度信息而忽略了圖像像素的空間信息,導致待分割的遙感圖像受到噪聲干擾,降低了圖像分割質量。因此,本文基于上述一維OTSU算法存在的問題,對一維OTSU算法進行改進,將像素鄰域的平均灰度值與原始一維灰度值相結合,引入像素鄰域的平均灰度信息,提出基于二維直方圖的OTSU算法[5]。
如果設定圖像f的灰度級別為L=(G=0,1,…,L-1),尺寸為M×N,那么根據在圖像中隨機的一個像素點取值f(m,n),就會得到相對應的灰度值取值。
對預處理后的圖像做對應的掃描處理,根據計算圖中全部像素點取值f(m,n),獲取出相比之下較為平滑的圖像g,那么相關圖像點g(m,n)的灰度值應計算如下:

(9)
假設將nij描述為圖中f對應像素點的灰度取值i,并將其表示為鄰域平均灰度值為j像素點出現的頻率,這樣即可進一步獲取出鄰域灰度取值的二維直方圖,如下圖1、圖2所示。

圖1 圖像二維直方圖

圖2 二維直方圖平面投影圖
圖像中呈現出來的點灰度值和其鄰域灰度值差距并不是很大,導致圖像中像素灰度都堆積在對角線處,這樣遠離對角線的灰度值可視為圖像的邊緣噪聲[6]。
假設把所有的像素都劃分為兩部分,分別是目標部分以及背景區域,標記為C0和C1,(s,t)則表示為需要分割處理的二維閾值向量,那么通過計算結果即可得到灰度閾值、鄰域灰度閾值[7]。則將二維直方圖分為四部分,計算目標和背景區域出現的可能性的表達式為

(10)

(11)
兩類所對應的均值矢量分別為

(12)

(13)
整幅圖像的均值矢量為

(14)
根據均值矢量計算離散度矩陣σB
σB=w0[(μ0(s,t)-μ)(μ0(s,t)-μ)T]
+w1[(μ1(s,t)-μ)(μ1(s,t)-μ)T]
(15)
用該離散度矩陣的值作為目標和背景類間離散度的測度
Tr(σB)=w0[(μ00-μ0)2+(μ01-μ0)2]
+w1[(μ10-μ1)+(μ11-μ1)2]
(16)
最優閾值向量(s,t)滿足

(17)
與基于一維直方圖的OTSU算法相比,基于二維直方圖的OTSU算法能夠有效地克服了噪聲和非均勻光照的影響,考慮了像素的平均灰度信息,提高了分割性能[8]。
由于二維直方圖的OTSU算法在實際應用中,依舊有待改進和提高,對算法的性能、計算和實時性能進行研究。雖然分割性能優于一維OTSU算法,但計算量卻成倍增加。因此本文針對二維OTS算法復雜度高的問題,將傳統的二維OTS算法用于二維OTA算法。一維直方圖是從灰度到閾值提取的對象,而一維直方圖從鄰域中的平均灰度值即可得到濾波閾值。
與一維OTS算法相比,原二維OTS算法不僅考慮了圖像本身的灰度信息,而且考慮了相鄰像素的信息,具有很好的表現力[9]。



根據上述計算,即可進一步獲取出與像素灰度值i對應的目標與背景比列,并令ωo和ωb表示為


(18)

(19)
式中,ωo和ωb描述為目標和背景的比例。由以上各式可以推導出像素灰度值i所對應的一維類間方差為:
σBi(s)=ωo(μoi-μi)2+ωb(μbi-μi)2φs(s*,t*)
(20)
同理,可以得到鄰域灰度值j對應的一維類間方差為:
σBj(t)=ωo(μoi-μj)2+ωb(μbi-μj)2φs(s*,t*)
(21)
式中,μoj、μbi和μj則分別代表這兩類的平均矢量和總體均值矢量[10-12]。
由于傳統OTSU算法閾值分割時沒有考慮每個類內自身的離散性,不能準確分類,導致分割效果較差,為了實現較高的分類精度和準確分割,使用類間離散化方法,它不僅能得到類間方差,而且能得到類間一致性,根據像素灰度值的離散分類尺度,定義如下
τdi=ωodoi+ωbdbi
(22)
根據上式即可構建一個新的閾值識別函數,如式(27)所示
ψi=ωo(1-ωo)×σBi/τdi
(23)
同樣,以一維直方圖構造閾值識別函數,由鄰域的平均階數組成
ψj=ωo(1-ωo)×σBj/τdj
(24)
為了能夠獲取出最優分割效果的圖像,需要讓類內離散度取值達到最小,并對ψi和ψj進行最大值計算,讓類間進行最優分離,從而呈現出完美的分割效果。
當圖像灰度取值為L時,最初的二維OTSU算法的時間復雜度表示為O(L4),則本文算法通過計算得出復雜度為O(L+L)=O(L),即可得知本文算法具有時間復雜度低的優點。
從式(23)和式(24)可以看出,圖像閾值分割的閾值解是一個優化問題。根據遺傳算法式(23)和式(24)的性質,通過選擇、交叉和變異來優化圖像分割的閾值向量(s*,t*)。
為了檢驗基于改進OTSU算法的多時相立體衛星圖像分割方法的性能,進行一次仿真,實驗運行內存為512MB,運行環境為Matlab7.0。圖3為多時相立體衛星圖像分割演示系統運行界面。

圖3 圖像分割演示系統運行界面
通過多時相立體衛星圖像分割演示系統運行界面,設置實驗參數,實際仿真環境中,本文所選取的實驗參數為:窗口接近度3、種群規模10、迭代次數150、編碼長度16、最大越界概率0.85、最小越界概率0.25、最大變異概率0.1、最小變異概率0.02。選取400*400大小的建筑區影像,如圖4所示。

圖4 建筑區原始圖像
由于建筑區原始圖像存在噪聲,嚴重影響圖像的分割處理效果,因此提取圖像噪聲,如圖5所示。

圖5 圖像噪聲提取結果
對提取的圖像噪聲進行處理,采用文獻[1]方法、文獻[2]方法和本文方法,對建筑區圖像進行分割,分割結果如圖6所示。

圖6 三種方法的分割結果
根據圖6可知,從分割的效果來看,本文提出的基于改進OTSU算法的多時相立體衛星圖像分割方法,將建筑區分割成一個完整的區域,并且邊界比較準確,建筑區圖像分割效果最好,能夠用最少的區域表達最完整的信息。
為了進一步驗證本文方法的有效性,對文獻[1]方法、文獻[2]方法和本文方法的建筑區圖像分割時間進行對比分析,對比結果如圖7所示。

圖7 分割時間對比結果
根據圖7可知,本文方法的建筑區圖像分割時間在8s內,而文獻[1]方法和文獻[2]方法的建筑區圖像分割時間均在30s以內,說明本文方法的建筑區圖像分割效率快。
在生成多時相衛星圖像的過程中,由于噪聲和環境因素,很容易存在冗余信息,因此本文在改進OTSU算法的基礎上提出了一種多階段分割算法。在一維OTSU算法的基礎上提供了二維OTSU算法,將二維分為兩個一維,通過計算獲取出兩個適用的閾值,實現灰度圖像的二維邊界分割。但由于在滿足多相位動態的基礎上完全分割出圖像中的多余信息需要反復計算,雖然相對運算速度得到提升,但占用系統空間內存大,硬件要求較高,經濟實用性還有待加強。為此應在下一步研究中,將嘗試把生成式對抗網絡融入算法中,來減少OTSU算法空間占用率,并在分割圖像的尺寸、分辨率、以及像素灰度值等多方面綜合優化。