论文链接:https://arxiv.org/pdf/1902.09738v2.pdf

这两个月忙着做实验 博客都有些荒废了,写篇用于3D检测的论文解读吧,有理解错误的地方,烦请有心人指正)。

博客原作者Missouter,博客园链接https://www.cnblogs.com/missouter/,欢迎交流。

【Abstract】

  该论文提出了一种结合图像中语义、几何学与稀疏、稠密信息的3D目标检测算法。

  该算法用Faster R-CNN接收作为立体输入的左右图像,同时检测、联系两幅图像中的物体;在立体检测网络的RPN后,论文添加了一个用于检测稀疏关键点(key points)、视点(viewpoints)与物体尺寸的网络结构,与左右两图的2D检测框一并作为输入,计算出对应的3D检测框,(个人觉得这个新添加的网络结构是这篇论文的一大亮点?)也许是因为这个结构,较其他3D检测算法而言这个方法并不需要深度输入。

  但单用这种结构算出的3D检测框精度不够,所以论文利用左右图像的ROI实现了基于区域的光度校准,从而提升3D框的精度。

【Introduction】

  论文提出了一种使用双目立体相机的3D检测算法,与激光定位(LiDAR)相比,立体相机具有成本低、具备更大更远的识别范围的优势。

  论文提出的网络结构如上图所示,主要分为3个部分:

  1、 以双目图片作为输入的立体检测RPN。

  2、 经过ROI校准后用于得到key points、view points与物体尺寸的网络分支,承接该网络输出作为约束条件的3D检测框估值网络。

  3、 保证3D检测框性能与精度的基于高密度区域的光度对准方法(Dense 3D Box Alignment),位于网络的最后。

  笔者感兴趣的地方在第二部分。

【Stereo R-CNN Network】

  Stereo R-CNN使用权值共享的ResNet与FPN作为主干,提取左右两图的一致特征。

1、 Stereo RPN

  与普通的RPN不同的是,stereo r-cnn的RPN接受的是左右两图各尺度上连接的feature map;左右图像真实地面框的并集被作为对象分类的目标,iou高于0.7的目标将被归为正样本,低于0.3的将被定义为负样本,锚框能够囊括左右两图的兴趣区域得益于此;

  针对锚框的偏移计算,文章给出了六种回归形式:[∆u, ∆w, ∆u‘, ∆w’, ∆v, ∆h],u,v分别代表二位检测框的水平、垂直中心坐标,w、h分别代表检测框的宽和高,由于使用已矫正过的立体图像,故对于两图的v、h同一变量进行回归。综上,与传统的RPN不同,stereo r-cnn的输出通道有6个。在输出候选区域时论文同样使用nms降重。

2、 Stereo R-CNN

a). Stereo Regression

  经RPN得到左右图像的建议区域对后,网络分别对左右两图的feature map应用ROI排列,得到的两图ROI特征被放入两个连续的全连接层中提取语义信息。四个子分支被用于物体分类、检测框、尺寸和view points角度的预测;检测框的回归形式与RPN类似。

  对于不同朝向的物体,view points角度是不同的:论文以 代表物体朝向与相机朝向的夹角,以 代表物体-相机连线与相机朝向的夹角,需进行回归的view points角度α可被定义为α=θ+β,为了避免不连续性,子分支中的训练目标为[sinα, cosα]。

  根据二维框、物体尺寸,深度信息可被直观地恢复;通过解耦view points角度与三维位置的关系,物体朝向也可以被解出来。

  一个左/右ROI与左/右真实框的IoU高于0.5的左右ROI对,将会作为前景,而左右任一ROI与真实框的IoU处于0.1~0.5的将会作为背景;前景ROI对的左/右ROI与左右真实框将会用于偏移的回归计算;与RPN相同,垂直方向的值仍是左右两图共用的。

  对于尺寸预测,论文仅用预先设置的尺寸来回归地面真实尺寸,获取偏移量。

b). Keypoint Prediction

  除了检测框和view points角度外,在检测框中部投影的3D角可以为3D检测框估计提供更严格的约束条件。论文定义了4个表示转角的3D检测框底部的4个关键点。下图中标为Boundary key points。

  透视关键点是唯一一个可以明显地投射到框的中间(而不是左或右边缘) 的3D语义关键点。(从后文看就是后2个边界点之间的后轮);除此之外还有两个Boundary key points被定义,作为规则物体的替代表示(图中前轮),只有在这两点以内的区域可以被认定为处于物体内部,且可用于后续的dense alignment。

  关键点的预测使用了Mask R-CNN。只有左图像的14*14 feature map被用于key points的预测。左图像经RoI排列的feature map被输入6个连续的256通道,3*3卷积层,每个卷积层后接激活层。一个2*2的非卷积层被用于补强输出尺寸至28*28。这里文章特别提到,关键点的坐标中只有u坐标提供了2D检测框之外的额外信息。论文对6×28×28输出中的高度(h?)通道求和,得到6×28预测:前四个通道表示四个语义关键点投射到相应u位置的概率,另外两个通道分别表示每个u位于左右边界的概率。因前文定义的透视关键点只有一个,softmax被用于4*28的输出中,求一个独特的被投射至单个位置的语义关键点,这个设计避免了关键点类型的混乱。对于左右的边界关健点,softmax被分别用于两个1*28的输出上。

  简单来说,需要被回归求出的关键点只有1个透视关键点,2个用于规则物体替代的边界关键点,其他点都是2D检测框有的(这里的解读存疑)。

【3D Box Estimation】

  之前求得的关键点、view points角度与2D检测框被用于3D检测框的粗略估计。一个3D检测框可被表示为{x, y, z, θ},分别表达检测框的中心坐标与物体的水平朝向角。根据尺寸、关键点和2D框,3D框可以通过减小2D框与关键点的二次投影误差得到。

  如上图,7个测量值从2D检测框与透视关键点中被提取,z = {ul, vt, ur, vb, ul', ur', up},分别代表左2D检测框的左边界横坐标、底部纵坐标、右边界横坐标、顶部纵坐标、右检测框的左、右边界横坐标与关键点的横坐标,原文称“Given the perspective key point, the correspondences between 3D box corners and 2D box edges can be inferred”。论文使用7个对应测定量的投影变换公式对{x, y, z, θ}进行求解。原文“There are total seven equations corresponding to seven measurements, where the sign of {w/2, l/2} should be changed appropriately based on the corresponding 3D box corner.”中提到{ , }的适当调整读起来有些…暧昧?

  对于观察不到车辆的2个面(车屁股正对?)的情况,up、物体尺寸无从得知,文章给出基于view point的补充公式:

  α、β含义与前文相同。

  Dense 3D Box Alignment部分不在博主研究范围内,博主决定摸了。

            

《Stereo R-CNN based 3D Object Detection for Autonomous Driving》论文解读的更多相关文章

  1. 《Population Based Training of Neural Networks》论文解读

      很早之前看到这篇文章的时候,觉得这篇文章的思想很朴素,没有让人眼前一亮的东西就没有太在意.之后读到很多Multi-Agent或者并行训练的文章,都会提到这个算法,比如第一视角多人游戏(Quake ...

  2. ImageNet Classification with Deep Convolutional Neural Networks 论文解读

    这个论文应该算是把深度学习应用到图片识别(ILSVRC,ImageNet large-scale Visual Recognition Challenge)上的具有重大意义的一篇文章.因为在之前,人们 ...

  3. 《Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Neural Networks》论文笔记

    论文题目<Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Ne ...

  4. Quantization aware training 量化背后的技术——Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference

    1,概述 模型量化属于模型压缩的范畴,模型压缩的目的旨在降低模型的内存大小,加速模型的推断速度(除了压缩之外,一些模型推断框架也可以通过内存,io,计算等优化来加速推断). 常见的模型压缩算法有:量化 ...

  5. Training Deep Neural Networks

    http://handong1587.github.io/deep_learning/2015/10/09/training-dnn.html  //转载于 Training Deep Neural ...

  6. Training (deep) Neural Networks Part: 1

    Training (deep) Neural Networks Part: 1 Nowadays training deep learning models have become extremely ...

  7. [CVPR2015] Is object localization for free? – Weakly-supervised learning with convolutional neural networks论文笔记

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #323333 } p. ...

  8. Training spiking neural networks for reinforcement learning

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 原文链接:https://arxiv.org/pdf/2005.05941.pdf Contents: Abstract Introduc ...

  9. CVPR 2018paper: DeepDefense: Training Deep Neural Networks with Improved Robustness第一讲

    前言:好久不见了,最近一直瞎忙活,博客好久都没有更新了,表示道歉.希望大家在新的一年中工作顺利,学业进步,共勉! 今天我们介绍深度神经网络的缺点:无论模型有多深,无论是卷积还是RNN,都有的问题:以图 ...

  10. 论文翻译:BinaryConnect: Training Deep Neural Networks with binary weights during propagations

    目录 摘要 1.引言 2.BinaryConnect 2.1 +1 or -1 2.2确定性与随机性二值化 2.3 Propagations vs updates 2.4 Clipping 2.5 A ...

随机推荐

  1. kali 系列学习10-渗透攻击MySQL数据库服务、PostgreSQL数据库服务、Tomcat服务和PDF文件

    介绍使用MSFCONSOLE工具渗透攻击MySQL数据库服务.PostgreSQL数据库服务.Tomcat服务和PDF文件等. 6.4.1 渗透攻击MySQL数据库服务 MySQL是一个关系型数据库管 ...

  2. webug第八关:CSRF

    第八关:CSRF 用tom用户登陆,进入更改密码界面 用burp构造csrf页面 将构造好的页面放在服务器上,然后点击, admin的密码被更改

  3. 交换机通过Loopback Detection检测(接口自环)

    组网图形  Loopback Detection简介 网络中的环路会导致设备对广播.组播以及未知单播等报文进行重复发送,造成网络资源浪费甚至网络瘫痪.为了能够及时发现二层网络中的环路,避免对整个网络造 ...

  4. Guitar Pro教程之虚拟吉他功能讲解

    上一章节我们讲述了Guitar Pro的组织小节的相关功能,那么本章节我们还是采用图文结合的方式为大家讲解关于{cms_selflink page='index' text='Guitar Pro'} ...

  5. 怎么理解虚拟 DOM?

    一.前言 现在web前端的开发,对于MVVM框架的运用,那是信手拈来,用的飞起.一个xxx-cli工具,就能初始化一套模板,再填充业务代码,打包部署即可.但是会用,是一个方面,大家有没有底层深入思考一 ...

  6. 从执行上下文角度重新理解.NET(Core)的多线程编程[2]:同步上下文

    一般情况下,我们可以将某项操作分发给任意线程来执行,但有的操作确实对于执行的线程是有要求的,最为典型的场景就是:GUI针对UI元素的操作必须在UI主线程中执行.将指定的操作分发给指定线程进行执行的需求 ...

  7. 【Flutter 实战】酷炫的开关动画效果

    此动画效果是我在浏览文章时发现的一个非常酷炫的效果,于是就使用 Flutter 实现了. 更多动画效果及Flutter资源:https://github.com/781238222/flutter-d ...

  8. iOS沙盒文件目录介绍

    1.APP沙盒目录结构简介 首先奉上苹果官方文档: https://developer.apple.com/library/archive/documentation/FileManagement/C ...

  9. matlab中实现 IEEE754浮点数 与 一般十进制数之间 互相转换的方法

    ------------恢复内容开始------------ %2020/12/2 11:42:31clcformat long % IEEE754 to deca = '40800000'a = d ...

  10. Spring Boot系列 八、集成Kafka

    一.引入依赖 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId> ...