精华内容
下载资源
问答
  • 目标识别

    千次阅读 2018-10-09 11:26:46
    对一个给定的图片进行目标识别,首先要判断目标有没有,如果目标没有,则检测和识别结束,如果有目标,就要进一步判断有几个目标,目标分别所在的位置,然后对目标进行分割,判断哪些像素点属于该目标。 3.2 目标...
     

    1.研究意义

    众所周知,当前是信息时代,信息的获得、加工、处理以及应用都有了飞跃发展。人们认识世界的重要知识来源就是图像信息,在很多场合,图像所传送的信息比其他形式的信息更丰富、真切和具体。人眼与大脑的协作使得人们可以获取、处理以及理解视觉信息,人类利用视觉感知外界环境信息的效率很高。事实上,据一些国外学者所做的统计,人类所获得外界信息有80%左右是来自眼睛摄取的图像。由此可见,视觉作为人类获取外界信息的主要载体,计算机要实现智能化,就必须能够处理图像信息。尤其是近年来,以图形、图像、视频等大容量为特征的图像数据处理广泛应用于医学、交通、工业自动化等领域。

    自然界的一切图像都是连续变化的模拟图像,在日常生活中,这些图像中的运动目标往往是我们比较关心的,如:行人、行驶的交通工具以及其他的物体。目标检测和识别是计算机视觉和数字图像处理的一个热门方向,广泛应用于机器人导航、智能视频监控、工业检测、航空航天等诸多领域。因此,目标识别也就成为了近年来理论和应用的研究热点,它是图像处理和计算机视觉学科的重要分支,也是智能监控系统的核心部分。它的目的就是如何快速、准确地检测出监控视频中的目标,即从序列图像中将目标提取出来。

    随着社会经济的不断发展,城市化步伐的不断加速,城市的工作、生活秩序显得越来越紊乱,实时的人数统计有着重要意义。如:可以通过统计等候电梯的人数来优化调度电梯,以此提高电梯的利用率,减少用户的等待时间。可以通过统计经过十字路口、丁字路口人群流动繁忙的交通场合的人数,可以合理安排交通警察或保安人员的工作时间和工作额度。


     

    2.研究现状

    目标识别是指用计算机实现人的视觉功能,它的研究目标就是使计算机具有从一幅或多幅图像或者是视频中认知周围环境的能力(包括对客观世界三维环境的感知、识别与理解)。目标识别作为视觉技术的一个分支,就是对视场内的物体进行识别,如人或交通工具,先进行检测,检测完后进行识别,然后分析他们的行为。目前,国际上许多高校和研究所,如麻省理工学学院、牛津大学等都专门设立了针对目标检测和识别的研究组或者研究实验室。美英等国家已经研究了大量的相关项目。一些著名公司和研究机构,如IBM、Microsoft、麻省理工学院等近几年来投入了大量的人力物力来进行智能监控系统的研究,部分成果已经转化为产品投入了市场。

    目前在国内的研究机构中,中国科学院自动化研究所下属的模式识别国家重点实验室视觉监控研究处于领先地位。自动化所在交通场景视觉监控、人的运动视觉监控和行为模式识别方面进行了深入研究。另外他们也总结了英国雷丁大学VIEWS的车辆交通监控原型系统的研究经验,在之前的理论研究的基础上,自行设计并初步实现了一个拥有完全自主知识产权的交通监控原型系统vstart(Visual surveillance star)。国内其他高校如上海交通大学、北京航空航天大学也对这方面进行了研究。


     

    3.目标识别

    3.1目标识别的任务

    识别出图像中有什么物体,并报告出这个物体在图像表示的场景中的位置和方向。对一个给定的图片进行目标识别,首先要判断目标有没有,如果目标没有,则检测和识别结束,如果有目标,就要进一步判断有几个目标,目标分别所在的位置,然后对目标进行分割,判断哪些像素点属于该目标。

    3.2目标识别的过程

    3.2.1目标的识别大体框架:

     

    目标识别往包含以下几个阶段:预处理,特征提取,特征选择,建模,匹配,定位。目前物体识别方法可以归为两类:一类是基于模型的或者基于上下文识别的方法,另一类是二维物体识别或者三维物体识别方法。对于物体识别方法的评价标准,Grimson总结出了大多数研究者主要认可的4个标准:健壮性(robustness)、正确性(correctness)、效率(efficiency)和范围(scope)

    3.2.2训练分类器所需训练样本的创建

    训练样本包括正样本和负样本;其中正例样本是指待检目标样本(例如人脸或汽车等),负样本指其它不包含目标的任意图片(如背景等),所有的样本图片都被归一化为同样的尺寸大小(例如,20x20)。

    3.2.4预处理

           预处理是尽可能在不改变图像承载的本质信息的前提下,使得每张图像的表观特性(如颜色分布,整体明暗,尺寸大小等)尽可能的一致,以便于之后的处理过程。预处理有生物学的对应。瞳孔,虹膜和视网膜上的一些细胞的行为类似于某些预处理步骤,如自适应调节入射光的动态区域等等。预处理和特征提取之间的界线不完全分明。有时两者交叉在一起。它主要完成模式的采集、模数转换、滤波、消除模糊、减少噪声、纠正几何失真等预处理操作。因此也要求相应的设备来实现。

    预处理经常与具体的采样设备和所处理的问题有关。例如,从图象中将汽车车牌的号码识别出来,就需要先将车牌从图像中找出来,再对车牌进行划分,将每个数字分别划分开。做到这一步以后,才能对每个数字进行识别。以上工作都应该在预处理阶段完成。

    从理论上说,像预处理这种先验式的操作是不应该有的。因为它并不为任何目的服务,所以完全可以随意为之而没有“应该怎么做”的标准,大部分情况下预处理是看着实验结果说话。这是因为计算机视觉目前没有一个整体的理论框架,无法从全局的高度来指导每一个步骤应该如何进行。在物体识别中所用到的典型的预处理方法不外乎直方图均衡及滤波几种。像高斯模糊可以用来使得之后的梯度计算更为准确;而直方图均衡可以克服一定程度的光照影响。值得注意的是,有些特征本身已经带有预处理的属性,因此不需要再进行预处理操作。

    预处理通常包括五种基本运算:

        (1)编码:实现模式的有效描述,适合计算机运算。

        (2)阀值或者滤波运算:按需要选出某些函数,抑制另一些。

        (3)模式改善:排除或修正模式中的错误,或不必要的函数值。

        (4)正规化:使某些参数值适应标准值,或标准值域。

        (5)离散模式运算:离散模式处理中的特殊运算。

    3.2.5特征提取

    由图像或波形所获得的数据量是相当大的。例如,一个文字图像可以有几千个数据,一个心电图波形也可能有几千个数据。为了有效地实现分类识别,就要对原始数据进行变换,得到最能反映分类本质的特征。这就是特征选择和提取的过程。一般我们把原始数据组成的空间叫测量空间,把分类识别赖以进行的空间叫做特征空间,通过变换,可把在维数较高的测量空间中表示的模式变为在维数较低的特征空间中表示的模式。特征提取是物体识别的第一步,也是识别方法的一个重要组成部分,好的图像特征使得不同的物体对象在高维特征空间中有着较好的分离性,从而能够有效地减轻识别算法后续步骤的负担,达到事半功倍的效果,下面是对一些常用的特征提取方法:

    (1)颜色特征。颜色特征描述了图像或图像区域所对应的景物的表面性质,常用的颜色特征有图像片特征、颜色通道直方图特征等。

    (2)纹理特征。纹理通常定义为图像的某种局部性质,或是对局部区域中像素之间关系的一种度量。纹理特征提取的一种有效方法是以灰度级的空间相关矩阵即共生矩阵为基础的,其他方法还有基于图像友度差值直方图的特征提取和基于图像灰度共生矩阵的特征提取。

    (3)形状特征。形状是刻画物体的基本特征之一,用形状特征区别物体非常直观,利用形状特征检索图像可以提高检索的准确性和效率,形状特征分析在模式识别和视觉检测中具有重要的作用。通常情况下,形状特征有两类表示方法,一类是形状轮廓特征描述,另一类是形状区域特征。形状轮廓特征主要有:直线段描述、样条拟合曲线、博立叶描述子、内角直方图以及高斯参数曲线等等,形状区域特征主要有:形状的无关矩、区域的面积、形状的纵横比等。

    (4)空间特征。空间特征是指图像中分割出来的多个目标之间的相互的空间位置或者相对方向关系,有相对位置信息,比如上下左右,也有绝对位置信息,常用的提取空间特征的方法的基本思想为对图像进行分割后,提取出特征后,对这些特征建立索引。

    目标比较盛行的有:Haar特征、LBP特征、HOG特征和Shif特征等;他们各有千秋,得视你要检测的目标情况而定。

     

    3.2.6特征选择

    再好的机器学习算法,没有良好的特征都是不行的;然而有了特征之后,机器学习算法便开始发挥自己的优势。在提取了所要的特征之后,接下来的一个可选步骤是特征选择。特别是在特征种类很多或者物体类别很多,需要找到各自的最适应特征的场合。严格地来说,任何能够在被选出特征集上工作正常的模型都能在原特征集上工作正常,反过来进行了特征选择则可能会丢掉一些有用的特征;不过由于计算上的巨大开销,在把特征放进模型里训练之前进行特征选择仍然是相当重要的。

    3.2.7建模

    一般物体识别系统赖以成功的关键基础在于,属于同一类的物体总是有一些地方是相同的。而给定特征集合,提取相同点,分辨不同点就成了模型要解决的问题。因此可以说模型是整个识别系统的成败之所在。对于物体识别这个特定课题,模型主要建模的对象是特征与特征之间的空间结构关系;主要的选择准则,一是模型的假设是否适用于当前问题;二是模型所需的计算复杂度是否能够承受,或者是否有尽可能高效精确或者近似的算法。

           模型表示涉及到物体具有那些重要属性或特征以及这些特征如何在模型库中表示,有些物体模型定义为一系列局部的统计特征,即generative模型,有些是采用物体的特征以及物体特征之间的相互关系定义的,比如位置关系等,即discriminative模型,或者是二者的混合模型。对于大多数物体来说,几何特征描述是可以很有效的;但对于另外一些物体,可能需要更一般的特征或函数来表示。物体的表示应该包含所有相关信息,但没用任何冗余信息,并且将这些信息以某种方式组织起来,使得物体识别系统的不同组元能够容易访问这些信息。

    3.2.8用训练样本来训练分类器

    这得先明白分类器是什么?百度百科的解释是:“使待分对象被划归某一类而使用的分类装置或数学模型。”可以这样理解,举个例子:人脑本身也算一个分类器,只是它强大到超乎想象而已,人对事物的识别本身也是一个分类的过程。人在成长或者学习过程中,会通过观察A类事物的多个具体事例来得到对A类事物性质和特点的认识,然后以后遇到一个新的物体时,人脑会根据这个事物的特征是否符合A类事物性质和特点,而将其分类为A类或者非A类。(这里只是用简单的二分类问题来说明)。那么训练分类器可以理解为分类器(大脑)通过对正样本和负样本的观察(学习),使其具有对该目标的检测能力(未来遇到该目标能认出来)。

    分类器按特征类型分为数值型分类器和符号型两大类。数值型分类器包括统计分类器(统计理论为基础)、模糊分类器(模糊集理论为基础)、人工神经元网络(模拟生物神经系统的电子系统,也可以用软件在计算机上实现)、人工智能分类器(基于逻辑推理或专家系统结构)。符号型分类器包括句法分类器(基于句法分析和自动机理论)、人工智能分类器(基于逻辑推理或专家系统结构)。 其中符号型分类器具有更大的灵活性,所以能处理较为复杂的模式分类问题。但是目前对符号型分类器的研究远没有数值型分类器成熟。为了使分类检测准确率较好,训练样本一般都是成千上万的,然后每个样本又提取出了很多个特征,这样就产生了很多的的训练数据,所以训练的过程一般都很耗时的。

    目标比较盛行的分类器有:SVM支持向量机、AdaBoost算法等;其中检测行人的一般是HOG特征+SVM,OpenCV中检测人脸的一般是Haar+AdaBoost,OpenCV中检测拳头一般是LBP+ AdaBoost。随着深度学习的兴起,现在深度学习在物体识别上取得了相当好的成果。

    3.2.9匹配

    在得到训练结果之后(在描述、生成或者区分模型中常表现为一簇参数的取值,在其它模型中表现为一组特征的获得与存储),接下来的任务是运用目前的模型去识别新的图像属于哪一类物体,并且有可能的话,给出边界,将物体与图像的其它部分分割开。一般当模型取定后,匹配算法也就自然而然地出现。在描述模型中,通常是对每类物体建模,然后使用极大似然或是贝叶斯推理得到类别信息;生成模型大致与此相同,只是通常要先估出隐变量的值,或者将隐变量积分,这一步往往导致极大的计算负荷;区分模型则更为简单,将特征取值代入分类器即得结果。

    一般匹配过程是这样的:用一个扫描子窗口在待检测的图像中不断的移位滑动,子窗口每到一个位置,就会计算出该区域的特征,然后用我们训练好的分类器对该特征进行筛选,判定该区域是否为目标。然后因为目标在图像的大小可能和你训练分类器时使用的样本图片大小不一样,所以就需要对这个扫描的子窗口变大或者变小(或者将图像变小),再在图像中滑动,再匹配一遍。

    3.2.10目标识别方法

           物体识别方法就是使用各种匹配算法,根据从图像已提取出的特征,寻找出与物体模型库中最佳的匹配,它的输入为图像与要识别物体的模型库,输出为物体的名称、姿态、位置等等。大多数情况下,为了能够识别出图像中的一个物体,物体识别方法一般由5个步骤组成:特征提取;知觉组织;索引;匹配;验证

           经典的物体识别方法:

    1)         Bag ofwords(BoW)方法。BoW 方法主要是采用分类方法来识别物体,BoW 方法是来自于自然语言处理,在自然语言处理中是用来表示一篇文档是有一袋子词语组成的,在计算机视觉的物体识别方法中,将图像比作文档,将从图像中提取的特征比作词语,即一幅图像是有一袋子特征组成的,如图1 所示。BoW 方法首先需要一个特征库,特征库中的特征之间是相互独立的,然后图像可以表示为特征库中所有特征的一个直方图,最后采用一些生成性(generative)方法的学习与识别来识别物体。

    2)         Partsand structure 方法。BoW 方法的一个主要缺点为特征之间是相互独立的,丢失了位置信息,Parts and structure 方法采用了特征之间的关系,比如位置信息和底层的图像特征,将提取出的特征联系起来。 Pictorial Structure(PS)提出的弹簧模型,物体部件之间的关系用伸缩的弹簧表示,对于特征之间的关系的模型表示,还有星型结构、层次结构、树状结构等。

    3)         生成性(generative)方法与鉴别性(Discriminative)方法。生成性方法检查在给定物体类别的条件下,图像中出现物体的可能性,并以此判定作为检测结果的得分,鉴别性方法检查图像中包含某个类别出现的可能性与其他类的可能性之比,从而将物体归为某一类。

    3.2.11分割

           一旦在图像中潜在目标的位置找到了,就要从背景中尽可能准确的将目标提取出来,即将目标从背景中分割出来。当存在噪声和杂波干扰时,信噪比可能很低,这是将会给分割造成困难。

           目标的分割算法有很多。每个分割算法都要解决两个问题:分割准则和执行方法。

    (1)MeanShift聚类

    Meanshift聚类也可以用在边缘检测、图像规则化、跟踪等方面。基于meanshift的分割需要精密的参数调整以得到较好的分割效果,如颜色和空间核带宽的选择,区域尺寸最小值的阈值设定。

    (2)Graph-cut

    图像分割可以建模为graph-cut问题。图G的顶点V由图像像素点构成;通过剪除加权的边分割为N个不相连的子图。两个子图间被剪除的边的权和称为cut。权值由颜色、光照、纹理等因素计算得到。通常应用在跟踪目标轮廓上;与MeanShift相比,它所需要参数较少,但计算开销和内存开销较大。

    (3)主动轮廓

    主动轮廓曲线将一个闭合轮廓曲线推演为目标边界,从而实现图像分割。这个过程由轮廓的能量函数来操纵。这个问题需要解决三个方面问题:一是能量函数的确定,二是轮廓曲线的初始化,三是轮廓表达方式的选择。


     

    4.存在问题

    虽然目标识别已经被广泛研究了很多年,研究出大量的技术和算法,识别方法的健壮性、正确性、效率以及范围得到了很大的提升,但在目标检测和识别这方面仍然存在着许多不足,体现在一下几个方面。

    (1)目标之间互遮挡和人体自遮挡问题,尤其是在拥挤状态下,多人的检测更是难处理。 

    (2)获取物体的观测数据时会受到多方面的影响。在不同的视角对同一物体也会得到不同的图像,物体所处的场景的背景以及物体会被遮挡,背景杂物一直是影响物体识别性能的重要因素,场景中的诸多因素,如光源、表面颜色、摄像机等也会影响到图像的像素灰度,要确定各种因素对像素灰度的作用大小是很困难的,这些使得图像本身在很多时候并不能提供足够的信息来恢复景物。

    (3)同样的图像在不同的知识导引下,会产生不同的识别结果,知识库的建立不仅要使用物体的自身知识,如颜色、纹理、形状等,也需要物体间关系的知识,知识库的有效性与准备性直接影响了物体识别的准确性。

    (4)物体本身是一个高维信息的载体,但是图像中的物体只是物体的一个二维呈现,并且在人类目前对自己如何识别物体尚未了解清楚,也就无法给物体识别的研究提供直接的指导。

    (5)目前人们所建立的各种视觉系统绝大多数是只适用于某一特定环境或应用场合的专用系统,而要建立一个可与人的视觉系统相比的通用视觉系统是非常困难的,虽然存在着很多困难。

    (6)目标之间互遮挡,尤其是在拥挤状态下,目标检测很不稳定,检测结果也很不理想,这个问题还需要进一步的研究解决。


     

    5.未来研究思路

             目标检测和识别仍然存在着诸多的问题,以后目标识别可以从以下几个方面改进:

    (1)形状特征的研究。目前大部分的形状特征仍然是基于有向梯度,这是否是足够的,形状是否应该有更高一层的抽象表示,还值得进一步的研究。

    (2)物体的表示与描述。如何描述物体,物体不应该是独立的,物体与物体之间的交互应该考虑进来。物体不应该是一组独立的特征的集合,物体识别应该放在一个更大的上下文环境中来重新考察。

    转载自:https://blog.csdn.net/liuheng0111/article/details/52348874

    展开全文
  • 安卓端目标识别 模型训练 ncnn 效果很棒

    安卓端目标识别 模型训练 ncnn
    效果很棒
    在这里插入图片描述

    展开全文
  • 深度学习之目标检测与目标识别

    万次阅读 多人点赞 2018-06-05 21:58:54
    本文主要讲述了目标识别中的第一种类型---基于region proposal的目标检测和目标识别的算法, 主要主要包括R-CNN,Fast R-CNN,Faster R-CNN等网络, 揭示了基于region proposal的目标检测和目标识别的算法的发展历程....

    一 目标识别分类及应用场景

        目前可以将现有的基于深度学习的目标检测与识别算法大致分为以下三大类: 

        ① 基于区域建议的目标检测与识别算法,如R-CNN, Fast-R-CNN, Faster-R-CNN;

        ② 基于回归的目标检测与识别算法,如YOLO, SSD;

        ③ 基于搜索的目标检测与识别算法,如基于视觉注意的AttentionNet,基于强化学习的算法.

        目前, 目标识别主要有以下几个应用场景:

        ① 安全领域指纹识别人脸识别等,代表项目如Face++、依图科技、深醒科技等。

        ② 军事领域地形勘察飞行物识别等,代表项目全悉科技。

        ③ 交通领域车牌号识别无人驾驶交通标志识别等,代表项目纵目科技、TuSimple(图森科技)、驭势科技等。

        ④ 医疗领域心电图B超健康管理营养学等,代表项目智影医疗、图玛深维等。

        ⑤ 生活领域智能家居购物智能测肤等,代表项目Yi+、木薯科技、肌秘等。

        具体可参考这里:从图像识别多样化的应用场景,看计算机视觉的未来价值

    二 基于区域建议的目标识别的算法

    1. R-CNN

    1.1 基本工作流程:

        1) 接收一个图像, 使用Selective Search选择大约2000个从上到下的类无关的候选区域(proposal)

        2) 将提取出来的候选区域转换为统一大小的图片(拉升/压缩等方法), 使用CNN模型提取每一个候选区域的固定长度的特征.

        3) 使用特定类别的线性SVM分类器对每一个候选区域进行分类.

        4) Bounding Box回归.

    1.2 训练 (使用AlexNet, 要求输入为227*227大小的图像)

        1) 预训练预训练CNN(边界框标签不可用于该数据).

        2) 特征领域的微调使用基于CNN的SGD的训练,对模型进行微调.在这里选择学习率为预训练的1/10, 保证微调不破坏初始化.

        3) 将所有候选区域与真实框重叠(IoU)大于等于0.5的作为该框类的正例,其余的作为负例.再进行SVM分类.

            ------这个表明了训练过程是需要Grounding Truth(标定框)的, 是有监督的过程.

    注意: 在预训练和微调中使用的CNN网络参数的共享,并且提取的特征数目为(类别N+背景1)个.

    1.3 预测

        预测的过程和训练基本相同,不同的是:

        1) 预测的过程没有初始给定的标定框(Grounding Truth).

        2) Bounding Box回归.

        其实简单来说, 预测的过程就是根据在训练过程中找到的CNN回归值与所要预测的Grounding Truth之间的关系, 反向推导Grounding Truth的位置.

    1.4 R-CNN的优劣分析及小结

        1) R-CNN较之于传统方法的主要优势:

        ① 使用了Select Search进行proposal的选择, 极大地减少了proposal的数量.(百万级别~2000左右)

        ② 深度学习提取特征来代替人为设计, 较大地提高了精度和效率.

        ③ 使用了Bounding Box回归, 进一步提高了检测的精度.

        2) R-CNN的不足之处:

        ① 训练分为了多个步骤. 包括Select Search进行proposal的选择, CNN的模型训练(模型的预训练和微调), SVM的分类, Bounding Box回归等, 整个过程需要的时间过长.

        ② 由于当时的历史等各个因素的影响, 使用了SVM进行多类别分类,要训练多个分类器, 训练时间较长

        ③ 测试时间长,由于每张图片要处理大量的目标候选框

        3) 小结

        虽然R-CNN仍然存在很多的问题, 但是它打破了传统的目标识别的方式, 基于深度神经网络的目标识别技术也由此发展起来了.

    2. SPP Net

        为了后面介绍Fast R-CNN, 这里我们简要介绍下SPP Net的相关内容.


        SPP Net具有两个特点:

        ① 结合金字塔的思想, 实现了实现了CNNs的多尺寸输入. 解决了因为CNNs对输入的格式要求而进行的预处理(如crop,warp等)操作造成的数据信息的丢失问题.

        ② 只对原图进行一次卷积操作

    2.1 SPP Net的金字塔池化


        如上图所示, 输入图片经过多个卷积层操作, 再将输出的feature map输入到SPP Net池化层, 最后将池化后的特征输入全连接层.

        下面针对上图来说说SPP Net池化层的思想.可以参见这里.

        我们使用三层的金字塔池化层pooling,分别设置图片切分成多少块,论文中设置的分别是(1,4,16),然后按照层次对这个特征图feature A进行分别处理(用代码实现就是for(1,2,3层)),也就是在第一层对这个特征图feature A整个特征图进行池化(池化又分为:最大池化,平均池化,随机池化),论文中使用的是最大池化,得到1个特征。

        第二层先将这个特征图feature A切分为4个(20,30)的小的特征图,然后使用对应的大小的池化核对其进行池化得到4个特征,

        第三层先将这个特征图feature A切分为16个(10,15)的小的特征图,然后使用对应大小的池化核对其进行池化得到16个特征.

        最后将这1+4+16=21个特征输入到全连接层,进行权重计算. 当然了,这个层数是可以随意设定的,以及这个图片划分也是可以随意的,只要效果好同时最后能组合成我们需要的特征个数即可.

    2.2 SPP Net的一次卷积

        由于R-CNN先获取proposal,再进行resize,最后输入CNN卷积, 这样做效率很低. SPP Net针对这一缺点, 提出了只进行一次原图的卷积操, 得到feature map , 然后找到每一个proposal在feature map上对应的patch, 将这个patch作为每个proposal的卷积特征输入到SPP Net中,进行后续运算. 速度提升百倍.

    3. Fast R-CNN

        Fast R-CNN主要作用是实现了对R-CNN的加速, 它在R-CNN的基础上主要有以下几个方面的改进:

        ① 借鉴了SPP Net的思路, 提出了简化版的ROI池化层(没有使用金字塔), 同时加入了候选框映射的功能, 使得网络能够进行反向传播, 解决了SPP的整体网络训练的问题.

        ② 多任务Loss层. 1) 使用了softmax代替SVM进行多分类. 2) SmoothL1Loss取代了 Bounding Box回归.

    3.1  基本工作流程

        1) 接收一个图像, 使用Selective Search选择大约2000个从上到下的类无关的候选区域(proposal).

        2) 对整张图片进行卷积操作提取特征, 得到feature map.

        3) 找到每个候选框在feature map中的映射patch. 将patch作为每个候选框的特征输入到ROI池化层及后面的层.

        4) 将提取出的候选框的特征输入到softmax分类器中进行分类.==>替换了R-CNN的SVM分类.

        5) 使用SmoothL1Loss回归的方法对于候选框进一步调整位置.

    3.2 Fast R-CNN的优点及其不足之处

        1) 优点

        融合了R-CNN和SPP Net的精髓, 并且引入了多任务损失函数 ,极大地特高了算法的效率, 使得整个网络的训练和测试变得较为简单(相对R-CNN而言).

        2) 不足

        没有对Selective Search进行候选区域(region proposal)的选择进行改进, 仍然不能实现真正意义上的edge-to-edge(端到端)的训练测试.

    4. Faster R-CNN

        Faster R-CNN和Faste R-CNN的不同点主要是使用RPN网络进行region proposal的选择, 并且将RPN网络合并到CNN网络中, 真正地实现了端到端的目标检测.这也是 Faster R-CNN的里程碑式的贡献.

        Faster R-CNN的网络拓扑图如下图所示.

    4.1 基本工作流程

        1. 对整张图片输进CNN网络,得到feature map.

        2. 卷积特征输入到RPN,得到候选框的特征信息.

        3. 对候选框中提取出的特征,使用分类器判别是否属于一个特定类.

        4. 对于属于某一特征的候选框,用回归器进一步调整其位置.

    4.2 RPN

        用于提取region proposal的神经网络叫做Region Proposal Network(简称RPN).

        RPN网络的特点在于通过滑动窗口的方式实现候选框的提取,每个滑动窗口位置生成9个候选窗口(不同尺度、不同宽高), 提取对应9个候选窗口(anchor)的特征,用于目标分类和边框回归,与FastRCNN类似。目标分类只需要区分候选框内特征为前景或者背景。

        1) 候选框的选取依据:

        ① 对于IoU大于等于0.7的标记为前景样本, 低于0.3的样本标记为后景样本.

        ② 丢弃①中所有的边界样本

        对于每一个位置,通过两个全连接层(目标分类+边框回归)对每个候选框(anchor)进行判断,并且结合概率值进行舍弃(仅保留约300个anchor),没有显式地提取任何候选窗口,完全使用网络自身完成判断和修正。

        2) 损失函数

        同时使用两种损失函数:

        a. 分类的误差.

        b. 前景样本的窗口位置的偏差.

        3) 模型训练

        从模型训练的角度来看,通过使用共享特征交替训练的方式,达到接近实时的性能,交替训练方式描述为:

        1)根据现有网络初始化权值w,训练RPN;

        2)用RPN提取训练集上的候选区域,用候选区域训练FastRCNN,更新权值w;

        3)重复1、2,直到收敛.

    4.3 Faster R-CNN的优点及其不足之处

        1) 优点

        Faster R-CNN将我们一直以来的目标检测的几个过程(预选框生成, CNN特征提取, SVM/softmax/CNN预选框分类,y 预选框位置微调)完全被统一到同一个网络中去, 从真正意义上实现了从端到端的训练和测试.

        2) 不足

        预先获取预选区域,再对预选区域进行分类, 仍然具有较大的运算量, 还是没有实现真正意义上的实时检测的要求.

    三  小结

           本节介绍基于region proposal的目标检测与识别算法, 从最初的R-CNN, fast R-CNN,  直到最后的faster R-CNN, 逐步实现了端到端的目标识别和检测的网络.网络训练和测试的效率也有了一个较大的提升.可以说基于region proposal的R-CNN系列目标检测与识别算法是当前目标最主要的一个分支。

        下一章我们将讲述第二类--基于回归的目标检测与识别算法.

    展开全文
  • 最近在做毕设,关于卷积神经网络的目标识别,做的时候意识到自己混淆了目标识别和目标检测的概念。现在做一个总结,把目标分割、目标识别、目标检测和目标跟踪四个概率捋清楚。 目标分割:Target Segmentation,是...

    最近在做毕设,关于卷积神经网络的目标识别,做的时候意识到自己混淆了目标识别和目标检测的概念。现在做一个总结,把目标分割、目标识别、目标检测和目标跟踪四个概率捋清楚。

    • 目标分割:Target Segmentation,是将图片里的目标分割出来。比如我的目标是人,那最终我从图片里分割出来的新的图片里只有人没有其他东西。
    • 目标识别:Target Recognition,目标识别是做分类任务,既从图像中识别出哪些是第一类东西,哪些是第二类,哪些是第三类·····,而不是我一开始理解的单纯识别出某一个物体。
    • 目标检测:Target Detection,目标检测实质是多目标的定位,即要在图片中定位多个目标物体,包括分类和定位。
    • 目标追踪:Target Tracking,是基于对目标的定位后,实时追踪目标所在的位置。这个应用于视频中。
    展开全文
  • 图像目标识别分类

    2016-11-24 23:04:23
    python 程序的图像目标识别与分类程序。
  • 目标识别:Target Recognition,目标识别是做分类任务,既从图像中识别出哪些是第一类东西,哪些是第二类,哪些是第三类·····,而不是我一开始理解的单纯识别出某一个物体。 目标检测:Target Detection,...
  • 无人机目标识别跟踪

    2020-07-31 08:41:46
    无人机目标识别跟踪
  • 1.目标识别:图像中描述的是哪个物体? 输出:图像中对象的位置和标签(名称)。 2.目标检测:该目标在图像中什么位置? 输出:对象位置。
  • 目标检测、目标识别、目标分类 1.目标检测: 对于一幅图像,确定图像中目标的位置、大小以及类别(是哪一类:比如人,猫等) 2.目标识别:对于一幅图像中的物体,在确定其类别的基础上,进一步确定这个目标是谁(比如:小明...
  • 目标识别】深度学习进行目标识别的资源列表 [复制链接] 752 2 发表于 2016-4-15 14:13:54 只看楼主 阅读模式   【目标识别】深度学习进行目标识别的资源列表:O网页...
  • 【opencv】目标识别——HSV颜色识别

    万次阅读 多人点赞 2017-06-08 08:41:24
    首先解释为什么不在RGB中设置范围寻找物体信息,而是在HSV中: 因为RGB通道并不能很好地反映出物体具体的颜色信息 , 而相对于RGB空间,HSV空间能够非常直观...//绘制目标位置 imwrite("end.jpg", img); waitKey(0); }
  • 目标识别分类

    2018-01-06 18:56:08
    卷积网络的目标识别与分类综述: https://github.com/terryum/awesome-deep-learning-papers      
  • 目标识别,应该是Target Recognition。即是在所有的给定数据中,分类出哪一些sample是目标,哪一些不是。这个仅仅做一下分类任务。yes or no 目标追踪,应该是Target Tracking。这个任务很重要的第一点是目标定位...
  • (出处: thinkface论坛) ... 目标识别】深度学习进行目标识别的资源列表:O网页链接 包括RNN、MultiBox、SPP-Net、DeepID-Net、Fast R-CNN、DeepBox、MR-CNN、Faster R-CNN、YOLO、DenseBox、SSD、Inside-Outside
  • 图像分割与目标识别

    千次阅读 2019-04-25 14:03:06
    图像目标识别有助于此类功能的实现,提高识别效率。目标识别将图像中的各类物品提前识别并且框出,将识别的目标物体图像,送入后续网络层进行处理,有助于提高任务精确度。在人脸识别中,更精准的人脸框图会提高人脸...
  • 基于匹配的目标识别

    千次阅读 2017-05-06 21:03:53
    目标识别的方法中,匹配属于基于决策理论方法的识别。匹配方法可以是最小距离分类器,相关匹配。本文code是基于最小距离分类器,基于相关匹配的与此类似。本文涉及到的知识点如下:1、目标识别.2、基于决策理论...
  • 目标识别数据集初识

    2020-05-03 11:10:01
    简单总结经典目标识别数据集的特征 1 Pascal VOC(VOC 2012、VOC 2007)
  • MATLAB目标识别

    2019-01-03 20:33:39
    MATLAB语言代码,可以识别出细胞轮廓、数目、质心等数据
  • 在这个目标识别中我使用的时DOTA数据集,也就是遥感图像 这时它的网页:[DOTA数据集](http://captain.whu.edu.cn/DOTAweb/dataset.html "") 然后这个数据集它的目标框是歪的,就是不是平常那种与图片宽高平行的...
  • 目标识别:输出一张图片中是不是包含目标?(单个目标) 目标定位:输出目标的确切位置(单个目标)   举个例子:检测画面中是否包含某个品牌LOGO,如果有就输出LOGO名称,如果没有就不输出。这是目标检测问题。...
  • 作者的毕设设计论文《红外运动目标识别系统的Matlab实现》,分享给大家希望大家讨论学习

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,517
精华内容 9,006
热门标签
关键字:

目标识别