張美娜 王 瀟 梁萬杰 曹 靜 張文宇,4
(1.南京農業(yè)大學工學院, 南京 210031; 2.江蘇省農業(yè)科學院農業(yè)信息研究所, 南京 210014;3.南京農業(yè)大學人工智能學院, 南京 210031; 4.江蘇大學農業(yè)工程學院, 鎮(zhèn)江 212013)
我國是設施農業(yè)大國,設施種植面積占世界總面積的85%以上,但與發(fā)達國家相比,我國設施農業(yè)的投入產出比、生產效率、機械化率與現(xiàn)代化管理水平仍然較低[1-4]。溫室遠程監(jiān)控是一種現(xiàn)代化管理手段,依靠多源傳感器、智能裝備、物聯(lián)網(wǎng)以及人機交互等多項技術支撐[5-8],如荷蘭Priva Topcrop Monitor作物監(jiān)測系統(tǒng)、美國Sensaphone系列環(huán)境與網(wǎng)絡監(jiān)控報警系統(tǒng)以及以色列BF-Agritech植物生態(tài)監(jiān)測系統(tǒng)等。近年來,我國規(guī)?;瘻厥颐娣e穩(wěn)步發(fā)展,基本配備有環(huán)境管控系統(tǒng),但多依賴國外進口,受限于封裝的軟件系統(tǒng),溫室內監(jiān)測的數(shù)據(jù)開放和利用不便。
傳統(tǒng)的遠程監(jiān)控端人機交互方式主要依靠鍵盤、鼠標等外設,互動性不強;同時,數(shù)據(jù)展示方式以靜態(tài)文本與監(jiān)控視頻為主,原始數(shù)據(jù)較多而綜合性、分析性、決策性的數(shù)據(jù)較少,缺少數(shù)據(jù)信息與真實世界的交融。國外研究學者開展了相關研究,如KING等[9]開發(fā)了ARVino可視化系統(tǒng),實現(xiàn)了在實景視頻中疊加地理信息系統(tǒng)(Geographic information system,GIS)數(shù)據(jù)與葡萄種植數(shù)據(jù),為葡萄栽培者提供了三維可視化的數(shù)據(jù)與分析。HUUSKONEN等[10]設計了一種增強現(xiàn)實(Augmented reality,AR)系統(tǒng),遠程監(jiān)控端的操作員不僅可以獲得實時可視化信息,還可以通過配套的可穿戴設備控制農機行駛。國內以計算機視覺技術為基礎的人機交互系統(tǒng)在農業(yè)場景中的應用較少。
作物生理、形態(tài)等參數(shù)的獲取首先建立在作物目標識別的基礎上,國內外在該領域的研究主要集中在應用機器學習與深度學習算法從作物圖像中識別目標。KOIRALA等[11]在果實檢測方法綜述中指出深度學習方法優(yōu)于傳統(tǒng)機器學習、神經(jīng)網(wǎng)絡、淺層卷積神經(jīng)網(wǎng)絡算法,果實識別精度普遍達到85%以上。用于目標檢測的深度學習方法主要分為兩階段(2-stage)和單階段(1-stage)檢測算法。兩階段檢測算法包括R-CNN(Region-convolutional neural network)、SPP-NET(Spatial pyramid pooling networks)、Fast R-CNN、Faster R-CNN、R-FCN(Region-fully convolutional network)、Mask R-CNN等。單階段檢測模型算法包括SSD(Single shot multibox detector)、YOLO (You only look once)v1~v5等[12]。相關研究主要以離線采集目標圖像進行識別檢測為主[13-16],極少涉及遠程實時監(jiān)控的場景。同時,新型深度神經(jīng)網(wǎng)絡模型算法仍不斷涌現(xiàn),使其在農業(yè)領域的探索應用不斷拓展。
綜上所述,本文設計一種溫室遠程監(jiān)控系統(tǒng),在遠程監(jiān)控端集成圖像融合算法、人臉識別與手勢識別算法,增強遠程監(jiān)控系統(tǒng)的多類型環(huán)境數(shù)據(jù)可視化與人機交互效果。同時,應用深度學習網(wǎng)絡模型算法,實時、在線識別溫室端監(jiān)控視頻中的番茄目標,以期為管理者提供作物生長信息奠定基礎。
溫室遠程監(jiān)控系統(tǒng)設計需求主要包括:①溫室內通過“機器換人”實現(xiàn)溫室環(huán)境與作物生長監(jiān)測的無人化。②通過遠程監(jiān)控中心能夠可視化溫室內各類型的監(jiān)測數(shù)據(jù)(文本、圖像、視頻等),具有預警提示功能。③安全、互動性強的人機交互系統(tǒng)。針對上述需求設計一種溫室遠程監(jiān)控系統(tǒng),如圖1所示,系統(tǒng)主要由溫室巡檢平臺、通信網(wǎng)絡和遠程監(jiān)控中心3部分組成。
圖1 系統(tǒng)結構示意圖Fig.1 Architecture of system
溫室巡檢平臺以巡檢機器人(松靈SCOUT2.0型)為運動載體,搭載控制器、多源傳感器與通信模塊實現(xiàn)溫室內環(huán)境與作物的動態(tài)監(jiān)測。控制器為PC機,用于機器人本體的運動控制、傳感器數(shù)據(jù)的采集與處理,以及通過通信模塊收發(fā)數(shù)據(jù)。機載多源傳感器主要包括用于巡檢機器人自主導航的激光雷達傳感器(鐳神C16型),用于監(jiān)測作物生長的視覺傳感器(海康威視DS-E12型),用于環(huán)境監(jiān)測的溫、光、濕、氣等傳感器。通信模塊包括PC機無線WiFi模塊,可采集溫室內布置的其他傳感器數(shù)據(jù),擴展的移動通信模塊(華為4G LTE模塊)用于將溫室端數(shù)據(jù)傳輸至通信網(wǎng)絡。系統(tǒng)關鍵模塊技術參數(shù)如表1所示。
表1 關鍵模塊技術參數(shù)Tab.1 Technical parameters of key modules
通信網(wǎng)絡用于實現(xiàn)溫室巡檢平臺與遠程監(jiān)控中心之間的數(shù)據(jù)通信。溫室端集成的數(shù)據(jù)通過移動通信網(wǎng)絡傳輸至云端服務器(阿里云輕量型服務器,2 GB內存)存儲與轉發(fā)至遠程監(jiān)控中心。
遠程監(jiān)控中心用于查看溫室內作物與環(huán)境的可視化動態(tài)數(shù)據(jù)。監(jiān)控中心為PC機,用于從云端下載溫室端多源傳感數(shù)據(jù)進行解碼、分析與處理。PC機擴展攝像頭實現(xiàn)人臉識別與手勢交互兩種人機交互方式,用于人員安全登錄管理與監(jiān)控界面顯示數(shù)據(jù)的切換。
軟件系統(tǒng)包括溫室巡檢機器人端軟件與遠程監(jiān)控中心端軟件兩部分,均采用Pycharm集成開發(fā)環(huán)境,以Python為編程語言開發(fā),除了標準庫以外,開發(fā)過程還應用了OpenCV圖像處理庫、mmcv計算機視覺庫以及PyTorch機器學習庫的相關函數(shù)。
軟件系統(tǒng)各功能模塊組成如圖2所示。溫室巡檢機器人端到云服務器端,以及云服務器端到遠程監(jiān)控中心端之間的通信均基于TCP/IP協(xié)議,通過Socket套接字函數(shù)實現(xiàn)。因傳輸?shù)臄?shù)據(jù)類型包括視頻、圖像和文本3種,設置8080、8088、8084服務器端口分別進行傳輸。遠程監(jiān)控中心端接收到數(shù)據(jù)后在人機交互界面顯示與操作,主要包括人臉識別線程、AR數(shù)據(jù)增強顯示線程、番茄識別線程、手勢識別線程以及預警命令線程。完成的人機交互界面如圖3所示。
1.3.1人臉識別算法
人臉識別登錄用于提高系統(tǒng)的安全性??紤]到該功能的使用頻率不高,為縮短研發(fā)過程和降低資源消耗,采用開源的傳統(tǒng)人臉識別算法實現(xiàn)此功能。3種經(jīng)典的人臉識別算法包括特征臉Eigenface、Fisherface以及局部二值模式(Local binary patterns,LBP),其中Eigenface算法的局限性為:待識別圖像中人臉尺寸接近特征臉中人臉的尺寸,且待識別人臉圖像必須為正面人臉圖像;Fisherface算法增加了線性判別分析,對人臉差異的識別效果有所提升,但對光照、人臉姿態(tài)的變化不敏感;LBP算法將人臉圖像分為若干子區(qū)域,并在子區(qū)域內根據(jù)LBP值統(tǒng)計其直方圖,以直方圖作為其判別特征,對光照有明顯的魯棒性[17]。綜上所述,系統(tǒng)以OpenCV庫為支持,采用Haar級聯(lián)算法結合局部二進制模式直方圖(Local binary pattern histogram,LBPH)算法分別實現(xiàn)人臉檢測與有權限管理員人臉識別。
圖2 軟件系統(tǒng)功能框圖Fig.2 Block diagram of software system
圖3 人機交互界面Fig.3 Human-computer interaction interface
首先采用Haar級聯(lián)算法實現(xiàn)人臉檢測,Haar級聯(lián)算法是一種用于在圖像上定位對象的檢測方法,具有識別速度快的優(yōu)點[18]。算法原理概括為:①使用Haar-like特征做檢測。②使用積分圖(Integral image)對Haar特征求值進行加速。③使用AdaBoost算法選擇關鍵特征,進行人臉和非人臉分類。④使用Cascade級聯(lián)把強分類器級聯(lián)到一起,提高準確率。
然后,采用LBPH算法[19]實現(xiàn)管理員人臉識別,算法實現(xiàn)概括為:①對待識別整幅圖像進行LBP編碼。②將圖像分區(qū)并獲取各區(qū)域LBP編碼直方圖,轉換為直方圖矩陣HIST。③計算待識別人臉圖像直方圖矩陣與已訓練好的模型直方圖矩陣之間的距離,若距離差小于設定閾值則判斷為管理員,否則判斷為非管理員。LBPH算法具有不受光照、縮放、旋轉和平移影響的優(yōu)點。
1.3.2手勢識別算法
識別手部并定位手部關鍵點位置用于實現(xiàn)人機交互操作,即界面切換與圖像尺寸縮放。隨著目標檢測技術的發(fā)展,很多學者將傳統(tǒng)基于人工建模方式的手勢識別轉換成目標檢測問題。考慮實時性需求,選擇YOLO系列目標檢測算法,其中,YOLO v3在手勢識別中應用較為廣泛[20-21],為此,本系統(tǒng)采用YOLO v3算法[22]先進行手部識別,通過PyTorch框架實現(xiàn)。識別后的手部圖像將被截取輸入到后續(xù)網(wǎng)絡,進一步提取手部關鍵點信息。
手部關鍵點檢測與面部關鍵點檢測類似,應用面部檢測表現(xiàn)突出的ResNet-50網(wǎng)絡[23]檢測手部21個關鍵點并輸出坐標矩陣。ResNet網(wǎng)絡有效解決了深度神經(jīng)網(wǎng)絡的退化問題,在神經(jīng)網(wǎng)絡發(fā)展史上具有里程碑意義。模型訓練過程中,為解決傳統(tǒng)L2損失函數(shù)對離群值敏感的問題,采用FENG等[23]提出的Wing loss作為損失函數(shù)計算式,為
(1)
其中
D=w(1-ln(1+w/θ))
(2)
式中 wing(x)——Wing loss函數(shù)
w——增大損失函數(shù)的值
|x|——誤差D——常數(shù)
θ——約束非線性區(qū)域曲率
最后,以輸出的食指指尖坐標為圓心繪制(eclipse()函數(shù))動態(tài)圓形加載圖標,同時,用直線連接左右手部候選框中心點坐標(Line()函數(shù)),根據(jù)直線距離的長短控制圖像尺寸。
1.4.1算法模型
遠程監(jiān)控中心端的溫室作物視頻監(jiān)控界面具備作物識別功能,可為作物尺寸、成熟度等生長參數(shù)的進一步提取奠定基礎。農業(yè)環(huán)境復雜,傳統(tǒng)CNN算法通過加深網(wǎng)絡層數(shù)提高圖像理解能力容易出現(xiàn)過擬合,性能提升有限。另一方面,Transformer 作為一種基于注意力的編碼器-解碼器架構,從自然語言處理(NLP)領域拓展至計算機視覺(CV)領域。視覺Transformer架構Swin Transformer在ImageNet、COCO 和 ADE20k 等多個數(shù)據(jù)集上取得了非常優(yōu)異的性能。為此,應用以Swin Transformer[24]為主干網(wǎng)絡提取特征圖,再進入Cascade Mask RCNN[25]后續(xù)網(wǎng)絡進行果實語義分割的網(wǎng)絡模型,從而實現(xiàn)番茄作物識別,模型整體結構示意圖如圖4所示。
圖4 番茄識別網(wǎng)絡模型示意圖Fig.4 Diagram of network model for tomato recognition
Swin Transformer網(wǎng)絡模型主要考慮了視覺信號的特點,解決了傳統(tǒng)Transformer模型多尺度建模與計算量巨大的問題,能夠靈活處理不同尺度的圖像,采用滑動窗口機制,將注意力的計算限制在每個窗口內,因此大大降低了計算復雜度。Swin Transformer網(wǎng)絡模型輸出與典型卷積模型的特征圖分辨率一致,已成為一種基本骨干網(wǎng)絡。這里選用Swin Small為主干網(wǎng),其中Stage 1~4的Block數(shù)量分別為2、2、18、2,維度參數(shù)C為96。
Cascade Mask RCNN主要參考了實例分割主流算法Mask RCNN[26]模型結構,在每個級聯(lián)階段添加一個預測目標掩碼的分支,從而實現(xiàn)更精確的實例分割。主干網(wǎng)獲取的特征圖進入Cascade Mask RCNN后續(xù)的區(qū)域生成網(wǎng)絡(Region proposal network,RPN)和級聯(lián)的檢測網(wǎng)絡分別實現(xiàn)目標識別和定位兩階段任務,通過使用不同的交并比 (Intersection over union,IoU)閾值訓練多個級聯(lián)的檢測器能夠有效提高目標檢測精度。模型中,IoU梯度分別設置為0.5、0.6、0.7。
1.4.2損失函數(shù)
在模型訓練階段采用多種損失函數(shù)結合的方式評估模型。其中,圖4中B0處Bounding Box采用Smooth L1作為損失函數(shù)。分類性能采用交叉熵損失函數(shù)。
Cascade Mask RCNN模型不同IoU梯度下的分類性能和語義分割性能仍然采用交叉熵損失函數(shù)評估;Bounding Box采用GIoU[27]作為損失函數(shù)。
1.4.3遷移學習應用
農業(yè)場景中,精細領域的數(shù)據(jù)集仍處于稀缺狀態(tài),制作大批量的高質量數(shù)據(jù)集所需的時間與人力成本較高,遷移學習是解決樣本不足的有效方法之一。利用官方發(fā)布的coco預訓練模型作為源模型,為后續(xù)番茄數(shù)據(jù)集模型訓練的學習起點,以充分利用源模型的知識基礎。
溫室巡檢機器人端控制器將采集到的環(huán)境傳感器數(shù)據(jù)轉換為字符串并連接為字符串報文進行發(fā)送,主要包括溫室溫度(℃)、溫室相對濕度(%)、光照強度(lx)、二氧化碳濃度、土壤濕度(%)、土壤pH值、病蟲害染病程度(%)、作物健康狀況(健康、不健康)共8類數(shù)據(jù),設置文本數(shù)據(jù)發(fā)送周期為1 h。
視頻數(shù)據(jù)應用OpenCV庫的圖像壓縮函數(shù)imencode()對圖像幀進行處理,轉換為字節(jié)流后傳輸,解決了基于像素訪問進行傳輸數(shù)據(jù)量大的問題,接收端收到數(shù)據(jù)后利用imdecode()函數(shù)進行解壓縮操作。圖像數(shù)據(jù)傳輸與視頻數(shù)據(jù)傳輸方法相同。系統(tǒng)通信試驗結果表明,溫室巡檢機器人發(fā)送端到遠程監(jiān)控中心端之間的通信延遲均在 200 ms 以內。
2.2.1人臉識別試驗
人臉檢測訓練數(shù)據(jù)來源于OpenCV官方訓練的XML文件haarcascade_frontalface_default.xml。同時,在不同環(huán)境拍攝不同表情、不同姿態(tài)管理員面部圖像80幅形成訓練數(shù)據(jù)集,并進行驗證,用20幅管理員面部圖像作為驗證集,識別成功率為90%。
2.2.2手勢識別試驗
手勢識別數(shù)據(jù)集來自TV-Hand中2萬幅手部圖像[28];手部特征點檢測數(shù)據(jù)集來自Large-scale Multiview 3D Hand Pose Dataset 中的5萬幅圖像[29]。YOLO v3與ResNet-50網(wǎng)絡超參設置如表2所示。模型在AMD EPYC 7302 16-Core Processor,GeForce RTX 3090,23 GB顯存,搭載Linux系統(tǒng)的環(huán)境下訓練。Wing loss損失函數(shù)參數(shù)中w和θ分別設置為5和2。
手部識別試驗結果表明,20次不同角度下的單手部識別置信度均大于0.98;同時,20次雙手識別置信度均大于0.96。手部關鍵點檢測的ResNet-50網(wǎng)絡模型,訓練146次的損失函數(shù)變化曲線如圖5所示,損失函數(shù)最終收斂在0.1以下。
經(jīng)手勢識別后,人機交互與圖像尺寸縮放的功能實現(xiàn)如圖6所示。
表2 網(wǎng)絡超參數(shù)設置Tab.2 Network hyperparameter settings
圖5 手勢識別網(wǎng)絡損失函數(shù)變化曲線Fig.5 Loss function curve of gesture recognition network
圖6 手勢識別交互實現(xiàn)Fig.6 Human-computer interaction by gesture
2.3.1數(shù)據(jù)集與超參數(shù)設置
基于溫室巡檢機器人在溫室采集不同角度、不同遮擋情況以及不同成熟度共計1 800幅番茄生長圖像制作數(shù)據(jù)集。首先,采用基于PaddlePaddle的高效圖像分割工具PaddleSeg人工標注圖像;然后將標注后得到VOC格式的json文件經(jīng)算法批量轉換為Lableme格式的coco數(shù)據(jù)集;最后,將標注的番茄果實數(shù)據(jù)集劃分為訓練集、測試集、驗證集,按比例8∶1∶1進行隨機分配。模型同樣在AMD EPYC 7302 16-Core Processor,GeForce RTX 3090,23 GB顯存,搭載Linux系統(tǒng)的環(huán)境下訓練。Cascade Mask RCNN網(wǎng)絡中IoU梯度分別設置為0.5、0.6、0.7;網(wǎng)絡超參數(shù)設置為:單批次圖像數(shù)使用遷移學習算法前為2,使用遷移學習算法后為1,選用Adamw優(yōu)化器,學習率為1×10-5,權重衰減為0.05,預熱學習率為500。使用遷移學習之后將單批次圖像數(shù)的值由原來的2改為1,該超參數(shù)為一次訓練所選取的樣本數(shù),影響模型的優(yōu)化程度和速度,在GPU內存受限的情況下取值較小。
2.3.2遷移學習應用效果分析
使用遷移學習方法前后損失函數(shù)變化曲線如圖7所示,損失值統(tǒng)計如表3所示。
圖7 使用遷移學習前后損失函數(shù)變化曲線Fig.7 Loss functions curves before and after using transfer learning method
在訓練速度方面,由圖7可知,使用遷移學習前后的模型都在迭代15 000次后收斂,但使用遷移學習后的單批次圖像數(shù)調整為1,即花費了更少的訓練時間。由表3可知,使用遷移學習方法后不同IoU閾值下?lián)p失值均小于未使用遷移學習方法的損失值。因此,應用遷移學習方法后,模型在收斂速度和最終收斂的損失值上更優(yōu)。
表3 使用遷移學習前后損失值對比Tab.3 Comparison of loss value before and after using transfer learning method
同時,采用平均精度mask AP(Average precision)評估使用遷移學習前后的模型語義分割性能,mask AP越大,模型效果越好。mask AP計算結果如表4所示。
表4 使用遷移學習前后語義分割的mask AP對比Tab.4 Comparison of mask AP value before and after using transfer learning method %
由表4可知,使用遷移方法后,IoU取0、0.5、0.75時的mask AP提升了7.8、6.4、7.2個百分點,因此,該模型精度優(yōu)于未使用遷移學習方法的模型。番茄實物最終的檢測效果如圖8所示。
圖8 檢測效果Fig.8 Detection results
(1)設計了一種溫室遠程監(jiān)控系統(tǒng)。該系統(tǒng)以巡檢機器人作為傳感器數(shù)據(jù)采集與通信載體將溫室內作物及環(huán)境數(shù)據(jù)發(fā)送至通信模塊;通信系統(tǒng)采用移動通信網(wǎng)絡加云服務器的網(wǎng)絡架構實現(xiàn)溫室端與遠程監(jiān)控中心端的文本、圖像及視頻3種類型數(shù)據(jù)的傳輸。
(2)集成了人臉識別與手部關鍵點識別算法實現(xiàn)遠程監(jiān)控端的人機交互。其中,管理員人臉識別基于Haar級聯(lián)算法與LBPH算法,識別成功率達90%。手部關鍵點識別基于YOLO v3與ResNet-50算法模型,單手部識別置信度均大于0.98,雙手識別置信度均大于0.96;同時,基于提取的食指指尖坐標與左右手部候選框中心點坐標實現(xiàn)了人機交互與圖像尺寸縮放的功能。
(3)應用最新的Swin Small+Cascade Mask RCNN深度學習網(wǎng)絡模型進行遠程視頻中番茄的檢測與語義分割。同時,采用遷移學習方法解決農業(yè)場景數(shù)據(jù)集不足的問題。試驗結果表明,使用遷移學習方法后,模型的收斂速度更快、損失值更低,語義分割精度有所提升,IoU取0、0.5、0.75時的mask AP分別提升了7.8、 6.4、7.2個百分點。