APP下载

物体位置捕捉及非接触形态测量装置

2022-06-17许圳淇陶争屹张雨辰夏鲲

新型工业化 2022年5期
关键词:测距摄像头尺寸

许圳淇,陶争屹,张雨辰,夏鲲

上海理工大学机械工程学院,上海,200091

0 引言

物体的非接触识别与测量是机器视觉的一种应用。目前大多数的识别方法都是基于对目标物体的深度学习或多模板匹配,深度学习可以良好解决识别准确率的问题,但需要大量的图片数据[1-2];模板匹配需要的图片数据较少,但只能测量形状与模板相同的物体,局限性较大。在形状识别方面,边缘检测与霍夫变换相结合的方法较为常见[3-4],但这种方法对周围环境的要求较高,容易受到环境噪声的影响。在尺寸测量方面,目前主要的方法有两种,一是通过多目视觉的立体视差直接计算物体的尺寸与距离[5],该方法测量准确但成本较高;二是通过求解已知尺寸物体与待测物体尺寸像素的相对值,进而得出待测物体的实际尺寸[6]。

本文提出了一种能够完成物体的捕捉和非接触识别与测量的装置。基于可编程摄像头模块OpenMV,该装置能完成多边形物体或圆形物体形状的快速判断并测出其尺寸与距离,操作简易、成本低,可应用于简单零件分拣、尺寸初步测量等工业场景。本文所提出装置应用了霍夫变换、自适应滤波、图像分割等机器视觉算法,同时采用了位置式PD控制算法实现对待测物体的追踪,并能够将测量误差控制在1.5%以下[7-9]。

1 非接触测量系统方案设计

1.1 系统总统方案

本装置由电源模块、控制模块、图像处理模块、云台系统、装置固定结构、测距模块和激光发生器组成。其中,控制模块通过全双工串口通信与图像处理模块进行数据交互,通过单工串口通信接收来自测距模块的信号,通过IO口直接控制激光发生器的打开与关闭。

电源模块负责对整个装置的各模块进行供电;控制模块接收来自各模块的数据,并对数据进行处理,同时对各模块发出功能指令,实现对各模块的控制;图像处理模块通过采集图像数据,对采集到的图像进行处理,并将处理结果以字符串形式发送给控制模块;云台系统包含二维云台和舵机,在控制模块的控制下能够实现两个转动自由度的运动;装置固定结构连接在云台系统上,并能够固定测距模块、图像处理模块和激光发生器,保证他们的同轴度;测距模块主要负责对待测物体距离的获取,并将取得的距离数据以HEX文件形式发送到控制模块进行处理。

本装置采用内核为ARM公司32位Cortex-M3的STM32F103VET6为主控,该芯片有较多的通信接口和较高的工作频率,能够满足数据处理与多模块通信的需求;采用搭载OV7725摄像头的可编程摄像头模块OpenMV作为图像处理模块,操作简易且成本低,其内置的库函数能帮助开发者提高对图像信息的提取和数据的采集效率;采用单点测距激光雷达作为测距模块,相比于传统的超声波测距,测量1m以外的目标时不仅能排除空气质量的干扰,而且能够将误差控制在毫米级,同时能够有效提高待测物体尺寸计算的准确度。系统总体结构如图1所示。

1.2 系统基本流程和功能

本装置能够完成物体的位置捕获和尺寸、距离的测量,工作流程如图2所示。本装置装有激光发生器,识别到待测物体后,本装置会通过舵机转动控制激光发生器指示待测物体的中心。

系统工作时,首先通过按键选择系统功能,再根据不同的功能进行目标搜索与图像识别,然后各模块对识别到的图像参数进行读取,通过串口通信发送到主控芯片。主控芯片实时接收各模块数据,对数据进行处理并控制舵机转动,最终显示结果。为更好判别是否完成测量,以蜂鸣器响起作为测量完成提示。

2 图像识别算法研究

2.1 图像识别基本功能介绍

装置先通过RGB色彩空间通道[11]对物体进行定位,找到待测物体所在的位置,接着根据位置式PD算法,通过舵机转动,将待测物体移动至摄像头视野中央。装置对物体进行二值化图像分割,并采用霍夫变换对待测物体的边进行检测并去重,即可得到物体的形状。

2.2 二值化图像分割与定位

由于识别现场工况环境复杂,背景因素难以预知,故选用图像分割的方式来减少背景环境对图像产生的影响,从而提高图像识别与测量的准确率。

在图像识别的过程中,采用迭代阈值法对图像进行二值化[12-13]。具体方法如下:

(1)设置OpenMV摄像头图像的分辨率为VGA,即640×320,并将图像灰度化;

(6)调用find_blobs方法对二值化图像进行颜色识别,找到返回值中|w-h|处于区间[0,10]的最大色块即可认为找到了待测目标,并将色块中心点的像素坐标通过串口发送给主控芯片。图5所示为二值化图像分割测试,分割LAB阈值分别为(61,68,2,35,8,45),(43,92,-7,3,-18,29),(60,72,-5,6,-25,14)。

为进一步降低图像噪度,系统采用平均自适应阈值滤波的方法对图像进行滤波[14]。平均自适应阈值滤波是基于均值滤波的一种自适应滤波法,不仅具有均值滤波速度快的特点,也具有更强的适应性和更优的滤波性能。

均值滤波的方法是使用盒式滤波器的标准均值模糊滤波,在OpenMV中可以通过调用image类中的mean方法,并将其三个参数调节为threshold=True,offset=5,invert=True来实现平均自适应阈值滤波。通过传递threshold=True参数来启动图像的自适应阈值处理,以达到在滤波器的输出上自适应地设置阈值的目的,即根据环境像素的亮度,自动将像素设置为1或者0。调节offset=5的目的是将最强对比度设置为1。设置invert=True以反转二进制图像的结果输出。

2.3 物体识别与测量算法的实现

当摄像头捕获并追踪到待测目标后,主控芯片向OpenMV发送指令,进入物体识别阶段,此时,待测目标处于摄像头图像正中央。物体识别算法主要分为如下几个步骤:

(1)锁定待测目标后,设置图像色彩空间为RGB色彩空间,图像子分辨率大小为224 x 224;

(2)调用find_line_segments函数检测图像中的所有线段,并通过调节参数合并相邻线段;

(3)遍历检测到的线段,并去除较小的线段。目的是排除物体本身存在的裂纹和其他内部结构;

(4)根据线段数量判断物体形状。如果直线数量小于3,则认为是物体形状是圆;如果直线数量为n,且,则认为物体为n边形。

其中,find_line_segments为OpenMV内置方法,其原理是通过霍夫变换对图像中的直线进行检测,返回值是一个列表,列表中每个参数包含一个元组(x,y,w,h),其中x,y为线段中第一个点的坐标,w,h分别为第二个点相对第一个点的横向和纵向距离。识别效果如图4所示。

3 嵌入式软件设计

3.1 嵌入式系统程序流程

嵌入式软件设计主要分为物体中心位置跟踪和非接触测量两个部分。其中,非接触测量部分包括了物体距离测量与物体实际尺寸计算两部分。系统程序流程如下:

(1)主控芯片接收数据。主控芯片接收来自OpenMV的多边形待测目标各顶点的像素坐标和边长或圆形待测目标圆心的像素坐标和半径,以及检测到的边的数量。与此同时,主控芯片接收来自测距模块的距离数据。

(2)物体中心点坐标的计算。对于多边形待测目标,通过其顶点坐标可以计算得出多边形待测目标的几何中心坐标;对于圆形待测目标,可认为接收的圆心坐标即为其中心点坐标。

(3)物体中心位置的跟踪。通过位置式PID算法计算出舵机角度偏移量,从而控制摄像头移动,将待测物体移动到视野中央,并使激光发生器对准待测物体的中心。

(4)物体实际尺寸的计算。结合测距模块的距离数据,将得到的像素数据通过计算转换为物体实际尺寸数据,并将其显示在LCD屏幕中,并以蜂鸣器响起作为测量完成提示。

3.2 位置式PD实现物体中心位置跟踪

利用3D打印得到的部件将激光发生器固定在摄像头较近位置,并保证其同轴度,以减小后续微调舵机转动时产生的误差。现将问题转化为如何控制舵机将被测图形中点移到摄像区域中心。根据图5分析摄像机需要沿坐标轴方向进行的位移,不难得出以下关系:

为了快速地将摄像机中心移动到被测物中心位置,该设计采用位置式PD算法[16]。PD控制被广泛应用于在过程控制中,通过比较实际测定值与给定值可得出偏差,调节比例(Proportional)、微分(Differential)参数使得误差减小,直至最佳控制状态。由于需要定位并指示待测物体的中心位置,所以本设计采用的是位置式PD算法[17],如式所示。

3.3 测距原理和实现

目前市面上5m以内的空间距离非接触式测量方法主要分为三角测量法和飞行时间(TOF,Time of Flight)测量法[18-19]。其中,三角测量法有双目视觉和结构光两种测量方法。双目视觉是通过两个摄像头的位置差和捕获到图像的差异来计算摄像头与物体的距离,即利用了立体视差法进行距离计算,但其需要复杂的匹配算法才能实现测距,且测量范围有限;结构光测距法则需要相机和结构光发生器配合使用,需要较高的功率和聚焦的光线,在许多工业场景中测量的准确度容易受到环境的影响较大[20-22]。

飞行时间测量法需要由两个异步收发机完成,利用特定频率的调制信号在两个异步收发机之间的飞行时间来测量距离。该方法并非直接检测光飞行的时间,而是通过传回信号的相位偏移来确定光的飞行时间,从而确定距离。

飞行时间测量法具有受光照影响小、实时性强、结构紧凑、功耗低等优点。所以相比较之下,采用飞行时间测量法进行测距能有效解决双目视觉的测量范围问题和结构光的测量成本问题,更适合于非接触测量的场合,故采用飞行时间测量法进行测距。

3.4 物体实际尺寸的计算

非接触式物体尺寸计算是本设计的重点关注问题,其关键在于对物体在现实中实际尺寸与摄像头中像素尺寸的比例的求取,如果能把握准确这个比例常数,物体实际尺寸就可以通过像素尺寸乘以这个常数获得。该问题可以抽象出以下模型进行求解,如图6所示。

其中, 为待测物体长度的像素值, 为待测物体长度的真实值, 为参考物体长度的像素值, 为参考物体长度的真实值。 为所成的像与摄像头之间的距离, 为物体与摄像头之间的实际距离。

由几何关系可得:

将上式做比整理可得以下关系:

由于相机视角固定,由此可得式(3)应等于一个比例常数,且这个比例常数大小仅与距离有关,且成正比关系。假设比例常数为 ,根据以上式子,可得求解 的表达式为

4 测试方案

4.1 测试准备

测试材料:秒表、卷尺、钓鱼线、圆形及正多边形KT板。

被测目标放置距离测量头1000mm至4000mm之间的区域内,并距离地面高度应为1000mm至1500mm。图7为测试装置及其各模块示意图。

4.2 测试方案

依照上文所述布置好测试环境,随机从几种待测KT板中选取一个用于检测,记录测得物体的尺寸、形状、目标物体与测量头距离、指示中心点与实际中心点距离、完成全部功能所需时间。

实验方法:在距离测量头1000mm至4000mm之间等距离取10个测量点,在每个测量点处,分别对不同种形状的待测目标进行5次距离相同位置不同的识别与测量,以程序初始化和蜂鸣器响起分别作为计时的开始和结束,记录所有测量结果,并记录每个测量点处的结果平均值。最终得出判断正确率、尺寸平均误差、目标测量头距离平均误差、中心点指示距离平均误差、完成所需平均时间5个指标,并记录。

4.3 测试结果

根据上述实验方法进行实验,并记录实验结果。实验结果显示,系统的识别正确率为95.67%,实验测得该系统的误差与该系统的测量用时如图8所示。

4.4 结果分析

由以上测试结果可知,在识别被测物形状方面,该装置能较好地完成任务,根据实验结果,图8测试结果显示,中心点距离误差处于区间[8,20]内,并且随着距离不断增加。经过对硬件的分析,确定其为机械误差,即舵机无法进行十分精密的微调。经过计算,得出误差平均值与测量用时平均值如表1所示。综合分析数据,该设计满足实际需求,误差在实际需求允许范围内。

表1 各测量参数平均值

从表2相关性分析种可以看出,距离与测量用时的相关系数仅为0.29,说明测量用时与测量距离没有直接的关系。

表2 测量参数与距离的相关性分析

5 结语

本文阐述的装置能够实现物体位置识别捕捉与尺寸、距离测量的基本功能,相较于基于机器学习算法的物体识别成本更低,开发周期更短,且保留了不亚于采用机器学习、模板匹配等图像处理算法的识别准确率。测试实验表明,该装置能够较为准确地完成物体形状的识别,并能够将测量误差控制在1.5%以下。该装置可以搭载于小车上进行物体的追踪或者在流水线上协助分拣工作,可应用于工业自动化流水线、商场、家庭等环境,在生产生活中具有较为广阔的发展前景。

猜你喜欢

测距摄像头尺寸
浙江首试公路非现场执法新型摄像头
基于RSSI测距的最大似然估计的节点定位算法
摄像头连接器可提供360°视角图像
CIIE Shows Positive Energy of Chinese Economy
基于单片机的超声波测距导盲杖设计
直流系统行波测距的误差分析
基于VMD和TEO的高压输电线路雷击故障测距研究
D90:全尺寸硬派SUV
佳石选赏
佳石选赏