什么是计算机视觉以及它是如何工作的

280 阅读8分钟

计算机视觉

我们自动感知和解释来自我们周围世界的视觉信息。因此,实现计算机视觉可能看起来是一个微不足道的任务。但是,人为地模拟一个花了几百万年才进化出来的过程,真的那么容易吗?

如果你想了解更多关于计算机视觉技术背后的内容以及ML工程师如何教机器看东西,请阅读这篇文章。

什么是计算机视觉?

计算机视觉是人工智能和机器学习的一个领域,研究允许训练计算机感知和解释现实世界的视觉信息的技术和工具。

观察 "世界是容易的部分:为此,你只需要一个摄像头。然而,仅仅将相机连接到电脑上是不够的。具有挑战性的部分是对图像和视频中的物体进行分类和解释,以及它们之间的关系和正在发生的事情的背景。我们希望计算机能够做到的是,能够解释图像、视频片段或实时视频流中的内容。

这意味着,计算机必须有效地解决这三项任务:

  • 自动理解图像中的物体是什么以及它们的位置。
  • 对这些物体进行分类并理解它们之间的关系。
  • 理解场景的背景。

换句话说,这个领域的一个总体目标是确保机器对图像的理解和人类一样好或更好。正如你将在后面看到的,这相当具有挑战性。

计算机视觉是如何工作的?

为了使机器识别视觉对象,必须对其进行数十万个例子的训练。例如,你希望有人能够区分汽车和自行车。你会如何向人描述这项任务?

通常,你会说,自行车有两个轮子,而机器有四个。或者说,自行车有脚踏板,而机器没有。在机器学习中,这被称为特征工程

computer vision: bicycle vs car

然而,正如你可能已经注意到的,这种方法远非完美。有些自行车有三个或四个轮子,而有些汽车只有两个。另外,摩托车和轻便摩托车的存在也会被误认为是自行车。该算法将如何对这些进行分类?

当你建立越来越复杂的系统时(例如,面部识别软件),错误分类的情况变得更加频繁。简单地说明每个人的眼睛或头发的颜色是不行的:ML工程师必须进行数以百计的测量,如眼睛之间的空间,眼睛和嘴角之间的空间,等等,以便能够描述一个人的脸。

此外,这样一个模型的准确性还有待提高:改变灯光、面部表情或角度,你就必须重新开始测量。

以下是解决计算机视觉问题的几个常见障碍。

不同的照明

对于计算机视觉来说,收集关于真实世界的知识是非常重要的,这些知识代表了不同种类的照明下的物体。一个过滤器可能使一个球看起来是蓝色或黄色的,而事实上它还是白色的。一个红色的物体在红灯下会变得几乎不可见。

filters

噪声

如果图像有很多噪音,计算机视觉就很难识别物体。计算机视觉中的噪声是指图像中的个别像素看起来比它们应该有的更亮或更暗。例如,当外面下雨或下雪时,检测道路上的违规行为的视频摄像机的效果要差很多。

不熟悉的角度

从几个角度拍摄物体的照片很重要。否则,如果角度发生变化,计算机将无法识别它。

cat angles

重叠

当图像上有一个以上的物体时,它们可以重叠。这样一来,物体的一些特征可能会被隐藏起来,这使得机器更难识别它们。

不同类型的物体

属于同一类别的事物可能看起来完全不同。例如,有很多类型的灯,但算法必须同时成功识别床头灯和吸顶灯。

lamps

虚假的相似性

来自不同类别的物品有时会看起来很相似。例如,你可能遇到过一些人,在从某个角度拍摄的照片上让你想起了某个名人,但在现实生活中却没有那么多。误认的案例在简历中很常见。例如,在一些照片中,萨摩耶小狗很容易被误认为是小北极熊。

几乎不可能考虑到所有这些情况并通过特征工程来防止它们。这就是为什么今天,计算机视觉几乎完全由深度人工神经网络主导。

卷积神经网络在提取特征方面非常高效,可以让工程师节省人工工作的时间。VGG-16和VGG-19是最突出的CNN架构之一。 诚然,深度学习需要大量的例子,但这并不是一个问题:每年大约有6570亿张照片被上传到互联网上!

计算机视觉的用途

Uses of computer vision

解释数字图像和视频在许多领域都很有用。让我们看看其中的一些使用案例:

  • 医学诊断:图像分类和模式检测被广泛用于开发软件系统,协助医生诊断危险的疾病,如肺癌。一组研究人员已经训练了一个人工智能系统来分析肿瘤患者的CT扫描。该算法显示出95%的准确性,而人类--只有65%。

  • 工厂管理:以最大的精度检测制造中的缺陷是很重要的,但这是具有挑战性的,因为它往往需要在微观规模上进行监测。例如,当你需要检查数十万个螺钉的螺纹时。计算机视觉系统使用摄像机的实时数据,并应用ML算法来分析数据流。这样就很容易找到低质量的物品。

  • 零售业:亚马逊是第一家开设没有任何收银员或收银机的商店的公司。Amazon Go安装了数百个计算机视觉摄像机。这些设备追踪顾客放在购物车中的物品。摄像机还能够追踪顾客是否将产品放回货架,并从虚拟购物车中取出。顾客通过Amazon Go应用程序收费,消除了排队等候的必要性。摄像机还可以防止入店行窃,并防止被淘汰的产品。

  • 安全系统:面部识别被用于企业、学校、工厂,以及基本上任何重视安全的地方。美国的学校应用面部识别技术来识别性犯罪者和其他罪犯,减少潜在威胁。这种软件还可以识别武器,以防止学校的暴力行为。同时,一些航空公司使用人脸识别技术来识别乘客和办理登机手续,节省时间并降低检票成本。

  • 动物保护:生态学家受益于使用计算机视觉来获得有关野生动物的数据,包括跟踪稀有物种的运动,它们的行为模式等,而不会给动物带来麻烦。CV提高了科学发现的图像审查的效率和准确性。

  • 自动驾驶汽车:通过使用传感器和摄像头,汽车已经学会识别它们周围的保险杠、树木、电线杆和停放的车辆。计算机视觉使它们能够在没有人类监督的情况下在环境中自由移动。

计算机视觉的主要问题

computer vision problems

计算机视觉在各种不同的领域为人类提供帮助。但其发展的可能性是无穷的。以下是一些尚待改进和发展的领域。

场景理解

CV擅长寻找和识别物体。然而,它在理解场景的背景方面遇到了困难,特别是在非琐碎的情况下。例如,请看这张图片。你认为他们在做什么(不要看网址!)?

你会立即明白,这些是头上戴着纸板箱的孩子。这不是什么后现代艺术,试图揭露学校教育的无意义性。这些孩子正在观看日食。但如果你没有这个背景,你可能永远不会明白发生了什么。人工智能在绝大多数情况下仍然是这样的感觉。为了改善这种情况,我们需要发明通用人工智能(即其解决问题的能力可能性或多或少与人类相当,并且可以普遍应用的人工智能),但我们离这样做非常遥远

隐私问题

计算机视觉与隐私有很大关系,因为不同国家的政府正在采用人脸识别系统来促进国家安全。安装在莫斯科地铁里的人工智能摄像机有助于抓捕罪犯。同时,中国当局对维吾尔族人(一个穆斯林少数民族)进行剖析,并把他们挑出来进行追踪和监禁。当面部识别无处不在时,你所做的一切都可能受到政策和耻辱的影响。人工智能伦理学家仍需弄清楚无所不在的简历对公众福祉的影响。

总结

计算机视觉是一个创新的领域,它使用最新的机器学习技术来建立软件系统,在不同的领域协助人类。从零售业到野生动物保护,智能算法解决了图像分类和模式识别的问题,有时甚至比人类更好。