转载自:基于CNN目标检测方法(RCNN,Fast-RCNN,Faster-RCNN,Mask-RCNN,YOLO,SSD)行人检测
一、研究意义
卷积神经网络(CNN)由于其强大的特征提取能力,近年来被广泛用于计算机视觉领域。1998年Yann LeCun等提出的LeNet-5网络结构,该结构使得卷积神经网络可以端到端的训练,并应用于文档识别。LeNet-5结构是CNN最经典的网络结构,而后发展的卷积神经网络结构都是由此版本衍生而来。
在过去六年中,由于深度学习和卷积网络的发展和进步,基于图像的目标检测和分类能力已经大大提高。而目标检测是计算机视觉领域一个重要的研究方向,是众多高级任务的必备前提,包括场景理解,事件识别等。目前,目标检测也广泛用于安全监控,自动驾驶,人机交互,增强现实等众多领域。目标检测对计算机视觉和产业界实际应用都有十分重要的意义。
然而, 由于视角、遮挡、姿态等因素引起目标发生形变, 导致目标检测成为一个具有挑战性的任务。设计高准确率高效率的目标检测算法仍具有重大意义。二、研究现状
如今, 基于卷积神经网络的目标检测已经超越传统目标检测方法, 成为当前目标检测的主流方法。本文根据卷积神经网络的使用方式,将基于卷积神经网络的目标检测分为两大类: 基于分类的卷积神经网络目标检测和基于回归的卷积神经网络目标检测。1. 基于分类的卷积神经网络目标检测
基于分类的CNN也可以成为two-stage检测算法,传统目标检测方法包含预处理、窗口滑动、特 征提取、特征选择、特征分类、后处理等步骤,而卷积神经网络本身具有特征提取、特征选择和特征分类的功能。那么,可以 直接利用卷积神经网络对每个滑动窗口产生的候选区进行二分类,判断其是否为待检测目标。本文将这类方法称为基于分类的卷积神经网络目标检测。相比于传统目标检测的六个步骤,基于分类的卷积神经网络目标检测只有: 窗口滑动,产生候选区域(region proposals),对候选区域图像分类,后处理三个步骤,而且窗口滑动和后处理都是固定的方法。因此,该类方法的研究重点在于如何提升卷积神经网络的特征提取能力、特征选择能力以及特征分类能力,以提高图像识别的准确度。这类算法的典型代表是基于region proposal的R-CNN系算法,如R-CNN,Fast R-CNN,Faster R-CNN等;1.1 R-CNN
R-CNN是基于region proposal方法的目标检测算法系列奠基之作,其先进行区域搜索,然后再对候选区域进行分类。在R-CNN中,选用Selective search方法来生成候选区域,这是一种启发式搜索算法。它先通过简单的区域划分算法将图片划分成很多小区域,然后通过层级分组方法按照一定相似度合并它们,最后的剩下的就是候选区域(region proposals),它们可能包含一个物体。示意图如下:
![ebe8c5615932dd5707d56a9790c08259.png](https://i-blog.csdnimg.cn/blog_migrate/bd7f5185fdea300e1ed0f1f802609f60.jpeg)
对于一张图片,R-CNN基于selective search方法大约生成2000个候选区域,然后每个候选区域被resize成固定大小(227×227)并送入一个CNN模型中,使用AlexNet来提取图像特征,最后得到一个4096维的特征向量。然后这个特征向量被送入一个多类别SVM分类器中,预测出候选区域中所含物体的属于每个类的概率值。每个类别训练一个SVM分类器,从特征向量中推断其属于该类别的概率大小。为了提升定位准确性,R-CNN最后又训练了一个边界框回归模型。训练样本为(P,G),其中
![953d28193317a9e28fd5dbbaeec486d5.png](https://i-blog.csdnimg.cn/blog_migrate/56144c4f7bb18a35b3528674bc4f9608.jpeg)
边框回归详细参考:https://blog.csdn.net/zijin0802034/article/details/77685438
在做预测时,利用上述公式可以反求出预测框的修正位置。R-CNN对每个类别都训练了单独的回归器,采用最小均方差损失函数进行训练。
R-CNN是非常直观的,就是把检测问题转化为了分类问题,但是,由于R-CNN使用计算复杂度极高的selective search提取候区域,并使用SVM来进行分类,并不是一个端到端的训练模型。R-CNN模型在统一候选区的大小后才能进行特征提取和特征分类。并且提取的候选框会在特征提取的时候会进行重复计算。
![9615cf12804f0ccc8aab98c64c2b9b03.png](https://i-blog.csdnimg.cn/blog_migrate/6b37a60719daa2b1783854f9ee4940f5.jpeg)
1.2 Fast-RCNN
Fast-RCNN为了解决特征提取重复计算问题而诞生,并且Fast-RCNN巧妙的将目标识别与定位放在同一个CNN中构成Multi-task模型。
Fast-RCNN先用Selective Search找出候选框,而后整张图过一次CNN,然后用RoI Pooling,将对应候选框的部分做采样,得到相同长度的特征,又经过两层全连接层之后得到最终的特征。接着产生两个分