明 浩,蘇喜友
(北京林業(yè)大學(xué) 信息學(xué)院,北京 100083)
楊樹Populus具有生長快、成材早、產(chǎn)量高等特點,除造林綠化外還具有廣泛的工業(yè)用途,是木材原料的重要來源。同時楊樹較嬌嫩,是易受災(zāi)害的樹種。近些年來,由于退耕還林時楊樹種植密度過大、林間管理不善,楊樹的各種病害類型增多,發(fā)生程度也逐年加重,嚴(yán)重影響楊樹的成材質(zhì)量和經(jīng)濟(jì)價值[1?2]。為避免經(jīng)濟(jì)和生態(tài)損失,楊樹病害的檢測與預(yù)防工作變得尤為重要。目前林木的病害識別任務(wù)大多根據(jù)專業(yè)人員的從業(yè)經(jīng)驗判斷,識別效率低,專業(yè)素質(zhì)要求過高。隨著近些年來計算機視覺相關(guān)技術(shù)的迅速發(fā)展,圖像識別已成為計算機科學(xué)的重要領(lǐng)域。與人眼識別不同的是,圖像識別技術(shù)通過計算機提取圖像特征,以特征向量或矩陣的形式,進(jìn)行訓(xùn)練識別任務(wù)。機器視覺的識別模式已經(jīng)成為趨勢,這為病害識別任務(wù)提供了新的方向。近年來,研究者提出了多種針對農(nóng)作物和經(jīng)濟(jì)作物葉部病害的識別方法[3?4],使用的技術(shù)包括支持向量機[5]、BP神經(jīng)網(wǎng)絡(luò)及更深層次的卷積神經(jīng)網(wǎng)絡(luò)[6]等,多數(shù)研究主要通過修改神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與網(wǎng)絡(luò)深度[7?8],以追求更好的識別效果。由于本研究所涉及病害圖像特征不顯著,導(dǎo)致修改神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的方式對提高識別能力效果并不理想,而之前的研究缺少此類有效方案。鑒于此,本研究將重心集中在原始圖像的預(yù)處理上,以確保病害早期的病癥得到強化,提出基于卷積神經(jīng)網(wǎng)絡(luò)和病癥特征分割的楊樹葉部病害的識別方案,為楊樹病害發(fā)病早期的預(yù)警工作提供借鑒。
楊樹葉部圖像采集于北京市順義區(qū)東郊濕地公園,采集時間為6?9月,包括楊樹黑星病早期圖像、楊樹花葉病和部分健康楊樹葉片圖像,其中黑星病早期圖像共170張、楊樹花葉病圖像176張以及健康楊樹葉片圖像170張,圖像文件格式為JPG,像素大小為2912×5184。圖像數(shù)據(jù)集具有如下特征:數(shù)量總量小,在識別任務(wù)中易出現(xiàn)過擬合現(xiàn)象;楊樹黑星病早期的病斑面積小,僅在葉脈附近存在少量淺色亮斑,特征沒有其他病害明顯。
鑒于采集楊樹病害葉片圖像難度較大,獲取的病害葉片圖像集數(shù)量少,需要對原始數(shù)據(jù)進(jìn)行數(shù)據(jù)集擴(kuò)充操作,隨機變換生成一批可信圖像,以增加圖像識別訓(xùn)練任務(wù)的輸入數(shù)量,減輕過擬合現(xiàn)象。為提高圖像集數(shù)據(jù)量,防止過擬合,本研究數(shù)據(jù)擴(kuò)增主要包括:①翻轉(zhuǎn)。將源圖像進(jìn)行隨機水平或垂直翻轉(zhuǎn)。②旋轉(zhuǎn)。以隨機角度對源圖像進(jìn)行旋轉(zhuǎn),若旋轉(zhuǎn)角度不為π/2或 π,圖像將以不同尺寸保存為矩形圖像。③裁剪。隨機從源圖像中采樣一部分作為新的圖像內(nèi)容,之后將裁剪后圖像調(diào)整為目標(biāo)圖像的尺寸。④平移。將源圖像沿x軸或y軸或同時沿2個方向移動,從而改變圖像內(nèi)部主體目標(biāo)的相對位置。⑤對比度變換。針對源圖像HSV顏色空間,保持色調(diào)不變,改變飽和度和亮度分量。
圖像采集設(shè)備為 Canon PowerShot SX620 HS,實驗依托于主頻為 3.00 GHz 的 Inter i5-7400 CPU 處理器,8.00 GB內(nèi)存,Windows 10 64位操作系統(tǒng),語言環(huán)境為Python 3.6。圖像識別所使用的框架為tensorflow,版本為 1.12.0,搭載顯卡為 NVIDIA GeForce GTX 1060 3 GB。
1.4.1 改進(jìn)的 Canny算子+霍夫變換邊緣檢測法 Canny邊緣檢測算法[9]主要分為四部分:高斯濾波降噪、計算圖像的梯度和梯度方向、非極大值抑制和雙閾值篩選邊緣。高斯濾波可以對圖像鄰域內(nèi)像素進(jìn)行平滑處理,盡可能保留原灰度圖像的分布特征。使用非極大抑制確定目標(biāo)梯度方向的局部最大值并保留。設(shè)置閾值A(chǔ)和B,將大于閾值B的點判定為邊緣點,舍棄小于閾值A(chǔ)的點。而介于A與B之間的點,若與B是連通的則判定為邊緣點,反之舍棄。為保證檢測物體邊緣輪廓的完整性,采用霍斯變換修復(fù)邊緣輪廓。在笛卡爾坐標(biāo)下,點的坐標(biāo)用橫縱坐標(biāo)值(x,y)表示;在極坐標(biāo)軸下,直線用角度和極徑表示,即(ρ,θ)。例如笛卡爾坐標(biāo)空間下有共線2點的坐標(biāo)分別為(xi,yi)和(xj,yj),映射到極坐標(biāo)參數(shù)空間是2條正弦曲線,相交于點(ρ0,θ0),ρ0=xcosθ0+ysinθ0即為目標(biāo)直線(圖1)。
圖 1 笛卡爾坐標(biāo)系 (A)與極坐標(biāo)系 (B)圖像Figure 1 Cartesian coordinate system(A) and polar(B) images
在參數(shù)空間建立二維數(shù)組累加器矩陣,遍歷圖像每個前景點,用(ρi,θi)表示,通過霍斯矩陣的離散方法表決計算結(jié)果獲取峰值以確定多散點的共線。以這樣的形式追蹤圖像中每個點對應(yīng)曲線間的交點,若交于一點的曲線數(shù)量超過了閾值,便認(rèn)定此點所表示的直線為多散點共在的直線,將散點化的部分?jǐn)嗔演喞獔D像修復(fù)為1條連續(xù)輪廓[10]。相比于其他研究采用的邊緣檢測方法[11?13],本方法更適用于植物的葉部輪廓提取,且效率更高。
1.4.2 限制對比度自適應(yīng)直方圖均衡化 (CLAHE) 限制對比度自適應(yīng)直方圖均衡化[14]是將原始圖的直方圖變換為均勻分布的形式,通過圖像的灰度分布直方圖確定1條映射曲線,用以進(jìn)行圖像灰度變換,達(dá)到增強圖像對比度的目的[15]。為避免對圖像進(jìn)行全局處理造成的灰度值增大問題,將原圖像分為若干子塊,進(jìn)行局部對比度處理。在CLAHE中,對每個子塊區(qū)域進(jìn)行對比度限幅,以克服局部單獨處理產(chǎn)生的圖像失真及噪聲過度放大的問題[15]。實驗發(fā)現(xiàn):對圖像RGB三通道進(jìn)行處理的方式會導(dǎo)致原圖色彩失真,故本研究將原圖像轉(zhuǎn)化到明度-色差空間(即YCrCb空間),通過第1分量Y進(jìn)行限制對比度自適應(yīng)直方圖均衡化處理,之后轉(zhuǎn)換回原模式圖像。
1.4.3 自適應(yīng)閾值的OTSU二值化分割算法 OTSU又被稱為最大類間方差法[16],是1種自適應(yīng)閾值的分割方法,按照圖像的灰度特征,分割為背景和目標(biāo)2個部分。背景與目標(biāo)之間的類間方差越大,說明構(gòu)成圖像的2個部分差別越大,使用類間方差最大化能夠保證錯分的幾率最小,區(qū)分效果最好[17]。具體步驟如下:先獲取圖像的灰度直方圖,并進(jìn)行歸一化,設(shè)置一個閾值i,從0開始迭代,設(shè)定0至i區(qū)間的灰度級像素為前景像素,i至255則為背景像素,計算前景像素的占比,記為ω0,平均灰度為μ0,同理背景像素占比記為ω1,平均灰度為μ1,原圖像的平均灰度為μ2,類間方差記為g。其中:μ2=ω0μ0+ω1μ1;g= ω0(μ0?μ2)2+ω1(μ1?μ2)2??傻胓= ω0ω1(μ0?μ1)2。隨著i遞增,重復(fù)以上計算,直到i=256時結(jié)束迭代,將g最大時對應(yīng)的i作為圖像的全局閾值,通過此閾值對圖像進(jìn)行背景與前景分割。
1.4.4 卷積神經(jīng)網(wǎng)絡(luò) (CNN) 本研究采用的神經(jīng)網(wǎng)絡(luò)模型為 AlexNet模型[18],網(wǎng)絡(luò)模型為 8 層結(jié)構(gòu),其中前5層為卷積層,后3層為全連接層,學(xué)習(xí)的參數(shù)超過6 000萬個,神經(jīng)元數(shù)量有650 000個,最后全連接層的輸出被送到Softmax函數(shù)中產(chǎn)生預(yù)測類。具體數(shù)據(jù)流如圖2。AlexNet模型在神經(jīng)網(wǎng)絡(luò)發(fā)展中具有重要意義,證明了CNN在復(fù)雜模型下的有效性。不同于之前的網(wǎng)絡(luò)模型,AlexNet使用了非線性激活函數(shù):ReLu,表示為max(0,x),相比sigmoid和tanh激勵函數(shù)可以很大程度提高隨機梯度下降的收斂速度。同時,這樣的函數(shù)特征能夠避免在后向傳播的過程中卷積核的輸出落入函數(shù)的飽和區(qū)而造成的梯度彌散現(xiàn)象。
針對訓(xùn)練集過小而產(chǎn)生的過擬合現(xiàn)象,AlexNet提出了Dropout方法,核心思想是訓(xùn)練過程中忽略一半的特征檢測器,即在前向傳播的過程中,讓某個神經(jīng)元的激活值以一定的概率停止工作,以增強模型的泛化能力,避免過分依賴某些局部的特征。
為防止背景與待檢測病斑信息相混淆,采用改進(jìn)的Canny算子對原始圖像進(jìn)行邊緣檢測,并通過描繪的邊緣圖像信息進(jìn)行葉片圖像切割,保留完整的正面葉片圖像。
首先讀取原圖像(圖3A),為了消除自然圖像中的噪聲問題,采用高斯濾波算法掃描原圖像,獲取平滑圖像(圖3B),將上一步驟的結(jié)果進(jìn)行灰度處理,獲取灰度圖(圖3C),使用Sobel算子獲取檢測方向的梯度,并通過非極大抑制選擇局部最大梯度來確定初定邊緣圖像,最終使用雙閾值篩選的方法鎖定最優(yōu)邊緣,獲取正面葉片輪廓(圖3D)。
分析提取效果發(fā)現(xiàn):提取的輪廓出現(xiàn)不閉合現(xiàn)象,某些邊緣區(qū)域呈散點形邊緣,輪廓內(nèi)無法實現(xiàn)填充。需進(jìn)行基于霍夫變換的邊緣修復(fù)處理,通過調(diào)節(jié)檢索半徑參數(shù),將擬合于相同解析直線的相鄰輪廓散點連接,形成完整閉合的葉面輪廓(圖3E)。填充整個輪廓為純色得到待提取區(qū)域形狀,使之與原圖做Mask處理,提取完整主體切割圖像(圖3F)。與原圖相比,提取圖像不但排除了背景的干擾,同時克服了部分陰影干擾。
圖 2 AlexNet網(wǎng)絡(luò)數(shù)據(jù)流Figure 2 Network data stream of AlexNet
圖 3 輪廓提取及分割效果Figure 3 Contour extraction and segmentation effect
由于光照影響,葉片產(chǎn)生的反光效果使葉片局部產(chǎn)生亮斑,導(dǎo)致葉片亮度不均勻[19]。在做灰度圖或二值化圖像轉(zhuǎn)換時,容易將反光部分誤判為病斑,為減少圖像信息損失,采用限制對比度自適應(yīng)直方圖均衡化來降低光照不均產(chǎn)生的圖像干擾[20]。
將黑星病早期圖像作為輸入對象(圖4A),將輸入圖像轉(zhuǎn)換至YCrCb空間,并提取第1通道圖像限制對比度自適應(yīng)直方圖均衡化,以改變原圖像的對比度分布情況,降低局部過多光線造成的亮斑影響(圖4B),將處理后圖像進(jìn)行灰度處理能更明顯看出葉片頂部位置的高光部分產(chǎn)生的干擾(圖4C),對比原圖與經(jīng)過處理的圖像轉(zhuǎn)化的二值化圖像(圖4D和圖4E),限制對比度自適應(yīng)直方圖均衡化算法有效降低了局部反光造成的干擾[21?22]。
將楊樹花葉病圖像作為輸入對象(圖5A),經(jīng)過限制對比度自適應(yīng)直方圖均衡化算法后圖像病斑區(qū)域明顯(圖5B),灰度差別更加顯著(圖5C),二值化圖像中病斑基本被完整提取(圖5E),而原圖所對應(yīng)的二值化圖像無法判斷病斑區(qū)域位置,將期望待選病斑區(qū)域混入葉部正常區(qū)域,丟失有效信息(圖5D)。
圖 4 楊樹黑星病特征增強Figure 4 Enhanced characteristics of poplar scab
圖 5 楊樹花葉病特征增強Figure 5 Enhanced characteristics of poplar mosaic disease
楊樹花葉病病斑主要以塊狀分布在葉片中央,楊樹黑星病早期病斑以散點狀分布在葉脈周圍。為了保留病斑與主葉脈的空間關(guān)系,以葉脈和病斑為分割對象,將RGB三通道原圖(圖6A和圖7A)轉(zhuǎn)換為灰度圖,利用自適應(yīng)閾值的OTSU二值化算法進(jìn)行前景和背景提取(圖6B和圖7B),使用二值化圖像與原圖做Mask處理完成病斑及葉脈的提取(圖6C和圖7C)。
圖 6 楊樹黑星病特征提取Figure 6 Feature extraction of poplar scab
圖 7 楊樹花葉病特征提取Figure 7 Feature extraction of poplar mosaic disease
采用本研究方法分割出的病斑及葉脈圖像基本完整,存在的噪聲小,針對楊樹花葉病和楊樹黑星病早期病斑分割效果較好。
本研究使用AlexNet神經(jīng)網(wǎng)絡(luò),分別針對葉片病害原始圖像(實驗1)、病害圖像預(yù)處理灰度圖像(實驗2)和病害病斑提取圖像(實驗3)進(jìn)行網(wǎng)絡(luò)訓(xùn)練,將驗證準(zhǔn)確率作為標(biāo)準(zhǔn)測試圖像預(yù)處理帶來的提升效果。數(shù)據(jù)集的數(shù)據(jù)組成見表1。
使用相同的訓(xùn)練過程,將圖像集分為楊樹黑星病、楊樹花葉病和健康圖像等3個類別,以接近9∶1的比例將每個類別圖像集分為訓(xùn)練集(Train)和測試集(Val)。數(shù)據(jù)集通過TensorFlow轉(zhuǎn)換為tfRecorders類型文件,建立索引文件提高訓(xùn)練效率。最后將圖像轉(zhuǎn)化為227×227像素大小的RGB三通道圖像,輸入網(wǎng)絡(luò)進(jìn)行訓(xùn)練。訓(xùn)練過程驗證準(zhǔn)確率變化趨勢及結(jié)果(圖8)表明:實驗1驗證準(zhǔn)確率達(dá)88.77%,損失值約1.40%;實驗2驗證準(zhǔn)確率達(dá)93.56%,損失值約0.80%;實驗3驗證準(zhǔn)確率達(dá)98.07%,損失值約0.70%。在訓(xùn)練進(jìn)行至9 500次時,實驗3的準(zhǔn)確率較其他2組實驗有明顯提高;在45 000次時,基本穩(wěn)定在90%以上。實驗2與實驗3采用的2種圖像處理方式對應(yīng)的識別準(zhǔn)確率分別提高了4.79%和9.28%,效果明顯。
表 1 圖像數(shù)據(jù)集信息Table 1 Image data set information
圖 8 3 組實驗神經(jīng)網(wǎng)絡(luò)訓(xùn)練迭代驗證準(zhǔn)確率Figure 8 Three groups of experimental neural network training iteration verification accuracy
楊樹病害葉片圖像均在自然條件下拍攝,由于識別模式不同,計算機無法模仿人類進(jìn)行主觀的圖像主體提取,故包含背景的葉片圖像在進(jìn)行識別任務(wù)時容易受環(huán)境干擾。計算機易將自然光條件下的葉片遮擋產(chǎn)生的陰影誤判斷為葉片主體圖像的一部分,繼而導(dǎo)致葉片的形態(tài)發(fā)生變換,使計算機出現(xiàn)錯誤的判斷(圖3A)。此外,背景包含的陰影變化產(chǎn)生的影響也會成為計算機進(jìn)行葉片及病害形態(tài)判斷的干擾,不利于識別準(zhǔn)確率的提高。
本研究為了排除葉片主體圖像之外的其他干擾噪聲,采用基于改進(jìn)的Canny算子邊緣檢測法對原始圖像進(jìn)行第1步預(yù)處理,在排除背景影響的基礎(chǔ)上提取出葉片主體的圖像作為后續(xù)實驗的新圖像數(shù)據(jù)。與其他研究相比[11?12],本研究對病害葉片輪廓提取的預(yù)處理方式能夠最大程度消除非葉片部分的噪聲干擾。
楊樹葉片表面光滑,易產(chǎn)生光線反射現(xiàn)象,反光區(qū)域顏色過淺,與病斑特征相似,容易產(chǎn)生識別錯誤。本研究采用限制對比度自適應(yīng)直方圖均衡化方法對圖像的YCrCb空間第1通道信息進(jìn)行均衡化處理,調(diào)整圖像的對比度分布情況,進(jìn)而弱化光照過強導(dǎo)致的亮斑情況,避免計算機將實際病斑信息與亮斑信息混淆。區(qū)別于其他研究忽視光照影響的識別結(jié)果,本研究采用的預(yù)處理方案能夠最大程度消除不規(guī)則光照帶來的噪聲。另外在進(jìn)行新的病害識別分類任務(wù)時,對采集環(huán)境要求寬松,無需過分考慮光照影響。
楊樹病害的種類識別主要通過病斑形態(tài)、分布規(guī)律進(jìn)行分類處理。本研究提出了從葉片圖像提取病斑及主葉脈信息的預(yù)處理方案,生成新的無背景特征圖,提取效果明顯。將生成的病斑特征圖與原圖分為不同的實驗組進(jìn)行訓(xùn)練識別,結(jié)果表明病斑提取后的實驗組驗證識別準(zhǔn)確率較對照組提高了9.28%。由于預(yù)處理消除了較多無效圖像信息,圖像識別速度也得到了較明顯提高。
本研究以楊樹黑星病早期病害和楊樹花葉病害圖像為研究對象,提出了對原始數(shù)據(jù)進(jìn)行預(yù)處理以提高AlexNet網(wǎng)絡(luò)模型訓(xùn)練識別準(zhǔn)確率的方案。采用改進(jìn)的Canny算子邊緣檢測法獲取葉片輪廓以去除圖像背景影響,分割出完整的葉片主體圖像;采用限制對比度自適應(yīng)直方圖均衡化影響算法消除葉片局部反光影響;采用自適應(yīng)閾值的OTSU二值化算法提取病斑圖像。本研究表明:此方案能夠準(zhǔn)確提取葉片主體,并消除局部反光帶來的影響,分割算法同樣提取出較為完整的病斑及葉脈圖像。將完整葉片的二值化圖像和病斑圖像分別作為新的圖像集進(jìn)行訓(xùn)練,與原始圖像相比,通過圖像病癥增強和病斑提取2種預(yù)處理后驗證識別準(zhǔn)確率分別提高了4.79%和9.28%。