熊棣文,孔文斌,馮 洋
(1 中國科學院重慶綠色智能技術(shù)研究院,重慶,400714;2 重慶市農(nóng)業(yè)技術(shù)推廣總站,重慶,401121)
近年來,隨著我國城鎮(zhèn)化進展不斷加快,農(nóng)村勞動力流失愈發(fā)嚴重,能代替人力的智能農(nóng)機裝備需求旺盛,國家也對農(nóng)機裝備智能化愈發(fā)重視,多次在中央一號文件中強調(diào)加快推進農(nóng)機智能化與智慧農(nóng)業(yè)以及相關(guān)領(lǐng)域的研究,同時先后出臺了《十三五農(nóng)業(yè)農(nóng)村信息化發(fā)展規(guī)劃》《關(guān)于推進農(nóng)業(yè)農(nóng)村大數(shù)據(jù)發(fā)展的實施意見》《農(nóng)機裝備發(fā)展行動計劃(2016—2025)》等中央文件推進農(nóng)機裝備智能化領(lǐng)域的發(fā)展,并將其納入《中國制造2025》國家戰(zhàn)略的重點內(nèi)容。目前,已有不少智能化技術(shù)在農(nóng)業(yè)領(lǐng)域開展了研究與應用,取得了振奮人心的成果。但是,在果實無人采摘領(lǐng)域,尤其是生長位置隨機、果實生長局部空間復雜度高的樹生水果的無人采摘領(lǐng)域,尚未見成熟的成果與應用。
柑桔作為我國第一大水果,是我國廣大西南山區(qū)鄉(xiāng)村的重要經(jīng)濟作物,也是鄉(xiāng)村振興的支柱產(chǎn)業(yè)。目前,正受到勞動力緊缺、勞動力成本飆升等問題的強烈沖擊,急需智能化農(nóng)機裝備代替人工勞動力。在柑桔生產(chǎn)環(huán)節(jié),果實采摘有較為嚴格的時限且用工密度大,勞動力需求最大,受勞動力緊缺的沖擊也最嚴重,對通過智能化技術(shù)代替人工的需求更加急切。要實現(xiàn)柑桔果實的無人采摘,前提是對在樹柑桔果實的精準快速識別與定位。目前,已有部分研究人員注意到這一需求,開展了相關(guān)研究并取得了一定的效果。我們對這些研究進行了整理,并分析了它們的技術(shù)路徑及其在實際應用中的優(yōu)缺點。同時,我們也對可用于在樹柑桔果實識別與定位的新技術(shù)進行了探索、分析與總結(jié),發(fā)現(xiàn)基于點云數(shù)據(jù)的目標識別與定位技術(shù)在本領(lǐng)域具有良好研究價值與應用前景,因此,也對該技術(shù)進行說明,并探討其用于在樹柑桔果實識別與定位的技術(shù)路徑。
對在樹柑桔果實的識別,大多數(shù)研究是通過對二維圖像數(shù)據(jù)進行處理而實現(xiàn)。處理手段主要有兩種:一種是基于較為傳統(tǒng)的圖像處理算法,通過對圖像中不同顏色通道的色彩數(shù)據(jù)進行計算,基于成熟柑桔果實與枝葉顏色不同的特點,判斷圖像中柑桔果實的邊界,從而實現(xiàn)對柑桔果實的識別;另一種則是通過最近快速發(fā)展的神經(jīng)網(wǎng)絡(luò)與深度學習技術(shù),對圖像中柑桔果實的顏色、形狀、邊界等可用于識別的特征進行提取與學習,從而對柑桔果實進行識別。得益于卷積神經(jīng)網(wǎng)絡(luò)與深度學習技術(shù)的快速發(fā)展,在近期發(fā)表的研究成果多采用此種方法與傳統(tǒng)圖像處理技術(shù)相結(jié)合,取得了更為優(yōu)秀的效果。
文獻[1]中采用了基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)的DARKNET19網(wǎng)絡(luò)用于提取柑桔果樹圖像的特征,然后通過區(qū)域生成網(wǎng)絡(luò)模塊(Regionproposal network,RPN)和預測框特征提取分類模塊基于提取的圖像特征對圖像進行分割,確定柑桔果實在圖像中的位置,并用方框進行標記。該方法通過多重分割的方法和大量的包含多種干擾的果樹圖像數(shù)據(jù)取得了較好的在樹柑桔果實識別準確率,但文中缺乏對果實的空間定位進行研究。
文獻[2-4]都是基于雙目立體視覺系統(tǒng)對柑桔果實進行識別與定位。此種方法首先通過傳統(tǒng)圖像處理技術(shù)在柑桔圖像的不同色彩空間中基于顏色特征對柑桔果實區(qū)域進行初步識別,然后通過雙目視覺系統(tǒng)同時采集的2幅圖像中對應點的位置差計算柑桔果實在空間中的坐標。另外,雙目視覺系統(tǒng)從不同角度同時采集的2幅圖像數(shù)據(jù)可用于分辨被部分遮擋或重疊的柑桔果實。但此種方法是通過數(shù)學計算求取果實坐標,對雙目視覺系統(tǒng)自身參數(shù)的準確性有很高要求,并且在果實識別方面?zhèn)鹘y(tǒng)的圖像處理技術(shù)在處理不同光照條件下的柑桔果樹圖像時識別準確率波動較大,缺乏穩(wěn)定性。
文獻[5]將卷積神經(jīng)網(wǎng)絡(luò)與雙目視覺系統(tǒng)進行了結(jié)合,柑桔果實識別準確率為86%左右,采摘成功率80%左右,其效果仍有待提升。
此外,對相似領(lǐng)域(類球型果實識別與定位)的研究進行整理后發(fā)現(xiàn),目前在果實識別方面效果較好的多采用了基于Faster Region-CNN算法的方法。該算法可快速識別出圖像數(shù)據(jù)中包含哪些目標并給出目標在圖像中的區(qū)域與置信概率(即該區(qū)域中物體為識別出目標的概率)[6]。文獻[7]在Faster Region-CNN的基礎(chǔ)上提出了一種名為DeepFruits的算法,該算法首先同時采集農(nóng)作物的彩色(RGB)圖像與近紅外(NIR)圖像,然后分別通過Faster Region-CNN算法識別圖像中包含的物體,并對識別結(jié)果進行概率上的融合,最終得到識別結(jié)果,此算法在實際測試中對不同種類的農(nóng)產(chǎn)品均取得了較高的識別準確率。
文獻[8]提出了一種在利用Faster Region-CNN進行農(nóng)產(chǎn)品識別的基礎(chǔ)上應用對極幾何(epipolar geometry)理論進行農(nóng)產(chǎn)品空間坐標定位的方法:通過將相機進行平移后采集同一農(nóng)作物的兩張不同角度的圖片,利用Faster Region-CNN對兩張圖片中的農(nóng)產(chǎn)品進行識別并一一對應,然后應用對極幾何求得圖片中農(nóng)產(chǎn)品空間坐標的方法。但因采集圖像時相機移動不僅降低效率,且會受到諸如定位誤差、農(nóng)產(chǎn)品中心點識別誤差、相機抖動等因素干擾,實際應用中定位的準確性難以保證。
經(jīng)過對上述研究成果的分析,可發(fā)現(xiàn)無人化柑桔果實采摘技術(shù)中最為關(guān)鍵的一環(huán)就是對樹冠中被枝葉遮擋的果實進行準確的識別及空間定位。目前,多數(shù)研究采用了基于傳統(tǒng)二維圖像進行分析進而實現(xiàn)對柑桔果實的識別與定位[9]的技術(shù)路徑。在實際果園環(huán)境中,這一技術(shù)路徑對柑桔果實的識別與定位存在幾個難點:第一,果園實際環(huán)境中,存在光照條件、枝葉遮擋、果實相互緊貼等高隨機性因素,導致采集的二維圖像中果實形狀的完整性和果實表面顏色的一致性受到影響,使得圖像分析算法難以將果實和背景進行準確區(qū)分,進而影響到最終的果實識別準確率;第二,基于二維圖像的目標識別技術(shù)缺乏對目標進行空間定位的能力,因為二維圖像無法保存圖像區(qū)域的空間信息,無法直接對識別到的農(nóng)產(chǎn)品進行定位,需要利用其他手段進行輔助定位[10]。因此,目前對柑桔果實的精準識別與定位仍然是柑桔果實無人采摘技術(shù)的一大難點。
如上所述,單純基于圖像的目標識別技術(shù)在柑桔果實識別與定位領(lǐng)域的應用主要有2大問題:一是,果園環(huán)境中采集的圖像數(shù)據(jù)因光影、遮擋情況對柑桔果實識別算法造成了干擾;二是,難以直接通過二維圖像對成像空間中果實的空間坐標進行計算。如果有一種數(shù)據(jù)能解決上述問題,則可大幅促進柑桔果實無人采摘技術(shù)的發(fā)展。我們對現(xiàn)有技術(shù)進行分析后發(fā)現(xiàn),目前在無人駕駛領(lǐng)域發(fā)展迅速的點云數(shù)據(jù)與基于其的目標識別算法具有良好前景。
點云數(shù)據(jù)是一個包含多個空間中數(shù)據(jù)點的集合,每個數(shù)據(jù)點包含了該點在某一空間坐標系中的坐標[通常以(x,y,z)的形式],以及可能的該點本身具有的色彩(RGB數(shù)值)、反射強度(灰度數(shù)值)等數(shù)據(jù)。點云數(shù)據(jù)中的每個數(shù)據(jù)點相對獨立,但作為整體可表示點云數(shù)據(jù)采集空間(或成像空間)中包含的所有物體的表面。
點云數(shù)據(jù)采集,主要通過計算成像空間中各個物體表面上不同數(shù)據(jù)采集點到采集裝置的距離、角度等數(shù)據(jù),變換得到基于采集裝置坐標的數(shù)據(jù)采集點在成像空間中的坐標。隨著點云數(shù)據(jù)采集裝置的發(fā)展,現(xiàn)在多與傳統(tǒng)圖像采集裝置結(jié)合,為每個數(shù)據(jù)點增加了該點的色彩或灰度等數(shù)據(jù),進一步增加了點云數(shù)據(jù)的使用范圍。
隨著便攜式點云數(shù)據(jù)采集裝置(如立體視覺攝像機等)的普及,越來越多的研究人員開始研究基于點云數(shù)據(jù)的目標識別技術(shù),相關(guān)領(lǐng)域的科研競賽,如SHREC[11]等,也開始引起研究者的注意,參賽人員逐年增加,并形成了一批諸如ShapeNet[12]等擁有大量三維點云模型的公共數(shù)據(jù)倉庫。基于點云數(shù)據(jù)的目標識別是通過對點云數(shù)據(jù)中各點所表示的空間結(jié)構(gòu)信息進行提取進而實現(xiàn)對物體的識別。總的來說,此類識別算法的核心思路是對不同物體的點云數(shù)據(jù)所表征的空間特征進行提取然后通過分類器對待測點云數(shù)據(jù)中的不同點數(shù)據(jù)集合進行識別。
較為早期的方法是將點云數(shù)據(jù)轉(zhuǎn)換成三維模型或體素(voxel)模型再利用神經(jīng)網(wǎng)絡(luò)進行目標識別,如3DShapeNets[13]、VoxNet[14]、Subvolume[15]等,轉(zhuǎn)換后的點云數(shù)據(jù)從無序的數(shù)據(jù)集合輸入變成了有序的向量/矩陣輸入,大幅降低了數(shù)據(jù)點的不同排序為識別結(jié)果帶來的干擾,MVCNN(multi-view CNN)[16]在此之上更進一步,將上述三維模型渲染成多個角度的二維圖片再利用CNN進行識別,其對單個目標識別的結(jié)果相當優(yōu)秀。但上述算法的識別分辨率受到數(shù)據(jù)稀疏度和計算能力的限制,且應用于復雜背景中的場景分割時準確率下降顯著,因此文獻[17]提出了一種基于八叉樹(octree)的目標識別方法O-CNN(Octree-based CNN),利用八叉樹對物體的體素模型進行存儲并作為輸入數(shù)據(jù),然后利用CNN進行識別,此方法部分降低了體素模型在計算過程中的數(shù)據(jù)稀疏度,但因八叉樹從下往上分辨率逐漸降低的特點,識別準確率有所降低。文獻[18]則進一步提出了一種自適應八叉樹體素模型表示方法(Adaptive O-CNN),能根據(jù)目標識別中三維結(jié)構(gòu)特征與物體本身結(jié)構(gòu)的誤差進行自適應模型分辨率升降,部分解決了O-CNN因分辨率問題而下降的目標識別準確率。
因為根據(jù)轉(zhuǎn)換后的點云數(shù)據(jù)進行目標識別在準確性方面具有一定的缺陷,有研究者提出了一種新的方案:直接將點云數(shù)據(jù)作為輸入通過深度學習提取其全局特征進而對物體進行識別的算法研究。這開啟了基于點云數(shù)據(jù)的目標識別新的研究方向。如:斯坦福大學的Qi等提出的PointNet[19]算法,該算法首先利用統(tǒng)一的多層感知機網(wǎng)絡(luò)(MLP,Multi-layer perceptron network)對每個點數(shù)據(jù)的特征(三維坐標值)進行變換得到新的特征,然后通過一個對稱函數(shù)(symmetric function)對所有新特征進擬合,最終得到物體對應的點云數(shù)據(jù)的全局特征,最后通過分類器進行目標識別或場景分割。相對于早期的三維轉(zhuǎn)換方法,此方法對物體的結(jié)構(gòu)特征保存更為準確,因此在較為復雜的場景下可得到更高的識別準確率。后續(xù)Qi等[20]更進一步提出了PointNet的層次化應用結(jié)構(gòu),被稱為PointNet++,通過對局部點云數(shù)據(jù)應用PointNet,實現(xiàn)對局部特征的提取,以實現(xiàn)物體部位標記。SO-Net[21]也提出了類似的結(jié)構(gòu),提高了在場景分割方面的應用效果。
PointNet算法給基于點云數(shù)據(jù)的目標識別領(lǐng)域帶來了新思路,吸引了大量研究人員在此領(lǐng)域開展研究。文獻[22]針對PointNet及類似算法對經(jīng)剛性變換(旋轉(zhuǎn)、縮放、平移)后的物體點云數(shù)據(jù)識別效果不佳的問題,提出了一種新的算法——3DTI-Net。此算法在PointNet的特征提取方法基礎(chǔ)上加入了基于無向圖的點云數(shù)據(jù)局部三維結(jié)構(gòu)表示方法,并通過基于圖卷積網(wǎng)絡(luò)(graph convolution network)對該無向圖進行特征提?。簩⒚總€數(shù)據(jù)點作為節(jié)點,將點兩兩連接作為邊,每條邊的權(quán)重為其連接兩點的歐氏距離。因此,經(jīng)過圖卷積網(wǎng)絡(luò)提取后的特征可在一定程度上表示物體的三維結(jié)構(gòu),結(jié)合PointNet算法提取的物體全局特征,可提高對物體的剛性變換結(jié)果的識別準確率。
文獻[23]提出了一種利用徑向基函數(shù)(RBF)的局部空間特征表示方法,利用RBF僅能作用于臨近的點數(shù)據(jù)的特點,通過在深度學習模型中加入含有多個RBF核心的RBF層對點云數(shù)據(jù)的局部空間特征進行提取。但此方法性能依賴于對算法的優(yōu)化,對同一物體設(shè)置的核函數(shù)、核尺寸以及中心點等參數(shù)不同可能導致準確率在±(10%~20%)的范圍內(nèi)浮動。
文獻[24]將Region-CNN的思想與PointNet進行了結(jié)合,提出了一種名為Generative Shape Proposal Network(GSPN)的算法用于場景分割。其核心思想是通過學習點云數(shù)據(jù)中某個點數(shù)據(jù)屬于某個自然物體(類別)的條件概率分布,然后根據(jù)分布對點云數(shù)據(jù)中某個點及其鄰居進行迭代式采樣,生成點云數(shù)據(jù)中該部分點所屬的物體(類別)的最大擬合,進而實現(xiàn)場景分割。此方法的場景分割過程實際上可以看作是從場景中某個點開始的一種物體生成過程,故被稱作生成式(generative)。
文獻[25]則借鑒了PointNet中學習點云數(shù)據(jù)特征表示的思路:首先根據(jù)輸入的點云數(shù)據(jù)學習一種χ變換;之后利用該變換對點云數(shù)據(jù)輸入中每個點的相關(guān)特征賦予權(quán)值并對點云數(shù)據(jù)進行排序;然后通過CNN算法進行特征提?。蛔詈筮M行分類。該算法可更準確地識別點云數(shù)據(jù)中的局部結(jié)構(gòu)。
基于點云數(shù)據(jù)的目標識別與場景分割技術(shù)目前已出現(xiàn)了相當數(shù)量的成果。因點云數(shù)據(jù)可保存空間信息的特點,其在目標識別、場景分割等領(lǐng)域具有一定的優(yōu)勢,正好滿足對柑桔果實的識別與定位的關(guān)鍵技術(shù)需求。目前,在農(nóng)產(chǎn)品識別領(lǐng)域已出現(xiàn)了一些相關(guān)的研究,但綜合現(xiàn)有的一些成果來看,還存在較大的研究空間。
文獻[26-27]提出了一種結(jié)合點云數(shù)據(jù)與圖像數(shù)據(jù)的農(nóng)產(chǎn)品識別與定位方法:首先根據(jù)農(nóng)產(chǎn)品的顏色/反射特性與枝葉等表面有較大差距的特點對RGB圖像中的高光區(qū)域進行識別,并求取高光區(qū)域附近像素強度(intensity)變化的梯度向量場;然后根據(jù)梯度向量分布的規(guī)律對RGB圖像以中疑似農(nóng)產(chǎn)品存在的感興趣區(qū)域(ROI,Region of Interest)進行標記,并對應到點云數(shù)據(jù)中;然后通過對點云數(shù)據(jù)中的ROI進行對稱平面識別,最終實現(xiàn)農(nóng)產(chǎn)品的識別以及定位。但是,此方法在試驗中效果并不理想(文獻[26]中的試驗結(jié)果顯示其方法的平均識別正確率55%,平均對每幀數(shù)據(jù)進行處理的時間高達197s),且易受到農(nóng)作物生理特性與環(huán)境光照條件的影響,因此該方法較缺乏應用價值。
文獻[28]提出了與上述技術(shù)路線相反的方法,首先直接對點云數(shù)據(jù)進行對稱平面識別從而得到疑似農(nóng)產(chǎn)品的點云數(shù)據(jù)ROI區(qū)域,然后通過對RGB圖像中對應區(qū)域的顏色進行處理從而實現(xiàn)農(nóng)產(chǎn)品識別。但此方法因點云數(shù)據(jù)的分辨率通常較RGB圖像低,上采樣過程易出現(xiàn)錯誤映射,降低了識別準確率。
文獻[29]提出了另一種思路,先對點云數(shù)據(jù)進行處理再通過RGB圖像進行農(nóng)產(chǎn)品識別與定位:首先將點云數(shù)據(jù)轉(zhuǎn)換為三角網(wǎng)格模型;然后根據(jù)三角網(wǎng)格尺寸,從大到小進行凸面重建;再根據(jù)重建后每個曲面在RGB圖像中的對應區(qū)域的顏色實現(xiàn)農(nóng)產(chǎn)品識別與定位。此方法降低了標記結(jié)果受到的光照條件干擾,并提高了處理速度。不過此種方法在曲面分割時對點云數(shù)據(jù)分辨率要求較高,且易受到噪聲數(shù)據(jù)的干擾,因此在后續(xù)研究中需要考慮如何提高點云數(shù)據(jù)分辨率以及減少噪聲的干擾問題。
文獻[30]提出了先通過全卷積網(wǎng)絡(luò)(FCN,F(xiàn)ully Convolutional Network)對RGB圖像進行ROI標記,然后通過點云數(shù)據(jù)對枝干進行標記,根據(jù)果實僅生長在枝干附近的特點綜合枝干與ROI標記結(jié)果進行果實識別與定位。此方法提供了一種全新的思路,也具有一定的研究前景。
從上述文獻可見,目前的研究尚未將最前沿的點云數(shù)據(jù)處理技術(shù)全面應用。如:上一節(jié)中提到的基于深度學習的點云數(shù)據(jù)識別與場景分割算法尚未見在柑桔果實無人采摘領(lǐng)域有所應用,而這一類算法在室內(nèi)、道路等場景的應用中已取得了優(yōu)秀的成果,能對場景中的各種物體準確識別、定位。因此,我們認為,將基于深度學習的點云數(shù)據(jù)識別與場景分割算法應用于在樹柑桔果實識別與定位領(lǐng)域可以為該領(lǐng)域帶來新的突破。拋磚引玉,這里我們提出一種較為直觀的技術(shù)路徑:直接通過深度學習模型對柑桔果樹的點云數(shù)據(jù)進行處理,因成熟的柑桔果實在顏色與表面形狀等特征上與枝干、葉片差異明顯,深度學習模型能較為準確地提取柑桔果實的特征,進而可以在點云數(shù)據(jù)中將屬于柑桔果實的數(shù)據(jù)點標記出來,形成一個個子集代表識別出的柑桔果實,最后通過對每一個子集中的點進行球面擬合即可得到每個果實的空間坐標。
我們對在樹柑桔果實識別與定位領(lǐng)域目前的發(fā)展情況以及相關(guān)研究方向進行了較為詳細的分析,總結(jié)出了該領(lǐng)域的關(guān)鍵技術(shù)問題:一是實際果園環(huán)境中柑桔果實生長、光照條件等因素隨機性高,限制了對柑桔果實的識別準確率;二是現(xiàn)有技術(shù)缺乏對空間位置的感知能力,需要通過一定的手段對空間進行估算,影響了柑桔果實的定位精度。這些關(guān)鍵問題影響了柑桔果實識別與定位技術(shù)的發(fā)展,進而影響了柑桔果實無人采摘技術(shù)的發(fā)展,阻礙了我國農(nóng)業(yè)信息化、智慧化進程。我們結(jié)合目前的技術(shù)發(fā)展趨勢,對在樹柑桔果實識別與定位領(lǐng)域未來發(fā)展方向進行了展望,發(fā)現(xiàn)基于點云數(shù)據(jù)的目標識別技術(shù)在柑桔果實識別與定位領(lǐng)域具有良好的應用前景,并對其進行詳細的介紹與分析。