于 強(qiáng), 陳 青,2*
(1.南京林業(yè)大學(xué)機(jī)械電子工程學(xué)院,江蘇 南京 210037;2.南京林業(yè)大學(xué)林業(yè)資源高效加工利用協(xié)同創(chuàng)新中心,江蘇 南京 210037)
我國是水果生產(chǎn)大國,蘋果、梨、柑橘等水果產(chǎn)量居全球前列。然而,隨著生態(tài)環(huán)境的改善,鳥類數(shù)量增多,果園鳥害問題日益突出。2020年,四川廣安市鳥害發(fā)生面積7.54 萬hm2,損失經(jīng)濟(jì)作物436 t[1]。2021年,冀西北地區(qū)的鮮食葡萄鳥害受災(zāi)率達(dá)產(chǎn)量的15%[2]。被麻雀、喜鵲等鳥啄食后的水果表面會留下疤痕,非常不利于水果的品質(zhì)化發(fā)展,鳥喙中的病菌也可能通過果實傳染果樹甚至整個果園[3]。因此,鳥害防治對于保持林果經(jīng)濟(jì)健康、高質(zhì)量發(fā)展具有關(guān)鍵作用。
目前,人們根據(jù)鳥的視覺、聽覺等生理特點(diǎn)研發(fā)出多款驅(qū)鳥產(chǎn)品。Brown[4]等設(shè)計了一種直徑14 mm的激光器,并在農(nóng)田防治害鳥入侵試驗中效果良好。Glahn[5]等研發(fā)了一種波長632.8 nm的激光器,發(fā)現(xiàn)對驅(qū)趕魚塘附近的鸕鶿、大雁效果顯著。Wong[6]等設(shè)計了一款驅(qū)鳥無人機(jī),揚(yáng)聲器中不斷播放鳥類間的求救叫聲,一架不斷移動的無人機(jī)能保護(hù)0.25 hm2的葡萄園。激光驅(qū)鳥器使用效果容易受天氣干擾,在果園中使用也容易被遮擋,因此果園中常用的驅(qū)鳥器為聲波驅(qū)鳥器,相較于其他驅(qū)鳥方法具有不受地域、時間限制的特點(diǎn)。當(dāng)前聲波驅(qū)鳥器大多按固定程序循環(huán)工作,一段時間后容易被鳥類適應(yīng),在沒有害鳥時也一直工作,能源利用率低。
本文將計算機(jī)視覺技術(shù)、物聯(lián)網(wǎng)技術(shù)、聲波技術(shù)結(jié)合,設(shè)計了一款聲波驅(qū)鳥器,可以實現(xiàn)有鳥即驅(qū),驅(qū)鳥更有針對性且節(jié)約能源,為果園鳥害防治提供參考。
大部分鳥類對16~25 kHz頻率間的聲波極度敏感,利用這一特點(diǎn)人們制作出聲波驅(qū)鳥器(如圖1所示),從聽覺刺激鳥類,使其感到恐懼遠(yuǎn)離,對鳥沒有生命危害[7]。
圖1 聲波驅(qū)鳥器
聲波驅(qū)鳥器由信號發(fā)生模塊、功率放大模塊、電源管理模塊、輸出模塊等構(gòu)成。信號發(fā)生模塊為NE555芯片組成的多諧振蕩器,振蕩器輸出頻率為f的方波,f可由外部引腳連接的可變電阻改變。功率放大模塊為LM386音頻放大器,工作電壓3.3~5.3 V,具有功耗低、諧波失真小等優(yōu)點(diǎn)。NE555振蕩器輸出16~25 kHz的方波,經(jīng)過LM386放大以后通過高頻壓電陶瓷喇叭發(fā)出高強(qiáng)度刺激性聲波。
鳥類具有極強(qiáng)的適應(yīng)能力,研究表明,驅(qū)鳥器工作時間過長,會導(dǎo)致驅(qū)鳥效果變差。因此,驅(qū)鳥器使用時應(yīng)盡量設(shè)置工作間歇,合理減少工作時間[8]。然而市場上的驅(qū)鳥器大多只能按照固定程序執(zhí)行,如果設(shè)置成隔一段時間工作就會存在驅(qū)鳥真空期,就會出現(xiàn)有害鳥卻沒工作的情況[9]。針對這一問題,一系列主動監(jiān)測式驅(qū)鳥器被發(fā)開出來??聴頪10]等設(shè)計了一款基于紅外感應(yīng)的智能驅(qū)鳥器,紅外感應(yīng)器接收鳥類身體反射回的紅外線,根據(jù)波長判斷識別鳥類控制驅(qū)鳥器運(yùn)行。楊敏[11]等設(shè)計了一款基于多普勒微波探測的智能驅(qū)鳥器,監(jiān)測區(qū)域有移動物體時,探測器接收微波并根據(jù)微波特征識別鳥類。上述學(xué)者利用紅外感應(yīng)器、多普勒微波探測器檢測鳥類的方法存在不足,誤識別情況較嚴(yán)重,在果園復(fù)雜環(huán)境中實際使用效果差。
本設(shè)計利用計算機(jī)視覺技術(shù)取代紅外以及微波探測器,直接對圖像中的鳥類進(jìn)行識別,具有魯棒性好、識別準(zhǔn)確等優(yōu)點(diǎn)。目標(biāo)識別技術(shù)計算量較大,因此攝像頭監(jiān)視的果園畫面先輸入到服務(wù)器端的目標(biāo)檢測算法模型中,經(jīng)服務(wù)器運(yùn)算識別害鳥后,通過物聯(lián)網(wǎng)技術(shù)實現(xiàn)驅(qū)鳥器與服務(wù)器之間的通信和控制。建立物聯(lián)網(wǎng)通信時,服務(wù)器端與客戶端具有一對多的特點(diǎn)。因此,多個物聯(lián)網(wǎng)驅(qū)鳥器可以同時與服務(wù)器間建立通信,當(dāng)識別害鳥時可以同時工作,增加驅(qū)鳥器之間的協(xié)同工作能力?;谟嬎銠C(jī)視覺與物聯(lián)網(wǎng)的驅(qū)鳥器具體工作示意圖如圖2所示。
圖2 基于計算機(jī)視覺與物聯(lián)網(wǎng)的驅(qū)鳥器工作示意圖
選用大華P40A2-WT攝像機(jī)作為驅(qū)鳥器的視頻輸入,使用樂橙APP對其配網(wǎng),記錄設(shè)備IP地址與端口號。服務(wù)器端的目標(biāo)識別算法為YOLOv5神經(jīng)網(wǎng)絡(luò)框架,它將目標(biāo)檢測問題轉(zhuǎn)變?yōu)閿?shù)學(xué)回歸問題。相較于SSD、RCNN、FasterRCNN等算法,YOLOv5具有明顯的速度和精度優(yōu)勢。圖3為YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)圖,主要包括輸入層(input)、骨干網(wǎng)絡(luò)(backbone)、頸部網(wǎng)絡(luò)(neck)和檢測頭(head)四部分,支持端到端的檢測[12]。輸入層包含數(shù)據(jù)增強(qiáng)、自適應(yīng)錨框計算和圖片自適應(yīng)縮放三部分。骨干網(wǎng)絡(luò)負(fù)責(zé)圖像特征的提取;頸部網(wǎng)絡(luò)使用FPN+PAN結(jié)構(gòu),接收自上而下的強(qiáng)語義信息和自下而上的強(qiáng)空間信息,負(fù)責(zé)圖像特征的融合;檢測層根據(jù)損失函數(shù)(loss)估算檢測目標(biāo)矩形框的識別損失值,對目標(biāo)進(jìn)行定位和識別。
圖3 YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)圖
將加州理工學(xué)院發(fā)布的CUB200-2011鳥類數(shù)據(jù)集、阿里云天池實驗室的bird species classification_datasets鳥類數(shù)據(jù)集組合成新的鳥類數(shù)據(jù)集,對YOLOv5訓(xùn)練。該數(shù)據(jù)集中的部分圖片如圖4所示,數(shù)據(jù)集中包含多種不同種類的鳥類照片,且鳥類姿態(tài)、環(huán)境、光照均有差異。對數(shù)據(jù)集中的所有圖片使用雙邊濾波、改變亮度等數(shù)據(jù)增強(qiáng)方法,增強(qiáng)模型的泛化能力。
圖4 數(shù)據(jù)集中的部分圖片
預(yù)處理后的圖片導(dǎo)入labelImg中,對圖片中所有鳥類做目標(biāo)標(biāo)記,最終保存為XML格式文件。將所有圖片、XML文件放入YOLOv5相應(yīng)文件夾下,按照9∶1劃分訓(xùn)練集與驗證集,訓(xùn)練批量大小(batchsize)為32,用最小的s網(wǎng)絡(luò)共訓(xùn)練800訓(xùn)練周期(epoch)。
圖5 labelImg標(biāo)記目標(biāo)
為強(qiáng)化YOLOv5目標(biāo)識別算法對于遠(yuǎn)處小目標(biāo)鳥類和復(fù)雜環(huán)境下鳥類的識別能力,對YOLOv5原算法進(jìn)行改進(jìn)。將YOLOv5頸部網(wǎng)絡(luò)中特征融合金字塔結(jié)構(gòu)進(jìn)行修改,在17層C3模塊得到的80×80尺度的特征圖2倍上采樣并與淺層160×160尺度的特征圖融合,充分利用淺層特征圖中的豐富位置信息[13]。同時,使用卷積塊注意力模塊(CBAM)替換網(wǎng)絡(luò)原結(jié)構(gòu)中第1、3層conv模塊,使整個目標(biāo)識別網(wǎng)絡(luò)更關(guān)注于感興趣特征,弱化不相干特征對模型識別鳥類目標(biāo)能力的影響[14]。改進(jìn)后的YOLOv5訓(xùn)練過程Loss如圖6所示。
圖6 YOLOv5訓(xùn)練過程Loss圖
物聯(lián)網(wǎng)模塊選用ESP8266-01s模組,體積小、價格便宜。ESP8266-01s支持三種工作模式,分別為STA、AP、STA/AP,工作電壓5 V,使用LM7812電源穩(wěn)壓模塊為其供電。使用arduino軟件燒錄源程序,工作模式設(shè)置為STA。圖7為搭載ESP8266-01s模組的繼電器,當(dāng)wifi模組收到控制信號時,變換其GPIO0引腳為低電平,繼電器收到低電平信號后觸發(fā)。繼電器在驅(qū)鳥器電路的COM公共端、NO常開端與電源串聯(lián),控制電路通斷。
圖7 ESP8266-01s繼電器
服務(wù)器端調(diào)用Socket庫,并從路由器連接設(shè)備中找到繼電器的IP地址,將其與服務(wù)器IP地址及端口號綁定,實現(xiàn)互相通信。Socket又稱套接字,它的功能函數(shù)是從TCP、UDP兩個傳輸層協(xié)議中抽象出來的,是實現(xiàn)網(wǎng)絡(luò)通信的重要工具[15]。將綁定了通信的Socket代碼嵌入到Y(jié)OLOv5目標(biāo)識別模型的detect.py文件中,即可實現(xiàn)對果園視頻中的鳥類識別并控制繼電器工作。
經(jīng)過800個epoch訓(xùn)練后,YOLOv5的平均精度(AP)達(dá)到92%,權(quán)重文件大小15 MB。用訓(xùn)練集之外的鳥類圖片對訓(xùn)練好的目標(biāo)識別模型測試,識別測試結(jié)果如圖8所示。
圖8 識別測試
改進(jìn)后的YOLOv5算法在面對樹枝遮擋、重合的鳥類時,依然能準(zhǔn)確識別,且單張圖片的預(yù)測時間僅為0.016 ms,滿足實時性要求,兼具識別速度與精度,能夠滿足果園實際使用需求。
經(jīng)過軟硬件的最終調(diào)試,最后實現(xiàn)了計算機(jī)視覺技術(shù)與物聯(lián)網(wǎng)技術(shù)對驅(qū)鳥器的改進(jìn),如圖9所示。服務(wù)器端的代碼開始運(yùn)行時,首先自動接入局域網(wǎng)內(nèi)的所有可接入的物聯(lián)網(wǎng)驅(qū)鳥器,之后開始進(jìn)行鳥類識別和控制。
圖9 物聯(lián)網(wǎng)驅(qū)鳥器接入服務(wù)器
本研究增加了聲波驅(qū)鳥器主動識別果園害鳥的功能,實時性好且識別率高,只有當(dāng)害鳥出現(xiàn)時才會工作,節(jié)約能源且不易被鳥類適應(yīng)。采用ESP8266-01s物聯(lián)網(wǎng)芯片實現(xiàn)局域網(wǎng)內(nèi)與服務(wù)器即時通信,且支持多個驅(qū)鳥器同時接入,增加了驅(qū)鳥器間的協(xié)同工作能力,提高驅(qū)鳥器覆蓋面積和驅(qū)鳥效率。該設(shè)計具有較好的實用性和應(yīng)用前景,能夠滿足實際使用需求。