基于Kinect v4的牛体尺测量方法
2022-06-21赵建敏赵成夏海光
赵建敏,赵成,夏海光
(内蒙古科技大学 信息工程学院,内蒙古 包头 014010)(∗通信作者电子邮箱zhao_jm@imust.edu.cn)
基于Kinect v4的牛体尺测量方法
赵建敏*,赵成,夏海光
(内蒙古科技大学 信息工程学院,内蒙古 包头 014010)(∗通信作者电子邮箱zhao_jm@imust.edu.cn)
针对基于机器视觉的牛体尺测量方法中图像背景复杂、特征点提取难度大的问题,提出了一种基于Kinect v4传感器的牛体尺测量方法来采集彩色和深度图像,并结合目标检测、Canny边缘检测、三点圆弧曲率等算法提取体征特征点进而计算体尺数据。首先,制作了牛体尺特征部位图像数据集,并利用深度学习YOLOv5目标检测算法检测牛体尺特征部位信息,以减少牛体其他部位和背景对体尺测点提取的干扰;其次,借助OpenCV图像处理库中的Canny边缘检测、轮廓提取等图像处理算法获取牛体尺测点所在的关键轮廓;然后,对关键轮廓采用多项式拟合和三点圆弧曲率等算法从而在二维图像中提取牛体尺测点;最后,利用深度信息将二维图像中的测点信息转换到三维坐标系下,并结合随机抽样一致(RANSAC)算法在三维坐标系下设计牛体尺测量方法。经过在复杂环境下传感器和牛体侧面成不同偏角时的实验测量结果和人工测量结果的比较得出,牛体尺数据中鬐甲高的平均相对误差为0.76%,体斜长的平均相对误差为1.68%,体直长的平均相对误差为2.14%,臀端高的平均相对误差为0.76%。实验结果表明,所提方法在复杂环境下具有较高的测量精度。
牛;体尺测量;目标检测;图像处理;Kinect传感器;深度信息
0 引言
牛体尺参数是评价牛生长状况的重要指标,能直观反映牛的生长发育状况,同时也是种牛选择和育种的重要因素之一[1]。传统的牛体尺测量方法主要采用测杖、圆形触测器、软尺等工具通过人工接触式测量[2]。这种测量方法费时费力,对牛的姿态要求较高且测量效率低下。近年来,人工智能研究与畜牧业生产相结合,在国内外已经有部分成功案例[3]。江杰等[4]、刘同海等[5]、常海天[6]分别基于背景差分法和空间分辨率方法测量了羊、猪、牛体尺参数;赵建敏等[7]基于Kinect v1传感器采集深度图像寻找测点进而计算羊体尺数据;冯恬[8]基于双目立体视觉通过欧氏距离原理测量了牛体体尺数据;李琦等[9]基于双目立体视觉,结合Mask R-CNN(Mask Region-based Convolutional Neural Network)提取牛体轮廓曲线,测量体尺数据。上述方法都要在无干扰环境下进行实验,对测量环境、动物站姿要求较高,在背景复杂的情况下,提取效果差,难以提取牛体轮廓,会增大体尺测量误差;而且双目立体视觉和空间分辨率法对光线影响敏感,当相机参数发生变化时模型可能不再适用。Kinect v1深度图像基于结构光原理,其深度信息精度随着距离的增加会变差。
目前,由于牛的养殖环境复杂、牛站姿变化较大,在复杂背景和光线等影响下导致牛体关键部位轮廓提取难度大、精度低,这是牛体尺测点准确提取面临的重要问题。针对上述问题,本文提出了一种基于Kinect v4传感器的牛体尺测量方法。本文的主要工作如下:1)采用基于时差测距(Time of Flight, ToF)[10]原理的Kinect v4深度传感器获取牛体RGB-D(Red Green Blue-Depth)图像信息,并利用深度学习YOLOv5(You Only Look Once v5)[11]目标检测算法和彩色信息检测牛体尺特征部位信息,减少背景和牛体其他部位对测点提取的干扰;2)根据得到的牛体尺特征部位信息,对牛体尺特征部位进行图像裁剪;3)根据牛体身体特征对于裁剪图像通过深度或彩色信息结合Canny边缘检测算法和轮廓提取算法提取关键轮廓,对轮廓进行拟合,选择轮廓中距离拟合曲线曲率最大点最近的点作为测点;4)最后,基于深度信息和随机抽样一致(RANdom SAmple Consensus, RANSAC)算法[12]在三维坐标系下计算体尺数据。在复杂环境下传感器与牛体侧面成不同偏角的情况下进行了实验,实验结果验证了本文方法的有效性。
1 牛体尺测量相关方法
1.1 材料和方法流程
牛体尺参数主要包括鬐甲高、体斜长、体直长、臀端高,表1中给出了本文测量的牛体尺项目的测量规定。
表1 牛体尺测量规定Tab. 1 Cattle body size measurement regulations
本文方法包括牛体尺特征部位检测方法、牛体尺测点提取方法和牛体尺计算方法三个部分。本文方法的流程如图1所示,相应的伪代码如算法1所示。
图1 本文方法的流程Fig. 1 Flow chart of proposed method
算法1 基于Kinect v4传感器的牛体尺测量方法。
输入 RGB-D图像RGB‑D_img;
输出 多项体尺参数Body_oblique、Body_height、Hip_ height、Body_length。
9) else:
17) else:
1.2 体尺特征部位检测方法
目标检测算法的主要任务是对图像中的目标进行识别和定位,是计算机领域的关键任务。近年来,随着图像数据的大量增加,深度学习模型在图像检测方面的准确度明显提高。
本文从内蒙古苏尼特左旗和察哈尔右旗牧场采集大量牛体全身彩色图像视频,根据体尺测量的需要标注了5 600余张含牛(cattle)、牛头(head)、躯干(body)、牛尻(tail)、前后关节(joint)和四个牛足(hoof)部位的牛体尺特征部位图像,制作了牛体尺特征部位数据集CABM2021(Cattle A Body Measurement 2021)。
本文将CABM2021数据集按照4∶1的比例划分为训练集和测试集。通过深度学习目标检测模型YOLOv5[11]中的YOLOv5s模型对训练集进行训练。YOLOv5目标检测模型的结构如图2所示。该网络模型将输入图像经过缩放操作后大小统一到像素,通过Backbone网络提取特征、Neck网络处理特征,并采用Prediction网络预测出图像中包含的目标框和类别。最后,通过非极大值抑制(Non-Maximum Suppression, NMS)算法排除冗余目标框,保留检测效果最好的目标框作为特征部位的检测结果。
图2 YOLOv5模型结构Fig. 2 Structure of YOLOv5 model
本文训练模型的系统环境为:RTX2080Ti GPU,10.75 GB显存,深度学习框架Pytorch1.60,Cuda10.1。设定YOLOv5s模型初始学习率()为0.01,随机最速下降法(Stochastic Gradient Descent, SGD)动量(momentum)为0.937,权重衰减系数(Weight Decay)为0.000 5,训练最大迭代轮数(epoch)为300,模型训练每次输入图像数量批尺寸(Batch Size)为16,输入图片大小(Img Size)为。
平均准确度(Average Precision, AP)表示准确率(Precision)和召回率(Recall)曲线围成的面积大小,是评价深度学习目标检测模型每个类别检测好坏的重要指标,AP值越大表示该类别的检测效果越好。均值平均准确度(mean Average Precision, mAP)表示所有类别AP值的均值,是衡量模型好坏的重要指标,mAP值越大表示模型的检测结果越好。图3中给出了本文训练模型的训练轮数(epoch)和mAP在交并比(Intersection over Union, IoU)[13]大于0.5时的曲线以及训练轮数和损失函数值的曲线。loss损失函数曲线表示模型训练过程的损失变化,损失值随着训练轮数的增加而减小。在训练过程中,loss曲线损失值收敛于0.075,达到了较好的模型训练效果。
图3 YOLOv5训练过程中的loss曲线和mAP曲线(mAP@0.5)Fig. 3 Loss curve and mAP curve (mAP@0.5) in YOLOv5 training process
将训练完成模型在训练集和测试集标注的6个类别上进行测试,测试结果的AP值如表2所示。
表2 训练集和测试集上各类别的平均准确度Tab. 2 Average accuracy of each category on training set and test set
YOLOv5模型对不同种类牛在不同背景环境和姿态的牛体尺特征部位检测结果如图4所示。
图4 YOLOv5模型对牛体尺特征部位的检测效果Fig. 4 Detection effect of YOLOv5 model on feature parts of cattle body size
提取RGB-D图像信息的前三个彩色通道,通过训练好的YOLOv5目标检测模型[11]对图像进行检测,得到牛体尺特征部位信息。牛体尺特征部位信息由多个体尺部位的检测框信息构成,检测框信息包含检测框类别名称、类别置信度、检测框的左上角在原图中的坐标、检测框的宽度和高度。
根据牛体尺特征部位信息中的两个关节部位(joint)和四只牛足(hoof)部位检测框中心位置到牛头(head)部位检测框中心位置的二维平面欧氏距离式(1),可将牛体尺关键特征部位信息中的关节部位(joint)划分为前关节(joint1)和后关节(joint2),牛足部位(hoof)划分为前足(hoof1)和后足(hoof2)。
牛鬐甲测点在平面图像中位于牛两前足之间,牛肩胛处测点在牛的前关节附近,牛坐骨处测点在牛尾端附近,牛所站地面的点集在牛足边缘附近。可以根据牛体身体特征和牛体尺特征部位信息建立新的牛体尺特征部位信息,新的牛体尺特征部位信息如图5所示。图5中黑色的阴影点为深度相机采集信息失效的点,这是由传感器采集深度信息的误差导致。Kinect v4深度相机的深度信息采集失败的原因包括IR(Infra‑Red)信号饱和、IR信号强度低、滤波异常、超出IR照明罩、多路径干扰、由墙面反射造成的歧义深度等。传感器会将失效的像素点深度值表示为0。
图5 处理后的关键部位Fig. 5 Key parts after processing
1.3 图像牛体关键轮廓提取方法
通过边缘检测得到的二值图像并非简单的边缘轮廓,而是带有多条复杂信息的轮廓,本文借助NumPy(Numeric Python)[14]和OpenCV(Open source Computer Vision)[15]这两个开源技术库的图像处理技术,通过上述牛体尺特征部位检测方法得到的牛体尺特征部位信息对RGB-D图像进行裁剪,裁剪图像左上角在图像中坐标为对应类别检测框的左上角坐标,裁剪图像宽度和高度为对应类别检测框的宽度和高度。根据牛体尺特征部位信息裁剪得到鬐甲、肩胛、坐骨三处测点所在的裁剪图像。裁剪的框线参见图5中withers、tail、joint1检测框。
对去除噪声后的平滑图像根据边缘部位的几何特征,分别运用不同双阈值的Canny边缘检测算法[16]进行边缘检测,得到含有多条轮廓信息的二值图像。
采用轮廓提取算法[17]对数值二值图像进行拓扑分析,区分二值图像边界之间的包围关系。对通过Canny边缘检测算法[16]得到的二值图像采用OpenCV图像处理库中的轮廓提取函数(findContour)进行轮廓提取,得到含有多条轮廓的轮廓集合。由于在裁剪图像中,测点所在关键轮廓长度最长,故本文从含有多条轮廓的轮廓集合中筛选出最长的一条轮廓作为关键轮廓进行测点提取。
图6(a)给出了彩色图像在复杂环境下边缘检测的效果。由于边缘位置往往和外界环境相邻接,彩色图像在边缘检测时容易受到外界环境的干扰,导致边缘检测的阈值难以选择。在复杂场景下,由彩色图像通过边缘检测得到的二值图像信息混乱,不利于轮廓的提取,即文献[4-6,8-9]中的方法难以适用。图6(b)给出了深度图像在同样复杂的环境下边缘检测的效果图,为了可视化方便,图6(b)中的深度图像是经过转换后的伪彩图像。深度图像的形成只与采集器到各点之间的距离相关,不易受外界环境影响,边缘信息提取的效果较好。
图6 彩色图像和深度图像的边缘检测对比Fig. 6 Edge detection comparison between color image and depth image
利用深度图像的性质,本文在对鬐甲和坐骨处测点的边缘检测时采用深度信息进行。由于牛的肩胛处测点不在牛体的外边缘,深度图像难以区分肩胛轮廓,故肩胛处测点的边缘检测使用彩色信息。但是一些牛体由于肤色差异问题,肩胛点使用彩色信息也难以检测到肩胛轮廓信息,本文则寻找位于其肩胛所在牛腿上的测点来代替牛肩胛处的测点。在这种情况下,寻找测点的关键轮廓在牛体边缘轮廓上,则采用深度信息来提取边缘信息。
1.4 图像牛体测点提取方法
根据牛体的轮廓特征,轮廓曲线中曲率最大的点是本文要寻找的测点。但是在进行曲率计算时,需要较为平滑的曲线才能保证曲率计算的准确性,文献[7,9]方法忽略了这一点。由于轮廓的曲线表达式未知,故本文首先对关键轮廓中的点集进行三次多项式拟合,拟合方程形式为。
表3 关键轮廓点集中的部分点集Tab. 3 Some point set of key contour point set
注:加粗数据为测点数据。
图7中给出了关键轮廓中的全部点集位置信息和拟合曲线以及曲线方程的表达式。
本文由上述方法得到了牛鬐甲端、坐骨端、肩胛端的在裁剪图像中3个测点的位置信息,但还需将其转换回原图像中所对应的位置信息,通过式(5)将得到的3个测点转换回原图像中对应的点。
图7 关键轮廓点集的拟合曲线和测点Fig. 7 Fitting curves and measuring points in key contour point set
1.5 牛体尺计算方法
由深度信息、相机参数和官方软件开发工具包(Software Development Kit, SDK)得到二维坐标系点向三维坐标系点的转换矩阵。由于深度相机采集深度信息时存在失效的点,而边缘点往往是容易失效的位置,故本文将二维图像坐标系下的测点转换到三维坐标系下的测点时,基于二维高斯分布函数原理采用式(6)计算转换后的点的近似坐标。本文建立的空间坐标系轴正方向参见图8(a)。
表4 测点及其周围点的深度值Tab. 4 Depth value of measuring points and points around them
注:加粗数据为测点数据。
计算牛鬐甲高、臀端高不光需要牛鬐甲端、坐骨端处的测点,还需要知道测点在三维坐标系下到地面的距离。故本文基于牛体尺特征部位信息,通过对牛体关键轮廓提取的方法提取四个牛足关键轮廓。同时,采集二维平面中牛足关键轮廓附近的点集,将这些点集通过转换矩阵转换到三维坐标系下。然后,基于RANSAC算法对点集进行拟合和分割,地面点集分割为内点,非地面点集分割为外点。本文将距离地面拟合方程10 mm内的点集视作内点,之外的视作外点。RANSAC算法拟合地面方程的形式为。牛四足站立的平面参见图8(a)。
本文在真实三维坐标系下设计体尺参数计算方法,测量结果不易受牛的站姿变化影响。本文采用点到平面距离式(7)计算鬐甲高和臀端高,采用三维空间欧氏距离式(8)计算体斜长。
本文设计的体直长计算方法需要结合体斜长、臀端高和肩端高的数值。图8(b)中给出了由肩端测点、坐骨测点和肩胛前端至坐骨结节后端垂直线与水平线的垂点所构成的三角形。其中三角形的斜边长度为体斜长的数值,两个直角边的长度分别为体直长和臀端高与肩端高的差值。
图8(b)中上方给出了本文方法测量的体尺数据,图像中直线分别为体斜长、体直长、鬐甲高和臀端高的近似测量直线。
图8 二维和三维坐标系下的牛体Fig. 8 Cattle bodies in two-dimensional and three-dimensional coordinate systems
2 实验与结果分析
为验证本文方法的有效性,在背景环境复杂的实验室内使用Inter i5-8250U CPU、8 GB内存的笔记本电脑,Kinect v4设备深度相机窄视场非装箱(NFOV unbinned)模式。该模式下深度相机具有分辨率、的较宽视角和0.5 m~3.86 m的有效深度工作范围。彩色相机使用分辨率模式,相机帧速率设定为15 frame/s,设定深度相机和彩色相机采集信息同步。手动设定相机白平衡值为4 500,其他彩色相机控件为自动,Kinect v4的其他相关参数使用默认值。Kinect v4设备在出厂之前已经校准,本文在实验中使用的Kinect v4相机参数为设备出厂时的校准参数。
由于Kinect v4深度相机的NFOV unbinned模式有深度相机视角和分辨率问题,在距离实验室黄牛侧面约2 m距离时,深度相机才能完整获取实验室黄牛的侧面所有信息。本文在距离实验室内模型牛测量区域2 m~3 m处摆放Kinect设备。实验设定式(6)相关参数为,。人工测量牛体尺时使用的工具为卷尺,精度为1 mm,在保持人工测点与牛特征部位体尺测点一致情况下进行了多次测量并求均值后取整。人工测量的体尺数据参见表5。每次采集实验数据时将实验室黄牛模型旋转一定的角度,使Kinect传感器与实验室黄牛侧面成一定偏角。本文在偏角~15°每隔3°偏角进行一次实验数据统计。本文实验时的复杂环境和本文方法检测的测点及体尺测量数值信息如图8(b)所示,数值显示在图像上方,测点位置和体尺测量直线在图中进行了展示。将本文所提方法检测的鬐甲高、体斜长、体直长、臀端高与人工测量的结果进行了对比,测量结果和相对误差如表5所示,本文采用的相对误差计算式为式(10),平均相对误差计算式为式(11)。
本文的牛体尺测量方法在三维坐标系下基于RANSAC算法对地面平面进行拟合。在实验中多次得到的拟合平面结果法向量都平行于轴,图8(a)中展示了本文建立的三维坐标系,其中向下箭头方向为轴正向,故本文通过RANSAC算法得到的拟合平面平行于地面平面。由表5可知,鬐甲高的最大、最小相对误差分别为1.24%和0.09%;臀端高的最大、最小相对误差分别为2.09%和0.14%。这两项体尺数据的平均测量相对误差分别为0.76%和0.76%,都小于1%,故本文对臀端高和鬐甲高的测量具有较高的精度且比较稳定。实验结果表明,本文基于深度信息和RANSAC算法测量臀端高和鬐甲高的方法有效,测量臀端高和鬐甲高两个牛体尺数据的精度比较高。当偏角绝对值增大时,臀端高和鬐甲高的相对误差会增大,这是由于Kinect设备拍摄牛体侧面获得的信息会随着偏角的增大而减少,导致检测方法对边缘信息的检测效果会变差,获取的边缘轮廓曲线平滑程度下降,则本文所提方法对于坐骨端和鬐甲处测点的检测效果会变差,测点检测的位置会随着偏角绝对值增大渐渐偏移,从而导致相对误差增大。
表5中,体斜长的最大、最小相对误差分别为4.72%和0.19%,平均相对误差为1.68%,体斜长的测量误差不是很稳定。体斜长在角度6°~9°时体斜长测量效果较好,这是因为实验黄牛在制作时,肩端平面与牛体成一定夹角,在偏角时,Kinect v4设备与肩端所在平面所成夹角较小,采集肩端处信息比较多,故对肩端处轮廓提取效果较好,测点的寻找较为准确。在测量时体斜长相对误差较小,原因是随着角度的减小不仅肩胛点周围的信息采集在减少,主要干扰肩端测点提取牛腿周围和脖颈周围的信息采集也在减少,所以肩端测点的提取误差变化不明显。在时,体斜长的测量相对误差较大的原因在于这个角度范围内对肩胛处获取的信息较少,但是由于传感器采集信息时几乎正对牛体侧面,对于脖颈和大腿处的信息获取相对较多,从而导致轮廓边缘提取效果不好,进而造成测点提取偏移,体斜长相对误差增大。此外,体斜长的测量误差不光和肩端处测点的准确提取相关,还和坐骨处测点的准确提取相关。随着角度绝对值的增大,坐骨处采集的信息也在减少,导致臀端处测点的提取位置偏移,故当偏角绝对值等于9°时,随着偏角绝对值的增大体斜长相对误差也随之增大。
表5中,体直长的最大、最小相对误差分别为5.79%和0.23%,平均相对误差为2.14%。体直长测量误差相较于其他体尺数据的测量误差最不稳定,且平均相对误差最大。这是由于本文设计的体直长测量方法与体斜长、臀端高、肩端高多个体尺数据相关联,导致体斜长的测量与肩端处测点、臀端处测点、地面平面拟合精度相关联。故体直长的测量平均相对误差是本文方法的所有体尺数据中最大、最不稳定的一项,其测量精度和其他体尺测量的精度相关联。当其他体尺数据相对误差较大时,体斜长的相对误差也会比较大。
表5 人工和本文方法测量体尺的结果对比Tab. 5 Result comparison of measuring body size by manual and proposed methods
注:BH表示鬐甲高,BS表示体斜长,BO表示体直长,HH表示臀端高。
基于上述分析可知,大多数体尺数据在偏角绝对值超过一定大小时,会导致体尺测量误差的增大。因为随着偏角绝对值的增大,体尺测点处的信息采集量在减少,而干扰信息的采集量在增加,从而导致本文测点寻找准确度下降,进而导致体尺测量误差的增大。此外,当偏角绝对值增大时,YOLOv5[11]目标检测算法对于牛体尺特征部位信息的检测框置信度下降:在偏角达到一定程度时,将无法检测到部分牛体尺特征部位信息;当偏角达到时实验牛肩胛处的信息将不再被检测到;当偏角绝对值达到25°左右和35°左右时,牛的前腿间或后腿间会形成遮挡,牛足的采集信息不足,导致地面平面拟合的效果不稳定,且无法准确确定牛体鬐甲处测点所在轮廓位置。综上,本文得到的最佳检测偏角范围为,最佳测量距离为,在这个范围内所有牛体尺数据都可以获得较好的测量结果。
3 结语
本文提出了一种基于Kinect v4的牛体尺测量方法,利用YOLOv5目标检测算法和深度图像信息特性,有效地减少了在复杂背景下牛体其他部位和测量背景环境对牛体测点提取的干扰。本文所提的体尺测量方法利用深度信息将测点转换到三维坐标系,在三维坐标系下计算体尺数据,不易受站姿偏角的影响。本文的方法在不同偏角下测量体尺数据具有较高的精确度,满足应用的需要,为基于机器视觉测量牛体尺数据提供了新的研究方向。
[1] 张智慧,李伟,韩永胜.牛体尺影响因素及其应用[J].中国畜牧杂志,2018,54(1):9-13.(ZHANG Z H, LI W, HAN Y S. Influence factors and applications for body size of cattle [J]. Chinese Journal of Animal Science, 2018, 54(1): 9-13.)
[2] 王永智.牛的外貌鉴定、体尺测量及体重估测[J].养殖技术顾问,2013(12):20.(WANG Y Z. Appearance identification, body size measurement and weight estimation of cattle [J]. Technical Advisor for Animal Husbandry, 2013(12): 20.)
[3] 陆蓉,胡肄农,黄小国,等.智能化畜禽养殖场人工智能技术的应用与展望[J].天津农业科学,2018,24(7):34-40.(LU R, HU Y N, HUANG X G, et al. Application and prospect of artificial intelligence technology in intelligent livestock and poultry farms [J]. Tianjin Agricultural Sciences, 2018, 24(7): 34-40.)
[4] 江杰,周丽娜,李刚.基于机器视觉的羊体体尺测量[J].计算机应用,2014,34(3):846-850,887.(JIANG J, ZHOU L N, LI G. Sheep body size measurement based on computer vision [J]. Journal of Computer Applications, 2014, 34(3): 846-850, 887.)
[5] 刘同海,滕光辉,付为森,等.基于机器视觉的猪体体尺测点提取算法与应用[J].农业工程学报,2013,29(2):161-168.(LIU T H, TENG G H,FU W S, et al. Extraction algorithms and applications of pig body size measurement points based on computer vision [J]. Transactions of the Chinese Society of Agricultural Engineering, 2013,29(2): 161-168.)
[6] 常海天.种牛体尺非接触测量系统研究[D].长春:长春工业大学,2018:22-54.(CHANG H T. The study on the non-contact measurement system of cattle body [D]. Changchun: Changchun University of Technology, 2018: 22-54.)
[7] 赵建敏,赵忠鑫,李琦.基于Kinect传感器的羊体体尺测量方法[J].江苏农业科学,2015,43(11):495-499.(ZHAO J M, ZHAO Z X, LI Q. Sheep body size measurement method based on Kinect sensor [J]. Jiangsu Agricultural Sciences, 2015, 43(11): 495-499.)
[8] 冯恬.非接触牛体测量系统构建与实现[D].杨凌:西北农林科技大学,2014:22-39.(FENG T. Constructing and implementing for non-touch measurement system of cattle body [D]. Yangling: Northwest Aamp;F University, 2014: 22-39.)
[9] 李琦,刘伟,赵建敏.基于双目视觉及Mask RCNN的牛体尺无接触测量[J].黑龙江畜牧兽医,2020(12):46-50,159-160.(LI Q, LIU W, ZHAO J M. Non-contact measurement of bovine body size based on binocular vision and Mask RCNN [J]. Heilongjiang Animal Science and Veterinary Medicine, 2020(12): 46-50, 159-160.)
[10] LI L. Time-of-flight camera — an introduction [R]. Dallas, Texas: Texas Instruments, 2014.
[11] JOCHER G, STOKEN A, BOROVEC J, et al. Ultralytics/yolov5: v4.0-nn.SiLU() activations, Weights amp; Biases logging, PyTorch Hub integration [EB/OL]. [2021-01-15]. https://zenodo.org/record/4418161#.
[12] FISCHLER M A, BOLLES R C. Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography [J]. Communications of the ACM, 1981, 24(6): 381-395.
[13] YU J H, JIANG Y N, WANG Z Y, et al. UnitBox: an advanced object detection network [C]// Proceedings of the 2016 24th ACM International Conference on Multimedia. New York: ACM, 2016: 516-520.
[14] HARRIS C R, MILLMAN K J, VAN DER WALT S J, et al. Array programming with NumPy [J]. Nature, 2020, 585(7825): 357-362.
[15] BRADSKI G. The openCV library [J]. Dr. Dobb’s Journal: Software Tools for the Professional Programmer, 2000, 25(11):120-123.
[16] CANNY J. A computational approach to edge detection [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1986, 8(6): 679-698.
[17] SUZUKI S, ABE K. Topological structural analysis of digitized binary images by border following [J]. Computer Vision,Graphics, and Image Processing,1985, 30(1): 32-46.
[18] 燕霞.海倫-秦九韶公式[J].数学通报,1955(3):4.(YAN X. Heron-Qin Jiushao formula [J]. Journal of Mathematics (China), 1955(3): 4.)
Cattle body size measurement method based on Kinect v4
ZHAO Jianmin*, ZHAO Cheng,XIA Haiguang
(School of Information Engineering,Inner Mongolia University of Science and Technology,Baotou Inner Mongolia014010,China)
Aiming at the complexity of image background and difficulty of feature point extraction in cattle body size measurement based on machine vision, a new cattle body size measurement method based on Kinect v4 sensor was proposed. In this method, the color and depth images were collected,and the body size data were calculated by the body feature points extracted by the combination of algorithms such as object detection,Canny edge detection, and three-point arc curvature. Firstly, an image dataset of feature parts of cattle body size was created, and the deep learning You Only Look Once v5 (YOLOv5) target detection algorithm was used to detect feature part information of cattle body size in order to reduce the interference of other parts of cattle body and background on the extraction of body size measuring points. Secondly, with the help of Canny edge detection,contour extraction and other image processing algorithms in Open source Computer Vision (OpenCV) image processing library, the key contours with measuring points of cattle body size were obtained. Then, the algorithms such as polynomial fitting and three-point arc curvature were performed on the key contours to extract the measuring points of cattle body size in two-dimensional image. Finally, the depth information was used to convert the measuring point information in two-dimensional image to three-dimensional coordinate system, and the cattle body size measurement method was designed in three-dimensional coordinate system with the RANdom SAmple Consensus (RANSAC) algorithm. Through the comparison between the experimental measurement results with the sensor and the side of cattle body at different angles and manual measurement results in a complex environment, it can be seen that the average relative error of withers height is 0.76%, the average relative error of body oblique length is 1.68%, the average relative error of body straight length is 2.14 %, and the average relative error of hip height is 0.76% in cattle body measurement data. Experimental results show that the proposed method has high measurement accuracy in complex environment.
cattle; body size measurement; target detection; image processing; Kinect sensor; depth information
TP391
A
1001-9081(2022)05-1598-09
10.11772/j.issn.1001-9081.2021030532
2021⁃04⁃08;
2021⁃06⁃30;
2021⁃06⁃30。
内蒙古自治区科技重大专项(2019ZD025);内蒙古自治区自然科学基金资助项目(2019LH06006);包头市昆区科学技术发展项目(YF2020014)。
赵建敏(1982—),男,内蒙古包头人,副教授,硕士,主要研究方向:图像处理、机器学习; 赵成(1997—),男,天津人,硕士研究生,主要研究方向:计算机视觉、图像处理; 夏海光(1981—),男,内蒙古赤峰人,助理研究员,硕士,主要研究方向:图像处理。
This work is partially supported by Major Science and Technology Special Project of Inner Mongolia Autonomous Region (2019ZD025), Natural Science Foundation of Inner Mongolia Autonomous Region (2019LH06006), Science and Technology Development Project of Kunqu District, Baotou City (YF2020014).
ZHAO Jianmin, born in 1982, M. S., associate professor. His research interests include image processing, machine learning.
ZHAO Cheng, born in 1997, M. S. candidate. His research interests include computer vision, image processing.
XIA Haiguang, born in 1981, M. S., assistant research fellow. His research interests include image processing.