APP下载

车载无人机的多路影像采集与拼接*

2017-04-12刘家利关桂霞赵海盟彭彬彬

传感器与微系统 2017年4期
关键词:关键点界面矩阵

刘家利, 关桂霞, 赵海盟, 晏 磊, 彭彬彬

(1.首都师范大学 信息工程学院,北京 100048;2.北京大学 空间信息集成与3S工程应用北京市重点实验室,北京 100871)

车载无人机的多路影像采集与拼接*

刘家利1,2, 关桂霞1, 赵海盟2, 晏 磊2, 彭彬彬1,2

(1.首都师范大学 信息工程学院,北京 100048;2.北京大学 空间信息集成与3S工程应用北京市重点实验室,北京 100871)

为提高无人机(UAV)采集全景影像的效率,采用基于ARM内核的高性能影像编解码处理器,以Linux为操作系统,搭载多路影像传感器,构建了一种适合无人机平台的多路影像同步采集的嵌入式系统。设计了软件多线程同步采集模式及基于Qt与OpenCV视觉库的多影像拼接界面,实现了全景影像的多角度实时同步获取及多路影像的拼接。系统软硬件联调与实验结果表明:该系统能成功完成多路影像数据的同步采集拼接处理,操作方便,达到了预期的要求和效果。

无人机; 多路影像传感器; 多线程; 同步采集; 图像拼接

0 引 言

无人机(UAV)影像采集技术具有影像实时传输、高危地区探测、成本低及机动灵活等优点[1],已成为一种空间数据获取的重要手段和遥感领域的有力补充,在国外已得到广泛应用。近年来,无人机越来越多的应用于各种应急救援场合,为指挥救援提供大量现场实时影像数据,为制定高效的救援方针提供保障。其中,无人机影像采集技术主要是通过携带相机,多次航拍获得现场影像数据。由于无人机自身载荷轻,航飞时间短等特点,使之具有能在复杂多变的救援现场最大发挥其机动灵活性,实时性等优点。

为提高无人机快速获取救援现场影像信息,本文设计了基于无人机平台的多影像传感器数据同步采集与地面实时控制及处理的车载无人机遥感系统。该系统主要用于应急救援领域的车载无人机前端影像采集系统及地面控制端的全景影像分析决策系统。通过提高无人机单次航飞的效率,及对现场全场影像信息的获取,来提升车载无人机应急救援系统现场处理、分析、决策的能力,为制定精准的救援方针提供有力保障,为摄影测量、遥感等领域的三维重建、全景拼接、配准融合[2]提供丰富的前端多源影像数据。

1 车载无人机系统组成

本文针对车载无人机遥感平台设计了现场影像数据的同步采集、编码、存储及拼接的嵌入式软硬件系统。该嵌入式系统质量轻,体积小,集成度高,可以完成无人机对地物多角度的同时拍摄及对采集影像的拼接,从而实现救援现场信息的快速获取。车载无人机系统分为无人机载荷端和地面控制端[3]。其中,无人机载荷端包括多传感器采集系统、航飞控制系统、数据传输系统及导航系统等;地面控制端包括航线规划系统、地面控制系统以及数据接收系统、影像处理系统。无人机载荷端主要功能是根据地面端制定的航迹,完成多路遥感影像数据的实时同步采集与存储。地面控制端主要功能是无人机的实时控制与数据的处理。整个车载无人机系统架构图如图1所示。

图1 车载无人机系统图

由图1可知,无人机载荷端的多传感器影像采集系统以多通道影像采集设备NVP1918C[4]为核心,结合外围采集电路,完成对多路模拟CCD影像传感器影像数据的采集与数字化。影像的编码系统采用基于ARM内核的专业影像编解码器Hi2520D[5],接收来自采集单元NVP1918C的影像帧流,对影像进行前期处理,完成影像的编码与存储。

地面控制端的控制处理系统主要通过Qt人机交互界面完成对无人机载荷端的多传感器影像采集系统的参数设置、多通道影像的预览及全景拼接预览。方便对无人机端实时地控制及快速获取现场影像信息。

2 多路影像同步采集

2.1 影像采集平台的构建

基于多传感器同步采集的硬件系统,开发数据编码、参数设置、存储管理、影像显示与处理、线程管理、设备管理和驱动加载、网络通信以及系统的初始化的软件系统,并完成Linux内核的烧写、驱动加载、系统启动脚本编写等工作。由于嵌入式平台的架构与PC架构不同,本系统平台的构建及应用程序的开发均采用PC宿主机与目标机相结合的交叉开发模式[6]:宿主机上设计、调试、交叉编译,调试成功后,目标机上运行、验证、再调试直至可靠运行。具体流程图如图2所示。

图2 软件平台流程图

2.2 多线程同步采集模式

基于多通道采集多传感器影像数据的硬件平台,为提高无人机高速航飞时多路影像数据采集的同步性,影像采集程序的设计采用Linux下多线程编程模式,即为每一个通道的影像数据的采集与存储,分配相应的采集线程与存储线程,以实现多传感器同一时刻对同一场景的多角度拍摄,为后期的影像处理提供原始影像数据。多线程的同步采集模式在提高了系统同步性的同时,精简了硬件资源,提高了系统的集成度。采集程序的工作流程图如图3。

图3 同步采集流程图

在影像采集程序的设计中主要采用了多线程同步中经典的生产者—消费者模式[7],即分别将采集与存储分为两个线程,使多路传感器图像数据的采集与存储处于不同的线程的控制下。采用信号量与互斥锁同步采集线程和存储线程,以实现多采集线程间隔时间的最小化,完成多源传感器数据的同步获取,从而满足无人机高速航飞时的要求。

3 多路影像拼接

为实现地面控制端对无人机的灵活控制及对影像数据实时分析、处理,设计基于Qt的可视化实时操作界面,方便快捷地完成地面控制端的指令发送。同时,为实现对多通道影像数据的预览及全景图获取,设计了基于OpenCV的影像显示及处理模块[8]。

3.1 基于Qt的人机交互界面设计

通过Ubuntu系统中QtCreator集成开发环境,编写可视化的应用程序Qt界面[9]。设计优良的人机交互界面能简化操作,方便使用。利用Qt的控制处理界面实现对控制指令的发送及OpenCV下图像处理算法及函数调用。通过该界面可以方便地完成对无人机的实时控制及对采集影像的快速预览与处理。

3.2 基于OpenCV的图像拼接处理

本系统通过影像处理界面选择3张预拼接影像,通过OpenCV下Stitcher类中相关函数对多张影像预处理,特征点提取与配准,多相机校准,曝光补偿,影像融合等操作,完成多路影像拼接[10],获取全景图。具体流程图如图4所示。

图4 图像拼接流程

3.2.1 基于SIFT的特征提取与匹配

首先,对多张原始影像进行直方图匹配、平滑滤波、增强变换等基本图像操作,完成图形拼接的预处理,为影像的特征提取做准备。然后,利用SIFT算法对图像进行尺度空间关键点检测,确定关键点方向、关键点特征描述、关键点匹配等操作,完成影像的特征点提取与影像配准。

利用高斯函数获取不同的尺度空间,并在不同的尺度空间查找关键点,即对输入的图像进行高斯滤波得到尺度空间,则得式(1)

L(x,y,σ)=G(x,y,σ)*I(x,y)

(1)

通过高斯差分函数,检测出尺度空间中的稳定点,则得

D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ) )*I(x,y)

(2)

即尺度空间相邻上下两层图像相减,得到高斯差分图像。将每一个采样点与它同尺度的8邻域点和上下相邻尺度对应的9×2个点共26个点进行比较,看其是否比它的影像域和尺度域的相邻点大或者小,确保尺度空间和二维影像空间都检测到极值点[11]。

利用图像的局部特征为给每一个关键点分配一个基准方向,使描述符具有旋转不变性。关键点(x,y)的梯度模值和方向如下

m(x,y)=

(3)

通过以上步骤,得到每一个关键点的三个信息:位置、尺度以及方向[12]。接下来就是为每个关键点建立一个描述符,用一组向量将这个关键点描述出来,使其不随各种变化而改变,比如光照变化、视角变化等。

得到影像的SIFT特征描述后,利用关键点特征描述符的欧氏距离作为两幅影像中关键点的相似判定度量。取影像1中的某个关键点,找出影像2中欧氏距离最近的前两个关键点,在这两个关键点中,若最近的距离除以次近距离少于某个比例阈值,则可以接受该匹配点;如果降低此阈值,SIFT特征匹配点数会有所减少,但是匹配结果更加稳定。

3.2.2 影像配准

影像配准则利用SIFT算法匹配相邻图片中的特征点,估算影像间投影变换矩阵,识别出两幅影像对应的特征信息。利用这些匹配的点来估算“单应矩阵”(homographyestimation),即把其中一张通过关联性与另一张匹配的方法。单应矩阵H如下式(4)

(4)

通过单应矩阵H,可以将原图像中任意像素点坐标转换为新坐标点,转换后的图像即为适合拼接的结果图像。

3.2.3 相机校准

根据前面求出的任意两幅影像的单应矩阵H,求出符合条件的相机焦距f,并求出均值作为所有影像的粗略估计焦距f。根据匹配的内点构建最大生成树,然后,广度优先搜索求出根节点,并求出相机的旋转矩阵R,相机参数模型矩阵K。相机参数模型定义为

(5)

旋转矩阵为

(6)

由于多个成对的单应性矩阵合成全景图时,忽略全局的限制,造成累积误差。多路影像传感器从不同角度、位置拍摄多幅影像,则影像上所有特征点的物点、像点、光心都落在相应的光线上,满足成像的共线关系。利用光束法平差优化这些共线关系的总体偏差,使物点、光心、光轴像机、目标结构等参数得到修正。因此,每一个图像都要加上光束法平差值,使图像被初始化成相同的旋转和焦距长度。

通过影像配准,光束法平差等处理得到影像的相机参数及旋转矩阵R,对影像进行优化后的单应矩阵变换。源图像的点(x,y,z),图像的旋转矩阵R,图像的相机参数矩阵K[13],经过变换后的同一坐标(x1,y1,z1)如式(7)所示,然后通过映射式(8)映射到球形坐标(U,V,W),其关系如下

(7)

V=scale(π-acosW)

(8)

根据映射公式,对图像的上下左右4个边界求映射后的坐标,确定变换后图像的左上角和右上角的坐标。

利用反投影将图形反投影到变换的图像上,并用2维线性插值计算像素值。将反投影求出的左上角和右上角坐标轴写到图形矩阵中,最后,使用自带的函数将图像重新绘制。

3.2.4 曝光补偿与图像融合

图像拼接过程中,可能因为光圈或者光线的问题,导致相邻图片重叠区域出现亮度差,所以在拼接时就需要对图像进行亮度补偿。

根据优化后的图像间单应变换矩阵H确定图像间重叠区域,将预融合的多幅影像镶嵌到一个空白的影像中形成一个全景图,完成系统多路影像拼接。

4 实验结果与分析

在成功完成无人机载荷端的多路影像数据的同步采集后,将采集的影像数据传输到地面控制终端,运行已调试成功的Qt控制处理界面,通过界面上影像预览控件选择3张同步采集的影像数据,并通过影像处理控件完成多采集的多影像数据的特征点提取与匹配,最后完成多路影像数据拼接,从而获得全景影像数据。如图5所示。

图5 多影像拼接效果图

由图5可知,本系统所采用的基于SIFT的特征提取与匹配及光束法平等改进算法很好的完成了3张分辨率为640×480影像的拼接处理,拼接结果较为自然,无明显的拼接缝隙。尽管图像间的亮度存在差异,但经过曝光补偿及融合后,还是保证了多影像间的平滑过渡。总体上,在多传感器的不同拍摄角度、相机参数、亮度、曝光度及焦距等引起图像的亮度及畸变的处理上是稳健的。但是,实验表明:该算法存在拼接时间长,亮度拼接缝等问题,下一步将针对多传感器不同参数、运动补偿等问题构建更加稳健的拼接模型。

同时,友好的人机交互界面增强了地面控制操作的方便性,并成功完成多路影像的实时预览及拼接处理可视化操作。它在一定程度上增强了无人机感知信息的能力,加快了对应急救援现场信息的采集与分析,提升了整个系统的性能。

5 结 论

本文根据无人机在应急救援领域的应用需求,设计了基于无人机平台的嵌入式影像采集系统及地面控制处理终端。采用多线程同步采集模式优化采集系统,为地面控制端提供大视场同步影像数据,加快了地面控制端对采集的同步多路影像的拼接处理。系统从硬件平台的多传感器,到软件多线程的同步及基于OpenCV与Qt的控制处理界面设计,均在传统的无人机影像采集系统上进行改进与创新,将无人机的应用与机器视觉相结合,以此来提升无人机的感知能力及航飞效率。

在系统联合调试与实验中仍发现了一些需改进之处,为提升整个系统的性能,下一步的工作将在系统集成度、软硬件精简、快速拼接算法、影像去抖动性及图像界面优化等方面进行完善。

[1] 李岩山,裴继红,谢维信,等.一种新的无人机航拍序列图像快速拼接方法[J].电子学报,2012,40(5):935-940.

[2] 刘思洁.面向无人机监控技术的多传感器视频图像融合方法研究[D].北京:北京大学,2014:22-24.

[3] 彭彬彬,关桂霞,赵海盟.车载无人机遥感图像采集与地面显示模块设计[J].影像科学与光化学,2015,33(6):503-512.

[4] 于 琴.基于FPGA的数字图像采集卡的开发与设计[J].微计算机信息,2008,24(26):128-129.

[5] 赵冰洁.基于FPGA+ARM的多源图像融合技术研究[D].西安:西安光学精密机械研究所,2014:15-30.

[6] 谷静博,关桂霞.地应力监测中定位与姿态数据采集系统设计[J].计算机应用,2014,34(9):2752-2756.

[7] 李 梅.生产者—消费者的Linux多线程实现[J].价值工程,2012,30(6):221-222.

[8] 王福斌,李迎燕,刘 杰.基于OpenCV的机器视觉图像处理技术实现[J].机械与电子,2010(6):54-57.

[9] 许崇娟,陈春光.基于嵌入式系统Qt界面的混沌数字图像加密研究[J].工业控制计算机,2014,27(4):116-120.

[10] 杨 杨.无人机航拍视频图像实时拼接软件系统的设计与开发[D].北京:北京工业大学,2013.

[11] 夏朝贵,李二森,刘 智.一种基于SIFT特征匹配的自动图像拼接方法[J].海洋测绘,2010,30(1):66-69.

[12] Lowe D G.Distinctive image feature form scale-invariant keypoints[J].International Journal of Computer Vision,2004,60(2):91-110.

[13] Brown M,Lowe D G.Automatic panoramic image stitching using invariant features[J].International Journal of Computer Vision,2007,74(1):59-73.

Capture and stitching of multi-channel images based on vehicle-mounted unmanned aerial vehicle*

LIU Jia-li1,2, GUAN Gui-xia1, ZHAO Hai-meng2, YAN Lei2, PENG Bin-bin1,2

(1.College of Information Engineering,Capital Normal University,Beijing 100048,China;2.Beijing Key Laboratory of Spatial Information Integration & 3S Application,Peking University,Beijing 100871,China)

The embedded system,capture and stitching of multi-channel images based on vehicle-mounted UAV is designed to improve the efficiency of capturing panoramic images.The system is composed of high performance images codec processor based on ARM kernel,the image sensors and Linux.It is very suitable for UAV platform.The system can capture the images in different angles in multithreading mode in real-time and synchronously,have the panorama images with the images stitching interface based on Qt and OpenCV.The results of experiment show that the system can capture images synchronously and stitch images successfully,its operation is convenient and achieve expected effect.

UAV; multi-channel image sensor; multithread; synchronous acquisition; image stitching

10.13873/J.1000—9787(2017)04—0008—04

2016—05—27

国家自然科学基金资助项目(41371492);博士点基金资助项目(20130001110046)

TP 751

A

1000—9787(2017)04—0008—04

刘家利(1990-),男,硕士,主要研究方向为嵌入式系统开发与设计。

赵海盟(1980-),男,通讯作者,工程师,主要从事卫星导航、嵌入式系统设计工作,E—mail:zhaohaimeng@163.com。

猜你喜欢

关键点界面矩阵
聚焦金属关键点
肉兔育肥抓好七个关键点
国企党委前置研究的“四个界面”
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
人机交互界面发展趋势研究
初等行变换与初等列变换并用求逆矩阵
矩阵
矩阵
矩阵
手机界面中图形符号的发展趋向