首页 > 编程知识 正文

卷积神经网络图像识别总结,卷积神经网络示意图

时间:2023-05-04 00:38:18 阅读:128791 作者:2315

在机器视觉概念中,图像识别是指软件具有识别图像中的人、位置、物体、动作、笔迹的能力。 计算机可以应用机器视觉技术,结合人工智能和相机进行图像识别。

什么是图像识别?为什么要进行图像识别?

在机器视觉概念中,图像识别是指软件具有识别图像中的人、位置、物体、动作、笔迹的能力。 计算机可以应用机器视觉技术,结合人工智能和相机进行图像识别。

对人类和动物的大脑来说,识别物体很容易,但在计算机上执行同样的任务很困难。 当我们看到树、车、朋友之类的东西时,我们在他分辨出什么之前,不需要有意识地研究他。 但是,对于计算机来说,分辨钟表、椅子、人、动物等一切都是非常困难的问题,找到解决问题的方法的成本很高。

图像识别算法一般采用机器学习法,模拟人脑识别的方式。 根据这种方法,可以教计算机识别图像中的视觉元素。 计算机依赖于大型数据库,通过识别数据表示的模式,可以理解图像,形成相关的标签和类别。

图像识别技术的普及应用

图像识别技术有很多应用。 其中最常见的是图像识别技术辅助的人物照片分类。 谁不想根据视觉主题更好地管理巨大的照片库呢? 小到特定的东西,大到广阔的风景。

影像识别技术给照片分类APP应用的用户体验带来了新的感受。 除了提供照片存储外,APP应用还可以进一步发展,为人们提供更好的发现和搜索功能。 如果有基于机器学习的自动图像管理功能,那就有可能了。 集成在APP应用中的图像识别程序接口可以根据机器认定的特征对图像进行分类,并根据主题对照片进行分组。

图像识别的其他APP应用包括存储照片和视频的网站、交互式营销和创意活动、社交网络面部和图像识别以及具有大型可视图像库网站的图像分类。

图像识别是一项艰巨的任务

图像识别不是一项简单的工作。 建议将元数据应用于非结构化数据。 邀请专家对音乐和电影院进行人工标记可能是一项可怕的艰巨任务,但教无人驾驶汽车的导航系统会将过马路的行人与各种汽车区分开来,或者对用户每天在社交媒体上发布的数百万视频和照片进行标记和分类

解决这个问题的一个方法是使用神经网络。 理论上,可以使用传统的神经网络分析图像,但实际上从计算的角度来看成本很高。 例如,传统的神经网络在处理小图像时需要50万个参数和900个输入神经元,假设为30*30像素。 虽然该网络可以在功能相当强大的计算机上运行,但当图像变大时(例如500*500像素),参数和输入数量的数量级会非常高。

神经网络应用于图像识别的另一个问题是过拟合。 简而言之,过拟合通常发生在模型与训练数据过拟合的情况下。 通常,参数增加(进一步增加计算成本)和模型结果对新数据的总体表示会降低。

卷积神经网络

卷积神经网络本构模型

通过神经网络的构建方法,可以通过比较简单的变更使大的图像更容易处理。 结果表明,我们看到的卷积神经网络(CNNs、ConvNets )。

神经网络的广泛性是他们的优点之一,但在处理图像时,这个优点是负担。 卷积神经网络对此进行了专门的权衡。 当一个网络专门设计用于图像处理时,有广泛的适应性需要让步于更可行的解决方案。

对于任意图像,像素之间的距离与其相似性有很强的关系,卷积神经网络的设计利用了这一特征。 这意味着对于某个图像,距离近的两个像素比距离远的像素更相似。 但是,在通常的神经网络中,各像素连接在一个神经元上。 在这种情况下,额外的计算负载导致网络不足够准确。

卷积神经网络通过消除许多相似但不重要的连接解决了这个问题。 技术上,卷积神经网络通过基于相似性对神经元之间的连接进行滤波,在计算级别上控制图像处理。 对于某一层,卷积神经网络不将每个输入连接到每个神经元,而是专门限制连接,使任何神经元只接受来自前一层的一小部分输入(例如,3*3或5*5)。 因此,每个神经元只需要处理一张图像的特定部分。 顺便说一下,这基本上是人脑独立皮质神经元的工作方式。 每个神经元只对完整视野的一小部分作出响应)。

卷积神经网络的工作过程

上图从左往右看:

网络扫描输入的真实图像并提取特征。 传递特性的滤波器用明亮的方形表示。

激活图表以堆栈形式排列,分别对应于使用的过滤器。 大正方形是要下采样的块。

激活贴图通过下采样进行压缩。

下采样后的激活图经过过滤器生成一组新的激活图。

第二下样本——压缩第二组激活图。

所有连接层都为每个节点的输出分配标签。

折叠起来

神经网络的滤波器如何对连接根据相似性进行滤波?诀窍在于新加的两种层结构:池化层和卷积层。我们下面将步骤进行分解。用为了只完成一件事情而设计的网络实例进行介绍,即决定一张图片中是否含有一个老爷爷。

 

过程的第一步是卷积层,它自己本身就包含几个小步骤。

首先,我们要将包含老爷爷的图片分解为一系列有重叠的3*3的像素块。

在这之后,我们将每个像素块输入一个简单的、单层的神经网路,保持权重不变。这一步将像素块集转化成一个矩阵。只要我们保持每块像素块都比较小(这里是3*3),处理它们所需的网络也可以保持可控以及小型。

下一步,输出值会被排成矩阵,以数据形式表示照片中每个区域的内容,不同轴分别代表颜色、宽度、和高度通道。对于每一个图像块,都有一个3*3*3的表示。(如果要处理视频,可以加入第四维度代表时间)。

 

    接下来是池化层。池化层对这些3或4维的矩阵在空间维度上进行下采样。处理结果是池化阵列,其中只包含重要部分图像,并且丢弃了其他部分,这样一来最小化了计算成本,同时也能避免过拟合问题。

   经过下采样的矩阵作为全连接层的输入。由于经过了池化和卷积操作,输入的尺寸被大幅减小,我们现在有了正常网络能处理的,同时能保持数据最重要特性的东西。最后一步的输出代表系统对于图片中有老爷爷这一判断的确信度。

    在实际应用中,卷积神经网络的工作过程很复杂,包括大量的隐藏、池化和卷积层。除此之外,真实的卷积神经网络一般会涉及上百甚至上千个标签,而不只是样例中的一个。

    如何搭建卷积神经网络

从头开始构建一个卷积神经网络是很费时费力的工作。目前已经有了许多API能够实现关于卷积神经网络的想法,而不需要工程师去了解机器学习的原理或者计算机视觉的专业知识。

Google云视觉

    Google云视觉是使用REST  API搭建的视觉识别API。它基于开源的TensorFlow框架。它可以检测到独立的人脸或物体,并且包含十分全面的标签集。

IBM Watson 视觉识别

    IBM Watson 视觉识别是Waston Developer  Cloud服务的一部分,并且自带大量内置类别,但它实际是为训练基于你提供图片的自定义类别而打造的。同时,和Google云视觉一样,它也提供了大量花哨的特性,包括NSFW以及OCR检测。

Clarif.ai

    Clarif.ai也是一个使用REST  API的初创图像识别服务。关于Clarif.ai有趣的一点是,它自带的一系列模块可以用于修改算法,将其应用到特定的主题上,例如食物、旅游和结婚。

    尽管上述的API适合一些一般的应用,但最好还是针对特定问题开发一个自定义的解决方案。幸运的是,大量可用的库解决了优化和计算方面的问题,开发人员和数据科学家可以只关注训练模型,这样一来他们的工作便轻松了一些。这些库包括Theano、  Torch、 DeepLearning4J以及TensorFlow,已成功地运用在各种各样的应用程序中。

卷积神经网络的有趣小应用:自动为无声电影添加声音

     要为无声电影添加匹配的声音,系统必须在这个任务中自动合成声音。该系统使用上千个视频样例进行训练,视频带有鼓棍敲打不同表面产生的不同声音。一个深度学习模型将视频的帧和预录的声音建立联系,然后选择能够完美匹配场景的音频进行播放。系统会通过图灵测试进行评估,让人来决定那个视频是合成的,哪个是真实的声音。这是卷积神经网络和LSTM循环神经网络的一个很潮的应用。

在不久的将来,多智时代一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏多智时代,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。