薛 勇,王立揚,張 瑜,沈 群,4
(1.中國農(nóng)業(yè)大學 食品科學與營養(yǎng)工程學院,北京 100083; 2.中國農(nóng)業(yè)大學 國家果蔬加工工程技術(shù)研究中心,北京 100083; 3.中國農(nóng)業(yè)大學 信息與電氣工程學院,北京 100083; 4.中國農(nóng)業(yè)大學 植物蛋白與谷類加工北京市重點實驗室,北京 100083)
蜜蜂是自然生態(tài)系統(tǒng)中最重要的單一傳粉媒介物種,人們利用蜜蜂為農(nóng)作物等傳授花粉,從而大幅提高糧食產(chǎn)量。近年來,由于生存環(huán)境遭破壞及病蟲害威脅等原因?qū)е旅鄯鋽?shù)量不斷減少,出現(xiàn)“蜜蜂危機”[1],繼而可能影響農(nóng)作物的產(chǎn)量和質(zhì)量?;ǚ酆突凼敲鄯涞闹饕澄飦碓?,蜜蜂在采集花粉和花蜜時,攜粉足會收集花粉并形成花粉團。其中,花粉的采集與蜜蜂的授粉效率密切相關(guān),同時蜜蜂所攜帶的花粉團是一種高蛋白質(zhì)和低脂肪的營養(yǎng)保健食品。因此,實時監(jiān)測蜜蜂覓食行為,不僅有助于評估當?shù)剞r(nóng)作物授粉狀況[2],也有助于及時采取措施提高蜜蜂產(chǎn)品的產(chǎn)量和品質(zhì),增加蜜蜂養(yǎng)殖產(chǎn)業(yè)的附加值。近年來,隨著精準養(yǎng)蜂(Precise beekeeping,PB)概念提出,如何利用現(xiàn)代技術(shù)對蜜蜂行為(尤其覓食行為)進行監(jiān)測與分析成為未來智能農(nóng)業(yè)發(fā)展導向之一[3]。STREIT等[4]提出基于射頻識別(Radio frequency identification,RFID)對昆蟲單一個體跟蹤,較早實現(xiàn)昆蟲監(jiān)測,但強電磁波具有侵入性,易對監(jiān)測對象造成影響。最近,計算機視覺(Computer vision,CV)在監(jiān)測動物行為方面研究較為深入,如肖德琴等[5]設(shè)計基于視頻追蹤的家豬運動監(jiān)測方法,勞鳳丹等[6]借助機器視覺對蛋雞行為進行識別,取得良好效果。王俊等[7]構(gòu)建最優(yōu)二叉決策樹分類模型對奶牛運動行為進行分類識別,陳彩文等[8]利用灰度差分統(tǒng)計法、灰度共生矩陣和高斯馬爾科夫隨機場模型提取魚群紋理特征,最后利用支持向量機(Support vector machine,SVM)對魚群圖像進行分類識別,降維后達到0.935 0的識別準確率。但有關(guān)蜜蜂行為的圖像識別卻鮮有報道[9],國外也僅有少量研究[10-13]。
卷積神經(jīng)網(wǎng)絡(Convolution neural network,CNN)是一種深度前饋人工神經(jīng)網(wǎng)絡,其人工神經(jīng)元可以響應一部分覆蓋范圍內(nèi)的單元,對于大型圖像處理有出色表現(xiàn)。自20世紀末LeNet-5的誕生[14],到2012年ALEX等憑借AlexNet獲得當年ImageNet比賽(大規(guī)模視覺識別挑戰(zhàn)賽)冠軍,再到后來深層卷積神經(jīng)網(wǎng)絡(DCNN)的出現(xiàn)促進醫(yī)療診斷等領(lǐng)域的發(fā)展[15]。利用CNN模型識別蜜蜂覓食行為,監(jiān)測蜜蜂個體情況對動物行為進行研究是一種新穎的思路,RODRIGUEZ等[16]借助基線分類算法、淺層CNN模型以及深層CNN模型對攜帶花粉蜜蜂的識別展開研究,結(jié)果表明,淺層CNN模型表現(xiàn)較好。
本研究設(shè)計5種CNN架構(gòu)并采用GoogLeNet V1的深度遷移模型,用于監(jiān)測視頻圖像中蜜蜂是否攜帶花粉。將計算機視覺技術(shù)引入蜜蜂覓食行為(是否攜帶花粉)的監(jiān)測,設(shè)計5種淺層卷積神經(jīng)網(wǎng)絡模型進行對比分析,并與深層網(wǎng)絡GoogLeNet V1的遷移學習進行對比,以尋找適合監(jiān)測蜜蜂覓食行為的最優(yōu)模型。
準備工作包括圖像采集、預處理;主線工作包括CNN架構(gòu)的搭建、訓練過程及調(diào)參、結(jié)果對比與分析;基線工作包括傳統(tǒng)機器學習的特征工程、分類器的選擇與訓練、結(jié)果對比與分析(圖1)。試驗對比不同深度網(wǎng)絡的特點,并對不同網(wǎng)絡運用在不同實際情況進行討論。
本研究采用Kaggle公司的公開訪問數(shù)據(jù)集,該數(shù)據(jù)集根據(jù)2017年6月在波多黎各大學Gurabo農(nóng)業(yè)實驗站拍攝的2段蜂群入口處的視頻(10:00和13:00,時長各1 h)裁剪而來,包括369幅攜帶花粉和345幅不攜帶花粉的高分辨率蜜蜂照片。值得注意的是,為檢測自然環(huán)境下模型的適應性,該視頻分別在不同光照條件下錄制,并將所獲得的蜜蜂照片裁剪矩形的大小固定為180像素×300像素,這樣帶注釋的胸腔位置就會以坐標(90,100)為中心出現(xiàn),并且蜜蜂是完全可見的。
該視頻采集系統(tǒng)(圖2)由蜂箱、攝像頭、入口處以及遮光板組成。其中,攝像裝置使用4 Mpixels GESS IP攝像頭連接到8 Mbps的網(wǎng)絡錄像機上進行連續(xù)錄制,遮光板利用透明的丙烯酸塑料蓋遮蓋在裝置頂部,同時為避免干擾蜜蜂生物周期只使用自然光。
圖1 研究流程Fig.1 Research process
①:蜂箱; ②:攝像頭; ③:入口; ④:遮光板①:Beehive; ②:Camera; ③:Entrance; ④:Visor 圖2 視頻采集系統(tǒng)Fig.2 Video capture system
在圖像分析中,預處理是對輸入圖像進行特征抽取、分割和匹配前所進行的處理。其主要目的是消除圖像中無關(guān)的信息,恢復有用的真實信息,增強有關(guān)信息的可檢測性和最大限度地簡化數(shù)據(jù)。研究中首先對原始數(shù)據(jù)集(圖3)進行數(shù)據(jù)增強。數(shù)據(jù)增強是深度學習中增加訓練數(shù)據(jù)量、提升模型泛化能力和魯棒性的有效技術(shù)手段[17],常見方法包括圖像旋轉(zhuǎn)180°(圖4a)、圖像水平翻轉(zhuǎn)(圖4b)、加入Gaussian噪聲(圖4c)等。本研究對數(shù)據(jù)集進行上述處理后獲得1 476幅攜帶花粉蜜蜂圖和1 380幅未攜帶花粉蜜蜂圖,共計2 856個數(shù)據(jù)樣本。
圖3 部分原始蜜蜂數(shù)據(jù)集對比Fig.3 Comparison of some raw bee data sets
a:圖像旋轉(zhuǎn)180°;b:圖像水平翻轉(zhuǎn);c:加入Gaussian噪聲;d:直方圖均衡化;e:對應直方圖;f:Lab空間轉(zhuǎn)換a:Image rotated by 180°;b:Image flipped horizontally;c:Added gaussian noise;d:Histogram equalization;e:Corresponding histogram;f:Lab space conversion圖4 原始數(shù)據(jù)集的數(shù)據(jù)增強處理Fig.4 Data augmentation treatment of original data base
由于數(shù)據(jù)拍攝時間不統(tǒng)一導致圖像亮度不一致,因此有必要對其進行圖像增強。圖像增強通過一定手段對原圖像附加一些信息或變換數(shù)據(jù),有選擇地突出圖像中感興趣區(qū)域(Region of interest,ROI)或者抑制(掩蓋)圖像中某些不需要的特征,使圖像與視覺響應特性相匹配。常見方法為對比度拉升、Gamma校正、同態(tài)濾波器以及直方圖均衡化。本研究采用直方圖均衡化以增強圖像局部對比度,該方法增加灰度值的動態(tài)范圍,使亮度更好地在直方圖上均勻分布。研究中設(shè)置直方圖離散水平為64,效果如圖4d,對應直方圖如圖4e。
本研究還對數(shù)據(jù)集顏色空間進行轉(zhuǎn)換,將原始RGB彩色空間轉(zhuǎn)換為Lab顏色空間,Lab空間色域?qū)掗煟粌H包含了RGB、CMYK的所有色域,還能表現(xiàn)其不能表現(xiàn)的色彩,彌補了RGB色彩模型和CMYK色彩模式色彩分布不均的不足。Lab顏色空間中亮度和顏色是分開的, L通道沒有顏色,a通道和b通道只有顏色,因此調(diào)節(jié)操作簡單,Lab空間轉(zhuǎn)換后如圖4f。
目前,深度學習在各領(lǐng)域中獲得極大成功,這與神經(jīng)網(wǎng)絡復雜性密切相關(guān),而提升網(wǎng)絡復雜性以增加網(wǎng)絡深度和寬度為主。本研究對神經(jīng)網(wǎng)絡深度展開研究,分析不同深度的神經(jīng)網(wǎng)絡模型的效果從而尋找不同實際條件下的最適模型。研究設(shè)計7、9、11、13、15層共5種的CNN架構(gòu),其中,卷積層分別為2~6層,同時與目前數(shù)據(jù)挖掘挑戰(zhàn)賽主流算法GoogLeNet V1(22層)的深度遷移學習進行對比,以構(gòu)建最優(yōu)化蜜蜂覓食自動監(jiān)測模型。
1.4.1 淺層CNN結(jié)構(gòu)設(shè)計 CNN主要結(jié)構(gòu)包括卷積層、下采樣層(池化層)和全連接層。卷積層由若干卷積單元組成,每個卷積單元的參數(shù)都是通過反向傳播算法最佳化得到,目的是提取輸入的不同特征,因此是CNN的核心。池化層分為最大池化(Max pooling)與平均池化(Average pooling),通常以最大池化為主。池化層可以非常有效地縮小參數(shù)矩陣尺寸,從而減少最后全連層中的參數(shù)量,既可以加快計算速度也可以防止過擬合。全連接層的每個結(jié)點都與上1層的所有結(jié)點相連,用以把前邊提取到的特征綜合起來,一般全連接層的參數(shù)也是最多的。其可以整合卷積層或者池化層中具有類別區(qū)分性的局部信息。本研究的淺層CNN采用輸入層—卷積層—池化層—全連接層—輸出層的基本架構(gòu),其中,卷積層與池化層交替連接,研究中依次增加卷積層與池化層的個數(shù),以增加網(wǎng)絡深度。各層設(shè)計具體如下:
1.4.1.1 輸入層 研究采用預處理后的大小為32像素×32像素×3通道的蜜蜂圖片作為輸入。
1.4.1.2 卷積層 在卷積操作中卷積核是可學習的參數(shù),常用的卷積核大小為3、5、7卷積,研究設(shè)置卷積核大小為5卷積。卷積核的步長(Stride)設(shè)置為1,擴充邊緣(Padding)設(shè)置為0。為探究網(wǎng)絡深度對模型效果的影響,依次增加卷積層層數(shù)(2~6層)。經(jīng)多次調(diào)參發(fā)現(xiàn),卷積層1~6層對應分別為6、16、120、250、300、380種時模型效果最好。
1.4.1.3 激勵層 激勵層中激勵函數(shù)提供非線性變化,若無激勵函數(shù),每一層節(jié)點的輸入都是上層輸出的線性函數(shù),輸出均為輸入的線性組合,即無法發(fā)揮隱藏層作用。傳統(tǒng)的激勵函數(shù)為sigmoid,該函數(shù)計算量較大且反向傳播時易造成梯度消失。目前深度神經(jīng)網(wǎng)絡大多采用ReLU函數(shù)作為激勵函數(shù),此函數(shù)不僅能減輕梯度彌散的問題,而且計算量較小,但在學習速率較大時易造成神經(jīng)元大批量“消亡”。為解決此弊病,本研究采用LeakyReLU作為激勵函數(shù)。在該激勵函數(shù)作用下,當神經(jīng)元未激活時仍有一個小梯度的非零值輸出,從而避免可能出現(xiàn)神經(jīng)元 “消亡”現(xiàn)象[18]。
1.4.1.4 池化層 研究在每層卷積層后加入最大池化層,以減少上一級的參數(shù)矩陣尺寸。設(shè)置該層每個單元與上一層卷積層的特征圖的2×2鄰域相連接。
1.4.1.5 全連接層 在本 CNN 結(jié)構(gòu)中,經(jīng)多個卷積層和池化層后,連接著1個全連接層。經(jīng)全連接層輸出后,利用softmax分類器進行分類,輸出最后預測結(jié)果。
1.4.1.6 Dropout層 研究在每個CNN架構(gòu)的全連接層后添加Dropout層,隨機讓網(wǎng)絡的某些節(jié)點輸出設(shè)置為0,也不更新權(quán)重,隨機刪除網(wǎng)絡中的一些隱藏神經(jīng)元,但使得輸入輸出神經(jīng)元數(shù)量相同,加入Dropout不僅能有效防止模型過擬合,而且取得較好的正則化效果,提升CNN的泛化能力。經(jīng)交叉驗證,選擇Dropout為0.5。
將5種CNN架構(gòu)按以上設(shè)置進行設(shè)計(圖5),并進行輸出結(jié)果對比分析。
①:卷積層;②:池化層;③:全連接層;④:Dropout層;⑤:輸出層①:Convolutional layer;②:Pooling layer;③:Fully connected layer;④:Dropout layer;⑤:Output layer圖5 淺層CNN結(jié)構(gòu)設(shè)計Fig.5 Shallow CNN structures design
1.4.2 深層CNN結(jié)構(gòu)設(shè)計 為更好分析上述淺層CNN的模型效果,尋找最優(yōu)網(wǎng)絡結(jié)構(gòu),本研究使用2014年ImageNet挑戰(zhàn)賽的冠軍模型GoogLeNet進行比較。GoogLeNet共有4個子模型,本研究選用其經(jīng)典版本GoogLeNet V1。為減小數(shù)據(jù)依賴性與提高訓練效率,先在ImageNet上進行預訓練,得到初始模型而后進行遷移學習。Inception是GoogLeNet的基礎(chǔ)模塊單元,其實現(xiàn)多尺度卷積提取多尺度局部特征,并經(jīng)過優(yōu)化訓練得到最優(yōu)參數(shù)配置。研究選擇Inception的改進版本作為深度遷移學習的基本單元,其改進單元結(jié)構(gòu)如圖6。即通過1×1卷積、3×3卷積、5×5卷積和3×3最大池化構(gòu)成單位模塊,且3×3卷積和5×5卷積前添加1×1卷積,1×1卷積放在3×3最大池化之后以利于數(shù)據(jù)降維,從而降低龐大參數(shù)量帶來的計算量大的弊端。
圖6 Inception改進單元結(jié)構(gòu) Fig.6 Inception improved unit structure
GoogLeNet V1共有22層網(wǎng)絡層數(shù),輸入層圖片大小224像素×224像素×3通道。該網(wǎng)絡共有9個Inception單元,包括Inception模塊的所有卷積在內(nèi)都用了ReLU修正線性單元激勵函數(shù),且使用Dropout層防止過擬合,最后采用平均池化層代替全連接層。整體結(jié)構(gòu)如圖7所示。
訓練操作在Windows 10系統(tǒng)上完成,計算機配置為CPU Intel 酷睿 I7-6700 HQ、3.5GHz、內(nèi)存4 GB,編程均在MATLAB R2018a中進行。針對上述衍生數(shù)據(jù)集,隨機抽取2 576幅(1 326幅帶花粉蜜蜂和1 250幅未帶花粉蜜蜂)圖像作為訓練樣本,其余280幅作為驗證樣本。同時,訓練數(shù)據(jù)集中隨機選取20%作為訓練時的測試集。利用以上劃分后數(shù)據(jù)集分別進行淺層、深層CNN的訓練。
訓練時需對模型進行調(diào)參,鑒于研究中對淺層CNN的5種架構(gòu)進行對比研究,因此淺層CNN模型參數(shù)需保持一致。其中,初始學習速率是重要的參數(shù),通常在優(yōu)化的初始階段采用較大的學習率使模型有更大的搜索范圍,從而避免過早陷入局部極小值[19]。但較大學習速率易跨過極值點使得算法穩(wěn)定性較差,因此初始設(shè)置學習速率為0.01,觀察其損失函數(shù)的振蕩態(tài)勢,當達到穩(wěn)定時縮小到原始的0.1倍(即設(shè)置gamma=0.1),重復以上步驟直至尋找到時長處于可接受范圍內(nèi)的最優(yōu)準確率。其余參數(shù)按精度最優(yōu)原則進行設(shè)置,最終使得5種淺層CNN與1種深層CNN均達到訓練準確率處于穩(wěn)定的狀態(tài)為止。模型基本參數(shù)設(shè)置見表1。
圖7 GoogLeNet V1結(jié)構(gòu) Fig.7 GoogLeNet V1 structure
表1 基本參數(shù)設(shè)置Tab.1 Basic parameter settings
為體現(xiàn)上述深度學習方法的優(yōu)越性,本研究還利用傳統(tǒng)機器學習方法與其對比。將預處理后的蜜蜂圖片作為數(shù)據(jù)集,特征工程時考慮到該數(shù)據(jù)集中蜜蜂拍攝位于不同時間段,光照強度不同,為最大程度避免光照對數(shù)據(jù)處理帶來的影響,選用提取圖像的方向梯度直方圖(Histogram of oriented gradient,HOG)作為分類器輸入的特征向量。HOG特征描述子最早用于靜態(tài)行人檢測[20],其是基于對稠密網(wǎng)格中歸一化的局部方向梯度直方圖的計算。實際操作中,將圖像分為小的元胞(cell),在每個元胞內(nèi)累加計算出一維的梯度方向(或邊緣方向)直方圖。同時通過將元胞組成更大的塊(blocks)并歸一化塊內(nèi)的所有元胞以獲得對光照和陰影的更好的魯棒性。本研究修改圖像分辨率為200像素×200像素,設(shè)置元胞大小為32 pixels×32 pixels,1個塊內(nèi)包含2個×2個元胞單元,最終每個樣本提取得到900維特征向量。
本研究在分類器的選擇上采用經(jīng)典機器學習算法SVM、Bagging集成學習隨機森林(Random forest,RF)[21]與K最近鄰(K-nearest neighbor,K-NN)[22]。研究中導入特征向量進行訓練并進行最優(yōu)化調(diào)參。
5種淺層CNN與1種深層CNN訓練迭代過程如圖8。對于前5種CNN模型,在同一迭代次數(shù)(1 545次)下模型均趨于穩(wěn)定。隨著模型層數(shù)遞增穩(wěn)定性增加且訓練準確率也有所上升。分析原因,神經(jīng)網(wǎng)絡越深,所提取的特征更加復雜,具有更好的非線性表達能力,因此網(wǎng)絡魯棒性提升[23]。但值得注意,隨網(wǎng)絡層數(shù)增加,模型達到穩(wěn)定狀態(tài)的迭代次數(shù)增多,這意味著完成模型訓練需要更大的計算代價。圖8f展示GoogLeNet V1遷移學習的訓練過程,與淺層CNN不同的是,該訓練過程具有更高的穩(wěn)定性,且相比于其他深層網(wǎng)絡,該網(wǎng)絡達到穩(wěn)定趨勢的迭代過程也較短。從網(wǎng)絡結(jié)構(gòu)分析,首先GoogLeNet V1不同于VGG等深度網(wǎng)絡,GoogLeNet做了更大膽的網(wǎng)絡上的嘗試,采用Inception單元模塊而不是像VGG繼承了LeNet以及AlexNet的一些框架,該模型雖然有22層,但卻比AlexNet和VGG都小很多,性能優(yōu)越。因此能在保證準確率的情況下最大程度地輕化網(wǎng)絡,提升訓練效率。其次,本研究在初始預訓練的GoogLeNet V1網(wǎng)絡上進行了遷移,進一步加快模型訓練。但不可否認, GoogLeNet V1即便結(jié)構(gòu)改進,參數(shù)量僅為AlexNet的1/12(500萬),但其參數(shù)總量仍然巨大,這對計算設(shè)備提出了較高的要求。
a:7層CNN模型;b:9層CNN模型;c:11層CNN模型;d:13層CNN模型;e:15層CNN模型;f:GoogLeNet遷移模型(22層)a:7-Layer CNN model;b:9-Layer CNN model;c:11-Layer CNN model;d:13-Layer CNN model;e:15-Layer CNN model; f:GoogLeNet transfer model(22 layers)圖8 不同深度CNN訓練迭代過程Fig.8 CNN training iterative processes at different depths
本研究從蜜蜂覓食自動監(jiān)測的實際需求出發(fā),選取測試準確率、損失函數(shù)值以及訓練時間對6種CNN模型進行效果評估(如表2)。對于淺層CNN,擁有4層卷積層(11-Layer)的模型測試準確率最高,達到0.903 6,其次是擁有2層卷積層(7-Layer)的深度網(wǎng)絡,測試準確率為0.892 5。值得思考的是,5層(13-Layer)和6層(15-Layer)卷積層的深度網(wǎng)絡測試準確率并不是一直增加,甚至出現(xiàn)下降,不如最初始的2層卷積層(7-Layer)模型。從損失函數(shù)值上看,在一定范圍內(nèi),隨著卷積層層數(shù)增加,模型損失值越小。但當模型總層數(shù)達到15層后,數(shù)值出現(xiàn)了反彈,擁有6層卷積層(15-Layer)的網(wǎng)絡的損失函數(shù)值為0.070 6,高于擁有4層(11-Layer)和5層(13-Layer)卷積層的深度模型。訓練時長隨網(wǎng)絡深度增加而增加,這便驗證了深層網(wǎng)絡需要更大的計算代價的結(jié)論。而對于本研究所采用的深層網(wǎng)絡GoogLeNet V1遷移模型,發(fā)現(xiàn)其測試準確率最高(0.953 6),損失函數(shù)值也相當?shù)停挥?.017 4,但訓練時間為7 326.0 s,遠高于以上淺層網(wǎng)絡。
表2 CNN性能評估指標Tab.2 CNN performance evaluation indicators
深度學習中,越深的模型意味著更好的非線性表達能力,可以學習更復雜的變換,從而擬合更加復雜的特征輸入[24]。圖9展示蜜蜂數(shù)據(jù)經(jīng)CNN模型輸入后各卷積層可視化。從邊緣提取開始,隨著卷積層數(shù)的增加,所學習到的特征也更加復雜。
網(wǎng)絡加深能進行逐層的特征學習,理論上可獲得更優(yōu)的擬合效果。但本研究結(jié)果表明,并非網(wǎng)絡越深,模型效果越好,在淺層CNN中,當網(wǎng)絡層數(shù)超過11層時,測試準確率不僅沒有上升,反而下降。分析其原因,一方面可能是加深深度帶來的梯度不穩(wěn)定問題不僅沒有緩解,反而加重;另一方面是不斷簡單加深網(wǎng)絡容易達到飽和,從而使模型性能無法提升,甚至開始下降。另外,加深網(wǎng)絡還容易使得淺層網(wǎng)絡的學習能力下降,限制深層的繼續(xù)學習。但由于自身模型的優(yōu)越性,研究中深層遷移網(wǎng)絡GoogLeNet V1測試效果最佳。因此改進深層CNN結(jié)構(gòu),有利于解決梯度不穩(wěn)定等弊端,使深層神經(jīng)網(wǎng)絡克服傳統(tǒng)網(wǎng)絡自身的瓶頸成為可能。
(1)—(6):第1~6層卷積層(1)—(6):1st to 6th convolutional layers圖9 各卷積層可視化Fig.9 Visualization of each convolution
若將不同深度網(wǎng)絡的各自特點運用到不同情況的農(nóng)業(yè)研究中,既能符合生產(chǎn)需求,又能最大程度避免不必要的浪費。本研究的GoogLeNet V1遷移模型測試準確率最高(0.953 6),但訓練時間長,設(shè)備要求高,可運用于農(nóng)業(yè)上關(guān)于蜜蜂花粉研究中的小批量檢測與分析。但對于大規(guī)模蜜蜂養(yǎng)殖產(chǎn)業(yè)來說,這無疑耗資巨大且效率低下。而本研究所設(shè)計的卷積層4層的淺層CNN因具有測試準確率較高(0.903 6)、計算成本較低(僅為GoogLeNet V1的1/7)的特點而更加符合生產(chǎn)實際。因此,綜合考慮模型效果和訓練成本,結(jié)合蜜蜂覓食監(jiān)測任務的需求,選擇合適網(wǎng)絡更利于達到期望效果。
為對比上述CNN結(jié)果,研究采用十折交叉驗證法分別對HOG+SVM、HOG+RF和HOG+K-NN進行測試,結(jié)果如表3。發(fā)現(xiàn)傳統(tǒng)機器學習算法的測試準確率與CNN有較大差距,其中表現(xiàn)最好的是HOG+SVM,準確率為0.847 2,其次是HOG+RF(0.797 2),準確率最低的是HOG+K-NN(0.777 8)。這是因為傳統(tǒng)機器學習算法需人工提取特征,這樣提取的特征具有單一性和淺顯性[25],之后將提取特征映射至目標空間造成學習效果不如CNN。
表3 傳統(tǒng)機器學習算法結(jié)果對比Tab.3 Comparisons of traditional machine learning algorithm results
研究對蜜蜂覓食行為進行自動檢測,利用計算機視覺技術(shù)對攜帶花粉蜜蜂與不帶花粉蜜蜂進行識別。對比了5種不同深度下的淺層CNN以及深層網(wǎng)絡GoogLeNet V1的遷移模型,結(jié)果發(fā)現(xiàn),淺層CNN在測試準確率等方面不如深層CNN,其中11層的CNN模型具有最高測試準確率(0.903 6),而GoogLeNet V1的測試準確率達到0.953 6。但GoogLeNet V1遷移模型測試所消耗的訓練時間遠多于淺層CNN,需更高的設(shè)備計算要求。研究為不同實際需求下的蜜蜂覓食行為的監(jiān)測提供建議:GoogLeNet V1深層網(wǎng)絡適合用于小批量的科學研究,11層的CNN則更適用在大規(guī)模的蜜蜂養(yǎng)殖。其中,GoogLeNet V1深層網(wǎng)絡作為目前深度學習主流神經(jīng)網(wǎng)絡,在許多方面都有應用[26-27],但目前未報道其應用于蜜蜂覓食行為的監(jiān)測,因此本研究為今后蜜蜂養(yǎng)殖業(yè)中高精度的監(jiān)測提供新的可能。另外,本研究提出的11層CNN,雖然測試準確率不如深層神經(jīng)網(wǎng)絡,但其訓練成本低的優(yōu)勢有利于大規(guī)模的應用。
同時,本研究針對不同網(wǎng)絡深度對模型效果的影響規(guī)律展開探討,對比發(fā)現(xiàn),在一定范圍內(nèi),加深網(wǎng)絡深度利于增加模型學習特征的復雜性,從而提升模型性能。但并非網(wǎng)絡越深,效果一定越好,當網(wǎng)絡層數(shù)達到飽和時,再簡單重復疊加卷積層不僅無法提升網(wǎng)絡性能,甚至可能出現(xiàn)下降。反觀GoogLeNet V1模型,其雖然網(wǎng)絡層數(shù)(22層)遠高于對比模型,但該網(wǎng)絡獨特的Inception架構(gòu)能減少模型的訓練參數(shù)且有利于克服梯度下降,以此突破上述架構(gòu)的局限性從而極大提高了CNN性能。因此,加深模型的同時改進網(wǎng)絡結(jié)構(gòu)是進一步提升CNN性能的正確思路,未來需著重研究。
另外,本研究還將CNN深度模型與傳統(tǒng)機器學習算法進行對比,發(fā)現(xiàn)HOG+SVM、HOG+RF和HOG+K-NN等傳統(tǒng)算法雖然在原理上相比CNN中的Softmax分類器更為成熟,但因其人工特征工程的局限性導致識別的效果不如CNN,這體現(xiàn)了深度學習運用于動物行為監(jiān)測領(lǐng)域的優(yōu)越性。但這也為探索更高精度的模型提供思路,即將深度神經(jīng)網(wǎng)絡與傳統(tǒng)分類器相結(jié)合,比如CNN提取圖像多維紋理特征后使用SVM等分類算法進行分類,結(jié)合后二者的優(yōu)勢有望進一步提升監(jiān)測效果,今后應進一步加強研究。