雷锋网按:本文为AI研习社编译的技术博客,原标题 An analysis on computer vision problems,作者为 Shravan Murali 。
翻译 | 狒狒 黄伟聪 Lamaric 校对 | Lamaric 整理 | MY
至少在过去十年间,解决计算机视觉领域内各种问题的技术已经有了很大的进步,其中一些值得注意的问题有图像分类、对象检测、图像分割、图像生成、图像字幕生成等。在这篇博客文章中,我将简要地解释其中的一些问题,并尝试从人类如何解读图像的角度比较这些技术。我还将把这篇文章引导到 AGI(人工智能)领域并加入我的一些想法。
动机
在我们深入研究之前,让我们从一些公司如何创造性地使用计算机视觉技术的例子中获得一些动力。据我所知,其中一个最酷的初创公司是 clarifai.com。Clarifai 由 Matthew Zeiler 创立,他的团队在 2013 年赢得了 imageNet 挑战。他的模型将图像分类中的错误率比前一年的最佳精度降低了近 4%。Clarifai 基本上是一个为视觉识别任务提供 API 的 AI 公司,如图像和视频标签。Clarifai 在这里有一个示例。该公司非常有前途,它的图像和视频识别技术非常准确。现在让我们转到 Facebook 的自动图像标记。下次登录你自己的 Facebook 帐户时,右键单击任何图像,然后单击审查元素(这是用于 chrome;其他浏览器上有相同的内容)。查看 img 标记中的 alt 属性(应该看起来像这样:<img src =「…」alt =「…」/>)。您会发现 alt 属性的文本前缀为“Image 可能包含:......”。这项技术现在也很精确。这项技术可以识别人、文本、山脉、天空、树木、植物、户外和自然等等。另一个很酷的技术是 Google 的技术。转到 photos.google.com 并在搜索栏中输入内容。假设您输入的是“山脉”,那么您将准确地将得到所有照片内容都包含山脉的搜索结果,谷歌搜图也是如此。关于图像搜索的最核心部分是,反过来也有效,即,您可以上传图像并获得图像的最佳描述,并获得与上载图像类似的图像。这项技术也很有意义。
好的,我希望你现在已经有了足够的兴趣与动力。但肯定有很多其他类似但是我不曾介绍的技术,事实上仅仅一篇博文不足以让我阐述所有。现在让我们来看看一些计算机视觉领域的问题吧!
计算机视觉
图像分类
图像分类基本上仅涉及基于图像的内容标记图像。通常会有一组固定的标签,您的模型必须预测最适合图像的标签。这个问题对于机器来说肯定很难,因为它看到的只是图像数据中的一连串数字。
上图来自 Google 图片
并且,世界各地通常会举办许多图像分类竞赛。Kaggle 是一个去找到这种比赛的一个非常好的平台。其中最著名的竞赛之一是 ImageNet 挑战赛。ImageNet 根本上说是一个庞大的图像数据库(在撰写本文时大约有 1400 万个图像),包含 20000 多个图像标签。它由斯坦福大学的计算机视觉实验室维护。ImageNet 挑战或者说大规模视觉识别挑战(LSVRC)是一年一度的竞赛,它有各种子类挑战,例如对象分类,对象检测和对象定位。在 LSVRC 中,特别是对象分类挑战,从 2012 年开始获得了很多关注,当时 Alex Krizhevsky 使用了着名的 AlexNet,通过它使得图像的错误率降低到 15.7% 而抢尽风头(当时从未实现过)。而且,看看最新的结果,微软的 ResNet 实现了 3.57% 的错误率,谷歌的 Inception-v3 则达到了 3.46% 错误率,而 Inception-v4 已经在此方面走得更远了。
该图像来自由 Alfredo Canziani,Adam Paszke 和 Eugenio Culurciello 在 2017 年撰写的这篇论文
对象检测
图像中的对象检测涉及识别各种子图像并在每个识别的子图像周围绘制边界框。以下是一个例子:
上图来自 Google 图片
与图像分类相比,这个解决起来要稍微复杂一些。在这里你必须更多地处理图像坐标。目前最著名的检测方法叫做 Faster-RCNN。RCNN 是区域卷积神经网络(Region Convolutional Neural Network)。它使用一种名为候选区域网络(Region Proposal Network)的技术,该技术负责从根本上对图像中需要分类和处理的区域进行局部化。这个 RCNN 模型后来被调整并且效率更高了,现在称为 Faster-RCNN。卷积神经网络通常用作候选区域方法的一部分来生成区域。最近的图像网络挑战(LSVRC 2017)有一个对象探测的挑战,并由一个名为 BDAT 的队包揽前三,该队成员来自南京信息科技大学和伦敦帝国理工学院。
图像分割
图像分割涉及基于现有对象对图像进行分割,具有精确的边界。
图像分割有两种类型,语义分割和实例分割。在语义分割中,您必须通过类对象标记每个像素。基本上,在这种情况下,属于同一类(比如每只猫)的每个对象都将被着色。而在实例分割中,每个对象的分类都不同。这意味着图片中的每只猫都会有不同的颜色。
以深蓝色着色的汽车为例的语义分割:
这是实例分割的典型例子:
上图来自 Google 图片
由上同样可以看出,语义分割是实例分割的子集。因此,接下来我们将着手怎样解决实例分割。
解决此问题的最新已知技术名为 Mask R-CNN,总的来说它是基于我们之前看到的 R-CNN 技术里的几个卷积层。微软、Facebook 和 Mighty Ai 联合放出了这个名为 COCO 的数据集。它类似于 ImageNet,但主要用于分割和检测。
图像描述
这是最酷炫的计算机视觉课题之一,它要结合一点点自然语言处理知识。它包含生成最适合你图像的描述。
上图来自 Google 图片
图像描述根本上是图像检测+描述。图像检测是通过我们之前看到的相同 的 Faster R-CNN 方法完成的。描述使用 RNN(递归神经网络)完成。更确切地说,使用的是 RNN 的高级版本,LSTM(长短期记忆网络)。这些 RNN 网络与我们的常规深度神经网络非常相似,只是这些 RNN 取决于之前的网络状态。你可以把它想象成一个神经网络,神经元随着时间和空间构建。在结构上,RNN 看起来像这样:
通常,这些 RNN 用于数据与时间相关性较大的问题。例如,如果您想预测句子中的下一个单词,那么新单词取决于前一个时间步骤中显示的所有单词。现在让我们更深入一点,着眼于人类的视觉理解。
为什么人类更善于视觉理解?
在深入了解壮丽的人类大脑的细节之前,我想先讨论这些深度神经网络的缺点。
虽然深度神经网络似乎很精彩和神奇,但遗憾的是它们很容易被愚弄。看看这个 :
上图来自 Andrej Karpathy 的博客
如图所示,每张图像都是用一个噪点图像处理之后的,它在视觉上根本不会改变原始图像,但却被错误分类为鸵鸟!
此类攻击称为深度神经网络上的对抗攻击。他们最初由 Szegedy 等人在 2013 年提出。然后由 Goodfellow 等人在 2014 年进一步发展。在此基础上我们发现,可以通过优化图像中的像素强度来找到最小噪声信号,以优先考虑深度神经网络中的不同类而不是当前的类。这促成了生成模型的发展。目前有 3 种众所周知的生成模型,即 Pixel RNN / Pixel CNN,变分自动编码器和生成性对抗网络。
......
想要继续阅读,请移步至我们的AI研习社社区:https://club.leiphone.com/page/TextTranslation/678
更多精彩内容尽在 AI 研习社。
不同领域包括计算机视觉,语音语义,区块链,自动驾驶,数据挖掘,智能控制,编程语言等每日更新。
雷锋网雷锋网(公众号:雷锋网(公众号:雷锋网)