文献标识码:A
文章编号: 0258-7998(2013)10-0029-04
塔吊作为现代建筑必备的吊运工具,在工程建筑中作出了巨大的贡献。但近年来塔吊安全事故频发,不但带来了巨大的经济损失,而且也造成了不少人员伤亡。因此,视频设备被应用到塔吊监控领域。当前工地上的视频监控设备主要是针对远程监测人员使用,而且是基于PC平台,由于PC体积过大,不适合在狭小的塔吊驾驶室安装,所以没有得到广泛的应用。至于对吊钩距离地面的高度测量问题,目前主要有激光测距和超声波测距,但是激光测距仪成像速度慢,而且价格比较昂贵。超声波测距受外界的影响较大,楼层越高,超声波损失就越严重,导致测量误差较大。随着嵌入式技术和图像处理技术的发展,单目视觉测距为测量吊钩高度提供了一种有效的解决方案,它不但能进行高度的测量,同时也解决了驾驶员操作时碰到的视觉盲区问题。
1 系统总体设计
本文设计的是一个采用单目视觉测量塔吊吊钩高度的视频传输系统,该系统不但能够实时显示测得的吊钩距离地面的高度信息,还能显示视频图像信息[1]。系统包含视频采集端和视频接收端,采集端安装在塔吊吊臂的变幅小车上,摄像头竖直向下安装,监控吊臂下方工地场景,接收端放在驾驶室中供驾驶员查看。两个终端通过WiFi无线网络实现通信连接。系统的工作过程是:视频采集终端通过USB摄像头采集视频数据信息,并通过图像处理计算出吊钩距离地面的高度信息,然后通过无线网络将数据信息传输到视频接收端,并在LCD显示屏上显示出实时高度信息以及视频信息。
2 系统硬件设计
系统的硬件主要由视频采集终端和视频接收终端两部分组成。视频采集终端包括视频采集模块、数据处理模块、WiFi无线传输模块以及电源模块;视频接收终端相对于采集终端去掉了视频采集模块,增加了LCD显示屏以及存储模块。采集模块的结构图如图1所示。
该系统的基本工作原理是:采集端的USB摄像头将采集得到的模拟视频信号通过视频解码器转换成数字视频信号,然后将数字视频信号输入到S3C6410的视频通道口进行处理[2],最后通过WiFi无线模块将处理后的数据信息发送到接收端,并在LCD屏上显示实时视频以及检测到的吊钩实时高度信息。
2.1 S3C6410微处理器模块
S3C6410是三星公司设计的16/32位RISC微处理器,基于ARM1176JZF-S内核,最高主频可达667 MHz。具有独立的Load/Store和8级流水线设计,采用特殊的设计改善视频处理能力,集成了多格式的编解码器(MFC),支持MPEG4/H.263/H.264编码、译码以及VC1的解码,是一个低成本、低功耗、高性能的应用处理器,非常适合视频媒体的应用。
2.2 视频采集模块
该系统采用OmniVision公司的OV9650芯片作为CMOS数字图像传感器,该芯片向S3C6410提供SCCB和Camera Interface接口,而且内部集成了图像传感器和数/模转换器。光学图像投射到图像传感器上,将光学图像信号转化为电信号,电信号通过内部的数/模转换器转化为数字信号,最后经过数字信号处理芯片DSP处理之后通过USB接口传输到开发板上[3]。OV9650和S3C6410接口的连接线如图2所示,OV9650的DATA[7:0]与S3C6410的CAMDATA[7:0]相连,实现两者之间的数据传输。OV9650的系统时钟SCLK与S3C6410的CAMCLK相连,用来解决传输数据时同步时钟信号。S3C6410通过I2C总线对OV9650的内部寄存器进行读写来控制该芯片。
2.3 WiFi无线传输模块
该设计需要实现视频数据的实时传输。虽然通过H.264进行了压缩处理,但是它的数据量依然较大,所以采用WiFi无线宽带技术,通信带宽2 Mb/s、11 Mb/s、54 Mb/s(自适应),具有自适应能力强、抗干扰能力强等优点。本文采用的88W8686是Marvell公司推出的WiFi无线模块,该模块完全遵循IEEE 802.11g标准,而且兼容802.11b协议标准。它工作在2.4 GHz频段,最高传输速率达54 Mb/s。该无线模块提供了SPI和SDIO接口,通过SPI或者SDIO接口将传输过来的数据封装起来,通过WLAN将信息传输给远程客户端。系统的88W8686-
WiFi无线模块是双排插针式接口[4],它与S3C6410的SDIO接口连接使用,如图3所示。SDIO总线有两端,分别为主机(HOST)端和设备端(DEVICE),由HOST端发出命令,然后在DEVICE端解析采用HOST发出的命令。SDIO接口支持SPI mode、1 bit mode、4 bit mode三种传输模式,该系统采用SPI mode传输模式。
3 基于V4L2的视频采集过程
该系统使用的是Linux-2.6.38的内核版本,它支持USB Camera,只要USB Camera符合UVC(USB Video Class)标准,USB设备就可以直接使用。V4L2是Linux内核中一种通用的视频设备驱动,它的Video设备在用户空间通过调用各种ioctl对摄像头进行控制,而且还可以使用mmap进行内存的映射。V4L2的操作流程如图4所示。首先要打开设备文件,取得设备的capability,根据设备的功能,选择视频输入,设置视频的制式和帧格式,并向驱动申请帧缓冲,将申请到的帧缓冲映射到用户空间,这样就可以直接操作采集到的帧。再将申请到的帧缓冲全部入列,以便存放采集到的数据。这时就可以开始视频采集,并出列已采集数据的帧缓冲,获得原始采集数据,再将帧缓冲重新入列到队尾循环采集视频数据,最后如果停止采集就关闭视频。
4 单目视觉测量吊钩高度
机器视觉测量距离主要有双目测距、单目测距等。双目测距由于需要特征点匹配,而实际中这种匹配比较困难,从而影响了它的测量精度和效率。单目测距是指利用单个摄像头作为视觉传感器进行距离测量,它要求摄像头的位置是固定的,如果摄像头移动,则会有角度的变化,这样就需要重新标定[5]。本文介绍的测距方法就是将摄像头固定在塔吊驾驶室下方,并向下倾斜一定的角度,这样有利于检测吊钩的高度。这种单目测距方法具有结构简单、稳定性高、运算速度快等优点。
4.1 吊钩的检测和定位
塔吊的吊钩具有显著的黄颜色特征,所以采用基于颜色的目标分割方法实现对吊钩的快速识别,这种方法处理结果较准,而且对光线变化的适应性好。对于视频图像的处理采用RGB模型,它比较适合于目标的识别。
在吊钩运行过程中,采用二值化操作对吊钩进行检测分割,这里采用局部自适应阈值的方法。该方法根据像素邻块的像素值分布来确定该像素位置上的二值化阈值[6]。其优点在于每个像素位置的二值化阈值不是固定不变的,而是由周围的邻域像素分布决定的,亮度较高的区域二值化阈值较高,亮度低的区域二值化阈值相应地就会较低。这样对于吊钩更容易准确地检测识别。本设计采用的自适应阈值算法是CV_ADAPTIVE_THRESH_GAUSSIAN_C,即先求出块中的加权和(gaussian), 再减掉param1。该设计中吊钩的颜色为黄色,而且黄色像素比较稀疏,根据训练的自适应阈值,就可以检测出吊钩的边界,从而准确识别出吊钩的位置。
4.2 单目测距改进的算法
单目视觉测距技术需要从二维图像信息中获得三维空间中的位置信息,这就要将三维的场景投影到摄像机二维图像平面上。所以需要利用几何关系来确定被测物体在世界坐标中位置点及其在成像点之间的数学关系,具体可以采用小孔成像原理来模拟两者之间的投影关系。这里采用针孔模型测距方法来进行分析[7],被测物体的特征点在摄像机成像平面上的投影几何图像如图5所示。
5 测量结果分析
基于ARM11平台的Linux系统开发了塔吊监控系统。系统将采集的视频图像数据通过S3C6410处理器处理之后输出视频数据以及吊钩的高度信息。基于Linux系统开发了Qt上位机界面[9]。通过单目视觉测得的10组吊钩高度数据如表1所示。
由表1的数据可以看出,随着吊钩的下放,也就是吊钩越远,测量的误差率越高,这是因为摄像头的轴线和被测目标的平面发生了倾斜以及对吊钩的识别度降低等因素造成的,所以该设计应用在中低层建筑塔吊中效果较好,对驾驶员的操作起到一定的辅助作用。
虽然目前市场上的监控设备较多,但是多是基于PC平台,而且缺少图像处理功能,智能化程度较低。同时它的体积较大,不方便携带,而且价格相对与ARM平台要贵许多。本文提出的基于ARM11平台的单目视觉塔吊监控系统结合多特征信息融合和单目测距原理,实现了对塔吊吊钩的监控以及高度的实时测量,解决了驾驶员的视觉盲区问题,使驾驶员可随时掌握吊钩高度信息,增强了驾驶员作业的安全性,也提高了作业的效率。
参考文献
[1] 赵春媛,李萌,韩会山.基于ARM9的无线视频监控系统设计与实现[J].计算机工程与设计,2012,33(2):529-533.
[2] 李文江,王红飞,侯玉峰.基于S3C6410的嵌入式胶带运输机监控系统[J].仪表技术与传感器,2010(12):74-79.
[3] 梁艳.基于OpenCV的ARM嵌入式网络视频监控系统[J].微型机与应用,2013,32(9):29-31.
[4] 郗瑶颖,张建阳,赵祥模.基于ARM11的单目视觉车距监测系统[J].计算机系统应用,2012,21(12):33-37.
[5] 李二涛,张斌贝,曾虹.基于单目视觉的彩色目标跟踪[J]. 杭州电子科技大学学报,2008,28(5):139-142.
[6] 顾裕丰,刘国栋.一种复杂场景下的运动目标跟踪算法[J]. 电子技术应用,2012,38(1):122-125.
[7] 韩延祥,张志胜,戴敏.用于目标测距的单目视觉测量方法[J].光学精密工程,2011,19(5):1110-1117.
[8] 张法全,路立平,沈满德.单目视觉目标距离测量方法[J]. 光子学报,2009,38(2):453-456.
[9] 刘治国,陈新华.基于Linux和Qt的智能家居系统的设计与实现[J].电子技术应用,2012,38(4):23-26.