【重磅】Facebook开源机器视觉工具,从像素点中发现规律

 导读


电脑是否能够像人眼一样轻松分辨出一张照片里的不同物体呢?


当我们人类看一张图片时,为了分辨不同的物体,我们能细致到一个个像素的水平。在脸书的人工智能研究中心(Facebook AI Research, FAIR),我们正在将计算机视觉技术推向一个全新的阶段——我们的目标是让计算机能像人类一样,从像素的水平去分析图像和物体。

在过去的几年当里,深度卷积神经网络的发展和前所未有的强大计算架构的到来,已经让计算机视觉系统在精确度和计算能力方面得到了迅速提升。我们已经见证了在图像归类(这张图像中有什么?)以及物体检测(这些物体在哪儿?)领域的巨大进步。请参阅下图(a)和图(b)。但这些还只是计算机理解任意图像或视频中相关视觉内容的起步阶段。近期,我们正在设计一种能够在图像中识别和区分每一个物体的技术,如下面最右边的图(c)所示,这是一种将会带来全新应用前景的关键性技术革新。


 

驱动这项进步的主要的新算法是DeepMask1分割框架加上我们的新SharpMask2分割提纯模块。同时,它们使得FAIR的计算机视觉系统变得能够检测和精确地勾画出图像中每一个物体的轮廓。我们这项识别过程的最后一个阶段使用了一种特殊的卷积网络,我们称之为MultiPathNet3,目的是用其中包含的物体类别(例如:人、狗、羊)来标注每一个目标掩码图像。之后我们会回来简单介绍这里面的细节。

我们正在编写DeepMask+SharpMask以及MultiPathNet的代码,同时还有我们的研究论文和相关的演示小样—这些资源将对所有人开放,我们希望它们能够有助于计算机视觉领域的快速进步。在我们继续改进这些核心技术的同时,我们也将继续发表我们最新的成果,并且不断更新我们面向大众开放的一系列开源工具。


◆ ◆ ◆

从像素点中发现规律

 让我们一起来看看这些算法的建立基础。

请看下面的第一张图(左图)。你看到了什么?一个摄影师正在操作他的老式相机。一块大草坪。背景当中的建筑物。同时你也可能注意到了无数其他的细节。但计算机看不到这些:一张图像被编码成一个数列,而里面每个数都代表着像素点的颜色参数,就如第二张图片(右图)所表示的那样。那么,我们该怎样让机器视觉从像素点走向对一张图像的深层次理解呢?

这不是一个简单的任务,因为物体和场景在现实世界中千变万化。物体的形状、外表,它们的大小、位置,它们的质地和颜色等等,都在变化。再加上真实场景、变化的背景以及光线条件固有的复杂性,以及我们这个世界本身的丰富多彩,你看,这下你可以窥见这个问题对于计算机来说是多大的难题了吧!

让我们走进深度卷积神经网络的世界。

比起试图用编程方式来定义一个基于规则的物体检测系统,深度网络是相对更简单的架构,这个构架中成千上万的参数是训练得到的而不是被设定的。这些网络自动从成百上千已被标注的样例中学习内在的模式,并且我们已经看到,当这样的样例数量足够多的时候,神经网络已经可以开始集成一些新奇的图像了。深度网络特别适应于回答关于图像的是/否的问题(分类)——例如,图像中是否包含了一只绵羊?

◆ ◆ ◆

分割物体

那么,我们如何在将深度网络应用到检测和分割当中去呢?我们在DeepMask当中采用的技术是把分割过程看做是一系列的二元分类问题。首先,对一副图像中的每一个(有重叠的)小块区域,我们提出问题:这个区块是否包含物体?接着,如果第一个问题的答案是肯定的,那么,对这个区块中的每一个像素点,我们提出问题:这部分像素是否是这个中心物体的一部分呢?我们采用深度网络来回答每一个是/否问题,并且通过聪明地设计我们所使用的网络,每一个区块和像素的计算结果将是共享的,这样,我们就可以快速地发现并且分割图像中的每一个物体。

DeepMask使用的是一种相当传统的正反馈深度网络设计。在这样的网络中,随着网络阶段的逐渐深入,信息变得越来越抽象,并且在语义上意义丰富。例如,深度网络在浅层的分析可能可以抓住一些边缘或者大概的信息,而更深层次的分析则倾向于抓住一些例如动物面貌或肢体这类更加语义丰富的信息。设计上讲,这些深层分析所具有的的特征是在一个相当低的空间分辨率下计算的(既是出于计算上的原因,也是为了在像素位置小幅变化的情况下能保持结果稳定)。这为掩码图像的预测带来了一个问题:深层次的特征虽然能够抓住物体的整体形状,但却不能精确地分割物体的明确界限。

因此我们转向SharpMask。SharkMask细化了DeepMask的输出结果,它能输出具有更高保真度的图层,以便更准确地勾画出物体界限。如果说DeepMask在网络中通过正反馈的方法预测了一个粗略的物体轮廓,SharpMask则在深度网络中利用逆向信息,通过逐渐使用更浅层次的信息来提炼DeepMask的预测结果。这么想吧,为了抓住物体的整体形状,我们必须对我们正在观察的物体(DeepMask)具备一个高度的理解,但为了更准确地描述物体的边界,你需要回头去从低至像素的角度观察它的特征(SharpMask)。其实,我们的目标就是在运营成本最小化的前提下充分利用网络中各层次的信息。

下面是一些由DeepMask绘制,并由SharpMask提炼的一些例子。为了使这些可视化结果简单易懂,我们只展示了其中极好地匹配了实际物体的一些预测掩码图像(人工注解)。请注意,这个系统还不是完美的,图中具有红色边界的物体正是那些由人工标注,但被DeepMask忽视掉了的物体。

◆ ◆ ◆

物体分类

DeepMask对某个特定的物体类别一无所知,因此它虽然能勾画出一只狗和一只羊,但无法区分它们。而且,DeepMask也不会精挑细选,对无关紧要的局部也会生成掩码图像。因此,我们怎么缩小相关掩码图像范围,识别实际呈现之物?

正如你所期待的,我们再一次求助于深度神经网络(deep neural network)。给定一个由DeepMask产生的掩码图像,我们训练了另外一个深度神经网络来对物体的掩码图像进行分类(“无法分类”也是一个有效答案。)。

这里,我们遵循了一个基本的模式叫做 Rigion-CNN,或者缩写为RCNN,(这个领域的开路先锋Ross Girshick现在也是FAIR的一员了。)RCNN分两个阶段:第一个阶段是将注意力吸引到某些特定的图像区,第二个阶段使用一个深度网络来确认呈现的物体。

 开发RCNN时,第一阶段的处理还非常原始,通过使用DeepMask来作为RCNN的第一阶段,同时开发深度神经网络的能力,我们在检测的准确性上获得了显著的提升,也获得了对物体进行分割的能力。

为了进一步提高性能,我们把精力集中在一个特别的神经网络构架上来对掩码图像进行分类(RCNN的第二个阶段)。如我们所讨论的,真实世界的图片里包含了物体的各种尺度,各种背景,各种杂乱,各种隐藏。标准的深度网络在这种情况下就有困难了。为了解决这个问题,我们搭建了一个改良的神经网络,叫做MultiPathNet(多路径网络)。

就像它的名字,MultiPathNet允许信息从网络的多个路径流通,使得它可以在不同的尺度和不同的环境背景下找到信息。

总而言之,我们的物体检测系统遵循三步走程序:

  1. DeepMask产生最初的物体掩码图像
  2. SharpMask 细化这些掩码图像, 最终
  3. MultiPathNet 确认由各个掩码图像勾画的物体。

以下是几个我们整套系统产生的输出例子:

不完美也不寒碜。要知道,几年前实现这些功能的技术根本不存在!

◆ ◆ ◆

大范围的应用

视觉识别技术应用范围很广。在此基础上,计算机可以识别图片中的物体,比如,无须为每张照片加上标签,即可更容易地搜索某些图片。失去视觉的人们也可以理解他们的朋友所分享的图片中的内容,因为无论图片是否配有说明文字,系统都可以告诉他们。

最近,我们演示了为盲人用户开发的技术:评估照片,描述其内容。目前,视觉障碍的用户在脸书新信息推送中遇到图片时,只能听到照片发送者的名字,以及“图片”这个词。而我们的目的是提供更加丰富的描述,比如“图片包含海滩,树,和三个微笑的人”。

更进一步,放大我们正在开发的技术,我们的目标是更加沉浸式的虚拟体验:当用户用手指扫过图片时,系统为他们描述所触摸的内容,这样用户好像真的“看”到了照片一样。

继续前行,我们会继续改善检测和分割算法。你可以设想这种图像检测、分割、确认能力应用在商业、健康等其他增强现实领域的那一天。

另外,我们的下一个挑战是将这些技术应用在视频中。在视频中,物体是移动的,交互的,随时间变化的。对于观看视频,对其中的物体进行实时理解和分类,我们已经在计算机视觉方面取得了一些进展。实时分类能帮助发现相关和重要的直播视频,而应用更好的技术来检测场景、物体、时间和空间上的动作会使得实时解说在某一天成为现实。

原文发布时间为:2016-08-30

时间: 2024-09-19 09:06:33

【重磅】Facebook开源机器视觉工具,从像素点中发现规律的相关文章

Facebook 开源新工具,可用于快速查询

https://yqfile.alicdn.com/34fa3818389a4589bff4c8dc9a8cfc39415d4b45.png" > Facebook 作为跟 Google 一样对开源有重大贡献的公司,经过几个月的时间的努力,开源了一个 Haskell 远程数据访问库 Haxl. Haxl 是一个 Haskell 库简化了远程数据的访问,例如数据库.Web 服务等.Haxl 可自动的处理: 批量多请求到同一个数据源 并发访问多个不同的数据源 缓存前一个请求 GitHub 地址

支持Python!Facebook开源预测工具Prophet

Facebook 表示,Prophet 相比现有预测工具更加人性化,并且难得地提供 Python 支持.另外,它生成的预测结果足以和专业数据分析师媲美. Facebook 把预测任务的流程用下图展示出来: 从图中可以看出,预测共分四个流程:建模,预测评估,表面问题和人工检查. 在建模阶段,当前可用的 Python 工具包寥寥无几.最广为人知的 " forecast" ,谷歌开发的 CausalImpact, 以及推特的  AnomalyDetection,均是基于 R 语言.很显然,F

PhalApi-Xhprof -- Facebook开源的轻量级PHP性能分析工具

PhalApi-Xhprof -- Facebook开源的轻量级PHP性能分析工具 前言 Facebook开源的轻量级PHP性能分析工具,非常爽希望大家喜欢 附上: 官网地址:http://www.phalapi.net/ 开源中国Git地址:http://git.oschina.net/dogstar/PhalApi/tree/release 开源中国拓展Git地址:http://git.oschina.net/dogstar/PhalApi-Library 1. 安装 首先需要安装配置Xhp

Facebook解救移动网络 一切将从开源秘密工具开始

硅谷网讯 作为全球第一大移动网站的维护者,Facebook有望大幅改善整个移动网络的质量.该公司的开源团队可能会给予其他的移动网络开发者打造具有本地竞争力的一流网页应用的工具.它或将推出行业期盼已久的相关工具. 它将先从Java动画库着手.Facebook也有可能推出用于监测崩溃.内存泄露.载入时间等情况的实时报告工具,具体取决于它如何定义竞争优势. 据多名Facebook内部人士透露,这样的工具已经存在:问题就在于该公司是否会或者计划何时开源这些可产生重大影响的软件. 而名为Rebound的J

[ATC]Facebook开源弱网模拟工具

需要注意如下:1.笔者使用了linux USB网卡,是让手机去链接制定开启服务的LinuxServer,2.在启动服务的时候需要制定内网网卡名和外网网卡名,这样手机选择内网网卡的时候速度被被限制影响,外网网卡还可以继续访问否则会提示ATC is not running. 3.笔者在自己的H5服务器上成功的搭建了ATC这套系统,中间解决了include问题,queue找不到的问题,页面样式丢失等问题.   在我们之前的网络测试中,主要是限制网速来模拟弱网络环境,而实际中弱网络时,网络延时,丢包率都

Infer —— Facebook 开源静态代码分析工具

Infer 是 Facebook 最新开源的静态程序分析工具,用于在发布移动应用之前对代码进行分析,找出潜在的问题.目前 Facebook 使用该工具来分析 Facebook 的 App,包括 Android .iOS.Facebook Messenger 和 Instagram 等等. 文章转载自 开源中国社区 [http://www.oschina.net]

13个在企业中持上升势头的开源编程工具

在企业使用的编程工具,开源工具到处可见,常处于统治地位.原因很简单:开源协议被设计来允许用户修改.修复.拓展代码,并且具有社区的持续贡献力,开源力量在企业中蔓延... 来自"开源编程工具越来越受到欢迎"的消息,InfoWorld选出了13个在企业中持上升势头的开源编程工具. 列表如下: 1.Rhomobile Rhodes Rhodes是一个新的开源解决方案,将Ruby开发带到移动领域.更强的是:它允许使用同一个Ruby源文件能够运行于许多移动设备上,目前包括iPhone,Window

Facebook开源项目:我们为什么要用Fresco框架?

(Facebook开源项目)Fresco:一个新的Android图像处理类库  在Facebook的Android客户端上快速高效的显示图片是非常重要的.然而多年来,我们遇到了很多如何高效存储图片的问题.图片太大,而设备太小.一个像素点就占据了4个字节数据(分别代表R G B和alpha).如果在一个480*800尺寸的手机屏幕上,一张单独的全屏图片就会占据1.5MB的内存空间.通常手机的内存都非常小,而这些内存被多种多样的app划分占用.在一些设备上,Facebook app虽然只有16MB,

Facebook 开源 FAISS;MIT 开发 SDV 系统,将合成数据用于机器学习等 | AI 开发者头条

▲ 内容预览: 更高效的聚类.相似性搜索算法库,Facebook 开源 FAISS MIT 黑科技,合成数据也能用于机器学习 机器学习算法成功预测人造地震 每日推荐阅读 ViZDoom 使用教程:训练 AI 来玩<毁灭战士> █  Facebook 开源 FAISS 雷锋网(公众号:雷锋网)消息,FAIR(Facebook 人工智能实验室)上周发表了一篇论文,提出一项针对聚类和相似性搜索的新算法设计.新架构比此前最先进的算法更快更高效,并使用 GPU 来获得更高的内存带宽和计算吞吐量. 基于此