黃 祥,王克曉,李 波,吳 園
(重慶市農(nóng)業(yè)科學(xué)院,重慶 401329)
農(nóng)作物種植面積是制定農(nóng)業(yè)政策和優(yōu)化農(nóng)作物種植結(jié)構(gòu)的重要依據(jù),快捷、準(zhǔn)確地獲取農(nóng)作物種植面積對保障糧食安全和國家經(jīng)濟(jì)發(fā)展具有重要意義[1-2]。傳統(tǒng)的農(nóng)作物種植面積監(jiān)測方法大多依賴于現(xiàn)場目視解譯,監(jiān)測時效性和精確性較差。遙感技術(shù)憑借其快速、無損、大范圍等優(yōu)點(diǎn)已廣泛應(yīng)用于農(nóng)作物種植信息監(jiān)測。隨著傳感器技術(shù)的快速進(jìn)步,無人機(jī)遙感得以飛速發(fā)展,高光譜、高分辨率遙感影像獲取成本大大降低,在農(nóng)田信息監(jiān)測領(lǐng)域表現(xiàn)出巨大的應(yīng)用潛力。為了能夠更好地分析農(nóng)田種植信息,本文對常見的圖像分割方法進(jìn)行了比較分析。
圖像分割是基于圖像灰度、顏色、形狀和紋理等特征,將圖像劃分成具有獨(dú)特性質(zhì)的子區(qū)域。同一子區(qū)域的像素點(diǎn)被認(rèn)為是同類,即是對圖片中有相同性質(zhì)的像素賦予相同標(biāo)簽的過程[3]。根據(jù)分割機(jī)理可以分為連續(xù)分割和非連續(xù)分割,連續(xù)分割是指將具有相同特征的像素劃分為同一區(qū)域,常見的連續(xù)分割方法有閾值分割、區(qū)域生成及聚類分割等。非連續(xù)分割是利用像素值突變特性所呈現(xiàn)的不同邊界,常見的分割方法有邊緣分割。近年來,隨著深度學(xué)習(xí)的飛速發(fā)展,計算機(jī)視覺實(shí)現(xiàn)了巨大突破,其中,圖像分割作為計算機(jī)視覺領(lǐng)域的重要技術(shù),也取得了突破性進(jìn)展。本文以深度學(xué)習(xí)是否引入分割算法為依據(jù),將圖像分割分為傳統(tǒng)分割方法和基于深度學(xué)習(xí)的分割方法,并根據(jù)類別分別簡述其經(jīng)典算法。
傳統(tǒng)的圖像分割方法大多基于光譜、紋理等淺層次特征進(jìn)行區(qū)域劃分,簡單且易操作,分析效率高。本節(jié)對農(nóng)作物種植信息提取中常用的經(jīng)典圖像分割算法進(jìn)行闡述,包括閾值分割法、分水嶺分割法、聚類分割法、邊緣分割法和多尺度分割法,并簡要描述其優(yōu)缺點(diǎn)及在丘陵山區(qū)農(nóng)作物遙感監(jiān)測中的應(yīng)用潛力。
最早的圖像分割方法是基于閾值的圖像分割方法,通過設(shè)定不同的灰度閾值,將同類劃分在同一灰度范圍內(nèi),進(jìn)行粗糙的像素級別分割。這種分割方法,對于背景和目標(biāo)區(qū)別明顯的簡單場景有效。根據(jù)不同的分割規(guī)則,可將閾值分割分為:局部閾值分割方法[4]、基于點(diǎn)的全局閾值分割方法[5]、基于區(qū)域的全局閾值分割方法[6]。閾值分割方法簡單易實(shí)現(xiàn),并且耗時較短,能迅速完成分割。然而,該類方法只考慮到光譜信息,未考慮空間信息。對于同物異譜或異物同譜等現(xiàn)象,閾值分割并不能取得理想的分割效果。因此,對于種植結(jié)構(gòu)復(fù)雜、地形起伏較大的丘陵山區(qū),閾值分割的應(yīng)用潛力較小。
分水嶺分割算法是一種基于區(qū)域生長的圖像分割方法,通過像素的相似性特征對像素點(diǎn)進(jìn)行分類并構(gòu)成區(qū)域[7]。分水嶺分割是將圖像特征看作地理上的地貌特征,將圖像的邊緣輪廓轉(zhuǎn)換為“山脈”,將均勻區(qū)域轉(zhuǎn)換為“山谷”。算法過程如下:1)以局部最小值作為谷底,局部最高值作為山峰。2)通過谷底向外慢慢生長,直至覆蓋所有區(qū)域。類似于向各個孤立的山谷中注入不同顏色的水,每一種顏色代表一個類別[8]。3)當(dāng)水漲起來后,為了避免不同山谷間的水開始合并,在合并處建立障礙,連同山峰構(gòu)成分水嶺,完成圖像分割。分水嶺分割算法適用于大部分應(yīng)用場景,其核心在于種子點(diǎn)和生長原則的選取,將直接影響分割效果。通常以局部極小值點(diǎn)作為種子點(diǎn),并圍繞種子點(diǎn)向外生長,由于圖像中存在噪聲像元和像元缺失等情況,出現(xiàn)局部種子點(diǎn)過多,易導(dǎo)致分割結(jié)果出現(xiàn)過度分割現(xiàn)象,同時,該方法相對復(fù)雜,耗時較長。
基于像素的聚類分割是將具有特征相似性的像素點(diǎn)聚集到同一區(qū)域[9],反復(fù)迭代聚類結(jié)果至收斂,以實(shí)現(xiàn)分割,代表方法有K-means 聚類[10]、譜聚類[11](Spectral Clustering,SC)和簡單線性迭代聚類[12](simple linear iterative Clustering,SLIC)等。K-means聚類是最著名的聚類分割算法,于20 世紀(jì)60 年代提出,算法過程如下:1)首先從數(shù)據(jù)庫中隨機(jī)選取K個數(shù)據(jù)樣本作為聚類中心。2)依次測量每個樣本到每個聚類中心的距離,并把它歸到最近的聚類中心的類。3)重新計算已經(jīng)得到的各個類的聚類中心。4)迭代2~3 步,直至新的聚類中心與原聚類中心相等或小于指定閾值。目前,基于K-means 聚類算法已經(jīng)發(fā)展出大量不同的改進(jìn)算法。Achanta 等在2010 年提出SLIC算法,該算法是一種易于實(shí)現(xiàn)的圖像分割算法。SLIC 算法通過構(gòu)造像素點(diǎn)距離度量標(biāo)準(zhǔn),來衡量顏色和空間相似度,對圖像進(jìn)行聚類。SLIC 算法可以將圖像中的像素劃分為超像素塊,因此也被稱為超像素分割、在運(yùn)算速度、物體輪廓保持等方面具有較高的綜合評價,被廣泛應(yīng)用于多種圖像分割場景。
聚類分割算法基于特征相似性原則,包括光譜、紋理等特征,需滿足同一聚類中的對象特征相似度較高,而不同聚類中的對象特征相似度較小,更適用于目標(biāo)地物特征差異明顯的應(yīng)用場景。在農(nóng)作物種植信息提取中,超像素分割法是應(yīng)用較廣的聚類分割算法,相對其他聚類分割算法,對地物邊界的還原度更好,但是也存在耗時較長的問題。
基于邊緣檢測的圖像分割方法[13],本質(zhì)上是利用像元灰度值不連續(xù)進(jìn)行圖像分割,其基礎(chǔ)是邊緣檢測。通過邊緣檢測并連接邊界處像素點(diǎn),形成邊緣輪廓,從而將圖像劃分成不同的區(qū)域。邊緣檢測通常借助微分算子,將待分割圖像與微分算子卷積,完成邊緣像元提取,獲取地物輪廓信息。根據(jù)采用的微分算子,可以區(qū)分不同的邊緣檢測算法,常用的微分算子有Canny[14]、Roberts[15]等?;谶吘墮z測的圖像分割方法,過程簡單易操作,耗時較短,性能相對優(yōu)良,對像元灰度值具有明顯突變的影像分割效果較好,但該算法易受圖像噪聲和像元缺失的影響,邊界特征無法被完整描述。因此,邊緣檢測后,對于斷開的邊緣輪廓,需要通過相似性準(zhǔn)則搜索并連接相鄰邊緣點(diǎn),以完整描述邊界信息,形成有意義的邊界。
針對傳統(tǒng)單一尺度分割出現(xiàn)過分割或欠分割情況,比如,地物面積大而分割尺度小,必然導(dǎo)致分割結(jié)果過于破碎,反之分割尺度大而地物面積小,則分割結(jié)果不完全。Bruzzone和Carlin等[16]提出了多尺度分割算法,該算法的核心分割模型仍然是傳統(tǒng)的單一尺度圖像分割模型,比如閾值分割、區(qū)域生長和邊緣分割等,區(qū)別在于利用分割模型去處理多種尺度圖像,再將各尺度下的分割結(jié)果進(jìn)行融合。具體算法過程如下:1)進(jìn)行尺度變換,采用小波變換或金字塔變換將原始圖像變換為不同分辨率的新圖像。2)對變換后的不同尺度新圖像,借助傳統(tǒng)分割模型,逐一進(jìn)行單一尺度分割。3)對不同尺度分割結(jié)果進(jìn)行融合,得到多尺度分割結(jié)果。多尺度分割算法通過像素級的加權(quán)平均或區(qū)域級的合并等方式進(jìn)行分割結(jié)果融合,使得融合后的分割邊界較為平滑,符合農(nóng)作物種植信息提取要求。特別是丘陵山區(qū),地形復(fù)雜,地塊破碎,單一尺度分割精度不夠理想,更適合采用多尺度分割算法。當(dāng)然,多尺度分割的“尺度”數(shù)量較單一尺度多,尤其分割尺度太小時,運(yùn)行效率極慢。
近年來,深度學(xué)習(xí)發(fā)展迅猛,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)被廣泛應(yīng)用于圖像分類、識別等計算機(jī)視覺領(lǐng)域,基于卷積神經(jīng)網(wǎng)絡(luò)框架的圖像分割技術(shù)發(fā)展迅速,并取得了突破性進(jìn)展[17],成功構(gòu)建了多種圖像分割模型。隨著圖像分割場景日益復(fù)雜化,傳統(tǒng)的圖像分割方法難以滿足實(shí)際要求,基于深度學(xué)習(xí)的圖像分割方法實(shí)現(xiàn)了更加高效和精準(zhǔn)的分割。本節(jié)重點(diǎn)介紹幾種經(jīng)典的基于深度學(xué)習(xí)的分割方法,包括:FCN[18]、DeepLab[19]、SegNet[20]等。
完全卷積網(wǎng)絡(luò)[18](Fully Convolution Networks,F(xiàn)CN)由Jonathan Long 等學(xué)者于2015 年提出,是首個端到端的深度學(xué)習(xí)分割模型,在圖像分割領(lǐng)域具有重要意義。FCN 基于傳統(tǒng)的卷積改進(jìn)而來,采用卷積層替換網(wǎng)絡(luò)中的全連接層。FCN 的網(wǎng)絡(luò)架構(gòu)采用編碼-解碼結(jié)構(gòu),編碼部分采用經(jīng)典的CNN 網(wǎng)絡(luò),如VGG、ResNet 等,用于特征提??;解碼部分,由于卷積和池化操作會導(dǎo)致圖像尺寸變小,使用上采樣方式對圖像尺寸進(jìn)行恢復(fù),得到輸入圖像尺寸大小的分割圖像。此外,通過跳躍連接,將淺層輸出和深層輸出進(jìn)行聯(lián)合,減少底層的圖像信息丟失,同時避免網(wǎng)絡(luò)退化及梯度爆炸等問題。
DeepLab[19]是Chen 等學(xué)者基于FCN 提出的一系列圖像分割模型,最新版本為DeepLab-v3+[21]?!癉eepLab-v3+”采用編碼-解碼結(jié)構(gòu)。編碼器由深度卷積神經(jīng)網(wǎng)絡(luò)(Deep Convolutional Neural Network,DCNN)模型及ASPP 模塊構(gòu)成,將圖像輸入DCNN 進(jìn)行處理,輸出中淺層特征圖和經(jīng)過ASPP 融合卷積后的特征圖,并將兩者作為解碼器的輸入。解碼部分,對輸入的中淺層特征圖進(jìn)行卷積,再與經(jīng)過上采樣的ASPP 特征圖進(jìn)行融合,然后經(jīng)過上采樣操作輸出原始尺寸大小的分割圖,實(shí)現(xiàn)端到端的語義分割。DCNN 網(wǎng)絡(luò)是一種采用深度可分離卷積層的卷積神經(jīng)網(wǎng)絡(luò),將通道之間分開處理,減少光譜和空間相關(guān)性干擾。ASPP 模塊將空洞卷積和特征金字塔池化結(jié)合在一起,在相同的計算代價下增大卷積核的感受野,挖掘多尺度上下文信息,以更好地捕捉地塊邊界。
SegNet 是在FCN 基礎(chǔ)上改進(jìn)而來,由一個編碼器網(wǎng)絡(luò)、一個相應(yīng)的解碼器網(wǎng)絡(luò)和一個逐像素分類層組成,其特點(diǎn)在于編碼階段,進(jìn)行池化時,保留最大值的位置信息,然后,在解碼階段,利用最大池化索引進(jìn)行非線性上采樣,將低分辨率編碼器輸出特征映射到原始輸入圖像分辨率特征圖,避免在編碼階段保存特征圖,從而節(jié)省內(nèi)存空間。同時,消除了學(xué)習(xí)上采樣的需要,減少了訓(xùn)練參數(shù),從而節(jié)約了計算時間。
本文著重介紹了幾類常用的傳統(tǒng)圖像分割方法和幾種深度學(xué)習(xí)圖像分割方法,傳統(tǒng)的圖像分割方法在簡單場景下應(yīng)用效果較好,而基于深度學(xué)習(xí)的圖像分割方法在復(fù)雜場景下效果更好。不同分割算法的優(yōu)缺點(diǎn)不同,需要根據(jù)應(yīng)用場景靈活選擇,甚至將多種分割方法結(jié)合使用,以獲得最佳分割效果。圖像分割作為計算機(jī)視覺領(lǐng)域的一項基礎(chǔ)技術(shù),是圖像理解的重要一環(huán),至今仍受到工業(yè)界與學(xué)術(shù)界的高度重視,但仍然存在一些難題:1)樣本標(biāo)注工作繁重,海量樣本數(shù)據(jù)集構(gòu)建難度大;2)小尺寸或復(fù)雜形狀目標(biāo)分割精度不夠;3)基于深度學(xué)習(xí)的分割網(wǎng)絡(luò)對計算資源的消耗嚴(yán)重,使得模型收斂速度非常慢,在計算能力有限的情況下,模型訓(xùn)練耗時長久;4)采用編碼-解碼結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)框架,運(yùn)用卷積和池化操作,會降低圖像分辨率,深層次特征對細(xì)節(jié)信息表達(dá)不夠充分,導(dǎo)致目標(biāo)地物輪廓分割得不夠細(xì)致,即使采用跳躍連接技術(shù),將淺層特征和深層特征融合,也只在一定程度上緩解了上述問題。這些問題具有重要的研究價值,若能較好地解決,對于促進(jìn)圖像分割技術(shù)落地、應(yīng)用和推廣具有重要意義。