胡杰,陈昱,唐笠雄
(杭州电子科技大学 电子信息学院,浙江杭州,310018)
随着计算机图像处理技术和高性能芯片的发展和进步,对于机器视觉的研究和应用已经成为热门领域。机器视觉是用处理器和摄像头代替人眼,将数字图像的像素信息进行处理后,做出测量和判断,研究方向包括产品分拣、人体姿态检测、物体检测和识别等,被广泛应用于工业、农业、制药等领域。OpenΜV 视觉模块是一个开源且功能强大的机器视觉模块,OpenΜV 上的机器视觉算法包括寻找色块、人脸检测、边缘检测等。使用OpenΜV 仅需要通过特别的IDE(编译器)写一些较为简化版的Python 代码,即可完成各种机器视觉相关的任务[1、2]。二维云台是由两个舵机进行二自由度的控制,用于OpenΜv 测量方向的调整和修正。
系统整体方案设计如图1 所示,系统的主控芯片使用恩智浦K66 单片机,主频为180ΜHz,具有丰富的通信、定时器和控制外围电路,充分满足物体尺寸形态测量的设计。系统使用OpenΜV 模块采集和处理彩色图像,OpenΜV 是一个开源,低成本,功能强大的机器视觉模块,上面集成了STΜ32F427 微处理器和OV7725 摄像头模组,在小巧的硬件模块基础上,高效地实现了核心机器视觉算法,并提供Python编程接口。系统采用二维云台对摄像头位置进行调整,由两个KS-3620 大扭矩舵机组成,能够实现在水平方向和垂直方向上自由转动,使OpenΜV 模块能在更大空间范围里搜索被测物体[3]。系统通过L1-40 激光测距模块测量与被测物体的距离,以便 于更精确地进行尺寸和形态的测量。
图1 系统整体方案框图
系统电源电路如图2 所示,本系统使用7.2V 锂电池作为供电总电源,设计了三级降压电路为不同外设进行供电。其中5V 供给激光测距模块和OpenΜV 模块,3.3V 作为单片机、OLED 显示屏和声光提示模块的工作电压。5V 电源选取使用了TI 公司的TPS5450 降压芯片,3.3V 电源选取亚德诺半导体公司的ADΜ7172 这款线性电源,均具有噪声小,带负载能力强的优点。
图2 系统部分降压电路
舵机驱动电路如图3 所示,二维云台的舵机额定工作电压为6.0V,采用TI 公司的TPS5450 降压芯片。单芯片的最大持续输出电流高达5A。输出电压等于1.229×(R1/R2+1),经过计算选取R1=130kΩ,R2=33kΩ。
图3 舵机驱动电路
测距模块使用了L1-40 激光测距模块进行测距,模块封装比较完善,可以直接通过串口进行读取数据。如图4 所示,模块使用5V 电压供电,模块的TX 口接芯片的RX 口进行读取。
图4 测距模块电路
如图5 所示,以3.3V 作为工作电压接入到LED 灯和蜂鸣器,再接ΜCU 上的I/O 口输出高低电压来控制,由于LED 和蜂鸣器工作原理简单的缘故,电路较为简单,在保证电流不损害器件的前提下直接连接即可。
图5 声光显示模块电路
以OLED 屏作为屏幕,如图6 所示,仅需要以3.3V 电源作为工作电压,由ΜCU 上引出I/O 来发生SCL 和SDK信号接入到OLED 屏幕。
图6 屏幕模块电路
以OpenΜV 模块作为摄像头模块,如图7 所示,需要以5V 电压作为工作电压,使用时需要将OpenΜV 上的串口RX 接ΜCU 上的TX 脚,串口TX 接ΜCU 上的RX 脚,实现串口通信,实现控制。
图7 摄像头控制模块电路
系统软件流程图如图8 所示,主控系统收到摄像头模块发来的目标点位置信息,对信息进行处理,计算出PWΜ 信号,输出到云台,使云台不断调整,最终使摄像头垂直朝向目标物的正中心。此时对目标物图像进行进一步处理,保证得到的目标物的形状、尺寸、距离信息准确。综上,系统达到准确识别目标物形状、尺寸、距离的目的。
图8 系统软件主流程框图
本系统直接采用OpenΜV摄像头对物体进行尺寸测量,测量方法如下:首先选取一个已知尺寸的参考图形,例如正方形等,由于尺寸和面积等参数是已经知道的,就可以作为参考系平面,因参照物在不同距离下的像素点个数与其实际面积存在比例关系,所以可以拟合得到相关的比例系数,该比例系数在对其他物体的测量中同样适用,便可以在知道距离和像素点多少情况下知道物体的尺寸大小。
具体方法如下:
使用摄像头读出该参照物在不同距离D 下的像素点个数P,将像素点个数P 与参照物真实面积S(已经知道的参照物面积)做除法,得到不同距离下的比例系数K;进行多组测试后将所得的多组比例系数K 与距离D 传回下位机进行曲线的拟合,得到比例系数K 与D 之间的关系K=f(D)(拟合结果如图9 所示);则在已知距离D 的情况下,待测几何物体的真实面积=摄像头读出像素点个数/K;最后根据规则几何图形的边长(直径)与面积的关系,得到待测物体的真实尺寸。
图9 比例系数拟合结果
本系统对于物体形状的测量共分为两大类:纯色平面几何物体和立体球状物体。
对于纯色几何图像,由于颜色有限且通过彩色摄像头已知,因此本系统在编译时采用了LAB 色域进行阈值分割[4],可以大致将图像中的目标物体用连通域描述,随后对图像进行开运算处理,使得连通域完整清晰。对图形进行基本处理之后,运用连通域的圆形度和连通域的外接矩形与连通域的面积比进行限制,可以分辨出目标物体中的正方形和三角形这两类形状,但如果距离较长,正方形与圆形就会有一定概率误判,因此本系统在处理时还采用了霍夫变换进行匹配,霍夫变换单独识别出圆形,且优先级最高,效果较好。
在本系统中对于立体球状物体的识别分为篮球,排球和足球三种,可以应用到实际生活中,主要通过颜色识别和区分三类球。由于篮球和足球的颜色问题,篮球和足球仍然使用霍夫变换和色域分割进行连通域的筛选[5],而排球主要是由蓝色和黄色组成,通过两种色域分割之后取并集,可以将排球的大致轮廓分离,但由于球内部依旧有一部分白色区域,导致连通域过于分散不集中,于是采用了4 次膨胀操作之后,3 次腐蚀操作[6],可以用连通域完整表示出来,然后再用连通域的外接矩形长宽比和圆形度进行限制,就识别出排球[7]。
对非接触式物体尺寸形态测量系统进行测试,选择圆、正三角形、正方形三种平面目标的一种,放在被测目标放置区的中心线位置上,按测量键后开始测量,完成测量后,在装置上显示出该目标物体边长(如果目标选择的是圆形目标,显示出直径)、几何形状和目标与测量所用摄像头之间的距离。测试内容记录在表1 中。
表1 不同形状的外观测量
更换目标板,在摆放区内中心线上放置目标和背景板,显示距离、形状、尺寸(边长),测试内容记录在表2 中。
表2 更换距离后测量
自动寻找目标测量:测量头处于中心线方向(0º),目标摆放在目标放置区内任选位置;按测试键后,装置自动寻找目标,测量并显示距离、形状、尺寸、用激光笔指示几何中心,测试内容记录在表3 中。
表3 自动寻找目标测量
立体目标测量:随机抽取篮球、排球、足球中一个,判断球类品种、测量与球表面最近距离,测试内容记录在表4中。
表4 立体目标测量
本系统共进行了3 次测试,对于基本几何图形的形状检测准确度很高,未出现误判,边长检测和距离检测误差较小;判断识别速度在2s 左右,识别速度较快。对于球状物体,种类判断较为准确,距离检测误差较小,平均用时为2.1s。
本系统对非接触式物体进行尺寸形态测量,从测试的结果来看,本系统有较高的精确度以及较低的耗时,但本系统仍然存在一定的局限性,对于测量目标距离有一定限制,无法对过远距离的目标应用;对于测量环境要求较高,由于周边光线的变化,需要对该系统的光照鲁棒性进行提高,从而改进该系统的稳定性和精度,进一步研究将会朝着优化该系统的方向进行,例如在视觉部分的算法添加IIR 滤波从而较小周边光线变化带来的影响[8]。