APP下载

双目视觉技术在稻田养殖区域测量中的应用

2019-03-18张珉璐戈振扬

安徽农业科学 2019年5期
关键词:深度图双目水塘

张珉璐,戈振扬

(昆明理工大学现代农业工程学院,云南昆明 650504)

稻田养殖是指利用稻田的浅水环境,辅以人为措施,既种植水稻,又养殖水产品,使稻田内的水资源、杂草资源、水生动物资源、昆虫,以及其他物质和能源更加充分地被养殖的水生生物利用,并通过所养殖的水生生物的生命活动,达到为稻田除草、除虫、松土和增肥的目的,获得稻鱼互利双增收的理想效果[1]。“稻鱼共生系统”的内涵(田面种稻、水体养鱼、鱼粪肥田、鱼稻共生、鱼粮共存)是把种植业和水产养殖业有机结合起来的立体生态农业生产方式。我国是农业大国,对于水产品和水稻的需求量都很大,使得稻田养殖业的良好发展为经济增长创造了有利条件,所以稻田养殖具有广阔的发展前景,深受国家领导人的重视[2]。随着时代的发展,人们对无公害食品和绿色有机食品的需求量逐渐增多,绿色健康的有机食品受到越来越多人的喜爱[3-4]。但是资源共享存在资源分配不均等问题,很有可能造成粮食减产或者水产品减量等问题[5]。因此,为使稻田内的土地资源、水生动物资源、水资源、植物资源等所有资源都可以被相互充分使用而不构成资源竞争关系,资源达到最合理的利用,测量稻田区域数据显得尤为重要。如果水稻和水产品占地比例不合理可能会造成水体环境污染、水稻种植面积受挤压、粮食与水产品减产等问题,不仅造成经济损失,而且很有可能造成环境不可挽回的破坏。

随着时代的发展,人们对生活水平要求的提高,稻田养殖以一种生态农业的模式出现在人们的视线中,既可以在省工、省力、省饵料的条件下收获相当数量的水产品,又可以在不增加投入的情况下促使稻谷增收,具有显著经济、社会和生态效益。传统的区域信息获取方式有很多,如声纳、红外、单目和激光等,然而相对于传统方式,基于双目立体视觉的地形信息获取方式,凭借其非接触、效率高、精度好和成本低等优势,实现稻田区域信息的采集,将采集到的稻田地形区域数据信息进行分析,从而合理规划有限的水土资源更大程度地发挥土地的作用,合理计划饲料投放情况。要避免高浪费低效率、没有充分挖掘土地资源的潜力实施精准投入、高投入低收益的问题,同时还要避免破坏我们赖以生存的自然环境。该研究拟采用双目立体视觉技术测量水塘区域面积特征的方法,根据获取到的深度信息图像三维重建,从而确定水塘区域的边长信息,最终估算出水塘的面积,为后期水土资源规划提供定量的依据。

1 研究方法

1.1研究原理随着计算机科学领域的快速发展,双目立体视觉测量技术在各行各业得到广泛的应用[6],也是农业工程学科研究的热点之一。

双目视觉系统模拟了人眼及众多生物的视觉处理方式,利用双摄像头从不同角度对同一目标成像,从而获取视差信息,利用三角测距原理,仅通过计算左右“两眼”获取的两幅图像对应点间的位置偏差,就可以实时还原视觉场景中每一点的真实三维几何信息[7-8],双目测量没有识别率的问题,也无需建立和维护庞大的样本库,分辨率和精度也更高。

1.2同类对比近年来,随着人工智能的兴起,机器视觉发展迅速,双目立体视觉是机器视觉的一个非常重要的分支,双目视觉属于被动视觉,利用仿生学模拟人的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 模拟试验

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。

4 结论与展望

对于远距离测量精度比较准确,在室外测量还是会存在误差,对于图像的选取、光线的强烈程度、相机的拍摄角度等对后期三维重建有一定的要求,多次适当试验后,对代码进一步优化,减小客观因素对待测区域的影响。室外三维重建是地形测量的一个重要分支,模拟水塘的三维重建还存在诸多问题有待解决。

基于双目立体视觉技术采集稻田养殖区域信息对精细农业的发展、合理规划水土资源、减少等都有十分重要的意义,同时也为未来双目无人机采集稻田地形信息提供了新的想法。在未来越来越多的传统农业会被智能化、现代化、信息化的农业所取代,利用现代化的技术手段,合理规划资源,控制环境污染,预防自然灾害对农业生产的巨大冲击[12-13]。我国是农业大国,在当今经济全球化的形势下,必须研究农业现代化的发展趋势,扬长避短,在做好基础工作的前提下,创造条件,大力发展智力农业、精细农业、信息农业、生态农业等,从而使我国农业尽快走上现代化的道路,这将是我国未来农业发展的道路[14-15]。

猜你喜欢

深度图双目水塘
一个小水塘
老家的水塘
基于双目测距的卡尔曼滤波船舶轨迹跟踪
基于深度图的3D-HEVC鲁棒视频水印算法
醉在水塘
荒漠水塘
基于双目视觉图像的长度测量方法
基于双目视觉的接触线几何参数测量方法
Kinect深度图像快速修复算法
一种双目立体视觉相机标定方法