炼数成金 门户 商业智能 人工智能 查看内容

图像分类、目标检测、图像分割……一文「计算机视觉」全分析

2017-9-18 10:24| 发布者: 炼数成金_小数| 查看: 21461| 评论: 0|原作者: Shravan Murali|来自: 机器人圈

摘要: 图像分类主要是基于图像的内容对图像进行标记,通常会有一组固定的标签,而你的模型必须预测出最适合图像的标签。这个问题对于机器来说相当困难的,因为它看到的只是图像中的一组数字流。而且,世界各地经常会举办多 ...

网络 模型 计算机 神经网络 计算机视觉

相信大家都有所了解,迄今为止,在至少约十年的时间里,用于解决计算机视觉领域问题的技术已经有了很大的改进。那对于计算机视觉领域存在的问题有哪些呢?一些显著的问题是:图像分类、目标检测、图像分割、图像生成、图像说明等。在本文中,将对这些问题进行简要介绍,并且尝试从人类是如何解读图像的角度去比较和对比一下这些技术。同时,在本文中还将涉及一些关于AGI(通用人工智能)的相关知识,并就此提出一些个人观点和想法。

目的
在深入了解之前,我们可以先从一些公司是如何创造性地使用计算机视觉的获得动力的。从我的角度来说,最酷的初创企业之一是clarifai.com。Clarifai是由Matthew Zeiler(马修•泽勒)创立的,他和他的团队在2013年期间连续赢得了imageNet的挑战赛的胜利。他的模型在上一年的较佳准确度的基础上将图像分类的错误率降低了近4%。Clarifai基本上是一家人工智能公司,为视觉识别任务(如图像和视频标签)提供API。Clarifai在这里有演示。这家公司是非常有前途的,它的图像和视频识别技术是非常准确的。现在我们来看看Facebook的自动图像标记,下次你登录Facebook帐户时,右键点击任何图片,然后点击“检查元素”(这是针对Chrome浏览器而言的;在其他浏览器上也会有相同的东西)。查看img标签中的alt属性(应该看起来像这样“…”)。你会发现alt属性有这样的文本前缀“Image may contain : …..”。这项技术也是非常准确的,可以识别人、文、山、天空、树木、植物、户外和自然等等。而另一个很酷的技术就是Google的了。点击photos.google.com进去之后,然后在搜索栏中输入内容。假设你输入了“山脉”,那么你就可以在包含山脉的搜索结果中准确地找到所有的照片。Google图片搜索也是如此。关于图像搜索的较好部分,反之亦然,即你可以上传图像并获得图像的较佳描述,同时还可获取与上传图像相似的图像,这个技术也是很重要的。

我希望你现在已经拥有了足够的动力,当然肯定还有一大堆其他技术被我忽略了。实际上是因为有很多非常相似的技术,一篇文章是很难涵盖一切的。

那么,我们现在就来了解一些计算机视觉的相关问题!

计算机视觉

图像分类
图像分类主要是基于图像的内容对图像进行标记,通常会有一组固定的标签,而你的模型必须预测出最适合图像的标签。这个问题对于机器来说相当困难的,因为它看到的只是图像中的一组数字流。
 

上图片来自于Google Images

而且,世界各地经常会举办多种多样的图像分类比赛。在Kaggle中就可以找到很多这样的竞赛。最著名的比赛之一就是ImageNet挑战赛。ImageNet实际上是一个很神奇的图像库(截止到编辑本文时,其中就约有1400万张图像),拥有超过20000个图像标签。这是由斯坦福大学计算机视觉实验室维护的。ImageNet挑战或大规模视觉识别挑战(LSVRC)都是一个年度竞赛,其中具有诸如目标分类,目标检测和目标定位等各种子挑战。LSVRC,特别是目标分类的挑战,自从2012年,Alex Krizhevsky实施了著名的AlexNet,将图像的错误率降低到15.7%(在当时从未实现),便开始获得了很多关注。而的结果显示,微软ResNet的错误率为3.57%,Google的Inception-v3已经达到3.46%,而Inception-v4则又向前进了一步。

来源于Alfredo Canziani,Adam Paszke和Eugenio Culurciello于2017年撰写的文章《实际应用中深度神经网络模型的分析》(https://arxiv.org/pdf/1605.07678.pdf)

目标检测
图像中的目标检测涉及识别各种子图像并且围绕每个识别的子图像周围绘制一个边界框。这里有一个例子:
 

上图片来自于Google Images

与分类相比,这个问题要稍微复杂一点,你必须对图像进行更多的操作和处理。现在最著名检测方法叫做Faster-RCNN。RCNN是局部卷积神经网络,它使用一种称为候选区域生成网络(Region Proposal Network,RPN)的技术,实际上是将图像中需要处理和分类的区域局部化。后来RCNN经过调整效率得以调高,现在称之为faster – RCNN,一种用作候选区域生成方法的一部分用以生成局部的卷积神经网络。目前的image-net挑战(LSVRC 2017)有一个目标检测的挑战赛的冠军,被一个名为“BDAT”的团队所囊括,该团队包括来自南京信息工程大学和伦敦帝国理工学院的人员。

图像/实例分割
图像分割或实例分割包括对具有现有目标和较精确边界的图像进行分割。

图片来自于是Google Images

它使用了一种叫做Mask R-CNN的技术,实际上就是我们前面看到的R-CNN技术上的几个卷积层。微软、Facebook和Mighty AI联合发布了这个称为COCO的数据集。它与ImageNet很相似,但它主要用于分割和检测。

图像说明
这是我前面所说的具有一系列自然语言处理的最酷的计算机视觉问题之一。这其中包括生成一个最适合你的图像的标题。
 

图像来自于Google Images

图像说明是基本图像检测+说明。图像检测通过我们前面看到的相同的Faster R-CNN方法完成。字幕使用RNN(循环神经网络)完成。为了更加较精确,使用作为RNN的高级版本的LSTM(长短期记忆网络)。这些RNN非常类似于我们的常规深度神经网络,除了这些,RNN取决于网络的先前状态。你可以想象它更像一个神经网络,神经元随着时间的推移与空间建立。在结构上,RNN看起来像这样:
 


通常,这些RNN用于你的数据与时间相关的问题。例如,如果你想预测一个句子中的下一个单词,那么新单词取决于在之前的时间步骤中出现的所有单词。

现在让我们稍微切换一下主题,看看人类的视觉理解。

为什么人类的视觉理解更好?
在深入了解人类大脑的细节之前,我想讨论一下深度神经网络的缺点。

虽然深度神经网络看起来奇妙而神奇,但不幸的是它们很容易被愚弄。看看这个:

以上图片来自Andrej Karpathy的博客

如图所示,每张图像强加一个噪音图像,视觉上不会改变原始图像,但被错误分类为鸵鸟!

这种攻击被称为深度神经网络的对抗攻击。他们最初由Szegedy等人提出,随后在2013年,由Goodfellow等人进一步研究。基本上发现,通过优化图像中的像素强度,我们可以找到最小的噪声信号,从而优先考虑一个不同类别的深度神经网络,而不是当前的、。这使得生成式模型的快速增长。目前有3种众所周知的生成模型,即Pixel RNN / Pixel CNN,变分自动编码器(Variational Auto-encoders)和生成对抗网络(Generative Adversarial Networks)。

人类视觉理解
虽然我们在开发与计算机视觉相关的酷炫技术方面已经取得了长足的进步,但从长远来看,人类在图像理解方面比任何技术都要好得多。这是因为,机器是非常狭隘的,在某种意义上说,他们只是通过学习固定的图像类别来学习东西。虽然他们可能从大量的图像中学习(代表性的是ImageNet挑战赛中大约有一百万张图像),但它离人类所能做的还很远。我主要把这归因于人脑,确切地说是人脑中的新皮层(neocortex)。新皮层是大脑的一部分,负责识别模式、认知和其他高阶功能,如感知。我们的大脑是如此复杂的设计,它可以帮助我们记住东西,而不是直接转储所需的数据到内存中,就像硬盘一样。大脑相当于存储我们所目击事物的模式,并在必要的时候检索它们。

此外,人类在生活中的每一个时刻都在不断地收集数据(例如,通过视觉采集图像),这与机器不同。我们来举个例子,我们大多数人几乎每天都能看到狗,同样我们会看到狗的不同姿势和不同角度。这意味着,鉴于有狗的图像,我们很可能在图片中识别出一只狗。机器不是这样。机器可能只是针对一定数量的狗的图像进行了训练,因此可能容易被愚弄。如果你提供同一只狗的图像略有不同的姿势,那么可能就会被错误分类。

AI真的可以与“人脑”抗衡吗?
嗯,在过去这是一个非常有争议的话题。我们来分析一下!

在Jeff Dean的演讲中,他提到了自2011年以来大部分已发表的组成深度神经网络的参数数量。如果你注意到,对于人类来说,他提到了“100万亿”。虽然他似乎认为有些像一个笑话,但考虑到人脑所能处理的复杂事物的数量,这似乎是千真万确的。假设我们的大脑是复杂的,设计一个具有这么多参数的系统是否更为实用?

那么在人工智能领域有一些重大的突破,如AlphaGo在围棋游戏中打败世界冠军,OpenAI的Dota2机器人在游戏中多次打败职业玩家。然而,在某种意义上这些东西似乎非常适用,因为Dota2机器人是符合Dota2特性的,而不适用于其他任何东西。相反,人类的大脑是非常通用的。你会用你的大脑进行几乎所有的日常活动。由此我想推断的是,为了与哺乳动物的大脑竞争,我们需要通用人工智能!

一些随想
我会说使用强化学习(RL)(特别是深度加强学习:DRL)使我们更加靠近解决通用智能。 在RL中,智能体自己发现了采取行动的较佳方式。这似乎类似于也是人类如何学习。人类通过了解他们的行为是否正确来学习做事情。以同样的方式,在强化学习中,智能体执行随机动作,每个动作都具有相关的奖励。智能体从获得的动作中学习,即以这样的方式选择一个动作,使其获得的未来全部奖励较大化。

目前这是一个活跃的研究领域,涉及DeepMind和OpenAI等巨头。事实上,DeepMind的主要目标是“解决通用人工智能”!

欢迎加入本站公开兴趣群
商业智能与数据分析群
兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识
QQ群:81035754

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

热门频道

  • 大数据
  • 商业智能
  • 量化投资
  • 科学探索
  • 创业

即将开课

 

GMT+8, 2018-12-17 00:16 , Processed in 0.175374 second(s), 24 queries .