深度学习】深度学习如何提升图像识别准确率?

2020-07-03 11:05发布

1条回答
卡卡
2楼 · 2020-07-15 23:28




主要做了基于深度学习的图像识别与检测的研究,下面是一些整理内容


1、深度学习的优势


(1)从统计,计算的角度看,DL特别适合处理大数据

      a、用较为复杂的模型降低模型偏差

      b、用大数据提升统计估计的准确度

      c、用可扩展的梯度下降算法求解大规模优化问题

这个大数据是除了数量上的大,还有更重要的是维度的大,很多算法本身是无法处理高纬度数据的,例如Kernel学习机相关的算法,虽然理论上是先将数据向高维空间映射,然后在高维空间进行线性的求解,实际上在处理的时候还是回到原空间处理。传统的BP算法针对高维的数据也是效果不佳。

 

CNN等为什么对图像领域更加有效,因为其不但关注了全局特征,更是利用了图像识别领域非常重要的局部特征,应该是将局部特征抽取的算法融入到了神经网络中。图像本身的局部数据存在关联性,而这种局部关联性的特征是其他算法无法提取的。深度学习很重要的是对全局和局部特征的综合把握


(2)深度学习不是一个黑箱系统。它像概率模型一样,提供一套丰富的、基于联接主义的建模语言。利用这套语言系统,我们可以表达数据内在的丰富关系和结构。比如用卷积处理图像中的二维空间结构,用递归神经网络(RecurrentNeuralNetwork)处理自然语言等数据中的时序结构


(3)深度学习几乎是唯一的端到端的学习系统

它直接作用于原始数据,自动逐层进行特征学习,整个过程直接优化目标函数。


2、深度学习在图像识别中的发展趋势


(1)模型层次不断加深

      2012Alex获得ImageNet冠军,其所用的AlexNet5个卷积层3个pool层和2个全连接层

      2014年获得ImageNet的GoogleNet,使用了59个卷积层,16个pool层和2个全连接层。

      2016年微软的ResNet深度残差网络,用了152层的架构


(2)模型结构日趋复杂

      传统的卷积神经网络都是简单的conv-pool-FC

      后来NIN用mlpconv代替传统的conv层(mlp实际上是卷积加传统的多层感知器)。这样做一方面降低过拟合程度提高模型的推广能力,另一方面为大规模并行训练提供非常有利的条件


(3)海量的标注数据和适当的数据扰动

      DL需要大量的数据,现有的图像数据不能满足需求,结合图像数据的特点,通过平移、水平翻转、旋转、缩放等数据扰动方式可以产生更多的有效数据,普遍提高识别模型的推广能力。


3、如何应用深度学习


(1)  将ImageNet上训练得到的模型作为起点,利用目标训练集和反向传播对其进行继续训练,将模型适应到特定的应用

(2)  如果目标训练集不够大,可以将底层的网络参数固定,沿用ImageNet上的训练集结果,只对上层进行更新。

(3)  直接采用ImageNet上训练得到的模型,把最高的隐含层的输出作为特征表达,代替常用的手工设计的特征。

 

4、卷积神经网络


(1)什么是卷积神经网络

   

 卷积神经网络是一种为了处理二维输入数据而特殊设计的多层人工神经网络。网络中的每层都由多个二维平面组成,而每个平面由多个独立的神经元组成。相邻两层的神经元之间互相连接。

A、       卷积特征提取(局部连接,权值共享)

从图像中随机选取一小块局域作为训练样本,从该样本中学习到一些特征,然后将这些特征作为滤波器,与原始整个图像作卷积运算,从而得到原始图像中任意位置上的不同特征的激活值(见动图)


B、       池化

通过将卷积层提取的特征输入至分类器中进行训练,可以实现输出最终的分类结果。理论上可以直接输出,然而这将需要非常大的计算开销,特别是对于大尺寸高分辨率图像

由于图像具有一种“静态性”的属性,在图像的一个局部区域得到的特征极有可能在另一个局部区域同样适用。因此,对图像的一个局部区域中不同位置的特征进行聚合统计操作,这种操作统称为池化


(2)卷积神经网络的发展


A、1990年,LeCun等在研究手写体数字识别问题时,首先提出来使用梯度反向传播算法训练的卷积神经网络模型,并在MNIST手写数字数据集上表现出了好的性能。

B、2012年ImageNet比赛中AlexKrizhevsky等提出的AlexNet首次将深度学习应用到大规模图像分类,并获得了冠军。


AlexNet用了5层卷积层和3层全连接层,最后用softmax进行分类。

改进点:

a、       采用dropout训练策略,在训练过程中将输入层和中间层的一些神经元随机置零。这模拟了噪声对输入数据的各种干扰使一些神经元对一些视觉模式产生漏检的情况。使得训练过程收敛过慢,但得到的网络模型更加鲁棒。

b、       采用ReLU(修正线性单元)作为激励函数,降低了计算的复杂度

c、        通过对训练样本镜像映射和加入随机平移扰动,产生了更多的训练样本,减少了过拟合

C、2013ImageNet的获胜队伍Clarifai提出了卷积神经网络的可视化方法,运用反卷积网络对AlexNet的每个卷积层进行可视化,以此来分析每一层所学习到的特征从而加深了对于卷积神经网络为什么能在图像分类上取得好的效果的理解,并据此改进了该模型。


D、2014ImageNetGoogle团队


网络有22层,受到赫布学习规则的启发,同时基于多尺度处理的方法对卷积神经网络作出改进。该文基于NetworkinNetwork思想提出了Inception模块。Inception模块的结构如图所示,它的主要思想是想办法找出图像的最优局部稀疏结构,并将其近似地用稠密组件替代。这样做一方面可以实现有效的降维,从而能够在计算资源同等的情况下增加网络的宽度与深度;另一方面也可以减少需要训练的参数,从而减轻过拟合问题,提高模型的推广能力。


E、2015年微软亚洲研究院所提出的152层的深度残差网络以绝对的优势获得图像检测、图像分类和图像定位3个项目的冠军

 

5、物体检测

(1)物体分类与检测的难点与挑战

物体分类与检测是视觉研究中的基本问题,也是一个非常具有挑战性的问题.物体分类与检测的难点与挑战在本文中分为3个层次:实例层次、类别

层次和语义层次,如图所示


 

 

 

a)       实例层次

针对单个物体实例而言,通常由于图像采集过程中光照条件、拍摄视角、距离的不同、物体自身的非刚体形变以及其他物体的部分遮挡,使得物体实例的表观特征产生很大的变化,给视觉识别算法带来了极大的困难

b)       类别层次

困难与挑战通常来自3个方面,

类内差大,也即属于同一类的物体表观特征差别比较大,其原因有前面提到的各种实例层次的变化,但这里更强调的是类内不同实例的差别,例如图(a)所示

类间模糊性,即不同类的物体实例具有一定的相似性,如图(b)背景的干扰在实际场景下,物体不可能出现在一个非常干净的背景下,往往相反,背景可能是非常复杂的、对我们感兴趣的物体存在干扰的,这使得识别问题的难度大大增加

c)        语义层次.

困难和挑战与图像的视觉语义相关,这个层次的困难往往非常难处理,特别是对现在的计算机视觉理论水平而言,一个典型的问题称为多重稳定性.如图(C)左边既可以看成是两个面对面的人,也可以看成是一个燃烧的蜡烛;右边则同时可以解释为兔子或者小鸭.同样的图像,不同的解释,这既与人的观察视角、关注点等物理条件有关,也与人的性格、经历等有关,而这恰恰是视觉识别系统难以处理的部分




(2)物体检测的发展(详细算法介绍见后续)

      较有影响力的工作包括:

A、       RCNN(2013)

B、       FastRCNN

C、       FasterRCNN

D、      R-FCN

E、       YOLO

F、       SSD


 

参考文献


【1】  基于深度学习的图像识别进展:百度的若干实践(2015百度公司)

【2】  图像识别中的深度学习(2015香港中文大学王晓刚)

【3】  图像无图分类与检测算法综述(2014中国科学院自动化研究所模式识别国家重点实验室智能感知与计算研究中心)

【4】  深度卷积神经网络在计算机视觉中的应用研究综述(2016上海交通大学)

【5】  Richfeaturehierarchiesforaccurateobjectdetectionandsemanticsegmentation(2014)

【6】  FastR-CNN(2015)

【7】  FasterR-CNN:TowardsReal-TimeObjectDetectionwithRegionProposalNetworks(2016)

【8】  Detection(网址上面描述各种检测算法)


相关问题推荐

  • 回答 1
    已采纳

    就业面广不广主要看深度学习的应用程度:其实咱们的实际生活中已经有很多应用深度学习技术的案例了。比如电商行业,在浏览淘宝时,页面中有很多都是符合你的爱好并且最近有意向购买的商品,这种个性化推荐中就涉及到深度学习技术,还有就是在购物界面能和你进...

  • 回答 2

    深度学习是相对比较专业的一种描述,在生活中更多的场景下被直接称为了人工智能(当然在技术领域人工智能和深度学习的范畴是有差异的),从国家政策到产业驱动,已经凸显了它的一个发展趋势政策加码支持撬动万亿蓝海  2018世界人工智能大会将以人工智能赋能新...

  • 回答 2

    以后都是智能化社会,学好这些技术,找工作高薪就业没问题的

  • 回答 2

    人们的生活变得越来越便利,未来都是人工智能的天下了~

  • 回答 2

      作为一种人工智能的AlphaGo,和IBM在上个世纪打败国际象棋大师卡斯帕罗夫的深蓝超级计算机,以及当代的苹果Siri、GoogleNow有着显著的区别。  要了解AlphaGo,首先我们需要了解AlphaGo背后到底是一个什么东西。  它背后是一套神经网络系统,由Google2...

  • 回答 2

    深度学习主要应用于图像识别、语音识别、自然语言处理等领域。学完可以从事深度学习工程师、机器学习工程师、人工智能工程师、高级算法工程师、高级算法工程师 AI研发工程师、AI架构师等,课程是与中科院合作的,整个行业发展前景还是不错的。...

  • 回答 4

    目前,深度学习在图像、语音、自然语言处理都取得了重大突破。深度学习(卷积神经网络)最初是为解决图像识别问题而提出的。目前深度学习在图像识别中的应用主要集中于图像分类、目标检测、图像分割等领域。图像分类图片分类的任务是对于一个给定的图片,预测...

  • 回答 2

        生成对抗网络(Generative Adversarial Nets)是Ian Goodfellow 等人2014年的论文《Generative Adversarial Nets》中提出,它是非监督学习的一种方法,通过让两个神经网络相互博弈的方式进行学习。    CANs都是在机器创造性思维方面在艺术方面的...

  • 回答 2

    深度学习(Deep Learning)源于人工神经网络的研究,是机器学习的一个分支。深度学习主要依赖于深度神经元网络,这种神经网络类似于人类的大脑,其学习过程也与人类十分相似。基本上,你输入海量的数据给它以后,它就会通过训练,学习到海量数据的特征。举例来...

  • 回答 2

    python。python是人工智能的首选语言,功能强大,可以实先快速开发,在大数据和人工智能领域都可以运用,并且python是深度学习课程的基础。

  • 回答 3

    建议先学下高级编程语言语言比如Python作为编程基础,然后再学习深度学习相关知识。

  • 回答 1

  • 回答 1

    现在已经有很多人作了关于深度学习以及其如何重要的讲座,我非常同意他们的看法。工作在深度学习这个领域是让我觉得最接近魔法师的事,我觉得未来三年内很多软件的重要部分都会由深度学习推动前行。不过,现在好像深度学习还非主流,因此我想分享些优秀的开发...

  • 回答 1

    深度学习新星:GAN的基本原理、应用和走向 https://www.cnblogs.com/DicksonJYL/p/9617443.html 相关参考:【OpenAI】GenerativeModels    【搜狐科技】GAN之父NIPS2016演讲现场直击:全方位解读生成对抗网络的原理及未来    【pdf】:http://www.ia...

  • 回答 3

    深度学习技术在电商行业、交通领域、工业、金融行业、教育行业、医疗行业应用都比较成熟了。金融行业,银行通过深度学习技术能对数以百万的消费者数据(年龄,职业,婚姻状况等)、金融借款和保险情况(是否有违约记录,还款时间,车辆事故记录等)进行分析进...

没有解决我的问题,去提问