论文部分内容阅读
当前居民对于牛肉和牛奶制品的消费带动了牛养殖的规模,牛养殖过程中生长状态检测是不可缺少的环节,最直接的方式就是进行各项体尺的测量。传统人工测量多将牛固定,要求牛的站立姿势要正,场地要宽阔,多人合作迅速完成测量,通常也只是粗略进行测量,结果并不很准确。本文将机器视觉的相关知识和稀疏重建结合起来,借助MATLAB等平台,通过非接触测量的方法完成牛体体尺的测量。主要研究工作和内容有:(1)牛体图像的获取。这里用数码相机拍摄目标牛体图像,采集地点选择在内蒙古某大型牧区的户外草场,通过平移相机从多角度采集牛体图像。(2)图像预处理。首先是彩图灰度化处理,接着去除背景,而后对其进行中值滤波、降噪、锐化等操作来提升图片的质量,运用Canny算法和OR运算相结合,综合模糊分割和边缘信息进行图像分割,去除断边,对分割后的图像进行数字形态学闭运算填充物体内细小的空洞,连接邻近物体,平滑其边界。(3)特征点检测和匹配。这里通过对比SIFT和SURF两种算法在特征点数量和匹配的准确程度,最后选择SIFT算法进行特征点提取和匹配,利用RANSAC算法剔除错误匹配的特征点,最后对图像进行了加权融合。(4)进行稀疏重建。这里用加权融合的图像进行SFM操作,即从运动恢复结构,在VisualSFM和MeshLab等软件和平台上生成稀疏的点云来完成目标牛体轮廓的稀疏重建过程。(5)牛体体高和体直长的测量。通过稀疏重建方法将牛体轮廓重建出来,并对轮廓进行了突出显示,利用牛耳标进行标定,确定出图像中像素的长度与实际数据的对应关系,根据体高和体直长的定义,在图像上找到测点,并对体高和体直长进行标线,通过标线线段的像素距离通过换算计算出体高和体直长的实际距离。经过对选取的数据对比可知,利用图像测量的方法所得到的体高和体直长最大相对误差分别为0.47%、0.08%,均在体尺测量要求的允许误差范围内,测量数据误差较小,相比传统人工测量较为方便,测量安全性也得到了提高,测量精度较高,测量结果准确,可以将其运用到现代畜牧中牧民对于牛体的日常的体尺测量中。