基于影像的角度测量系统设计与实现
2019-09-12王昕李鹏鹏沈行良
王昕 李鹏鹏 沈行良
摘 要:针对工程施工时安装物体的角度测量要求,设计了采用摄像获取图像,经识别算法提取被测物角度的检测系统。系统以STM32F407单片机作为主控单元,采用Canny算子提取其中边缘轮廓信息,建立边缘线定位的各坐标点,重建提取后图像模型,计算待测边缘线在图像中的倾角θ。陀螺仪传感器测得摄像位置角度φ,用以校正θ,得到被测物角度测量值θl。实验结果表明,角度测量系统能够有效地加快检测速度,所得数据精度满足要求。
关键词:角度测量;图像识别;Canny算子;陀螺仪传感器
文章编号:2095-2163(2019)04-0271-04 中图分类号:TH89 文献标志码:A
0 引 言
在建筑物的施工和维护过程中,一旦建筑物边缘垂直度不合格,就会带来重大的安全隐患,严重时会造成重大事故和人员伤亡。因此,建筑物的角度检测尤为重要。常用的角度检测方法有经纬仪测量法、激光红外线水平仪法等。经纬仪测量法是一种较为常用的方法,但仪表安置时校正麻烦,且对建筑物周围环境有一定要求;激光红外线水平仪法适用范围较广,但需凭肉眼来判别,室外测量时易受光线干扰,测量结果误差较大,精確度不高。
本文采用机器视觉[1]方法来检测建筑物的角度,在不接触被测物体的情况下,对待测物体的角度作快速、方便地测量。检测装置只要对准被测物体,就能快速测得其边缘、界线、墙线及轮廓线等角度。对被测对象的要求较低,所有能看得清楚的直线或者有一些光线反差的线条均可作为被测对象,并离被测对象一定距离进行非接触测量。这对大型建筑物的角度检测优势明显,能够有效减轻检测人员的工作量,保证人身安全。
1 角度测量系统
系统由微型计算机、图像采集和模型计算的软件组成。微型计算机采集图像后,经图像检测程序和数据标定程序得出检测结果,显示在LCD屏上。
1.1 硬件设计
装置设计主要由主控、图像采集、输入、角度校正以及显示5个单元组成,如图1所示。主控单元为STM32F407微型计算机[2];图像采集单元为OV7670摄像头,用于拍摄待测建筑物边缘线的图像,作为检测采集数据的输入;按键为输入单元,用于指令输入;角度校正单元为HWT905三维陀螺仪,用于补偿装置在测量时自身角度的倾斜;显示单元为LCD液晶屏,用于显示检测结果。
摄像头对准待测对象后,通过按键输入拍照指令,摄像头将采集到的图像信息经FIFO传输至主控单元的数字摄像头接口DCMI,STM32F407微型计算机对待测直线进行图像处理,检测其在图像中的倾角,三维陀螺仪检测出装置在图像采集时刻的位置信息后将其通过同步异步收发串口USART传输至主控单元,微型计算机将待测直线的位置数据和装置自身的位置数据叠加后得出检测结果,并通过I/O接口与LCD液晶屏进行人机交互,显示检测结果。
1.2 软件设计
系统程序设计主要包括图像检测程序和数据标定程序。图像检测程序主要完成图像的采集、角度计算与结果显示;数据标定程序主要完成数据的检测与校准,系统主程序流程如图2所示。程序开始后,硬件系统对各模块进行初始化,主页面显示。启动图像检测程序后,摄像头对准被测物采集图像、采集陀螺仪数据,角度计算、校正后,显示检测结果。启动数据标定程序后,检测陀螺仪数据是否符合标准,若标准,则返回主程序,否则修正系数后返回主程序。
2 角度测量方法
将机器视觉应用到建筑物的角度检测中,摄像头采集待测物体,经Canny算子提取边缘轮廓信息,根据像素点排列,计算出图像中待测直线的倾角,与陀螺仪传感器所测装置偏转角度叠加后得出检测结果。
2.1 图像边缘直线的解析
在建筑物的角度检测中,图像边缘信息的提取至关重要。常用的边缘检测算子有Roberts算子、Sobel算子、Canny算子等。采用Roberts算子检测图像边缘时,常常会在图像边缘临近区域产生较宽的响应,边缘定位精确度较低。Sobel算子模拟人工视觉特性较差,不能严格的将待测边缘信息与背景区域分离开,对图像边缘轮廓的提取效果不太理想。Canny算子[3]是一种多阶优化算子,具有较高的信噪比,定位精度高,能够从视觉对象中提取目标信息,被广泛应用于机器视觉系统中。本文选用Canny算子提取建筑物边缘轮廓信息,检测过程主要包括图像平滑处理、计算梯度幅值与方向、梯度幅值极大值抑制和边缘连接4个部分。
利用一维高斯函数对原图像进行滤波处理,消除噪声、平滑图像。
其中,σ为标准差,控制平滑程度。通常σ设置为较小数值。
梯度幅值极大值抑制是在3×3邻域内,保留局部梯度幅值最大的点,可以更加准确的定位边缘。
图像在进行边缘提取后,其边缘轮廓往往不够平滑,且待测区域周围存在一些由于错判造成的小孔,对图像进行形态学闭运算[6]处理,可以在物体面积变化较小的范围内使其边缘平滑,同时可以消除小颗粒噪声,连接断裂的边缘线。这种在图像边缘提取后进行闭运算的方式,能够有效消除噪声影响,锐化边缘轮廓,平滑边缘线。边缘提取如图3所示。
2.2 角度计算分析
在图像采集时,受检测装置倾斜度的影响,待测边缘线在图像中的位置信息往往不能准确表达出建筑物边缘的实际角度情况。因此,要获得建筑物的角度信息,需同时获取待测直线在图像中的角度信息和检测装置在图像采集时刻的位置数据。
图像是由若干个像素点排列组成,以像素点为单位,可根据像素点的个数得出待测线段在图像上的长度信息。如图4(a)所示,AB所在直线为待测边缘线,O为图像右下角的点,从A点出发向OB所在直线做垂直线,与OB的交点记为点C,则∠BAC即为待测直线在图像中的倾角,记为θ。根据AC之间像素点的个数得到AC之间的距离,记为x,同理可得OC、OB的长度,分别记为y1、y2,则:
陀螺仪是一种角运动检测装置,三轴陀螺仪能够同时检测6个方向的位置、角速度,具有良好的动态特性[7]。因此,可以利用三轴陀螺仪测量装置的位置数据。将陀螺仪的传感方向与水平方向平行时的状态作为零倾斜角度,高速微处理器对陀螺仪实时输出的角速度进行积分运算,即可得出装置的偏转角度φ。
待测直线在图像中的倾角θ与检测装置的偏转角度φ叠加后即可得出建筑物边缘线的实际倾角θl,受拍照角度的影响,常分2种情况进行叠加,如图4所示。
检测结果θl在LCD液晶屏上显示,若θl为90°,或在其允許的误差范围内,则认为该建筑物的角度倾斜情况符合标准。
3 实验结果分析
装置受手持角度的影响,从获取图像的位置分析,采集到的图像通常有4种情况,如图5所示。
分别对待测直线在图像中的角度信息和检测装置在图像采集时刻的位置数据进行测量,得到建筑物边缘直线的实际状况,见表1。
根据《混凝土结构工程施工质量验收规范》规定,现浇混凝土结构墙柱构件的垂直度允许总高偏差≤H/1000即30 mm(H为建筑物全高)。本文实验所选建筑物全高为21 m,则其总高偏差应≤21 mm,即其垂直度偏差应小于等于0.05°。
由表1可以看出,该角度测量系统能够精确测量出待测建筑物边缘线的角度偏差,实验所选4种拍摄角度的垂直度偏差均满足要求,即该建筑物边缘线角度合格,角度测量系统满足设计要求。
4 结束语
本文针对传统检测方法的不足,采用影像的方法检测建筑物的角度数据,提取待测直线的边缘信息,检测其在图像中的倾斜角度,结合测量装置自身的位置信息,快速、准确地检测出待测建筑物的角度数据。对4种常见拍摄角度采集到的图像进行检测,结果显示偏差均在误差范围内,说明该系统可以广泛应用于角度检测领域中。
参考文献
[1]王清晨,景军锋. 采用机器视觉的金属表面横向裂纹检测[J]. 电子测量与仪器学报,2018,32(11):71-77.
[2]刘永永,李国平,左国坤,等. 基于STM32的力传感器信号采集与处理系统设计[J]. 传感器与微系统,2017,36(7):112-115.
[3]段红燕,邵豪,张淑珍,等. 一种基于Canny算子的图像边缘检测改进算法[J]. 上海交通大学学报,2016,50(12):1861-1865.
[4]Gonzalez R C, Woods R E. Digitalimage processing [M]. 3rd Edition, Pearson, London:Prentice-Hall, Inc., 2007.
[5]张坤,廉自生. 液压支架姿态角度测量系统[J]. 工矿自动化,2017,43(5):40-45.