萬園潔, 卿粼波, 何小海, 董德良, 石 恒
1(四川大學(xué) 電子信息學(xué)院,成都 610065)
2(中儲糧成都糧食儲藏科學(xué)研究所,成都 610091)
小麥?zhǔn)俏覈闹匾Z食作物之一,也是世界三大谷物之一. 每年我國都會大量收購小麥,在收購過程中其品質(zhì)的好壞會直接影響小麥的價格,因此對小麥進(jìn)行評級顯得尤為重要. 目前主要依靠專業(yè)的質(zhì)檢員對小麥品質(zhì)進(jìn)行評估,不僅工作量大,而且由于沒有統(tǒng)一的評估標(biāo)準(zhǔn),在對小麥定級時就會存在不同程度上的分歧. 這些問題,運(yùn)用機(jī)器學(xué)習(xí)中的識別分類方法可以得到有效解決. 分割作為預(yù)處理是其中的一個重要環(huán)節(jié),成為本文的研究重點(diǎn).
在許多的圖像和視頻的應(yīng)用中,分割都已成為不可或缺的一部分[1]. 目前比較常用的傳統(tǒng)圖像分割方法主要有: ① 基于閾值的分割方法[2]; ② 基于區(qū)域的分割方法: 基于區(qū)域分割的經(jīng)典算法是區(qū)域生長[3]. 然而,區(qū)域生長的固有缺點(diǎn)是其往往導(dǎo)致過度的分割,結(jié)果易受噪聲影響; ③ 基于邊緣的分割方法[4]: 邊緣是圖像的最基本的特征之一,廣泛存在于目標(biāo)與背景、目標(biāo)與目標(biāo)之間. 這種分割方法首要做的就是檢測邊緣,之后根據(jù)邊緣信息把前景與背景分離開來. 但是由于本文研究的小麥包括正常粒、破碎粒、生病粒、生蟲粒這些不同種類,特征也比較復(fù)雜多樣,這些都使得上述方法并不適合本文小麥圖像分割. 因?yàn)椴粌H不同品種的小麥之間的顏色、紋理大不相同,即使是同一類別但屬不同批次的小麥的顏色、紋理等特征也不盡相同.例如同樣是正常的麥粒,在某一批次中顏色偏黃,體型相對偏瘦長但在另一批次中可能會偏白,體型飽滿一些. 特別是生病粒,由于麥粒會有赤霉病、青霉病、白霉病等,有些麥粒不止存在一種病癥,因此直接用閾值分割、區(qū)域生長都會出現(xiàn)分割不準(zhǔn)確的現(xiàn)象,加之采集圖片清晰度不夠(圖片會存在部分小麥陰影),這些都造成了使用邊緣流分割大多也會出現(xiàn)過分割的現(xiàn)象.目前,項(xiàng)目組所使用的基于模板匹配結(jié)合漫水填充的雙面聯(lián)合分割方法在一定程度上減少了過分割與欠分割現(xiàn)象,但是這種現(xiàn)象仍然存在.
近年來,深度學(xué)習(xí)已經(jīng)成為機(jī)器學(xué)習(xí)領(lǐng)域的研究熱點(diǎn),解決了許多計(jì)算機(jī)視覺方面的難題,基于此,本文提出將改進(jìn)后的全卷積網(wǎng)絡(luò)分割方法應(yīng)用于我們的分割模塊,實(shí)驗(yàn)結(jié)果表明分割效果得到了明顯提升.
本文后續(xù)部分的結(jié)構(gòu)如下: 第2節(jié)介紹模板匹配結(jié)合漫水填充的雙面聯(lián)合分割方法; 第3節(jié)闡述改進(jìn)的全卷積網(wǎng)絡(luò)的分割方法; 第4節(jié)運(yùn)用本文建立的小麥圖像庫進(jìn)行實(shí)驗(yàn)結(jié)果比較,并展示部分麥粒分割效果圖,第5節(jié)是結(jié)論.
傳統(tǒng)機(jī)器學(xué)習(xí)中小麥不完善粒分類的關(guān)鍵在于提取比較有效的特征,由于麥粒的特征不會只存在于某一面,為了能夠更加全面的提取特征,項(xiàng)目組對一顆小麥采取上下兩面掃描的方案同時得到上下兩張掃描圖像,并對這兩幅掃描圖像同時處理最終得到一顆小麥的上下兩幅掃描圖像,如圖1所示.

圖1 上下掃描圖像
基于模板匹配及漫水填充的雙面聯(lián)合分割方法主要包括以下幾個步驟: 1)采集同一版小麥的上下掃描圖像; 2)將下掃描圖像翻轉(zhuǎn)180度,為模板匹配[5]做準(zhǔn)備; 3)將下掃描圖像沿著粉色框外50個像素的位置,利用漫水填充[6]進(jìn)行分割,同時將上掃描圖像沿著粉色邊框外100個像素的位置,利用漫水填充算法進(jìn)行分割; 4)對圖像進(jìn)行濾波去噪,并使用形態(tài)學(xué)方法再次去噪; 5)再次利用漫水填充得到每顆小麥圖像的掩碼;6)得到一顆小麥的上下兩幅掩碼之后取其并集并反賦給原上下掩碼,進(jìn)行分割,簡略分割流程圖如圖2所示.

圖2 模板匹配結(jié)合漫水填充的雙面聯(lián)合分割流程圖
目前項(xiàng)目組所使用的基于模板匹配結(jié)合漫水填充的雙面聯(lián)合分割方法在效果上雖然取得了一定的提升,但是仍然有部分小麥分割效果不好. 而且基于上述方法的分割過程比較復(fù)雜,推廣性不高,對光照的魯棒性不強(qiáng). 現(xiàn)今,深度學(xué)習(xí)在圖像上的應(yīng)用越來越成熟[7]. 因此本文提出一種運(yùn)用改進(jìn)的全卷積網(wǎng)絡(luò)對小麥圖像進(jìn)行分割的方法.
Fully convolution neutral network即為全卷積神經(jīng)網(wǎng)絡(luò),以下簡稱FCN. FCN最初是由Jonathan Long等人在文獻(xiàn)[8]提出. 該網(wǎng)絡(luò)主要基于現(xiàn)有的AlexNet,VGGNet和GoogleNet微調(diào)得來. FCN把分割歸結(jié)為一個像素回歸問題,其目標(biāo)函數(shù)為[8]:

其中p是圖像的像素點(diǎn),是關(guān)于像素點(diǎn)p的回歸函數(shù),損失函數(shù)用來衡量輸出與ground-truthl(p)的誤差大小,理論上模型效果越好,值越小. FCN主要由以下子網(wǎng)絡(luò)組成[9]:
① 卷積層: 卷積層的操作和傳統(tǒng)的滑動窗很相似,把卷積核作用于不同的區(qū)域并產(chǎn)生特征圖,即提取圖像特征.
② 激活層 (ReLU Layers): ReLU 稱為激活函數(shù),是對輸入的一種非線性映射,其函數(shù)表達(dá)式為. 這種非線性的處理可以加快訓(xùn)練收斂的速度,有助于得到更好的結(jié)果.
③ 池化層: 池化一般有兩種:最大池化和平均池化.FCN使用的是最大池化. 池化層可以理解為下采樣,這樣做一方面可以縮小圖像尺寸、減少網(wǎng)絡(luò)參數(shù),另一方面增強(qiáng)了旋轉(zhuǎn)不變性. 即一個的區(qū)域在特征圖譜上滑動,當(dāng)N取值適當(dāng)時可以認(rèn)為該區(qū)域的最大值(最大池化)或者平均值(平均池化)可以近似表示原來的信息. 同時池化層還可以改善結(jié)果,防止過擬合.
④ 反卷積層: 卷積層的反操作,即是對上一層的輸入進(jìn)行上采樣,以得到與池化層之后進(jìn)行下采樣的圖片同樣的尺寸,是整個網(wǎng)絡(luò)的重要部分.
⑤ Softmax層: 用來計(jì)算網(wǎng)絡(luò)的輸出和groundtruth之間的誤差,如式(2).
上述網(wǎng)絡(luò)層的所有權(quán)重都是使用隨機(jī)梯度下降法[10]通過BP(反饋)來學(xué)習(xí)得到.
全卷積網(wǎng)絡(luò)原應(yīng)用于具有20類目標(biāo)的Pascal VOC[11]數(shù)據(jù)集. 而本文所需要的是把小麥作為目標(biāo),從背景中提取出來,如圖3所示.

圖3 小麥原圖及其分割效果圖
為了適合小麥數(shù)據(jù)集的需求,盡量少引入噪聲,因此本算法將網(wǎng)絡(luò)輸出改為背景和前景兩類.
具體操作過程如下: 首先根據(jù)待分割圖像設(shè)置像素待分成的類別數(shù)量N(本文為2),標(biāo)簽記為label1、label2…labelN,這個參數(shù)在訓(xùn)練模型之前已經(jīng)設(shè)置好;假設(shè)圖片大小為H*W,則網(wǎng)絡(luò)最終會生成N個H*W大小的map,而map保存的值為每一個像素點(diǎn)屬于labeli(1<=i<=N)的概率值,最終通過比較得到每一個像素點(diǎn)在N個map里的最大值,該最大值屬于哪一個label,這個像素點(diǎn)就屬于哪一類別,具體如圖4所示.
另外在可視化時由于每一種label指定的物體都有對應(yīng)的具體的顏色,因此在開始需要最先生成一個顏色與標(biāo)簽相對應(yīng)的二類映射表,如表1所示.

表1 顏色與標(biāo)簽的映射表
像素label為0即為黑色部分,label為1即為白色目標(biāo)區(qū)域,最終得到如圖3(b)所示結(jié)果.
如圖4所示,假如每一個方格代表一個像素點(diǎn),方格內(nèi)的值為該像素點(diǎn)屬于某label的概率值(例如左上角深灰色部分),因?yàn)?.9>0.1,所以這個像素點(diǎn)被判定為label 0,對照顏色標(biāo)簽映射表可知,可視化時該點(diǎn)為黑色部分; 類似地可以得到圖中其他位置的映射結(jié)果.

圖4 圖像的可視化過程
為了方便理解,在本文中稱用自己建立的數(shù)據(jù)集對FCN-8s網(wǎng)絡(luò)進(jìn)行微調(diào)過的網(wǎng)絡(luò)為WheatFCN.
即使WheatFCN取得了一定的分割效果,但是仍然存在邊界部分不光滑、內(nèi)部有空洞等欠分割問題.對于卷積來講,越是底層的卷積層,感知域越小,提取的特征越局部,越詳細(xì),包括一些重要的邊緣信息以及點(diǎn)、線、面等簡單的幾何形狀,而高層卷積的卷積核尺寸較大,通常是提取一些比較抽象的特征. 因此全卷積網(wǎng)絡(luò)采用skip-net多尺度特征提取方法,將網(wǎng)絡(luò)中多個中間層的特征合并,但做信息融合時并未考慮前兩層池化的輸出信息,從而造成一些重要細(xì)節(jié)信息的丟失. 為了使取得的特征更加全面,本文提出把第二層、第一層池化的輸出也融入到后面的輸入中,并且進(jìn)一步實(shí)驗(yàn)比較得出了只融入第二個池化層的輸出信息的網(wǎng)絡(luò)模型優(yōu)于同時融入前兩個池化層的網(wǎng)絡(luò)模型,具體的網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示.

圖5 WheatFCN+1 網(wǎng)絡(luò)結(jié)構(gòu)
此外,為了使得到的網(wǎng)絡(luò)泛化能力更強(qiáng),模型精度更加準(zhǔn)確,本文還提出將Batch Normalization引入到網(wǎng)絡(luò)中去. BN最初是由Sergey loffe、Christian Szegedy提出來的. 文獻(xiàn)[12]中指出,BN層的優(yōu)勢在于: 能夠加快收斂速度,不需要再慢慢調(diào)整學(xué)習(xí)率,即使選擇的初始學(xué)習(xí)率較大也沒關(guān)系; 不用考慮過擬合中dropout、L2正則項(xiàng)參數(shù)的選擇問題,因?yàn)锽N具有提高網(wǎng)絡(luò)泛化能力的特性,另外也可以提升整個模型的精度[12].
經(jīng)過改進(jìn)的網(wǎng)絡(luò)如圖5所示,便于區(qū)分,在本文中將最終使用的改進(jìn)的網(wǎng)絡(luò)稱為WheatFCN+1,將同時融入第二池化層和第一池化層的輸出信息的網(wǎng)絡(luò)稱為WheatFCN+2.
由于沒有公開的小麥圖像數(shù)據(jù)集,因此本文自己建立了數(shù)據(jù)集. 首先,本文采集了288張如圖2所示的掃描圖像; 然后設(shè)置一個固定大小的感興趣區(qū)域在掃描圖像上滑動將其分割成圖3中A圖所示的圖像. 圖像的標(biāo)簽,即ground-truth,是使用標(biāo)簽制作工具lableMe勾畫出麥粒輪廓,然后再編寫代碼查找輪廓、填充輪廓,再經(jīng)過微調(diào)校正得到最終的較為精準(zhǔn)的小麥圖像標(biāo)簽. 為了得到一個對不同種類的小麥諸如正常、生病、破碎、生蟲泛化能力都很強(qiáng)的模型,我們所建立的數(shù)據(jù)集要盡可能豐富,目前包括正常粒、生病粒、破碎粒、生蟲粒共10 000粒,其中8000粒作為訓(xùn)練集,2000粒作為測試集.
本文實(shí)驗(yàn)使用深度學(xué)習(xí)框架Caffe,實(shí)驗(yàn)環(huán)境是四核Inter(R)Core(TM)i5-3475、Nvidia GTX960Ti 4G、ubuntu14.04.
首先本文用傳統(tǒng)的分割方法對不同種類的小麥進(jìn)行分割,但是實(shí)驗(yàn)效果出現(xiàn)嚴(yán)重的過分割或者欠分割現(xiàn)象,然后使用模板匹配結(jié)合漫水填充的雙面聯(lián)合分割方法進(jìn)行實(shí)驗(yàn),效果雖有明顯提升,但仍然存在過分割或者欠分割現(xiàn)象,具體效果圖如圖6所示.
圖6中小麥種類從上到下分別是正常、破碎、生病、生蟲. 從圖6中可以看出閾值分割主要是出現(xiàn)欠分割,邊緣存在輕微的過分割,而區(qū)域生長、邊緣流大都會出現(xiàn)過分割現(xiàn)象,有些地方如邊緣等也會伴隨著欠分割. 而項(xiàng)目組提出來的模板匹配結(jié)合漫水填充的雙面聯(lián)合分割效果明顯較好,但是仍然存在過分割和欠分割現(xiàn)象.

圖6 傳統(tǒng)方法與模板匹配結(jié)合漫水填充方法比較結(jié)果
然后我們用改進(jìn)的FCN網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn),與改進(jìn)前的網(wǎng)絡(luò)相比分割效果有明顯提升. 實(shí)驗(yàn)結(jié)果如圖7所示.

圖7 改進(jìn)前后的FCN網(wǎng)絡(luò)的分割效果對比
圖7中小麥種類從上到下分別是正常、破碎、生病、生蟲. WheatFCN+1網(wǎng)絡(luò)為只融入池化層2的輸出信息,WheatFCN+2網(wǎng)絡(luò)為同時融入池化層2和池化層1的輸出信息. 由圖7可以看出,WheatFCN網(wǎng)絡(luò)得到的結(jié)果不僅在內(nèi)部有空洞,在邊界也有欠分割現(xiàn)象,而且會有明顯的鋸齒狀,不光滑. 但是WheatFCN+1網(wǎng)絡(luò)得到的分割圖不僅不存在欠分割現(xiàn)象而且邊界相對而言也比較光滑. WheatFCN+2分割效果雖然比WheatFCN要好,但是相較于WheatFCN+1網(wǎng)絡(luò)而言,不僅提升不大,反而出現(xiàn)了輕微的過分割現(xiàn)象,邊界也變得略粗糙. 實(shí)驗(yàn)結(jié)果表明我們改進(jìn)過的網(wǎng)絡(luò)Wheat FCN+1的分割效果最好.
而模板匹配結(jié)合漫水填充的雙面聯(lián)合分割方法雖然效果有所改善,但是依然會存在分割不理想的情況,相比較而言我們改進(jìn)的網(wǎng)絡(luò)WheatFCN+1的分割效果更佳,基本不會出現(xiàn)過分割或者欠分割現(xiàn)象,具體實(shí)驗(yàn)結(jié)果如圖8所示.

圖8 模板匹配+漫水填充方法與WheatFCN+1方法結(jié)果比較
圖8中小麥種類從上到下分別是正常、破碎、生病、生蟲. 實(shí)驗(yàn)結(jié)果表明在模板匹配結(jié)合漫水填充的雙面聯(lián)合分割方法出現(xiàn)欠分割或者過分割的時候,WheatFCN+1卻總是可以得到比較好的分割效果.
為了更加客觀地說明本文的網(wǎng)絡(luò)分割效果最佳,我們采取了文獻(xiàn)[13]中所使用的F-measure評估方法對結(jié)果進(jìn)行評估比較. 計(jì)算方法如下:

其中P是精確率,R是召回率.
在圖片分類、物體識別、信息檢索、自動翻譯等領(lǐng)域,P、R是兩個最基本的指標(biāo). 假設(shè)把分類中預(yù)測的標(biāo)簽結(jié)果分為以下4部分:
(1)存在且被正確判定的標(biāo)簽,簡稱A類;
(2)不存在且被正確判定的標(biāo)簽,簡稱B類;
(3)不存在但是被錯誤判定為存在的標(biāo)簽,簡稱C類;
(4)存在但是被錯誤判定為不存在的標(biāo)簽,簡稱D類.
根據(jù)以上4種分類,可以由以下公式定義精確度和召回率:

而本文的分割問題完全可以歸類為像素分類問題,因此也可以用這兩個值進(jìn)行評估. 但是在實(shí)際應(yīng)用中這兩者在某些情況下往往是相互矛盾的,需要綜合考慮P與R,最常見的衡量指標(biāo)即為F-measure,F值越大,說明分割效果越好. 其中?是權(quán)重,根據(jù)文獻(xiàn)[13]的說明,我們將該參數(shù)選取為0.5. 本文使用測試集小麥圖像計(jì)算了各方法的F-measure的平均值,結(jié)果如表2所示.

表2 各方法的F-measure值
由表2可以看出WheatFCN+1得到的F值對于四種不同的小麥均顯示最高,充分表明本文改進(jìn)后的網(wǎng)絡(luò)WheatFCN+1分割效果最佳.
此外,由于我們用網(wǎng)絡(luò)WheatFCN+1訓(xùn)練出來的模型相當(dāng)于一個“黑匣子”,即只要輸入圖3 中A樣小麥圖像,就可以得到圖3 中B圖分割結(jié)果. 而且只要能保證輸入的是同一粒小麥的上下掃描圖像,那么輸出就一定是同一粒小麥的上下分割結(jié)果,無需再像模板匹配結(jié)合漫水填充的雙面聯(lián)合分割方法一樣進(jìn)行上下配準(zhǔn)、漫水填充的操作,過程更加簡便,簡略分割流程如圖9所示.

圖9 運(yùn)用全卷積網(wǎng)絡(luò)分割的流程圖
對于小麥圖像的分割,項(xiàng)目組所使用的基于模板匹配結(jié)合漫水填充的雙面聯(lián)合分割方法與傳統(tǒng)的分割方法諸如基于閾值分割、基于區(qū)域分割、基于邊緣分割相比較,效果有明顯提升,但是由于小麥情況比較復(fù)雜,因此仍然存在分割效果不佳的現(xiàn)象. 為了進(jìn)一步改善分割效果,本文提出基于改進(jìn)的全卷積網(wǎng)絡(luò)的分割方法,融入第二個池化層的輸出信息使得到的特征更加全面,將原來的FCN網(wǎng)絡(luò)的21類輸出目標(biāo)改為適用于小麥的2類目標(biāo),本文還引入了Batch normalization以提高網(wǎng)絡(luò)的收斂速度和泛化能力. 實(shí)驗(yàn)結(jié)果表明,本文提出的基于改進(jìn)的全卷積網(wǎng)絡(luò)的語義分割方法在效果上優(yōu)于傳統(tǒng)的分割方法以及模板匹配結(jié)合漫水填充的雙面聯(lián)合分割方法,得到了更好的分割效果.
1Felzenszwalb PF,Huttenlocher DP. Efficient graph-based image segmentation. International Journal of Computer Vision,2004,59(2): 167-181. [doi: 10.1023/B:VISI.00000 22288.19776.77]
2Chen YB,Chen OTC. Image segmentation method using thresholds automatically determined from picture contents.EURASIP Journal on Image and Video Processing,2009,(2009): 140492.
3Adams R,Bischof L. Seeded region growing. IEEE Transactions on Pattern Analysis and Machine Intelligence,1994,16(6): 641-647. [doi: 10.1109/34.295913]
4王倩,王正勇,范艷軍,等. 基于邊緣流和區(qū)域合并的巖屑顆粒圖像分割. 四川大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,51(1):111-118.
5Olson CF. Maximum-likelihood template matching.Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Hilton Head Island,SC,USA. 2000,2.52-57.
6陳佳鑫,賈英民. 一種基于漫水填充法的實(shí)時彩色目標(biāo)識別方法. 計(jì)算機(jī)仿真,2012,29(3): 4-9.
7Badrinarayanan V,Kendall A,Cipolla R. SegNet: A deep convolutional encoder-decoder architecture for scene segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(12): 2481-2495. [doi: 10.1109/TPAMI.2016. 2644615]
8Shelhamer E,Long J,Darrell T. Fully convolutional networks for semantic segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(4):640-651. [doi: 10.1109/TPAMI.2016.2572683]
9Shen XY,Hertzmann A,Jia JY,et al. Automatic portrait segmentation for image stylization. Computer Graphics Forum,2016,35(2): 93-102. [doi: 10.1111/cgf.12814]
10Kone?ny J,Liu J,Richtárik P,et al. Mini-batch semistochastic gradient descent in the proximal setting. IEEE Journal of Selected Topics in Signal Processing,2016,10(2):242-255. [doi: 10.1109/JSTSP.2015.2505682]
11Everingham M,Van Gool L,Williams CKI,et al. The pascal visual object classes (VOC) challenge. International Journal of Computer Vision,2010,88(2): 303-338. [doi: 10.1007/s11263-009-0275-4]
12Ioffe S,Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv:1502.03167v3,2015.
13Martin DR,Fowlkes CC,Malik J. Learning to detect natural image boundaries using local brightness,color,and texture cues. IEEE Transactions on Pattern Analysis and Machine Intelligence,2004,26(5): 530-549. [doi: 10.1109/TPAMI.2004.1273918]