- 1 -
中国科技论文在线
基于图像深度估计的微位移检测系统
袁韬,黄涛,陈文**
作者简介:袁韬(-),男,无,主要研究方向:智能信息处理
通信联系人:黄涛(1968—),男,教授,主要研究方向:智能信息处理
(武汉理工大学信息工程学院)
5 摘要:如今,在检测领域,涉及位移或距离的检测主要使用的方法包括了四种:超声波测距,
微波测距,激光测距和视觉测距。根据人眼的光电探测原理,视觉测距以 CCD 摄像机作为
外设信息收集器,来实现对外界环境信号,特别是距离信息的采集,即深度估计。起源于计
算机视觉原理的精度测量技术普遍应用于工程领域,通常所使用的平台搭建简易,过程快速
便捷,无需触摸操作,精度高。光学系统对目标图像的细节分辨能力在视觉测量中是一项重10
要指标,它决定了了图像的测量精度,因此,要想对微零件进行准确的形状或者位置检测,
要有足够清晰的图像细节。本论文实现了基于图像深度估计的微位移检测系统,选取了适用
于显微图像的去噪方法和图像清晰度评价函数,以基于曲线拟合的测距算法来换算实际的汽
车阀阀芯位移,位移检测的误差率为 %,清晰度辨识精度为 120*103/um,最小的辨识
距离为 20um。 15
关键词:图像深度估计,测距算法,曲线拟合
中图分类号:
Detection System of Microdisplacement Based on Image
Depth 20
Yuan Tao, Huang Tao, Chen Wen
(School of information engineering,Wuhan University of Technology)
Abstract: Nowadays, the main methods used in the testing field, relates to the displacement or
distance detection include four kinds: ultrasonic, microwave ranging, laser range finder and vision
measurement. According to the photoelectric detection principle of the human eye, vision 25
measurement with CCD camera as the peripheral information collector, to achieve the
environmental signals, especially the distance information collection, depth estimation. Precision
measurement technology originated from the principle of computer vision is widely used in
engineering field, usually by the use of the platform to build simple, fast and convenient, without
touch operation, high accuracy. The optical system of the details of the image resolution is an 30
important index in the visual measurement, it determines the measurement accuracy, image,
therefore, to shape or position detection accuracy of micro parts, must have the enough clear
image this paper, the micro displacement detection system based on image depth
estimation, selecting suitable for image denoising and image clarity evaluation function, auto
valve spool displacement measurement method based on curve fitting to convert the actual 35
displacement, error detection rate was %, the accuracy of identification for the 120*103/um
definition, identification of the minimum distance for 20um.
Key words: Estimation of Image Depth, Method of Displacement Measurement,Curve Fitting
0 引言 40
随着科学技术的快速发展,制造业自动化趋势进展变得愈来愈强劲,而相关的测量工作
在实现自动化的过程中是不可或缺的关键环节,可以说是贯穿始末。由于工业发展的需要,
元件正向着结构的精密化、体积的微小化转变,因此高精度的测量对于这些微零件的性能检
测很重要。在各个制造业行业,如医用药物、化学工业、机械制造、生物产业等,都有着微
小尺寸物体的精确测量问题。比如说精密机械制造业中的镜面曲率、阀芯深度、螺纹间距;45
- 2 -
中国科技论文在线
生物产业中的食品微生物含量、细胞染色体识别;化学工业制造中的物质内部结构、离子键
等等,这些个目标物的测量难度很大,其视场范围狭小,对于分辨率和测量精度的要求高。
因此,为了能够有效的解决这样的难题,人们也开始应用相应的计算机视觉测量技来达到精
确的目的。
传统的成像系统的化学成像方式已随着 CCD/CMOS 图像传感器的发展[1]应用而被数字50
成像技术完全取代。同时,数字成像技术也随着个人计算机、微电子技术以及大规模、超大
规模集成电路的迅速发展而日新月异,各种功能各异的数字相机、摄像机已广泛应用于医疗
检查、银行监视、交通监管、煤矿采掘等各个领域[2]。这也为求取图像中蕴含的深度信息的
方法的提出提供了新的平台和方向。
本论文主要为了得到目标工业元件的微位移,即通过获取目标工业元件的位移面在移动55
前后的不同图像的深度信息,求得目标工业元件的微位移情况;对常用的测距算法的优缺点
进行比较,结合实际的环境影响,提出了采用曲线拟合的方法实现深度信息的估计。
1 视觉测距的方法与选择
基于曲线拟合的测距方法可行性分析
曲线拟合是一种求取数据集所装载的曲线走势预知的数据处理方法,它用连续曲线近似60
逼近或比拟平面上离散的数据点集,以获取数据集内部的函数关系的,甚至于预知符合数据
集内部规律的其他数据。在初期阶段,提出来的曲线拟合方法基本都是用解析表达式的方式
来逼近离散的数据集。而渐渐地,随着一些非线性理论的发展,如人工神经网络,以及对曲
线拟合的不断深入研究,曲线拟合在非线性拟合方面也有了长足的发展与改变[3]。视觉测
距中,光学成像的示意图如图 1-1 所示 65
P
L
ID
光轴
u s
v s-v
2R
D/2
f
P’
P”
图 1-1 摄像头光学成像示意图
L-镜头;u-物距;f-镜头焦距;v-聚焦时,对焦平面与透镜镜面的间距;s-散焦时,图像
探测器与透镜面的间距;P’-精确聚焦点;P’’-模糊成像点;D-透镜孔径直径;R-模糊光圈半
径;ID 图像探测器。 70
根据透镜成像原理:聚焦时透镜镜面与对焦平面的间距 v、摄像头焦距 f 和物面到透镜
镜面的距离 u 的关系下式表示:
vu
11
f
1
由图 1-1 的光学成像的光路可知,物体聚焦时,其上的一个点正好会在成像平面上再次
聚焦成一个点,此时,在图像探测器上的成像是最清晰的,这里的成像面就是对焦平面;若75
- 3 -
中国科技论文在线
是成像平面与镜头的距离发生改变,物体上的一个点在成像平面上就会发生扩散现象,成为
一个具有半径为 R 的圆形光斑,不同点的圆形光斑互相重合就导致了成像平面上所成的像
是模糊的。明显的,成像平面和对焦平面的距离(u-s)与图像的散焦程度成正比,距离(u-s)
越大,代表着散焦程度也越大,图像的模糊程度也越高。即任意时刻的光学成像原理用公式
表示如下: 80
vu
D
R
11
f
1
2
*s
当摄像机本身的参数固定时,上述表达式简化为:
RB
A
u
其中 A、B 为正常数, 2
*s D
A
,
v
D
B
1
f
1
2
*s
。
有上式可知,当目标物体的成像平面离聚焦平面越远(u 变大),物体点在成像平面上扩85
散成的模糊光圈半径就越大(R 越大)。又因为模糊光圈半径就越大,对于邻接的区域的影响
越大,图像的整体清晰度越低,假设图像的清晰度值为 Img_Value,则模糊光圈半径必定与
图像的清晰度值存在函数关系 IM(),即 )_(Im ValuegIMR 。
即物距 u 与图像的清晰度值为 Img_Value 关系为:
)_(Im ValuegIMB
A
u
90
因此,通过曲线拟合的方式获取这个关系的数学算式,就可以得出基于曲线拟合的视觉
测距方法。
基于曲线拟合的测距方法
曲线拟合(curve fitting),就是通过实验获得相应的二维数据集(xi, yi),然后利用不
同的曲线对这些数据进行逼近,求取符合数据集一般走势的近似函数 y= f ( x )。曲线拟合的95
结果一般很难真正的通过所有的数据集(xi,yi),只要曲线拟合出来的曲线基本靠拢于数据集
的走势,不出现明显畸变即可。为能够快速、直观的对于各种曲线拟合的拟合好坏进行判断,
采用 matlab 软件进行实验验证。本次用到的曲线拟合方法包括:指数逼近(exponential)、傅
里叶逼近(fourier)、高斯逼近(gaussian)、插值逼近(interpolant)、多项式逼近(polynamial)、幂
逼近(power)、正弦和逼近(sum of sin function)[4]。 100
拟合的对象是一组从模糊到清晰再到模糊的 40 张图片组成,清晰度评价函数采用
Brenner 函数,滤波方法为均值滤波。结果如图 1-2 所示:
- 4 -
中国科技论文在线
图 1-2 指数逼近的曲线拟合结果
指数逼近的方程原型为 )*exp(*)*exp(* xdcxba ,容易得之其本身具有单调性(递105
减或递增),如图 1-2 所示,单调递减,这与测试用的数据的走势:先递增再递减,无法相
匹配。
图 1-3 傅里叶逼近的方程原型的曲线拟合结果
傅里叶逼近的方程原型为 )*sin(*1)*cos(*10 wxbwxaa ,如图 1-3 所示,使用的110
六次傅里叶逼近进行曲线拟合,虽然其在峰值和曲线始末位置还有一定的拟合差异,其但峰
值的两侧拟合效果很好,能够保证较好的曲线灵敏度。
图 1-4 高斯逼近的曲线拟合结果
高斯逼近的方程原型为 )2)^1/)1((exp(*1 cbxa ,如图 1-4 所示,应用的六次高斯逼115
近对 40 组被测数据进行逼近,其无论在始末位置、峰值的两侧还是峰值处,都达到了很好
的拟合效果。
图 1-5 高斯逼近的曲线拟合结果
如图 1-5 所示,曲线拟合出来的曲线基本与 40 组被测数据相重合,但是插值逼近本身120
没有相应的方程,其曲线拟合得出的曲线无法应用实际。
- 5 -
中国科技论文在线
图 1-6 多项式逼近的曲线拟合结果
多项式逼近的原方程为 01^*12^*2 axaxa ;从图 1-6 的曲线拟合结果易知,多项
式逼近的曲线拟合结果不是太理想。 125
图 1-7 幂逼近的曲线拟合结果
幂逼近的原方程为 cbxa ^* ,同指数逼近一样,具有单调性,曲线拟合结果如图 1-7
所示,无法成功曲线拟合。
130
图 1-8 正弦和逼近的曲线拟合结果
正弦和逼近的原方程为 )1*1sin(*1 cxba ,由图 3-24 可知,用六阶的正弦和逼近进行
曲线拟合,得出的拟合曲线基本与 40 组被测数据重合,得到理想的曲线拟合结果。
综上所述,能够获得较好的曲线拟合结果,并且结果为可用方程的曲线拟合方法有:高
斯逼近、傅里叶逼近和正弦和逼近。其中,纵向比较而言,高斯逼近的效果是最好的,正弦135
和效果次之,傅里叶的最次。另外,图 1-6 的多项式逼近所用的是九阶多次项,曲线拟合的
效果还不是太好,如果不考虑计算量的问题,使用更高次项的多项式可能达到更好的逼近效
果。
从图 1-2~1-8 中,若仅根据人眼的观察,可得出三种曲线拟合效果较好的曲线拟合方式。
而在曲线拟合中,排除人为因素,常用和方差(The sum of squares due to error,SSE)、均方差140
(Mean squared error,MSE)、均方根(Root mean squared error,RMSE)、确定系数(Coefficient of
- 6 -
中国科技论文在线
determination,R-square)和自适应确定系数(Degree-of-freedom adjusted coefficient of
determination,Adjusted R-square)五个相关参数进行拟合效果的评价。
和方差(SSE)和均方差(MSE)的原理相近,两者的计算对象都是曲线拟合的拟合数据和
原始数据对应点之间的数值差别,前者计算两者间的误差平方和,而后者这是平方和的均值,145
这两个评价参数的值越接近零,说明拟合效果越好,对于原始数据的预测越成功;均方根
(RRMSE),它的另一种叫法是回归系统的拟合标准差,是曲线拟合的拟合数据和原始数据对
应点的均方差的平方根;确定系数(R-square)和自适应确定系数(Adjusted R-square)的正常取
值范围为[0 1],两个评价参数的越接近 1,说明曲线拟合的拟合方程对原始数据的预测能力
越强,拟合的小姑也就越好。 150
表 1-1 傅里叶逼近、高斯逼近和正弦和逼近的曲线拟合评价参数
傅里叶逼近 高斯逼近 正弦和逼近
六阶 七阶 八阶 六阶 七阶 八阶 六阶 七阶 八阶
SSE(*e+
011)
RRMSE
(*e+005
)
R-square
Adjusted
R-square
由表 1-1 可知,对于某一种曲线拟合方法来说,基本上阶次的越高,拟合的效果也越好;
对于同一阶次来说,正弦和逼近的和方差(SSE)、均方根(RRMSE)均是最小,确定系数
(R-square)和自适应确定系数(Adjusted R-square)最接近 1,因此,仅从评价参数上来说,正
弦和逼近对于数据的拟合效果最好,高斯逼近的效果次之,傅里叶逼近对于数据的拟合效果155
相对最差。
2 微位移检测系统的实现
本次论文的微位移检测系统的实物如图 2-1 所示,主要由一个上位机和显微摄像头组
成,上位机是一台 32 位的 win7 系统笔记本,显微摄像头通过 USB 接口把拍摄到的视频流
传输给上位机端,上位机再根据微位移检测系统的软件部分对视频流中的帧进行去噪滤波,160
清晰度评价,最后换算为位移信息显示。
- 7 -
中国科技论文在线
图 2-1 微位移检测系统实物平台
设计微位移检测系统的软件平台选择的是 c++ ,图形化开发简单,本身自带
的图形控件较与其相似的 VC++ 多,而且 c++ 还将很多常用的事件转换为了控165
件使用,如 Time 控件,ADO 系列的控件与 File 系列控件等,这简化了人工写代码的时间,
也提高了程序开发的速率[5]。
微位移检测系统的软件设计
微位移检测系统的软件部分主要的处理对象就是显微摄像头传输过来的视频流中的每170
一帧图像,其系统的模块组成如图 2-2 所示。主要分为了五个模块:显微摄像头的视频流获
取模块、视频帧的去噪滤波模块、视频帧的清晰度评价和绘制模块、检测参数标定模块和工
业元件的位移测定模块。
显微摄像头的视频流
获取模块
视频帧的去噪滤波模
块
视频帧的清晰度评价
和绘制模块
检测参数标定模块
工业元件的位移测
定模块
开始
结束
图 2-2 微位移检测系统的模块流程图 175
上述的流程针对的是显微摄像头传输到上位机的每一帧图像,通过去噪滤波模块和清晰
度评价与绘制模块,再由检测参数标定模块提供的参数进行位移检测。以此,来实现工业元
件的微位移检测。
显微摄像头的视频流获取模块
此模块的主要解决了从 USB 中获取视频流并从中提取每一帧的图像以便于清晰度评价180
函数处理的问题。模块编写的过程中,前后使用了三种视频流获取的方法,分别是基于 vfw
头文件的视频流获取方法、基于 opencv 的视频流获取方法和基于 DirectShow 的视频流获取
方法。基于 DirectShow 的视频流获取方法可以成功获取笔记本上接入的多个摄像头信息并
打开摄像头,同时,其提取的一帧图像也是 IplImage 类,满足了视频帧的清晰度评价与绘
制模块的输入要求。 185
- 8 -
中国科技论文在线
开始
初始化摄像头设备
获取摄像头的
序列号和名字
尝试打开用户
选择的摄像头
摄像头是否
打开成功
打开上一
个摄像头
获取视频帧并且显
示于窗口
结束
摄像头是
否被占用
关闭当前摄像头
否
是
否
是
图 2-3 显微摄像头的视频流获取模块的流程图
显微摄像头的视频流获取模块在打开摄像头之前,对摄像头设备的参数进行相应的设
置,然后获取系统中所拥有的摄像头信息,之后尝试都打开用于所选择的摄像头,并显示于
窗口。 190
用于打开摄像头的函数声明如下所示:
bool OpenCamera(int nCamID, bool bDisplayProperties, int nWidth, int nHeight),其中函数
的输入参数有四个:nCamID 为要打开的摄像头序列号,该序列号有操作系统设定,在笔记
本电脑中自带的摄像头默认序列号为 0;bDisplayProperties 表示是否要进行显示配置,若该
参数为 true,则会以 nWidth 和 nHeight 为摄像头的宽和高设置分辨率,反之,则不进行显示195
配置,采用摄像头自身的默认显示设置;OpenCamera 函数还根据打开成功与否返回一个 bool
值。
从视频流中获取一帧图像的函数声明如下所示:
IplImage* QueryFrame(),本函数无需任何输入,通过 IMediaControl 和 IMediaEvent 两
种多媒体接口完成对视频帧的获取,该视频帧的类型为 IplImage 类,函数的返回为指向200
IplImage 类型的指针。
视频帧的清晰度评价与绘制模
由之前测试得出,目前最适合的图像清晰度评价函数是 Brenner 函数,因此微位移检测
系统默认的使用 Brenner 函数进行图像清晰度评价,另外,也将其他的六种图像清晰度评价
函数写成函数,方便进一步使用实际结果比对。 205
- 9 -
中国科技论文在线
对获取的一帧图像
进行均值滤波
对去噪后的图像
进行清晰度评价
绘制实时清晰度曲线
开始
结束
是否获取
到一帧图像
提示先打开摄像头
否
是
选用默认清
晰度评价函数?
调用被选中的清
晰度评价函数
是
否
图 2-4 视频帧的清晰度评价与绘制模块流程图
视频帧的清晰度评价与绘制模块的流程图如图 2-4 所示,在获得去噪的一帧图像后,对
其用 Brenner 函数进行图像清晰度评价,或者使用用户选择的其他图像清晰度评价函数,之
后,将图像的清晰度值绘制在清晰度实时曲线上。 210
本模块调用的图像清晰度评价函数分别来自动态链接库 Img_Valu_Func,该链接库提供
的函数接口有七个,分别对应于七种图像清晰度评价函数,如下所示:
double Img_Fuc_Gray(IplImage *ColorImage);
double Img_Fuc_Energy(IplImage *ColorImage);
double Img_Fuc_Roberts(IplImage *ColorImage); 215
double Img_Fuc_Vollath(IplImage *ColorImage);
double Img_Fuc_Brenner(IplImage *ColorImage);
double Img_Fuc_Memmay(IplImage *ColorImage, int Min_Hist, int Max_Hist);
double Img_Fuc_Entropy(IplImage *ColorImage, int Min_Hist, int Max_Hist);
其中的输入参数 ColorImage 为彩色图像的存储地址,Min_Hist 和 Max_Hist 两个参数分220
别是 Img_Fuc_Memmay、Img_Fuc_Entropy 两个以直方图进行清晰度评价的最小灰度值和最
大灰度值。上述七种函数均是以图像的像素为基础,以像素间的不同内在关系计算图像的清
晰度值。
工业元件的位移测定模块
图 2-5 为工业元件位移测定模块的流程图,本模块根据采用的曲线拟合方式和拟合结果225
参数对工业元件的实时清晰度值进行位移计算。在读取拟合结果参数时,若需要对拟合结果
的参数进行重新标定,则本模块会转移到检测参数标定模块界面;反之,直接读取上次的曲
线拟合参数用于求取当前工业元件的位移。
- 10 -
中国科技论文在线
读取本地文件中的曲
线拟合的结果参数
求取当前工业元件的位移
开始
结束
是否调用上一次
的曲线拟合参数
检测参数标定模块
否
获取当前目标的实
时清晰度值
是
图 2-5 工业元件位移测定模块流程图 230
工业元件位移测定模块流程中用于计算位移的函数声明为:double GetDistanceInfo(int
cf_Type_flag, double Img_Value, double *cf_Parameter),第一个输入参数 cf_Type_flag 为选用
的曲线拟合类型,第二个参数 Img_Value 为当前图像的清晰度值,第三个参数 cf_Parameter
为指向曲线拟合结果参数的指针,函数返回的值为位移数值;函数用于求值的方法是同步长
移动比较法,在设定了误差阈值后,循环使用同步长移动比较法,直至算出来的清晰度值与235
当前的清晰度值 Img_Value 之间的差值小于设定的误差阈值。
微位移检测系统的实物检测和结果分析
微位移检测系统上位机部分的用户界面如图 2-6 所示,基于 c++ 软件平台,以
及 、matlab r2009a 和 环境,实现了能够获取实时视频、去噪、清
晰度计算和绘图、曲线拟合和距离计算功能。 240
按照操作的顺序基本分为了六个区域,基本上对应于微位移检测系统的五个模块,其作
用包括了:区域 1-获取摄像头数目以及信息(名字、型号),在弹出了窗口显示当前的视频图
像;区域 2-采用相应的图像清晰度评价函数以及均值滤波方法对视频帧进行处理;区域 3-
绘制当前视频帧的清晰度值曲线;区域 4-通过曲线拟合相关参数计算工业元件实际距离信
息;区域 5-获取当前工业元件的清晰度值和距离信息,其中,红框中的第一列存放的是平245
均清晰度值,由区域 3 中的当前清晰度值求得,红框的第二列则是距离信息,因为标定;区
域 6-采取相应的曲线拟合方法,获取相应的清晰度值曲线的方程参数。
- 11 -
中国科技论文在线
图 2-6 微位移检测系统的实物 250
实际运行效果如图 2-7 所示:
(a)绘图部分的运行结果
- 12 -
中国科技论文在线
(b)求取相对距离的运行结果 255
图 2-7 微位移检测系统的实际运行效果
表 2-1 为实际测量中采集到的 30 组清晰度值与距离对应数据组,采用的均值滤波和
Brenner 函数,距离中的数值为相对距离,由于得出的清晰度值的数值存储在 float 型变量中,
因此,为了提高计算的速度,取实际测量值的六位精确值。
表 2-1 曲线拟合用到的 30 组数据 260
距离(um) 0 90 200 310 400 480
清晰度(*103) 436716 442936 447737 455029 462730 471580
距离(um) 600 690 770 850 910 970
清晰度(*103) 483274 490162 497951 509014 522040 529955
距离(um) 1040 1100 1160 1220 1290 1360
清晰度(*103) 538093 545255 553263 564146 571586 579102
距离(um) 1430 1500 1580 1640 1710 1790
清晰度(*103) 572010 562162 552113 543093 529085 520622
距离(um) 1900 2010 2100 2200 2310 2410
清晰度(*103) 510393 501195 491788 481281 471736 458113
- 13 -
中国科技论文在线
图 2-8 实际测量数据的曲线拟合结果
汽车阀的阀芯的位移变化是由传输给它的信号占空比相关,因此表 4-1 中的 30 组数据
对应的占空比为 32%~61%。图 2-9 为实际测量数据的曲线拟合结果,图中横轴取的单位为265
10um。
图 2-9 实际测量数据的曲线拟合结果
在计算当前位置的过程中,选取了 36%的占空比和 59%的占空比对汽车阀阀芯进行驱
动。实际检测结果如表 2-2 所示: 270
表 2-2 不同占空比的实际相对距离计算结果
占空比 清晰度值(*103) 实际相对距离
数据 1 36%
数据 2 59%
从表 2-2 的计算结果可知,基于曲线拟合的测距算法在占空比由 36%变化到 59%时,汽
车阀阀芯的变化距离有 ,又由表 2-1 可知,两者的实际距离变化应该为 1800um,
测量误差为 %;其间清晰度值变化大致为 213939*103,又因为 Brenner 函数的清晰度辨
识精度为 20um,检测系统的清晰度精度为 120*103/um,且最小辨识距离为 20um。 275
- 14 -
中国科技论文在线
3 结论
本文在微位移检测系统的实现上,根据不同的实现功能,将整个系统分成了五个模块:
显微摄像头的视频流获取模块、视频帧的去噪滤波模块、视频帧的清晰度评价和绘制模块、280
检测参数标定模块和工业元件的位移测定模块,有机的结合各个模块间的功能运作和数据传
输,实现了实时位移的检测,并且对于实际测量的结果进行了分析与总结。
[参考文献] (References)
[1] 亓琳,基于线阵 CCD 的小型光电位移检测系统的研究[D],长春:长春理工大学,2012.
[2] 郭学枫,嵌入式的激光位移检测系统研究[D],长春:长春理工大学,2008. 285
[3] 张蓓蕾,基于马尔可夫场理论的单目图像深度估计研究[D],上海:东华大学,2010.
[4] 邹芳喻,车载红外图像深度估计研究[D],上海:东华大学,2013.
[5] 魏强,纳米定位微位移工作台的控制技术研究[D],山东:山东大学,2006.