当前位置:   article > 正文

基于Faster R-CNN和CSRT追踪器的无人机目标跟踪_csrt跟踪算法

csrt跟踪算法

目录

一、项目简介

二、目标检测在无人机中的应用

三、目标跟踪在无人机中的应用

四、无人机目标跟踪系统

4.1 系统整体架构设计

4.2 Faster R-CNN

4.3 基于Opencv的CSRT追踪器

五、无人机飞行控制算法设计

5.1算法步骤

5.2 无人机设备

5.3无人机目标跟踪系统测试


一、项目简介

        本项目设计了无人机室内目标跟踪系统的整体架构,包括无人机、计算机视觉模块、通信模块和定位模块。在此基础上,实现了基于Faster R-CNN的目标检测模型和基于OpenCV的CSRT追踪器,以及无人机的飞行控制算法。


二、目标检测在无人机中的应用

        基于深度学习的目标检测算法主要分为两大类:一类是基于候选区域的算法,如R-CNN系列;另一类是基于回归的算法,如YOLO和SSD等

  1. 基于候选区域的算法:这类算法首先在图像中生成一系列候选区域,然后对每个候选区域进行分类和位置调整。其中,Faster R-CNN[5]是该类算法的代表,它使用区域提议网络(RPN)来生成候选区域,并通过ROI Pooling层将特征图上的候选区域映射到固定大小的特征向量,最后进行分类和位置调整。下图2-1为Faster RCNN基本结构

图2-1 Faster RCNN基本结构图

       2. 基于回归的算法:这类算法将目标检测任务转化为一个回归问题,直接预测目标的位置和类别。YOLO[1](You Only Look Once)算法是该类算法的代表,它将图像划分为多个网格,每个网格预测固定数量的边界框和类别概率,其核心思想是利用整张图作为网络的输入,直接在输出层回归bounding box的位置和bounding box所属的类别,如下图2-2所示:

图2-2 YOLO算法核心思想图

SSD(Single Shot MultiBox Detector)则结合了Faster R-CNN和YOLO的思想,在不同尺度的特征图上进行预测,提高了检测的准确性和速度。


三、目标跟踪在无人机中的应用

        基于计算机视觉目标跟踪是指在视频帧中,对待跟踪目标的区域进行初始化,即确定其位置和尺寸,然后在待跟踪的视频帧中使用特定的方法得到其在每帧中的具体位置和区域大小。主流跟踪算法的关键技术主要是特征提取和分类器的训练,目前绝大多数的跟踪算法主要是针对具体的场景进行改进,整体的跟踪流程如下图:

        主流的跟踪方法常采用tracking-by-detection的策略,即使用离线或在线学习训练分类器,以区分当前帧的背景和前景区域,进而检测每帧中的目标。具体来说,该方法首先根据前一帧的跟踪结果,在本帧中初步确定一个位置。然后,通过特定的搜索机制在本帧生成大量的候选区域。接着,利用特征提取方法(如颜色、HOG或深度学习等)对这些候选区域进行特征提取,并通过分类模型对每个候选区域进行分类。选择置信度最高的候选区域作为跟踪目标的最终位置。最后,在线更新分类器。这个过程在每一帧中循环进行,从而实现对视频序列中目标的持续跟踪。


四、无人机目标跟踪系统

4.1 系统整体架构设计

        在无人机目标跟踪过程中,目标形变、遮挡、消失后重现以及快速运动等问题尤为常见,这些也是视觉跟踪领域经常面临的挑战。为此,本项目将首先从整体架构的角度出发,介绍针对这些问题的解决方案。本文的系统整体流程图如下图:

4.2 Faster R-CNN

        在目标跟踪模块的设计中,一个关键步骤是目标检测,即准确地在图像中定位出目标物体的位置。为了实现这一目标,我们采用了基于区域的Faster R-CNN(Faster Region-based Convolutional Network)预训练的目标检测模型。Faster R-CNN是一个高效且准确的目标检测框架,它通过结合区域提议网络(Region Proposal Network,RPN)和卷积神经网络(Convolutional Neural Network,CNN)来实现对目标物体的检测。其网络结构如下图所示:

        在本系统中,我们采用了预训练的Faster R-CNN模型。预训练模型意味着该模型已经在大量数据集上进行了训练,并具备了一定的泛化能力。通过利用预训练模型,我们可以快速地适应到新的数据集上,而无需从头开始训练模型,从而大大缩短了开发周期。

        本系统将其迁移到我们的目标跟踪任务中。通过微调模型参数以适应无人机追踪系统的需求,我们能够实现对目标物体的准确检测。这种迁移学习的方法不仅提高了模型的性能,还降低了对大量标注数据的依赖。使用Faster RCNN目标在无人机目标追踪上的样例如下图所示:

4.3 基于Opencv的CSRT追踪器

        系统主要利用OpenCV进行图像的读取、处理以及目标的跟踪(Tracking)。在无人机的目标追踪上,采用了OpenCV的CSRT,其中CSRT(Channel and Spatial Reliability Tracker)是OpenCV中的一个目标跟踪器。它利用颜色和梯度特征在空间和通道上进行可靠性估计,从而实现目标物体的稳健跟踪。我们采用CSRT Tracker对动态图像中的目标物体进行跟踪,并获取目标物体的位置信息。根据位置信息来得出目前无人机与目标物体的相对位置,从而控制无人机进行追踪移动。

        CSRT的工作原理主要基于相关滤波器的跟踪算法,这是一种基于模板匹配的滤波器,用于在图像中寻找与给定模板最相似的区域。以下是CSRT工作原理的基本介绍:

  1. 初始化:在跟踪任务开始时,首先需要手动或者通过其他算法选择一个目标区域作为跟踪目标的初始位置。这个初始位置的目标区域会作为模板,用于后续的匹配和跟踪。
  2. 滤波器初始化:根据初始目标区域,CSRT会初始化一个或多个相关滤波器。这些滤波器用于在后续的帧中搜索与目标模板最相似的区域。
  3. 子区域划分与匹配:CSRT将目标区域划分为若干个子区域,每个子区域都对应一个相关滤波器。在跟踪过程中,算法会计算每个子区域与当前帧中的图像区域的相似度。这通常是通过计算滤波器与图像区域之间的相关响应来实现的。
  4. 滤波器更新:根据子区域与当前帧图像区域的相似度,CSRT会更新每个子区域对应的相关滤波器。这种更新通常是为了使滤波器能够更好地适应目标在外观、姿态或光照等方面的变化。
  5. 目标位置确定:通过计算所有子区域滤波器的综合响应,CSRT可以确定目标在当前帧中的位置。通常,综合响应最大的位置被认为是目标的新位置。
  6. 迭代跟踪:随着视频帧的推进,CSRT会不断重复上述步骤,实现对目标的实时跟踪。

        CSRT的优势在于其能够处理一定程度的遮挡和外观变化,同时保持较高的跟踪精度。然而,由于其需要计算多个子区域的相关滤波器,并不断更新这些滤波器,因此处理速度相对较慢,这也是无人机目标追踪的一个挑战,要求无人机在相对宽阔的场地进行飞行,同时挑战无人机的飞行速度,避免高速飞行导致无人机的目标物体脱离视野。


五、无人机飞行控制算法设计

        本算法的核心思想是根据目标在图像中的位置信息,通过计算和分析,生成控制指令,指导无人机进行相应的飞行动作,飞行控制算法流程图如下:

5.1算法步骤

  1. 初始化参数:设定无人机飞行控制所需的参数,包括图像宽度和高度,死区范围,以及目标面积的最大值和最小值。
  2. 计算目标位置与面积:从输入的边界框中提取目标的左上角坐标(x, y)、宽度(w)和高度(h);计算目标的中心位置(cx, cy),以及面积(area)。
  3. 判断飞行方向:根据目标中心位置与图像中心位置的相对关系,判断无人机应向哪个方向飞行。判断示意图例如下图3-5所示: 
    •  当目标中心在图像左侧死区外,指示无人机向左飞行(dir=1)。
    • 如果目标中心在图像右侧死区外,指示无人机向右飞行(dir=2)。
    • 如果目标中心在图像上方死区外,指示无人机向上飞行(dir=3)。
    • 如果目标中心在图像下方死区外,指示无人机向下飞行(dir=4)。
    • 如果目标面积超过预设的最大值,指示无人机后退(dir1=2)。
    • 如果目标面积小于预设的最小值,指示无人机前进(dir1=1)。

        4. 生成控制指令:在无人机飞行控制系统中,控制指令的生成是核心环节之一。无人机通常通过四个主要通道来控制其飞行状态:横滚通道(控制无人机左右倾斜)、俯仰通道(控制无人机前后倾斜)、油门通道(控制无人机的上升和下降速度)以及航向通道(控制无人机的偏航角,即左右转向)。

        根据前面算法步骤中确定的飞行方向(dir 和 dir1)以及设定的速度参数,我们可以生成对应的控制指令,从而控制无人机移动


5.2 无人机设备

本项目采用Tello无人机,这是一款由睿炽科技开发的多功能智能飞行器

Tello无人机的核心配置包括:

  1. 视觉定位系统:位于飞行器底部的摄像头和红外传感器组成了Tello的视觉定位系统。这个系统能够实时捕捉地面纹理和形状,为无人机提供精确的位置信息,从而实现室内外的精确悬停和稳定飞行。
  2. 飞行电池:Tello配备了一块1100mAh的锂聚合物电池,能够提供足够的电力支持最长13分钟的飞行时间。电池具备过充、过放和短路保护功能,确保飞行安全和电池寿命。
  3. 相机:Tello的500万像素相机能够拍摄高清照片和720p的视频,配备电子防抖功能,确保拍摄内容的清晰稳定。相机的数据可以通过内置的Micro USB接口传输到移动设备上。
  4. 飞行控制算法:Tello内置的飞行控制算法是其智能飞行的核心。算法集成了多种传感器数据,包括陀螺仪、加速度计和气压计,以实现对飞行器姿态的精确控制和稳定飞行。
  5. 基本的控制指令如下表4-1所示:

指令

参数

描述

可能的响应

command

进入SDK命令模式

ok/error

takeoff

自动起飞至0.5米高度并悬停

ok

land

自动降落至地面并停止电机

ok

streamon

打开视频流

ok

streamoff

关闭视频流

ok

rc

a b c d

设置遥控器的4个通道杆量

ok/error


5.3无人机目标跟踪系统测试

1. 无人机跟踪距离调整

2. 死区响应分析(非目标定位区域定义为死区)

        在实验中,无人机对于目标位于上下左右死区的情况也有明确的响应。当目标进入死区(例如,目标位于视觉帧的右部,导致目标部分被遮挡),无人机会自动调整飞行方向,以保持目标在视野中的中心位置。这种调整体现了无人机对目标的持续跟踪能力。

3. 多目标干扰测试

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/864707
推荐阅读
  

闽ICP备14008679号