Facebook又出黑科技,手机照片一键切成3 d大片

  2020-03-13 09:21       导语:CNN网络还可以这样用!               

随着科技的发展,现在人们可以随时随地用手机等设备拍照记录自己喜欢的瞬间。可能不少人都想过,假如出现一种黑科技,让我们拍摄的平面2 d照片变成立体的3 d照片…

  

Facebook也早就想到了这个问题。为改善用户体验,2018年,Facebook就推出了3 d照片功能。这是一种全新的沉浸式格式,你可以用它与朋友,家人分享照片。但是,这项功能依赖于高端智能手机才具备的双镜头”肖像模式”功能,无法在寻常的移动设备上使用。

  

为了让更多人体验到这种新的视觉格式,Facebook利用机器学习开发了一个系统。这个系统可以推断出任何图像的3 d结构,任何设备,任何时间拍摄的图像都可以被转换成3 d形式。这就可以让人们轻松使用3 d照片技术。

  

不仅如此,它还可以处理几十年前的家庭照片和其它珍贵图像。任何拥有iPhone7及以上版本,或中端以Android上设备的人,现在都可以在Facebook应用程序中尝试这个功能。   

  

   Facebook又出黑科技,手机照片一键切成3 d大片

  

  

  

构建这种增强的3 d图片需要克服不少技术挑战,例如,要训练一个能够正确推断各种主题3 d位置的模型,并优化系统,使其能够在1秒钟内运行在典型的移动处理器设备上。为了克服这些挑战,Facebook在数百万公共3 d图像及其附带的深度图上训练了卷积神经网络(CNN),并利用Facebook AI之前开发的各种移动优化技术,如FBNet和ChamNet。团队最近也讨论了3 d理解的   相关研究。

  

现在,所有使用Facebook的人都可以使用这个功能,那么,它究竟是如何构建的?我们可以一起来看看其中的技术细节。

  

   Facebook又出黑科技,手机照片一键切成3 d大片

  

  

  

  

  

给定一个标准的RGB图像,3 d照片CNN (3 d照片卷积神经网络)可以估计每个像素与摄像机的距离。研究人员通过四种方式实现了这一目标:

     <李>   

使用一组可参数化,可移动优化的神经构建块构建网络架构;

  <李>   

自动化架构搜索,以找到这些块的有效配置,使系统能够在不到1秒钟的时间内在各种设备上执行任务,

  <李>   

量化感知训练,在移动设备上利用高性能INT8量化,同时使量化过程中的性能下降最小化;

  <李>   

从公开的3 d照片获取大量的训练数据。

  

  

  

Facebook的架构使用受FBNet的构建块启发.FBNet是一个为移动设备等资源受限的设备优化事先架构的框架。一个构建块由逐点卷积(点态卷积),可选的上采样,kxk深度卷积和附加的点逐点卷积组成.Facebook实现了一个U-net风格的架构,该架构已被修改为沿着跳过连接放置FBNet构建块.U-net编码器和解码器各包含5个阶段,每个阶段对应不同的空间分辨率。

  

   Facebook又出黑科技,手机照片一键切成3 d大片”>
  </p>
  <p>
  </p>
  <p>为了找到一个有效的架构配置,Facebook AI开发的ChamNet算法自动完成搜索过程.ChamNet算法不断从搜索空间中抽取点来训练精度预测器。该精度预测器用于加速遗传搜索,以找到在满足特定资源约束的情况下,使预测精度最大化的模型。</p>
  <p>这个设置中使用了一个搜索空间,它可以改变通道扩展因子和每个块的输出通道数,从而产生3.4 x1022种可能的体系结构,然后,Facebook使800年用特斯拉V100 GPU在大约三天内完成搜索,设置并调整模型架构上的失败约束,以实现不同的操作点。</p>
  <p>
  </p>
  <p>默认情况下,其模型使用单精度浮点权值和激活进行训练,但研究人员发现,将权值和激活量化为8位具有显著的优势,尤其是,int8权重只需要float32权重所需存储量的四分之一,从而减少首次使用时必须传输到设备的字节数。</p>
  <p>
  <img src=

  

  

  

与基于float32的运算符相比,基于Int8的运算符的吞吐量也要高得多,这要归功于Facebook AI的QNNPACK等经过优化的库,后者已经集成到PyTorch中。我们使用量化感知训练(咔特)来避免量化导致的质量下降.QAT现在是PyTorch的一部分,它在训练期间模拟量化并支持反向传播,从而消除了训练和生产性能之间的差距。

Facebook又出黑科技,手机照片一键切成3 d大片