基于无人机平台的牛体点云重构及体尺测量系统研究
2022-07-23陈禹州张万锴张晓莹张国英
石 炜,陈禹州,张万锴,张晓莹,张国英
(1. 内蒙古科技大学机械工程学院, 内蒙古 包头 014010;2. 内蒙古智牧溯源技术开发有限公司, 内蒙古 包头014010;3.内蒙古中农高科科技有限公司,内蒙古 东胜 017010)
随着现代养牛业水平的不断提高, 通过体尺参数评定家畜的生长和健康状况已经成为一种刚性需求。在养牛业中,为了监测牛的生长和健康状况、适时调整饲养管理方案,体长、体高和胸围等体尺信息是重要的考查指标。在散养方式下,养殖户需要对牛群每月测定一次体尺。 传统的体尺指标人工测量方式需要借助半圆仪、卡尺、皮尺等器具,还需要对测量数据进行人工记录处理,全群牛只监测一次需要较高的人工和时间成本。 通过机器视觉的非接触式测量可以降低人工成本,保证了测定过程中的人身安全,还能提升监测效率[1-4],因此, 对非接触式测量动物体尺技术的研究具有一定实用价值。
为此, 笔者首次提出一种基于单镜头无人机平台三维重建的牛体尺检测方法。 首先采用无人机对野外散养牛群进行倾斜环绕拍摄采集图像,对采集的图像进行预处理,并进行空中三角计算;然后通过SFM(structure from motion)方法进行整个环境重建,得到整个牛群点云数据;最后提取单个牛体点云,并测量牛体参数。该方法的建立旨在为散养模式下牛群体尺信息的高效、 安全采集提供技术参考。
1 材料与方法
1.1 无人机选定
固定翼飞行器搭载倾斜相机常应用于较大型的地理测绘,且需要结合野外控制点等坐标信息。 为了达到图像采集设备低成本且易操作的目的[5-6],采用多旋翼布局的无人机进行图像采集。将现有四轴无人飞行器与六轴无人飞行器进行对比(见表1)。
从便携性、 易操作性、 成本可控性等方面考虑,该研究将无人机类别定为四轴无人机。单镜头小范围航空倾斜摄影发展到如今, 已不需要通过外业控制点的方法就能精准获取外方位元素,基于后期全球定位系统/惯性导航系统(GPS/INS)辅助空中三角测量的POS 数据需求, 在INS 系统上需要三轴陀螺仪、气压计、三轴重力加速度传感器等传感器模块,与GPS 定位模块相结合,从而达到GPS/INS 系统要求。 综上所述,对所需飞控模块及部件做出布局设计(见图1)。
图1 无人机布局与结构
基于上述布局,根据后期试验要求,为使飞行稳定可靠,分别采用2 种机型进行测试。 机型1:自组装四轴无人机,轴距450 mm,尼龙+碳纤维机架;N5065 无刷外转子直流电机与SKYWALKER 40A 航模无刷电子调速器;DJI Naza M Lite 飞行控制器(PID 控制)及其配套GPS 模块;悬挂式两轴无刷云台及鹰眼飞萤8SE 运动版无畸变CMOS 相机(内置WIFI 图传功能);容量为5 400 mAh 的3S锂电池及2.4 Ghz 天地飞10 通道遥控器。 机型2:轴距335 mm 大疆消费级无人机御MAVIC2 PRO。经过测试对所选两款无人机进行各项参数对比(见图2、表2)。基于续航能力、最大通信距离和云台稳定性等因素,通过实地拍摄效果对比,选取大疆消费级无人机御MAVIC2 PRO 作为该研究的试验用机型。
表2 2 种备选机型各项参数对比
图2 2 种备选机型实物
1.2 试验准备
确定以上图像采集设备后, 将试验地点定在内蒙古自治区锡林郭勒盟苏尼特左旗。 因草原放牧牛大都处于散养状态, 符合该研究覆盖面广的远距离图像采集要求以及多头牛牛体影像同时采集的要求。由于对图像采取的是离线后期处理,在图像采集后即可完成野外操作。 之后进行图像处理与三维点云重建,进行交互式测量。具体流程如图3 所示。
图3 试验流程
1.3 牛体点云获取及测量
该研究在苏尼特左旗选取1 家牧户的3 个散养牛群、1 个圈养牛群以及1 头单体牛,分别记作R0、R1、R2、R3 及R。 对牛的体直长、体高、胸围参数进行人工测量,以便后期进行数据对比,并根据耳标(IFID)进行标注,以匹配人工测量参数。 该研究采用的是单镜头倾斜摄影, 与传统航空摄影测绘的规划航线不同,因此,需要无人机将起飞点与返航点设定为(113°43′53.76″N,44°1′45.9336″E),即为了验证远距离拍摄的可行性, 在起飞点与返航点距离牛群约为300 m、悬停高度为40 m 时,通过旋转进行牛群搜索。 在确定牛群后飞往目标牛群进行拍摄。
1.3.1 无人机图像获取
无人机到达牛群上空后, 为了避免无人机发出的噪声导致牛群出现应激反应,经多次验证,无人机飞行高度至少需要达到5 m,因此,实地采集牛群图像在6~13 m 高度进行拍摄,相机相比目测中心点水平倾斜角21~90°。 根据目测范围选定牛群中心近似点为兴趣环绕点, 环绕点与无人机水平距离为环绕半径进行环绕飞行拍摄。 三维重建点云数量及精度取决于图像重叠率与地面分辨率,见式(1)。
式(1)中,H 为相对飞行高度,f 为镜头焦距,gsd 为图像地面分辨率,a 为像元尺寸。 由式(1)可知,在镜头焦距与像元尺寸大小固定的情况下,为保证重建质量, 相邻2 张照片的重叠率至少在70%, 因此, 无人机应以6~14 km/h 的速度以及0.5~3.0 张/s 延时的快门速度进行拍摄。 采样牛群拍摄轨迹图显示(见图4):单体牛R 采集67 张图像,用时8 min;牛群R0 采集46 张图像,用时5 min;牛群R1 采集152 张图像,用时17 min;牛群R2 采集198 张图像,用时21 min;牛群R3 采集96 张图像,用时11 min。 考虑到后期匹配POS信息难度问题, 并未采集视频信息进行抽帧获取图像。理论上,通过影像资料抽帧获取图像进行三维重建方法同样可行, 且图像的重叠率可以人为控制。
图4 图像采集轨迹
1.3.2 图像预处理
图像获取过程中存在一些内在或外在的噪声干扰,在图像的形成、传输、接收等过程中出现的干扰与误差都会造成噪声干扰。 噪声会使图像清晰度降低以及图像特征不够明显, 直接影响后期图像区域分割、三维重建特征点检测等操作。预处理的目的在于改善采集图像的质量, 即抑制图像上不必要的一些变形和增强, 从而保证后期需要的牛体特征点与点云数量, 以及提高精度降低测量误差,且不会影响图片信息量。 基于以上要求,从去噪、增强两方面对图像进行预处理,在以上操作之前需要将图像POS 信息制作成文本再进行处理,以防止图片自带POS 信息丢失。
在图像采集过程中, 传输和压缩图像时可能会造成一定误差,由此产生噪声。常见的噪声去除方法包括空间域滤波和频率域滤波等。 采集图像特征只需要去除少量的椒盐噪声, 对图像不需要进行图像模糊化操作,因此,该研究采用的降噪方式为中值滤波。
中值滤波本质上是一种统计排序滤波器,即设定滤波器模板大小, 对图像中点的周围模板范围像素进行排序得到中值, 以该滤波器对图像进行滤波。根据图像特点设定滤波器大小为窗口。同时,为使牛体边界信息更加明显、突出,该研究在进行图像去噪之后增加了一步图像增强操作。 图像增强可分为空间域图像增强和频率域图像增强。 直方图均衡化是一种简单有效的图像增强技术, 通过改变图像的直方图优化图像中各像素的灰度,主要用于增强动态范围偏小的图像对比度。为了有效提升图像对比度并使图像带有原本色彩, 该研究采用有别于灰度图像的直方图均衡化方法: 分别将图像RGB 的3 个通道直方图求出;对3 个通道的直方图进行灰度图像直方图均衡化;将3 个通道图像融合,得出增强后的图像。 算法伪代码如下:
RGB=imread(′1.jpg′);//输入拍摄图像,得到三通道数组。
R=RGB(:,:,1);
G=RGB(:,:,2);
B=RGB (:,:,3);//分别取3 个通道数组的一个通道,得到红蓝绿3 个分量。
R=histeq(R);
g=histeq(G);
b=histeq(B);//对个分量直方图均衡化,得到个分量均衡化图像。
figure,
newimg=cat(3,r,g,b);//通过均衡化后的输出图。
基于以上步骤将单体牛R 采集图像作为效果图(见图5)。
图5 单体牛R 图像预处理效果
1.3.3 三维重建
不同于航测需要野外控制点, 该研究利用无人机自带GPS/INS 系统辅助空中三角测量,同时,只需生成点云数据,无需生成TIN(triangulate irregular network) 网格模型及DSM (digital surface model)表面模型,因此,在重建时间上获得了一定程度的减少。该研究采用ContextCapture 软件进行的点云重建流程如下:
1.3.3.1 SIFT 特征点提取与匹配
SIFT 特征点提取需要计算关键点的大小、方向、尺度信息,利用这些信息组成特征点的描述。SIFT 特征匹配采用特征向量的欧氏距离进行,确定一个合适的阈值, 先取一幅图像中的一个SIFT关键点, 并找出与另一幅图像中欧式距离最近的前两个关键点。在这两个关键点中,欧式距离最小值与次小值的比值少于该阈值, 则确定这是一对匹配点。
1.3.3.2 空三处理生成点云及迭代光束平差
根据共线方程式(式2、式3)计算空三处理结果。
(x,y)为以像点为原点的坐标;x 为以像主点为原点图像中横轴坐标,y 为以像主点为原点图像中纵轴坐标。 式(2)、(3)中,(XA,YA,ZA)为地面物体外方坐标,(XS,YS,ZS)分别对应摄影中心即相机中心在空间辅助坐标系中对应的坐标,f 为相片主距,POS 信息中对应的GPS 坐标点与气压高度计即为S 点的外方坐标相片主距与像原点坐标,通过相机位姿恢复得到,式(2)、(3)中,a1、a2、a3,b1、b2、b3,c1、c2、c3 旋转矩阵元素分别对应X、Y、Z 三轴中主光轴所在二维平面中的夹角余弦,可以通过惯性测量系统(IMU)获取,则上式中只有3个地面坐标为未知数, 通过两幅图像特征点的匹配进行三角化的投影,可以联立出4 个方程,解算地面坐标。
1.3.3.3 利用初始点云配合空三加密结果得到最终点云
该研究采用ContextCapture 软件对以上方法进行验证:单体牛R 重建时间为21 min;牛群R0重建时间为12 min; 牛群R1 重建时间为71 min;牛群R2 重建时间为132 min; 牛群R3 重建时间为42 min。 单体牛点云最低个数为200 000 个,已达到测量精度要求。
1.3.4 点云测量
由于重建牛体点云基于牛群和牧场环境,利用CloudCompare 软件加载出完整的重建场景,再对场景中重建完整的牛体与场景分割提取 (如图6 所示)。
图6 三维重建过程及效果
牛群R0 共提取可用牛体点云3 头; 牛群R1共提取8 头;牛群R2 因站姿牛较少所以仅提取2头;牛群R3 共提取7 头;单体牛R 提取1 头。 共获得21 头可用牛体, 对其分别进行编号标记,将通过航拍图片获得的牛信息与人工测量的牛信息匹配。
由于提取出的点云依旧与地面存在粘连,影响后期测量结果, 通过修改点云坐标轴位置和RANSAC 随机采样一致性算法, 对点云地面与牛体进行分离。 从提取后的点云中进一步提取牛脚与地面中的一个子集, 使用最小方差估计算法计算该子集的模型参数, 再计算整个样本与模型的偏差, 通过预先设定的阈值与偏差比较对样本点进行分类。 重复以上操作进行迭代,以降低误差。而迭代次数可以由式(4)推出:
式(4)中,P 为良好期望概值,ε 为局内点与总体个数比值,K 为模型参数最小值,N 为最小抽样数。 由式(4)可知,迭代次数的增加可以提高最终结果合理性的概率,因此,基于点云特点及迭代次数考虑,将阈值设定为0.07,即分割高度为0.07 m,并将点云PCL 库中代码封装为CloudCompare 软件插件以便使用。 分割效果如图7 所示。
图7 点云分割效果图
提取出牛体点云后对牛体的体高、体直长、胸围利用CloudCompare 软件进行了交互式测量,结果如图8 所示,检测指标分别为:体高,即由鬐甲的最高点到地面的垂直距离;体直长,由肩端至坐骨端后缘垂直线的水平距离;胸围,肩胛骨后缘胸部的圆周长度。其中,胸围测量选取肩胛骨后缘胸部进行Y 轴向切片, 然后对其切口进行曲线拟合测量。
图8 牛体体尺测量示意图
2 结果与分析
该研究共对重建可用点云的21 头牛分别进行了体高、体直长、胸围检测,同时,对基于无人机平台的交互式测量值以及人工测量值进行了比较,结果见图9~11。 由图9~11 可知,基于无人机平台的牛体高、体直长、胸围的交互式测量值与人工实测值最大误差分别为5.67%、5.82%、7.36%,最小误差分别为0.71%、0.93%、1.45%, 平均相对误差分别为3.87%、4.16%、5.06%。对于体高而言,在RANSAC 随机采样地面分割过程中,对牛脚与地面分割参数的调整没有精确到通用的程度,产生的误差会参差不齐;同时,牛在野外站立可能低头吃草,也可能抬头休息,这也会直接影响测量误差。对于体直长而言,主要误差产生在三维点云重建过程中是否有足够的无人机影像能够将牛体表面点云表达出来。 胸围的误差主要存在于无人机拍摄角度能否覆盖到牛胸口轮廓, 以及点云的曲线拟合程度。
图9 牛体高交互式测量值与人工测量值对比
3 讨论
体尺是牛生长周期中最直观的健康参数。 同时,在选种育种、肉品质评估、饲养管理中牛体尺也是一项重要的评价指标。 在对于牛的选种饲养过程中,牛体的体重、体长、体高和胸围等的测量信息是作为对牛体体征测量的一个重要考查指标。
图10 牛体直长交互式测量值与人工测量值对比
图11 牛胸围交互式测量值与人工测量值对比
不同的学者采用非接触式测量在机器视觉图像处理领域通过边缘检测、特征提取、深度学习等方法均得到家畜体尺数据[7-12]。在机器视觉图像处理方向的研究具有成本低、鲁棒性强等优点。同时也存在着对环境背景干扰要求较严格、 无法测量胸围等缺点。在此基础上,出现了基于三维重建家畜点云的体尺测量方法。 王可等[13]则通过单视角点云镜像的方法测量了猪体的尺寸。 在家畜点云三维重建中硬件可以采用点云相机、 双目相机、Kinect 相机等各种图像采集设备[14-16]。 总体来说,获取了点云数据便可以在家畜体尺非接触测量研究中进一步提高测量数据的多样性与准确性。
该文研究的方法相比传统机器视觉通过图像处理进行的非接触式测量方案引入了点云概念,将二维测量变为三维测量, 借此可以获得更多可测量数据, 例如二维图像无法处理的牛体胸围测量。 同时,因为采用了自动空中三角测量原理,对于相机提前标定便可以省去,提高了检测的效率。而对于点云相机等三维重建方式, 该文采用的重建方案对环境的要求并不太苛刻, 可以在无人为干预、 无设备采集通道搭建的情况下对散养牛群进行图像拍摄,有效地节约了人工成本。而且与现有的重建方式对单体牛进行点云重建相比, 该方法在实验过程中可以通过大场景图像一次性重建多头牛体点云数据,精度能够达到要求。
以内蒙古苏尼特左旗牧户为例, 该方法利用散养牛对环境敏感度不高且行动缓慢的特点,可以在野外散养牛群中同时重建出多头牛体点云进行测量,且受环境光源影响较小,可实施性较高。利用无人机进行牛体体尺测量大大减少了人工消耗可以进一步提高测量数据的多样性与准确性。在今后的研究中要在无人机图片采集上用更多方法进行探索,提升牛群中牛体重建成功率,如多台无人机进行同步拍摄,牛体点云的扩展应用,如牛体体重预测、自动测量等。
4 结论
与现有牛体尺检测方案相比, 该研究所用的测量方法分别对不同种类牛群中的牛个体进行了三维重建与体尺的测量, 通过对比试验测得的牛体高、体长、胸围平均误差分别为3.87%、4.16%、5.06%,验证了该方法的可行性,适用于散养牧户及大规模中低密度养殖牧户对牛体况进行间断性体尺检测。