高效率无接触三维重构技术应用在种猪育种能发挥多强大的效果
三维重构技术在种猪育种中的应用
尹令 蔡更元 吴珍芳
华南农业大学数学与信息学院
华南农业大学动物科学学院
三维视觉技术可无接触、快速测量种猪表型体尺,建立种猪个体体型、体尺和体况等数据库,对种猪遗传改良和大量个体有效管理有决策指导作用,在种猪育种和养殖管理中非常重要。目前养殖环境基本为人工测量,容易造成牲畜驱赶应激、人工测量准确性差、测定效率低、复杂性状难以度量等问题,尤其非洲猪瘟等疫情爆发后,应尽量减少人畜直接接触,降低交叉感染。三维深度相机固定于测量通道三个不同方向,猪自由通过测量区域自动抓拍其三维点云,运用点云配准融合重建牲畜表型轮廓,开发无接触自动猪体尺测量系统。通过该自动体尺测量系统,建立种猪个体体型、体况信息,并可以进行猪体重估计和背膘预测等应用,实现种猪精细喂养、种畜筛选、培育与繁殖的体况自动精准评价,可有效解决传统测量方法的效率、精度和动物福利问题。
三维点云采集
(1)三维采集通道设计
点云通道上方,左侧,右侧各固定3个KinectV2相机,通道只能有一头猪单独通过,猪进入相机最近拍摄位置时,3个深度相机瞬间同步抓取局部点云。KinectV2为RGB-D深度相机设备,其深度图像分辨率为512×424像素,最大支持60 帧/s的深度数据获取,视距在0.5~3.5 m之间。通道预先设定最佳拍摄位置减少设备扫描范围,提高数据精度;多视角深度相机同步瞬间抓取减少猪运动时非刚性形变。KinectV2为消费级深度设备成本低廉,易于实现产业化。
(2)点云配准融合
从多个角度采集猪体局部点云其坐标系和参考点完全不同,需要把不同视角的局部点云统一到同一个世界坐标系,并进行无缝链接需要对点云进行配准融合。猪体各局部点云视角变换较大、无明显特征点、点云数量多,然深度摄像头固定不变,运用基于静物长方体全自动标定配准方法。测量之前在测量通道放置标准的60cm×50cm×50cm的长方体标定物,通过计算长方体特征点获取旋转矩阵与平移矩阵。各个相机坐标系对应位置关系如图5所示。
图 5 基于静物长方体全自动标定配准示意图
(3)点云去噪孔洞填补
猪在自由行走状态下采集三维点云,须建立有效的隔离栏杆等以防止猪撞击深度采集设备。而隔离栏杆与猪相距较近将深度相机发出的镭射光在两物体表面反射生成散斑产生大量噪点,同时隔离栏杆给猪两侧的点云数据带来大块孔洞。噪声需去除,孔洞需填补才能构建清晰完整的猪表面三维轮廓点云。配准后的猪体三维点云中除了有效信息还包含有地面点、噪声点和栏杆点。地面点采用RANSAC拟合地面方式移除,栏杆与待测猪相距较近时采用欧式距离聚类方法,聚类后将整块猪点云和栏杆等保留在一个个类中,而分散稀疏的近点噪声和离群点噪声都将被去除。聚类不能去除的栏杆则根据每一个聚类中心点的位置信息结合栏杆明显的位置关系逐步移除栏杆。
图6 欧式距离聚类点云去噪示意图
通道栏杆遮挡造成左侧和右侧猪体部分点云缺失,考虑到猪体表面轮廓连续且光滑,因此其表面横向切片的投影曲线应为连续并光滑的闭合曲线。利用这一特点对猪左右侧缺失点云进行填补。其方法的思路是将猪三维点云沿头尾方向切成多个薄片,图7中不同颜色的表示每层薄片,薄片切的越薄,层数越多,计算越精准,但相应所耗费的时间也越多,太薄的切片所含点云个数不够,无法形成有效拟合曲线。切片越厚,层数越少,计算相对误差会较大,但是计算时间会大大减少。
图7 猪体横向切片示意图
横向切片后的点云投影到YOZ平面,应用拟合曲线对离散切片点云进行分段拟合。如猪腹部切面投影底部有部分缺失,且不规则,故将腹部分为两个曲线进行拟合。以最左侧的离散点对应的y轴坐标y(1)的大小为分界线,将腹围切面投影的离散点分成两个部分,y值大于y(1)的表示腹围的上边界,y值小于y(1)的表示腹围的下边界。同时由于离散点的数量较多,同一x轴坐标可能对应多个点,不利于拟合,因此拟合前先去噪过滤。分割之后的曲线如图8所示,一个近似椭圆的腹围曲线被分成了两部分。其中上半部分蓝色离散点的曲线表示猪腹部的上边界曲线轮廓。下半部分橙色离散点曲线表示猪腹部下边界的曲线轮廓。使用平滑逼近法(smoothing spline)来分别对上下两条曲线拟合,如图9所示。为了保证曲线上半部分和曲线的下半部分拟合的曲线能够围成一个封闭的图形,上半部分曲线和下半部分曲线的第一个离散点和最后一个离散点是同一个点。同样分别积分求得上半周曲线和下半周曲线的长度,两条曲线之和即是猪的腹围长度。最终拟合好的效果如图9所示。
猪体体尺参数是衡量猪生长发育的重要指标,测定的参数包括体长、体高、胸宽、腹围等。体长指两耳根连线中点沿背脊线至尾根处的长度,测定时要求猪静止直立,头部微抬。体高为猪自然站立时耆甲顶点到地面的垂直高度。胸宽是猪左右前腿的最外点在地平面投影距离。腹围为腹部最宽部长度。
重构点云体尺特征点提取及测算
猪体体尺参数是衡量猪生长发育的重要指标,测定的参数包括体长、体高、胸宽、腹围等。体长指两耳根连线中点沿背脊线至尾根处的长度,测定时要求猪静止直立,头部微抬。体高为猪自然站立时耆甲顶点到地面的垂直高度。胸宽是猪左右前腿的最外点在地平面投影距离。腹围为腹部最宽部长度。
(1)背脊线提取
背脊线是测量猪体长和体高的关键线,从大量散乱点云中寻找定位背脊线非常关键。猪上部点云以轮廓中轴呈现对称形状,受Blum提出的中轴变换方法启发,采用多项式曲线拟合寻找俯视点云投影的中心线即为俯视投影背脊线。俯视投影背脊线沿投影轴延伸与猪体背部点云相交即为猪体空间背脊线。
(2)体尺特征测算
体长测算需要在背脊线上定位起始点,起点为猪两耳根连线的中点,终止点为猪尾根点,通过上部点云数目统计特征结合形体几何特征定位这两点。耳根处点云数目相对附近点数急剧增多,而猪尾巴形态有上翘和下耷拉2种,在点云数目分布上体现为在快速下降后有个小回升。俯视点云投影平面统计沿体长轴方向点云数目,得其点云数目分布曲线图。从曲线上寻找各处拐点,位于头部第一个凸点即耳部中心区域点,为体长起始点位置,而位于尾部斜率下降最快的凹点就是尾根点为体长的终止点位置。背脊线上从体长起始点到终止点一系列离散点构成曲线长度即为需要测量体长,采用弧积分法求其长度。
体高测量关键为从背脊线上定位耆甲点,耆甲点为猪前肢中心平面延伸与背脊线相交点,该点到地平面距离即体高。
体宽取胸宽,即猪左右前腿的最侧外点投影到地平面的两点之间距离,胸宽即为左右前腿最外侧点云之间宽度。俯视点云投影到平面采用基于面片裁切技术的点云轮廓线生成算法生产俯视点云猪体轮廓线,同时左右侧视栏杆下方点云聚类定位左右前腿位置,左右前腿延伸与俯视点云轮廓线相交,即定义为所求胸宽点,两点间的距离即为胸宽。
腹围自动测量有2个难点,首先要保证不同视角的点云准确配准融合;其次获取腹围曲线是不规则且不闭合的曲线。极坐标转换法进行腹围测量,既可以完成点云精准融合,也可以补缺曲线及计算其长度。极坐标转换法是考虑待测量腹围切片是个有缺失的近似椭圆,以该椭圆中心为原点,向右沿y轴正轴,逆时针定为极坐标正方向,建立极坐标系,得切片上每一个点的极坐标。利用极坐标转换将近似椭圆曲线在极坐标系中展开成近似平铺的直线,利用直线拟合,一方面可以将椭圆缺失部分补全,同时可以使粗配准有误的地方得到修补,减少配准误差,并且沿直线积分得到猪腹围长度。
三维重构技术的扩展应用
三维重构技术能最大程度上还原猪体表面形态特征,不仅仅可以帮助自动完成体尺测量的应用;也可以由计算得到猪体尺参数用于猪体重估计;通过体型特征进行胴体分级,预测猪的瘦肉率;可以从小到大建立猪形态表观的生长图谱,协助选种育种。
三维重构技术为饲养者提供一副“远程眼睛”,可以适时的观测猪只生长情况。
作者:尹令
博士,华南农业大学数学与信息学院副教授,主要研究方向为三维视觉发现、三维建模在农业和林业加工领域方面的应用、农业数据挖掘等。先后主持国家级、省级等各级项目8项,授权发明专利5项,公开发明专利8项,授权实用新型专利2项,软件著作权5项,发表各级论文21篇。