新型双目相机运动控制系统设计

2015-10-12 05:22杨宏伟陈利峰
关键词:双目云台传输

杨宏伟,陈利峰

(1.长春理工大学 计算机科学技术学院,长春 130022;2.鄂尔多斯市源盛光电有限责任公司,鄂尔多斯 017000)

新型双目相机运动控制系统设计

杨宏伟1,陈利峰2

(1.长春理工大学计算机科学技术学院,长春130022;2.鄂尔多斯市源盛光电有限责任公司,鄂尔多斯017000)

双目相机运动控制系统的小型化和快速化对双目立体视觉技术的发展和应用有着重要的研究意义。本文基于三维重建理论,以高性能的FPGA为控制核心,设计了一种新型双目相机运动控制系统。该系统利用FPGA实现双目相机的图像采集、压缩及处理功能,并通过WIFI模块将处理后的数据发送给计算机,在计算机上完成图像的解压缩、三维重建和显示,同时再利用WIFI模块向FPGA发送相机运动的控制命令,以便相机以最佳视角观测目标。本系统方案合理易行,结构简单,是一种新型简便的双目相机运动控制方式。

控制;图像压缩;三维重建;深度恢复

随着计算机图像处理技术和无线数据传输技术的迅速发展,利用双目相机扑捉三维信息得以实现。但是由于双目相机采集的数据量巨大,传统的图像数据采集方式已经满足不了其要求,而FPGA凭借其强大的组合逻辑能力、快速的处理速度及灵活的可编程等优势,其在双目相机运动控制系统中得到了充分的应用[1]。

本系统基于三维重建理论,以FPGA为控制核心,完成了双目相机的图像采集、压缩及传输功能,并通过WIFI无线模块将处理后的图像数据发送给计算机,在计算机上实现图像的解压缩、三维重建及显示功能,同时再通过WIFI模块向FPGA发送双目相机的运动控制命令,以达到控制相机运动的目的。本系统将数字图像处理技术、双目视觉三维重建技术及无线WIFI传输技术有机结合在一起,实现了一种新型的双目相机运动控制系统,对数字图像处理中相机云台的控制研究具有重要意义。

1 三维重建理论

本系统基于三维重建理论,结合立体视觉原理,分别对双目相机进行标定、立体匹配和深度恢复。其中相机标定确定了相机的内外参数,内参数由相机本身决定,外参数表示的是世界坐标系和摄像机坐标系的转换关系[2]。如图1所示,标明了双目相机的外参数求解方法。

图1 外参数求解方法

图1中,将原点Ow平移至Oc,用旋转矩阵R将坐标轴旋转后,世界坐标系和摄像机坐标系就实现一致。点X到点Xc用齐次坐标转换:

结合图像坐标系与世界坐标系及摄像机坐标系的处理过程,摄像机从三维投影空间到二维投影空间的线性转换可以通过公式(2)实现[3]:

确定相机外参数后,结合透视投影矩阵标定法,通过最大似然估计法获得双目相机的投影矩阵,然后对其分解,即可实现相机标定。

立体匹配采用光学几何测量不变性原理,通过图像中待测匹配点的邻域窗口中的灰度信息作为匹配单元,从而获得稠密的深度图和视差图。

深度恢复采用视差测距方法算出场景的真实深度信息,为云台提供辅助测试,使云台的控制角度更加精准。

2 系统组成

本系统根据三维重建理论,以FPGA为控制核心,完成了双目相机的运动控制。其系统结构图如图2所示。双目相机将采集到的图像信息送给FPGA控制单元处理,然后通过无线模块将处理后的压缩图像数据传输到计算机端,计算机完成图像的解压、三维重建及图像显示,同时通过WIFI向FPGA发送相机云台的控制命令,FPGA根据接收到的控制命令进行电机运动参数设置,控制云台运动,以便双目相机以最佳角度观测目标。

图2 系统结构图

本系统整体结构简单、功能明确。其中,电源模块主要为各单元提供正常工作电压,是整个系统运行的基本保障;双目相机是整个系统的数据输入端,负责数字图像的采集工作;FPGA控制单元是整个系统的控制核心,完成图像的采集、压缩、存储及处理功能[4];无线传输模块负责图像数据及命令数据的传输,是整个控制系统与计算机连接的纽带;相机云台带动双目相机运动,是系统的执行单元。

2.1双目相机

双目相机采用美国Digilent公司的VmodCAM。该相机采用双目平行结构,左右成像平面共面,左右图像对齐,有利于在图像处理过程中提供更高的匹配精确度。该双目相机带有两个百万像素的COMS数字图像传感器,传感器帧速率大于15,最大分辨率为1600*1200。双目相机在工作前,FPGA首先其进行参数设置,包括分辨率、输出格式等参数,还要设置双目相机的启动及复位顺序。FPGA利用串行接口(SDA,SCL)通过I2C与双目相机通信,从而获得两个同步分开的图像[5]。

2.2FPGA控制处理单元

控制单元以Xilinx Spartan®-6 LX45 FPGA为核心,通过双目相机完成图像数据的采集、压缩、存储及发送工作,并通过接收计算机的命令,对FP-GA内部参数设置,控制相机云台运动,实现以最佳角度观测目标。

FPGA控制系统由嵌入式软核、存储器控制模块、双目相机驱动模块、图像处理模块、WIFI驱动模块和步进电机驱动模块等几大部分组成,利用MicroBlaze 32位嵌入式软核构建SOPC平台,实现对对双目相机的内参数配置。其中存储器控制模块提供外扩DDR2存储器所需要的时序;图像处理模块将待发送的图像数据压缩,有利于提高传输效率;WIFI驱动模块完成无线模块的参数配置;步进电机驱动模块完成电机的运动控制。FPGA作为硬件控制核心,采用Verilog HDL硬件描述语言,完成各个单元的驱动及图像的采集、压缩及传输等工作。

2.3无线传输模块

本系统中,无线传输单元采用串口WIFI模块RPS9110-N1122,其包含完整的802.11bgn协议栈,硬件本身集成MAC、射频收发器、基带处理器(Baseband processor),功率放大器,参考时钟频率和天线等,软件集成所有WLAN协议栈、网络协议和配置功能等,通信距离远达120m。

WIFI模块与外部处理器采用标准的四线SPI接口方式,该方式下时钟速率可达25MHz。同时采用用户开发SPI总线IP核的方式,利用FPGA内部RAM资源,生成两个FIFO单元和一个RAM区,两个FIFO单元分别接收和发送数据的缓冲,防止接收到的数据丢失或者前一个待发送的数据被后一个覆盖掉,造成数据丢失;RAM区则用于存放待发送的图像数据,一次可以缓冲一帧图像数据,便于后续帧处理。

2.4系统电源

系统的电源模块由市电交流220V直接转换为12V直流供双目相机及相机云台使用,然后通过开关稳压器LM2576-5.0及LM1117电源转换芯片生成FPGA控制单元及无线模块所需要的+3.3V。其中LM2576-5.0构成的稳压电路如图3所示。

图3 +5V稳压电路原理图

电压·微秒常数(E·T)的表示方法如公式(3)所示:

Vin是变压器转换输出的+12V电压,Vout是+ 5V输出电压,f是工作震荡频率52KHz,D1为肖特基二极管IN5822,L1电感为100μH。

3 软件设计

3.1FPGA IP核配置

本系统选用Xilinx的Spartan-6 LX45 FPGA作为核心控制单元。其采用324脚BGA封装模式,提供6822个slice(每个slice含8个触发器及4个6输入LUT)、4个时钟单元(8 DCMs&4 PLLs)、2.1 Mbits的快速RAM块、6个锁相环等。并且单元模块上包括HDMI视频、Gbit以太网、128MByte的16位DDR2内存以及USB接口,内嵌Xilinx Microblaze处理器,是应用范围较广的典型数字信号处理系统。

(1)MicroBlaze外设配置

根据设计要求,本系统结合FPGA内部RAM资源,利用MicroBlaze创建SOPC平台。其外围设备如图4所示。

图4 SOPC外围设备

在图4中,CMT模块作为倍频器,将输入的100MHz时钟倍频为600MHz差分时钟,供DDR2控制器使用,DDR2控制器作为MicroBlaze和DDR2存储器之间数据传输的纽带。利用AXI总线将各个总线接口部件的IP核挂载在FPGA内部软核中。

(2)双目相机图像采集IP配置

根据双目相机输出的行、场就绪信号和数据同步时钟信号,读取正确的图像信息,为了解决数据读写冲突问题,本系统在FPGA内部开辟两块独立的RAM单元,当其中一片RAM写满(即达到4K字节)后,再将数据存入第2片RAM中,同时通知MicroBlaze处理器启动DMA,将第1片RAM中的数据存入DDR2中;当第2片RAM单元写满后,第1片的RAM单元中的数据已经传输完毕,所以此时又可以将数据存入第1片RAM中,同时通知MicroBlaze处理器启动DMA,将第2片RAM中的数据存入DDR2中。很显然,2片RAM总有一片始终在接收双目相机的图像数据,另一片通过DMA方式将数据传输至DDR2中,它们相辅相成、互不影响、同时工作,有利于提高图像的采集及传输效率。

(3)图像压缩IP配置

鉴于双目相机所采集的图像信息庞大,若直接发送源数据,耗费时间较长。因此在数据发送前首先对图像进行压缩处理,有利于提高图像传输效率。

本系统采用图像压缩IP技术,将通过AXI总线采集的图像信息划分为若干个8×8单元,然后对这些单元通过JPEG编码,最后复合为整幅JPEG图像。显然,图像压缩IP中,关键部分是JPEG编码,其主要由8×8单元模块、离散正余弦变换、量化与排序和熵编码模块4部分组成。其中,一维8位离散正余弦计算可简化为公式(4)和(5)所示:

由以上公式可知,进行一次正余弦计算需要22次乘法操作,而FPGA中包含一个18×18的乘法器,故可以满足计算要求。

在量化与排序单元中,将转换后的色度倒数量化表和亮度倒数量化表存储在FPGA内部映射的ROM中。

在熵编码模块中,对直流分量进行差分编码,然后进行Huffman编码,对交流分量先进行0游程长度编码,再采用Huffman编码。

另外,在图像压缩后,还需要对该图像数据进行封包处理,也就是需要配上图像的报头、报尾等,这样才可以构成一幅完整的JPEG图像。此举可以降低FPGA设计难度,减少WIFI传输流量,提高传输效率[6]。

(4)步进电机驱动IP配置

步进电机驱动IP根据MicroBlaze发送的命令,控制步进电机运动。本系统采用两相四线的步进电机,需要四路PWM控制,其组成框图如图5所示。

图5 步进电机驱动IP信号组成框图

AXI总线接口处理单元分别配置PWM参数和运动控制参数,逻辑控制单元产生控制PWM的相位参数,PWM产生单元控制PWM输出信号频率,根据运动控制参数输出不同相位和频率的PWM,控制步进电机运动。

3.2MicroBlaze软件设计

MicroBlaze嵌入式软核作为系统的控制核心,主要负责协调整个系统的工作时序。用户通过编写FPGA标准IP核和用户IP核,实现对外围接口单元的控制,同时编写应用程序,完成双目相机的图像采集、存储、压缩、传输等处理工作,并接收由计算机发送的参数配置命令和步进电机控制命令,通过配置电机驱动IP,实现步进电机按计算机发布的指令运动。

(1)双目相机驱动及图像采集部分设计

双目相机驱动主要包含两个部分内容,一部分是对相机进行配置,另一部分是读取相机数据,其配置流程图如图6所示。

图6 双目相机参数配置流程图

双目相机参数配置程序还包含对相机数据采集IP核的驱动,主要实现双目相机图像数据启动、停止,清空等功能。根据协议,只需要利用FPGA提供的自定义函数,向数据采集IP核写入相应的参数即可。

双目相机参数正确配置后,进入图像数据采集环节,首先判断DDR2中数据缓存区是否为空,如果不为空则继续等待;如果为空,则开始采集图像数据,等到IP核内第1片RAM区的图像数据写满后,启动DMA将该数据传输到DDR2中存储起来,然后继续等待数据就绪标志,直到一幅完整图像传输完毕。另一个相机也采用同样操作方法,其图像数据的采集过程如图7所示。

图7 图像数据采集流程图

(2)WIFI驱动软件设计

由于图像数据的数据量一般都比较大,尤其是双目相机同时输出两路图像数据,数据量更是庞大,不可能利用一次网络数据传输就把这么多的数据传输完成,因此在硬件平台上,利用FPGA将数据分成多个数据包通过WIFI发送到上位机,上位机在分批次接收到一幅完整的图像数据后,需要再将这些图像数据重新组合成为一组完整的图像数据。由于硬件平台并没有对经过JPEG压缩的图像数据增加JPEG的头、尾数据,这一部分任务要在上位机程序中实现,最终输出完整的JPEG数据流。而且,为了降低数据传输过程中出现误码,影响图像输出质量,图像传输程序中还采用了“错误重发机制”,最大限度的降低误码率。

WIFI无线模块的驱动主要通过“AT”指令配置其TCP/IP的IP地址、分配其应用程序端口号、与计算机建立网络连接并且与计算机进行数据通讯。WIFI模块建立网络连接流程如图8所示。

图8 WIFI模块连接网络流程图

经实际测试,WIFI的传输速率完全可以满足当前分辨率(系统中采用的双目相机最大分辨率1600*1200)下双目相机实时传输的需求。但由于实验条件有限,对更高分辨率要求的图像,其传输速度较慢。

(3)步进电机驱动程序设计

步进电机驱动程序根据计算机发送的控制命令,配置电机参数,包括周期、方向、同步信息等,同时通过对FPGA编程,配置电机驱动IP的内部寄存器,实现控制步进电机运动,从而实现计算机控制相机云台运动,使操作者以合适的方位对目标进行观察。

步进电机的驱动程序可以直接根据计算机的命令,计算出所需要运动的方向和步数,写入到电机驱动IP核即可。

本系统通过WIFI模块向FPGA发送三维平台控制命令,控制三维平台带动双目相机运动,可以从最佳角度观察目标点。云台中步进电机正转平均误差为0.84度,反转平均误差为0.86度。云台控制受传统惯性影响,当电机转动接近定位角度时将其速度降下来即可提高云台的定位精度。在不同细分下,随着最大转速波动率的增加,云台中步进电机的响应时间逐渐减小,具体数值如表1所示。

表1 步进电机转速波动和响应时间关系

实测中,步进电机在64细分下效果更好,同时通过采用升频曲线的优化算法,对步进电机的转速参数和启动响应时间等指数有着很大改善。

4 结果分析与结论

本系统利用相机平台的三维运动优势和双目视觉技术的先进性,选用VmodCAN相机作为图像采集单元,利用WIFI模块作为无线数据传输载体,设计了系统整体硬件结构。同时采用计算机完成与该系统的无线网络连接、图像接收与恢复及相机云台的控制等功能。

计算机首先建立网络服务器,等待该系统发起网络链接,当网络连接建立后,接收FPGA发送的经过压缩处理后的图像数据,对这些数据进行JPEG格式转换后,显示图片信息。计算机同时根据接收到的两幅图像,利用三角测量的原理,恢复深度信息,并且显示出来。为了得到最佳视角,计算机软件利用WIFI模块,向该系统发送云台控制命令,带动相机运动。系统采用Visual C++6.0,制作计算机人机交互界面,并采用多线程的方式处理系统任务,提高软件工作效率[7]。

本系统命令采用固定的帧格式发送,如表2所示,单字节存放。

命令帧中,“数据头标志”用于帧标识,固定值为”0xff”,“有效数据长度”便于FPGA平台检测处理,固定值为”0x05”;“运动控制码”代表电机运动方式,高4位为电机代码,其数值为1~3,分别代表1至3号步进电机,低4位标明电机运动状态其数值为1~7,分别代表上、下、前、后、左转、右转及停止状态;“电机运动步数”表示步进电机需要运动的步数;最后,“累加和校验和”为运动控制码与电机运动步数之和。如果传输过程中产生误码,直接丢掉数据帧。通过对各个功能模块的完善。

表2 云台控制命令的帧格式

通过实际测试结果分析,本系统利用计算机对图像进行解码和显示,实现了对目标图像的坐标计算,通过计算得出的三维坐标,为相机运动提供参考,最后通过按钮控件输出相机云台的控制命令,完成整体系统设计要求。系统方案合理易行,结构简单,性能稳定,完成了双目相机的运动控制。

[1] 董心雨,黄俊.基于FPGA的红外图像采集与传输系统设计[J].半导体光电,2012,33(4):579-581.

[2] 孙鹏飞.单目多角度空间点坐标测量方法[J].仪器仪表学报.2014,35(12):2801-2807.

[3](美)桑卡,(美)赫拉瓦卡,(美)博伊尔著.图像处理、分析与机器视觉(第三版)[M].艾海舟,苏延超等译.北京:清华大学出版社,2011:400-408.

[4] 余成波.嵌入式物体自动跟踪系统的研究[J].半导体光电,2014,35(5):932-936.

[5] 孙荣春,孙俊喜,宋雪.基于DSP的CMOS图像采集与处理系统[J].半导体光电,2011,32(6):890-893.

[6] 陈利峰.基于无线传输的相机运动控制系统研制[D].长春:长春理工大学,2015.

[7] 彭诚,任涛,段侪杰.基于体视显微镜的立体视觉测量系统[J].清华大学学报,2015,55(2):223-230.

The New Type Motion Controlling System of Binocular Camera

YANG Hongwei1,CHEN Lifeng2
(1.School of Computer Science and Technology,Changchun University of Science and Technology,Changchun 130022;2.Ordos Yuansheng Optoelectronics CO.,LTD,Ordos 017000)

It is very important for the development and application of binocular stereo vision technology to the development and application of binocular camera motion control system.The system based on three-dimension reconstruction theory and high performance FPGA as the core controlling processor,designs a new type of binocular camera motion control system.The system fulfills image acquisition,compression and procession functions of binocular camera with FPGA and sends the processed data to a computer with WIFI module.Then the image is decompressed,reconstructed three-dimensionally and displayed on the computer.Meanwhile camera motion control order is sent to FPGA with WIFI module to make the camera observe the target from the best angle.This system is reasonable,practicable and of simple structure and it realizes the motion controlling of binocular camera.

control;image compression;three-dimension reconstruction;deep recovery

TP368.2

A

1672-9870(2015)06-0108-06

2015-08-21

吉林省科技厅项目(KYC-JC-XM-2015-046)

杨宏伟(1981-),男,硕士,讲师,E-mail:yanghongwei@cust.edu.cn

猜你喜欢
双目云台传输
混合型随机微分方程的传输不等式
牵引8K超高清传输时代 FIBBR Pure38K
帮我买云台
Help me buy a…Tripod head帮我买云台
基于双目测距的卡尔曼滤波船舶轨迹跟踪
基于双目视觉的高耸类游乐设施晃动测试方法研究
基于STM32的无线FPV云台设计
关于无线电力传输的探究
当液压遇上悬臂云台 捷信GHFG1液压悬臂云台试用
支持长距离4K HDR传输 AudioQuest Pearl、 Forest、 Cinnamon HDMI线