目标检测图像处理_图像处理 目标检测 csdn - CSDN
  • 图像处理目标检测

    2019-07-20 04:35:06
     传统的目标检测方法通常可以分为三个阶段:首先在给定的图像上选择一些候选区域,然后对这些区域进行特征提取,最后使用训练的分类器进行分类,其中人工提取特征的好坏直接影响到分类及检测的准确性,由于实际图像...

      目标检测的发展历程可以分为3个阶段:

      1.传统的目标检测方法

       传统的目标检测方法通常可以分为三个阶段:首先在给定的图像上选择一些候选区域,然后对这些区域进行特征提取,最后使用训练的分类器进行分类,其中人工提取特征的好坏直接影响到分类及检测的准确性,由于实际图像受光照及背景影响较大,人工特征提取往往存在一定局限性.

       传统的目标检测算法中比较好的模型为DFM,其将物体视为由多个物件组成,用物件间的关系来描述物体,可看作为HOG+SVM的扩展,很好的继承了两者的优点,同时在人脸检测,行人检测等任务上取得了不错的效果.

    • SIFT

       Paper: SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE-INVARIANT KEYPOINTS

       SIFT算法于1999年被David Lowe提出,并于2004年进行了补充和完善,此后广泛应用于目标识别,自动导航,图像拼接,三维建模,手势识别,视频跟踪等.

       SIFT全称Scale-Invariant Featuure Transform,即对图像的尺度和旋转能够保持不变性,同时对于亮度变化具有很强的鲁棒性,对于噪声和视角的微小变化也能保持一定的稳定性.

       SIFT算法可以分为4个阶段[1]: 

      1).尺度空间极值检测:该阶段是在图像的全部尺度和全部位置上进行搜索,并通过应用高斯差分函数可以有效地识别出尺度不变性和旋转不变性的潜在特征点来; 
      2).特征点的定位:在每个候选特征点上,一个精细的模型被拟合出来用于确定特性点的位置和尺度。而特征点的最后选取依赖的是它们的稳定程度; 
      3).方向角度的确定:基于图像的局部梯度方向,为每个特性点分配一个或多个方向角度。所有后续的操作都是相对于所确定下来的特征点的角度、尺度和位置的基础上进行的,因此特征点具有这些角度、尺度和位置的不变性; 
      4).特征点的描述符:在所选定的尺度空间内,测量特征点邻域区域的局部图像梯度,将这些梯度转换成一种允许局部较大程度的形状变形和亮度变化的描述符形式。
    • SURF

       Paper: SURF:Speeded Up Robust Features 

       SURF算法于2006年被Herbert Bay等人提出,并于2008年进行了完善,该算法的部分灵感来自于SIFT算法,具有重复性高的检测器和可区分性好的描述特点外,还有很强的鲁棒性以及更高的执行速度.

       SURF全称Speeded Up Robust Features,在保证正确性的前提下进行了简化和近似,并且多次运用积分图像的概念,因此在效率上比SIFT快3倍以上.

       SURF算法可以分为几个阶段[2]:    

      特征点检测
       1).基于Hessian矩阵的特征点检测
       2).尺度空间表示
       3).特征点定位
      特征点描述
       1).方向角度分配
       2).基于Haar小波的特征点描述符
    • FAST

         Paper: Machine learning for high-speed corner detection

       FAST 算法可以分为几个阶段:

      1).在图像中任选一点p,假定其像素(亮度)值为 Ip.
      2).以3为半径画圆,覆盖p点周围的16个像素.
      3).设定阈值t,如果这周围的16个像素中有连续的n个像素的像素值都小于Ip−t或者有连续的n个像素都大于Ip+t,那么这个点就被判断为角点。在OpenCV的实现中n取值为12(16个像素周长的 3/4),也称
      4).一种更加快的改进是:首先检测p点周围的四个点,即1,5,9,12四个点中是否有三个点满足超过Ip+t,如果不满足,则直接跳过,如果满足,则继续使用前面的算法,全部判断16个点中是否有12个满足条件.
      

       FAST的特点是:

      1).在速度上要比其他算法速度快很多
      2).受图像噪声以及设定的阈值影响很大
      3).FAST不产生多尺度特征而且FAST特征点没有方向信息,这样就会失去旋转不变性
      4).存在的缺点:可能大部分检测出来的点彼此相邻,需要使用非极大值抑制方法
    • ORB

       Paper: ORB: An efficient alternative to SIFT or SURF

       ORB(Oriented FAST and Rotated BRIEF)是一种快速特征点提取和描述的算法,由Ethan Rublee,Vincent Rabaud,Kurt Konolige及Gary R.Bradski提出.

       ORB特征是将FAST特征点的检测方法与BRIEF特征描述子结合起来,并在它们原来的基础上作了改进和优化,ORB运行速度是SIFT的100倍,是SURF的10倍.

       ORB算法分为两部分,分别是特征点提取和特征点描述,特征提取由FAST算法发展而来,特征点描述根据BRIEF算法改进而来.

      1).oFAST特征提取
        由FAST算法改进而来,在使用FAST算法提取特征点之后,给定一个特征点反向,以实现特征点的旋转不变性
      2).rBRIEF特征描述
        rBRIEF是在BRIEF特征描述的基础上加入旋转因子改进的

      2.以R-CNN为代表的结合region proposal和CNN分类的目标检测框架

       目标检测通常可以看作一个分类任务和回归任务,即解决物体属于"哪一类"以及"在哪里"的问题,通常的思路是:

      1).搭建一个识别图像的神经网络,例如以AlexNet,VGGNet以及GoogLeNet为baseline并进一步fine-tune
      2).在调试好的神经网络的尾部展开(加上"分类头"和"回归头"),成为classification+regression模式
      3).regression部门使用欧式距离计算损失,使用SGD进行训练
      4).在预测阶段将2个头接上
    • R-CNN

       Paper: Rich feature hierarchies for accurate object detection and semantic segmentation

      1).输入测试图像; 
      2).利用selective search 算法在图像中从上到下提取2000个左右的Region Proposal;
      3).将每个Region Proposal缩放(warp)成227*227的大小并输入到CNN,将CNN的fc7层的输出作为特征;
      4).将每个Region Proposal提取的CNN特征输入到SVM进行分类; 
      5).对于SVM分好类的Region Proposal做边框回归,用Bounding box回归值校正原来的建议窗口,生成预测窗口坐标. 

       缺陷 

      1).训练分为多个阶段,步骤繁琐:微调网络+训练SVM+训练边框回归器;
      2).训练耗时,占用磁盘空间大;5000张图像产生几百G的特征文件;
      3).速度慢:使用GPU,VGG16模型处理一张图像需要47s;
      4).测试速度慢:每个候选区域需要运行整个前向CNN计算;
      5).SVM和回归是事后操作,在SVM和回归过程中CNN特征没有被学习更新.
    • SPP-Net

       Paper: Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

    • Fast R-CNN  

       Paper: Fast R-CNN

      1).输入测试图像;
      2).利用selective search 算法在图像中从上到下提取2000个左右的建议窗口(Region Proposal);
      3).将整张图片输入CNN,进行特征提取;
      4).把建议窗口映射到CNN的最后一层卷积feature map上;
      5).通过RoI pooling层使每个建议窗口生成固定尺寸的feature map;
      6).利用Softmax Loss(探测分类概率) 和Smooth L1 Loss(探测边框回归)对分类概率和边框回归(Bounding box regression)联合训练.

       相比R-CNN的改进 

      1).测试速度:
        R-CNN把一张图像分解成大量的建议框,每个建议框拉伸形成的图像都会单独通过CNN提取特征.实际上这些建议框之间大量重叠,特征值之间完全可以共享,造成了运算能力的浪费.
        Fast R-CNN将整张图像归一化后直接送入CNN,在最后的卷积层输出的feature map上,加入建议框信息,使得在此之前的CNN运算得以共享.
    
      2).训练速度:
        R-CNN在训练时,是在采用SVM分类之前,把通过CNN提取的特征存储在硬盘上.这种方法造成了训练性能低下,因为在硬盘上大量的读写数据会造成训练速度缓慢.
        Fast R-CNN在训练时,只需要将一张图像送入网络,每张图像一次性地提取CNN特征和建议区域,训练数据在GPU内存里直接进Loss层,这样候选区域的前几层特征不需要再重复计算且不再需要把大量数据存储在硬盘上.
    
      3).训练空间:
        R-CNN中独立的SVM分类器和回归器需要大量特征作为训练样本,需要大量的硬盘空间.
        Fast R-CNN把类别判断和位置回归统一用深度网络实现,不再需要额外存储.
    • Faster R-CNN

       Paper: Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

      1).输入测试图像;
      2).将整张图片输入CNN,进行特征提取;
      3).用RPN生成建议窗口(proposals),每张图片生成300个建议窗口;
      4).把建议窗口映射到CNN的最后一层卷积feature map上;
      5).通过RoI pooling层使每个RoI生成固定尺寸的feature map;
      6).利用Softmax Loss(探测分类概率) 和Smooth L1 Loss(探测边框回归)对分类概率和边框回归(Bounding box regression)联合训练. 

       相比Fast R-CNN的改进 

      1).建议框的产生
        Faster R-CNN创造性地采用卷积网络自行产生建议框,并且和目标检测网络共享卷积网络,使得建议框数目从原有的约2000个减少为300个,且建议框的质量也有本质的提高.
    • R-FCN

       Paper: R-FCN: Object Detection via Region-based Fully Convolutional Networks

    • Mask R-CNN

       Paper: Mask R-CNN

      3.以YOLO为代表的将目标检测转换为端到端的目标检测框架

    • YOLO

       Website: https://pjreddie.com/darknet/yolov1/

       Paper: You Only Look Once: Unified, Real-Time Object Detection

    • YOLO v2

       Website: https://pjreddie.com/darknet/yolov2/

       Paper: YOLO9000: Better, Faster, Stronger 

    • YOLO v3

       Website: https://pjreddie.com/darknet/yolo/

       Paper: YOLOv3: An Incremental Improvement

       Code: https://github.com/pjreddie/darknet

    • SSD

       Paper: SSD: Single Shot MultiBox Detector

     

    转载于:https://www.cnblogs.com/WaitingForU/p/9064338.html

    展开全文
  • 目标检测 前背景分离 光流法

    前提

        运动目标的检测是计算机图像处理与图像理解领域里一个重要课题,在机器人导航、智能监控、医学图像分析、视频图像编码及传输等领域有着广泛的应用。
                                          这里写图片描述

    目标检测方法分类

      第一,已知目标的先验知识。在这种情况下检测目标有两类方法,第一类方法是用目标的先验知识训练一堆弱分类器,然后这些弱分类器一起投票来检测目标,如boosting, random forest 都是这个思路,大家熟知的adaboost人脸检测也是如此。第二类方法是根据先验知识找到目标和非目标的最佳划分线,如SVM.这两类方法各成一家,各有所长,都有着不错的表现。

      第二,未知目标的先验知识。此时不知道要检测的目标是什么,于是什么是目标就有了不同的定义。一种方法是检测场景中的显著目标,如通过一些特征表达出场景中每个像素的显著性概率,然后找到显著目标。另一种方法就是检测场景当中的运动目标了。

    经典目标检测方法

    1、背景差分法
      在检测运动目标时,如果背景是静止的,利用当前图像与预存的背景图像作差分,再利用阈值来检测运动区域的一种动态目标识别技术。
      背景差分算法适用于背景已知的情况,但难点是如何自动获得长久的静态背景模型。
      matlab中单纯的背景差分直接是函数imabsdiff(X,Y)就可以。
    2、帧差分法
      利用视频序列中连续的两帧或几帧图像的差来进行目标检测和提取。在运动的检测过程中,该方法利用时间信息,通过比较图像中若干连续帧获得对应像素点的灰度差值,如果均大于一定的阈值T2,则可以判断该位置存在运动的目标。
      较适合于动态变化场景。
    3、光流场法
      利用相邻两帧中对应像素的灰度保持原理来评估二维图像的变化。能够较好的从背景中检测到相关前景目标,甚至是运动屋里中的部分运动目标,适用于摄像机运动过程中相对运动目标的检测。
      开口问题、光流场约束方程的解的不唯一性问题。不能正确的表示实际的运动场。
            例子如下:
           1.首先在一帧图像内随机均匀选取k个点,并滤除那些邻域纹理太光滑的点,因为这些点不利于计算光流。
    这里写图片描述
           2.计算这些点与上一帧图像的光流矢量,如上右图,此时已经可以看出背景运动的大概方向了。
           这里写图片描述
           3.接下来的这一步方法因人而异了。
           2007年cvpr的一篇文章Detection and segmentation of moving objects in highly dynamic scenes的方法是把这些光流点的(x,y,dx,dy,Y,U,V)7个特征通过meanshift聚类来聚合到一起,最后形成运动目标轮廓。

    新目标检测方法

           其实写到这里想了想到底能不能叫目标检测,博主认为图像的前背景分离也是目标检测的一种(博主才疏学浅,求赐教)

    1、像素点操作
      对每个像素点进行操作,判别为前景或者背景两类。如下面的图片所示:
      这里写图片描述
    2、低秩矩阵应用
      背景建模是从拍摄的视频中分离出背景和前景。下面的例子就是将背景与前景分离开。使用的方法是RPCA的方法。
      其网址以及效果如下:
      http://perception.csl.illinois.edu/matrix-rank/introduction.html
      这里写图片描述
    3、深度学习
      FCN + denseCRF 精确分割+语义标签。图像中的前景目标检测分割做的很好,下面还能做出语义检测,判断出图中的东西属于什么。This demo is based on our ICCV 2015 paper :Conditional Random Fields as Recurrent Neural Networks,
      测试网址以及测试图像如下:
      http://www.robots.ox.ac.uk/~szheng/crfasrnndemo
      这里写图片描述


    推荐另外一篇关于神经网络改进方法的上篇内容:
    http://blog.csdn.net/u010402786/article/details/49272757
           另外附上一个深度学习未来发展趋势之一:
           “注意力模型” 在未来的发展,注意力模型的升温。一些系统,但不是全部,开始放到“注意力模型”的背景中,或者说让神经网络在完成任务的过程中试图学习在哪里放置其“注意力”。这些还不是一个正规神经网络流水线中的一部分,但是已经时不时的出现在模型中了。

    展开全文
  • 目标检测是当前计算机视觉和机器学习领域的研究热点。从Viola-Jones Detector、DPM等冷兵器时代的智慧到当今RCNN、YOLO等深度学习土壤孕育下的GPU暴力美学...从过去的十多年来看,自然图像目标检测算法大体上可以分

    目标检测是当前计算机视觉和机器学习领域的研究热点。从Viola-Jones Detector、DPM等冷兵器时代的智慧到当今RCNN、YOLO等深度学习土壤孕育下的GPU暴力美学,整个目标检测的发展可谓是计算机视觉领域的一部浓缩史。本文简要回顾了从1994到2017一共二十余年间目标检测的发展历程。

    01

    A Road Map

    从过去的十多年来看,自然图像的目标检测算法大体上可以分为基于传统手工特征的时期(2013之前)以及基于深度学习的目标检测时期(2013~今),如下图所示。从技术发展上来讲,目标检测的发展则分别经历了“包围框回归”、“深度神经网络兴起”、“多参考窗口(Multi-References,又称Anchors)”、“难样本挖掘与聚焦”以及“多尺度多端口检测”几个里程碑式的技术进步。下面将分别对这些算法和其中采用的技术逐一进行介绍。


    自然图像目标检测算法发展历程图

    02

    基于经典手工特征的目标检测算法


    早期的目标检测算法大多是基于手工特征所构建的。由于在深度学习诞生之前缺乏有效的图像特征表达方法,人们不得不尽其所能设计更加多元化的检测算法以弥补手工特征表达能力上的缺陷。同时,由于计算资源的缺乏,人们不得不同时寻找更加精巧的计算方法对模型进行加速。


    【代表算法1】Viola-Jones 检测器[1]-[2]

    【代表算法2】HOG行人检测器[3]

    【代表算法3】可变形部件模型[8]-[12]


    Viola-Jones 检测器:


    2001年Paul Viola和MichaelJones在CVPR上发表了一篇跨时代意义的文章[1],后人将文章中的人脸检测算法称之为Viola-Jones(VJ)检测器。VJ检测器在17年前极为有限的计算资源下第一次实现了人脸的实时检测,速度是同期检测算法的几十甚至上百倍,极大程度地推动了人脸检测应用商业化的进程。VJ检测器的思想深刻地影响了目标检测领域至少10年的发展。


    VJ检测器采用了最传统也是最保守的目标检测手段——滑动窗口检测,即在图像中的每一个尺度和每一个像素位置进行遍历,逐一判断当前窗口是否为人脸目标。这种思路看似简单,实则计算开销巨大。VJ人脸检测之所以器能够在有限的计算资源下实现实时检测,其中有三个关键要素:多尺度Haar特征的快速计算,有效的特征选择算法以及高效的多阶段处理策略。


    在多尺度Harr特征快速计算方面,VJ检测器使用积分图对特征提取进行加速。积分图可以使特征计算量与窗口的尺寸无关,同时也避免了处理多尺度问题时建图像金字塔这一耗时的过程。


    在特征选择算法方面,与传统意义上的手工特征不同的是,VJ检测器中使用的Harr特征并非是人为事先设计好的。VJ检测器使用了过完备的随机Haar特征,并通过Adaboost算法从一个巨大的特征池(约180k维)中进行特征选择,选取出对于人脸检测最有用的极少数几种特征从而降低不必要的计算开销。


    在多阶段处理方面,作者提出了级联决策结构,并将其形象地称之为“瀑布”(Cascades)。整个检测器由多级Adaboost决策器组成,每一级决策器又由若干个弱分类决策桩(Decision Stump)组成。瀑布的核心思想是将较少的计算资源分配在背景窗口,而将较多的计算资源分配在目标窗口:如果某一级决策器将当前窗口判定为背景,则无需后续决策就可继续开始下一个窗口的判断。


    HOG行人检测器:


    HOG特征最早是为解决行人检测问题所提出。HOG特征可以认为是在梯度方向直方图特征基础上的又一次重要改进,是所有基于梯度特征的目标检测器的基础。HOG检测器是沿用了最原始的多尺度金字塔+滑窗的思路进行检测。为了检测不同大小的目标,通常会固定检测器窗口的大小,并逐次对图像进行缩放构建多尺度图像金字塔。为了兼顾速度和性能,HOG检测器采用的分类器通常为线性分类器[3]或级联决策分类器[7]等。


    在图像的特征提取过程中,最重要的两个概念是不变性(包括平移不变性、旋转不变性、尺度不变性以及光照不变性等)和区分性(特征的表达能力)。为了兼顾二者的特点,HOG特征采用了如下的策略:将图像所在区域划分为不同的细胞单元(Cell),并在每个细胞内统计梯度方向直方图信息。除此之外,为了进一步增强其光照不变性以及非线性表达能力,HOG特征还首次引入了区块(Block)的概念,将相邻的Cell归并为一个Block,并在Block内对Cell特征进行局部归一化。


    可变形部件模型:


    可变形部件模型(Deformable Part based Model,DPM)是基于经典手工特征的检测算法发展的顶峰,连续获得VOC07、08、09三年的检测冠军。DPM最早由芝加哥大学的P. Felzenszwalb等人提出[8],后由其博士生R.Girshick改进[9]-[12]。2010年,P.Felzenszwalb和R. Girshick被VOC授予“终身成就奖”。DPM的主要思想可简单理解为将传统目标检测算法中对目标整体的检测问题拆分并转化为对模型各个部件的检测问题,然后将各个部件的检测结果进行聚合得到最终的检测结果,即“从整体到部分,再从部分到整体”的一个过程。例如,对汽车目标的检测问题可以在DPM的思想下分解为分别对车窗、车轮、车身等部件的检测问题,对行人的检测问题也可以类似地被分解为对人头、四肢、躯干等部件的检测问题。


    在模型结构方面,DPM可视为HOG检测器在其结构上进行了拓展。整个DPM检测器由基滤波器(Root-filter)和一系列部件滤波器(Part-filter)构成。这一部分工作由Felzenszwalb等人在07年提出[8],并称其为星型模型(Star-model)。后来Girshick又在星型模型的基础上进一步将其拓展为混合模型(Mixture Model)[9]-[12],用于解决真实世界中三维物体不同视角下的检测问题。


    在模型优化方面,由于DPM模型在训练过程中并未要求详细标注出各个部件的位置,所以采用了一种弱监督学习的策略。由于部件滤波器可以视为模型中的隐含变量,故Girshick进一步将其转化为隐含变量结构SVM的优化问题,并结合难样本挖掘和随机梯度优化策略对该问题进行求解。


    在模型加速方面,Girshick还曾将DPM中的线性SVM分类器“编译”为一系列的级联决策桩(Decision Stump)分类器,在不牺牲精度的前提下,将DPM加速了10倍。值得一提的是,这种加速策略本质上是借鉴了VJ检测器快速检测人脸的技术思路。


    在算法的后处理方面,DPM算法采用包围框回归和上下文信息集成这两个方法[10]-[12]进一步提升检测准确率。其中,包围框回归的主要作用是将检测得到的基滤波器以及部件滤波器所对应的包围框进行整合并利用线性最小二乘回归来得到最终精确的包围框坐标。上下文信息集成的作用在于利用全局信息对检测结果进行重新调整。从本质上来讲,上下文信息反映了各个类别的目标在图像中的联合先验概率密度分布,即哪些类别的目标可能同时出现,哪些类别的目标则不太可能同时出现。


    虽然近几年基于深度学习的检测模型从精度上已远远超越了DPM,但DPM中的很多思想直到今天依然重要,例如混合模型、难样本挖掘、包围框回归、上下文信息的利用等。时至今日,这些方法还都深深影响着目标检测领域的发展。


    03

    基于深度学习的目标检测算法(上)

    ——基于Object Proposals的检测算法


    Girshick曾提到[14]:“在过去的几年中(2011-2013),目标检测算法的发展几乎是停滞的,人们大多在低层特征表达基础上构建复杂的模型以及更加复杂的多模型集成来缓慢地提升检测精度”。既然深度卷积网络能够学习到非常鲁棒且具有表达能力的特征表示,那么为何不将其引入目标检测流程中用来提取特征呢?当卷积神经网络在2012年ImageNet分类任务[19]中取得了巨大成功后,Girshick等人抓住了机会打破僵局,于2014年率先提出了区域卷积网络目标检测框架(Regionswith CNN features,R-CNN)[14]。自此目标检测领域开始以前所未有的速度发展。


    随着卷积神经网络层数的不断加深,网络的抽象能力、抗平移能力和抗尺度变化能力越来越强。对于图像分类任务来说这诚然是一件好事,然而对于检测任务来说却带来了另一个问题:目标包围框精准的位置越来越难以获得。由此便出现了一个矛盾:如果想让检测算法获得更强的平移不变性和尺度不变性,那就必须一定程度地牺牲特征在目标包围框位置和尺度变化上的敏感性,即协变性;相反,如果想要获得更精确的目标包围框定位结果,就必须在平移不变性和尺度不变性上做一些妥协。所以,如果想要将卷积网络有效应用于目标检测问题中,关键是如何有效解决深度网络的平移/尺度不变性和目标检测问题中平移/尺度协变性要求的矛盾[20]。这迫使人们不得不放弃基于特征图+滑动窗口这一套检测方案,从而将关注点转向寻找更加定位精准的目标候选框检测(Object Proposal Detection)算法上来。


    在过去的几年里,伴随着深度学习目标检测算法的发展,有非常多的Object ProposalDetection算法被提出,例如Selective Search[22]、Edge Boxes[23]、BING[24]等等。需要注意的是,基于Object Proposal并非是深度学习检测算法的专属,早在传统的手工特征时期,Uijlings等人[22]就尝试过使用Selective Search + 词袋(Bag of Words)特征进行目标检测。


    下面将分别介绍几种基于Object Proposal的深度学习目标检测算法。


    【代表算法1】Regions with CNN Features (R-CNN)[14]

    【代表算法2】Spatial Pyramid Pooling Networks (SPPNet)[15]

    【代表算法3】Fast-RCNN[16]

    【代表算法4】Faster-RCNN[17]

    【代表算法5】Feature Pyramid Networks


    R-CNN:


    R-CNN[14]使用了一种非常简单的检测策略,首先在图像中提取Object Proposals,接下来把每个Proposal缩放到相同的大小后使用在ImageNet上训练好的Alexnet网络[19]提取特征,最后再使用SVM分类器进行虚警排除和类别判断。R-CNN在VOC07数据集上取得了惊艳的效果,mAP由33.7%(DPM-v5[25])提升至58.5%。虽然R-CNN取得了很大的进步,但其缺陷也很明显:首先,其训练是多阶段的,较为繁琐和耗时;其次,由于在高密度的候选区域上反复进行特征提取,其检测速度很慢(GPU下每张图40秒,640×480像素)。后来Kaiming He等人提出了SPPNet[15],很好地解决这个问题。


    SPPNet:


    Kaiming He等人在2014年提出了SPPNet[15],用来解决CNN网络提取特征时要求输入图像尺寸固定的问题。与传统的CNN网络模型相比,其创新点是,在卷积层和全连接层之间添加了一个空间金字塔池化(Spatial Pyramid Pooling, SPP)层。SPPNet可做到不经过候选区域的缩放操作就能实现任意大小、任意长宽比区域的特征提取。在不损失精度的前提下,SPPNet是R-CNN的检测速度的38倍。SPPNet有效解决了候选区域计算冗余的问题,但是依然存在一些缺陷:首先,其训练是仍然是多阶段的;其次,SPPNet在微调网络时,只对其全连接层进行了微调,影响了特征的准确性。后续提出的Fast R-CNN检测器进一步地解决了这些问题。


    Fast-RCNN:


    2015年,Girshick等人在R-CNN和SPPNet的基础上又提出了FastR-CNN检测器[16]。Fast-RCNN最大的特点在于实现了一种多任务学习方式,实现了在网络微调的同时,对目标分类和包围框回归的同步训练,且训练速度是R-CNN的9倍,检测速度是R-CNN的200倍。在VOC2007数据集上,Fast-RCNN将mAP由RCNN的58.5%提升至70.0%。Fast-RCNN成功地结合了R-CNN和SPPNet两者的优点,但还是需要事先使用外部算法来提取目标后选框,不能够实现端到端的处理。那能不能将候选区域检测这一操作同样也交给网络去做呢?后来的Faster R-CNN解决了这个问题。


    Faster-RCNN:


    同样是在2015年,在Fast-RCNN被提出后不久,Shaoqing Ren、Kaiming He以及Girshick等人又很快提出了Faster-RCNN算法[17]。Faster-RCNN是第一个真正意义上的端到端的深度学习检测算法,也是第一个准实时(17帧/秒,640×480像素)的深度学习目标检测算法。Faster-RCNN在VOC07上在此将mAP由70.0%提升至78.8%。Faster-RCNN最大的创新点在于设计了候选区域生成网络(RegionProposal Network,RPN),并在其中设计了“多参考窗口”的机制,将Selective Search或Edge Boxes等外部Objectproposal检测算法融合到同一个深度网络中实现。从R-CNN到Fast RCNN再到Faster-RCNN,候选区域生成,特征提取,候选目标确认和包围框坐标回归逐渐被统一到同一个网络框架之中。检测精度由R-CNN的58.8%提升至Faster-RCNN的78.8%,检测速度也由每帧几十秒[14]提升至准实时检测[17]速度。


    Feature Pyramid Networks:


    在2017年,Tsung-Yi Lin、Piotr Dollar、Ross Girshick和Kaiming He等人又在Faster RCNN的基础上提出了Feature Pyramid Networks(FPN)检测算法。原有的目标检测算法通常都是只采用顶层特征做检测,原因是网络顶层特征的语义信息比较丰富。然而,虽顶层特征的语义信息丰富,但其中的目标位置信息却比较粗略,不利于目标包围框的准确定位;相反,虽然底层特征的语义信息比较少,但其中目标的位置信息却非常准确。因此,FPN的主要思想就是在网络前馈结束后,又将网络中最顶层的特征图像逐层地反馈并与前层的特征图进行融合,在此基础上,再从网络中不同深度的位置引出多个检测端口对其中的不同尺度的目标进行检测。由于网络在前馈过程中天然形成了金字塔形状的特征图,所以FPN对小目标以及尺度分布较大的目标具有天然的检测优势。FPN选择在比VOC规模和难度更大的MSCOCO数据集上进行了测试,取得了当时最佳的检测效果。


    04

    基于深度学习的目标检测算法(下)

    ——基于一体化卷积网络的检测算法


    最近两年基于深度学习的目标检测算法的发展有两条主线,第一条是基于Object Proposal的检测主线,这条主线基本是按照R-CNN >> SPPNet >> Fast-RCNN >> Faster-RCNN >> FPN发展的;另一条是最近一年提出的一体化卷积网络的检测主线,这条主线基本是按照YOLO >> SSD >> Retina-Net发展的。在第二条主线中,人们抛弃了传统的粗检测+精检测的检测流程,经过单次检测即可直接得到最终的检测结果,因此有着更快的检测速度。


    一体化卷积网络检测算法最早可以追溯到上世纪九十年代[30]-[31],当时Yann Lecun等人将其命名为“空间位移神经网络(Space Displacement Neural Network)”。最近两年,一体化卷积网络检测算法受到了更多人的关注,在未来也会有更大的发展空间。下面将分别对这条主线下的YOLO、SSD、Retina-Net三种典型算法进行介绍。


    【代表算法1】You Only Look Once (YOLO) [18]

    【代表算法2】Single Shot MultiBox Detector (SSD) [28]

    【代表算法3】Retina-Net[29]


    YOLO:


    YOLO[18]是第一个一体化卷积网络检测算法,由Joseph和Girshick等人在2015年提出。该算法最大的优势是速度快,彻底解决了基于深度学习速度上的痛点。该算法的增强版本在GPU上速度为45帧/秒,快速版本速度为155帧/秒(640×480像素)。YOLO是“You Only LookOnce”的缩写,从算法的名字就能够看出来作者彻底放弃了Proposal这一概念,直接将整张图像作为网络的输入,并仅通过一次前向传播直接得到目标包围框的位置和目标的类别。YOLO虽然有着非常快的检测速度,但其精度与Faster-RCNN相比有所下降,尤其是小目标检测效果较差,其定位的准确度也稍有不足。这主要是由于YOLO没有采用类似FasterRCNN中的“多参考窗口”的机制处理多尺度窗口问题。后来提出的SSD算法改善了这些问题。


    SSD:


    SSD[28]算法由Wei Liu等人于2015年提出。SSD算法吸收了YOLO速度快和RPN定位精准的优点,采用了RPN中的多参考窗口技术,并进一步提出在多个分辨率的特征图上进行检测。SSD在VOC07上取得了接近Faster-RCNN的准确率(mAP=72%),同时保持了极快的检测速度(58帧/秒,640×480像素)。SSD与Faster-RCNN中不同之处有两点:首先,SSD是在多个尺度下的特征图上设置多个参考窗口进行后选框的检测,而Faster-RCNN仅仅是在一个尺度上进行处理;其次,Faster-RCNN是先利用提取目标后选框,然后再在后选框基础上利用检测网络和ROI Pooling进行后续判断,SSD则直接分别在多个尺度的特征图上进行多尺度检测和包围框坐标回归。此外,SSD在训练过程中,还采用了难样本挖掘操作来对图像中难样本进行聚焦。


    Retina-Net:


    一直以来,虽然基于一体化卷积网络的检测模型的检测速度都明显快于基于Object Proposals的检测算法,其检测精度却一直略逊于后者。Tsung-Yi Lin、 Priya Goyal、Ross Girshick以及Kaiming He等人对其背后的原因进行了研究,并与2017年提出了Retina-Net[29]检测模型。Tsung-Yi Lin等人认为图像中极为不均衡的目标-背景数据分布才是导致一体化卷积网络检测精度较低的主要原因。Retina-Net对传统的交叉熵损失函数进行修正,提出了“聚焦损失函数(Focal Loss)”。通过降低网络训练过程中简单背景样本的学习权重,Retina-Net可以做到对难样本的“聚焦”和对网络学习能力的重新分配,从而使一体化卷积网络检测模型的检测速度和精度全面超越基于Object Proposals的检测模型。事实上,SSD中的难样本挖掘操作也与Focal Loss有着类似思想和效果。


    05

    目标检测中的关键技术


    近年来,尤其是深度学习出现之后,自然图像目标检测领域取得了一系列突破性的进展。早期的目标检测算法[3],[1]-[2],[8]-[12]通常将检测视为一个在图像多个尺度上“滑动窗口遍历+目标背景二分类”的问题。因此,人们常常重点解决特征的表达能力、特征提取的时间效率、多尺度问题的加速方法等问题。最近几年提出的基于深度学习的检测算法[12]-[15],[25]则通常是在以下几个问题上寻求技术突破:


    【关键技术1】 多尺度检测方法

    【关键技术2】 包围框坐标回归

    【关键技术3】 加速策略


    多尺度检测方法:


    目标检测中的“多尺度”问题包含了“不同大小”和“不同长宽比”两方面的内容。早期的目标检测算法,如VJ检测器检测人脸、HOG检测器检测行人都是针对特定长宽比目标所设计的检测算法,所以并没有考虑“不同长宽比”这一层面的问题;而中后期的目标检测算法开始更多关注于一般性目标的通用检测算法,即开始关注检测“不同长宽比”的目标。下图显示了自然图像目标检测的多尺度检测方式发展流程。


    目标检测的多尺度检测方式发展流程


    从近20年的目标检测工作来看,处理多尺度的问题采用的方法经历了从最早的“多尺度积分图特征”,到之后的“特征/滤波器金字塔遍历”,再到后来的“Object Proposals”,最后到如今的依靠“深度网络暴力回归”四个阶段的发展历程。


    早期检测算法如VJ检测器在处理多尺度问题时,并没有采用“建塔”这一最直观的思路。这是因为这种做法在计算能力有限的时代无法承受如此大的计算量。所以,VJ检测器不得不采取积分图这一种巧妙的方法来解决该问题。在VJ检测器出现之后的几年里,随着硬件计算能力不断提升,更多的人尝试使用更加复杂且表达能力更强的特征进行目标检测。但遗憾的是,高度非线性的特征表示如HOG、LBP等并不具有积分图特征类似的性质,所以人们开始把思路转向了“构建金字塔+滑窗遍历”这一最直观的处理方式。从HOG检测器到DPM,甚至后来的深度学习检测算法Overfeat[32]都是通过这种方式构建的。


    需要强调的是,通过建塔的方式只能处理特定长宽比目标的检测问题,例如人脸检测、行人检测等。对于如VOC、MSCOCO等一般性目标检测问题,如果构建不同长宽比、不同尺度的特征金字塔,其计算量直到今天也是难以接受的。不过,DPM虽然没有构建不同长宽比的金字塔,但却可以处理一般性目标检测问题。这是因为DPM采用了Mixture Model这种特殊的处理策略。


    随着人们需要检测的目标类别越来越多,目标形态越来越多样化,人们开始思考,是否能够利用一种统一的“粗检测”模型来处理不同长宽比和不同类别的目标?Object Proposals提供了一种很好的解决思路。Object Proposal的检测指的是利用较低的计算量实现对图像中所包含的一般性目标的包围框进行准确定位(不局限与具体的目标类别,也不局限于固定的长宽比)。Object Proposals在近两年基于深度学习的目标检测算法中起到了非常重要的作用。从R-CNN到Fast-RCNN再到Faster-RCNN,Object Proposals从最开始独立的算法模块逐渐演变到最后与网络融为一体。


    随着GPU计算性能的提升,人们处理多尺度问题的方法变得越来越直接越来越暴力,而这种暴力在基于一体化卷积网络的检测方法(如YOLO)中达到了顶峰。采用深度网络暴力回归解决多尺度问题的思想非常简单,即直接利用深度网络在目标对应位置提取的特征对其包围框的长宽进行回归。这种做法的优点是设计简单,计算量小,先提条件是图像感受野足够大且深度特征表达能力足够强,缺点是对小目标的包围框定位不够准确。


    包围框坐标的回归:


    特征的平移、尺度不变性以及定位的准确性一直以来都存在着矛盾。早期的检测算法大多采用低层手工特征,更多关注于图像的边缘、轮廓等信息。这类特征的平移、尺度不变性较差,但对目标进行精确定位时有着天然的敏感性,可对目标边界进行准确的定位。而基于深度学习的检测算法中采用的深度特征由于其具有更强的平移不变性和尺度不变性,随之带来的问题是对目标包围框定位的先天能力不足。下图显示了目标检测中包围框回归技术的发展过程。


    对于早期基于手工特征的检测算法以及后来基于Object Proposals的检测算法(如DPM、R-CNN、Fast-RCNN)而言,包围框坐标回归仅仅是作为一种刷榜时提分的手段,这种操作对于检测问题仅仅起到了锦上添花的作用,可有亦可无。然而从Faster-CNN开始,情况发生了转变,这是由于包围框回归不再是一个单独的后处理模块,而是集成在了网络中,并采用多任务损失函数同分类任务一同进行训练。现如今包围框回归已经是算法流程中不可替代的一个标准环节。最近的一些算法在包围框回归精度的提升方面取得了一些成果,比如多次包围框坐标修正[40]、以及概率推断在包围框坐标预测中的应用[41]等。



    目标检测的包围框回归技术发展流程

     

    加速策略:


    目标检测算法的加速一直以来都是该领域一个非常重要的问题。一般来讲,人们对算法的加速通常体现在两个层面,第一个层面是从算法原理角度出发,设计低计算复杂度的算法,并尽可能减少重复计算的开销;第二个层面是从硬件实现层面出发,采用更高并行粒度的算法,并通过多核并行计算提升计算速度,如利用GPU加速。早期的检测算法在目标检测的计算原理方面做了很多加速工作,而后期的深度学习的检测算法的计算量虽然比早期算法要大,但依靠硬件计算能力的提升已经可以轻松实现实时检测的速度。下图显示了自然图像目标检测算法的常见加速策略。



    目标检测算法的加速策略一览

     

    通常在目标检测算法当中,特征提取部分的计算开销较其他环节的比重最大,所以近年来人们在特征提取层面的加速工作最多,加速效果也最为显著。传统的基于滑动窗口的检测器会在每个尺度的图像上以一定步长移动,并在每个窗口上做特征提取操作。由于相邻滑窗之间通常有很大面积的交叠,因此交叠部分的特征就会存在大量的计算重复。为了解决这个问题,通常在滑窗之前,都会在图像上只整体计算一次特征图(Feature Map),以避免后面滑窗时对特征进行重复提取。事实上,传统目标检测算法中的“图像金字塔”也可以理解为“特征金字塔”,HOG检测器和DPM都是在特征金字塔上进行检测的。值得一提的是,最近几年基于深度学习的目标检测算法,除了R-CNN之外,其余的也都利用了该加速思想。


    除了特征图之外,积分图也是早期目标检测算法中常见的加速策略。利用积分图特征进行加速的思想前面在介绍VJ检测器已经介绍过,这里再进行一些更加深入的探讨。利用积分图进行算法加速的本质是利用了卷积操作的积分微分的可分离性[1]-[2]:


    如果个g(x)'是稀疏的,那么利用该性质就可以加速计算。事实上,早在VJ检测器之前(1998年),LeCun等人就深入探讨过利用该性质对CNN进行过加速[39],并取得了10倍以上的加速效果。积分图后来也有被用于加速行人检测算法的HOG特征提取过程,在不损失精度的前提下取得了几十倍的加速效果[7][33]。


    未完待续……


    参考文献


    [1]  Viola P, Jones M. Rapid Object Detection Using a Boosted Cascade of SimpleFeatures [C]. IEEE Conference on Computer Vision and Pattern Recognitino, 2001,1:511.


    [2] Viola P, Jones M J. Robust Real-Time Face Detection [J]. IEEEInternational Conference on Computer Vision 2004:747-747.


    [3] Dalal N, Triggs B. Histograms of Oriented Gradients for Human Detection [C].IEEE Computer Society Conference on Computer Vision & Pattern Recognition.IEEE Computer Society, 2005:886-893.


    [4] Turk M, Pentland A. Eigenfaces for recognition [J]. Journal of CognitiveNeuroscience, 1991, 3(1):71-86.


    [5] Shotton J, Blake A, Cipolla R. Multiscale Categorical Object RecognitionUsing Contour Fragments [J]. IEEE Transactions on Pattern Analysis and MachineIntelligence, 2008, 30(7):1270-81.


    [6] Opelt A, Pinz A, Zisserman A. A Boundary-Fragment-Model for ObjectDetection [C]. European Conference on Computer Vision 2006. Springer BerlinHeidelberg, 2006:575-588.


    [7] Zhu Q, Yeh M C, Cheng K T, et al. Fast Human Detection Using a Cascadeof Histograms of Oriented Gradients [C]. IEEE Computer Society Conference onComputer Vision & Pattern Recognition. IEEE, 2006:1491-1498.


    [8] Felzenszwalb P, Mcallester D, Ramanan D. A Discriminatively Trained, Multiscale,Deformable Part Model [C]. IEEE Computer Society Conference on Computer Vision &Pattern Recognition. 2008, 8::1-8.


    [9] Felzenszwalb P F, Girshick R B, Mcallester D. Cascade Object Detection withDeformable Part Models [C]. IEEE Conference on Computer Vision & PatternRecognition. IEEE Computer Society, 2010:2241-2248.


    [10] Forsyth D. Object Detection with Discriminatively Trained Part-BasedModels [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2010, 32(9):1627-45.


    [11] Girshick R B, Felzenszwalb P F, Mcallester D. Object Detection withGrammar Models[J]. Nips, 2010, 33:442-450.


    [12] Girshick R B. From Rigid Templates to Grammars: Object Detection with StructuredModels [J].A Dissertation Submitted to the Faculty of the Division of the PhysicalSciences, 2012.


    [13] Girshick R, Iandola F, Darrell T, et al. Deformable Part Models Are ConvolutionalNeural Networks [J]. IEEE Conference on Computer Vision & PatternRecognition, 2015:437-446.


    [14] Girshick R, Donahue J, Darrell T, et al. Rich Feature Hierarchies forAccurate Object Detection and Semantic Segmentation [C]. Computer Vision andPattern Recognition. IEEE, 2013:580-587.


    [15] He K, Zhang X, Ren S, et al. Spatial Pyramid Pooling in DeepConvolutional Networks for Visual Recognition [J]. IEEE Transactions on PatternAnalysis and Machine Intelligence, 2015, 37(9):1904-16.


    [16] Girshick R. Fast R-CNN [OL]. arXiv:1504.08083, 2015.


    [17] Ren S, He K, Girshick R, et al. Faster R-CNN: Towards Real-Time ObjectDetection with Region Proposal Networks [OL]. arXiv:1506.01497, 2015.


    [18] Redmon J, Divvala S, Girshick R, et al. You Only Look Once: Unified,Real-Time Object Detection [OL]. arXiv: 1506.02640, 2016.


    [19] Krizhevsky A, Sutskever I, Hinton G E. ImageNet Classification with DeepConvolutional Neural Networks [J]. Advances in Neural Information ProcessingSystems, 25(2):2012.


    [20] Dai J, Li Y, He K, et al. R-FCN: Object Detection via Region-based FullyConvolutional Networks [OL]. arXiv: 1605.06409, 2016.


    [21] Hosang J, Benenson R, Dollar P, et al. What Makes for EffectiveDetection Proposals? [J]. IEEE Transactions on Pattern Analysis and MachineIntelligence, 2016, 38(4):814-830.


    [22] Van d S K E A, Uijlings J R R, Gevers T, et al. Segmentation as SelectiveSearch for Object Recognition [C]. Proceedings IEEE International Conference onComputer Vision. 2011:1879-1886.


    [23] Zitnick C L, Dollár P. Edge Boxes: Locating Object Proposals from Edges[C]. European Conference on Computer Vision, 2014:391-405.


    [24] Cheng M M, Zhang Z, Lin W Y, et al. BING: Binarized Normed Gradients forObjectness Estimation at 300fps [J]. IEEE International Conference on ComputerVision 2014:3286-3293.


    [25] Girshick R., Felzenszwalb P., and McAllester D. Discriminatively TrainedDeformable Part Models, release 5 [OL].http://www.cs.berkeley.edu/˜rbg/latent-v5/.


    [26] Zeiler M D, Fergus R. Visualizing and Understanding ConvolutionalNetworks [J]. 2014, 8689:818-833.


    [27] Simonyan K, Zisserman A. Very Deep Convolutional Networks forLarge-Scale Image Recognition [J]. Computer Science, 2014.


    [28] Liu W, Anguelov D, Erhan D, et al. SSD: Single Shot MultiBox Detector [OL].arXiv: 1512.02325, 2016.


    [29] Lin T Y, Goyal P, Girshick R, et al. Focal Loss for Dense ObjectDetection [OL]. arXiv: 1708.02002, 2017.


    [30] Vaillant R, Monrocq C, Cun Y L. An Original Approach for the Localizationof Objects in Images [C]. International Conference on Artificial NeuralNetworks. 1993:26-30.


    [31] Lecun Y, Bottou L, Bengio Y, et al. Gradient-based Learning Applied to DocumentRecognition [J]. Proceedings of the IEEE, 1998, 86(11):2278-2324.


    [32] Sermanet P, Eigen D, Zhang X, et al. OverFeat: Integrated Recognition,Localization and Detection using Convolutional Networks [C]. InternationalConference on Learning Representations, 2013.


    [33] Benenson R, Mathias M, Timofte R, et al. Pedestrian Detection at 100 Framesper Second [C]. IEEE International Conference on Computer Vision2012:2903-2910.


    [34] Alexe B, Deselaers T, Ferrari V. What is an Object? [C]. IEEEInternational Conference on Computer Vision and Pattern Recognition,2010:73-80.


    [35] Ponttuset J, Arbelaez P, Barron J, et al. Multiscale CombinatorialGrouping for Image Segmentation and Object Proposal Generation [J]. IEEETransactions on Pattern Analysis and Machine Intelligence, 2015:1-1.


    [36] Kong T, Yao A, Chen Y, et al. HyperNet: Towards Accurate Region ProposalGeneration and Joint Object Detection [C]. IEEE International Conference on ComputerVision and Pattern Recognition. 2016:845-853.


    [37] Ghodrati A, Diba A, Pedersoli M, et al. DeepProposal: Hunting Objects byCascading Deep Convolutional Layers [C]. IEEE International Conference on ComputerVision and Pattern Recognition. 2015:2578-2586.


    [38] Dollar P, Appel R, Belongie S, et al. Fast Feature Pyramids for ObjectDetection [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2014, 36(8):1532-45.


    [39] Simard P Y, Bottou L, Haffner P, et al. Boxlets: A Fast Convolution Algorithmfor Signal Processing and Neural Networks [C]. Conference on Advances in NeuralInformation Processing Systems II. MIT Press, 1999:571-577.


    [40] Yoo D, Park S, Lee J Y, et al. AttentionNet: Aggregating Weak Directionsfor Accurate Object Detection [J]. IEEE International Conference on ComputerVision. 2015:2659-2667.


    [41] Gidaris S, Komodakis N. LocNet: Improving Localization Accuracy forObject Detection [C]. IEEE Conference on Computer Vision and PatternRecognition. 2016:789-798.


    展开全文
  • 因此目标检测也是近年来机器学习、图像处理领域的热门研究内容。目前来说,深度学习发展迅速,在目标检测方面涌现出了很多优秀的算法。 到现在为止,已有的基于深度学习的目标检测与识别算法大致可以分为...

    摘 要

    目标检测任务简单来说是在图片或视频中指出多个特定目标并以方框形式给出这些物体在图片中的位置和大小。它与我们的生活密切相关,它被广泛应用于安全识别、无人驾驶、医疗诊断、图像检索等领域,并且未来将愈发重要。因此目标检测也是近年来机器学习、图像处理领域的热门研究内容。目前来说,深度学习发展迅速,在目标检测方面涌现出了很多优秀的算法。
    到现在为止,已有的基于深度学习的目标检测与识别算法大致可以分为以下三大类:
    ① 基于区域建议的目标检测与识别算法,如R-CNN, Fast-R-CNN, Faster-R-CNN;
    ② 基于回归的目标检测与识别算法,如YOLO, SSD;
    ③ 基于搜索的目标检测与识别算法,如基于视觉注意的AttentionNet,基于强化学习的算法。

    这些新的算法有很大的普适性,但是由于具体使用过程中的复杂性,出现的目标大小、清晰度等问题,使得目标检测的准确性面临考验,这也是目标检测算法领域需要解决和攻克的问题。

    本文对深度卷积神经网络进行了初步的原理研究和探索,首先本文对公开数据集VOC2007进行了扩充,通过拍摄照片和模型训练的途径,对生活常见目标人、车、椅子和杯子这四类物体目标进行增强。之后对于流行深度学习框架进行简单测评,得出了TensorFlow综合表现良好的结论。

    本文采用VGG16作为Faster RCNN的基础特征提取网络,在深度学习框架Caffe下进行网络训练,微调超参数类型和数值,并介绍了在ImageNet上预训练模型的流程。最后得出本文所训练的Faster RCNN模型在日常生活物体检测中有较为准确的识别率和较高的识别速度的结论。

    关键词:Faster-R-CNN;卷积神经网络;多目标检测;深度学习
    

    Abstract

    The target detection task is simply to point out a plurality of specific objects in a picture or video and give the position and size of the objects in the picture in a block form. It is closely related to our lives, and it is widely used in the fields of safety identification, driverless, medical diagnosis, image retrieval and the like, and will become more and more important in the future. Therefore, the target detection is also a popular research content in the field of machine learning and image processing in recent years. At present, the depth study has developed rapidly, and many excellent algorithms have emerged in the aspect of target detection.
    By now, the existing object detection and recognition algorithm based on depth learning can be roughly divided into the following three main categories:
    (1) Target detection and recognition algorithms based on regional recommendations, such as R-CNN, Fast-R-CNN, Faster-R-CNN;
    (2) Target detection and recognition algorithm based on regression, such as YOLO, SSD;
    (3)The target detection and recognition algorithm based on the search, such as the visual attention-based AttentionNet, is based on the enhanced learning algorithm.
    These new algorithms are very universal, but because of the complexity of the specific use process, the size and clarity of the target, the accuracy of target detection is tested. This is also the problem that needs to be solved and solved in the field of target detection algorithm.
    In this paper, the principle of deep convolution neural network is studied and explored. Firstly, the open dataset VOC2007 is extended, and the common target people and cars in life are trained by taking photos and models. Four types of objects, chairs and cups, are enhanced. After that, a simple evaluation of the popular depth learning framework is carried out, and the conclusion is drawn that the comprehensive performance of TensorFlow is good.
    In this paper, VGG16 is used as the basic feature extraction network of Faster RCNN, and the network training is carried out under the deep learning framework Caffe, and the type and value of superparameters are fine-tuned, and the flow chart of pre-training model on ImageNet is introduced. Finally, it is concluded that the Faster RCNN model trained in this paper has a more accurate recognition rate and a higher recognition speed in the detection of daily life objects.

    Key Words:Faster-R-CNN; convolution neural network; multi-target detection; deep learning

    第1章 绪论

    1.1 研究背景及研究意义

    很久以来,视觉信息都是人这个本体与外部环境交流信息最重要也是最不可或缺的部分。近年来人工智能和机器学习的发展迅速,普遍对于目标识别、检测的要求在迅速放大,而此时传统的机器学习算法已经在性能上无法达到人们的需求,伴随着卷积神经网络等深度学习算法的优良表现,越来越多的学者和科研人员开始对卷积神经网络进行研究和实验,卷积神经网络的识别效果甚至在某些领域都超过了人类的识别能力。
    目标检测的任务是找出图像中所有感兴趣的目标(物体),并确定它们的位置和大小,是机器视觉领域的核心问题之一。由于各类物体有不同的外观,形状,姿态,加上成像时的光照条件不同,遮挡等因素的干扰,目标检测一直是机器领域最有挑战性的问题。人在处理图片或者动态视频时,会先锁定看到图像中的物体,找出它的位置,然后根据目标的特征,判断相应类别,然后对于特定物体目标进一步处理,最后再根据得到的信息来调整行动。
    在人处理信息这个流程中:(1)往往由于个体的差异和自身当时心理以及生理上的影响,对于相同目标检测有一定的误差和不准确性;(2)由于个体的精力和兴趣差别,往往会造成信息采集的缺失;(3)人本身生理的缺陷,视野局限于双眼可视范围内。
    而机器通过多种图像采集器,计算机处理和数据算法处理,可以解决上述中人在处理图片目标信息时的不足,在不久的将来,以优秀的深度学习算法为代表的机器学习会在各个领域中代替人类处理图像信息并且表现的更加完美。
    传统手工提取特征技术在进行目标检测时存在以下问题:(1)目前不存在一种算法可以对图像中所有的目标类型进行检测;(2)传统算法较容易被外界因素干扰。
    伴随科技的进步和发展,现代数据存储成本下降和计算机性能的几何倍提升,更加使得人工智能,机器学习近年来的突飞猛进。在这样的条件下,研究者们突破传统的手工设定,开始使用深度学习来对图像中的目标进行分割、识别。
    在所有的深度学习模型中,卷积神经网络是最有应用潜力和发展空间的一种。尽管未来的模型能够在检测速度上有所提升,但是几乎没有模型的表现能显著超越Faster R-CNN。总的来说,Faster R-CNN也许不是目标检测最简单,最快的方法,但是它的表现还是自目前最佳的。例如,Tensorflow应用Inception ResNet打造的Faster R-CNN就是他们速度最慢,但却最精准的模型。相较于传统的图像处理,深度学习在给出了大量的带有标注划分的数据集训练后,不需要人工的选择特征,它在网络训练后可以从图像中学习到由标注带来的特征。由此可见,基于卷积神经网络的多目标检测模型必然是未来研究和发展的热门对象。

    1.2 多目标图像检测的定义

    在这里插入图片描述
    目标检测的任务是找出图像中所有感兴趣的目标(物体),确定它们的位置和大小,是机器视觉领域的核心问题之一。计算机视觉中关于图像识别有四大类别的任务:
    1)分类;2)定位:3)检测;4)分割。除了图像分类之外,目标检测要解决的核心问题是:目标可能出现在图像的任何位置、目标有各种不同的大小、目标可能有各种不同的形状。目标检测的流程是:图像或者视觉信息等被视觉传感器采集、整理,转化为书记矩阵储存在计算机中,作为数据输入到目标检测模型中,通过识别得到原始图像,输出标记后的目标本体、目标位置和目标类别。最后输出其所属类别,进行展示输出或者是进行细致优化处理。
    对于整个目标检测模型来说最重要的两点就是准确性和检测速度。不同于人类,计算机在处理、理解图片时,不能根据纹理、外形等特征进行快速准确的判断。因为图片或视频等信息在二进制中是以0—255的数字存储在不同的颜色通道中的,想要让计算机进行识别,必须要通过算法,而不同的算法不能完全的覆盖所有的物体,很容易因为漏掉特征提取区域而出现遗漏,失误的现象。
    所以,本文的研究目的就是初步的探索和讨论在多目标图像检测和识别过程中,通过深度学习和目标检测结合,能进行快速而且准确的图像多目标识别,判断和分类。

    1.3 国内外研究现状

    在目前计算机硬件和各种算法飞速发展的时代背景下,目标检测与深度学习的结合,使得多目标图像检测也得以迅速发展。本小节从深度学习和目标检测两个角度对国内外研究现状进行分析、总结。

    1.3.1 目标检测研究现状

    国内外的科研人员和实验室在目标检测与识别的研究过程中仍然面临很多的困难。真实世界的信息在转化为二进制信息的过程中,信息会在一定程度上或多或少的有所丢失和畸变,并且待测目标的运动,遮挡和光照还有真实场景中对于实时识别准确性的要求都是需要面对的方面。
    传统的目标检测算法分为三个阶段,包括有生成目标建议框,提取每个建议框中的特征,最后根据特征进行分类。这三个阶段的具体过程:
    1)生成目标建议框。在向计算机输入一张原始图像后,它只会识别每一个像素点,想要用方框框出目标的位置及大小,最先想到的方法就是进行穷举建议框,就是用滑动窗口扫描整个图像,通过缩放来进行多尺度滑窗。这种方法已经落伍被淘汰,因为它的计算量很大,效率极低,根本无法适用于如今要求的快速识别领域。
    2)提取每个建议框中的特征。在传统的检测方法中,常见的HOG算法对物体边缘适用直方图统计来进行编码,有较好的表达能力。但是传统特征设计需要人工指定,达不到可靠性的要求。
    3)分类器的设计,传统的分类器在机器学习领域非常多。
    然而传统的算法在预测精度和速度上都很不理想,在图像处理领域陷入困难的时候,随着深度学习算法在计算机识别领域的迅速发展,传统算法已经逐渐退出历史的舞台。

    1.3.2 深度学习研究现状

    如今,人工智能已经成为一个非常火热的领域,这个领域的几何倍速度发展也使得人们希望可以借助人工智能来快速准确地自动处理一些主观的,非常规的失误,如识别、处理图像等。早期的研究项目有一些基于数据库的方法,这种方法的核心主要是利用数据库的量来近似于穷举所有可能的方式来将所有规则进行存储,然后设计相对应的指令来使得计算机能自主的理解,计算。但因为缺乏可以精确,快速地描述事物的算法规则,所以这个方法也是以失败告终。
    近代的研究人员针对这些问题提出了改进的方案。这个方案是基于人类大脑思考问题时的层次来设计的,它让计算机从大量的经验中学习,并自主构架一个层次化的结构来拟合事物,通过各个层次之间的简单关联来定义事物。这就是最初的“深度学习”。
    自从深度学习出现后,就有越来越多的个体和研究团体加入到这个领域。近几年来关于深度学习的著作和应用算法更是越来越多的出来,被广泛地应用于各个领域中。目前国际上以PASCAL视觉目标类VOC识别挑战赛作为目标检测领域的最高水准竞赛。PASCAL挑战赛由英国的牛津大学和利兹大学,瑞士苏黎世大学和微软剑桥研究院于2005年联合发起,其人要目的是识别真实场景中的一些识别的物体。该挑战赛在一定程度上极大的推动了计算机视觉研究领域的发展。世界上许多深度学习领先的团队或机构都派出了队伍参赛,其中包括有Google、百度、微软、Facebook等知名企业和实验室,并在目标检测领域取得了先进的研究成果和近战。在2012年Krizhevsky A等人在竞赛中利用深度卷积神经网络将ImageNet中1000类物体的分类识别错误率降到了37.5%和17.0%。
    但是随着国内近年来在该领域的大力发展,我国在深度卷积神经网络上的研究也迅速发展,可以从2016年中国团队包揽了该比赛全部项目的冠军窥一二。虽然身为后起之秀,但是发展势头越来越盛。
    自从深度神经网络算法首次在ImageNet数据集上大放异彩后,物体检测领域开始逐渐利用深度学习来做研究。随后各种结构的深度模型被提出,数据集的识别准确率被一再刷新。最早的R-CNN(Region-based CNN)首次使用深度模型提取图像特征,以49.6%的准确率开创了检测算法的新时代。[6]R-CNN的工作包含有三个步骤:1)借助一个可以生成大约2000个region proposal的选择性搜索算法,来获取可能出现的目标。2)在每个region proposal上运行一个卷积神经网络(CNN)。3)将每个CNN的输出都输入进一个支持向量机,以对上述区域进行分类,还有一个线性回归器,以收缩目标周围的边界框。换句话说,首先是给出建议区域,然后从中提取出特征,然后再根据这些特征来对这些区域进行分类。本质而言,R-CNN将目标检测转化为了图像分类的问题。虽然R-CNN模型很直观,但是它的速度很慢。
    而后出现的Fast R-CNN在很多方面与R-CNN类似,它在R-CNN的基础上 加上了两项主要的增强手段,使得其检测速度较R-CNN有所提高:1)在推荐区域之前,先对图像执行特征提取工作,通过这种方法,后面只用对整个图像使用一个CNN(之前的R-CNN网络需要在2000个重叠的区域上分别运行2000个CNN)。2)将支持向量机替换成了一个softmax层,这种变化并没有创建新的模型,而是将神经网络进行了扩展以用于预测工作。
    在这里插入图片描述
    如图1.2所示,现在我们基于网络最后的特征图(而非原始图像)创建了region proposals。因此,我们对整个图像只用训练一个CNN就可以了。
    此外,在使用了一个softmax层来直接输出类(class)的概率,而不是像之前一样训练很多不同的支持向量机对每个目标类进行分类。现在,只用训练一个神经网络,而之前我们需要训练一个神经网络以及很多的支持向量机。
    但是Fast R-CNN的识别速度仍然达不到实时的要求,于是Faster R-CNN应运而生,它的主要创新是用一个快速神经网络代替了之前慢速的选择搜索算法。换句话说,就是直接利用了RPN(Region Proposal Networks)网络来生成目标候选框。RPN 的工作原理是:
    在最后卷积得到的特征图上,使用一个 3x3 的窗口在特征图上滑动,然后将其映射到一个更低的维度上(如 256 维),
    在每个滑动窗口的位置上,RPN 都可以基于 k 个固定比例的 anchor box(默认的边界框)生成多个可能的区域。
    每个 region proposal 都由两部分组成:a)该区域的 objectness 分数。b)4 个表征该区域边界框的坐标。
    换句话说,我们会观察我们最后特征图上的每个位置,然后关注围绕它的 k 个不同的 anchor box:一个高的框、一个宽的框、一个大的框等等。对于每个这些框,不管我们是否认为它包含一个目标,以及不管这个框里的坐标是什么,我们都会进行输出。在region proposal的基础上添加池化层,全连接层和softmax分类层和边界框回归器,就是Faster R-CNN模型。
    总体而言,Faster R-CNN 较 Fast R-CNN 在速度上有了大幅提升,而且其精确性也达到了最尖端的水平。值得一提的是,尽管未来的模型能够在检测速度上有所提升,但是几乎没有模型的表现能显著超越 Faster R-CNN。换句话说,Faster R-CNN 也许不是目标检测最简单、最快的方法,但是其表现还是目前最佳的。例如,Tensorflow 应用 Inception ResNet 打造的 Faster R-CNN 就是他们速度最慢,但却最精准的模型。
    也许 Faster R-CNN 看起来可能会非常复杂,但是它的核心设计还是与最初的 R-CNN 一致:先假设对象区域,然后对其进行分类。目前,这是很多目标检测模型使用的主要思路。
    在2015年,YOLO算法被提出。YOLO算法的主要创新点在于放弃了原始的区域选择过程,将输入图片信息按一定比例划分出正方的方格,然后对每个方格产生大小不同的边界框,并进行回归处理。这样做的好处是极大的加速了整个检测过程,在高端GPU上甚至可以达到45fps的处理速度,但是缺点是对于形状小的物体或者是多个物体叠加在一起的情况处理能力较弱。
    作为目前主流的算法,Faster R-CNN是一个很好的研究领域,未来在与目标检测领域结合的过程中,必然能诞生出更好更快的模型。因此,本文采用深度卷积神经网络的相关算法来完成对多目标图像的检测。


    本文由作者原创,转载或引用请得到博主同意。

    展开全文
  • 高光谱图像处理目标检测技术一、高光谱图像处理目标检测1、高光谱图像目标检测的发展趋势和研究现状: 20世纪80年代末,美国的一些研究机构开始利用高光谱图像数据进行目标检测方面的研究。自上世纪九十年代,...

    高光谱图像处理之目标检测技术

    一、高光谱图像处理之目标检测


    1、高光谱图像目标检测的发展趋势和研究现状:

       20世纪80年代末,美国的一些研究机构开始利用高光谱图像数据进行目标检测方面的研究。自上世纪九十年代,国外出现了进行高光谱图像目标检测算法理论研究的研究组。由Reed和Yu提出了基于广义似然比检验的恒虚警RX 检测器(RXD)。Chang课题组提出了基于正交子空间投影的OSP检测方法, Harsanyi提出了基于约束能量最小化的CEM算法。未来高光谱目标检测的发展将会越来越重视实用性,算法的性能将会进一步提高,同时更也加适合使用FPGA硬件对其进行加速从而具有更高的实际应用价值。

    2、高光谱目标检测技术的应用范围:

       高光谱目标检测具有较强的实用性,可应用于公共安全、环境检测、城市规划、食品卫生、地质岩矿的识别等众多方面。


                             图1.1 高光谱图像数据结构

    3、高光谱图像数据的特点:

       高光谱图像数据“图谱合一”,具有丰富的光谱维信息。高光谱图像数据共有三个维度,如图2.1所示,其中,图像空间维信息x、y用于表示物体的实际空间分布,而光谱波段L用于表示每个像素的光谱属性。

    4、高光谱图像目标检测原理:

       高光谱图像的各波段在成像范围内都是连续成像,因此高光谱的光谱曲线一般是平滑的、连续的曲线。高光谱图像的波段L中涵盖了物质的光谱信息,而每种物质的光谱信息都不一样,我们可以利用图像像素的光谱波段L所包含的特定的光谱信息来判断该像素所代表的特定的物质种类。

    5、高光谱图像目标检测流程:


                        图1.2 高光谱图像目标检测流程图

       如图所示,对于拍摄得到的原始高光谱图像数据,需要先对数据进行预处理,包括数据格式化、无用数据剔除以及亮度到反射率的转化等。同时,对于遥感仪拍摄的高光谱图像还需要进行辐射校正,在目标检测前,应对数据进行调整,包括数据归一化等。最后根据已知的先验信息选择相应的目标检测算法进行检测。

    6、现场可编程门阵列(FPGA)在高光谱图像处理中的应用:

       一个FPGA可以大致定义为一系列互连的逻辑块。这些器件的主要优点之一是,为了实现不同的组合或时序逻辑功能,可以根据需要多次重新配置逻辑块及其互连。这一特性为FPGA提供了软件和硬件系统的优势。因为FPGA具有比专用集成电路(ASIC)更多的灵活性和更短的开发时间,更接近GPU提供的性能,但同时功耗要比GPU低得多。FPGA供应商通过改进FPGA体系结构(包括优化的硬件模块)并利用最新的硅技术不断提升FPGA的功耗和能效。可重构性、低功耗的特点以及FPGA对空间电离辐射耐受性的提高,这些因素已经使得FPGA成为目前板载高光谱遥感的最佳选择之一。


    二、算法分类、比较和选择:


    1、方法分类:

       高光谱目标检测方法按照先验信息是否已知分为监督方法和非监督方法。前者用于目标光谱已知的情况下,利用目标光谱与图像像元光谱进行匹配,从而完成目标检测,比如CEM算法、OSP算法;后者多用于异常目标检测,一般不需要目标和背景的先验信息,根据高光谱图像数据获取目标检测所需要的数据,然后根据数据的大小来判断是否为异常目标,比如RXD算法。

    2、CEM、OSP、RXD算法的区别:

    (1)CEM(Constrained Energy Minimization)算法:

       CEM算法主要思想是设计一个FIR线性滤波器,使得在满足约束条件式的情况下滤波器的输出能量最小。该算法不需要图像的背景信息,只需要知道要检测的先验光谱信息(目标向量)即可,具体方法是通过高光谱图像数据和先验已知的待检测目标确定一个滤波向量,让图像经过该滤波向量即可得到检测结果,其中滤波向量的作用是滤除图像中的非目标像素,让感兴趣的目标能够通过,同时抑制由其他信号带来的滤波器输出能量。

    (2)OSP(Orthogonal Subspace Projection)算法:

       OSP算法与CEM算法相比,最大区别在于不仅需要目标的先验知识,还需要图像中背景的先验知识,但在实际中中这些先验信息很难全部得到。在高光谱检测中我们一般用其来检测异常。该算法需要前提条件:图像信息、目标像元、非目标像元(异常目标)信息。

    (3)RXD(Reed-XiaoliDetector)算法:

       RXD算法是异常目标检测领域中最基础的算法,不需要目标光谱的先验知识,而是基于背景服从多元正态分布的假设,通过检测与背景分布中心相比属于异常像元,并在这些感兴趣区域进一步查找可能存在的目标。该算法主要针对的是小目标检测问题。

    (4)确定所采用的目标检测算法:

       由于我们的应用场景多为有特定目标的目标检测,CEM正是针对未知场景中可能存在的特定目标的检测,只需要知道目标的光谱信息即可,而RXD算法适应于对特定场景的异常(未知目标)检测,而OSP算法除了需要已知目标光谱还需要背景信息。综上,我决定采用CEM算法进行高光谱目标检测的实现。


    三、CEM算法分析:


    1、算法步骤

    (1)对高光谱图像进行预处理,得到二维化和归一化后的数据r(L*N);

    (2)根据图像数据r,求得图像的自相关矩阵:

                   

    (3)确定目标光谱向量dd大小为L*1);

    (4)根据公式:


                                       

       设计FIR线性滤波器:


    (5)将归一化后的数据经过FIR滤波器,得到输出信号y

               

    2、问题分解:

       CEM算法的实现可分为三部分:自相关矩阵、矩阵求逆、线性FIR滤波器。


    图 1.3 CEM算法分解流程图

       如图所示,首先根据高光谱图像r求得自相关矩阵,再利用矩阵求逆模块求得自相关矩阵的逆矩阵,结合从光谱库获取到的目标向量的先验信息求得FIR滤波器的滤波向量,最后将高光谱图像r通过FIR滤波器即可得到最终的检测结果。


    四、CEM算法实现:


    1、算法流程:

       在MATLAB和C语言中实现CEM算法的具体流程如图所示,因为语言特性是串行执行命令,所以在编写程序时与硬件设计比较更加直接明了。

    图1.4 CEM算法流程图

    2、数据预处理:

       对前期得到的高光谱图像在MATLAB平台上进行预处理。这一过程主要对原始的200*200*189大小的高光谱图像进行操作:

    (1)二维化:通过调用MATLAB里面的reshape()函数实现。

    (2)归一化:采用“min-max”方法。 具体步骤是先找到数据的最大值
    (maxA)和最小值(minA), 通过 y = (x-minA) /(maxA-minA) 计算的 y 即为归一化后的数据。高光谱数据量大,也造成了数据的存储比较困难,数据在程序中的存储等处理

    3、CEM算法的MATLAB实现:

       首先,根据 2 对高光谱图像数据进行预处理,而后求其自相关矩阵。高光谱图像数据的大小为200*200*189,其中200*200为像素数,189为波段数。

                  

       首先用reshape()函数和transpose()函数将200*200*189的三维高光谱图像数据转为189*40000的二维矩阵,再用自己写的Normalize()函数对矩阵数据用“min-max”方法进行归一化,然后根据公式式利用MATLAB中的矩阵求转置函数transpose()和矩阵相乘操作得到一个189*189的矩阵,最后对189*189的矩阵除以像素数N即可得到自相关矩阵。

    最后,根据先验已知的目标向量和自相关矩阵R的逆矩阵(在MATLAB中矩阵R求逆即为(1/R))求得FIR滤波器,将高光谱图像模拟数据通过FIR滤波器,即可得到最终的检测结果。(本次测试中选取的目标向量 d 是模拟图像中的 C 物质)

    4、CEM算法的C语言实现:

       在Visual Studio平台上完成CEM算法C程序的编写。相比于MATLAB实现,CEM算法的C语言实现主要难点在于矩阵运算。因为在C语言中,矩阵的转置、相乘、求逆等操作均没有现有的函数,需要编写相应的函数。在实现矩阵基本运算过程中,通过动态分配内存运用二维指针传递参数,完成矩阵加减法运算、矩阵转置运算、矩阵相乘运算以及矩阵求逆运算,这样可以节省存储空间,使用完后释放空间即可。

    CEM算法的C语言实现主要包括如下步骤:

    (1)在MATLAB中,将归一化后的高光谱图像数据转为189*40000的二维形式,保存为CEM.mat;

    (2)编写矩阵初始化、矩阵转置、矩阵相乘、矩阵求逆、内存释放函数;

    (3)编写main函数,读CEM.mat,调用上述函数,求得FIR滤波器,进而获得输出信号y,将其写入CEM.txt;

    (4)在MATLAB中显示CEM.txt中数据所代表的图像。

    5、难点解决:

    (1)矩阵转置

       矩阵转置函数的输入是大小为m*n的矩阵A,输出是大小n*m为的矩阵B。采用嵌套的for循环分别遍历矩阵的行和列,将输入的二维矩阵A按列读出,重新按行写入新矩阵B中,即可实现矩阵的转置。

    (2)矩阵相乘

       矩阵相乘函数的输入是大小m*n为的矩阵A和n*k的矩阵B,输出是大小为m*k的矩阵C。采用嵌套的for循环分别遍历矩阵的行和列,首先将矩阵A按行读出,矩阵B按列读出,然后将读出的矩阵A的第i行和矩阵B的第j列对应位相乘求和,将计算的结果写入矩阵C第i行第j列元素中。

    (3)矩阵求逆——QR分解求逆

       QR分解求逆的原理是:对于可逆矩阵A,首先利用QR分解将A矩阵分解为Q矩阵和R矩阵。即A=QR,其中Q是正交矩阵,R是上三角矩阵。然后将公式左右同时求逆,可以求得A的逆矩阵,其中Q矩阵的逆矩阵和转置矩阵相同,R求逆有特定的公式。QR分解求逆的运算较为简单,且数据稳定度较高,可以得到误差较小的求逆结果。

    6、算法实现结果和对比分析:

    1)MATLAB和C语言实现CEM算法的检测结果如图所示:

           

          (a)               (b)            (c)

    图1.6 原图CEM算法检测结果:(a)原图(每一行是一种物质)(b)MATLAB检测C物质(c)C语言检测C物质

     

    通过对MATLAB和C语言实现结果进行对比,发现二者均成功实现了CEM算法并完成了对目标的检测,观察检测结果基本无差异。

    ######### 转载请注明出处:https://blog.csdn.net/Gentleman_Qin/article/details/79992314 #########


    展开全文
  • 目标检测和识别发展史: 目标检测,通俗的理解其目的是定位目标,并确定目标位置及大小。相比于图像目标检查,视频检测是比单张图片检测多了时间上下文的信息;相比于传统目标检测,深度学习目标检测算法越来越成熟...
  • 目标检测的图像特征提取之(一)HOG特征 zouxy09@qq.com 1、HOG特征:  方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和...
  • 作者:SIGAI人工智能平台,出处:SIGAI人工智能平台,公众号:SIGAI ----------------------------------------- 1.SAR舰船目标检测概述 合成孔径雷达(Synthetic Aperture ...因此,利用SAR数据进行目标检测...
  • 目标检测任务中常常会遇到图像中目标被遮挡严重的问题,由于遮挡数据复杂多样,遮挡信息丢失严重,模型在训练过程中往往陷入过拟合问题,对训练集中外的数据检测效果下降,在模型层面很难做到很好的改善,这时候就...
  • 1、目标检测图像数据增强(Data Augmentation)—— 旋转:https://blog.csdn.net/uncle_ll/article/details/83930861(可以同时生成xml文件) CNN Data Augmentation(数据增强)-旋转:...
  • 运动图像跟踪问题分为目标检测与目标跟踪两部分 一、目标检测 目标检测即为从序列图像中将变化区域从背景图像中提取出来,依照目标与相机之间的关系可以分为静态背景下运动检测与动态背景下运动检测。 1、静态背景 ...
  • 1、显著目标检测介绍显著性检测最近几年成了研究热点,从计算机视觉三大会议(ICCV, CVPR, ECCV)上的文章数量就可以看出,大概每届会议都有10来篇的样子,一个这么小的topic,10来篇数量已经很多了。如果你看一看...
  • 目标检测原理与实现

    2016-11-29 22:53:13
     从今天起开始要写一些关于目标检测的文章,涵盖从简单的阈值图像处理检测、霍夫变换(hough transform)检测、模版匹配检测(刚体匹配)、AAM+ASM+ACM(非刚体)匹配检测到近代机器学习方法检测,尽量贴一些代码,...
  • 基于阈值图像处理目标检测  从今天起开始要写一些关于目标检测的文章,涵盖从简单的阈值图像处理检测、霍夫变换(hough transform)检测、模版匹配检测(刚体匹配)、AAM+ASM+ACM(非刚体)匹配检测到近代机器...
  • 参考https://blog.csdn.net/u014540717/article/details/53301195
  • 目标检测的图像特征提取之(一)HOG特征 1、HOG特征:  方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域...
  • 目标检测的定义

    2019-07-25 17:39:11
    目标检测与识别是指从一幅场景(图片)中找出目标,包括检测(where)和识别... 目标检测与识别在生活中多个领域中有着广泛的应用,它是将图像或者视频中的目标与不感兴趣的部分区分开,判断是否存在目标,若存...
  • 目标检测图像特征提取之(二)LBP特征 zouxy09@qq.com  LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子;它具有旋转不变性和灰度不变性等显著的优点。它是首先由T. Ojala, M....
  • 数字图像处理 第12章 目标识别
1 2 3 4 5 ... 20
收藏数 85,681
精华内容 34,272
关键字:

目标检测图像处理