【图像识别】告诉你机器如何看见这个世界

本文涉及的产品
视觉智能开放平台,视频资源包5000点
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,分割抠图1万点
简介: 为大家揭秘图像识别技术原理,告诉你机器如何利用卷积神经网络进行图像识别,从而“看见”这个世界。

原标题:揭秘图像识别,告诉你机器如何“看见”这个世界
看懂一个东西对人类来说很容易,但是对机器来说却是很难的,这个时候图像识别技术就应运而生。今天我们就为大家揭秘图像识别技术原理,告诉你机器如何利用卷积神经网络进行图像识别,从而“看见”这个世界。

什么是图像识别技术

对人类来说,描述我们眼睛所看到的事物,即视觉世界,看起来太微不足道了,以至于我们根本没有意识到那正是我们时时刻刻在做的事情。在看到某件事物时,不管是汽车、大树,还是一个人,我们通常都不需要过多的思考就能立刻叫出名字。然而对于一台计算机来说,区分识别“人类对象”(比如:在小狗、椅子或是闹钟这些“非人类对象”中识别出“奶奶”这一“人类对象”)却是相当困难的。

能解决这一问题可以带来非常高的收益。图像识别技术,更宽泛地说是“计算机视觉”技术,是许多新兴技术的基础。从无人驾驶汽车到面部识别软件,从那些看似简单但十分重要的发展成果——从能够监测流水线缺陷和违规的“智能工厂”,到保险公司用来分类和处理索赔照片的自动化软件。这些新兴科技是都离不开图像识别技术的。

在接下来的内容里,我们将要探究图像识别技术所面临的问题和挑战,探寻图像识别技术原理并分析科学家是如何用一种特殊的神经网络来解决图像识别技术这一挑战的。

图像识别是一项高难度、高成本的技术

着手解决图像识别技术难题,我们让专人来对电影和音乐进行人工图像识别分类和图像识别标记,但这是一项艰巨的任务。有些任务不仅艰巨,甚至是不可能完成的。比如训练无人驾驶汽车里的导航系统,让其能够将其他车辆与正在过马路的行人区分开来;或者是每天对社交网站上用户上传的千千万万张的照片和视频进行标记、分类和筛查,这些是图像识别技术的基础。唯一能够解决这一图像识别技术难题的方法就是神经网络。

理论上我们可以用常规的神经网络来进行图像识别,但在实际操作中,从计算角度看,使用这种方法的成本非常高。举例来说,一个常规的神经网络,就算是处理一个非常小的图像,假设是3030像素的图像,仍需要900个数据输入和五十多万个参数。这样的处理加工对一个相对强大的机器来说还是可行的;但是,如果需要处理更大的图像,假设是500500像素的图像,那么机器所需的数据输入和参数数量就会大大增加,增加到难以想象的地步。

除此之外,将神经网络用于图像识别还可能会导致另一个问题——过度拟合。简单来说,过度拟合指的是图像识别系统训练的数据过于接近图像识别定制的数据模型的现象。这不仅会在大体上导致图像识别技术参数数量的增加(也就是进一步计算支出的增加),还将削弱图像识别技术在面临新数据时其他常规功能的正常发挥。

真正的解决方案——卷积神经网络

幸运的是,我们发现,只要在神经网络的结构方式上做一个小小的改变,就能使大型图像识别任务的处理更具可操作性。改造后的神经网络被称作卷积神经网络,也叫CNNs或ConvNets。

神经网络的优势之一在于它的普遍适应性。但是,就像我们刚刚看到的,神经网络的这一优势在图像识别技术上实际上是一种不利因素。而卷积神经网络能够对此作出一种有意识的权衡——为了得到一个更可行的解决方案,我们牺牲了神经网络的其他普遍性功能,设计出了一个专门用于图像识别技术的神经网络。

在任何一张图像中,接近度与相似度的关联性都是非常强的,卷积神经网络就是利用了这一原理。具体而言就是,在一张图像中的两个相邻像素,比图像中两个分开的像素更具有关联性。但是,在一个常规的神经网络中,每个像素都被连接到了单独的神经元。这样一来,计算负担自然加重了,而加重的计算负担实际上是在削弱神经网络的准确程度。

卷积神经网络通过削减许多不必要的连接来解决图像识别技术中的这一问题。运用图像识别技术中的术语来说就是,卷积神经网络按照关联程度筛选不必要的连接,进而使图像识别过程在计算上更具有可操作性。卷积神经网络有意地限制了图像识别时候的连接,让一个神经元只接受来自之前图层的小分段的输入(假设是3×3或5×5像素),避免了过重的计算负担。因此,每一个神经元只需要负责处理图像的一小部分。

卷积神经网络的内在秘密
卷积神经网络究竟是如何筛选出不必要的图像连接的呢?秘密就在于两个新添的新型图层——卷积层和汇聚层。我们接下来将会通过一个实操案例:让卷积神经网络判断照片中是否有“奶奶”这一对象,把卷积神经网络的图像识别操作进行分解,逐一描述。
第一步,卷积层
卷积层本身实际上也包含了几个步骤:

1.首先,我们会将奶奶的照片分解成一些3×3像素的、重叠着的拼接图块。

2.然后,我们把每一个图块运行于一个简单的、单层的卷积神经网络,保持权衡不变。这一操作会使我们的拼接图块变成一个图组。由于我们一开始就将原始图像分解成了小的图像(在这个案例中,我们是将其分解成了3×3像素的图像),所以,用于图像识别的卷积神经网络也是比较好操作的。

3.接下来,我们将会把这些输出值排列在图组中,用数字表示照片中各个区域的内容,数轴分别代表高度、宽度和颜色。那么,我们就得到了每一个图块的三维数值表达。(如果我们讨论的不是奶奶的照片,而是视频,那么我们就会得到一个四维的数值表达了。)

第二步,汇聚层
汇聚层是将这个三维(或是四维)图组的空间维度与采样函数结合起来,输出一个仅包含了图像中相对重要的部分的联合数组。这一联合数组不仅能使卷积神经网络计算负担最小化,还能有效避免过度拟合的问题。

最后,我们会把从汇聚层中得出的采样数组作为常规的、全方位连接的卷积神经网络来使用。通过卷积层和汇聚层,我们大幅度地缩减了输入的数量,因此,我们这时候得到的数组大小是一个正常普通网络完全能够处理的,不仅如此,这一数组还能保留原始数据中最重要的部分。这最后一步的输出结果将最终显示出系统有多少把握作出“照片中有奶奶”的判断。

以上只是对卷积神经网络工作过程的简单描述,现实中,其工作过程是更加复杂的。另外,跟我们这里的案例不同,现实中的卷积神经网络处理的内容一般包含了上百个,甚至上千个标签。

卷积神经网络的实施
重新开始建立一个卷积神经网络是一项非常耗时且昂贵的工作。不过,许多API已经实现了在没有内部计算机视觉或机器学习专家的帮助下,完成图像识别的收集工作。
谷歌云视觉是谷歌的视觉识别API,它是以开源式TensorFlow框架为基础的,采用了一个REST API。谷歌云视觉包含了一组相当全面的标签,能够检测单个的对象和人脸。
IBM沃森视觉识别技术是沃森云开发者的重要组成部分。它虽然涵盖了大量的内置类集,但实际上,它是根据你所提供的图像来进行定制类集的训练的。
Clarif.ai是图像识别服务的后起之秀,它采用了一个REST API。值得一提的是,Clarif.ai包含了大量的单元,能够根据特定的情境定制不同的图像识别算法。
上面的这些API更适用于一些普通的图像识别技术,但对于一些特殊的图像识别任务,可能还是需要对症下药,制定专门的解决方案。不过值得庆幸的是,有许多数据库可以处理卷积神经网络计算和优化方面的工作,这或多或少地减轻了数据科学家和开发人员的压力,让他们有更多精力关注于图像识别模型训练。其中,大部分的数据库,包括TensorFlow,深度学习4J和Theano,都已经得到了广泛、成功的应用。更多关于图像识别技术详见商业新知-图像识别

目录
相关文章
|
机器学习/深度学习 存储 人工智能
图像识别——机器眼中的世界
不受地域和语言限制的图片逐渐取代了繁琐而微妙的文字,成为了传词达意的主要媒介。
384 0
|
6天前
|
机器学习/深度学习 人工智能 测试技术
深度学习在图像识别中的应用与挑战
本文探讨了深度学习技术,尤其是卷积神经网络(CNN)在图像识别任务中的最新进展和面临的主要挑战。通过分析不同的网络架构、训练技巧以及优化策略,文章旨在提供一个全面的概览,帮助研究人员和实践者更好地理解和应用这些技术。
36 9
|
2天前
|
机器学习/深度学习 人工智能 算法
深度学习在图像识别中的应用与挑战
本文探讨了深度学习技术在图像识别领域的应用,重点分析了卷积神经网络(CNN)的工作原理及其在处理图像数据方面的优势。通过案例研究,展示了深度学习如何提高图像识别的准确性和效率。同时,文章也讨论了当前面临的主要挑战,包括数据不足、过拟合问题以及计算资源的需求,并提出了相应的解决策略。
|
5天前
|
机器学习/深度学习 人工智能 计算机视觉
探索深度学习在图像识别中的突破与挑战##
本文深入探讨了深度学习技术在图像识别领域的最新进展,重点分析了卷积神经网络(CNN)作为核心技术的演变历程,从LeNet到AlexNet,再到VGG、ResNet等先进架构的创新点。不同于传统摘要形式,本文摘要旨在通过一系列关键里程碑事件,勾勒出深度学习推动图像识别技术飞跃的轨迹,同时指出当前面临的主要挑战,如模型泛化能力、计算资源依赖性及数据偏见问题,为读者提供一个宏观且具体的发展脉络概览。 ##
28 7
|
4天前
|
机器学习/深度学习 分布式计算 并行计算
深度学习在图像识别中的应用与挑战
本文深入探讨了深度学习技术在图像识别领域的应用,分析了当前主流的卷积神经网络(CNN)架构,并讨论了在实际应用中遇到的挑战和可能的解决方案。通过对比研究,揭示了不同网络结构对识别准确率的影响,并提出了优化策略。此外,文章还探讨了深度学习模型在处理大规模数据集时的性能瓶颈,以及如何通过硬件加速和算法改进来提升效率。
|
4天前
|
机器学习/深度学习 人工智能 计算机视觉
深度学习在图像识别中的应用与挑战
【10月更文挑战第38天】本文将深入探讨深度学习如何在图像识别领域大放异彩,并揭示其背后的技术细节和面临的挑战。我们将通过实际案例,了解深度学习如何改变图像处理的方式,以及它在实际应用中遇到的困难和限制。
|
6天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第36天】探索卷积神经网络(CNN)的神秘面纱,揭示其在图像识别领域的威力。本文将带你了解CNN的核心概念,并通过实际代码示例,展示如何构建和训练一个简单的CNN模型。无论你是深度学习的初学者还是希望深化理解,这篇文章都将为你提供有价值的见解。
|
7天前
|
机器学习/深度学习 算法 数据处理
深度学习在图像识别中的应用与挑战
本文深入探讨了深度学习技术在图像识别领域的应用,分析了其背后的原理、主要算法以及在实际场景中的应用效果。同时,文章也指出了当前深度学习在图像识别领域面临的挑战,包括数据不平衡、模型泛化能力、计算资源需求等问题,并展望了未来的研究方向。
|
5天前
|
机器学习/深度学习 算法 自动驾驶
深度学习中的图像识别技术
【10月更文挑战第37天】本文将深入探讨深度学习在图像识别领域的应用,通过解析神经网络模型的构建、训练和优化过程,揭示深度学习如何赋能计算机视觉。文章还将展示代码示例,帮助读者理解并实现自己的图像识别项目。
|
6天前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习中的图像识别技术及其应用
【10月更文挑战第36天】在当今科技飞速发展的时代,深度学习已成为人工智能领域的一颗璀璨明珠。本文将深入探讨深度学习在图像识别方面的技术原理和应用实例,旨在为读者提供一个全面而深入的了解。我们将从基础理论出发,逐步揭示深度学习如何革新了我们对图像数据的处理和理解方式。