文章:Optical Flow Based Motion Detection for Autonomous Driving
作者:Ka Man Lo
编译:点云PCL
代码:https://github.com/kamanphoebe/MotionDetection
来源:arXiv 2022
欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。未经博主同意请勿擅自转载。
公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起交流一起进步,有兴趣的可联系微信:920177957。本文来自点云PCL博主的分享,未经作者允许请勿转载,欢迎各位同学积极分享和交流。
简介
运动物体的检测是自动驾驶的一项基本且具有挑战性的任务,在高速公路等特殊场景中,为了更好地控制决策,必须对远处的对象给予一定的关注度,针对远距离车辆,我们训练了一个神经网络模型,以光流场信息为输入对运动状态进行分类,实验结果具有较高的精度,并表明我们的想法是可行的和有前途的,经过训练的模型还实现了附近车辆的可接受性能。我们的工作在PyTorch中实现。使用开放式工具和数据集包括nuScenes、FastFlowNet和RAFT。
基本介绍
运动检测或者运动物体检测是一种计算机视觉相关技术,用于检测物体相对于其背景的物理运动,它广泛应用于各个领域,在自动驾驶方面也发挥着关键作用,为了在驾驶过程中制定更好的规划控制,车辆需要很好地监控路况,对于允许高速行驶的场景,如高速公路或普通道路,需要仔细检查远处的环境。然而,激光雷达和雷达传感器的感知范围并不总是远到足以覆盖远距离目标,因此,在这些情况下,应采用基于计算机视觉的方法,传统的运动检测方法依赖于帧之间的像素差,因此,检测远距离运动,尤其是径向运动,是一个具有挑战性的问题,因为它们通常只是几个像素的变化。
光流估计是运动检测任务中用于提供速度信息的常用技术,它是基于亮度恒定约束计算的,假设两个连续帧的时间戳足够接近,使得真实世界中相同位置的亮度保持不变,在本文中,我们使用不同的算法从nuScenes数据集获取30至70米范围内车辆的光流场信息,并将其作为输入输入到神经网络ResNet18,然后,模型输出运动状态的两种预测,即静止或移动,实验表明,运动目标检测成功,准确率高,还使用训练的模型来推断附近的车辆,并获得合理的精度。
FastFlowNet和RAFT在估计光流场方面分别实现了最先进的速度和精度,FastFlowNet比RAFT快10倍,而RAFT在KITTI数据集上的F1误差为5.10%,仅为FastFlow Net值的一半,所以在我们的工作中使用了这两种算法并进行了比较。图1描述了使用相同原始图像对的FastFlowNet和RAFT的示例。
图1:nuScenes数据集上的光流预测示例,从左到右:关键帧对的前一个原始图像,FastFlowNet和RAFT的流动可视化。
主要内容
A、框架介绍
此项工作框架概述如下
从nuScenes中选择包含目标车辆的关键帧信息
通过FastFlowNet或RAFT为所有关键帧对生成光流场
通过估计对象的速度将对象标记为静止或移动
在一些预处理之后,提取修改后的2D边界框内的对象的光流信息,并将其输入到神经网络中
使用ResNet18从头开始训练二进制分类器,并对层进行一些必要的调整。
B、 标签
在每个标签中记录2D边界框和是否运动真值数据,前者由坐标xmin、xmax、ymin和ymax标记,通过选取x和y的最小值和最大值,从原始三维边界框的八个角简单地推导出,运动真值基于以下计算的速度确定:
这里的𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛 相对于全局坐标系给出,如果速度的绝对值≥ 2 m/s,则对象被标记为移动否则即为静止状态。
C、 数据预处理
为了确定物体是否在移动,不仅需要物体本身的光流信息,还需要周围背景的光流,因此,在输入到网络之前,必须对2D边界框进行一些预处理,如框架中的第四步所述,首先,将长方体重塑为边长为正方形𝑚𝑎𝑥(𝑤𝑖𝑑𝑡ℎ, ℎ𝑒𝑖𝑔ℎ𝑡). 如果需要的话,将框框的边长增加三倍,用边值填充框,最后,切断方框外的数据,并使用双线性插值将其调整为224×224。
实验
A、 数据集
我们的模型在过滤后的nuScenes数据集上进行训练和评估,nuScenes包括1000个不同的场景,涵盖不同的地点、时间和天气条件,为了简单起见,这里排除了“夜”、“雨”和“闪电”的场景,因此保留了604个场景,然后,通过收集关键帧数据,这些关键帧包含特定距离和可见性范围内的七种车辆中的任何一种,如表1所示。
然后,通过FastFlowNet或RAFT计算帧对的光流场,并保存为.npy文件,结果总共获得了18460个对象,其中16467个用作训练集,1993个用于评估,考虑到数据量相当小,执行概率为0.5的随机水平翻转以进行数据增强。
B、 深度学习方案
使用的模型架构为ResNet18,然而,由于输入不是RGB图像的形式,我们必须从头开始训练模型,而不是应用预训练模型,因此,第一卷积层的输出信道数被修改为64,以使网络适应我们的输入,最终输出的大小也更改为1,该值应为[0,1]内的数字,如果输出值大于0.5,则对象将被分类为移动,否则它将静止,模型结构的其余部分保持不变,表2列出了超参数的设置。
C、 实验结果
我们的模型的精度大于90%,如表3所示。
使用FastFlowNet输入训练的模型出乎意料地具有比使用RAFT生成的输入训练的更好的性能,这实现了最先进的光流估计精度,请注意,直接将我们的结果与其他运动检测方法进行比较是不公平的,因为我们简化了很多数据,尽管如此,这些实验结果仍然反映了我们工作理念的可行性,预测是可视化的,以便直观了解模型性能。图2描述了几种正确和不正确的推论。
图2:使用FastFlowNet输入训练的模型进行推理可视化,蓝色框和红色框分别表示静止和移动对象,这些是广义数据集的帧,因此也会检测到附近的对象。
这里总结了错误分类的两个主要原因:
· 远程或慢速物体的光流不明显,由于视觉世界中距离的微小差异,这些类型的对象总是很难处理,因此不明显的移动物体会混淆网络。
· 受背景或前景影响,周围流量信息也包括在输入中,因此,当涉及其他对象时,可能会产生错误检测。
D、 概括
通过添加nuScenes中的非关键帧和附近对象来扩展过滤后的数据集进行推理,如表4所示在广义数据集上评估的定量性能,展示了在KITTI上训练光流算法的预训练模型。
总结
本文通过将光流信息输入到神经网络中,研究了带标签的远处车辆的二种运动分类的效果,实验结果表明,我们的模型能够成功完成对运动物体的检测,并且说明了我们的想法的是具有一定的潜力的。对于无法正确判断的移动物的情况主要是由于不明显的光流和误导性的流动的环境信息信息造成的。但是我们的训练的模型不太适用于附近的对象,但如果用它们训练模型,性能可能会显著提高,我们的工作仍有很大的改进余地:
改进对过滤数据的规则比较严格,以适应具体应用
从头开始训练光流模型(通过自监督学习),而不是应用预训练模型
构建端到端分类网络体系结构,使生成光流场的中间阶段成为隐式的。
更多详细内容请查看论文原文。
资源
三维点云论文及相关应用分享
【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法
3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)
PCL中outofcore模块---基于核外八叉树的大规模点云的显示
更多文章可查看:点云学习历史文章大汇总
SLAM及AR相关分享
如果你对本文感兴趣,请后台发送“知识星球”获取二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!
以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除
扫描二维码
关注我们
让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。
联系客服