经典目标检测方法Faster R-CNN和Mask R-CNN|基于PaddlePaddle深度学习平台的实战
经典目标检测方法Faster R-CNN和Mask R-CNN|基于PaddlePaddle深度学习平台的实战
推荐 2019-04-04 14:45:31
机器视觉领域的核心问题之一就是目标检测(object detection),它的任务是找出图像当中所有感兴趣的目标(物体),确定其位置和大小。作为经典的目标检测框架Faster R-CNN,虽然是2015年的论文,但是它至今仍然是许多目标检测算法的基础,这在飞速发展的深度学习领域十分难得。而在Faster R-CNN的基础上改进的Mask R-CNN在2018年被提出,并斩获了ICCV2017年的最佳论文。Mask R-CNN可以应用到人体姿势识别,并且在实例分割、目标检测、人体关键点检测三个任务都取得了很好的效果。因此,百度深度学习框架PaddlePaddle开源了用于目标检测的RCNN模型,从而可以快速构建强大的应用,满足各种场景的应用,包括但不仅限于安防监控、医学图像识别、交通车辆检测、信号灯识别、食品检测等等。
项目地址:https://github.com/PaddlePaddle/models/blob/v1.3/fluid/PaddleCV/rcnn/README_cn.md
目标检测(Object Detection)与实例分割(Instance Segmentation)
标检测的任务就是确定图像当中是否有感兴趣的目标存在,接着对感兴趣的目标进行精准定位。当下非常火热的无人驾驶汽车,就非常依赖目标检测和识别,这需要非常高的检测精度和定位精度。目前,用于目标检测的方法通常属于基于机器学习的方法或基于深度学习的方法。 对于机器学习方法,首先使用SIFT、HOG等方法定义特征,然后使用支持向量机(SVM)、Adaboost等技术进行分类。 对于深度学习方法,深度学习技术能够在没有专门定义特征的情况下进行端到端目标检测,并且通常基于卷积神经网络(CNN)。但是传统的目标检测方法有如下几个问题:光线变化较快时,算法效果不好;缓慢运动和背景颜色一致时不能提取出特征像素点;时间复杂度高;抗噪性能差。因此,基于深度学习的目标检测方法得到了广泛应用,该框架包含有Faster R-CNN,Yolo,Mask R-CNN等,图1和图2分别显示的是基于PaddlePaddle深度学习框架训练的Faster R-CNN和Mask R-CNN模型对图片中的物体进行目标检测。
从图1中可以看出,目标检测主要是检测一张图片中有哪些目标,并且使用方框表示出来,方框中包含的信息有目标所属类别。图2与图1的最大区别在于,图2除了把每一个物体的方框标注出来,并且把每个方框中像素所属的类别也标记了出来。
图1 基于paddlepaddle训练的Faster R-CNN模型预测结果
图2基于paddlepaddle训练的Mask R-CNN模型预测结果
从R-CNN到Mask R-CNN
Mask R-CNN是承继于Faster R-CNN,Mask R-CNN只是在Faster R-CNN上面增加了一个Mask Prediction Branch(Mask预测分支),并且在ROI Pooling的基础之上提出了ROI Align。所以要想理解Mask R-CNN,就要先熟悉Faster R-CNN。同样的,Faster R-CNN是承继于Fast R-CNN,而Fast R-CNN又承继于R-CNN,因此,为了能让大家更好的理解基于CNN的目标检测方法,我们从R-CNN开始切入,一直介绍到Mask R-CNN。
R-CNN
区域卷积神经网络(Regions with CNN features)使用深度模型来解决目标检测。
R-CNN的操作步骤
Selective search(选择性搜索):首先对每一张输入图像使用选择性搜索来选取多个高质量的提议区域(region proposal),大约提取2000个左右的提议区域;
Resize(图像尺寸调整):接着对每一个提议区域,将其缩放(warp)成卷积神经网络需要的输入尺寸(277*277);特征抽取:选取一个预先训练好的卷积神经网络,去掉最后的输出层来作为特征抽取模块;
SVM(类别预测):将每一个提议区域提出的CNN特征输入到支持向量机(SVM)来进行物体类别分类。注:这里第 i 个 SVM 用来预测样本是否属于第 i 类;
Bounding Box Regression(边框预测):对于支持向量机分好类的提议区域做边框回归,训练一个线性回归模型来预测真实边界框,校正原来的建议窗口,生成预测窗口坐标。
R-CNN优缺点分析
优点:R-CNN 对之前物体识别算法的主要改进是使用了预先训练好的卷积神经网络来抽取特征,有效的提升了识别精度。
缺点:速度慢。对一张图像我们可能选出上千个兴趣区域,这样导致每张图像需要对卷积网络做上千次的前向计算。
Fast R-CNN
中国观察