首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Facebook新成果:用Mask R-CNN2Go实现全身AR

来源:facebook research

编译:Bot

编者按:Facebook AI Camera团队是一个致力于将计算机视觉技术用于人类自我表达的团队,他们曾上线过一个实时“风格迁移”工具,能把普通照片转为梵高风格图像;也曾实现了一个脸部追踪器,支持虚拟上妆、虚拟换脸等功能。而近期,他们开始思考一个新问题:能不能基于人的本体制作一个替身?

不同于常规的人脸检测、人手检测,制作这样一个替身即意味着要实现全身检测。研究人员不仅需要实时准确检测、追踪人的肢体动作,还要透过不同姿势、衣物、其他遮挡物猜测不可见部分的运动情况,这些因素大大增加了构建系统的难度。

而就在25日,Facebook AI官博发文介绍了团队开发的一种新技术,它能准确检测人的身体姿势,并能把他从背景中“分割”出来。当前这个模型还处于研究阶段,Camera团队制作了一个只有几兆的工具,可以在智能手机上实时运行(见视频)。他们希望未来能用这项技术开发多种功能,如实时换装、用手势控制游戏,以及“身体识别”技术。

MaskRCNN2Go架构

这个人体检测和分割模型基于Mask R-CNN框架,这是去年Facebook何凯明团队提出的一种实例分割方法,能有效地在每个实例中探测同时出现的目标,并对每个实例生成一个高质量的分割掩码,相关论文也在当年荣获ICCV 2017最佳论文奖。为了在移动设备上实时运行Mask R-CNN模型,Camera、FAIR和AML团队的研究人员和工程师共同合作,构建了一个高效轻量级框架:MaskRCNN2Go。

注:Mask R-CNN的基础是经典框架Faster R-CNN,具体可参考论智之前的文章:目标检测技术之Faster R-CNN详解。

Mask R-CNN2Go模型由五个主要组件组成:

躯干模型(trunk model):包含多个卷积层,并能生成输入图像的深层特征表示;

RPN(region proposal network):找出图像中目标对象的种类和位置,包括预定义的大小和长宽比(锚点)。其中有一个ROI-Align层,能从每个对象边界框中提取特征并将它们发送到确定边界框的detection head;

detection head:这里包含一组卷积层、池化层和全连接层。对于每个候选边界框,它会预测框中对象属于同一个人的概率,并调整候选边界框位置,使其最大限度和其他框分离,并为图中的每个人确定最后的框;

基于每个人的边界框,现在用第二个ROI-Align层来提取特征,并把它们作为key point head和segmentation head的输入;

key point head和segmentation head具有相似的架构。它为身体上的每个预定义关键点预测一个掩码,之后全局扫描生成最终坐标。

针对移动设备的轻量级优化

和现代GPU不同,手机的计算能力和存储空间有限。原来的Mask R-CNN是基于ResNet的,它太大而且太慢,无法在手机上运行。为了解决这个问题,Facebook AI Camera团队专为移动设备开发了一个高效的模型架构。

虽然研究人员没有展示设计细节,但据透露,他们主要做了这几个优化。一是优化卷积层的数量和每一层的宽度,这能节约训练时间;二是用了1×1、3×3和5×5的卷积核(kenel),可以保证足够大的感受野;三是基于权值进行剪枝,这也起到了减小体积的效果。

所以,最终他们做出的模型只有几个M。

模块化设计

为了在手机上直接跑这个深度学习算法,团队升级并优化了他们的核心框架:加入了NNPack、SNPE和Metal的Caffe2。有了这些加速包、引擎和框架后,手机的CPU和GPU就能支持算法,并显着提高训练速度。

所有的这些都是通过模块化设计完成的,不需要改变一般的模型定义。因此它能兼顾较小的模型和较快的训练速度,并避免潜在的不兼容问题。

原文地址:research.fb.com/enabling-full-body-ar-with-mask-r-cnn2go/

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180126G16W6S00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券