張珉璐,戈振揚
(昆明理工大學現代農業工程學院,云南昆明 650504)
稻田養殖是指利用稻田的淺水環境,輔以人為措施,既種植水稻,又養殖水產品,使稻田內的水資源、雜草資源、水生動物資源、昆蟲,以及其他物質和能源更加充分地被養殖的水生生物利用,并通過所養殖的水生生物的生命活動,達到為稻田除草、除蟲、松土和增肥的目的,獲得稻魚互利雙增收的理想效果[1]。“稻魚共生系統”的內涵(田面種稻、水體養魚、魚糞肥田、魚稻共生、魚糧共存)是把種植業和水產養殖業有機結合起來的立體生態農業生產方式。我國是農業大國,對于水產品和水稻的需求量都很大,使得稻田養殖業的良好發展為經濟增長創造了有利條件,所以稻田養殖具有廣闊的發展前景,深受國家領導人的重視[2]。隨著時代的發展,人們對無公害食品和綠色有機食品的需求量逐漸增多,綠色健康的有機食品受到越來越多人的喜愛[3-4]。但是資源共享存在資源分配不均等問題,很有可能造成糧食減產或者水產品減量等問題[5]。因此,為使稻田內的土地資源、水生動物資源、水資源、植物資源等所有資源都可以被相互充分使用而不構成資源競爭關系,資源達到最合理的利用,測量稻田區域數據顯得尤為重要。如果水稻和水產品占地比例不合理可能會造成水體環境污染、水稻種植面積受擠壓、糧食與水產品減產等問題,不僅造成經濟損失,而且很有可能造成環境不可挽回的破壞。
隨著時代的發展,人們對生活水平要求的提高,稻田養殖以一種生態農業的模式出現在人們的視線中,既可以在省工、省力、省餌料的條件下收獲相當數量的水產品,又可以在不增加投入的情況下促使稻谷增收,具有顯著經濟、社會和生態效益。傳統的區域信息獲取方式有很多,如聲納、紅外、單目和激光等,然而相對于傳統方式,基于雙目立體視覺的地形信息獲取方式,憑借其非接觸、效率高、精度好和成本低等優勢,實現稻田區域信息的采集,將采集到的稻田地形區域數據信息進行分析,從而合理規劃有限的水土資源更大程度地發揮土地的作用,合理計劃飼料投放情況。要避免高浪費低效率、沒有充分挖掘土地資源的潛力實施精準投入、高投入低收益的問題,同時還要避免破壞我們賴以生存的自然環境。該研究擬采用雙目立體視覺技術測量水塘區域面積特征的方法,根據獲取到的深度信息圖像三維重建,從而確定水塘區域的邊長信息,最終估算出水塘的面積,為后期水土資源規劃提供定量的依據。
1.1研究原理隨著計算機科學領域的快速發展,雙目立體視覺測量技術在各行各業得到廣泛的應用[6],也是農業工程學科研究的熱點之一。
雙目視覺系統模擬了人眼及眾多生物的視覺處理方式,利用雙攝像頭從不同角度對同一目標成像,從而獲取視差信息,利用三角測距原理,僅通過計算左右“兩眼”獲取的兩幅圖像對應點間的位置偏差,就可以實時還原視覺場景中每一點的真實三維幾何信息[7-8],雙目測量沒有識別率的問題,也無需建立和維護龐大的樣本庫,分辨率和精度也更高。
1.2同類對比近年來,隨著人工智能的興起,機器視覺發展迅速,雙目立體視覺是機器視覺的一個非常重要的分支,雙目視覺屬于被動視覺,利用仿生學模擬人的2個眼睛,然后通過相應的算法測算出距離,比較簡單可靠。相對于單目的測量原理,是先通過圖像與樣本數據匹配進行目標識別,再通過目標在圖像中的大小去估算目標距離。因此,單目測量需要建立,并不斷維護一個龐大的樣本特征數據庫,不斷進行機器學習和訓練,以保證首先對目標進行準確識別,對不規則物體或缺乏樣本數據的物體,單目測量無能為力。而激光雷達測量的優點是測量距離遠、精度高、速度快,但其最大的缺點是目前的成本高昂,另外,其體積和重量較大,對物體的識別率較差,成本的微型固態激光雷達目前還沒有大規模量產。
2.1雙目攝像頭的選取該測量系統圖像獲取裝置采用鉅芯智能雙目攝像頭(圖1),該系統專注于將FPGA(現場可編程門陣列)和外圍電路集成為專用雙目視覺芯片eagleye100,大大降低了成本,提高了集成度和可靠性,具有全球最小的基線長度(Baseline,雙目之間的間距),僅為8 cm,其實時高精度的探測距離達到100 m,深度分辨率最高可達720 P,高速深度計算的輸出延時小于3 ms,是一款小尺寸、遠距離、高精度的實時智能雙目立體視覺測量系統。

圖 1 鉅芯智能雙目攝像頭Fig.1 Intelligent binocular camera
2.2開發環境PC端配置選取適合的編程系統是Ubuntu16.04,編程語言是opencv3.2結合C++,安裝cmake和make的編譯環境。雙目攝像機電源連接,電壓是5V,輸出的電流是2A,支持USB端口供電,相機網絡連接的網絡IP設置為192.168.80.123,網關IP設置為192.168.80.10,子網掩碼設置為255.255.255.0,系統開發環境如表1所示。

表1 系統開發環境
2.3整體技術路線首先收集三維可視化的相關知識,總結點云處理相關理論方法,同時掌握雙目立體視覺三維重建的相關理論基礎,加強編程語言相關知識以及熟練使用相關軟件。然后針對水塘區域信息測量,其系統由5個重要部分組成,分別是電腦、雙目相機、網線、數據傳輸線以及支架,采用雙目立體相機獲取水塘的原始圖、深度圖以及相機的內外參數,由深度圖得到z坐標即相機到真實圖像的距離信息,與深度圖計算的(x,y)坐標相結合,導入meshlab軟件中,提取水塘的邊長信息。整體的技術路線如圖2所示。

圖2 技術路線Table 2 Technical route
2.4主要函數說明通過獲取拍攝視頻其中一幀圖像作為視差圖像數據, 數據空間由驅動負責創建和銷毀,所以要求雙目攝像機必須工作在視差輸出模式下,因此相機采用的是深度攝像機,深度相機在出廠前將深度算法導入芯片中,可以通過下列回調函數直接輸出圖像的深度信息。
getNextFrameData(pCameraDriver,&nFrameNo,&fBF,&fBase,&stGPSData,&ullTime,&pColorData,&pRefData,&pDspData);
其中,pCamera Driver是輸出攝像機的機句柄,pImgFrmNo是輸出視頻的每一幀的幀號,fBF是輸出相機的內置參數,fbase是2個攝像機之間的距離,stGPSData輸出gps數據,是根據圖像對地形的識別與測量的內置函數,ullTime是輸出的時間值,每一幀與每一幀的時間值,pColorData輸出圖像的彩色圖數據信息,pRefData是輸出的RGB色差的數據信息,pDspData 是左右相機輸出圖像的視差圖,也就是圖像的深度圖。
3.1棋盤格的采集首先要自制標定板,標定板的作用是在機器視覺、圖像測量、攝影測量、三維重建等應用中,為校正鏡頭畸變;確定物理尺寸和像素間的換算關系以及空間物體表面某點的三維幾何位置與其在圖像中對應點之間的相互關系,需要建立相機成像的幾何模型。該研究的彩印標定板是角點數為 6×7、大小為 25 mm×25 mm 的棋盤格圖案,將其貼在平整光滑木質板上制成標定板,如圖3所示。

圖3 標定板Fig.3 Calibration board
3.2標定光學透鏡的特性讓相機成像存在徑向畸變的問題,是由相機內部k1、k2、k33個參數確定,相機在裝配后會有誤差,光學鏡頭和傳感器不是完全平行,所以相機成像還存在切向畸變,是由p1、p22個參數確定[9]。首先一個相機進行的標定計算出其相機的內參(焦距f和成像原點cx,cy、5個畸變內部參數(一般只需要計算出k1、k2、p1、p2,對于魚眼鏡頭等徑向畸變特別大的才需要計算k3))以及外參(標定物的世界坐標)。而雙目相機要通過標定得到內部畸變參數,且還需通過標定來測量兩相機之間的相對位置(即右攝像頭相對于左攝像頭的旋轉矩陣R、平移向量t)[10-11]。左右攝像頭的內外參數讀取十分重要,因為它會直接影響最后的結果,該研究的相機的標定使用 MATLAB 2013提供的工具箱來進行,先單目標定,再雙目標定,操作簡單,精度也較高,得到的內外參數可直接寫入opencv中,相機內部參數如表2所示。

表2 相機內參數
相機的外參數矩陣R與T,如下所示:
R=[0.999 90 0.013 00 0.003 326]
T=[169.206 19 0.266 97 -0.174 24]
3.3深度圖根據相機的芯片立體匹配算法結合相機的內外部參數,直接調用深度圖,如圖4與圖5所示。

圖4 標定過程原圖Fig.4 Original drawing of calibration process

圖5 標定過程深度Fig.5 Depth image calibration process
3.4室外測量為了檢測水稻田水面區域邊界以及面積等特征,首先建立模擬分析方法,通過獲取一水塘的雙目視角的邊界長度,進而采用上述回調函數得到對應區域圖像的深度信息,如圖6和7所示,水面、樹木倒影都可以從深度圖中找到,物體離相機的遠近不同,顯示的深度顏色也不同,其顏色是根據RGB的色度劃分的,距離越近其顏色更加接近大紅色,距離越遠顏色越靠近藍色,這樣顯示出來的深度圖十分清晰。

圖6 相機的RGB圖 Fig.6 RGB image of camera

圖7 左右相機視差深度圖 Fig.7 Parallax depth image of right and left camera
對直接輸出深度圖進行二次開發,首先將相機標定,得到相機的內外參數,與相應的深度像素點匹配上,得到圖像與相機建立的x、y、z坐標值,將數值加載到空白文檔,設置.ply文件,最后將數據導入可視化三維軟件meshlab中,得到水塘的三維重建,采用meshlab中measure tool工具直接測量三維效果圖中任意2點(圖8)。

圖8 水塘三維重建圖 Fig.8 Three-dimensional reconstruct image of pond
對實際水塘的區域采用米鋼卷尺進行人工測量與三維重建相同位置對比,如圖9與圖10所示,根據圖像中木樁的位置作為對照點,測量2個木樁之間的距離為7.5 m,而三維重建對應的2個木樁對應的距離為7.35 m。

圖9 三維重建測量圖 Fig.9 Three-dimensional reconstruct surveying image

圖10 人工卷尺測量圖Fig.10 Surveying image using manual measuring tape
得出距離信息后,對三維水塘的周長與面積進行估量,可測得邊長9.6、10.9、15.6、5.3、24.6 m,估算周長66 m,采用梯形分割法估量水塘的面積,其底邊為19.4 m、高為20.7 m、上邊為5.1 m,估量的面積為253.6 m2。
對于遠距離測量精度比較準確,在室外測量還是會存在誤差,對于圖像的選取、光線的強烈程度、相機的拍攝角度等對后期三維重建有一定的要求,多次適當試驗后,對代碼進一步優化,減小客觀因素對待測區域的影響。室外三維重建是地形測量的一個重要分支,模擬水塘的三維重建還存在諸多問題有待解決。
基于雙目立體視覺技術采集稻田養殖區域信息對精細農業的發展、合理規劃水土資源、減少等都有十分重要的意義,同時也為未來雙目無人機采集稻田地形信息提供了新的想法。在未來越來越多的傳統農業會被智能化、現代化、信息化的農業所取代,利用現代化的技術手段,合理規劃資源,控制環境污染,預防自然災害對農業生產的巨大沖擊[12-13]。我國是農業大國,在當今經濟全球化的形勢下,必須研究農業現代化的發展趨勢,揚長避短,在做好基礎工作的前提下,創造條件,大力發展智力農業、精細農業、信息農業、生態農業等,從而使我國農業盡快走上現代化的道路,這將是我國未來農業發展的道路[14-15]。