针对计算机视觉一些问题的分析

本文为AI研习社编译的技术博客,原标题 An analysis on computer vision problems,作者为 Shravan Murali 。翻译 | 狒狒 黄伟聪 Lamaric 校对 | Lamaric 整理 | MY

至少在过去十年间,解决计算机视觉领域内各种问题的技术已经有了很大的进步,其中一些值得注意的问题有图像分类、对象检测、图像分割、图像生成、图像字幕生成等。在这篇博客文章中,我将简要地解释其中的一些问题,并尝试从人类如何解读图像的角度比较这些技术。我还将把这篇文章引导到 AGI(人工智能)领域并加入我的一些想法。

动机

在我们深入研究之前,让我们从一些公司如何创造性地使用计算机视觉技术的例子中获得一些动力。据我所知,其中一个最酷的初创公司是 clarifai.com(http://clarifai.com/)。Clarifai 由 Matthew Zeiler (http://www.matthewzeiler.com/)创立,他的团队在 2013 年赢得了 imageNet 挑战(http://www.image-net.org/challenges/LSVRC/)。他的模型将图像分类中的错误率比前一年的最佳精度降低了近 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(http://cocodataset.org/)的数据集。它类似于 ImageNet,但主要用于分割和检测。

图像描述

这是最酷炫的计算机视觉课题之一,它要结合一点点自然语言处理知识。它包含生成最适合你图像的描述。

上图来自 Google 图片

图像描述根本上是图像检测+描述。图像检测是通过我们之前看到的相同 的 Faster R-CNN 方法完成的。描述使用 RNN(递归神经网络)完成。更确切地说,使用的是 RNN 的高级版本,LSTM(长短期记忆网络)。这些 RNN 网络与我们的常规深度神经网络非常相似,只是这些 RNN 取决于之前的网络状态。你可以把它想象成一个神经网络,神经元随着时间和空间构建。在结构上,RNN 看起来像这样:

通常,这些 RNN 用于数据与时间相关性较大的问题。例如,如果您想预测句子中的下一个单词,那么新单词取决于前一个时间步骤中显示的所有单词。现在让我们更深入一点,着眼于人类的视觉理解。

为什么人类更善于视觉理解?

在深入了解壮丽的人类大脑的细节之前,我想先讨论这些深度神经网络的缺点。

虽然深度神经网络似乎很精彩和神奇,但遗憾的是它们很容易被愚弄。看看这个 :

上图来自 Andrej Karpathy 的博客

如图所示,每张图像都是用一个噪点图像处理之后的,它在视觉上根本不会改变原始图像,但却被错误分类为鸵鸟!

此类攻击称为深度神经网络上的对抗攻击。他们最初由 Szegedy 等人在 2013 年提出。然后由 Goodfellow 等人在 2014 年进一步发展。在此基础上我们发现,可以通过优化图像中的像素强度来找到最小噪声信号,以优先考虑深度神经网络中的不同类而不是当前的类。这促成了生成模型的发展。目前有 3 种众所周知的生成模型,即 Pixel RNN / Pixel CNN,变分自动编码器和生成性对抗网络。

人类的视觉理解

尽管我们在开发与计算机视觉相关的炫酷技术方面已经取得了长足的进步,但从长远来看,人类在图像理解方面比其他任何技术都要好得多。这是因为,机器是非常狭隘的,它们只是通过浏览固定类别的图像来学习东西。虽然他们可能从大量的图像中学习(通常大约有一百万数量级的图像网络挑战),但它并不像人类可以做的那样接近。我想主要归结于这样人的大脑,正是对人的大脑新皮层。大脑皮层是大脑的一部分,负责模式识别,认知和其他更高阶的功能,如感知。我们的大脑设计错综复杂,它可以帮助我们记住内容,而不必像硬盘那样直接将所需数据转储到内存中。大脑相当存储我们见证的东西的模式,并在必要时随后检索它们。

此外,与机器不同,人类在生命的每个阶段都会不断收集数据(例如,通过视觉收集图像)。我们来举个例子吧。我们大多数人几乎每天都会看到狗。这也意味着我们会看到不同姿势和不同角度的狗。因此,给定一个有狗的图像,我们很有可能在图片中识别出一只狗。但这对于机器来说并非如此。机器可能仅针对一定数量的狗图像进行训练,因此可能很容易被愚弄。如果您以略微不同的姿势训练同一只狗的图像,它可能会被错误分类。

AI 真的可以与「人脑」竞争吗?

嗯,这在过去是一个非常有争议的话题。让我们一起来分析吧!

在 Jeff Dean 的一次演讲中,他提到了自 2011 年以来大部分已发布的神经网络构成深度神经网络的参数数量。如果你注意到,对于人类来说,他提到了「100 兆」。虽然他似乎已经考虑过一些类似笑话的东西,但考虑到人类大脑可以处理的复杂事物的数量,这似乎是相当真实的。假设我们的大脑是那么复杂,那么设计一个有这么多参数的系统是否实用?

是的,人工智能领域近期有一些重大突破,例如 AlphaGo 在围棋对弈中击败世界冠军,OpenAI 的 Dota2 机器人在 Dota2 游戏中击败游戏专家等等。然而,从某种意义上说,这些东西看起来非常狭小,Dota2 机器人特定使用于 Dota2,而不是其他任何东西。相反,人类的大脑非常通用。我们几乎所有的日常活动都会使用到大脑。由此我想说的是,为了与哺乳动物的大脑之间竞争,我们需要一个通用的人工智能!

一些随意的想法

我想说使用强化学习(RL)(特别是深度强化学习:DRL)让我们更接近解决一般情况。在 RL 中,agent 通过试探行为对环境的影响来发现采取行动的最佳方式。这似乎也类似于人类学习东西的方式。人类通过了解他们的行为是否正确来学习做事。以同样的方式,在强化学习中,agent 执行随机动作,并且每个动作都具有相关的奖励。agent 从奖励中获知它为动作获得的动作,即 agent 以这样的方式选择动作,使得它获得的总未来奖励最大化。

这是一个活跃的研究领域,涉及像 DeepMind 和 OpenAI 这样的巨头。事实上,DeepMind 的座右铭是“解决通用人工智能”!

原文链接:https://medium.com/deep-dimension/an-analysis-on-computer-vision-problems-6c68d56030c3

原文发布于微信公众号 - AI研习社(okweiwu)

原文发表时间:2018-08-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能LeadAI

条件概率,全概率,贝叶斯公式理解

简介 学过概率理论的人都知道条件概率的公式:P(AB)=P(A)P(B|A)=P(B)P(A|B);即事件A和事件B同时发生的概率等于在发生A的条件下B发生的概...

89510
来自专栏智能算法

程序化广告交易中的点击率预估

指标 广告点击率预估是程序化广告交易框架的非常重要的组件,点击率预估主要有两个层次的指标: 1. 排序指标。排序指标是最基本的指标,它决定了我们有...

3216
来自专栏PPV课数据科学社区

三张图读懂机器学习 :基本概念、五大流派与九种常见算法

机器学习正在进步,我们似乎正在不断接近我们心中的人工智能目标。语音识别、图像检测、机器翻译、风格迁移等技术已经在我们的实际生活中开始得到了应用,但机器学习的发展...

4005
来自专栏AI科技评论

开发 | 聊聊数据挖掘竞赛中的套路与深度学习的局限

AI 科技评论按:本文原作者兔子老大,原载于其知乎专栏——MLの玄学姿势。转载已获得授权。 前言 刚好在暑假通过参加 kaggle 的 Zillow Prize...

3925
来自专栏黄成甲

数据挖掘算法及相关应用

我们生活在信息爆炸的时代,每时每刻都在产生海量的数椐。我们在微博、微信、社交网站、门户网站、移动终端等众多的设备商产生的海量数据,面临着无法处理数据的困境。例如...

1212
来自专栏AI研习社

BAT资深算法工程师Deep Learning读书分享

「Deep Learning」是机器学习领域的重磅书籍,不管你有没有入手开始阅读,AI 研习社都希望给大家提供一个共同讨论、共同提高的机会。我们请来了曾在百度和...

36910
来自专栏AI研习社

无监督学习和 transformers 如何在 OpenAI 手里玩出新花样

AI 研习社按:OpenAI 近期更新了一篇博客,他们利用一个任务无关的可扩展系统在多语言任务上取得了卓越进展。论文及代码已经公布。他们的方法结合了 trans...

944
来自专栏新智元

【AAAI oral】阿里北大提出新attention建模框架,一个模型预测多种行为

作者:周畅,白金泽,宋军帅,刘效飞,赵争超,陈修司,高军 【新智元导读】本文提出一种基于注意力机制的用户异构行为序列的建模框架,并将其应用到推荐场景中。作者提出...

4289
来自专栏PPV课数据科学社区

从语言学到深度学习NLP,一文概述自然语言处理

本文从两篇论文出发先简要介绍了自然语言处理的基本分类和基本概念,再向读者展示了深度学习中的 NLP。这两篇论文都是很好的综述性入门论文,希望详细了解自然语言处理...

3395
来自专栏AI科技评论

斯坦福AI实验室又一力作:深度学习还能进一步扩展 | CVPR2016最佳学生论文详解

结构递归神经网络: 时空领域图像中的深度学习 联合编译:陈圳、章敏、李尊 摘要 虽然相当适合用来进行序列建模,但深度递归神经网络体系结构缺乏直观的高阶时空架构。...

3336

扫码关注云+社区