您好, 访客   登录/注册

基于单目摄像机的无人机动态目标实时跟踪

来源:用户上传      作者:

  摘  要:文章针对四旋翼无人机与动态目标组成的系统协同作业的任务,研究四旋翼无人机与动态目标的目标识别和目标跟踪问题。设计由单目相机、视觉计算机(树莓派3B)和飞行控制系统组成的自主跟踪控制系统框架,利用Camshift运动目标识别算法对目标位置进行识别并预测动态目标运动轨迹,通过Mavlink协议将无人机的位置信息实时发送给飞行控制系统,从而控制无人机进行动态目标跟踪。实现无人机对动态目标的目标识别,目标跟踪。
  关键词:四旋翼无人机;动态目标;目标跟踪
  中图分类号:V279          文献标志码:A         文章编号:2095-2945(2020)08-0046-03
  Abstract: Aiming at the task of cooperation between four-rotor UAV and dynamic target, this paper studies the target recognition and tracking of four-rotor UAV and dynamic target. An autonomous tracking control system framework is designed, which is composed of a monocular camera, a vision computer (raspberry pie 3B) and a flight control system. The Camshift moving target recognition algorithm is used to identify the target position and predict the dynamic target trajectory. The position information of the UAV is sent to the flight control system in real time through the Mavlink protocol, so as to control the UAV for dynamic target tracking and realize the target recognition and target tracking of the UAV to the dynamic target.
  Keywords: four-rotor UAV; dynamic target; target tracking
  引言
  隨着现代科学技术的不断发展,四旋翼无人机的单独工作能力已逐步提高。但是现实中的很多问题由单个无人机完成并不是完成任务的最佳方式,需要由四旋翼无人机和其他动态目标来组成一个系统共同完成。对空中无人机与动态目标构成的系统协同合作问题的研究,是当前无人机技术领域研究的前沿课题之一。四旋翼无人机在执行目标识别与跟踪任务时,需要重点解决以下两个关键问题:首先,传统的无人机目标跟踪研究大多采用GPS定位技术,但是GPS信号受环境影响较大,无法对动态目标进行稳定的识别和跟踪;其次,在进行目标跟踪时,需要对无人机机载相机所拍摄视频进行实时分析,准确识别并跟踪动态目标。因此,本文对空中无人机与动态目标构成的系统协同合作问题进行深入研究,进而提高工作效率。
  1 整体框架
  目标物体的搜索锁定与跟踪由硬件与软件两部分组成。硬件部分由单目相机,微型视觉计算机和飞控组成。单目相机将拍摄的周围视频信息传输到微型视觉计算机中,微型视觉计算机在视频中逐帧识别提取出目标物,并将目标在图像中的位置转化为无人机坐标系下的位置,同时将转化后的位置信息发送到四旋翼无人机飞控,以控制无人机实现目标跟踪。
  1.1 单目相机
  单目相机可以实时拍摄无人机周围的视频信息,如周围的各种障碍物,以及目标物。由于无人机在飞行过程中会受到各种干扰因素导致机身轻微晃动,使得相机拍摄画面模糊不稳定,因此需要选择高清晰度,高帧率,具有防抖功能的运动相机。同时为了尽可能使拍摄内容更多,最后我们选择了山狗C4高清运动记录仪。
  1.2 微型视觉计算机
  微型视觉计算机的功能是处理单目相机拍摄的视频信息,并将相关信息传送给飞控。因为无人机运动速度较快,运动形式较复杂,所以对视频信息清晰度与视频帧率要求较高。微型计算机要有快速的运算处理能力,同时在重量体积上也有一定限制。最后我们选择了RaspberryPi3b+开发板,其具有64位1.4GHz的CPU,足以支持视觉跟踪方面的计算。
  我们选择Apsync为RaspberryPi的操作系统,DroneKit-Python以控制飞控,Open-cv以进行视频图像处理。Apsync是专用于无人机机载电脑的Linux发行版本。Apsync内置很多实用功能,不必再对RaspberryPi进行繁琐配置,DroneKit提供了用于控制无人机的API,代码独立于飞控,单独运行在RaspberryPi上,通过串口或无线的方式经MAVLink协议与飞控通信。
  微型视觉计算机具有视频读取,目标识别,目标位置处理三个主要功能:
  (1)视频读取
  单目相机将拍摄的30帧/s的周边视频信息读取到相关程序中,实现对无人机周边环境信息和目标信息的输入。
  (2)目标识别
  RaspberryPi对读取到的视频信息进行分析处理,识别到目标物,并加以锁定标记。
  (3)目标位置处理
  RaspberryPi处理后的目标位置信息是在图像坐标系下的位置,不能直接用于飞行控制,因为还需要将其通过坐标转换算法转化为无人机坐标系,最后发送到飞控中以控制无人机飞行。   1.3 飞行控制系统
  在飞控方面,我们选择的是Pixhawk,Pixhawk价格便宜、功能强大,是一款基于ARM芯片的32位开源飞控,采用了ST先进的处理器M4架构,同时搭载了NuttX实时系统,且有一个自定义的PX4底层驱动来确保全周期的实时处理,成熟典型的内外环控制结构来对无人机姿态和位置进行控制调整。
  (1)位置与速度控制器
  如图1所示,由位置控制器和速度控制器两部分组成,均选择GPS和光流传感器作为反馈信号源。位置控制器通过反馈获取无人机的位置信息x,y,并根据位置给定,通过PID控制方法计算处理,并作为速度环节的输入。速度控制器通过反馈信号源获取无人机的速度信息Vx,Vy,并根据位置环输出的速度给定,通过PID控制方法计算处理,并作为姿态控制器的输入。
  (2)姿态控制器
  如图2所示,姿态控制器由两个闭环组成。内环基于载体坐标系,是角速度控制环,采用P控制,其反馈信号为陀螺仪角速度输出p,q,r。外环为角度控制环,采用PID控制,基于大地坐标系,其姿态角采用欧拉角表示。
  2 基于图像的目标跟踪
  为了实现无人机基于单目摄像头的动态目标跟踪,主要步骤分为:(1)四旋翼无人机在平稳起飞后基于视觉识别系统和检测算法自主搜索并识别地面目标。(2)利用Meanshift算法对目标位置进行滤波和运动预测跟踪地面运动平台,实现无人机对运动平台实时捕捉。(3)从Meanshift算法中获取无人车的位置和速度信息,设计基于预测控制的无人机轨迹跟踪控制器实现无人机对无人车的跟踪。
  2.1基于机器视觉的运动目标识别
  对于Meanshift算法可以快速找到領域目标中相似的部分,面对需要自适应跟踪目标的情况,最终采取了其改良算法Camshift。基于Camshift的原理,便于提高精度我们采取了黄色目标作为其动态识别的目标。
  软件部分主要采用Python-Opencv及Camshift通过计算跟踪目标HSV空间下的HUE分量直方图,通过分量直方图反向投影得到目标像素的概率分布,然后通过调用Opencv库中的Camshift算法,自动跟踪并调整目标窗口的大小与中心位置。其主要分为以下部分:
  (1)对单目摄像头摄取的视频进行反向投影。鉴于RGB颜色空间中对于亮度的变换较为敏感,便先对图像进行了RGB到HSV空间的转变,从而减少光照亮度变化所带来的对于目标跟踪效果的不良影响。
   (2)对其中H分量做直方图。假设摄取到的图像中共有N个像素,每个像素都是有H、S、V三个部分组成,直方图有M帧,党像素的S和V值都处于初始阈值时,H值便被计入直方图。
  (3)利用目标的颜色直方图将摄像头拍摄到的目标画面转换为颜色概率分布图,第一步初始一个搜索窗口,再根据上一帧图像得到结果自适应的调整搜索窗口的位置及其大小,从而定位到目标的中心位置。
  2.2 无人机自主控制算法
  采用Python-Dronekit以及Ardupilot所提供的TISL模拟器在MissonPlanner及MAVproxy两个地面站进行基本操作模拟,后在树莓派上使用Python-Dronekit通过MAVlink来向PIX飞控发送和获取信息,通过运动目标识别所得到的与无人机的坐标关系,从而调整无人机运动状态。
  硬件部分主要由单目摄像机、视觉计算机(树莓派3B)和飞控(PIX)组成,单目相机将拍摄的四旋翼无人机周围视频信息传输到视觉计算机中;视觉计算机在视频流中识别并提取被追踪的目标,计算出所追踪目标在图像中的实时位置,同时将此位置信息通过Mavlink协议发送到无人机飞行控制系统,把图像坐标下的位置信息转换到三维机体坐标系中。采取通过计算无人机与目标之间相对高度和偏航角度来精确预估地面目标在无人机坐标系下的三维位置信息。后通过xyz坐标与期望xyz之间差值,及偏航角的前后差值做微分得到速度和角速度,通过Mavlink返回给飞控,以指导无人机实现动态目标跟踪。
  3 目标追踪实验过程
  实验过程,总体分为计算机上的软件模拟和实际中的目标追踪。为了提高追踪的准确性和有效性,所选择的追踪目标为单一颜色的物体。在实验现场中,我们还适当增加小物体从镜头前飞过,短暂挡住追踪目标,以测试无人机的抗干扰能力。此外,我们还设计了目标物体的转弯,测试无人机追踪的小规模预测航线能力。
  实验中,四旋翼无人机需要对地面上的物体进行锁定以及实时追踪。实验的具体流程包括以下几方面:
  (1)在进行实体操作演示之前,需要对程序的可靠性和准确性进行评估。采用Python-Dronekit以及TISL模拟器在Misson Planner及MAVproxy两个地面站进行基本操作模拟,模拟四旋翼无人机起飞、追踪目标、降落过程。
  (2)进行实际操作,对无人机进行系统状态检查,其中包括校准调试、GPS信号接收等。
  (3)设定飞机距离地面2.5m处恒高度飞行。无人机先升高到指定高度,开始搜索目标物体;待无人机搜索到目标物体后,无人机开始计算目标与无人机之间的距离目标在机体坐标下的位置等,目标物体的必要坐标信息,并开始进入追踪模式,与目标物体延同方向前进。
  (4)在无人机飞行途中,使用不透明纸板短暂遮挡摄像机镜头(或者短暂遮挡住目标体),使无人机短暂失去追踪物体的信息,无人机先维持原状态飞行,若失去目标信息时间超出设定时间10s,则发出报警指令;若追踪目标在指定时间内复现,则重新进行搜索模式,重新确定目标物体的必要坐标信息之后,继续开始进入追踪模式。
  (5)在无人机飞行途中,检测无人机对于飞行航线的预测能力,小幅度改变目标物体的运动轨迹(适当超出镜头的覆盖范围),无人机根据目标物体“失踪”前运行轨迹、趋势,重新进入高级搜索模式,无人机以5°/s 的速度绕机体坐标系Z 轴做旋转运动搜索目标;若旋转360°未搜索到目标物体,则发出报警指令;若寻找到目标物体,则重新进行搜索模式,重新确定目标物体的必要坐标信息之后,继续开始进入追踪模式。
  (6)将计算出的目标相对位置信息通过Mavlink协议发送到无人机飞行控制系统中。该位置信息作为四旋翼无人机的位置控制系统的输入,指导无人机到达该位置,实现对目标的跟踪。
  4 结束语
  本文对于四旋翼无人机的动态目标跟踪进行了研究,设计了基于Camshift的无人机跟踪动态目标的系统,并得到了较好的实验效果。对于Camshift算法本身的问题进行了代码优化,例如面对遮挡物,容易出现丢失目标物体的问题,实验过程中也展现出了较好的可靠性,更加接近实际场景。但是依然有很多需要改进的地方,例如为了提高精度对跟踪目标进行了特殊颜色处理,仅能高效率地跟踪个别物体,以及目前相机的抖动带来的准确性问题。我们会在后续的研究中从算法及机械结构来改善实验结果。
  参考文献:
  [1]连鑫,杨化斌.基于DSP的四旋翼飞行器视觉导航避障系统研究[J].信息通信,2017,179(11):69-71.
  [2]胡海兵,汪国庆,赖重远,等.四旋翼无人机自主避障系统的设计与实现[J].现代电子技术,2018,41(22):133-137.
  [3]张舸,伊国兴,高翔.基于视觉导航的旋翼无人机自主降落系统[J].传感器与微系统,2018,37(9):77-83.
  [4]李国仁,年晓红,周志豪.基于视觉的四旋翼无人机目标跟踪研究[J].控制与信息技术,2018(6):68-72.
转载注明来源:https://www.xzbu.com/1/view-15126309.htm