全世界每年有70多萬人死于蚊蟲叮咬。這是世界上每年謀殺案數量的2倍多。在這方面,發明新的更有效的防蚊方法是必要的。本文首次利用機器視覺和1w激光對蚊蟲進行了綜合研究。用樹莓皮研制了激光裝置,用電流計改變激光的方向。我們開發了一個實時跟蹤蚊子的程序。探討了利用深度神經網絡、Haar級聯、機器學習等方法進行蚊類識別的可能性。詳細研究了圖像中蚊子的分類問題。提出了一種基于微控制器實現該裝置的建議,以供以后作為無人機的一部分使用。田間任何有害昆蟲都可以作為防治對象。
研究中使用的設備:
-???Raspberry Pi 3型號B+,Broadcom BCM2837B0,帶有64位四核處理器(ARM
Cortex-A53),頻率1.4ghz;
-???Pi攝像機,索尼IMX219 Exmor;
-???電流計,速度-20 kps;
-???功率激光器-1w,波長-450nm;
蚊子的大小可以從1毫米到5毫米不等,這是檢測和檢索蚊子坐標方法的主要標準。用超聲波監測蚊子的位置時,需要在不同的地方使用多個傳感器,并對它們的信息進行處理來計算位置,理論上只適合檢測一只蚊子,但如果有多只蚊子,裝置就不能正常工作。蚊子冷血引起的體溫和環境溫度一樣。由于熱成像儀的分辨率非常高,蚊子的溫度與背景相差不大,大約為0.1 C.在開闊區域工作時,聲納的使用有幾個困難,在那里必須使用窄波束和窄輻射模式的聲納。
經過分析,在本研究中,決定使用攝像機來探測和確定蚊子的坐標。攝像機檢測到蚊子后,為了增加激光受影響的可能性,必須提前預測蚊子的位置(超過0.2秒)。因此,有必要研究影響蚊蟲飛行行為的因素。
Syed等人[12]描述了蚊子對氣味的影響。Cortez等人[13]提出了蚊子飛行公式,這些公式是在考慮二氧化碳存在的情況下計算出來的。蚊子的速度是由一個確定的公式決定的:
s=Smax–(Smax-Smin)*F(b,b0) ?(1)
式中,Smax,Smin–蚊子的最大和最小速度,F是取值在0和1之間的斜坡函數。
在運行中,每△T時間單位更新一次每只蚊子的飛行方向和速度。蚊子的更新位置通過以下公式計算:
= =?(?)??+??? ? ? ?(2)
式中(xn,yn)-蚊子在時間步長n處的位置。數字d是在跟蹤和跟蹤之間變化的方向向量,V-風速。
考慮到借助攝像機檢測蚊子,對其進行跟蹤,并利用數學公式預測其進一步飛行,從而提高了陽性控制的概率。
利用預先訓練好的深度學習網絡對覆盆子皮進行蚊類監測,初步考慮采用深度學習方法實施。但是由于Raspberry Pi 3(1 GB)上的RAM有限,甚至Raspberry Pi 4(4 GB)的最大配置,以及1.5 Ghz的低處理器速度,使用深度神經網絡幾乎是不可能的(ResNet>100 MB,AlexNet>200 MB)。在嘗試使用擠壓網時,使用1×1和3×3卷積的新用法,我們成功地獲得了一個重量為5mb的模型,但是對于所需對象的存在的圖像處理結果大約是1秒。
用R-CNN、更快的R-CNN、YoloV3、4、5、RetinaNet進行實時檢測在識別速度上也存在同樣的問題。解決方案可能是使用nvidiajetsontx1和TX2這兩個計算神經網絡的特殊平臺。主要缺點是成本高。因此,我們關注可以在Raspberry PI上實現的方法,它允許您創建一個經濟緊湊的設備。幀間差分、背景差分和光流場分析是檢測運動目標最常用的方法之一。Barros等人[14]詳細介紹了這些方法的優缺點。
使用Hara級聯,你可以訓練一個模型來跟蹤一個物體,精確度很大程度上取決于訓練模型所用的照片數量。在發現的案例中,450張有蚊子的照片被用作陽性例子,500張照片被用作陰性例子。使用cv2.cvtColor函數按顏色檢測蚊子。此函數獲取原始圖像并變換顏色空間。在我們的例子中,HSV和RGB顏色空間被考慮。這種方法更便于實驗室測試,可以在蚊子和背景之間形成鮮明的色彩對比,研究蚊子的運動動態,測試預測蚊子飛行的功能。在自然生境中,由于顏色的多樣性,該方法的有效性接近于0。相機的大焦距并不能改善這種情況,因為蚊子本身沒有一個單一的色域,這意味著在程序中搜索時,它需要擴大顏色范圍。最后,它增加了噪音。
在高分辨率相機上使用類似光流的幀差可以跟蹤蚊子的飛行。在這種情況下,由于可見運動的圖像表示兩個圖像之間的每個點的偏移,因此在這種情況下,Hara級聯中存在的所有顏色噪聲和噪聲都無關緊要。這種方法的缺點是無法識別蚊子,因為在這種情況下,標準僅是蚊子的大小、運動的位移和靜態圖像的分析。在這種情況下,一個攝像頭應該覆蓋360度的半徑,因為攝像頭的恒定動態使得無法使用這些方法。
視頻中連續幀中對象在線位置的定義稱為跟蹤。在OpenCV庫中,TrackerCSRT,TrackerKCF,TrackerBoosting,TrackerMIL,TrackerTLD,TrackerMedianFlow,TrackerMOSSE。圖書館開發人員的網站上提供了相關說明。我們已經檢查了所有參數。最好使用-tracker=cv2.TrackerCSRT\u create。跟蹤的優點是比檢測速度快。因為當跟蹤前一幀中檢測到的對象時,程序知道初始數據——對象的外觀、位置、速度和移動方向。圖1顯示了用各種方法追蹤蚊子的情況,適用于2-4毫米大小的蚊子。
? ? ? ??
?
?
a、b、c
???
?
d、e、f
???????????????????????????????????
圖1。使用OpenCV跟蹤蚊子:a–跟蹤蚊子
cv2.TrackerCSRT\u create(),b–Hara cascade,c–彩色跟蹤,d–彩色跟蹤未成功,e–光流,f–幀差
?
圖1.d顯示了所有追蹤蚊子的方法都存在問題的情況,因為隨著飛行路徑的急劇變化,攝像機的速度不足以確定蚊子的形狀。因此,這一刻所有的方法都從視野中失去了蚊子。圖1.e顯示蚊子和許多噪聲的光學方法。
使用圖像預處理功能可以顯著提高機器視覺圖像的可讀性。在圖2中,通過具有不同參數的閾值函數OpencV進行光處理。
?
圖2通過閾值函數OpencV進行照片處理的結果
?
圖像數據可以用于分類問題,筆者利用卷積神經網絡獲得了-95%的分類精度。為了分類,建立了卷積神經網絡(CNN)。在第二次和第四次卷積之后,它由8層卷積\u 2D和MaxPooling2D組成。在除輸出完全連接層以外的所有層上,使用ReLU激活功能,最后一級使用softmax。為了簡化我們的模型,在每個子樣本層和第一個完全鏈接層之后使用了一個退出層。
該網絡是在一臺裝有AMD ryzen53600處理器和6gbgb的GTX1060圖形卡的固定計算機上訓練的。所得結果使我們可以得出結論,就分類而言,在圖像中找到蚊子并計算其精確坐標并不困難,但需要時間——超過1秒。分類有助于消滅蚊子,因為在這種情況下有足夠的時間,蚊子不會移動。但在這項研究中,在動力學上中和蚊子的任務是確定的。
利用立體視覺OpenCV函數來確定與物體的距離。同時,深度值與位移像素成反比,以及視差與蚊子顯示深度的關系,如圖3所示。
?
圖3。相機的布局:d-一個稱為視差的值,Z-到物體的深度或距離,T-相機之間的距離,f-相機之間焦距的系數。
攝像機和物體之間的關系由以下公式描述:
(T-d)/(Z-f)=T/Z(3)
?
三。實驗研究
為了進行實驗研究,我們開發了下一個安裝裝置,如圖4所示。
?????? ?
?
?
圖4. 激光裝置:1-攝像機,2-電流計,3-覆盆子PI3,4-激光測距儀,5-激光器,6-電源,7-電機驅動器,8-電子信號處理板,9-帶蚊子的盒子
?
裝置的工作原理如圖5所示。
?
?
?
圖5。實驗方案:1盒蚊蟲,2-pi攝像機,3-Raspberry-PI3,4-激光,5-電流計,6-激光束
?
Raspberry PI 3 B+單板計算機,處理來自視頻的數字信號,確定物體的位置,并將數字信號傳輸到模擬板-3,在模擬板-3中,數字-模擬轉換器將信號轉換為0-5V的范圍。接下來,使用帶運算放大器的板,我們得到雙極電壓正負5五、 它用電流計-4的馬達驅動電路板,信號從那里傳到電流計-7。電流計在鏡子的幫助下改變激光-6的方向。系統由一個電源裝置-5供電。攝像機2確定到物體的距離。
與蚊子的拳擊距離激光系統300毫米。攝像機找到蚊子并將數據傳輸到電流計,電流計將鏡子放置在正確的位置,然后激光器打開。
算法工作裝置如圖6所示。
圖6 算法工作裝置
?
讀數取平均值;平均值取自陣列中180個不同樣本的讀數
使用各種OpenCV函數的實驗研究結果如表1所示。
表1. 實驗研究結果
搜索方法 |
蚊子的坐標,X,Y,mm |
平均檢測時間(秒) |
跟蹤成功 , % |
用激光中和,%。用預測公式 |
用激光中和,%。沒有預測公式。 |
擊中激光脈沖后存活- 0.5秒,% |
按顏色 |
從2,15到15,20 |
0,3?? |
65? |
13? |
10? |
55? |
通過跟蹤 |
從0,18到10,12 |
0,15? |
76? |
15? |
13? |
56? |
哈爾瀑布 |
從13,0到10,20 |
1? |
70? |
8? |
8? |
50? |
幀差 |
從0,18到20,20 |
0,1? |
62? |
3? |
5? |
75? |
光流 |
從0,0到 20,20 |
~ |
~ |
0? |
0? |
~ |
?
本文所研制的樣機作用范圍有限。但與此同時,這項工作的結果證明了使用激光消滅蚊子的可能性。今后,要提高激光的毀傷能力,就必須提高激光作業的精度。
為了用Python語言實現跟蹤,編寫了各種算法,既可以跟蹤一只蚊子,也可以使用多線程函數,還可以使用陣列將蚊子位置的數據傳輸到電流計。實驗的成功可以通過使用更強大的激光來提高,這將使得在一秒鐘內消滅2只以上的蚊子成為可能。考慮到電流計的速度,它允許你在幾秒鐘內改變千分之一的位置,我們的速度被限制在消滅蚊子只由激光功率和中央處理器的功率。同時追蹤蚊子的數量取決于處理器的處理能力。
?
4討論和結論
限制使用激光技術消滅蚊子的因素之一是允許的病變面積小。分析了利用長焦鏡頭監測蚊蟲位置的可能性。作為激光裝置的一部分,使用長焦鏡頭和伺服電機沿z軸移動可以顯著增加滅蚊面積。為了調節到蚊子的不同距離,我們使用了-Esp8266,從而在帶有蚊子和音頻傳感器的盒子之間以及帶有覆盆子pi3的盒子之間實現了具有標準ieee802.11連接的WI-FI。蚊子飛行監控的距離取決于長焦鏡頭的分辨率。
已開發裝置的一個有希望的發展方向是使用STM32系列的STMicroelectronics微控制器。假設在X-CUBE-AI中,AI有一個STM32CubeMX的擴展包。這種擴展可以在不同的深度學習框架下運行,如Caffe、Keras、TensorFlow、Caffe、ConvNetJs等。因此,可以在靜止的計算機上訓練神經網絡,并且可以在GPU上進行計算。集成后使用一個優化的庫到一個32位微控制器STM32。
同時,使用微控制器代替單板計算機將顯著降低幾瓦的功耗。值得考慮的是各種編程語言,例如,C語言上的程序比python語言效率更高。
作為電機的驅動器,建議使用基于SMD組件的驅動器。例如,與可充電電池一樣,Thunder Power Adrenaline重量不超過179.69g,容量為1100mAh,這將大大縮小設備的尺寸,并將其重量降至450克。
最終是什么提高了設備的效率,因為它將有可能使用自主飛機的設備。現在許多公司專門生產一種能承受重負,能遠距離飛行而不充電的飛機。這些工作的結果將在隨后的研究中充分披露。
今后必須使用帶聚焦的激光器。在本研究中,由于激光與滅蚊盒之間的距離很小,預先配置的激光焦點沒有起到很大的作用,因為滅蚊盒的寬度是70mm。在視圖中,盒子近側的損傷面積比遠側的蚊蟲損傷面積大2%。但這可能是一個普遍的錯誤,在本研究中,我們不側重于此。
建議考慮更換用于證明能夠在相當長距離內消滅蚊子的音頻傳感器。作為一種用于確定距離的設備,可以使用具有高數據速率的激光測距儀,其中一個接口使用SPI。由于反射鏡可以在幾毫秒內改變位置,因此從技術實現上用激光測距儀進行監測并不困難。
由于蚊子的飛行速度為每秒1米,隨著距離從15米增加,伺服電機沿z軸的旋轉速度對結果影響很大。有鑒于此,建議使用的算法是這樣實現的:識別后,蚊子被分配編號,如果蚊子已經離開相機的觀察區域,則使用數學模型計算其坐標,并將激光焦點轉移到計算出的坐標。
在這種情況下,這將大大增加時間。否則,由于蚊子離開觀察區,為了確定準確的位置,必須在沿z軸轉動后再次處理來自相機的整個圖片,這從時間上來說是非常昂貴的。
使用神經網絡來預測蚊子的位置將導致安裝額外的微控制器,這將導致設備質量和電能消耗增加2倍。
在這項研究中,使用帶有強大激光的電流計來中和蚊子的想法被首次實現。該系統每秒能中和2只蚊子,而且效果很容易改善。實驗證明了用激光消滅蚊子的可行性。開發了一種用電流計改變激光方向的激光裝置。已經開發了一個實時監測蚊子的程序。給出了計算結果和實驗研究結果。實驗研究了各種滅蚊技術,并選擇了在樹莓PI庫OpenCV中使用的滅蚊最佳方案,該庫具有cv2.TrackerCSRT\u createm功能。
參考鏈接:(可能需要翻出去)
[1]https://www.preprints.org/manuscript/202101.0412/v1
[2]https://news.ycombinator.com/item?id=26376376
[3]https://www.youtube.com/watch?v=BKm8FolQ7jw