动物二维图像3D重构及其特征识别系统研发

2016-03-30 01:15陈义松刘同海天津农学院计算机与信息工程学院天津300384
天津农林科技 2016年1期
关键词:立体匹配

陈义松,岳 帅,石 悦,刘同海(天津农学院 计算机与信息工程学院,天津 300384)



动物二维图像3D重构及其特征识别系统研发

陈义松,岳帅,石悦,刘同海
(天津农学院 计算机与信息工程学院,天津300384)

摘要:为解决动物二维图像3D重构及其特征识别问题,实现动物无接触、无应激提取其特征参数,利用立体视觉原理,以动物为研究对象,使用双目摄像机采集的图像,基于被动线索的方法,采用计算机视觉库OpenCV函数库,开发了3D重构系统,实现双目标定、特征识别、双目立体匹配、三维模型重建和提取特征等功能。通过实验验证,建立的动物三维模型,可有效识别动物体尺等特征信息,其提取结果相对误差为1.5%。本研究可应用于动物无应激量算体尺,为开展福利养殖提供了一种方法。

关键词:OpenCV;双目视觉;立体匹配;特征识别

自然界中的物体是多维的,人体通过眼睛获取物体的三维信息。然而,一个摄像系统只能记录下来物体图像的二维信息,致使大量信息丢失。计算机视觉是一门专门研究如何让机器模仿人类眼睛“看”物体的科学,更形象的说,就是指用双目摄像机代替人的眼睛,对目标物体进行身份识别、运动跟踪和数据测量,并做数字化处理,通过计算机处理不仅适合人眼直接观察而且成为能够传送给仪器检测的数字化信息。计算机视觉不仅包括图像处理、模式识别等功能,还包括空间形状的数字化描述、构建几何模型以及特征识别等功能[1]。实现利用机器做到图像识别是计算机视觉的终极目标。随着计算机视觉的发展和技术的进步,让冰冷的机器具有人类一样的视觉功能,是机器智能化的一个进步。从实用性的角度来看,双目立体视觉(Binocular)是最经济和科学的方法。

OpenCV是由一系列 C 函数和少量 C++ 类接口所组成的开源计算机视觉库,它拥有计算机视觉相关的诸多通用性算法[4],而且具有效率高、程序执行速度快、可跨平台移植性等优点[2],是从事计算机视觉研究的一个方便的工具。

动物体尺测量是畜牧养殖育种过程中所要做的一项重要工作,一般是由工作人员直接人工测量,工作强度非常大,且测量人员需要直接接触动物,对其应激大,动物甚至会对工作人员进行攻击,存在一定的安全隐患[5]。通过双目视觉技术,可以用摄像机获取图像数据,对动物个体进行无接触测量,达到减少应激、提高效率、降低工作人员危险的目的。

1 动物三维重构基本原理

双目视觉的基本原理[6]:就是通过两台平行放置的摄像机,模仿人的眼睛观察目标物体,来获取同一目标物体的左右两幅图像,通过对两幅图像进行数据分析,计算左右图像视差获取目标物的三维数据,并基于三维坐标信息,获取目标物体的尺寸数据。具体方法是利用两个规格相同的摄像机平行放置,同时采集同一动物的两幅图像,以某一个摄像机焦点为坐标原点建立空间坐标系,确定空间点的准确位置坐标,两个摄像机进行矫正坐标数据,使得两副图像尽可能的一致,以达到设定的精度。利用矫正之后的坐标数据计算出同一空间点分别在两幅图像中的坐标,计算出空间点的深度数据。其原理示意图如图1所示。

图1 双目立体视觉原理图

2 系统主要功能

本研究在双目立体视觉理论下,开发了动物二维图像3D重构及其特征识别系统,实现了图像获取、摄像机标定和双目矫正、立体匹配、视差图和三维重构及动物特征提取等功能。其系统硬件平台如图2所示。

图2 硬件平台

3 动物三维重构系统构建

3.1双目摄像机获取图像

图像的获取是双目立体视觉的基础,图像获取的方式是利用两个平行的摄像机同时抓取目标物体的两幅画面。图像采集的质量不仅取决于摄像机自身内部参数,还与动物所处的光环境、动物的特征等因素有关。本研究利用两个USB摄像机平行同步抓取画面。抓取效果如图3所示。

图3 双目摄像头同时采集图像效果

3.2动物双目图像校正

双目图像校正可分为两个过程,摄像机标定[7]和图像校正。摄像机标定是为了建立动物空间坐标系,通过相机标定来确定坐标系中动物特征点的坐标值。其操作是首先需要直接估计出摄像机的内部参数,例如焦距、光轴方位、相机位置等,然后通过诸如最小二乘法拟合等具体算法处理,准确地构建一个空间坐标系。计算出空间点的精确坐标,进而能够计算出目标物体的准确位置,用于解决三维重构过程中的立体匹配问题。

双目图像校正是根据标定获得的单目相机内参数据和另一个摄像机相对位置关系(例如旋转矩阵和平移向量等),分别对左右两个视图进行消除畸变和行对准操作。使得左右两个视图的成像原点坐标尽量一致;两摄像机光轴尽量平行;左右成像平面尽可能共面;对极线行尽可能对齐等。如果校正以后左右视图的边角区域是不规则的,将会对后续的双目匹配和求取视差的结果产生不利影响。因为这些边角区域的数值也参与到匹配操作过程中。校正效果如图4所示:

图4 双目图像校正效果

3.3动物图像立体匹配

动物三维测量的关键就是利用建立的空间坐标系获取动物表面点的准确坐标,其前提需要进行立体匹配。立体匹配的过程:需要知道匹配点分别在左右两副图像上的像素坐标,在左右图像中寻找尽可能多的匹配点的坐标[8]。匹配特征点的选取对重建动物三维的效果来说影响很大。动物,尤其是活体,由于形状不规则,特征点的提取是其三维重构的关键。

3.4动物三维重构

立体匹配的工作完成以后,就很容易得到矢量化的视差数据了。只需在目标范围之内选取叠加匹配代价最优点作为相互矫正的匹配点。例如,直接对原始匹配代价的点进行处理的全局算法会先给出一个能量评价的具体函数,然后会通过优化算法来分析,计算出其能量的最小值,这样就能计算出目标范围内每个点的视差值。视差效果如图5所示:

图5 彩色视差图

在获取到视差数据后,是不能直接看出三维效果的,我们再利用 OpenCV 的 Bouquet 校正方法获得Q 矩阵就能得到目标物体的三维点云坐标数据,然后利用reProjectImageTo3D 重绘三维坐标数据来展现三维重构效果。

4 动物特征提取

双目测量是利用了视差与目标点到成像平面的距离Z存在着反比例的关系:Z=fT/d。为了精确地求出某个点在三维坐标系里的距离Z,需要获得的参数有摄像机的焦距f、目标点的视差d、摄像机的中心距Tx。如果知道左右图像平面的坐标系与三维坐标系中原点的偏移量cx和cy,就可以计算出目标点的横坐标和纵坐标。f、Tx、cx和cy四个参数的值可以通过立体标定来获得初始值,通过双目校正等优化操作,使得两个摄像机在数学概念上完全平行放置,并且cx,cy和f的两个值完全相同。所以立体匹配所需要做的工作,就是计算出的视差值d。从而计算出一个目标点准确的三维坐标所[9]。

图6 双目测量原理图

通过建立的动物三维模型,以及双目测距原理可以测出任意两点之间的实际距离。然后利用动物的体尺间存在的相关关系,通过双目视觉三维测量所获取的动物的体宽、体长等值,基于所建立的估算模型,还可估测动物的体重[10-11]。可见,通过动物三维重构,可无接触获取到动物的体宽、体长、体重等数据,便于指导动物育种及养殖等工作。

利用OpenCV的双目测距算法,经验证,在2 m的距离之内,测得的动物体的体长、体宽误差都是小于 1.5%,可见该系统可以达到一定精度。5结论与讨论

本研究在双目立体视觉模型[12]的基础上,开发了动物二维图像3D重构及其特征识别系统,实现了图像获取、摄像机标定和双目矫正、双目立体匹配、三维重构及动物特征提取等功能。

在使用OpenCV相关算法的基础上,通过实测数据及估算数据,对其算法进行了验证和分析,并对算法进行了完善。通过测试发现:在摄像机距离动物2 m之内,其体尺的估算误差小于 1.5%,其体尺提取精度较高。

但由于环境光照影响以及标定误差等影响,导致动物左右图像采集纹理不清晰,及在距离相机大于2 m的动物三维重构及体尺提取精度较差,今后将对其算法继续进行完善。

参 考 文 献

[1] VE RNON D. Machine vision-automated visual inspection and robot vision[M] . Englewood Cliffs, NJ:Prentice Hall, 1991:2.

[2]史进,李健.一种基于OpenCV的三维重建实现方案[J].计算机与信息技术,2008(4):47-49.

[3]陈付幸.基于非定标图像序列的三维重建关键技术研究[D].长沙:国防科学技术大学,2006.

[4] Open source computer vision library reference manual(2001) INTEL CORPORATION[EB/OL].[2015-11-15]. http://www.doc88.com/p-2701612807693.html.

[5]刘同海,滕光辉,付为森,等. 基于机器视觉的猪体体尺测点提取算法与应用[J]. 农业工程学报,2013,29(2):161-168.

[6] YU X, HAY T S, LEONG H W.3D reconstruction and enrichment of broadcast soccer video. [EB/OL].[2015-11-15]. http://www.doc88.com/p-0384369494102.html.

[7]刘俞平,冯成良,王绍慧.定向战斗部研究现状与发展趋势[J].飞航导弹,2010(10):88-93.

[8]PARDO X M,RADEVA P.Discriminant snakes for 3D reconstruction in medical images[J].Pattern Recognition,2002,(3):336-339.

[9] KAEHLER A ,BRADSKI G R. Learning OpenCV[M]. 于仕琪,刘瑞祯,译.北京:清华大学出版社,2008.

通讯作者简介:刘同海(1977-),副教授,硕士生导师,主要从事农业物联网及计算机视觉研究,E-mail:tonghai_1227@126.com

作者简介:主要陈义松(1991-),男,主要从事物联网工程及图像处理研究,E-mail:cysleroy@outlook.com

基金项目:国家级大学生创新训练项目(201410061077)

收稿日期:2016-01-17

文章编号:1002-0659(2016)01-0007-03

中图分类号:S818.9

文献标识码:A

猜你喜欢
立体匹配
双目立体匹配算法的FPGA实现
双目立体视觉系统的旋转轴方位计算与特征点立体匹配
基于机器视觉的葡萄采摘点三维空间定位系统的研究
基于SIFT算法的图像匹配技术在测量系统中的应用
改进导向滤波器立体匹配算法
镜像式单摄像机立体视觉传感器对弹簧几何尺寸的测量