(海军工程大学 武汉 430000)
无人机(Unmanned Aerial Vehicle,UAV)是一种典型的智能化无人平台,要求具有极强的环境感知、航路规划以及机动能力,以便在复杂的环境下开展相关工作[1]。与固定翼无人机相比,多旋翼无人机具有可垂直起降、定点悬停、灵活性高等特点并且能够实现复杂动作[2]。通常搭载视觉传感器来获取环境信息,再通过计算机视觉算法来感知场景,进而在事故搜救、交通监控、军事行动等任务中发挥重要作用。
传统简单场景下目标检测算法一般通过提取目标局部特征进行检测,包括阈值法、区域目标检测法和边缘检测法[3]。阈值法对噪声特别敏感,且检测效果一般;区域目标检测法需要人为设定种子点,算法复杂且计算量大;边缘检测法对边缘检测算子的依赖程度较大。复杂场景下的目标检测算法主要利用相邻帧间背景与目标的运动规律,实现视频图像中运动目标的检测,主要有背景差分法[4]、光流法[5]和相邻帧差法[6]。光流法运算量比较大,实时性不高,相邻帧差法易产生空洞现象。在无人机进行视频拍摄的过程中,由于飞行运动和机体震动而造成视频序列的抖动和模糊问题,导致图像质量差从而加大目标检测的难度。为消除这些抖动噪声,高效准确地实现无人机目标检测,本文利用特征点匹配和仿射变换技术实现了高可靠性的视频图像防抖优化算法,并采用基于Adaboost的目标检测算法[7],以四旋翼无人机为实验平台,实现了一个检测效果和实时性较好的无人机目标检测系统。
本文选择四旋翼无人机作为系统搭建平台,其分别由机身、飞控、旋翼、电源和电机等部分构成。机架采用大疆风火轮F450,对称电机轴距为450mm,机身重量为282g,起飞重量为800g~1600g,力臂采用高强度材料PA66+30%GF制作,具有较强的耐摔耐碰性能。动力系统采用大疆公司E305多旋翼动力系统,可靠性高、减震性能好。采用美国3DRobotics生产的APM2.8嵌入式系统与外围传感器设计飞控系统。APM自动驾驶仪的姿态解算控制方式为双重闭环PID控制,控制方式如图1所示。
图1 双重闭环PID控制方式示意图
定义一组欧拉角(航向角ψ、俯仰角θ、滚转角φ)为惯性参考系(设为e)到无人机机体坐标系(x,y,z,设为u)的旋转角。因此沿每个坐标轴的旋转关系为
经自动驾驶仪控制沿三个坐标轴旋转后,可得到惯性坐标系到无人机参考系的转换矩阵:
则欧拉角可确定如下:
它是整个无人机控制部分的核心,通过接收地面传递过来的信号,将其处理后传递到四个电机上,通过控制其转速来调整无人机的飞行姿态。
本文视觉平台设计既需要一定的图像处理技术,还要考虑无人机自身的挂载能力,满足稳定性、简易性、抗干扰性、低耗性等要求。四旋翼无人机目标检测系统结构如图2所示,主要由地面主控中心和机载云台系统两个部分组成,两部分之间通过无线通信模块交互信息。地面主控中心是对四旋翼无人机进行飞行控制,记录其飞行数据并检验飞行状况是否正常,防止因硬件故障导致无人机坠落或失控现象。机载云台系统主要对视频图像进行采集,并将采集到的信息进行一系列处理,实现四旋翼无人机对指定目标的检测。
图2 无人机目标检测系统结构示意图
该系统硬件部分主要包括一台ccd相机、图像采集卡、辅助处理器和云台等。相机的选择及搭载方法、图像处理算法、计算机运算能力对目标检测的效果有重要影响。本检测模块利用ccd相机采集视频图像信息,通过搭载一个单轴俯仰的云台扩大其采集范围,再通过图像采集卡将采集信息转为数字信号,便于计算机进行处理。此外还搭建辅助处理器处理视频图像信息,并通过控制云台上的舵机调整云台姿态,从而提高本系统的采集效率和处理速度。
“霜白了头”将本来运用于修饰霜降的形容词“白”运用到“头发”这另一事物之上,写她头发花白,形象地写出了妻子老去这一悲剧现实;
机载相机在采集图像时会受到风力、天气等外界因素影响,导致图像或视频信息存在失真和噪声干扰。本文对采集图像进行必要的预处理,减少干扰信息以重点突出图像中感兴趣的目标信息,有助于提高目标检测的效率和精度。首先对ccd相机采集到的RGB彩色图像进行灰度化,不仅能降低后续图像处理的计算量,同时也能够完整保留原彩色图像的亮度、色度和纹理等特征信息。图像灰度化[8]就是让图像中RGB三个分量值相同的过程,主要有平均值法、最大值法、加权平均法和随机分量法四种。本文选择加权平均法对图像灰度化处理,其转换公式为
其中I为图像中像素的灰度值,R、G、B分别代表红、绿、蓝三种像素。
为克服图像噪声给图像处理带来的不利影响,先对图像进行同态滤波处理。同态滤波是非线性滤波,它结合频率过滤和灰度变换对图像进行处理,将图像反射率/照度视为频域处理的基础,再通过增强对比度和压缩亮度范围提高图像质量。同态滤波通过减少低频增加高频来减少光线变化和锐化图像边缘细节,经同态滤波处理后图像再经过高斯滤波进一步提高图像质量,减少图像的噪声并保持图像目标的大小、形状等。实现高斯滤波通常有两种方法,一种是傅里叶变换,另一种是离散化窗口卷积。本文选择离散化窗口卷积对图像进行平滑处理,平滑窗口越大,平滑力度也越大。
针对无人机在视频拍摄过程中由于自身运动和机体震动造成视频序列的抖动和模糊问题,本文首先提取摄像机真实全局运动参数,使用特征点匹配和仿射变换技术[10]补偿摄像机运动干扰,使视频画面运行流畅且稳定。在提取每帧图像间特征点的基础之上,结合特征点匹配结果求得摄像机全局运动参数,接着利用此参数与仿射变换模型估算视频帧间的相对运动参数,以实现从抖动帧向基准帧间的纠正,达到连续拍摄视频图像的防抖动效果。视频防抖算法流程图见图3。
图3 防抖算法流程图
找到基准图像上特征点,并找到待配准图像上对应的特征点,然后利用匹配特征点计算空间映射参数。利用仿射变换模型,视频图像中In与In-1相对应的像素坐标Xn与Xn-1满足:
其中An表示水平尺度、垂直尺度和选择因子,Tn则反映了平移参数。通常选取第一帧作为基准帧,在相邻帧间级联使用以上变换,可得:
式中,上标r表示r次级联。故第n帧图像与基准帧间的全局变换可通过联系起来。假设消抖后第n帧图像与基准帧间全局变换参数为,类似上述级联方式,第n帧图像的位置则满足:
因此,为补偿摄像机的随机抖动干扰,第n帧图像In根据下式变换后可得稳定的图像序列:
本文采用的目标检测算法通过OpenCV数据库[11]来实现,采用的是具有高精度和高速度特点的Adaboost算法[12]。VIOLA 和 JONES 首先提出Harr-Like特征[13]来表示人脸目标,并成功将其应用到Adaboost算法中实现对目标的检测。后来证明,利用特定的Harr-Like特征同样可以实现其他目标的特征表示。通常利用特征图提取特征,采用积分图像法对图像进行二次积分,使计算量大大减少。在积分图像任意位置(x,y)处的值ii(x,y)表示该点左上角所有像素之和,表示如下:
其中,i(x',y')表示输入图像相关位置上的像素点。
Adaboost算法的训练过程就是通过提取图片的Harr-Like特征,选择出若干个弱分类器,然后把这些弱分类器迭加成一个强分类器[14]。设这n个弱分类器 (h1,h2,···,hn)是经过相同的学习算法产生的,每一个弱分类器都能对未知样本单独实现二分类,再通过加权计算各个弱分类器的分类结果得到最终分类结果。分类错误率小于0.5的分类器都能称为弱分类器,但在实际训练中,一般把错误率最小的分类器作为本轮使用的弱分类器,用公式表示如下:
其中,p能够改变不等式方向,θj表示某个特征j的阈值。
图4 Adaboost算法模型
Adaboost算法模型如图4所示。图中权重αn代表各个弱分类器hn对样本分类的贡献值,值越大,说明特征样本的分类能力越强。分类结果由n个弱分类器加权“投票”结果决定,将投票结果与分类阈值进行比较,得到最终对样本的分类结果。强分类器F表示为
为验证基于特征点匹配和仿射变换技术视频防抖算法的有效性,通过无人机采集视频图像序列,在计算机上进行实验仿真。在图像处理中,一般通过计算峰值信噪比[15](Peak Signal to Noise Ratio,PSNR)客观评价处理后的视频与原视频间的稳定程度。PSNR的计算公式表示如下:
其中M×N为图像尺寸,分别为参考帧和当前帧在坐标处的灰度值,MSE表示两幅图像的对应像素值的平均差,其值越小,PSNR值越大,则说明图像质量越好[16]。实验中抓取200帧尺寸为240×320的视频图像进行测试,图5为原始视频序列和经防抖优化算法处理后视频序列的PSNR值曲线图。
图5 不同视频序列的PSNR值曲线图
由图5可知,经本文视频防抖算法处理后的PSNR均值为37.438dB,远大于原始序列的PSNR平均值33.275dB,说明算法处理后的视频与原视频相比稳定性得到了很大的提高,证明了本文算法能够实现快速、准确的视频防抖效果。
本文分类器的训练是在Microsoft Visual Studio 2010开发环境下,实验平台配置的CPU型号为i7-8750H,内存为32G。分类器实际训练过程分三步:1)建立正负样本库;2)训练目标检测分类器;3)在训练好的分类器上测试。本实验针对的是无人机航拍车辆目标的检测,利用通过无人机航拍系统和MIT计算机视觉库中采集的4000张图片作为训练器样本。正样本中不包含其他物体,只含有待检测目标(车辆),并且需要目标尽可能充满整张图片。无人机航拍系统主要从车辆前上方、后上方以及测上方三个角度采集图片作为训练和测试样本。负样本为场景中除车辆以外的其他常见物体。实践证明,正负训练样本数量比例为1:3时,分类器的训练效果往往较好。因此本文在样本库中挑选质量较高的1000张正样本图像和3000张负样本图像建立样本库,并剪裁为同样大小,分类器训练完成得到.xml格式的分类器文件。
四旋翼无人机升空后对视频进行采集,采集到的图像传递到计算机上进行一系列处理。部分实验结果如图6。由图可见,本文算法对车辆目标的整体识别率较高,能够有效完成无人机车辆目标识别任务。一方面是因为丰富的训练样本和高效的Adaboost算法对识别率有了稳定的保障,另一方面本文使用的视频防抖优化算法大大改善了视频质量,促使识别效果得到进一步提升。当然本算法也存在因树木遮挡、取景不全、距离较远和光线黑暗等因素导致的漏检现象。测试结果表明,本系统目标检测准确率约为94.75%,每帧检测时间为22.5ms,达到预期效果。
图6 车辆检测部分实验结果
本文设计了基于防抖优化的无人机目标检测系统,通过有效缓解无人机采集数据过程中不可避免存在的视频序列抖动问题,实现了准确性和实时性较好的无人机车辆目标检测效果。但在更高要求的应用场合中,系统的性能仍存在一定的不足,下一步可以通过使用性能更高的硬件处理器和开发更高效的软件算法来继续优化和改进。