图像处理识别特定位置_opencv 识别特定图像 - CSDN
精华内容
参与话题
  • 图像处理---目标检测二十年

    万次阅读 多人点赞 2018-04-17 11:11:07
    “目标检测是当前计算机视觉和机器学习领域的研究热点。从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.


    展开全文
  • 这是一个三个月前的项目需求,需要识别多张图片上固定位置的信息并提取。说到python 上文字识别,可能有些人想用 pytesseract 来做,怎么说呢,识别精准度相对较低,而且对于数量较大的图片来说,不可能再去人工的去...

    这是一个三个月前的项目需求,需要识别多张图片上固定位置的信息并提取。说到python 上文字识别,可能有些人想用 pytesseract 来做,怎么说呢,识别精准度相对较低,而且对于数量较大的图片来说,不可能再去人工的去检查识别的数据的准确性。
    在经历过多次尝试后,最后选择调用百度AI的通用文字识别接口来实现这一功能,目前这一服务是免费使用的,只是对请求量和QPS有限制!如下图所示:

    使用过程如下:

    1. 进入百度AI开发平台,创建应用并获取access_token

    https://ai.baidu.com/
    在这里插入图片描述
    在这里插入图片描述
    1.1 选择创建应用
    填写相关信息,即可创建成功
    在这里插入图片描述
    1.2 查看对应的 API Key 、Secret Key
    然后在点击管理应用即可查看该应用对应的 API Key 、Secret Key
    在这里插入图片描述
    1.3 获取 access_token
    使用如下代码获取 access_token

    
    ```python
    import requests
    # client_id 为官网获取的API Key, client_secret 为官网获取的Secret Key
    host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=?     &client_secret=?'
    response = requests.get(host)
    if response:
        print(response.json()['access_token'])
    

    2.对图片中固定位置进行识别并提取

    方法:是将图片中固定位置的图像进行裁剪,对裁剪后的图像进行单独识别。由于存在QPS的限制,所以设置了请求延时,保证不会超过QPS(Queries-per-second,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。)而报错,下面提供方法代码:

    def OCRlatlon(filePah):
        identification_results = []
        img = Image.open(filePah)
        basicpath = "C:/Users/Admin/Desktop/中转/"
        # crop里对应的数值为该位置图像在整体图片中左上和右下两个点的像素坐标
        cropped1 = img.crop((1131, 917, 1159, 941))  
        cropped1.save(basicpath+"1.png")
        cropped2 = img.crop((1131, 942, 1208, 966)) 
        cropped2.save(basicpath+"2.png")
        cropped3 = img.crop((1066, 815, 1093, 839)) 
        cropped3.save(basicpath+"3.png")
        cropped4 = img.crop((1099, 815, 1154, 839))  
        cropped4.save(basicpath+"4.png")
        cropped5 = img.crop((1065, 840, 1102, 862))  
        cropped5.save(basicpath+"5.png")
        cropped6 = img.crop((1108, 840, 1163, 862)) 
        cropped6.save(basicpath+"6.png")
        cropped7 = img.crop((898, 50, 934, 70))
        cropped7.save(basicpath+"7.png")
        cropped8 = img.crop((50, 0, 104, 25))  
        cropped8.save(basicpath+"8.png")
        cropped9 = img.crop((50, 23, 106, 47)) 
        cropped9.save(basicpath+"9.png")
        for f in range(1, 10):
            imgpath = basicpath + str(f) + '.png'
            g = open(imgpath, 'rb')
            img = base64.b64encode(g.read())
            if f == 1 or f == 3 or f == 5 or f == 7 or f == 9:
                time.sleep(1) # 防止超过QPS限制 引发报错
            request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"
            params = {"image": img}
            access_token = ''# 对应申请的  access_token
            request_url = request_url + "?access_token=" + access_token
            headers = {'content-type': 'application/x-www-form-urlencoded'}
            response = requests.post(request_url, data=params, headers=headers)
            if response:
                json_str = response.content.decode()
                data = json.loads(json_str)
                msg = data['words_result']
                print(msg)
                for m in msg:
                    msg_info = m.get('words')
            identification_results.append(msg_info)
            g.close()
            os.remove(basicpath + str(f) + ".png")
        return identification_results
    

    在这里需要注意的是,access_token 会变化,大概是一个月左右
    由于我处理的图片数据量比较大,且图片是一个类型只是多个位置文字不同,所以采用此种方法十分方便。
    建议 图片裁剪过小或者图像较为模糊的时候,建议使用opencv里面的图像腐蚀和清晰等方法来处理裁剪后的图像再进行识别,这样识别精准度会更高,具体参数需要自己去实际摸索,所以这部分代码我就不贴了。
    最后,不得不说百度AI的还是很强的!

    展开全文
  • 图像处理识别

    千次阅读 2016-07-01 08:45:03
    图像处理识别学习小结   数字图像处理是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。图像处理是信号处理在图像域上的一个应用。目前大多数的图像是以数字形式存储,因而图像处理很多...

    图像处理与识别学习小结

     

    数字图像处理是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。图像处理是信号处理在图像域上的一个应用。目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。此外,基于光学理论的处理方法依然占有重要的地位。 数字图像处理是信号处理的子类, 另外与计算机科学、人工智能等领域也有密切的关系。 传统的一维信号处理的方法和概念很多仍然可以直接应用在图像处理上,比如降噪、量化等。然而,图像属于二维信号,和一维信号相比,它有自己特殊的一面,处理的方式和角度也有所不同。大多数用于一维信号处理的概念都有其在二维图像信号领域的延伸,它们中的一部分在二维情形下变得十分复杂。同时图像处理也具有自身一些新的概念,例如,连通性、旋转不变性,等等。这些概念仅对二维或更高维的情况下才有非平凡的意义。图像处理中常用到快速傅立叶变换,因为它可以减小数据处理量和处理时间。 
    数字图像处理应用在以下方面 :

    摄影及印刷 (Photography and printing)

    卫星图像处理 (Satellite image processing)

    医学图像处理 (Medical image processing)

    面孔识别, 特征识别 (Face detection, feature detection, face identification)

    显微图像处理 (Microscope image processing)

    汽车障碍识别 (Car barrier detection)

     

    数字图像基础

    图像的基本概念、图像取样和量化、数字图像表示、 空间和灰度级分辨率、图像纹理、像素间的一些基本关系(相邻像素、邻接性、连通性、区域和边界、距离度量)、线性和非线性变换。

    线性变换:如果变换函数是线性的或是分段线性,这种变换就是线性变换。以线性函数加大图像的对比度的效果是使整幅图像的质量改善。以分段线性函数加大图像中某个(或某几个)亮度区间的对比度的效果是使局部亮度区间的质量得到改善。

    非线性变换:当变换函数是非线性时,即为非线性变换。常用的有指数变换和对数变换。

    RGB (red green blue): 红绿蓝三基色

    CMYK (Cyan-Magenta-Yellow-black inK): 青色-品红-黄色-黑色

    HSI (Hue-Saturation-Intensity): 色调-饱和度-强度

    DDB (device-dependent bitmap): 设备相关位图

    DIB (device-independent bitmap): 设备无关位图

    CVBS (Composite Video Broadcast Signal): 复合电视广播信号

    YUV(亦称Y Cr Cb)是被欧洲电视系统所采用的一种颜色编码方法(属于PAL制)。

     



     

    数字图像存储与显示

    图像格式

    在计算机中,有两种类型的图:矢量图(vector graphics)和位映象图(bitmapped graphics)。矢量图是用数学方法描述的一系列点、线、弧和其他几何形状,如图(a)所示。因此存放这种图使用的格式称为矢量图格式,存储的数据主要是绘制图形的数学描述;位映象图(bitmapped graphics)也称光栅图(raster graphics),这种图就像电视图像一样,由象点组成的,如图(b),因此存放这种图使用的格式称为位映象图格式,经常简称为位图格式,存储的数据是描述像素的数值。

     

    矢量图与位映象图

    目前包括bmp格式、gif格式、jpeg格式、jpeg2000格式、tiff格式、psd格式、

    Png格式、swf格式、svg格式、pcx格式、dxf格式、wmf格式、emf格式、LIC格式、eps格式、TGA格式。

    目前比较出名的图像处理库有很多,比如LEADTOOLS、OPENCV,LEADTOOLS这个是功能非常强大的图像多媒体库,但是这个是收费注册的。OpenCV 是一个跨平台的中、高层 API 构成,目前包括300 多个 C 函数。它不依赖与其它的外部库,尽管也可以使用某些外部库。OpenCV 对非商业用途和商业用途都是免费(FREE)的。开源的图像库也有不少,比如:

    ImageStone、GIMP、CxImage等,虽然它们的功能没有LEADTOOLS强大,但是一般的图像处理是可以应付的。

    具体的功能介绍参考:http://blog.csdn.net/byxdaz/archive/2009/03/09/3972293.aspx

    OpenCV源代码及文档下载:SOURCEFORGE.NET
    http://sourceforge.net/projects/opencvlibrary/

     

     

    数字图像增强

    图像增强的目的在于改善图像的显示质量,以利于信息的提取和识别。从方法上说,则是设法摒弃一些认为不必要或干扰的信息,而将所需要的信息得以突出出来,以利于分析判读或作进一步的处理。以下介绍几种较为简单的遥感数字图像增强处理方法。

    A空间域增强处理

    空间域是指图像平面所在的二维空间,空间域图像增强是指在图像平面上应用某种数学模型,通过改变图像像元灰度值达到增强效果,这种增强并不改变像元的位置。空域增强包括空域变换增强与空域滤波增强两种。空域变换增强是基于点处理的增强方法、空域滤波增强是基于邻域处理的增强方法。

    1)、空域变换增强

    常用的空域变换增强方法包括:对比度增强、直方图增强和图像算术运算等。

    对比度增强是一种通过改变图像像元的亮度分布态势,扩展灰度分布区间来改变图像像元对比度,从而改善图像质量的图像处理方法。因为亮度值是辐射强度的反映,所以也称为辐射增强。常用的方法有对比度线性变换和非线性变换。其关键是寻找到一个函数,以此函数对图像中每一个像元进行变换,使像元得到统一的重新分配,构成得到反差增强的图像。

    直方图增强

    直方图均衡化

         直方图均衡化基本做法是将每个灰度区间等概率分布代替了原来的随机分布,即增强后的图象中每一灰度级的像元数目大致相同。直方图均衡化可使得面积最大的地物细节得以增强,而面积小的地物与其灰度接近的地物进行合并,形成综合地物。减少灰度等级换取对比度的增大。

    直方图归一化 

         直方图归一化是把原图像的直方图变换为某种指定形态的直方图或某一参考图像的直方图,然后按着已知的指定形态的直方图调整原图像各像元的灰级,最后得到一个直方图匹配的图像。这种方法主要应用在有一幅很好的图像作为标准的情况下,对另一幅不满意的图像用标准图像的直方图进行匹配处理,以改善被处理图像的质量。如在数字镶嵌时,重叠区影像色调由于时相等原因差异往往很大,利用直方图匹配这一方法后可以改善重叠区影像色调过度,如果镶嵌图像时相相差不大,完全可以作到无缝镶嵌。

    数字图像的算术运算

    两幅或多幅单波段影像,完成空间配准后,通过一系列运算,可以实现图像增强,达到提取某些信息或去掉某些不必要信息的目的。

      

    2)、空域滤波增强

    空域变换增强是按像元逐点运算的,从整体上改善图像的质量,并不考虑周围像元影响。空间滤波增强则是以重点突出图像上的某些特征为目的的(如突出边缘或纹理等),通过像元与周围相邻像元的关系,采取空间域中的邻域处理方法进行图像增强。邻域法处理用于去噪声、图像平滑、锐化和相关运算。

    图像卷积运算是在空间域上对图像作局部检测的运算,以实现平滑和锐化的目的。具体作法是选定一卷积函数,又称为“M×N窗口”或“模板”,如3×3或5×5等。然后从图像左上角开始开一与模板同样大小的活动窗口,图像窗口与模板像元的亮度值对应相乘再相加。将计算结果赋予中心像元作为其灰度值,然后待移动后重新计算,将计算结果赋予另一个中心像元,以此类推直到全幅图像扫描一遍结束生成新的图像。

    平滑是指图像中出现某些亮度变化过大的区域,或出现不该有的亮点(“噪声”)时,采用平滑方法可以减小变化,使亮度平缓或去掉不必要“噪声”点。它实际上是使图像中高频成分消退,即平滑图像的细节,降低其反差,保存低频成分,在频域中称为低通滤波。具体方法有:均值平滑、中值滤波、锐化。

    锐化的作用在于提高边缘灰度值的变化率,使界线更加清晰。它是增强图像中的高频成分,在频域处理中称为高通滤波,也就是使图像细节的反差提高,也称边缘增强。要突出图像的边缘、线状目标或亮度变化率大的部分常采用锐化方法。一般有三种实现方法:

    (1)梯度法

        梯度反映了相邻像元的亮度变化率,即图像中如果存在边缘,如湖泊、河流的边界,山脉和道路等,则边缘处有较大的梯度值。对于亮度值较平滑的部分,亮度梯度值较小。因此,找到梯度较大的位置,也就找到边缘,然后再用不同的梯度计算值代替边缘处像元的值,也就突出了边缘,实现了图像的锐化。通常有罗伯特梯度和索伯尔梯度方法。

    (2)拉普拉斯算法

        拉普拉斯算法的意义与梯度法不同,它不检测均匀的亮度变化,而是检测变化率的变化率,相当于二阶微分。计算出的图像更加突出亮度值突变的位置。

    (3)定向检测

        当有目的地检测某一方向的边、线或纹理特征时,可选择特定的模板卷积运算作定向检测。可以检测垂直边界、水平边界和对角线边界等,各使用的模板不同

     

    B、频率域图像增强处理
    频域增强指在图像的频率域内,对图像的变换系数(频率成分)直接进行运算,然后通过Fourier逆变换以获得图像的增强效果。

    一般来说,图像的边缘和噪声对应Fourier变换中的高频部分,所以低通滤波能够平滑图像、去除噪声。

    图像灰度发生聚变的部分与频谱的高频分量对应,所以采用高频滤波器衰减或抑制低频分量,能够对图像进行锐化处理。

    频域,就是由图像f(x,y)的二维傅立叶变换和相应的频率变量(u,v)的值所组成的空间。在空间域图像强度的变化模式(或规律)可以直接在该空间得到反应。F(0,0)是频域中的原点,反应图像的平均灰度级,即图像中的直流成分;低频反映图像灰度发生缓慢变化的部分;而高频对应图像中灰度发生更快速变化的部分,如边缘、噪声等。但频域不能反应图像的空间信息。

     

     

    二维DFT及其反变换、Fast FT

    关于这方面的内容需要参考数学知识。

    空域和频域滤波间的对应关系:

    卷积定理是空域和频域滤波的最基本联系纽带。二维卷积定理:

     

     

     


    基本计算过程:

    1. 取函数h(m,n)关于原点的镜像,得到h(-m,-n)
    2. 对某个(x,y),使h(-m,-n)移动相应的距离,得到h(x-m,y-n)
    3. 对积函数f(m,n)h(x-m,y-n)在(m,n)的取值范围内求和
    4. 位移是整数增量,对所有的(x,y)重复上面的过程,直到两个函数:f(m,n)和h(x-m,y-n)不再有重叠的部分。

     

    傅立叶变换是空域和频域的桥梁,关于两个域滤波的傅立叶变换对:

     

     

     

     

     

     

     

     


    频域与空域滤波的比较:

    1. 对具有同样大小的空域和频率滤波器:h(x,y), H(u,v),频域计算(由于FFT)往往更有效(尤其是图像尺寸比较大时)。但对在空域中用尺寸较小的模板就能解决的问题,则往往在空域中直接操作。

    2. 频域滤波虽然更直接,但如果可以使用较小的滤波器,还是在空域计算为好。    因为省去了计算傅立叶变换及反变换等步骤。

    3. 由于更多的直观性,频率滤波器设计往往作为空域滤波器设计的向导。

     

    平滑的频率域滤波器类型
    1 、理想低通滤波器
    2 、巴特沃思低通滤波器
    3 、高斯低通滤波器
    频率域锐化滤波器类型
    1 理想高通滤波器
    2 巴特沃思高通滤波器

    3 高斯型高通滤波器

    4 频率域的拉普拉斯算子
    5 钝化模板、高频提升滤波和高频加强滤波
    频率域图像增强处理的过程:

     

     

    图像复原
    图像复原:试图利用退化过程的先验知识,去恢复已被退化图像的本来面目。

     

    图像复原的基本思路:先建立退化的数学模型,然后根据该模型对退化图像进行拟合。

    图像复原模型可以用连续数学和离散数学处理,处理项的实现可在空间域卷积,或在频域相乘。  
    参考资料:
    http://download.csdn.net/source/1513324

     


    边缘检测

    数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域十分重要的基础,图像理解和分析的第一步往往就是边缘检测,目前它以成为机器视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。所谓边缘就是指图像局部亮度变化最显著的部分,它是检测图像局部变化显著变化的最基本的运算。边缘的记录有链码表和线段表2种,链码表适合计算周长,线段表容易计算面积以及相关的,他们之间可以相互的转换。

    常见的边缘检测算法:

    Roberts边缘检测算子

    Sobel边缘算子

    Prewitt边缘算子

    Kirsch边缘算子

    CANNY边缘检测

     


    图像压缩
    图像压缩是数据压缩技术在数字图像上的应用,它的目的是减少图像数据中的冗余信息从而用更加高效的格式存储和传输数据。图像压缩可以是有损数据压缩也可以是无损数据压缩。对于如绘制的技术图、图表或者漫画优先使用无损压缩,这是因为有损压缩方法,尤其是在低的位速条件下将会带来压缩失真。如医疗图像或者用于存档的扫描图像等这些有价值的内容的压缩也尽量选择无损压缩方法。有损方法非常适合于自然的图像,例如一些应用中图像的微小损失是可以接受的(有时是无法感知的),这样就可以大幅度地减小位速。

    无损图像压缩方法有:

    行程长度编码

    熵编码法

    LZW算法

    有损压缩方法有:

    将色彩空间化减到图像中常用的颜色。所选择的颜色定义在压缩图像头的调色板中,图像中的每个像素都用调色板中颜色索引表示。这种方法可以与 抖动(en:dithering)一起使用以模糊颜色边界。

    色度抽样,这利用了人眼对于亮度变化的敏感性远大于颜色变化,这样就可以将图像中的颜色信息减少一半甚至更多。

    变换编码,这是最常用的方法。首先使用如离散余弦变换(DCT)或者小波变换这样的傅立叶相关变换,然后进行量化和用熵编码法压缩。

    分形压缩(en:Fractal compression)。



    形态学图像处理
     膨胀与腐蚀

     膨胀
    腐蚀
    开操作与闭操作
    击中或击不中变换
    一些基本的形态学算法

    边界提取
    区域填充
    连通分量的提取
    凸壳
    细化
    粗化
    骨架

    裁剪


    图像分割
    图像分割是指通过某种方法,使得画面场景中的目标物被分为不同的类别。通常图像分割的实现方法是,将图像分为“黑”、“白”两类,这两类分别代表了两个不同的对象。

    图像分割方法:阈值分割、区域分割、数学形态学、模式识别方法

    A、阈值分割包括以下几种:

    (1)由直方图灰度分布选择阈值

    (2)双峰法选择阈值

    (3)迭代法选取阈值

         原理如下,很好理解。

         迭代法是基于逼近的思想,其步骤如下:
          1. 求出图象的最大灰度值和最小灰度值,分别记为ZMAX和ZMIN,令初始阈值T0=(ZMAX+ZMIN)/2;
         2. 根据阈值TK将图象分割为前景和背景,分别求出两者的平均灰度值ZO和ZB;
         3. 求出新阈值TK+1=(ZO+ZB)/2;
         4. 若TK=TK+1,则所得即为阈值;否则转2,迭代计算。

    (4 )大津法选择阈值

    大津法是属于最大类间方差法,它是自适应计算单阈值的简单高效方法,或者叫(Otsu)

    大津法由大津于1979年提出,对图像Image,记t为前景与背景的分割阈值,前景点数占图像比例为w0,平均灰度为u0;背景点数占图像比例为w1,平均灰度为u1。图像的总平均灰度为:u=w0*u0+w1*u1。从最小灰度值到最大灰度值遍历t,当t使得值g=w0*(u0-u)2+w1*(u1-u)2 最大时t即为分割的最佳阈值。对大津法可作如下理解:该式实际上就是类间方差值,阈值t分割出的前景和背景两部分构成了整幅图像,而前景取值u0,概率为 w0,背景取值u1,概率为w1,总均值为u,根据方差的定义即得该式。因方差是灰度分布均匀性的一种度量,方差值越大,说明构成图像的两部分差别越大, 当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小,因此使类间方差最大的分割意味着错分概率最小。直接应用大津法计算量较大,因此一般采用了等价的公式g=w0*w1*(u0-u1)2。

    (5)由灰度拉伸选择阈值

    大津法是较通用的方法,但是它对两群物体在灰度不明显的情况下会丢失一些整体信息。因此为了解决这种现象采用灰度拉伸的增强大津法。在大津法的思想上增加灰度的级数来增强前两群物体的灰度差。对于原来的灰度级乘上同一个系数,从而扩大了图像灰度的级数。试验结果表明不同的拉伸系数,分割效果差别比较大。

     

    B、区域的分割

    区域生长、区域分离与合并

     区域生长算法


    C、基于形态学分水岭的分割

    分水岭分割算法


    图像特征提取与匹配

    常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。

    A 颜色特征

    特点:颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的局部特征。

    常用的特征提取与匹配方法:

    颜色直方图

    其优点在于:它能简单描述一幅图像中颜色的全局分布,即不同色彩在整幅图像中所占的比例,特别适用于描述那些难以自动分割的图像和不需要考虑物体空间位置的图像。其缺点在于:它无法描述图像中颜色的局部分布及每种色彩所处的空间位置,即无法描述图像中的某一具体的对象或物体。

    颜色直方图特征匹配方法:直方图相交法、距离法、中心距法、参考颜色表法、累加颜色直方图法。

     

    B 纹理特征

    纹理特征的提取方法比较简单,它是用一个活动的窗口在图像上连续滑动,分别计算出窗口中的方差、均值、最大值、最小值及二者之差和信息熵等,

    形成相应的纹理图像,当目标的光谱特性比较接近时,纹理特征对于区分目标可以起到积极的作用。选取适当的数据动态变化范围,进行纹理特征提取后,使影像的纹理特征得到突出,有利于提取构造信息。

    特点:纹理特征也是一种全局特征,它也描述了图像或图像区域所对应景物的表面性质。但由于纹理只是一种物体表面的特性,并不能完全反映出物体的本质属性,所以仅仅利用纹理特征是无法获得高层次图像内容的。与颜色特征不同,纹理特征不是基于像素点的特征,它需要在包含多个像素点的区域中进行统计计算。在模式匹配中,这种区域性的特征具有较大的优越性,不会由于局部的偏差而无法匹配成功。作为一种统计特征,纹理特征常具有旋转不变性,并且对于噪声有较强的抵抗能力。但是,纹理特征也有其缺点,一个很明显的缺点是当图像的分辨率变化的时候,所计算出来的纹理可能会有较大偏差。另外,由于有可能受到光照、反射情况的影响,从2-D图像中反映出来的纹理不一定是3-D物体表面真实的纹理。

    常用的特征提取与匹配方法:

    纹理特征描述方法分类

    (1)统计方法统计方法的典型代表是一种称为灰度共生矩阵的纹理特征分析方法Gotlieb 和 Kreyszig等人在研究共生矩阵中各种统计特征基础上,通过实验,得出灰度共生矩阵的四个关键特征:能量、惯量、熵和相关性。统计方法中另一种典型方法,则是从图像的自相关函数(即图像的能量谱函数)提取纹理特征,即通过对图像的能量谱函数的计算,提取纹理的粗细度及方向性等特征参数

    (2)几何法

    所谓几何法,是建立在纹理基元(基本的纹理元素)理论基础上的一种纹理特征分析方法。纹理基元理论认为,复杂的纹理可以由若干简单的纹理基元以一定的有规律的形式重复排列构成。在几何法中,比较有影响的算法有两种:Voronio 棋盘格特征法和结构法。

    (3)模型法

    模型法以图像的构造模型为基础,采用模型的参数作为纹理特征。典型的方法是随机场模型法,如马尔可夫(Markov)随机场(MRF)模型法和 Gibbs 随机场模型法

    (4)信号处理法

    纹理特征的提取与匹配主要有:灰度共生矩阵、Tamura 纹理特征、自回归纹理模型、小波变换等。

    灰度共生矩阵特征提取与匹配主要依赖于能量、惯量、熵和相关性四个参数。Tamura 纹理特征基于人类对纹理的视觉感知心理学研究,提出6种属性,即

    :粗糙度、对比度、方向度、线像度、规整度和粗略度。自回归纹理模型(simultaneous auto-regressive, SAR)是马尔可夫随机场(MRF)模型的一种应用实例。

     

    C形状特征

    特点:各种基于形状特征的检索方法都可以比较有效地利用图像中感兴趣的目标来进行检索,但它们也有一些共同的问题,

    常用的特征提取与匹配方法:

    通常情况下,形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征。图像的轮廓特征主要针对物体的外边界,而图像的区域特征则关系到整个形状区域。

    几种典型的形状特征描述方法:

    (1)边界特征法该方法通过对边界特征的描述来获取图像的形状参数。其中Hough 变换检测平行直线方法和边界方向直方图方法是经典方法。Hough 变换是利用图像全局特性而将边缘像素连接起来组成区域封闭边界的一种方法,其基本思想是点—线的对偶性;边界方向直方图法首先微分图像求得图像边缘,然后,做出关于边缘大小和方向的直方图,通常的方法是构造图像灰度梯度方向矩阵。

    (2)傅里叶形状描述符法

    傅里叶形状描述符(Fourier shape descriptors)基本思想是用物体边界的傅里叶变换作为形状描述,利用区域边界的封闭性和周期性,将二维问题转化为一维问题。

    由边界点导出三种形状表达,分别是曲率函数、质心距离、复坐标函数。

    (3)几何参数法

    形状的表达和匹配采用更为简单的区域特征描述方法,例如采用有关形状定量测度(如矩、面积、周长等)的形状参数法(shape factor)。在 QBIC 系统中,便是利用圆度、偏心率、主轴方向和代数不变矩等几何参数,进行基于形状特征的图像检索。

     

    D空间关系特征

    特点:所谓空间关系,是指图像中分割出来的多个目标之间的相互的空间位置或相对方向关系,这些关系也可分为连接/邻接关系、交叠/重叠关系和包含/包容关系等。通常空间位置信息可以分为两类:相对空间位置信息和绝对空间位置信息。前一种关系强调的是目标之间的相对情况,如上下左右关系等,后一种关系强调的是目标之间的距离大小以及方位。显而易见,由绝对空间位置可推出相对空间位置,但表达相对空间位置信息常比较简单。
    空间关系特征的使用可加强对图像内容的描述区分能力,但空间关系特征常对图像或目标的旋转、反转、尺度变化等比较敏感。另外,实际应用中,仅仅利用空间信息往往是不够的,不能有效准确地表达场景信息。为了检索,除使用空间关系特征外,还需要其它特征来配合。

    常用的特征提取与匹配方法:

    提取图像空间关系特征可以有两种方法:一种方法是首先对图像进行自动分割,划分出图像中所包含的对象或颜色区域,然后根据这些区域提取图像特征,并建立索引;另一种方法则简单地将图像均匀地划分为若干规则子块,然后对每个图像子块提取特征,并建立索引。

     

     

    模式识别

    模式识别是一种从大量信息和数据出发,在专家经验和已有认识的基础上,利用计算机和数学推理的方法对形状、模式、曲线、数字、字符格式和图形自动完成识别的过程。模式识别包括相互关联的两个阶段,即学习阶段和实现阶段,前者是对样本进行特征选择,寻找分类的规律,后者是根据分类规律对未知样本集进行分类和识别。广义的模式识别属计算机科学中智能模拟的研究范畴,内容非常广泛,包括声音和语言识别、文字识别、指纹识别、声纳信号和地震信号分析、照片图片分析、化学模式识别等等。计算机模式识别实现了部分脑力劳动自动化。

    模式识别--对表征事物或现象的各种形式的(数值的,文字的和逻辑关系的)信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分。

    模式还可分成抽象的和具体的两种形式。前者如意识、思想、议论等,属于概念识别研究的范畴,是人工智能的另一研究分支。我们所指的模式识别主要是对语音波形、地震波、心电图、脑电图、图片、文字、符号、三位物体和景物以及各种可以用物理的、化学的、生物的传感器对对象进行测量的具体模式进行分类和辨识。

    模式识别问题指的是对一系列过程或事件的分类与描述,具有某些相类似的性质的过程或事件就分为一类。模式识别问题一般可以应用以下4种方法进行分析处理。

    模版比对:

    统计模式识别方法:统计模式识别方法是受数学中的决策理论的启发而产生的一种识别方法,它一般假定被识别的对象或经过特征提取向量是符合一定分布规律的随机变量。其基本思想是将特征提取阶段得到的特征向量定义在一个特征空间中,这个空间包含了所有的特征向量,不同的特征向量,或者说不同类别的对象都对应于空间中的一点。在分类阶段,则利用统计决策的原理对特征空间进行划分,从而达到识别不同特征的对象的目的。统计模式识别中个应用的统计决策分类理论相对比较成熟,研究的重点是特征提取。统计模式识别的基本原理是:有相似性的样本在模式空间中互相接近,并形成“集团”,即“物以类聚”。其分析方法是根据模式所测得的特征向量Xi=(xi1,xi2,…,xid)T(i=1,2,…,N),将一个给定的模式归入C个类ω1,ω2,…,ωc中,然后根据模式之间的距离函数来判别分类。其中,T表示转置;N为样本点数;d为样本特征数。

    统计模式识别的主要方法有:判别函数法,k近邻分类法,非线性映射法,特征分析法,主因子分析法等。

    在统计模式识别中,贝叶斯决策规则从理论上解决了最优分类器的设计问题,但其实施却必须首先解决更困难的概率密度估计问题。BP神经网络直接从观测数据(训练样本)学习,是更简便有效的方法,因而获得了广泛的应用,但它是一种启发式技术,缺乏指定工程实践的坚实理论基础。统计推断理论研究所取得的突破性成果导致现代统计学习理论——VC理论的建立,该理论不仅在严格的数学基础上圆满地回答了人工神经网络中出现的理论问题,而且导出了一种新的学习方法——支撑向量机。

     

    人工神经网络模式识别:人工神经网络的研究起源于对生物神经系统的研究。人工神经网络区别于其他识别方法的最大特点是它对待识别的对象不要求有太多的分析与了解,具有一定的智能化处理的特点。

    句法结构模式识别:又称结构方法或语言学方法。其基本思想是把一个模式描述为较简单的子模式的组合,子模式又可描述为更简单的子模式的组合,最终得到一个树形的结构描述,在底层的最简单的子模式称为模式基元。在句法方法中选取基元的问题相当于在决策理论方法中选取特征的问题。通常要求所选的基元能对模式提供一个紧凑的反映其结构关系的描述,又要易于用非句法方法加以抽取。显然,基元本身不应该含有重要的结构信息。模式以一组基元和它们的组合关系来描述,称为模式描述语句,这相当于在语言中,句子和短语用词组合,词用字符组合一样。基元组合成模式的规则,由所谓语法来指定。一旦基元被鉴别,识别过程可通过句法分析进行,即分析给定的模式语句是否符合指定的语法,满足某类语法的即被分入该类。

    在几种算法中,统计模式识别是最经典的分类识别方法,在图像模式识别中有着非常广泛的应用。

     

     

    参考书籍:美国 冈萨雷斯 数字图像处理第二版

    展开全文
  • 如何从一张图像正确识别出图片里的某个物体进行处理,具体需要什么算法,和过程,急求
  • 在我的理解里,要实现计算机视觉必须有图像处理的帮助,而图像处理倚仗与模式识别的有效运用,而模式识别是人工智能领域的一个重要分支,人工智能与机器学习密不可分。纵观一切关系,发现计算机视觉的应用服务于机器...

    在我的理解里,要实现计算机视觉必须有图像处理的帮助,而图像处理倚仗与模式识别的有效运用,而模式识别是人工智能领域的一个重要分支,人工智能与机器学习密不可分。纵观一切关系,发现计算机视觉的应用服务于机器学习。各个环节缺一不可,相辅相成。

    计算机视觉(computer vision):用计算机来模拟人的视觉机理获取和处理信息的能力。就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,用电脑处理成为更适合人眼观察或传送给仪器检测的图像。

    计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取‘信息’的人工智能系统。计算机视觉的挑战是要为计算机和机器人开发具有与人类水平相当的视觉能力。

    机器视觉需要图象信号,纹理和颜色建模,几何处理和推理,以及物体建模。一个有能力的视觉系统应该把所有这些处理都紧密地集成在一起。

    图像处理(image processing):用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。

    图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。

    图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。

    模式识别(Pattern Recognition)是指对表征事物或现象的各种形式的(数值的、文字的和逻辑关系的)信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分。

    模式识别又常称作模式分类,从处理问题的性质和解决问题的方法等角度,模式识别分为有监督的分类(Supervised Classification)和无监督的分类(Unsupervised Classification)两种。模式还可分成抽象的和具体的两种形式。前者如意识、思想、议论等,属于概念识别研究的范畴,是人工智能的另一研究分支。我们所指的模式识别主要是对语音波形、地震波、心电图、脑电图、图片、照片、文字、符号、生物传感器等对象的具体模式进行辨识和分类。

    模式识别研究主要集中在两方面:

    一是研究生物体(包括人)是如何感知对象的,属于认识科学的范畴;

    二是在给定的任务下,如何用计算机实现模式识别的理论和方法。

    应用计算机对一组事件或过程进行辨识和分类,所识别的事件或过程可以是文字、声音、图像等具体对象,也可以是状态、程度等抽象对象。这些对象与数字形式的信息相区别,称为模式信息。

    模式识别与统计学、心理学、语言学、计算机科学、生物学、控制论等都有关系。它与人工智能、图像处理的研究有交叉关系。

    机器学习(Machine Learning)是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。

    机器学习在人工智能的研究中具有十分重要的地位。一个不具有学习能力的智能系统难以称得上是一个真正的智能系统,但是以往的智能系统都普遍缺少学习的能力。随着人工智能的深入发展,这些局限性表现得愈加突出。正是在这种情形下,机器学习逐渐成为人工智能研究的核心之一。它的应用已遍及人工智能的各个分支,如专家系统、自动推理、自然语言理解、模式识别、计算机视觉、智能机器人等领域。

    机器学习的研究是根据生理学、认知科学等对人类学习机理的了解,建立人类学习过程的计算模型或认识模型,发展各种学习理论和学习方法,研究通用的学习算法并进行理论上的分析,建立面向任务的具有特定应用的学习系统。这些研究目标相互影响相互促进。

    人类研究计算机的目的,是为了提高社会生产力水平,提高生活质量,把人从单调复杂甚至危险的工作中解救出来。今天的计算机在计算速度上已经远远超过了人,然而在很多方面,特别是在人类智能活动有关的方面例如在视觉功能、听觉功能、嗅觉功能、自然语言理解能力功能等等方面,还不如人。

    这种现状无法满足一些高级应用的要求。例如,我们希望计算机能够及早地发现路上的可疑情况并提醒汽车驾驶员以避免发生事故,我们更希望计算机能帮助我们进行自动驾驶,目前的技术还不足以满足诸如此类高级应用的要求,还需要更多的人工智能研究成果和系统实现的经验。

    什么是人工智能呢?

    人工智能,是由人类设计并在计算机环境下实现的模拟或再现某些人智能行为的技术。一般认为,人类智能活动可以分为两类:感知行为与思维活动。模拟感知行为的人工智能研究的一些例子包括语音识别、话者识别等与人类的听觉功能有关的“计算机听觉”,物体三维表现的形状知识、距离、速度感知等与人类视觉有关的“计算机视觉”,等等。模拟思维活动的人工智能研究的例子包括符号推理、模糊推理、定理证明等与人类思维有关的“计算机思维”,等等。

    从图像处理和模式识别发展起来的计算机视觉研究对象之一是如何利用二维投影图像恢复三维景物世界。计算机视觉使用的理论方法主要是基于几何、概率和运动学计算与三维重构的视觉计算理论,它的基础包括射影几何学、刚体运动力学、概率论与随机过程、图像处理、人工智能等理论。

    计算机视觉要达到的基本目的有以下几个:

    (1) 根据一幅或多幅二维投影图像计算出观察点到目标物体的距离;

    (2) 根据一幅或多幅二维投影图像计算出目标物体的运动参数;

    (3) 根据一幅或多幅二维投影图像计算出目标物体的表面物理特性;

    (4) 根据多幅二维投影图像恢复出更大空间区域的投影图像。

    计算机视觉要达到的最终目的是实现利用计算机对于三维景物世界的理解,即实现人的视觉系统的某些功能。

    在计算机视觉领域里,医学图像分析、光学文字识别对模式识别的要求需要提到一定高度。又如模式识别中的预处理和特征抽取环节应用图像处理的技术;图像处理中的图像分析也应用模式识别的技术。在计算机视觉的大多数实际应用当中,计算机被预设为解决特定的任务,然而基于机器学习的方法正日渐普及,一旦机器学习的研究进一步发展,未来“泛用型”的电脑视觉应用或许可以成真。

    人工智能所研究的一个主要问题是:如何让系统具备“计划”和“决策能力”?从而使之完成特定的技术动作(例如:移动一个机器人通过某种特定环境)。这一问题便与计算机视觉问题息息相关。在这里,计算机视觉系统作为一个感知器,为决策提供信息。另外一些研究方向包括模式识别和机器学习(这也隶属于人工智能领域,但与计算机视觉有着重要联系),也由此,计算机视觉时常被看作人工智能与计算机科学的一个分支。

    机器学习是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演译。

    为了达到计算机视觉的目的,有两种技术途径可以考虑。

    第一种是仿生学方法,即从分析人类视觉的过程入手,利用大自然提供给我们的最好参考系——人类视觉系统,建立起视觉过程的计算模型,然后用计算机系统实现之。

    第二种是工程方法,即脱离人类视觉系统框框的约束,利用一切可行和实用的技术手段实现视觉功能。此方法的一般做法是,将人类视觉系统作为一个黑盒子对待,实现时只关心对于某种输入,视觉系统将给出何种输出。

    这两种方法理论上都是可以使用的,但面临的困难是,人类视觉系统对应某种输入的输出到底是什么,这是无法直接测得的。而且由于人的智能活动是一个多功能系统综合作用的结果,即使是得到了一个输入输出对,也很难肯定它是仅由当前的输入视觉刺激所产生的响应,而不是一个与历史状态综合作用的结果。

    不难理解,计算机视觉的研究具有双重意义。

    其一,是为了满足人工智能应用的需要,即用计算机实现人工的视觉系统的需要。这些成果可以安装在计算机和各种机器上,使计算机和机器人能够具有“看”的能力。
    其二,视觉计算模型的研究结果反过来对于我们进一步认识和研究人类视觉系统本身的机理,甚至人脑的机理,也同样具有相当大的参考意义。

    展开全文
  • 人工智能 图片识别 图像识别

    万次阅读 2018-02-26 18:38:02
    图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。一般工业使用中,采用工业相机拍摄图片,然后再利用软件根据图片灰阶差做进一步识别处理。另外在地理学中指将遥感图像...
  • 可是上网搜了很多有关图像分割的,都是类似于边缘检测那种,输出的是一整幅经过处理后的图像。 那到底该怎么做才能定位需要识别的多个目标呢?或者又没有别的方法能实现我的需求的? 请解释的详细一点,谢谢!
  • 基于matlab的车牌识别系统设计

    万次阅读 多人点赞 2020-06-04 17:29:17
    一个完整的车牌号识别系统要完成从图像采集到字符识别输出,过程相当复杂,基本可以分成硬件部分跟软件部分,硬件部分包括系统触发、图像采集,软件部分包括图像预处理、车牌定位、字符分割、字符识别四大部分,一个...
  • 七.使用OpenCv进行图像颜色识别

    万次阅读 多人点赞 2014-05-06 10:55:44
    接着上一篇的图像灰度处理后,接下来对灰度图像进行颜色识别,本人的方法比较简单,有其他好方法的可以提出来,大家共同进步。 目的: 将所有一副灰度图像中像素点灰度大于128的变为白色(设置为255),小于的128的...
  • 图像处理算法工程师

    万次阅读 2017-09-11 15:09:04
    整理了一下网上各个公司图像处理算法工程师的招聘要求:  图像处理算法工程师 职位要求 编程技能: 1、 具有较强的编程能力和良好的编程习惯, 精通c/c++编程,并熟练使用VS 或matlab开发环境; 2、 在计算机...
  • matlab实现车牌识别(一)——每一步分析过程都包含

    万次阅读 多人点赞 2018-07-16 23:59:35
    上一次数学建模大赛,我们小组利用matlab实现了对...为了方便大家对matlab图像识别有基本的了解,我利用暑假期间对参加数学建模三天所学的基本matlab图像处理方法给大家分享。 里面肯定还是有一些小问题的,望大家...
  • 深度学习与图像识别 图像检测

    万次阅读 多人点赞 2016-12-02 16:02:27
    主要是看了些关于深度学习图像识别图像检测的论文,介绍了深度学习处理图像的优势
  • 车牌识别算法介绍与实践

    万次阅读 多人点赞 2014-06-09 08:31:32
    汽车牌照自动识别整个处理过程分为预处理、边缘提取、车牌定位、字符分割、字符识别五大模块,其中字符识别过程主要由以下3个部分组成: ①正确地分割文字图像区域; ②正确的分离单个文字; ③正确识别单个字符。 ...
  • a=imread('48.png');%图片路径名称 a为m*n*3矩阵 m,n分别为宽高 3表示RGB分量 dd1=(a(:,:,1)=240&a(:,:,2)=205&a(:,:,3)=30); %由RGB颜色范围抠图 结果为逻辑矩阵(只包含0与1) [m,n]=size(dd1);...
  • 在深度学习领域,已经经过验证的成熟算法,目前主要有深度卷积网络(DNN)和递归网络(RNN),在图像识别、视频识别、语音识别领域取得了巨大的成功,正是由于这些成功,能促成了当前深度学习的大热。与此相对应的,...
  • 浅谈图像识别技术原理与价值

    千次阅读 多人点赞 2020-04-01 09:33:08
    图像识别技术是人工智能的重要领域。它是指图像的对象识别技术,用于识别不同模式的目标和对象。本文从图像识别的技术原理... 数字图像处理识别 对象识别。 顾名思义,图像识别就是对图像进行各种处理,分析,并...
  • 浅谈-什么是计算机视觉

    千次阅读 2018-05-02 13:45:27
    因此不仅需要使机器能感知三维环境中物体的几何信息(形状、位置、姿态、运动等)而且能对它们进行描述、存储、识别与理解。可以认为,计算机视觉与研究人类或动物的视觉是不同的:它借助于几何、物...
  • 计算机视觉和机器视觉的区别

    万次阅读 2009-05-21 21:13:00
    计算机视觉是采用图像处理、模式识别、人工智能技术相结合的手段,着重于一幅或多幅图像的计算机分析。图像可以由多个或者多个传感器获取,也可以是单个传感器在不同时刻获取的图像序列。分析师对目标物体的识别,...
  • 简单的图像识别标记

    千次阅读 2011-01-13 11:28:00
    简介图像识别,特征标记是图像处理相关问题中常见的要求。这里给出一种常见的处理方式,应用背景也较为简单。内容提取条形码区域,并做标记。代码 % By lyqmath% DLUT School of Mathematical Sciences% BLOG:...
  • 图像处理识别学习小结

    万次阅读 2013-09-27 10:46:55
    图像处理识别学习小结   数字图像处理是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。图像处理是信号处理在图像域上的一个应用。目前大多数的图像是以数字形式存储,因而图像处理很多...
1 2 3 4 5 ... 20
收藏数 65,520
精华内容 26,208
关键字:

图像处理识别特定位置