计算机视觉:机器如何看懂世界并影响我们的生活?
几十年来,人们一直梦想着创造出具有人类智能特征的机器,这些机器可以像人类一样思考和行事。其中最引人入胜的想法之一就是让计算机能够「看到」并解释周围的世界。昨日的虚构故事今天已成为现实。
得益于人工智能和计算能力的进步,计算机视觉技术已经朝着融入我们日常生活的方向大步迈进。预计到2022年,计算机视觉市场将达到486亿美元,这将使其成为一项极具潜力的用户体验技术。
本文,我们将一起了解计算机视觉的概念,讨论这项技术的发展方式,以及分享一些可以将其应用到我们日常生活中的优秀示例。
什么是计算机视觉?
计算机视觉(Computer Vision)属于计算机科学领域,其专注于创建可以像人类一样处理、分析和理解视觉数据(图像或视频)的数字系统。计算机视觉的概念是教会计算机处理像素级别的图像并理解它。从技术上讲,机器尝试通过特殊的软件算法来对视觉信息进行检索、处理并解释其结果。
人类视觉和计算机视觉系统以相似的方式处理视觉数据。图片来源:manning (https://freecontent.manning.com/mental-model-graphic-grokking-deep-learning-for-computer-vision/)以下是计算机视觉系统可用于的一些常见任务:
- 对象分类。系统解析视觉内容并将照片/视频上的对象按照已定义的分类进行归类。例如,系统可以在图像中的所有对象中找到「狗」这个对象。
- 对象识别。系统解析视觉内容并识别照片/视频上的特定对象。例如,系统可以在图像中各种各样的狗之间找到「特定的狗」。
- 对象跟踪。系统处理视频以找到符合搜索条件的一个或多个对象并跟踪其动静。
计算机视觉如何工作?
计算机视觉技术倾向于模仿人脑的工作方式。但是我们的大脑是如何解决视觉对象识别的呢?一种流行的假说指出,我们的大脑依靠模式来解码单个对象。此概念被用来创建计算机视觉系统。
我们今天使用的计算机视觉算法是基于模式识别的。我们使用大量的可视数据训练计算机,包括让计算机处理图像、在图像上标记对象、并在这些对象中找到图案。例如,如果我们发送了一百万张有关「花」的图片,计算机将对其进行分析,识别出与所有花相似的模式,并在此过程结束时创建一个「花」的模型。这样一来,每次我们给计算机发送图片时,计算机就能准确地检测出特定的图像是否是花朵。
Golan Levin 在他的文章图像处理和计算机视觉中提供了有关机器在解释图像时所遵循的过程的技术细节。简而言之,机器将图像解释为一系列像素,每个像素都有自己的一组颜色值。例如,下面是一张林肯的图片。此图像中每个像素的亮度由一个8位数字表示,范围从0(黑色)到255(白色)。这些数字是软件在输入图像时看到的。这些数据为计算机提供视觉算法的来源,该算法将负责进一步的分析和决策。
单个像素的颜色值被转换为简单的数字数组,用作计算机视觉算法的来源。图片来源:openframeworks (https://openframeworks.cc/ofBook/chapters/image_processing_computer_vision.html)计算机视觉的演变
计算机视觉并不是一项新技术。最早的计算机视觉实验开始于20世纪50年代,当时,计算机视觉是用来解析打字和手写文字的。当时,计算机视觉的分析程序相对简单,并且需要大量的人工操作,操作人员必须手动提供数据样本进行分析。你可能也猜到了,人工操作很难提供大量的数据,再加上计算能力有限,这种分析的误差率相当高。
今天,我们并不缺乏强大的计算能力。云计算加上强大的算法,可以帮助我们解决最复杂的问题。但是,不仅仅是新硬件与先进算法的结合在推动着计算机视觉技术的发展,我们每天生成的大量可公开获得的视觉数据也在推动着这项技术的进程。根据福布斯的数据,用户每天在线共享超过30亿张图像,这些数据被用来训练计算机视觉系统。
深度学习革命
要了解计算机视觉技术的最新进程,我们需要深入了解这项技术所依赖的算法。现代计算机视觉依赖于深度学习(Deep Learning),这是机器学习的一个特定子集,它使用算法从数据中收集见解。另一方面,机器学习依赖于人工智能,而人工智能是这两种技术的基础。
深度学习适用于机器学习(人工智能的子集)内部。 图片来源:Nvidia (https://blogs.nvidia.com/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-deep-learning-ai/)深度学习代表一种更有效的计算机视觉方法,它使用一种称为神经网络(Neural Network)的特定算法。神经网络用于从提供的数据样本中提取模式。该算法的灵感来自于人类对大脑功能的理解,特别是大脑皮层中神经元之间的相互联系。
神经网络的核心层是感知器(Perceptron),它是生物神经元的数学表示。与大脑皮层中的生物神经元类似,可以有几层相互连接的感知器。输入值(原始数据)通过感知器创建网络传递,最后进入输出层,这是一种预测,或者说是对某一对象的高度培养猜测。例如,在分析结束时,机器可以以X%的置信度对某个对象进行分类。
机器学习使用算法来解析数据,而深度学习则依赖于人工神经网络(ANN)的层数。图片来源:Quora (https://www.quora.com/What-is-the-difference-between-deep-learning-and-usual-machine-learning)我们可以在哪些地方应用计算机视觉技术
有些人认为计算机视觉是来自遥远的设计未来的东西。并非如此。计算机视觉已经融入到我们日常生活的许多领域。以下是我们今天如何使用这项技术的几个著名示例:
内容组织
计算机视觉系统已经开始帮助我们组织内容。苹果照片(Apple Photos)就是一个很好的例子。这款应用可以访问我们的照片集,并且会自动为照片添加标签,让照片集浏览起来更加结构化。苹果照片的伟大之处在于,它可以为你创建最佳时刻的精选图集。
在iOS版照片的「为你推荐 For You」中,你可以查看该应用程序创建的特色内容,以便查看自己喜欢的时刻。 图片来源:Apple (https://support.apple.com/en-us/HT207368)面部识别
面部识别技术用于将人脸照片与其身份进行匹配。这项技术已被集合到我们每天使用的主要产品中。例如,Facebook正在使用计算机视觉来识别照片中的人物。
面部识别是生物认证的关键技术。目前市场上的许多移动设备都允许用户进行面部解锁。前置摄像头用于面部识别,紧接着移动设备将处理此图像,并根据分析结果来判断持有该设备的人员是否在此设备上得到了授权。这项技术的美丽之处在于它工作速度非常快。
增强现实
计算机视觉是增强现实(Augmented Reality)应用程序的核心元素。该技术可帮助AR应用程序实时检测物理对象(包括表面和特定物理空间内的单个物体),并利用这些信息将虚拟对象放置在物理环境中。
Ikea Place应用程序使用AR帮助用户了解他们想要购买的家具是否匹配他们的室内空间。图片来源:Wired (https://www.wired.com/story/ikea-place-ar-kit-augmented-reality/)自动驾驶汽车
计算机视觉使汽车能够对周围环境进行感知。智能汽车具有很多个摄像头,这些摄像头可以从不同角度捕获视频,并将视频作为输入信号发送到计算机视觉软件。系统会对视频进行实时处理,并检测道路标记、汽车附近的物体(例如行人或其他车辆)、交通信号灯等物体。该技术著名的应用实例之一就是特斯拉的自动驾驶。
健康
影像信息是医学诊断的关键要素,因为它占所有医学数据的90%。健康领域的许多诊断均基于图像处理:X射线、MRI和乳腺X光检查等等。而图像分割(Image Segmentation)在医学扫描分析中证明了其有效性。例如,计算机视觉算法可以检测到糖尿病视网膜病变,这是增长最快的致盲原因。计算机视觉可以处理眼球背面的图片(见下图),并对其疾病的存在和严重程度进行评级。
计算机视觉算法可用于处理视网膜眼底照片以筛查糖尿病视网膜病变。图片来源:ai.googleblog (https://ai.googleblog.com/2016/11/deep-learning-for-detection-of-diabetic.html)癌症检测则是另一个显著的例子。准确诊断不同形式的癌症至关重要。根据一篇来自谷歌的文章,计算机视觉工具协助检测癌症转移的精确度远高于人类医生。在下图中,你可以看到一个淋巴结活检的特写。该组织中包含了乳腺癌转移以及看起来与肿瘤相似但属于良性的区域。计算机视觉算法成功地识别了肿瘤区域(亮绿色),并且不会被看起来像肿瘤的正常区域所混淆。
在淋巴结活检过程中应用计算机视觉技术可以帮助检测肿瘤区域。图片来源:谷歌(https://ai.googleblog.com/2017/03/assisting-pathologists-in-detecting.html)农业
许多农业组织采用计算机视觉系统来监测收获情况,并解决常见的农业问题,如杂草出苗或营养缺乏等。计算机视觉系统处理来自卫星、无人机或飞机的图像,并试图在早期阶段发现问题,这有助于避免不必要的经济损失。
总结
计算机视觉是关于新技术的热门话题。使用数据的不同方法是这项技术与众不同的地方。 我们每天创建的大量数据,有些人认为是我们这一代人的诅咒,但实际上这些数据是用来为我们造福的:数据可以教会计算机去观察和理解对象。这项技术也展示了人类文明迈出的重要一步,即创造了与人类一样复杂的人工智能。
英文原文:https://xd.adobe.com/ideas/principles/emerging-technology/what-is-computer-vision-how-does-it-work/
原文作者:Nick Babich
编译作者:微博/公众号@设计吐司