基于卷积神经网络的物体识别模型介绍

一、传统目标检测算法概述

    随着计算机视觉技术发展及社会进步,目标检测一直是一个活跃的研究领域。自2013年Ross Girshick、JeffDonahue等人提出了R-CNN算法后,候选区域选择及边界回归(bounding-box regression)的思路为后续的目标检测算法研究奠定了基础。
   目标检测任务是对图像中的感兴趣对象进行精确定位,主要由分类和坐标回归两个子任务组成。目标检测算法能自动提取图像特征,常用来解决更复杂、更有难度的计算机视觉任务,例如:分割、目标跟踪、场景理解、事件检测及活动识别等,而传统的目标检测算法主要采用手工特征提取与机器学习算法结合的方式,下面简要介绍几种典型的传统目标检测算法。

①Viola-Jones检测器

   简称VJ检测器,该框架主要应用于人脸检测领域。主要由三部分算法组合实现:Haar-like特征提取、Adaboost强化弱分类器、级联分类器。由于矩形特征对类似轮廓的线条特征有良好的特征提取效果,人脸不同部位的颜色差异也能通过矩形特征反映,故VJ检测器采用Haar-like特征提取人脸特征,其结构如图所示:

Haar-like特征图
这四种不同的矩形特征在图像中不断滑动直至遍历全图,除此之外,由这四种基本矩形通过旋转、拉伸、对角化、中心环绕等方式得到的特征矩形,如下图所示,能提取更高级、丰富的人脸特征。
矩形特征的变形

②基于HOG特征和SVM的检测算法

    HOG(Histogram of Oriented Gradient,方向梯度直方图)特征常用于目标检测领域,其核心思想主要利用了目标边缘及形状容易被梯度描述的特点,以及光照不均、形变等因素对HOG特征提取影响小的 优点。
   由于HOG特征提取跟目标颜色没有关系,只与物体轮廓等线性特征有关,故特征提取的第一步先灰度化图像,免除颜色、光照等因素干扰,然后使用gamma校正图像。第二步开始计算像素点的梯度,进一步凸显图像特征。第三步将图像划分成多个同等大小的细胞单元,并计算没个细胞单元的梯度直方图。第四步成块(block)合并细胞单元,归一化block组成HOG特征向量。
提取目标对象特征后,结合SVM(Support Vector Machine,支持向量机)算法训练特征,SVM是一个线性分类器,通过在特征向量中找到最优平面来将数据分类。使用SVM算法训练的步骤如下:
SVM训练流程图

③DPM算法

   一种可用于多目标检测的多尺度、可变性的检测模型。该算法主要基于方向梯度直方图特征构建特征描述子,其检测流程为:输入待测图像,提取两个不同尺度的HOG特征,粗糙的特征通过覆盖整个检测窗口的固定模板获取,精细、复杂的特征则通过可以在检测窗口滑动的局部模板获得,融合不同尺度的特征,通过8×8大小的根滤波器(root filter)和若干4×4大小的部件滤波器(part filter)进行卷积运算,组合成融合特征后再分别计算各个组件的相应分数,若干个星形结构模型组合的混合模型结构保证了DPM算法的检测精度。DPM检测流程示意图如下:

DPM检测流程示意图

传统目标检测算法的缺点

   传统目标检测算法的特征主要依赖手工设计,提取的特征比较单一,不具有特征多样性,训练出的模型鲁棒性较差;基于平滑窗(sliding window)的候选区域选择策略具有高时间复杂度、窗口冗余的缺点,很大程度影响了检测效率,DPM算法不能适应图像形变,稳定性较差。

二、基于卷积神经网络的目标检测算法

基于卷积神经网络设计的目标检测算法主要分为两种:基于回归和基于分类,下面介绍目前主流的几种目标检测算法。

①R-CNN

   R-CNN算法中设计的候选区域(Region Proposals)和选择性搜索算法,改变了传统目标检测算法的设计思路。R-CNN算法主要包含两个关键的因素:a使用深度卷积神经网络自下而上对Region Proposals提取特征,用来分割目标及定位。b当缺乏带标注的数据时,启动监督学习的预训练作为辅助训练,再对Region Proposals进行微调,能得到显著的性能提升。其检测流程图如下:

R-CNN的目标检测流程图

(1)输入待检测图像;
(2)通过选择性搜索方法(Selective Search)自下而上提取约2000个框作为候选区域;
(3)将筛选的候选区域边缘扩展成227×227大小,使用卷积神经网络(CNN)提取没个候选区域的特征;
(4)用特定类别的线性SVM分类器对每个区域进行分类;
(5)对已完成分类的候选区域框进行坐标回归,预测目标位置。

R-CNN目标检测算法的主要组成模块可总结为:
   1.生成与类别无关的候选区域,这些区域集合决定了检测器的优劣;
    2.采用卷积神经网络在每个候选区域上提取固定长度的特征;
   3.使用特定类别的一组SVM线性分类器。

② Faster R-CNN

   在R-CNN的基础上提出一种区域推荐网络(Region Proposal Network,RPN),选择性搜索算法的目标是提取图像中可能包含物体的区域,而RPN网络能在特征图上直接使用卷积层进行预测,整个过程几乎在GPU上进行,这种端到端的检测结构预测的建议框少而精,大幅度提高计算速率。解决了SPPnet及R-CNN等算法的计算速度不够的这一瓶颈。Faster R-CNN两种常用的训练方法:交替训练和端到端训练(https://www.zhihu.com/question/50454339/answer/257372299 )。

在这里插入图片描述

③SSD(Single Shot MultiBox Detector)

   SSD是一种使用单个卷积神经网络的检测算法,该算法能在预测位置期间,得到目标类别和置信度,检测框能够适应目标并调节尺寸。与R-CNN系列检测算法不同,该算法不使用候选区域方法来检测,它没有生成proposal及重采样后的像素或特征,而是把所有的计算封装在一个单独的网络中。这使得SSD能直接继承到实际的检测系统中,比最先进的YOLO算法也更快更准确。
主要思想: a.使用多尺度特征检测,
             b.使用小卷积滤波器预测类别及置信度
             c.结合YOLO算法的回归思想及Faster R-CNN的Anchor机制

④YOLOv3

   YOLO算法是2016年提出的,其核心思想是输入图片后,网络直接输出定位框位置及类别置信度,但是YOLO算法存在对小目标检测效果不好、检测不常见长宽比的目标时泛化性较差的问题。为加快网络检测速度,YOLO9000应用而生。YOLO9000采用联合训练算法,参考了ImageNet的组合数据思想设计了WordTree来融合多个数据集,通过预测每个树枝节点的概率获得同义词的下义词概率。

YOLO9000算法对YOLO算法的改进之处简述如下:
a.使用K-Means(聚类)算法自动选择锚(Anchor)的大小;
b.融合各个数据集,预测类别高达9000个;
c.采用多尺度训练方法,是网络具有更强的鲁棒性;
为了优化YOLO系列算法的性能,2018年提出了YOLOv3算法,其采用金字塔结构,融合浅层特征和高层特征,提升对小目标的检测精度,检测效率也有突破。YOLOv3算法主要包括坐标回归与分类预测两个方面。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值