穆文秀 洪蕾 王瀚

摘要:以智能昆蟲分目識別系統(tǒng)為背景,本文運用卷積神經(jīng)網(wǎng)絡原理提出基于Vgg16的昆蟲圖像識別方法,提高自然環(huán)境下昆蟲的智能識別效率。本文利用Vgg16神經(jīng)網(wǎng)絡的預訓練模型來進行昆蟲圖像的特征提取,從而實現(xiàn)昆蟲的智能識別,仿真實驗證明本優(yōu)化算法確實對智能昆蟲識別有著較高的應用價值。
關鍵詞:圖像識別;CNN卷積神經(jīng)網(wǎng)絡;昆蟲分目;深度學習;Vgg16
中圖分類號:TP391.41 文獻標識碼:A 文章編號:1007-9416(2018)11-0118-02
0 引言
傳統(tǒng)的昆蟲識別方法是昆蟲專家觀察昆蟲的外部特征,對照模式標本鑒定識別,費時費力。或者農(nóng)戶憑借自身經(jīng)驗對昆蟲進行識別,但是農(nóng)戶所認識的昆蟲畢竟有限,且僅憑借肉眼觀察對于外形相似的昆蟲難以進行明確的判斷。傳統(tǒng)的昆蟲識別的費時費力,準確度不高,嚴重影響后期對昆蟲防治工作的開展。
如今,圖像處理和識別技術的發(fā)展給昆蟲的準確識別帶來了可能。及時、快速地發(fā)現(xiàn)并識別農(nóng)作物昆蟲,為及時正確采取相應措施防治蟲害,減少蟲害帶來的損失具有重要意義。本文旨在通過分析昆蟲圖像特征提取和優(yōu)化方法、智能識別算法基礎上,依據(jù)昆蟲分目識別研究方法的基本流程模塊,力爭在智能識別體系構建思路、辦法和途徑上有所創(chuàng)新,大大提高識別精度。
1 CNN卷積神經(jīng)網(wǎng)絡的三個基本層
1.1 卷積層(Convolutional Layer)
卷積層(Convolutional layer),卷積神經(jīng)網(wǎng)絡中每層卷積層由若干卷積單元組成,每個卷積單元的參數(shù)都是通過反向傳播算法最佳化得到的。卷積運算的目的是提取輸入的不同特征,第一層卷積層可能只能提取一些低級的特征如邊緣、線條和角等層級,更多層的網(wǎng)路能從低級特征中迭代提取更復雜的特征。
由于每個神經(jīng)元都和相鄰層的神經(jīng)元相連接,傳統(tǒng)的三層神經(jīng)網(wǎng)絡需要大量的參數(shù),顯然這種方式不是必須的。全連接層的方式對于圖像數(shù)據(jù)來說顯得很繁瑣,因為圖像本身具有“二維空間特征”,即局部特性。譬如看一只昆蟲的圖片,看到昆蟲的某個典型局部特征就可以知道昆蟲的種類。但是出現(xiàn)一張新圖時,CNN并不能準確地知道已有的特征(features)如何匹配,因此它會在原圖中每一個可能的位置嘗試匹配。匹配的過程就被稱為卷積操作,卷積的第一個參數(shù)通常稱為輸入,第二個參數(shù)稱為核函數(shù)。
在機器學習的應用中,輸入通常是多維數(shù)組的數(shù)據(jù),而核通常是由學習算法優(yōu)化得到的多維數(shù)組的參數(shù)。因為在輸入與核中的每一個元素都必須明確地分開存儲,通常假設在存儲了數(shù)值地有限點集以外,這些函數(shù)地值都為零。這意味著在實際操作中,可以通過對有限個數(shù)組元素的求和來實現(xiàn)無限求和。
1.2 池化層(Pooling Layer)
池化層0是對輸入的特征圖進行壓縮,一方面使特征圖變小,簡化網(wǎng)絡計算復雜度;一方面進行特征壓縮,利用卷積獲得的特征(features)去做分類。池化層的主要目的是對輸入做降采樣,在不影響圖像質(zhì)量的情況下,壓縮圖片,減少參數(shù)。池化層還能降低輸出結(jié)果的維度,并能保留顯著的特征。
1.3 全連接層(Fully Connected Layer)
全連接層的作用是將經(jīng)過多個卷積層和池化層的特征圖中的特征進行整合,將獲取的圖像特征用于圖像分類。在卷積神經(jīng)網(wǎng)絡中,全連接層將卷積層產(chǎn)生的特征圖映射成一個固定長度(一般為輸入圖像數(shù)據(jù)集中的圖像類別數(shù))的特征向量。這個特征向量包含了輸入圖像所有特征的組合信息,雖然丟失了圖像的位置信息,但是該向量將圖像中含有最具有特點的圖像特征保留了下來以此完成圖像分類任務。從圖像分類任務的角度來看,計算機只需要對圖像內(nèi)容進行判定,計算輸入圖像具體所屬類別數(shù)值,將最有可能的類別輸出即可完成分類任務。
2 昆蟲圖像識別模型的建立
2.1 建立昆蟲圖像集
實驗前期每個目選出10000張昆蟲圖像,并對這些圖像進行特征提取,建立昆蟲數(shù)據(jù)集。由于同一昆蟲的圖像相似性很高,并且為了防止出現(xiàn)過擬合現(xiàn)象,同時使圖像數(shù)據(jù)更為豐富,在對圖像進行特征提取之前,先做數(shù)據(jù)提升操作,將圖像分別從水平和豎直方向做一定幅度的偏移,以及以圖像的某個點為中心實現(xiàn)圖像的轉(zhuǎn)動,從而使提取的特征更具代表性。
2.2 特征降維處理
利用神經(jīng)網(wǎng)絡進行的特征提取通常維數(shù)較高并且存在大量冗余信息,因此需要對這些特征進行降維處理。假設一個數(shù)據(jù)集有N個樣本,每個樣本是M維,則該數(shù)據(jù)集可表示為AN*M。降維就是說把A變成A'N*K,其中K<M,這樣樣本可以由更少維度的特征來表示。常用的降維算法有主成分分析算法PCA、有監(jiān)督的線性降維算法LDA,局部線性嵌入LLE等。幾種算法中,PCA是丟失原始信息最少的一種方法并且計算方法也比較簡潔,適合圖像識別的使用。
實際上PCA是要找到樣本空間中的一組新的基(維度更低),將原數(shù)據(jù)在這組新基上進行投影,使得投影后的方差最大或者說投影使損失最小。利用PCA算法將數(shù)據(jù)集中樣本的維度降為K維,則降維后數(shù)據(jù)集可表示為AN*K。利用PCA降維的過程主要有以下幾個步驟:
(1)數(shù)據(jù)表示為A={,,…,}對數(shù)據(jù)A進行中心化得新矩陣B={,,…,}={-,-,...,-},其中=(這里的向量都是列向量);
(2)求B的協(xié)方差矩陣:cov(B)=BB/(n-1);
(3)對協(xié)方差矩陣cov(B)進行特征值分解;
(4)取特征值矩陣中最大的K個特征值對應的“k-特征向量”矩陣P;
(5)將原數(shù)據(jù)A乘以P得到降維后的新矩陣。
2.3 相似性檢索算法
機器學習中的相似性度量方法有很多,例如閔可夫斯基距離,切比雪夫距離,余弦相似度等。由于提取的圖像特征是作為向量來進行處理的,所以本文采用余弦相似度的方法來進行相似度匹配。
3 具體實現(xiàn)過程
在本文在實驗過程中,從每個目中選10000張昆蟲圖像建立數(shù)據(jù)集,利用Vgg16神經(jīng)網(wǎng)絡的預訓練模型進行特征提取并作為昆蟲圖像的特征向量進行存儲,之后通過PCA進行降維處理,通過余弦相似度的算法對昆蟲圖像進行匹配。實驗表明,對昆蟲圖像的數(shù)據(jù)集進行特征降維,識別的準確率高達82.34%。
第一步:數(shù)據(jù)預處理,為提高昆蟲圖像識別的準確率,在建立數(shù)據(jù)集的時候就選取清晰的昆蟲圖像,并對昆蟲圖像從數(shù)量和角度兩個方面進行數(shù)據(jù)提升。以一張大頭麗蠅圖像為例,對該圖像進行數(shù)據(jù)提升。
第二步:每個目取10000張圖像構成最終的數(shù)據(jù)集。輸入Vgg16神經(jīng)網(wǎng)絡的預訓練模型。該網(wǎng)絡以大小為224×224的圖片作為輸入,以4096維向量作為昆蟲圖像的特征向量輸出,最后將提取的800×4096的張量作為圖像數(shù)據(jù)集的特征向量保存至相應文件中。
第三步:將保存的原始向量空間,利用PCA,進行空間映射將并保存降維后的特征向量空間。
第四步:利用余弦相似度算法計算相似度。夾角余弦越大表示兩個向量的夾角越小,夾角余弦越小表示兩向量的夾角越大。
4 結(jié)語
本文針對昆蟲的智能識別建立在上述原理及實驗上,CNN最大的特點就是在于卷積的權值共享,利用空間結(jié)構減少學習的參數(shù)量,防止過擬合的同時減少計算量。在對CNN深入研究基礎上,提出了一種可以直接作用于昆蟲識別的方法。傳統(tǒng)昆蟲識別方法依據(jù)經(jīng)驗人為地從昆蟲外表中提取特征,再在該特征上查找索引表進行分類識別,存在盲目性、操作復雜和分類精度低等缺陷,基于CNN的昆蟲識別方法不存在上述缺點,并且實驗結(jié)果證明了該方法在昆蟲識別時的高效可靠。
參考文獻
[1]伊恩·古德費洛,約書亞·本吉奧,亞倫·庫維爾.深度學習[M].趙申劍,黎彧君,符天凡李凱譯.北京:人民郵電出版社,2017:201-226.
[2]龔丁禧,曹長榮.基于卷積神經(jīng)網(wǎng)絡的植物葉片分類[J].計算機與現(xiàn)代化,2014(04):12-15+19.
[3]于林森,張?zhí)镂模瑥堥_越.圖像檢索中的相似性判別及索引方法綜述[J].小型微型計算機系統(tǒng),2007,28(2):356-360.
[4]張惠凡,羅澤.基于卷積神經(jīng)網(wǎng)絡的鳥類視頻圖像檢索研究[J].科研信息化技術與應用,2017(5):50-57.
Insect Recognition Based on Machine Learning
MU Wen-xiu, HONG Lei, WANG Han
(School of Software Engineering,Jinling Institute of Technology, Nanjing? Jiangsu? 211169)
Abstract:Based on the intelligent insect eye-shadow recognition system, this paper proposes a Vgg16-based insect image recognition method based on the convolutional neural network principle to improve the intelligent recognition efficiency of insects in the natural environment. In this paper, the pre-training model of Vgg16 neural network is used to extract the features of insect images, so as to realize the intelligent recognition of insects. The simulation experiment proves that the optimization algorithm has a high application value for intelligent insect identification.
Key words:image identification;convolutional neural network;insects;? deep learning; Vgg16