一个雷达和摄像头融合的3D目标检测方法CenterFusion

小白学视觉

共 1984字,需浏览 4分钟

 ·

2021-07-28 00:12

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

本文转自:计算机视觉工坊

以前提到过此文(在想法中),WACV‘2021录取:“CenterFusion: Center-based Radar and Camera Fusion for 3D Object Detection“,作者来自田纳西大学。
摘要这是一个middle fusion方法,CenterFusion,它先通过一个center point检测法得到图像的目标,然后和雷达检测结果做数据相关,采用的是一个frustum-based方法。最后关联的目标检测产生基于雷达的特征图补充图像特征,这样回归目标的深度、旋转角和深度。
作者提供了代码:https://github.com/mrnabati/CenterFusion
网络架构如图所示:跟摘要说的那样,细节见下面模块分析。
首先,需要搞清楚雷达信号检测的是径向深度和目标实际速度的不同,如图:
作者采用CenterNet方法,无锚单目的目标检测方法。其中keypoint的heatmap定义为:
采用一个卷积encoder-decoder网络预测Y。基于此,回归3D目标的深度、尺寸和朝向。其训练分类损失,即focal loss:
CenterFusion利用CenterNet先得到一个初步检测,然后修正的DLA(deep layer aggregation)网络作为主干,在primary regression head中预测初步的3D目标信息,其中构成包括一个3X3的卷积层和一个1X1的卷积层。
Frustum association是关键融合雷达和图像的机制。用图像2D框和其深度+大小的估计构建一个3D RoI frustum,如图所示:
如果有多个雷达检测点在这个RoI,直接取距离最近的一个。注意这里提到一个scaling factor可增大frustum尺寸,以便包容深度估计的误差。
另外,目标高度的不准确,作者采用Pillar expansion对雷达点云做预处理。如图所示:第一行是雷达点云扩大成3D pillar的显示,第二行是直接把pillars和图像匹配的结果,相关较弱。第三行是frustum相关,减少了上面的深度值重叠,也防止背景目标(如大楼)错分类成前景。
图像和雷达的数据相关之后,可以提取雷达目标特征,深度和速度等。
如果两个目标有重叠的heatmap区域,按距离取最近的。
之后,这些特征进入secondary regression head,其结构包括3个3X3卷积层和一个1X1卷积层。最后结果需要经过一个box decoder得到。
训练中regression head的损失采用SmoothL1 loss,center point heatmap采用focal loss,而attributes regression head基于Binary Cross Entropy (BCE) loss。
看一下结果:
性能比较表
直观结果比较如下:1-2行CenterFusion,3-4行CenterNet。
雷达点云绿色,目标框GT红色,目标预测速度蓝色箭头。

下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


浏览 32
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报