基于图像识别的微型倾斜传感器
发布时间:2008/5/29 0:00:00 访问次数:497
周江华,乌建中,徐鸣谦
摘要: 通过人眼观察进行识读的传统水准器式倾斜仪表,直观但精度不高、灵活性不强。通过引入ccd图像传感器采集水准器中气泡图像并结合图像识别算法分析计算气泡图形边缘,研究开发了具备倾斜角度数值输出能力的新型倾斜传感器。并进一步通过采用dsp处理器并应用嵌入式设计方法,设计了该类型倾斜传感器的小型化原型,从而显著地提高了测量精度和应用的灵活性,克服了传统仪表的不足。
关键词:倾斜传感器;图像处理;边缘检测
引言
倾斜传感器(又称为水平仪)是测量微小倾斜角的一种测量器具,主要用于测量或检验相对于水平位置的倾斜角、表面的水平度、垂直度等,因此在机械制造、设备安装和维修中,倾斜传感器是最基本的测量器具之一。根据工作原理,倾斜传感器一般可以分为水准器式倾斜传感器、光学倾斜仪和电子倾斜传感器等几大类别。
基本原理
微型倾斜传感器的设计结合了水准器式倾斜传感器和电子倾斜仪表的优点,通过采用ccd传感器采集水准器中气泡的图像,再通过图像处理来获取气泡的位置,进而计算倾斜参数。
图1是传统水平仪示意图。当水平仪倾斜时,玻璃管中的气泡移动,偏离中心位置。偏离中心位置的大小与水平倾角相关。在这种情况下,水平仪只能测量相对水平方向的倾角,测量的倾角范围相对较小、测量精度不高。因而它通常只能用来判断是否水平,而不能用来测量具体的倾斜角度。
将上面的管状水准泡改变成圆盘形后,如图2 所示,则可以通过气泡的位置来测量二维平面的倾斜角度。为了进一步提高倾角的测量范围,可将盘形水准泡变为球形,可以通过计算投影平面上气泡的位置来获得球面上气泡相对于铅垂线的角度。
如图3所示,通过ccd摄像头采集水准泡图像,再利用图像处理获取气泡边缘并计算气泡中心点的坐标,从而可以计算出相对于水准泡中垂线的方位和倾角。
原型设计
硬件方案
在实验阶段,根据现有的器材,先采用如图3所示的“快速原型”方式,即通过连接电脑的摄像头来采集水准泡的图像,并在pc机上进行图像处理和气泡位置识别,进而计算出倾斜数值。在调试验证了方案的可行性之后,再采用dsp处理器,重新设计电路板,将图像采集和图像处理集成,从而将其小型化,实现倾斜传感器的样品。
软件方案
数据处理
系统数据采集及处理流程如图4所示。
数据采集处理主要包括:
① 摄像头中的处理器通过ad采样获取了ccd传感器中各点数据之后,通过usb传送到pc机。
② pc机一方面将usb 传来的数据按帧显示到屏幕上;另一方面将每帧图像转化为数据矩阵,交给由matlab语言编制的边缘检测函数处理。
③ 处理边缘检测函数输出的二值图像,计算出边缘对象的中心位置,并显示到屏幕上。
④ 由于圆盘形水准器表面不能是完全水平的或者由于水准泡是球形的,故需要根据成像模型进行适当修正,方能计算出实际的倾斜程度和方位。
图像处理算法
在设计中,需要从图像中找到气泡边缘,因而要选择合理的边缘检测算法。目前常用的边缘检测主要有roberts算子、sobel算子、lap lace 差分算子、prewitt算子、marr算法等。考虑本设计中的成像图像比较简单、干扰信息较少,而且可以通过调整背景和光照增强气泡图形,所以在实际实验中采用了最简单常用的sobel算子。同时利用matlab作为程序设计语言,应用其工具箱中成熟的图像处理算法。
通过编程实现的边缘检测效果如图5所示。ccd摄像头采集到的水准泡的图形,经过预处理之后显示在左边图片框中,右边为处理结果,包括气泡的边缘、边缘对象的中心(表示为圆点)以及表示相对参考点(表示为方块)偏离角度和距离的直线。
系统功能模块及硬件设计
功能模块结构
在pc机上验证之后,接下来的是设计专门的电路板,实现小型化的要求。根
周江华,乌建中,徐鸣谦
摘要: 通过人眼观察进行识读的传统水准器式倾斜仪表,直观但精度不高、灵活性不强。通过引入ccd图像传感器采集水准器中气泡图像并结合图像识别算法分析计算气泡图形边缘,研究开发了具备倾斜角度数值输出能力的新型倾斜传感器。并进一步通过采用dsp处理器并应用嵌入式设计方法,设计了该类型倾斜传感器的小型化原型,从而显著地提高了测量精度和应用的灵活性,克服了传统仪表的不足。
关键词:倾斜传感器;图像处理;边缘检测
引言
倾斜传感器(又称为水平仪)是测量微小倾斜角的一种测量器具,主要用于测量或检验相对于水平位置的倾斜角、表面的水平度、垂直度等,因此在机械制造、设备安装和维修中,倾斜传感器是最基本的测量器具之一。根据工作原理,倾斜传感器一般可以分为水准器式倾斜传感器、光学倾斜仪和电子倾斜传感器等几大类别。
基本原理
微型倾斜传感器的设计结合了水准器式倾斜传感器和电子倾斜仪表的优点,通过采用ccd传感器采集水准器中气泡的图像,再通过图像处理来获取气泡的位置,进而计算倾斜参数。
图1是传统水平仪示意图。当水平仪倾斜时,玻璃管中的气泡移动,偏离中心位置。偏离中心位置的大小与水平倾角相关。在这种情况下,水平仪只能测量相对水平方向的倾角,测量的倾角范围相对较小、测量精度不高。因而它通常只能用来判断是否水平,而不能用来测量具体的倾斜角度。
将上面的管状水准泡改变成圆盘形后,如图2 所示,则可以通过气泡的位置来测量二维平面的倾斜角度。为了进一步提高倾角的测量范围,可将盘形水准泡变为球形,可以通过计算投影平面上气泡的位置来获得球面上气泡相对于铅垂线的角度。
如图3所示,通过ccd摄像头采集水准泡图像,再利用图像处理获取气泡边缘并计算气泡中心点的坐标,从而可以计算出相对于水准泡中垂线的方位和倾角。
原型设计
硬件方案
在实验阶段,根据现有的器材,先采用如图3所示的“快速原型”方式,即通过连接电脑的摄像头来采集水准泡的图像,并在pc机上进行图像处理和气泡位置识别,进而计算出倾斜数值。在调试验证了方案的可行性之后,再采用dsp处理器,重新设计电路板,将图像采集和图像处理集成,从而将其小型化,实现倾斜传感器的样品。
软件方案
数据处理
系统数据采集及处理流程如图4所示。
数据采集处理主要包括:
① 摄像头中的处理器通过ad采样获取了ccd传感器中各点数据之后,通过usb传送到pc机。
② pc机一方面将usb 传来的数据按帧显示到屏幕上;另一方面将每帧图像转化为数据矩阵,交给由matlab语言编制的边缘检测函数处理。
③ 处理边缘检测函数输出的二值图像,计算出边缘对象的中心位置,并显示到屏幕上。
④ 由于圆盘形水准器表面不能是完全水平的或者由于水准泡是球形的,故需要根据成像模型进行适当修正,方能计算出实际的倾斜程度和方位。
图像处理算法
在设计中,需要从图像中找到气泡边缘,因而要选择合理的边缘检测算法。目前常用的边缘检测主要有roberts算子、sobel算子、lap lace 差分算子、prewitt算子、marr算法等。考虑本设计中的成像图像比较简单、干扰信息较少,而且可以通过调整背景和光照增强气泡图形,所以在实际实验中采用了最简单常用的sobel算子。同时利用matlab作为程序设计语言,应用其工具箱中成熟的图像处理算法。
通过编程实现的边缘检测效果如图5所示。ccd摄像头采集到的水准泡的图形,经过预处理之后显示在左边图片框中,右边为处理结果,包括气泡的边缘、边缘对象的中心(表示为圆点)以及表示相对参考点(表示为方块)偏离角度和距离的直线。
系统功能模块及硬件设计
功能模块结构
在pc机上验证之后,接下来的是设计专门的电路板,实现小型化的要求。根
版权所有:51dzw.COM
深圳服务热线:13692101218 13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式
深圳服务热线:13692101218 13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)

深圳市碧威特网络技术有限公司
付款方式