课程笔记-三维点云处理06 ——3D Object Detection(上)

课程笔记-三维点云处理06 ——3D Object Detection(上)

本系列笔记是对深蓝学院所开设的课程:《三维点云处理》的笔记 课程每周更新,我也会努力将每周的知识点进行总结,并且整理成笔记发上来,欢迎各位多多交流&批评指正!!

本文主要为课程第六章的笔记!
由于第六章继续进行深度学习领域知识讲解,因此不仅知识量陡增,课程量也加大,因此本章将分为上下两篇笔记进行记录。

本息可主要讲3D物体感知的昂发,介绍基于图像的、基于体素和点云的、以及基于融合的3D物体感知深度学习方法及经典理论

课程链接:

三维点云处理——深蓝学院
正式内容: ####################################################
本节课大纲:

############################################################

Introduction

本节课大纲:
《课程笔记-三维点云处理06 ——3D Object Detection(上)》
先讲二维物理检测;二维神经网络是对于点云处理的基础,有很多方法都是引申过来的,因此有较大的实际意义。

再讲三维点云的物体检测:
voxel based 和pointRCNN 两个点云处理的大类别

物体检测问题:
对于在空间中出现的待检测物体用长方体标出

《课程笔记-三维点云处理06 ——3D Object Detection(上)》
输入是一个点云图或者图片,输出是一个3D包围盒,包含参数:长;宽;高;x;y;z;指向;类别;

问题拆分:一般将物体检测拆分成连个子任务:物体的定位和物体的分类
即 先检测有没有,再检测是什么
《课程笔记-三维点云处理06 ——3D Object Detection(上)》

基于图像/点云的物体检测所遇挑战、困难或局限性:
图像和点云数据各有利弊,也各有好坏
《课程笔记-三维点云处理06 ——3D Object Detection(上)》
因为泛化性比较差,所以即使是发展告诉的神经网络深度学习方法,还是不能较好的解决出来物体检测多种多样的泛化问题。

物体检测的评价方法/评价指标: 跟groundtruth作对比
《课程笔记-三维点云处理06 ——3D Object Detection(上)》一般通用的指标为IoU
即预测框与真实框之间 交集与并集的比例

《课程笔记-三维点云处理06 ——3D Object Detection(上)》
判断概念标准:
真实对错VS检测对错 ,组合起来能能够有四种结果,因此也产生了四个概念

《课程笔记-三维点云处理06 ——3D Object Detection(上)》
其中有两个概念在检测当中很常用:
precision: 检测正确的点中 真正正确点的比例
recall: 真正正确的点中 检测正确的点的比例
具体公可以见上方

基于此,可以对于大规模的检测产生一种新标准,一般用于代码性能的评估:
《课程笔记-三维点云处理06 ——3D Object Detection(上)》其中,做多物体检测时会用到mAP ,是目前主要的方法。 跟AUC的计算和处理方法比较相似

同时,可以画出PR curve
《课程笔记-三维点云处理06 ——3D Object Detection(上)》
另外一个概念:NMS
《课程笔记-三维点云处理06 ——3D Object Detection(上)》

《课程笔记-三维点云处理06 ——3D Object Detection(上)》
计算方法:挑一个最高的框,然后 给定一个阈值,如果其他框与这个框的重合率超过阈值的话,就把其他的框给去掉,在这里认为两个框所表达的是一个检测。

阈值的选择越小,淘汰的概率也就越高,所以这个阈值是要根据实验和实际效果来进行预测的
《课程笔记-三维点云处理06 ——3D Object Detection(上)》

Image based object detection – RCNN, FastRCNN, FasterRCNN, SSD

本节课主要讲基于深度学习的图像物体检测:
《课程笔记-三维点云处理06 ——3D Object Detection(上)》
自2012年深度学习逐渐流行,就成了物体检测的主流方法。
其中根据网络结构产生了分支 分为 one-stage 和two-stage 的 网络模式

2stage 的网络结构与发展

《课程笔记-三维点云处理06 ——3D Object Detection(上)》
2stage的网络结构将物体检测的问题划分为物体定位和物体分类两个问题,并采用不同的模块进行解决。

RCNN思路:
《课程笔记-三维点云处理06 ——3D Object Detection(上)》
Fast RCNN 做出了改进,先进行特征图的提取,然后对特征图进行ROI提取

《课程笔记-三维点云处理06 ——3D Object Detection(上)》ROI Pooling 的具体功能与用法:

《课程笔记-三维点云处理06 ——3D Object Detection(上)》

《课程笔记-三维点云处理06 ——3D Object Detection(上)》
将特征图提取出特定的块,并缩放为同等长宽

《课程笔记-三维点云处理06 ——3D Object Detection(上)》
ROI pooling 一般用的是最大池化,用于提取特征值。

《课程笔记-三维点云处理06 ——3D Object Detection(上)》
如果ROI的输出比输入要大,需要对于特征图进行一个放大,可以利用广播的思想。
虽然可能这样做会造成一些精度的损失

mask R-CNN 提出使用ROI Align代替ROI Pooling ,减小了特征图上精度的损失
总体思路就是直接在浮点数上操作,而不用pooling了(因为pooling必然会带来精度的损失)
《课程笔记-三维点云处理06 ——3D Object Detection(上)》

《课程笔记-三维点云处理06 ——3D Object Detection(上)》

总结一下 R-CNN 和Fast R-CNN 的方法原理及区别
《课程笔记-三维点云处理06 ——3D Object Detection(上)》

之后又提出了faster-RCNN
使用REgion proposal network 即使用额外的一块神经网络,来代替原有的非神经网络的方法对框进行选取
《课程笔记-三维点云处理06 ——3D Object Detection(上)》

《课程笔记-三维点云处理06 ——3D Object Detection(上)》
该模块的网络用于对预测框的位置和形状进行估计。

《课程笔记-三维点云处理06 ——3D Object Detection(上)》损失函数一共有4个 分别用于RPN和 box分类识别

效果:经过R-CNN系列的不断进步,模型网络的处理速度变得非常快

《课程笔记-三维点云处理06 ——3D Object Detection(上)》

在此基础上,MaskRCNN被提出,并且被用于做实例分割 ,效果非常好
《课程笔记-三维点云处理06 ——3D Object Detection(上)》
2stage的方法 总结:

《课程笔记-三维点云处理06 ——3D Object Detection(上)》

1-stage的方法

一个网络模块直接到位,因此没有ROIpooling
《课程笔记-三维点云处理06 ——3D Object Detection(上)》
事实上是封装性更强的网络结构,黑箱效应更加明显。

SSD:框架
《课程笔记-三维点云处理06 ——3D Object Detection(上)》
和YOLO系列后期的发展较为相似,较为趋同化。
所以对于1stage来说,2stage来说准确性更好,但是速度更慢

《课程笔记-三维点云处理06 ——3D Object Detection(上)》

《课程笔记-三维点云处理06 ——3D Object Detection(上)》

2D detector 总结:

《课程笔记-三维点云处理06 ——3D Object Detection(上)》
模型结构固然重要,但是网络参数的设置和调整也很重要。

VoxelNet, PointPillars

PointRCNN

Image and Point Cloud fusion – Frustum PointNet, PointPainting

    原文作者:Jason_____Wang
    原文地址: https://blog.csdn.net/Jason_____Wang/article/details/115656121
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞