APP下载

基于机器视觉的马体尺测量系统设计与研究

2018-01-05张婧婧李勇伟

计算机测量与控制 2017年12期
关键词:体尺胸围体长

张婧婧,李勇伟

(1.新疆农业大学 计算机与信息工程学院, 乌鲁木齐 830052; 2.新疆农业大学机械交通学院,乌鲁木齐 830052)

基于机器视觉的马体尺测量系统设计与研究

张婧婧1,李勇伟2

(1.新疆农业大学 计算机与信息工程学院, 乌鲁木齐 830052; 2.新疆农业大学机械交通学院,乌鲁木齐 830052)

传统马体尺的人工测量方法工作量大且存在安全隐患,对此提出基于线性回归理论和机器视觉技术的马体尺测量方法,旨在测量马体的基本数据如体高、体长、胸围、管围;首先,在Matlab中利用图像腐蚀方法得到马体轮廓,并在2D图像上精确定位马体坐标,获得体高、体长指标;然后,自定义胸径、管径指标,代入线性回归方程预测胸围、管围;最后利用Matlab GUI工具设计系统可视化界面,并初步完成系统的仿真测试;仿真结果表明,利用线性相关及线性回归理论解决3D指标的预测问题,具备测量依据和借鉴意义。

焉耆马;体尺;线性相关;多元线性回归; Matlab GUI

0 引言

马的体尺测量指标分为:体高、体长、胸围、管围、头长、头宽、尻宽、尻长、胸宽、胸深、胸廓宽、背高、尻高、颈长、肢长等,传统的人工测量一般采用测杖、卷尺、圆形测定器、测角计等工具进行,测量过程中采集数据的工作量大,且测量人员和马的安全均缺乏必要的保障,存在安全隐患,因此基于机器视觉的非接触测量就成为体尺测量领域的热点技术之一。

目前,基于机器视觉的动物体尺测量改变了接触式的测量方法,国内相关研究包括:刘同海、滕光辉等人利用背景减法和去除噪声算法得到猪体体尺测点[1];江杰、周丽娜等人利用背景差分法提取羊体轮廓[2-3];刘波、朱兴伟等人运用自动阈值分割与形态学处理进行轮廓分割[4];赵建敏等人研究了基于 Kinect 传感器搭建的羊体尺测量系统,利用彩色、深度图像的多元信息提取羊的体尺[5-6]等等。与此同时,由于3D 机器视觉技术发展迅速[7-9],现有的激光或其它点云获取设备也可以用于体尺测量,但其测量成本较高。

借鉴动物体尺的研究成果,依据新疆马业协会发布的地方标准,利用2D机器视觉的技术平台,模拟多元线性回归算法,我们建立了新疆马体尺四项指标的采集模型,旨在完成马体尺测量系统的初步设计。

1 马体尺的测量标准

根据新疆马业协会发布的地方标准,测量马体尺的基本数据包括体高、体长、胸围、管围,其测量标准如下:

体高:从鬐甲顶点到地面的垂直距离;

体长:从肩端到臀端的直线距离;

胸围:在肩脚骨后缘垂直绕胸一周的长度;

管围:左前管部上1/3部的下端最细处,水平绕其一周的长度。

2 机器视觉的体尺测量方法

2.1 测量方法简介

在机器视觉的体尺测量系统中,我们选用马体平面图像进行体尺数据的采集。在2D图像中,马的体高、体长根据平面测量技术即可完成,如图1中A-A线、 B-B线所示;而在测量标准中,马的胸围、管围的测量均属3D指标,平面测量很难实现,如图1中C-C线、 D-D线所示。为此系统测量中定义了马的胸径、管径测量指标,仍然利用平面测量技术完成数据采集,如图1中E-E线、 F-F线所示(实际坐标与C、D点重合),而该测量方法的核心在于利用2D平面中的各项指标(体高、体长、胸径、管径)实现3D空间胸围、管围数据的预测。

图1 马体尺测量的2D示例

2.2 测量方法的理论依据

利用自定义的胸径、管径指标完成胸围、管围预测的依据来源于矩阵的线性相关理论。相关系数的标准定义如下[10]:

r=E{(x-E{x})*(y-E{y})}/

(1)

其中:E{}为期望值,|r|=1表明两者相关,|r|=0表明两者不相关。

我们以20匹焉耆马的体尺数据为依据,在Matlab仿真软件中进行了马体尺各指标之间的线性相关性探讨。根据公式(1),调用corrcoef()函数,可以得到了马体的体高与体长、体长与胸围、胸围与管围、胸围与胸径、管围与管径间线性关系的数据,如表1所示。

表1 马体尺指标之间线性相关数据

由表1不难看出,焉耆马的体高、体长、胸围、管围、胸径、管径等指标之间满足两两线性相关条件,具有不同程度的相关性。根据多元线性回归理论,马体尺各指标之间存在一定线性关系,据此能够建立多元线性回归方程,使得借助2D指标进行3D数值的预测成为可能。

3 体尺测量系统的关键技术

3.1 2D图像的轮廓提取

在机器视觉的体尺测量领域,为了增强数据测量的可靠性,首先需要进行图像的轮廓提取。本设计中,通过调用Matlab的imerode()函数实现2D图像的腐蚀,其用法为:Imerode(X,SE),其中X是待处理的图像,SE是结构元素对象;腐蚀后得到图像的内部像素点,而原图像减去内部像素点即留下边界点,即:Iout=I-Ie,本设计中轮廓提取效果如图2所示。

图2 马体尺的轮廓提取效果

如图2(a)所示,仿真中采用的马标本与背景颜色相差较大,适于选择简易的图像腐蚀算法得到轮廓,如图2(b)所示。而实测过程中,当待测动物与背景颜色相差不大,无法单纯分割出目标动物轮廓时,还可以采用一维Canny算子、robinson算子以及二维Laplace算子[ 11]等进行图像边缘检测,以提高轮廓提取的准确度。

3.2 建立体尺预测模型

马体尺模型的建立主要依据多元线性回归理论,根据多元线性回归方程:

y=b0+b1x1+…+bpxp+e

(2)

首先,在马体尺指标中适当选取自变量及应变量x1,x2,…xp,y,根据现有的n组观测值(xi1,xi2,…xip,yi)i=1,2,…,n.

建立数据回归模型后,将系统中的实测值代入方程,即能预测平面测量不到的数据。依据此测量方案,我们首先以20匹焉耆马的体高、体长、胸径为自变量x1、x2、x3,以胸围为因变量y,建立多元线性回归方程[13],如方程(3)所示。

y=-7.2982+0.9273*x1-0.023*x2+0.7713*x3

(3)

其中:r2=0.8393;F=27.8605;P=1.3728×10-6。由P可知,公式(3)的回归模型成立,即马体的胸围预测模型建立。随后当我们将实测的体高、体长、胸径代入方程(3),即可预测马体的胸围。

同样,我们以马的体高、体长、管径为自变量x1、x2、x3,以管围为因变量y,建立多元线性回归方程,如式(4)所示:

y=9.5648+0.0517*x1-0.0120*x2+0.4703*x3

(4)

其中:r2=0.9480;F=97.1776;P=1.7502×10-10。由P可知,公式(4)的回归模型成立。当我们将实测的体高、体长、管径代入式(4),即可预测马体的管围。

模型的仿真中,我们调用Matlab的线性拟合函数regress()方法[14]建立回归方程。为了提高预测数据的有效性,初步建模后还针对数据进行rcoplot()残差分析,剔除异常点,以便准确获取回归方程,从而确立预测马体尺胸围、管围的基本模型。

3.3 体尺测量系统的可视化界面设计

鉴于系统的前期设计基于Matlab仿真,后期利用Matlab GUI工具完成系统的可视化设计具有显著优势。系统交互式界面中涉及的主要控件包括Matlab GUI工具中的axes、pushbutton、edit、uitable、text等控件,其具体功能如表2所示。

表2 交互式界面中控件的主要功能列表

与控件相关的核心代码如下:

1)在axes中嵌入图像

(a)打开图像

[filename, pathname] = uigetfile({'*.bmp;*.jpg;*tif', '(*.bmp), (*.jpg), (*.tif)'; ...

'*.*', 'All Files(*.*)' }, 'Select a face image to be recognized');

filepath = [pathname,filename];%指定图像路径

(b)将图像显示于axes中

axes(handles.axes2); % axes上面的坐标轴做为当前坐标轴,在其上做图。

2)获取、显示坐标

(a)跟踪鼠标定位

test_mouse_track();%添加鼠标响应事件

set(gcf,'WindowButtonDownFcn',@ButttonDownFcn);

ButttonDownFcn(src,event) ; %跟踪鼠标按键的动作

get(gca,'CurrentPoint') ;%获得当前坐标

(b)显示当前坐标

str = sprintf('x = %.3f, y = %.3f', x, y);

text(x, y, str,'Color',[1,0,0]);%显示坐标的位置,预测马体尺测量的准确性

3)计算坐标点的距离并显示

(a)计算坐标距离

disp(t2);

E=sqrt(t1+t2) ;

(b)显示测距结果

set(handles.edit4,'string',C); %将计算结果显示在edit中

4)保存体尺数据到uitable及excel文档

(1)保存数据至uitable

set(handles.uitable2,'Data',A) ; %数据输出

(2)保存数据至excel

lswrite('tmp.xls', F, 'sheet1') ; %数据保存

5)数据从excel导入uitable

filename = 'tmp.xls'

B = xlsread(filename); %导入指定文件

set(handles.uitable1,'data',B) ; % 数据导入表格

6)取出数组进行多元线性计算

[b,bint,r,rint,stats]=regress(Y,X,0.05) ;%调用regress方法

7)进行数据残差分析

rcoplot(r,rint)% 绘制残差图

8)数据显示在edit中

set(handles.uitable4,'Data',A) ; %数据输出

4 体尺测量系统的设计与初步实现

4.1 系统的设计流程

基于Matlab开发平台,测量马体尺需要依次完成轮廓提取、坐标定位、距离测量、数据保存、数据传递、回归分析、预测值显示等步骤,其具体流程如图3所示。界面设计中,图像的尺寸与实际马体的尺寸按照比例对应,比例值为1: 42.5。

图3 体尺测量系统设计流程

如图3所示,建立预测模型的核心思路在于首先获取马体的体高、体长、胸径、管径指标,再将体高、体长、胸径向量代入已建立的回归方程(3),预测胸围;然后将体高、体长、管径数据代入已建立的回归方程(4),预测管围,进而完成马体四项指标的测量模型。

4.2 系统的初步测试

以马标本图像的体尺数据为依据,我们在可视化界面中进行系统的设计并初步测试,测试效果如图4、图5所示。

图4 马体尺的数据测量界面

图5 马体尺的数据分析界面

根据图4可知,受面板尺寸的限制,测量中获取体长、体高与胸径、管径数据分别置于两副图像轮廓中操作,降低了坐标定位过程中重复操作、误操作的可能性。系统仿真中用红色文本显示马体坐标,并将有效坐标用虚线连接,直观呈现体高、体长、胸径、管径的测量数据。同时在数据测量界面,我们选用edit文本框显示体尺数据的运算结果,并将结果存储进Excel表格,随后进入线性回归分析阶段(如图5所示)。

根据图5可知,模型预测的指标为马体的胸围、管围。仿真中首先从Execl中提取体高、体长、胸径、管径数据,将其传递到线性回归方程中。在此之前,系统首先需要对其进行异常点的排除,并将残差图显示于界面上,以此确认数据的有效性,从而降低坐标定位引起的测量误差。即在图5的线性回归分析区,20条样本值均在回归方程的有效计算范围内波动,残差分析图中均呈现绿色的正常点;如某一组测量值代入方程中呈现红色异常点,则需要剔除并重新测量。

总之,系统正常运行后,所有预测值均建立在马体尺线性回归模型的基础上,每测量一组平面指标(体长、体高、胸径、管径)即能预测两个3D指标(胸围、管围)。

5 结语

基于matlab开发平台,本系统初步实现了马体的体长、体高、胸围、管围的测量方法,对相关体测系统的开发具有借鉴意义;系统设计中应用线性相关及线性回归理论解决2D数据预测3D尺寸的问题,具备测量依据和理论创新;此外,鉴于胸径、管径与胸围、管围相关系数较高,定义胸径、管径作为线性回归方程的自变量,增强了胸围、管围预测的可靠性。值得注意的是,仿真中也存在很多不足之处。如线性相关分析和线性回归方程均取决于少量马体尺的样本数据,因此不可避免地造成体尺预测的准确度不足。较之马体尺的人工测量过程,基于机器视觉的体测系统对马的站姿要求更高,对于站姿不标准造成的测量误差,系统设计中尚无有效的修正方法。

目前,基于机器视觉的动物体尺测量技术已经全面展开。各种测量方案中,依据机器学习、线性拟合理论实现的平面测量方法具备成本经济、操作简便的优势,然而较之人工测量,计算过程中坐标定位引起的测量误差仍无法回避。

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

[2]江 杰,周丽娜,李 刚.基于机器视觉的羊体体尺测量[J].计算机应用,2014,34( 3) : 846-850,887.

[3]江 杰,岳 伟,曹孟珍.基于机器视觉的羊体体尺测量方法研究[J].内蒙古科技大学学报 , 2015 , (04) : 322-327.

[4]刘 波,朱伟兴,霍冠英.生猪轮廓红外与光学图像的融合算法[J].农业工程学报,2013,29(17) : 113-120.

[5] 赵建敏,许晓伟,贾慧媛.基于 Kinect传感器的羊体体尺测量系统[J].传感器与微系统,2015,34( 9) : 100-103.

[6]赵建敏,赵忠鑫,李 琦.基于Kinect传感器的羊体体尺测量方法[J].江苏农业科学, 2015(11): 495-499.

[7]郭 浩,张胜利,马 钦,等.基于点云采集设备的奶牛体尺指标测量[J].农业工程学报,2014(05):116-122.

[8] Garlie T N, Obusek J P, Corner B D, et al. Comparison of body fat estimates using 3D digital laser scans, direct manual anthropometry, and DXA in men[J]. American Journal of Human Biology, 2010, 22(5): 695-701.

[9] Eder M, Brockmann G, Zimmermann A, et al. Evaluation of precision and accuracy assessment of different 3-D surface imaging systems for biomedical purposes[J]. Journal of Digital Imaging, 2013, 26(2): 163-172.

[10]蒋福坤,刘正春,柴惠文.多维随机变量的线性相关性[ J] .数理统计与管理,2008, 27(1) : 96-99 .

[11]江笑婵,万振凯,陈 利.基于matlab边缘提取的几种方法的比较[ J] .电脑知识与技术,2006,2 : 138-141 .

[12] 魏宗舒.概率论与数理统计教程[ M].北京: 高等教育出版社,2008.

[13] 戴金辉,袁 靖. 单因素方差分析与多元线性回归分析检验方法的比较[J]. 统计与决策,2016(09):23-26.

[14]虞晓胤,杨小虎.功能性回归测试工具分析[J]. 计算机应用与软件. 2007, 24(05):175-177.

Design and Research of Measurement System of Horse Body Based on Machine Vision

Zhang Jingjing1,Li Yongwei2

(1.College of Computer and Information Engineering, Xinjiang Agricultural University, Urumqi 830052,China;2.Mechanical Transportation College, Xinjiang Agricultural University , Urumqi 830052,China)

The traditional manual measuring method of horse body usually have large workload and security risks.Based on linear regression theory and machine vision technology,we put forward the new measuring method of horse body. The basic data is designed to measure the horse such as body height, body length, chest length, vessel length.Firstly, the image is used to get the horse body contour by image erosion based on Matlab, and the body coordinate is accurately located on the 2D image, so we can obtain the body height and body length index. then, diameter of the chest and diameter of the vessel were defined to predict chest length and vessel length by plugging into equation of linear regression; Finally,we use the Matlab GUI to design the visual interface of the system, and complete the simulation test of the system. The simulation results show that the linear correlation and linear regression theory which can be used to solve the prediction problem of 3D index has the basis of measurement and reference.

Yanqi horse; body size; linear correlation; Linear regression; Matlab GUI

2017-04-09;

2017-05-12。

新疆农业大学校前期资助项目(XJAU201516)。

张婧婧(1981-),女,硕士,高级实验师,主要从事嵌入式技术与应用方向的研究。

李勇伟(1973-),男,硕士,讲师,主要从事传感器技术与应用方向的研究。

1671-4598(2017)12-0017-04

10.16526/j.cnki.11-4762/tp.2017.12.005

TP242. 6+2

A

猜你喜欢

体尺胸围体长
家畜体尺自动测量技术研究进展
脖子占体长一半的巨龙——新疆巨龙
探讨假体凸度对假体隆乳患者术后胸围及罩杯的影响
外泌体长链非编码RNA在膀胱癌中的研究进展
肉羊体尺测量 用上“智慧眼”
金川成年母牦牛一年消长的体尺体重测定
马站红鸡生长与繁殖性状的主成分分析
利用几何相似性快速测量鱼重的数学模型
胸围革命
不同规格圆口铜鱼幼鱼的化学组成和能量密度