天天看點

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

油茶主要生長在我國南方亞熱帶濕潤氣候地區的天然無污染的高山及丘陵地帶,目前主要産區在我國的湖南、江西、廣西等省(區)。

油茶俗稱山茶、野茶、白花茶,是中國特有的一種優質食用油料植物,被譽為“東方橄榄油”的油茶全身都是寶。

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

基于優質食用油以及清潔能源的需求,油茶已成為我國産油量最大的木本油料植物。

由于人工采摘工作量大,勞動負擔重,是以,智能化自動化采摘油茶果的需求極大。實作油茶果的有效識别,對油茶果的智能化采摘具有重大意義。

油茶果圖像顔色不均勻,重疊遮擋嚴重,環境背景複雜,對目辨別别造成極大阻礙。近年來,深度學習理論在圖像識别中應用廣泛,而卷積神經網絡(convolutional neural network,CNN)是應用最為廣泛的深度學習理論,可以直接在像素層級上實作圖像特征學習。AlexNet、VGG NET、ResNet、GoogLeNet與Faster R-CNN等卷積網絡模型在病蟲害識别、葉片檢測、果實識别等方面均有較大進展。

自編碼機

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

自編碼機(auto encoder,AE)是一種自監督的資料壓縮算法,通過神經網絡實作資料的壓縮與解壓。由于自編碼機具有訓練樣本數目小、訓練速度快、魯棒性強等特點,在特征學習、圖像去噪、圖像還原、網絡預訓練等領域均有較多的應用。

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

為實作油茶果實圖像的快速識别,中南林業科技大學張習之,李立君等借鑒了Inception V3的分解卷積核思想對卷積自編碼機進行了結構改良;并參照殘差網絡的思想,采用直連的訓練方式,直接由輸出端重構輸入端資訊,提出一種基于改進卷積自編碼機的油茶果識别方法。該方法利用改進後的卷積自編碼機對不同顔色通道的圖像分别進行特征學習,随後利用空間金字塔池化(spatial pyramid pooling,SPP)算法融合特征,利用softmax分類器實作果實圖像的分類;同時,利用selective search(SS)算法在待識别圖像上生成檢測區域并進行初篩,随後輸入至訓練好的識别網絡,實作對實際環境下油茶果圖像的檢測識别以驗證算法的實用性。

1  資料與樣本選擇

1.1 資料采集與預處理圖像

資料采集自湖南某油茶果種植基地,采集時間為2017年10月,采集裝置為尼康D5200數位相機,采集天氣為晴天。主要采集油茶果的果實與枝葉圖像,顔色通道為RGB通道,圖像格式為JEPG格式。在采集的圖像上手動提取區域圖像并設定标簽建構圖像訓練集。試驗采用RGB色彩空間下的R、G、B3個通道圖像作為輸入。為減輕噪聲對特征提取的幹擾,使用中值濾波的方式對圖像進行降噪處理。為規避網絡過拟合,增大樣本資料容量,提高樣本多樣性,應用資料增廣技術對資料集進行随機角度旋轉、水準與垂直翻轉、亮度對比度調節等操作,以表征樣本形态與位姿的多樣性,抵消外部光照環境的影響。

1.2 正負樣本選擇

将采集到的各種位姿與不同遮擋狀态的油茶果圖像作為輸入的正樣本(圖1a),并将光照、遮擋與周邊環境類似的圖像作為輸入的負樣本(圖1b)。盡可能地保證正負樣本之間的差別為油茶果的真實特征,進而使識别網絡可以有效、充分地學習到油茶果的特征,以提高算法學習能力、降低誤識别的機率與算法的訓練難度。

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

2  油茶果識别網絡的搭建

2.1 卷積自編碼機識别網絡

自編碼機資料的壓縮與解壓縮是與資料相關的、有損的、自樣本中自動學習的。網絡的輸入與輸出具有相同的維數,将特征輸入網絡,通過非線性網絡到達中間層,随後再通過反向網絡重構資料,得到輸出。卷積神經網絡在圖像識别中有更好的效果,進行多層卷積濾波可以使提取的特征(convolutional auto encoder,CAE) 提取圖檔特征。傳統的棧式卷積自編碼網絡優化每層網絡參數,以上層的輸出作為下層自編碼機的輸入依次訓練,連結起來形成網絡 。Inception V3架構利用分解的思想,使用非對稱的多層分解卷積核代替原始的單層卷積核。增加卷積網絡的層數,使得特征次元的提升較為平緩,規避了表達瓶頸,增加了網絡的非線性度。同時,非對稱的卷積核極大地減少了計算量,使更多的運算資源可以投入到加深網絡深度上。識别網絡總體結構如下:輸入的多圖像經過自編碼機訓練後,自隐藏層輸出得到高階特征圖,特征圖随後經由空間金字塔池化操作完成特征矩陣的融合,最後利用softmax分類器實作分類。

2.2 卷積核結構

借鑒Inception V3模型的非對稱分解卷積核思想,改進了深度自編碼機的網絡結構,相關的網絡結構參數見表1,網絡結構圖見圖2。

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

網絡共16層,其中,卷積與池化為編碼操作,反卷積與上采樣為解碼操作。為了保證資料資訊提取的完整度,對邊界處理(padding)設定模式為SAME,使卷積前後資料大小相同。除了最後一層反卷積層采用sigmoid激活函數以外,其餘的卷積與反卷積層均采用ReLU函數作為激活函數,以避免在反向傳播過程中sigmoid函數出現梯度消失的問題,緩解過拟合現象,加速訓練。

2.3 網絡訓練原則

對圖像進行預處理後分為若幹單獨通道圖像,随後按各自通道訓練對應的卷積自編碼機。為保證在訓練過程中網絡的整體性,防止資訊的丢失,參照殘差網絡的思想,直接由輸出端重構輸入端資訊,最小化整體網絡的重構誤差來指導參數更新。相比傳統的棧式CAE網絡,這樣的訓練方式考慮了網絡的整體性,擷取的特征代表性更強。網絡損失函數如下:

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

式中:W和B為卷積網絡的卷積參數與偏置,n為輸入圖像總個數,L為訓練批次,XiL與XoL分别為第L批次的輸入與輸出圖像。在訓練過程中,為了避免手動設定學習率,增強網絡的更新與學習能力,采用adadelta政策對網絡進行更新。計算公式如下:

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

式中:gt為第t批次的梯度值,Δx為權值的變化值,Wt 、Bt 、Wt+1和Bt+1分别為第t批次圖像輸入網絡後,初始與更新後的權重與偏置,RMS代表均方根,Ut和Vt為上一批輸入更新的權重與偏置,ΔWt和Bt為梯度方向,β與α為初始化設定的系數。

2.4 高階特征融合

在對對應通道的圖像特征進行提取後,需要對特征進行合并融合,以得到聯合特征。合并過程如下:

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

式中:p為通道總數,H為目前通道特征圖像的參數矩陣,T為轉置。假設單通道特征輸出大小為m*m*n的三維矩陣,則聯合特征為m*m*(p*n)的三維矩陣,特征數量龐大。為了簡化分類器計算量,同時有效地提取高維特征向量,采用空間金字塔池化算法對聯合特征進行處理,提取抽象的空間平移不變特征。以輸入的聯合特征為基層,第n層将資料均分為n*n個子區域。假設每個區域c包括a個點,每個點的特征次元為b=p*n個,則這個區塊為一個a*b維的矩陣。對于特征的每一行,取最大值作為最終特征值。則區塊c最後簡化為一個b維向量:

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

式中:i為區塊序号,a為區塊中點的序号,F(c)為最終得到的b維向量。對于同一個輸出資料,選取不同的層值,假設圖檔共分為r個塊,則最終的特征結果為r*b維的二維矩陣。是以,将特征矩陣由三維降為二維,減少了計算量。

3  識别網絡性能分析

3.1 試驗平台與參數設定

試驗軟體環境為Windows 7作業系統(64位),軟體平台為Pycharm,采用Keras深度學習開源架構,選用Tensorflow做後端,用python作為程式設計語言、計算機記憶體為16GB, 搭載Intel i5-6500CPU。資料集中3個通道共3960張圖像,含油茶果的目标項與不含油茶果的對比項各為1980張。以其中的3600張圖像為訓練集,餘下的360張圖像為測試集,圖像大小統一為160*160(像素數),格式為JPEG。試驗參數為:卷積核為不同大小的分解卷積核,池化方式為平方根池化,池化尺寸e=2。采用adadelta法對網絡進行訓練,初始學習率為1.0,浮點數為0.95,小浮點數為1e-6,每一批量樣本數量為100,訓練次數為100次。為了有效地實作本研究的算法性能分析,以10次訓練的平均訓練時間、準确率與召回率作為算法性能評價名額:

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

式中:P為準确率,R為召回率,TP表示将正類預測為正類(即準确識别),FP表示将負類預測為正類(即誤識别),FN表示将正類預測為負類(即漏識别)。

3.2 卷積核類型對算法性能的影響

在相同的資料集構型上,引入不同大小的分解與未分解卷積核進行對比試驗,試驗資料如表2所示。由表2可知,從總體上看,使用分解卷積核的模型訓練速度與識别精度高于使用未分解卷積核的模型;算法的訓練時間與識别精度随着卷積核的增大而增大。這是因為使用非對稱的分解卷積核進行卷積運算,其計算量遠小于未分解卷積核;同時,對卷積核的分解加深了網絡的層數,使得資料的次元提升較為平緩,避免了表達瓶頸的出現,提高了計算速度,降低了誤差,訓練速度與精度均得到了提升。此外,不同大小的卷積核對不同特征的學習能力不同:小卷積核對細粒度特征響應充分,提取的紋理特征資訊更豐富;較大尺寸卷積核易于提取整體資訊(如顔色與輪廓特征)。對于背景複雜的油茶果圖像,需要對各類特征進行綜合學習。為了在保證識别精度的前提下盡量提高訓練速度,将卷積核尺寸确定為3∗3的分解卷積核。

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

3.3 收斂效果分析

在3*3的分解卷積核模型上進行準确率與疊代次數的比較,分析算法的收斂性能,關系圖見圖3。由圖3可知,由于改變了網絡的訓練方式,相比逐層訓練的棧式自編碼機,改進後的算法響應更為迅速。其收斂時間較棧式自編碼機更短,在10次疊代後即可達到85%的準确率;在30次疊代後,基本達到了最佳的準确率,然而準确率波動較大;在50次疊代後,準确率趨于穩定。這說明改進後的算法可以進行進一步改良,以增強收斂性能。

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

3.4 小資料集性能分析

為驗證算法在小資料集上的有效性,在擴充後的資料集内提取200張圖檔構成小資料集進行試驗,試驗結果如表3所示。可以發現,相比其他算法,由于自編碼機是一種自監督的資料壓縮算法,可以自行學習資料内的特征。是以,在小資料集上具有較強的學習能力,可以特異性地表征同類圖檔的特征,準确率較高,棧式自編碼機的準确率可達77%。而由于采用了分解卷積核以及直連式的訓練方式,改進的模型網絡更深,資訊損失更少,在小樣本上具有更強的學習能力,準确率可達82%。

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

3.5 與同類算法對比

為驗證改進算法的有效性,同時在棧式卷積自編碼機、VGG-16、Inception V3等算法上利用相同的資料集進行對照試驗,試驗結果見表4。

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

本研究提出的改進算法性能高于傳統的棧式自編碼機,試驗證明分解式的卷積核極為有效地提升了訓練速度;同時,空間金字塔池化有效地減少了識别時的計算量,進而有效地減小了算法運算所需的時間;而直連式的訓練方法有效地降低了訓練過程中的損失,提高了識别準确度。由于網絡深度與多卷積核并聯的緣故,本研究中的算法識别精度接近TP,明顯低于Inception V3。但是兩者龐大的訓練參數與複雜的網絡結構顯著地拖累了訓練速度; 尤其是采用了多尺寸卷積核并聯的Inception V3構型,其複雜的結構使得網絡學習能力極強,有較高的識别準确率,但是訓練時間達到了本研究中的算法訓練時間的4倍。是以,相比以上2種網絡結構,本研究提出的算法仍具有一定的可比性,可以通過加深網絡深度等方式進一步提高識别的準确率。

3.6 與其他果實識别算法的對比

以相同的資料集,利用文獻中改進的凸殼理論算法、文獻中的多目标蜂群算法、文獻中的VGG識别網絡進行油茶果的識别測試,結果如表5所示。由表5可知,改進凸殼理論與多目标蜂群等識别算法,其特征的學習多基于門檻值分割、色差變換等提取過的特征;相比在像素層級上直接進行特征提取的CNN網絡,識别能力較差。而文獻中采用的改進VGG算法并未對深層網絡的性能下降現象進行優化,是以準确率反而不及本研究中的算法。

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

4  識别網絡實用性驗證

本研究設計的識别網絡隻能對劃分的輸入圖像進行分類識别,實用性能存疑。為驗證識别算法的有效性,本研究設計了對應的油茶果檢測器以驗證算法的識别性能,并實作油茶果的圖像檢測。

4.1 候選區域生成

在實際運用中,一般采用滑動窗技術實作對候選區域(即bounding box)的提取,然而滑動窗算法生成的候選區域數量大,檢測過程中計算量大,算法性能并不理想。是以,采用SS算法對輸入圖像進行候選區域的生成。SS算法在生成指定數量的候選區域後,由于生成的區域大小、形狀不一,需要對生成的區域進行篩選以提高候選區域的品質。篩選通過以下幾個方面進行:剔除重複區域、剔除面積過大與過小的候選區域、剔除形狀不符合要求的區域、剔除大區域中的小區域。SS算法生成及篩選後的候選區域見圖4。由圖4可知,經過初篩後,候選區域的數目從1500個降至75個,在保證候選區域品質的同時,大大減少了輸入至識别網絡的區域數量,可以有效減小識别過程中所需的計算量。

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

4.2 油茶果識别檢測器

首先利用SS算法對實時采集的輸入圖像進行劃分,生成預定數目的候選區域;随後對其進行初篩,将初篩後的候選區域調整為固定大小,輸入至識别網絡進行分類。以sofemax分類器對油茶果類别的輸出為判斷依據,以此實作對圖像中油茶果的檢測。

4.3 檢測器測試與分析

為驗證本研究設計檢測器的有效性,以采集的20張油茶果植株圖像(大小為1600∗1600像素左右)作為檢測器的輸入,設定SS算法生成的候選區域數量為1500個。檢測結果示例如圖5所示。候選區域生成時間為10s,區域檢測時間為2s,平均識别準确率為87%,可以滿足實際條件下的識别要求。由圖5可知,由于果實顔色不均勻且易受光照環境影響,且互相重疊使得形狀特征不明顯,是以,當油茶果處于暗處或被遮擋面積過大時,識别網絡無法有效地提取特征,使得檢測器出現漏識别的現象。這表明應豐富資料集的多樣性,并對上述識别算法進行進一步的改進,增強算法的學習能力。同時,10s的篩選時間過長,不能完全滿足實際要求,應對篩選候選區域的算法進行進一步的優化,以壓縮檢測時間。

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

結 論

1)對卷積自編碼機在油茶果圖像的識别應用方面進行了試驗研究與分析。在傳統的棧式卷積自編碼網絡上進行改進,同時基于訓練好的識别網絡與selective search算法為基礎建構油茶果果實檢測器,實作實際圖像中對油茶果的目辨別别,驗證算法的實用性。

2)在改進卷積核結構與訓練方式後,算法性能提升顯著,100次疊代所需時間僅為166s,平均準确識别率可達90.4%。模型收斂速度快,經過10次疊代後即可達到85%的準确率。同時,模型的學習能力較強,對小資料集有較好的适應性,可以達到82%的準确率。與其他幾種常用的卷積神經網絡相比,本研究改進的算法在訓練時間上優勢明顯,識别精度較好,且對資料集依賴程度低。與對應的果實識别算法的比對結果也驗證了本研究算法的有效性。

3)利用油茶果檢測器對實際圖像的檢測結果顯示,單張圖檔生成候選區域的時間為10s,識别時間為2s,平均識别準确率為87%,基本滿足實際條件下的識别要求,證明本研究算法具有一定的實用性。

4)試驗結果證明,算法能夠有效地對油茶果的圖像進行識别與檢測,可為油茶果智能采摘、撫育裝置的研制提供理論參考。

該文發表于《林業工程學報》2019年第3期。

引文格式:

張習之,李立君.基于改進卷積自編碼機的油茶果圖像識别研究[J].林業工程學報,2019,4(3):118-124. 

ZHANG X Z,LI L J.Research of image recognition of Camellia oleifera fruit based on improved convolutional auto-encoder[J].Journal of Forestry Engineering,2019,4(3):118-124.

▼更多精彩推薦,請關注我們▼

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

把時間交給閱讀

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

圖檔來源于網絡

排版:Rachel

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究

你點的每個贊,我們都認真當成了喜歡

c語言圖像壓縮算法實作_基于改進卷積自編碼機的油茶果圖像識别研究