【科技】能给电影自动配音的“卷积神经互联网”,是怎么实现图像识别的?
本篇文章3444字,读完约9分钟
【每日科技网】
图像识别非常感兴趣,但是是非常有挑战性的研究行业。 本文利用卷积神经网络介绍图像识别的概念、应用和技术方法。
什么是图像识别它的作用是什么
从机器视觉的立场来讲,图像识别就是软件识别图像中出现的人物、地理位置、物体、动作和文案的能力。计算机可以采用机器视觉技术,并结合人工智能软件和一个摄像头,完成图像识别。
对人类大脑和其他动物大脑来讲,识别物体是非常简单的;但是对于计算机,这样的识别却是相当困难的。当人类看到一棵树、一辆车,或者是一个朋友,能立刻说出看到的是什么,根本不需要有意识地研究和思考。然而对于一台计算机来讲,识别一个物体(可能是一个时钟、一张椅子、一个体或者是一只动物)是一个非常困难的问题,而且寻找这个问题的处理办法具有相当高的风险。
图片: cs231.github
图像识别是一个机器学习做法,它是专门模仿人类大脑运行方法的。通过图像识别,计算机将学会识别图像中的视觉对象和视觉元素。采用庞大的数据集和各种新兴的模式,计算机能够理解图像,同时用公式表达出关联的标签和类别。
图像识别的普遍应用
图像识别有着非常广泛的应用,其中的个体照片管理是最常见,并且也是最受欢迎的应用。面对千万张繁杂的照片,几乎各个人都想根据照片主题把它们一一分类,整理成有序的照片集。
现在,哪些用于照片管理的应用程序正在采用图像识别技术。除了为客户提供照片的存储空间,这些应用程序还希望通过图像自动管理,进一步为人们提供更好的照片搜索功能。应用程序中的图像识别编程接口能够根据不同的识别模式将图像进行分类,同时将它们按照主题一一分组。
图像识别的其他应用还包括照片和视频网站、互动营销、创意活动、社会交往互联网上的面部及图像识别,以及庞大数据集下的互联网图像分类等。
图像识别是一项相当困难的任务
图像识别并不是一件容易的事,实现它的一种好办法是将元数据应用于非结构化的数据。雇佣人类专家来手动地标记音乐曲库和视频库看似是一项十分艰巨的任务,但是一项更不可能完成的任务是教会一个无人驾驶汽车的导航系统区分道路上的行人和其他车辆,或者让导航系统对出现在社会交往媒体上的千万的视频和照片进行过滤、分类和标记。处理这一问题的做法之一是利用神经互联网。理论上,我们可以利用卷积神经互联网来拆析图像;但实际上从计算的立场来看,这样做的价钱非常高。举例来讲,即使是一个解决一张很小的图像(假设是30*30像素)的卷积神经互联网,仍需要五十万的参数和900个输入。一个功能相对较强大的机器还能够解决这样的图像,但是一旦图像变得更大了(比如解决一个500*500像素的图像),那么相应地,参数和输入的数量也会增加到非常高的水平,同一机器就不一定能完成。
将神经互联网应用于图像识别出现的另一个问题是:过度拟合。简而言之,当一个模型将自己调整到与训练数据非常相近时,就会出现过度拟合。过度拟合会造成越来越多的参数,进一步增加计算价钱,而且模型在新数据上的训练会导致总体性能的损失。
卷积神经互联网
卷积神经互联网架构模型(图片: parse)
对于神经互联网结构,一个相对简单的改变就能够让更大的图像更易于管理。其结果就是我们所说的卷积神经互联网(cnns或convnets)。
神经互联网的普适性是其特点之一,但是这个特点在解决图像时却变成了一种负担。这个卷积神经互联网有意识地做了一个权衡:如果一个神经互联网是专门用于图像解决的,那么为了达到更加可行的处理方案,就必需牺牲其部分普遍适用的特点。
任何一张图像,其邻近性和相似性有着密切的关系,而卷积神经互联网正是利用了这一关系。这就意味着,在一张给定的图像中,两个相邻的像素比两个分开的像素更具有关联性。然而,在一个普通的神经互联网中,全部的像素都与全部神经元相连。在这种情况下,额外的计算负担会降低互联网的准确度。
卷积神经互联网通过删除这些不必要的连接来处理这个问题。从技术层面来看,卷积神经互联网通过邻近程度对连接进行筛选和过滤,进而让图像解决在计算上更加可行。在一个给定的层中,卷积神经互联网并不是简单地将全部输入与全部神经元相连,而是有意识地限制这些连接,这样,任意一个神经元都只会接收来自该层的一小部分输入。也就是说,互联网的各个神经元都只负责解决图像的某一部分。(这与我们大脑皮层神经元的运行方法高度相似大脑的各个神经元只会对你视觉感受的一小部分作出反应。)
卷积神经互联网的解决流程
图片: deeplearning4j
从左到右注意上图,你会发现:
输入的图像将会经过特征扫描解决,图中浅色的矩形就是进行特征扫描的滤波器。
激活映射是一层一层相互叠加的,一个激活映射对应一个滤波器。较大的矩形将会在下一批被进行下采样。
激活映射通过下采样,被不断地压缩。
将滤波器在激活映射堆叠的层入驻递,会产生一组新的激活映射,这些新的激活映射将首先被下采样。
第二次下采样会压缩新的激活映射。
一个全连接的层指定了各个节点的输出为一个标签。
一个卷积神经互联网怎么通过邻近程度来过滤连接呢其中的秘密就在于两个新的层:池化层和卷积层。接下来,我们将利用一个互联网的例子,分解其过滤的流程。
第一步是卷积层,而卷积层本身也包含了几个步骤。
首先,我们把一张照片分解成一系列重叠着的3*3像素块。
之后,我们在保持权重不变的情况下,将每个像素块运行于一个简单的单层神经互联网。这么做将会使这一系列像素块变成一个数组。因为我们已经把图片分解成很小的像素块了(在本范例中是3*3的像素块),所以其神经互联网的操作就变得简单多了。
接着,输出值将会被排列在一个数组中,其中的数字分别代表照片每个区域的文案,坐标轴分别代表颜色、宽度和高度。因为此,在这个范例中会有一个3*3*3的数字表示。(如果是视频,那么数字表示就将变成四维的。)
下一步是池化层。它会池化这些三维或四维的数组,同时把下采样函数与空间维度结合应用。通过这样的操作,我们会得到一个仅包含重要的图像部分的池化数组,因为这个数组删减了不必要的图像部分,只保存了比较重要的部分,所以互联网的计算负担被降到了最低,并且不使了过度拟合的问题。
这个经过了下采样解决的数组将会成为一个常规的全连接神经互联网的输入。因为我们已经用池化和卷积大大地缩减了输入尺寸,所以我们现在需要一点普通互联网能够解决的、可以保存最重要的数据的东西。而最后一步的输出将会用于系统对其图像评估有多少把握。
在现实生活中,cnn的流程纷繁多而杂,涉及到多个隐藏层、池化层和卷积层。与此除外,真正的cnn一般包含了千万的标签。
怎么树立一个卷积神经互联网
树立一个cnn是非常昂贵且费时的。科技企业开发的api,目的是让组织在不需要内部机器学习专家或计算机视觉专家的情况下,也能达到目的。
google cloud vision
google cloud vision是谷歌的视觉识别api。它的树立以开源tensorflow框架为基础,采用的是一个rest api。它包含了全面的标签数据集,能检测出人脸和物体。
ibm watson视觉识别
ibm watson视觉识别是watson开发云的一部分,它有着一个庞大的内置类别集,能够根据你提供的图像对自定义的类进行训练。它还支持多个比很高端的功能,比如nsfw检测,ocr检测。
clarif.ai
clarif.ai是一个新兴的图像识别服务器,它采用的也是rest api。它带有能够调整算法的模块,这些模块能够将其算法调整至一个特定的主题,比如美食、旅行或婚礼主题。
虽然上面的api适用于通常的情况,但是最好对比单个任务定制一个专门的处理方案。幸运的是,现在的多个数据集可以让开发人员和数据科学家们专注于训练模型,解决好互联网优化和计算方面的问题,他们的从业也将会变得相对轻松一点。
卷积神经互联网的一个兴趣应用
给无声电影自动配音
为了匹配一个无声视频,系统必需在视频中合成声音。这个系统利用上千个视频进行训练,这些视频中包含了鼓棒敲击不同表面发出的不同声音。一个深度学习模型将视频的每个帧与预先记录的声音库联系起来,选出一个与视频场景最匹配的声音。然后,这个系统将会由一个测试装置进行判断,这个测试装置与人类用来评估真声或假声(合成声音)的装置非常类似。不得不说,这是一个非常特别、兴趣的卷积神经互联网和lstm递归神经互联网应用。请看下面的视频:
标题:【科技】能给电影自动配音的“卷积神经互联网”,是怎么实现图像识别的?
地址:http://www.greenichiban.com/news/12560.html
免责声明:国际科技时报是中国具有影响力的科技媒体,以全球视角,第一时间呈现最新科技资讯。所著的内容转载自互联网,本站不为其真实性负责,只为传播网络信息为目的,非商业用途,如有异议请及时联系btr2031@163.com,国际科技时报的作者:何鸿宝将予以删除。