前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用Mask R-CNN2Go实现人体动态捕捉| Facebook AI | 解读技术

利用Mask R-CNN2Go实现人体动态捕捉| Facebook AI | 解读技术

作者头像
用户7623498
发布2020-08-04 14:46:06
6250
发布2020-08-04 14:46:06
举报

Facebook的智能摄像头团队一直致力于研究各种计算机视觉技术,并进行工具开发以便人们加以应用。比如,应用实时“风格迁移”技术,可以将你的照片或视频渲染成梵高风格。或者应用实时面部捕捉技术,对你的照片进行美颜,甚至直接用化身(比如卡通形象)替换你的头像。更进一步,如果能用化身(Avatar)对你整个身体进行替代会怎样呢?

要想用替身替换你的整个身体,需要能够实时的探测和跟踪你的身体运动。这是一个非常有挑战性的问题,因为需要不断的识别姿势和动作的变化。一个人可能在走路或者跑步,又或者他可能穿着一件长外套或鞋子。此外,还可能经常被障碍物遮挡。以上这些问题都大大增加了建立可靠的人体跟踪系统的难度。

近期,我们研发了一种新技术,该技术可以准确的跟踪人体的姿态,并能将其从背景环境中分离出来。我们的模型现在还处于研究阶段,但我们的模型规模很小(只有几兆大小),并且可以应用到智能手机上。将来,该技术可以广泛应用到不同的领域,比如创造人体面具(body mask),通过身体姿势控制游戏或者对对象身份进行反识别(de-identify)。

我们的人体识别和分割模型是基于Mask R-CNN架构建立的。Mask R-CNN是一种结构简单、灵活性高的通用架构,可以用来进行物体识别和分割。该算法可以高效的从图片中识别出物体,并对物体进行关键点匹配以及边界划分。Mask R-CNN架构获得了ICCV2017最佳论文。为了将Mask R-CNN架构 应用于智能移动设备,Facebook智能摄像头、FAIR和AML等团队的研究者和工程师一同开发了高效、轻量级化的Mask R-CNN2Go模型。

Mask R-CNN2Go模型主要包含以下5个主要特点。

  1. Trunk模型包含多个卷积层,可以识别图像的深度特征。
  2. 候选区域生成网络(Regio Proposal network)先通过对输入图像的数层卷积得到一个特征图像,然后在特征图像上生成不同大小和不同长宽比的矩形框(锚点)。然后用ROI-Align层从物体边界框中提取特征,并传送给头部检测层(detection head)。

3. 头部检测层(detection head)包含一系列卷积层、池化层(pooling)和全连接层。对于每个候选区域,头部检测层都会判断其中物体是否是人类。该层还会进一步对区域坐标进行优化,并对邻近的候选区域进行非极大值抑制(non-max suppression)处理,从而形成最终的人体区域边框。

4. 利用第2层RIO-Align层从人体区域边框中继续提取特征,并输入到关键点层(key point head)和分割层(segmentation head)。

5. 关键点层和分割层有着相似的结构,它通过预设的人体关键点来生成人体替代模型。然后,一个单独的最大扫略层用来生成最终的人体坐标。

适用于移动设备的轻量化模型

相比于GPU服务器,移动设备(手机)只有有限的算力和存储空间。传统的Mask R-CNN模型建立在ResNet基础上,该模型对于移动手机来说规模太大,且运行太缓慢。为了解决这个问题,我们开发了一种非常高效的模型框架,非常适用于移动手机。

我们应用了多种方法来缩减模型的规模,比如优化卷积层的数量和宽度(这些是计算过程中最耗时间的部分)。为了确保有足够大的感受野(receptive field),我们将 1×1, 3×3 和 5×5三种不同区域尺寸(kernel size)进行组合应用。权重衰减算法(Weight Pruning)也被用来缩减模型的规模。最终,我们获得一个只有几兆大小且非常精确的新模型。

模块化设计改善计算速度

为了能在移动设备上实时的运行深度学习算法,我们结合NNPack、SNPE、和Metal等方法改进了我们的核心框架Caffe2,在移动设备上的CPU库和GPU库(包含NNPack、SNPE、和Metal算法)上显著的提升了计算能力。这些改进都是基于模块化设计,没有改动基本模型的定义。最终,通过获得了轻量化的模型以及高效的计算能力,又避免了潜在的不相容性。

Facebook AI研究中心(FAIR)最近公布了Mask R-CNN研发平台(Detectron)。同时,我们还对Caffe2系统的(GenerateProposalsOp, BBoxTransformOp, BoxWithNMSLimit,and RoIAlignOp)的使用安装进行了开源,并提供必要的模型版本代码供社区使用。

下一步是什么?

为移动设备开发计算机视觉模型是一项很有挑战的工作。应用于移动设备上的模型必须要规模小、速度快、准确率高,同时不需要很大的存储要求。我们将继续探索新型的建模框架,从而引申出更多高效的模型。此外,我们还将研究更适用于移动手机的GPU和DSP的模型,这样的模型将更加省电。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 决策智能与机器学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档