李炉锋,廖生海,孟宪嵩,王国栋
(河海大学 理学院,江苏 南京 210098)
基于计算机视觉的机械运动分析
李炉锋,廖生海,孟宪嵩,王国栋
(河海大学 理学院,江苏 南京 210098)
利用Matlab的计算机视觉跟踪功能,以单摆的大角度运动为例,研究了机械运动的位移与时间的关系,并且直接给出阻尼等不易测量的参量,提高了实验的精度和准确性.
单摆;机械运动;视觉跟踪
随着计算机的发展,使用计算机视觉功能对运动的物体进行跟踪、测量,不仅记录的数据更加准确,还可以更加方便地进行数据分析、曲线拟合,并且可以直接得到难以测量的参量. 本文利用Matlab的计算机视觉功能,以单摆的大角度运动为例,进行机械运动的运动分析和阻尼等参量的测量.
1.1 机械运动方程的确定
计算机视觉可以对运动轨迹跟踪与记录,并根据记录的坐标点画出位移-时间的点. 在输入理论上的运动方程后,Matlab根据数据拟合出实际运动方程,进而计算出阻尼系数等参量.
由于本次实验采用单摆为研究对象,故需先推出单摆的大角度运动的理论方程.
当单摆的摆角θ较小时(θ<5°),可近似地认为单摆做简谐运动. 但当单摆的摆角较大(θ>5°)时,可根据牛顿第二定律得到单摆的运动方程. 设单摆摆长为l,重力加速度为g,则有
(1)
考虑到阻力时,式(1)就可变为
(2)
为了得到式(2)的解析解,将sinθ傅里叶级数展开并取前3项,可得
(3)
将式(3)代入式(2),得
(4)
(5)
1.2 单摆的阻尼测定原理
取单摆的横向位移x为参考量,即
x=lsinθ,
(6)
对最大横向位移x0和最大角振幅θ0有
x0=lsinθ0,
(7)
由式(7)得到
(8)
将式(8)和式(5)代入式(7)得到横向位移x与时间的关系式为
(9)
(10)
令
(11)
通过Matlab使用计算视觉功能来进行实验的具体操作步骤如图1所示.
图1 实验步骤
2.1 计算机视觉跟踪方法选取
利用“KLT”法对物体进行跟踪. “KLT”法属于光流法,所谓光流,即图像亮度模式的表观运动,是指时变图像中的模式的表观运动. 即物体在运动时,它在图像上对应点的亮度模式也在运动. 利用图像序列中像素在时间域上的变化和相邻帧之间的相关性找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的方法,即为光流法. 光流法需要的条件为:空间一致,临近点有相似运动,保持相邻;亮度恒定;时间连续或者运动是“小运动”. 小范围机械运动恰好满足以上条件,而且该方法具有跟踪准确、计算处理迅速等特点.
2.2 特征点选取算法
在跟踪前需要选择定跟踪目标,将选择框移动至跟踪目标上,选取跟踪目标的特征点. 特征点是跟踪目标的基础,目标的特征点越多,跟踪的准确度就越高.
本文采用了功能比较全面、速度比较快的MinE算法.
2.3 利用Matlab将数据进行拟合并分析
利用Matlab对视频进行跟踪并记录数据,由单摆的特性,直接画出单摆的时间与横向位移图像,即x-t图像. 得到图像后,先在Matlab中输入所需要拟合的公式用Matlab “nlinfit”函数,该函数使用最小二乘法进行拟合,以给出所要的参量,如阻尼等数值.
为了证明该方法分析机械运动轨迹的普适性,本次实验选取鼠标作为实验用单摆. 其摆长为0.80 m.
1)将所需要分析的机械运动录制成视频,也可通过Matlab的录像功能,使用与计算机连接的摄像装置进行视频录制. 如果条件合适,最好将目标标记出与周围不同的颜色.
2)如图2所示,点击按钮载入视频.
图2 特征点的确定与选取
3)特征点的确定与选取. 将选取框对准目标区域,选择特征点选取算法. 由于Mine算法得到的特征点更多,故选取此方法.
图3 数据拟合
4)利用KLT算法跟踪并记录数据,画出图像. 图3中绿点即为所记录点轨迹.
5)输入单摆的运动方程,通过nlinfit拟合函数使用最小二乘法在运动方程的基础上进行数据拟合,得到拟合曲线.
6)通过拟合函数,Matlab会直接给出参量. 在拟合中长度均为视频中图像长度,故并不能当成实际长度进行计算. 另外,图像中时间单位为帧. 实验使用视频为29帧/s. 所得数据见表1.
7)验证数据之间关系是否符合理论. 将所有理论值或实际测量值与计算值相比较,得到的实验数据见表1.
计算得到,实验偏差在3%左右. 通过计算机视觉测量机械运动的方法是可行的.
表1 实验数据
在机械运动的研究中,通过计算机视觉的使用,可以达到分析、测量机械运动轨迹的目的. 通过计算机视觉技术,可以快捷、准确地进行机械运动的模拟、阻尼计算等,达到了自动化的作用,并且具有实时性. 在物理的学习与实验中,也可以达到快速测量、数据验证等作用,例如单摆的运动,可以直接得出阻尼系数、摆长等参量. 该方法具有普适性,方便了学习与研究的进程.
[1] 何松林,戴祖成,黄焱. 弱阻尼非线性单摆的周期研究[J]. 大学物理,2009,28(8):20-22.
[2] 赵凯华,罗蔚茵. 新概念物理教程·力学[M]. 2版. 北京:高等教育出版社,2004.
[3] 张志勇,杨祖樱. MATLAB教程[M]. 北京:北京航空航天大学出版社,2006.
[4] 王经淘,程敏熙,贾昱,等. 利用Tracker软件分析气垫导轨上弹簧振子的阻尼振动[J]. 大学物理,2014,33(4):22-24.
[5] 李硕,赵彤帆,李根全,等. Matlab软件在单摆自由振动中的应用[J]. 实验室研究与探索,2013,32(11):65-68.
[6] 肖波齐,兰金标,张伟,等. 考虑空气阻力时大角度单摆的周期研究[J]. 陕西科技大学学报,2011,29(4):105-107.
[7] 杨艳,康戈文. 基于光流法和颜色概率分布的特征点匹配[J]. 现代电子技术,2009,32(16):129-131.
[8] 李纪强,周斌,丁益民. 单摆混沌现象的研究[J]. 湖北大学学报,2013,35(4):513-517.
[9] 谢文海,吉莉,滕艳萍,等. 阻尼振动的Mathematica模拟[J]. 大学物理实验,2014,27(5):80-83.
[10] 吕琪,叶倩. 摆动规律的简易实验探究与理论分析[J]. 物理实验,2014,34(7):10-13.
[11] 史彤阳,孔维姝,胡林,等. 不同流量沙漏摆的振动规律[J]. 物理实验,2015,35(10):37-30.
[责任编辑:尹冬梅]
Analysis of mechanical motion based on computer vision
LI Lu-feng, LIAO Sheng-hai, MENG Xian-song, WANG Guo-dong
(College of Science, Hohai University, Nanjing 210098, China)
Using the trace function of computer vision based on Matlab software, the relationship between displacement and time of mechanical motion was studied, taking simple pendulum with a larger angular displacement for example. Some difficult-to-measure parameters were obtained. This method improved the precision and veracity of the experiment.
simple pendulum; mechanical motion; visual tracking
2016-06-24;修改日期:2016-10-04
李炉锋(1994-),男,河南洛阳人,河海大学理学院应用物理专业2013级本科生.
指导教师:王国栋(1975-),男,山东菏泽人,河海大学理学院讲师,博士,从事光学方向的研究工作.
普通物理实验
O4-39;Q313
A
1005-4642(2016)11-0010-03