使用强化学习和YOLOFlow实现基于自主无人机的目标搜索、跟踪

搜索和救援行动发生在自然灾害期间或之后,寻找受害者目标并跟踪他们,直到救援队到达撤离。无人机是该应用不可或缺的工具,因为它们可以帮助在关键、时间敏感的任务中找到目标。它们可以携带各种传感器,并且可以到达通常无法到达或对人类救援人员构成危险风险的地方。与地面搜索和有人驾驶飞机等传统方法相比,无人机具有较高的机动性、适应性,可以表现出自主行为,因此可以以较低的运营成本执行人类操作员难以执行的操作。

我们的问题表述考虑了无人机导航的混乱、未知环境。在此设置中,目标是使用机载摄像头导航并找到受害者,同时使用激光扫描仪避开障碍物。一旦检测到受害者,其当前位置将被发送到救援队进行疏散。然而,当救援队到达时,受害者可能已经转移到受害者认为更安全的位置。因此,采用目标跟踪和跟踪来了解受害者的实时位置。这种方法可以更快地疏散,因为救援队将能够随时查明受害者的当前位置。

我们的框架由三个主要部分组成:(1)自主导航和目标搜索;(2)目标检测;(3)目标跟踪。主要思想是将目标搜索视为强化学习问题,因为它允许代理在未知环境中学习和导航,并适应随机变化的环境条件。我们使用You only look once (YOLO)算法进行目标检测,并将其与光流相结合来跟踪和跟踪目标。图1展示了我们的框架在针对SaR问题检测、跟踪和跟踪现场人类目标方面的成功。

图1(a,b)描绘了我们真实的基于Gazebo的城市SaR场景模拟,其中无人驾驶飞行器(UAV)在现场搜寻受害者(c)举例说明使用车载摄像头检测目标受害者(d,e)描述了使用YOLOFlow算法的目标跟踪

强化学习和Q学习

我们假设环境是一个离散网格。代理的位置( x , y , z )网格上用于定义状态。为了使问题简单,我们认为无人机是在恒定高度运行的。在每个状态下,无人机都可以前进、后退、右转和左转,构成动作空间。板载激光扫描仪用于检测障碍物(墙壁、碎片等)。如果代理离障碍物太近,即如果激光扫描仪的输出小于一个小的预定义值c, 会受到很大的惩罚。导致碰撞的动作被丢弃,无人机保持在其位置。

控制算法

我们的框架中集成了一个简单的位置控制器,以便无人机执行动作处于一种状态s. 标准PID控制器]用于控制,因为它可以稳健地稳定飞行器的飞行,并且可以实现快速的系统响应。对于高度和姿态参数调整,我们使用MATLAB的系统识别工具箱使用初始随机值提取植物模型。

目标检测与跟踪

我们使用YOLO和光流进行目标检测、跟踪和跟踪的方法。图像是从无人机的机载摄像头捕获的。为了检测目标,我们采用了YOLO,这是一种典型的基于神经网络的目标检测算法。我们使用 YOLO Tiny 2.0进行人体检测,阈值为0.2。如果代理检测到处于特定状态的目标,代理将获得+100的奖励,标志着搜索任务结束。

从无人机上的固定摄像头,可以查看目标相对于摄像头框架(自我框架)的相对位置。以自我为中心的框架使我们能够双向跟踪目标并减少相机校准问题,因为只看到相对距离. 为了跟随受害者,我们计算了受害者相对于机器人的运动方向,并采取适当的行动让受害者处于监视之下,直到救援队到达该位置。虽然YOLO可以通过跟踪边界框的中心直接用于目标跟踪,但其更新频率很大程度上取决于车载计算机的配置。这对代理的物理硬件约束施加了压力。因此,为了实现可扩展的应用,我们使用基于计算光流的方法进行目标跟踪。光流是特定像素从一帧到另一帧的运动。一旦代理到达目标,它就会始终悬停在目标上方。由于无人机是静止的,因此光流主要是由目标的运动引起的。

图2 YoloFlow 算法

为了计算光流,我们使用Lucas Kanade (LK)方法,这是一种局部能量优化的微分方法。它对图像噪声具有鲁棒性,并允许我们计算稀疏光流,即它仅计算在第一帧中选择的特定先前确定的像素的光流。一旦检测到目标处于特定状态,YOLO就会返回定位目标的边界框的大小。需要注意的是,YOLO只用在第一帧。Lucas Kanade光流检测器用于此边界框内的选定像素,因为只有目标需要被跟踪。通过跟踪这些像素运动,我们确定了目标相对于机器人的运动方向。

YOLOFlow算法如图2所示。在运动中,我们丢弃那些距离30个单位或更远的像素以过滤掉异常值。一旦目标移出相机框架,代理就会按照我们的算法确定的(目标的)方向执行动作。然后算法重新启动,并再次执行图2中描述的步骤。

我们通过在相对于机器人框架的各个方向上移动目标来测试 Gazebo模拟中的YOLOFlow算法。无人机的高度是固定的,使得视野 (FOV) 覆盖一个状态区域。图3描绘了YOLOFlow算法的输出以及与基本事实的视觉比较。红色圆圈显示了跟踪算法的视觉表示。代理为跟随目标而应采取的行动显示在左上角。模拟证实我们的框架可以成功地跟踪目标以及计算代理要采取的行动以跟随它。

图3 通过将基本事实与算法的输出进行比较来验证YoloFlow算法

图4显示了该算法的双向跟踪能力.YOLOFlow最多可以计算8个方向的运动方向:前、后、右、左、前右、前左、后右、后左。

图5 Yoloflow最多可以计算8个方向的目标运动方向:前、后、右、左、前右、前左、后右、后左

大量的仿真表明,代理在整个模拟时间内在真实的SaR模拟中跟踪受害者。结果不仅限于本文提出的城市SaR问题,还可以扩展到海洋灾难场景,其中SaR的目标是搜索救生筏并跟踪它们,直到直升机到达救援受害者。该框架也可以应用于城市洪水情景。

源自:2020 IEEE International Symposium on Safety, Security, and Rescue Robotics (SSRR) November 4-6, Abu Dhabi, UAE

猜你喜欢

转载自blog.csdn.net/FEISILAB_2022/article/details/126855403