基于机器视觉的无线自动监测系统设计
2016-11-03钱程蒋明
钱程,蒋明
(苏州科技大学土木工程学院,江苏 苏州 215011)
基于机器视觉的无线自动监测系统设计
钱程,蒋明
(苏州科技大学土木工程学院,江苏苏州215011)
针对工程中对远程、长期、实时、自动监测的需要,设计了一套基于机器视觉的无线自动监测系统。在OpenWrt平台上,根据无线路由器映射原理、Web服务器访问原理以及MJPG-streamer的工作原理进行编程设计,实现了监测端的实时采集与远程无线传输;在LabVIEW平台上,结合MATLAB的函数功能,设计了系统登录、图像预览、区域选择、循环采集、实时计算、数据可视化、自动报警等模块;计算模块根据图像相关法、图像处理技术等算法进行编程,实现了对全场应变、裂缝宽度等参数的监测,并针对实际监测中环境振动与变焦距的影响,提出了标定修正公式。文中给出了监测铝板全场应变与混凝土块裂缝这两个应用实例。
机器视觉;无线自动监测;OpenWrt;LabVIEW;MATLAB
机器视觉近似于人眼视觉系统,可直接获得物体的空间位置,而且结构简单、便于使用,因而被广泛应用于实验力学、材料力学、工业检测等诸多领域的监测方面[1]。其中,Bales[2]将机器视觉方法运用到了三跨连续钢桥的位移测量中;加拿大的Michel K.等[3]将数字图像相关方法的位移场测量技术运用到钢筋混凝土梁的剪切裂缝研究中;清华大学陈俊达等[4]采用数字图像相关技术对桥梁连接节点进行全场变形测量,分析得到应力集中位置;张维峰等人[5]综合图像处理技术,采用Visual C++开发环境,研制出了一套适用于桥梁裂缝远距离检测的裂缝图像识别软件。
机器视觉作为监测领域内一个新的方向,具有全场、非接触、高精度的优点,越来越广泛应用于实际监测中,但在实际的监测应用中,机器视觉的监测方法还没有形成一个完整的监测系统,使用比较单一,自动化程度、实时性、长期性、简易性还有待提高,尤其在远程监测中的应用还不够完善。由于远程监测大多采用有线连接,所以存在线路布设繁杂、接线麻烦、安装代价大、后期维护耗费大、传输距离有限等问题。随着计算机技术与通讯技术的发展,将机器视觉技术、嵌入式系统技术、无线通讯技术、基于TCP/IP的Internet技术结合应用成为了可能,从而为远程监测的提高提供了方案。2000年,AXIS制造了以Linux为平台的无线摄像机,这种无线摄像机主要采用无线技术和嵌入式操作系统。现在越来越多的无线模块已被嵌入到网络摄像机里,使无线控制与传输成为了可能[6-8]。2009年,华南理工大学将视频服务器用于无人机的导航系统中,实现了对无人机飞行的控制[9];2010年,西南交通大学开发出了基于嵌入式的运动物体自动跟踪视频监控系统[10]。
该文结合机器视觉、无线传输技术以及软件编程,设计了一套基于机器视觉的无线自动监测系统。在监测端构建了远程无线采集系统,在监控端构建了系统登录、图像预览、区域选择、循环采集、实时计算、数据可视化、自动报警等模块,并在计算模块构建了图像处理的算法程序,最终实现了监测系统的无线、自动、实时、数据可视化、自动报警等功能。
1 基于OpenWrt的远程监测端设计
1.1监测端的硬件设计
系统的远程监测端由硬件系统和软件系统两部分组成,硬件系统的主要功能是能量供给、图像采集以及为软件开发提供平台。硬件系统组成结构图见图1,它由以下几部分组成:监测摄像机,接口类型为USB2.0;TP-Link703N无线路由器,该路由器升级了内存和flash,为软件开发提供平台,控制图像采集与无线传输;移动电源,输出规格为5V/2A,直接为路由器供电,并储存电量,而为移动电源充电的为太阳能电池,该电池带USB充电头,电性参数为5V/1 100mA。监测端由无线路由器控制摄像机采集目标图片,并以无线的方式进行远距离传输。
图1 监测端硬件结构设计图
1.2监测端的软件设计
OpenWrt是一个嵌入式的Linux系统,该系统可写入文件,其内部包含了从工具链到内核,到软件包,再到根文件系统的整个体系,可定制合适的应用软件,并建立一个完整的嵌入式产品。
图2为监测端的软件结构设计图,监测端是以OpenWrt系统为软件开发平台。首先设置OpenWrt的端口映射,将无线路由器映射到OpenWrt,再映射到192.168.1.1的8080端口上,则远端对该广域网服务端口的访问将会被重新定位给通过IP地址指定的局域网服务器,即由8080端口转接到192.168.1.1,实现远程计算机与采集装置的连接,然后客户端通过HTTP协议向OpenW rt中的Web服务器发送请求信息,如mjpg_streamer-i"input_uvc.so-d/dev/video0"-o"output_http.so-p 8080-w/www/camwww",服务器则调用相应的CGI程序来处理信息并启动视频服务器软件MJPG-streamer,MJPG-streamer以功能块为单位进行设计,而功能块也被称为组件,其中由输入组件input_uvc中的input_uvc_so文件定义的函数调用摄像机采集图片,并将图片转换和压缩成JPEG格式图像,然后由输出组件output_http中的output_http.so文件定义的函数将压缩后JPEG格式图像以HTTP视频数据服务流形式输出,即http://IP:8080/?action=stream,传送至远端的浏览器中。
图2 监测端软件结构设计图
2 基于LabVIEW的系统监控端设计与实现
2.1监控端的总体设计
图3为监控端的结构设计图,监控端是以LabVIEW为软件开发平台,调用系统的硬件与软件进行工作。LabVIEW利用IPCamera Adapter软件与监测端进行通信,将远端的视频流转换为可调用的本地图像,利用MATLAB Script节点调用MATLAB算法,实现图像计算与数据可视化,并结合自身函数功能对系统各模块进行设计。监控端按运行的先后顺序分为登录模块、监测前的预览模块、监测过程中的循环模块。其中登陆模块包含了系统登录与监测方向选择;监测前的预览模块里包含了图像预览与区域选择;监测过程中的循环模块是监测系统正式工作部分,主要分为图像循环采集、图像实时计算与结果可视化、系统自动报警。系统的监测界面见图4。
图3 监控端结构设计图
图4 监控界面
2.2监控端登录模块设计
系统的登录界面见图5,登陆模块的设计是在大循环中嵌套一个事件结构,该事件结构的值改变量与登录键相连,当输入好信息后,按下登录键则事件被触发,该模块开始循环运行,用户名与密码先后通过字符串比较语句进行比较验证,验证后该程序正式激活,否则一直循环。另外本系统针对多个方向的监测,因此包含了多个子系统,这些子系统是根据LabVIEW动态调用子程序功能来实现的,在登录界面可通过下拉菜单进行选择调用。
图5 登陆界面
2.3监测前的预览模块设计
LabVIEW控制相机拍照并在前面板中显示是利用NI-IMAQdx函数库中各个函数来实现的。首先利用函数IMAQdx Open Camera来调用相机,然后由函数IMAQ Create为图像采集创建图像缓冲区,函数IMAQdx Configure Grab配置抓取属性,最后函数IMAQdx Grab利用while循环结构从缓冲区循环抓取单张图像,停止循环结构则结束预览,并由函数IMAQdx Close Camera关闭相机。其中图片显示是利用Image Display从函数IMAQdx Grab的ImageOut处获得该循环抓取的单张图像,IMAQWrite File2函数同样从该处获取图片,然后利用预设路径以及连接字符串函数将名字字符串与格式字符串合并,实现对照片的保存与命名。手动选择计算区域由MATLAB编程实现,利用函数imrect可选择框图区域,并由getPosition获得区域坐标;利用函数ginput可双击鼠标选择计算的特征点,并由函数floor获得特征点坐标。
2.4监测过程中的循环模块
监测过程为定时循环,该过程由while循环结构与时间函数来实现的。在采集模块,远程相机被调用需要一定的缓冲时间,所以在采集模块使用一个For循环结构,使采集结构中的IMAQdx Grab循环指定次数后再抓取图片,避免抓取到不稳定的花屏图像;另外该模块将循环次数转换成字符串并与图片格式字符串相结合实现图片的自动命名,其他编程与预览采集图片一样。在计算模块与数据可视化模块,根据监测方向不同分别进行设计,对于全场应变监测,根据图像相关法原理使用MATLAB进行编程,得到的数据自动保存,并以循环次数命名,同时使用MATLAB绘出全场应变云图,特征点数据依据循环次数依次保存到预定数组,并利用LabVIEW图表函数在前面板显示;对于裂缝监测,使用MATLAB编程计算,并在LabVIEW前面板中显示裂缝二值图与裂缝宽度随时间变化曲线。在报警模块,该模块使用了一个条件结构,条件结构为真时通过SMTPEmail发送邮件,并与声音及布尔灯函数形成比较结构,大于危险值时布尔灯亮并且发出报警声;条件结构为假时该循环工作结束,进入下一个循环监测。监控端的程序框图见图6。
图6 程序框图
3 消除环境振动与变焦距的实时标定
图7 标定与坐标换算过程
相机采集的图片以像素为单位,需要根据标定换算为实际尺寸,另外由于相机变焦距和环境振动的影响,前后两幅图的标定和坐标会产生差异,所以本文提出了消除影响的修正公式。在监测中从固定处向目标发射两道平行激光,以激光斑点为参照物,如图7所示,A、B为参考点,C为目标点,图M为运动前的图片,以图M中的0点为参考原始点,A0与B0的实际距离为已知,由实际距离与像素距离比值获得标定比例b0,然后可获得各点相对于0点的实际距离坐标,见式(1);图N为目标移动后发生变焦距的图片,图N相对于图M以一定的比例进行缩放,按上述方法可获得各点相对于1点的实际距离坐标,另外参考点0与参考点1之间实际距离为两幅图片所对应的实际尺寸差值的一半,即缩放位移,见式(2);图P为相机发生变焦距和刚体位移后的图片,A1相对0点的实际距离并未改变,根据b1和A1在图P中的像素坐标,可获得A1相对于点10的实际距离,再根据点1相对于点0的缩放距离、A1相对于点0的实际距离可获得点10与点1之间的刚体位移。根据缩放位移、刚体位移、C1在图P中的像素坐标以及尺寸标定比例即可获得在变焦距和环境振动下C点相对原始参考点的实际坐标,见式(3)。
式中,b为尺寸比标定比例;L实为激光斑点的实际距离;x、y为图片中的像素坐标;X、Y为目标点相对于原始参考点的实际坐标;L、H为图片的像素尺寸;us、vs为缩放位移;ug、vg为摄像头的刚体位移。
4 全场应变监测的实现
该系统应用于全场应变监测时,在登录界面选中全场应变监测方向进行登录,见图8。系统会自动调用全场应变的子程序,该子程序是在计算模块中嵌入了图像相关算法,该算法由MATLAB编程实现。
4.1图像相关法原理及精度分析
数字图像相关方法是根据物体表面散斑图像在变形前后的相关性来确定物体变形信息的一种非接触测量方法[11]。假设图像变形前后的灰度场分别为f(i,j)和g(i,j),将变形后图像中待配区域沿图像坐标逐点平移,计算变形前的子区域与变形后所有待配区域的相关系数,其中相关系数最大处的坐标表示图像位移的方向和大小[12],其中相关函数为
图像相关法的计算精度主要受环境因素与算法因素影响。环境因素中,散斑尺寸大小、数目以及分布密度影响物体特征的识别,光源的强弱影响图片灰度分布,相机的摆放位置影响标定精度;算法因素中,亚像素插值函数、相关函数以及子区域的大小影响相关计算的精度,差分计算的方法影响应变的精度。该系统实际操作时尽量减小环境影响,并且亚像素插值采用三次样条插值,应变差分采用最小二乘拟合的方法,位移计算精度可达到0.01像素,应变测量精度大约在100με左右。
4.2全场应变监测试验
在拉伸机上对铝板进行拉伸试验,使用文中监测系统对试验过程中的全场变形进行监测。其中试件材质为A16061T6铝板,厚度为3mm,宽度为12.5mm,长度为45mm,试验的加载速度为1.2 mm/min,监测系统的采集速度为10 s/幅。加载前的图像预览与计算区域选择见图9。
图8 全场应变监测启动界面
图9 选择计算区域
图10为监测过程中监控端的结果可视化图,可视化图中包含了铝板拉伸过程的实时图片、铝板沿y轴方向的全场应变图、特征点应变随时间变化的关系曲线。当铝板最大变形值超过预设阈值,报警灯亮,发出警报声,并将全场应变数据发送到指定的邮箱。
图10 监测过程
5 裂缝宽度监测的实现
该系统应用于裂缝监测时,在登录界面选中裂缝监测方向进行登录,见图11。系统会自动调用裂缝的子程序,该子程序是在计算模块中嵌入了裂缝图像识别算法,该算法由MATLAB编程实现。
5.1裂缝图像识别原理及精度分析
图像中裂缝的识别是基于裂缝灰度小于背景灰度,将裂缝与背景分割开,提取裂缝信息的。其中由灰度对数拉伸与中值滤波对裂缝图像进行预处理,根据最大类间方差法设定灰度阀值,将裂缝从图像背景中提取出来,再将提取出的裂缝细化成只有一个像素宽的线条,线条的像素个数即为长度L,裂缝区域内的像素个数为面积S,裂缝宽度即为d=S/L[14]。
裂缝的计算精度主要受环境因素与算法因素的影响。环境因素中,裂缝边缘的污迹等会对裂缝的识别产生干扰,光源与相机的影响与应变计算同理;算法因素中,灰度变换与滤波的优劣决定排除干扰的程度,阈值分割算法直接影响裂缝提取的精度,图像细化的精度决定裂缝长度的精度。该系统采用灰度拉伸、中值滤波、最大类间方差法等,精度可达0.2mm。
5.2裂缝监测试验
在拉伸机上对一块带裂缝的混凝土块进行加载试验,使用文中监测系统对裂缝的扩展过程进行监测。其中混凝土块的长宽为55mm,厚度为30mm,试验加载速度为0.5mm/min,系统采集速度为10 s/幅。加载前的图像预览与计算区域选择见图12。
图12 选择计算区域
图13为监测过程中监测端的实时监控状况,包括混凝土裂缝扩展的实时照片、裂缝与背景分割后的二值化图形、裂缝宽度随监测时间变化的关系曲线。当裂缝宽度达到报警阈值时,报警灯亮,发出警报声,并将裂缝的数据发送到指定的邮箱。
图13 监测过程
6 结语
该文在远端对硬件与软件进行设计,实现了监测端的实时采集与远程无线传输;在LABVIEW平台上进行开发设计,调用了系统的硬件与软件,实现了对系统登录、图像预览、区域选择、循环采集、实时计算、数据可视化、自动报警等模块的设计;计算模块利用消除环境振动与变焦距的修正标定公式、图像相关法以及图像处理技术进行编程,实现了对图像中变形数据的提取,并以铝板拉伸试验与混凝土压缩试验为例,表明该系统实现了实时性、自动化、远程无线传输、监测结果可视化、自动报警等功能,为远距离全场应变、裂缝宽度等参数的获取提供有效的监测方法。
[1]章毓晋.图像工程(上册)图像处理和分析[M].北京:清华大学出版社,2000.
[2]BALESF B.Close-range photogrammetry for bridgemeasurement[J].Transportation Research Record,1984(1):39-44.
[3]MICHEL K,JOLIN M,BASTIEN J,et a1.Digital image correlation analysis of crack behavior in a reinforced concrete beam during a load test[J]. Journal of Civil Engineering,2006,33(11):1418-1425.
[4]CHEN JD,JIN G C,MENG L.Applications of digital correlation method to structure inspection[J].Tsinghua Sci&Tec,2007,12(3):237-243.
[5]张维峰,刘萌,杨明慧.基于数字图像处理的桥梁裂缝检测技术[J].现代交通技术,2008,5(5):34-36.
[6]刘宇.基于嵌入式系统的视频采集与无线传输系统的设计与实现[D].银川:宁夏大学,2014.
[7]赵冰,霍春宝,李岩松.基于嵌入式Linux的3G无线视频监控系统[J].应用天地,2013(3):56-58.
[8]危思思.基于OpenWrt开源平台的移动智能装备[D].杭州:浙江大学,2014.
[9]陈亮.基于RTSP协议的实时视频服务器实现[J].网络与通信,2009,5(5):62-65.
[10]张科.嵌入式运动物体自动跟踪视频监控器的设计实现[D].成都:西南交通大学,2010.
[11]PETERSW,RANSON F,SUTTON M.Application of digital correlationmethods to rigid bodymechanics[J].Opt Eng,1983,22(6):738-742.
[12]胡浩,梁晋,唐正宗,等.数字图像相关方法测量金属薄板焊接的全场变形[J].光学精密工程,2012,20(7):1636-1644.
[13]吴太广.数字图像相关方法及其应用研究[D].长沙:长沙理工大学,2010.
[14]王静,李鸿琦,邢冬梅,等.数字图像相关方法在桥梁裂缝变形监测中的应用[J].力学季刊,2003,24(4):512-516.
The design of the wireless and automaticmonitoring system based on robot vision
QIAN Cheng,JIANGMing
(School of Civil Engineering,SUST,Suzhou 215011,China)
As to the need of the remote,long-term,real-time,automaticmonitoring system in the project,the paper designs a wireless and automatic monitoring system based on themachine vision.The programming design is made according to the wireless routermapping principle,the server access principle and the working principles of the MJPG-streamer,which helps realize the real-time collection and the remote wireless transmission at the monitoring terminal on the platform of OPENWRT.The modules such as system login,image preview,regional selection,cycle collection,real-time computation and data visualization,automatic alarm,etc.are designed by combining the functionality of MATLAB on the platform of LABVIEW.The calculation module carries out the programming according to the image correlation method and image processing technology,and implements the monitoring of parameters in full strain and crack width.Based on the effects of the ambient vibration and zooms in the practical monitoring,the correction formula is proposed.Two application examples of full strain of the monitoring aluminum plate and the crack width of the concrete block are also given in this paper.
machine vision;wireless and automaticmonitoring;OpenWrt;LabVIEW;MATLAB
TU198
A
1672-0679(2016)03-0028-07
2016-04-25
国家自然科学基金项目(11172193)
钱程(1990-),男,安徽芜湖人,硕士研究生。
通信联系人:蒋明(1961-),女,教授,博士,主要从事结构工程与光测力学的研究,Email:jiangming@mail.usts.edu.cn。
(责任编辑:经朝明)