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