解析:Facebook首创全新深度学习移动平台,“视频版”的Prisma是如何实现的?|深度

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介:

雷锋网(公众号:雷锋网)按:“风格特效转换”  在Prisma出现之后就已被熟知,这是利用神经表征分离再组合图片的内容和风格,最后实现可用来描绘艺术图像。但是,就像我们所体会到的,Prisma依旧存在一些问题,比如使用人数多导致服务器过载、智能软件处理的计算力不足等,雷锋网编辑曾在发布《AI修图艺术:Prisma背后的奇妙算法 | 深度 》时就曾请教过一些深度学习工程师,为什么没有应用在视频上?得到的答案是,除了Prisma出现的问题,要保持时间上的帧率一致也是非常麻烦的,对技术的要求也就更高。

现在,为了让你在用手机拍摄视频时,有种手持梵高画笔的奇妙感受,Facebook首创了一个全新的深度学习移动平台,利用Caffe2go运行环境和风格转换算法模型,在手机上完成对像素特征的实时提取、分析和处理。本文来自图普科技工程师编译自 Facebook网站delivering real time ai in the palm of your hand》,解读“视频版”Prisma是如何实现的?雷锋网独家首发文章。

如今,视频通话逐渐成为最受欢迎的沟通方式,在此之际,我们希望给所有人提供一种最先进的、最具创造性的自我表达工具。我们最近开展了对Facebook中一个新的创意特效相机的测试,这个创意特效相机能帮助人们把普普通通的视频即时转换成一份精美的视频艺术作品。

 这种技术叫做“风格特效转换”。它会从一份图像中提取出艺术风格和特征,比如梵高画作的艺术风格,然后把它应用到另一份图像或者视频中。这项技术通常来说比较难以实现,以往需要将数据传送至数据中心,以在更高处理能力的服务器上进行处理。但是现在不同了!我们首创了一个全新的深度学习移动平台,它能够在手机上完成对像素特征的实时提取、分析和处理,最先进的技术现在在你手上就能完成。

 这是一个成熟的深度学习系统,名字叫做“Caffe2Go”,它的框架现在已经被植入了我们的移动应用程序中。通过把处理图像和视频的AI模型压缩100倍,这个系统能够在苹果和安卓系统中高效地运行不同种类的神经网络。从目前的结果来看,我们已有能力在手机上完成AI进程了,其用时甚至低于二十分之一秒(实际上是50毫秒)——一次眨眼的耗时为每三分之一秒,即300毫秒。

解析:Facebook首创全新深度学习移动平台,“视频版”的Prisma是如何实现的?|深度

 (图为Facebook的创意特效相机拍摄的视频截图,完整视频可点原文查看)

上文提到的风格特效转换工具实际上是两种技术的结合:Caffe2go运行环境和风格转换算法模型。因为我们的AI团队是处理算法和大型系统的,所以他们非常有能力开发对两种技术都适用的新模型,让风格转换功能实现更高速和高质量的转换。这两种技术的结合能够让你在用手机拍摄视频时,有种手持梵高画笔的奇妙感受。 

三个月以前,我们就从其他人从未做过的事情入手,开始了这项工作:把这个人工智能风格转换功能视为一个具有创造性的工具进行传递,让它在人们的所有设备中实时运行。一群专研于产品、技术和科研的优秀人才现已加入了这个项目。Facebook的AI研究小组成员之一Justin Johnson是一篇基础性研究论文的作者,论文中描述了这项技术,发展了这个领域先前的一些研究成果。我们的“应用机器学习”小组一直致力于打造一个能够在移动设备上运行的AI引擎。这个“创意相机”团队非常了解用户的需求,在所有人的合作之下,这个团队开发了一个能够实现在移动设备上实时运行高度优化后的神经网络的最佳解决方案。在接下来的内容中,我们将会解释我们是如何思考和开发这项实用技术的。就从Caffe2go开始吧。 

Caffe2go 

  •  轻巧又快捷 

人工智能已经对计算机科学产生了相当大的影响,但是它仍然受到大数据处理的局限,因为这个大数据处理中心有时距离AI设备使用者十分遥远。因此,所有实时处理的AI模型仍然要受到延时的影响,因为其需要先连通至数据处理中心,之后才能在GPU上运行。我们认为,让人们围着超级计算机跑有点不切实际,所以我们想找到一种方法让AI 能在当今最普遍存在的一种设备——智能手机——的CPU上运行。

解析:Facebook首创全新深度学习移动平台,“视频版”的Prisma是如何实现的?|深度

 有了Caffe2go后,不需连接至远程服务器,智能手机就能实现识别、表达以及理解。尽管如此,智能手机还是有所局限。尽管在最近几年智能手机在计算能力上有了显著的提高,已经能够在一秒钟内执行数十亿的算术计算;但是它仍然存在各种各样的资源局限,比如电量、内存以及专为智能软件设计的计算能力。因此,智能手机对机器学习系统来说既是机遇,又是挑战。 

为了应对这个挑战,我们的解决方法就是设计出一个特别轻巧的、模块化的框架。为此,我们运用了Unix哲学,在开源的Caffe2项目之上进行建构。它保证了用于显示和连接各种组件的核心框架是足够轻巧的,而且能够实现多个模块的连接,以及包括对移动手机的优化设计。我们保存了一个精巧的算法框架,这个框架能让工程师把抽象计算描述为一个有向无环图(DAG),但是这需要保证输入和输出图中节点是没有约束的才能执行。这就使得我们的工程开发团队能在不同的平台执行和优化模块,同时轻松地实现模块的连接。当这个图像实际运行起来,它会以各种各样的硬件特性对自身进行实例化,已达到最高速的运行效果。 

因为速度是计算密集型移动应用程序的核心所在,尤其是图像和视频,轻便的框架设计让我们能够对自定义操作符进行平台的优化。其中一个著名的例子就是一个叫做NNPack的电子图书馆,这是Caffe2在我们手机的运行时内整合而来的。通过利用一个移动CPU功能——NEON,我们能够极大地提高手机的计算速度。在IOS设备上,我们也已经开始着手整理合成计算加速功能,例如“元语言”。这些都是通过一个模块化的设计而来的,无需改变整体模型定义。因此,算法和运行时能够安全地互相支持,不用再担心任何潜在的不兼容风险。 

  •  “开发者友善”的设计 

Caffe2 同时也是我们首个工业化的深度学习平台,它能使用完全相同的代码在CPU、GPU、iOS和安卓四个服务器平台上全速运行。由于其模块化的设计,这个框架在允许各平台使用相同语言的同时进行个性化需求优化。事实上,这是开发人员隐藏起来的执行细节,比如说,这个框架可以选择移动设备(IOS和安卓系统)的NNPacak或者GPU服务器的CUDNN方案。因此,算法开发人员可以专注于研究算法,而不需要分散精力去研究卷积运行(一种线性运算)。 

快速的部署设计框架对开发者非常有益。对开发者而言,手机运行时的调试可以说是个挑战,因为手机的工具链组不够台式电脑和服务器的先进。我们通过从硬件中提取出神经网络数学的方法来处理这个问题,用相同的数值输出就能在移动手机或者服务器上执行Caffe2go的一个序列化网络了。所以,我们可以把一大部分工作转移至服务器环境(模型训练、性能检测、用户体验研究),当一切都正常运作之后,就能拥有一个一键部署功能的移动环境了。

  •  风格转换模型的训练测试 

“风格转换”这个想法实际上早就存在了,它最初是由一个研究团队在2015年8月发表的一篇题为《艺术风格的神经算法》的开创性论文中。但是,当时这项技术发展缓慢,且需要强大的服务器支撑。在接下来的几个月,这个研究团队提升和完善了这项技术,将运行速度提高了好几个等级,但是它仍然很大程度上依赖服务器上的计算能力。 

现在我们已经可以在移动端快速运行人工智能,但为了确保做到高质量、高分辨率的实时图像风格转换体验,还是需要继续进行模型的优化和完善。 

  •  高效模型尺寸的优化 

传统的风格转换模型(包括前馈变量)不仅参数数值很大,而且转换速度较慢,我们的风格转换应用程序的设计目标就是打造一个全新的、更轻巧、更高效的模型,这个模型可以在iPhone6s上输出每秒20帧以上且不掉帧的高质量视频。

 我们采取了三种主要手段来进行模型压缩。

我们优化了卷积层(加工操作中最耗时的部分)的尺寸数值以及每一层的宽度,同时调整了运行过程中的空间分辨率。卷基层的数值和其宽度可以作为单独的杠杆来调整处理时间,通过多角度调整正在处理的图像,或是调整一个单独处理行为的次数。针对空间分辨率,我们可以调整正处于中间处理层的对象的实际大小。通过使用前期联营(缩小正在处理的图像)和后期反褶积(放大处理后的图像),系统不再需要处理过多的信息,处理速度也会加快。并且通过使用这种技术,我们可以在大大降低网络广度和深度的同时,保持相当不错的图像质量。 

解析:Facebook首创全新深度学习移动平台,“视频版”的Prisma是如何实现的?|深度

  •   提高图像质量 

图像质量是很主观的,很难进行准确的测量,尤其是像风格转换这类。因此,我们建立了包括A/B测试的可视化工具,用来训练并确保不同的模型能够得到最高质量的图像结果。通过由FBLearner Flow技术支持的大规模GPU集群,我们能够快速地对大范围的超参数(如模型建筑、内容风格大小和降低取样)进行扫描,来找到一个既能达到目标性能,又能保持和提高图像质量的“训练有素”的前馈风格,从而完成以上的检测。 

当然还有很多能提高图像质量的方法,比如说,应用单独实例标准化而不是平常使用的成批标准化对很多风格特效都有帮助,避免在卷基层补零,或者将不同的预加工和后加工滤镜应用在风格或图像上都可以减少图像伪影。但是我们在测试中发现,这些方法对部分风格有效,并不是对任何风格都行得通的。 

随着风格转化技术的速度和图像质量上的不断优化和完善,相信将一个在Caffe2框架之上运行的实时图像处理系统应用于移动设备中指日可待。 

接下来还会有什么呢?

 Caffe2go与类似Torch的工具链研究是Facebook的机器学习产品的核心,由于它的尺寸、速度和灵活性,caffe2go从Facebook的工具堆中脱颖而出。 

我们非常乐于在业界社区中分享我们的软件和设计,这样我们可以学到更好地使用多种硬件平台和算法设计的方法,这些对跨平台机器学习系统来说多非常重要。在接下来的几个月里,我们将继续关注这个人工智能框架的开源部分。

 随着我们一步步的向前发展,你可以想象下实时运行的人工智能设备是如何为无障碍环境、教育及其他领域的人塑造一个更加开放和联系紧密的世界。我们手中的智能设备将进一步改变我们对人工智能的认知。通过像Caffe2go这么快捷、轻巧的机器学习系统,我们会一直致力于为您提供更多更棒的人工智能和增强现实的体验,比如让你在拍摄视频的时候有像手持梵高画笔一样的奇妙体验。



本文作者:图普科技


本文转自雷锋网禁止二次转载,原文链接

相关文章
|
28天前
|
运维 监控 负载均衡
探索微服务架构下的服务治理:动态服务管理平台深度解析
探索微服务架构下的服务治理:动态服务管理平台深度解析
|
25天前
|
机器学习/深度学习 自然语言处理 语音技术
揭秘深度学习中的注意力机制:兼容性函数的深度解析
揭秘深度学习中的注意力机制:兼容性函数的深度解析
|
4天前
|
机器学习/深度学习 人工智能 算法
机器学习与深度学习:差异解析
机器学习与深度学习作为两大核心技术,各自拥有独特的魅力和应用价值。尽管它们紧密相连,但两者之间存在着显著的区别。本文将从定义、技术、数据需求、应用领域、模型复杂度以及计算资源等多个维度,对机器学习与深度学习进行深入对比,帮助您更好地理解它们之间的差异。
|
1月前
|
数据采集 JSON 数据格式
深入解析:使用Python爬取Bilibili视频
本文介绍了如何使用Python编写脚本自动化下载Bilibili视频。通过requests等库获取视频和音频URL,使用ffmpeg合并音视频文件,最终实现高效下载。注意遵守网站爬虫政策和法律法规。
214 4
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
医疗行业的语音识别技术解析:AI多模态能力平台的应用与架构
AI多模态能力平台通过语音识别技术,实现实时转录医患对话,自动生成结构化数据,提高医疗效率。平台具备强大的环境降噪、语音分离及自然语言处理能力,支持与医院系统无缝集成,广泛应用于门诊记录、多学科会诊和急诊场景,显著提升工作效率和数据准确性。
|
24天前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习与自然语言处理的前沿技术:Transformer模型的深度解析
探索深度学习与自然语言处理的前沿技术:Transformer模型的深度解析
72 0
|
2月前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
1月前
|
机器学习/深度学习 人工智能 自动驾驶
深入解析深度学习中的卷积神经网络(CNN)
深入解析深度学习中的卷积神经网络(CNN)
45 0
|
2月前
|
机器学习/深度学习 编解码 算法
深入解析MaxFrame:关键技术组件及其对视频体验的影响
【10月更文挑战第12天】随着流媒体服务和高清视频内容的普及,用户对于视频质量的要求越来越高。为了满足这些需求,许多技术被开发出来以提升视频播放的质量。其中,MaxFrame是一种旨在通过一系列先进的图像处理算法来优化视频帧的技术。本文将深入探讨构成MaxFrame的核心组件,包括运动估计、超分辨率重建以及时间插值算法,并讨论这些技术如何协同工作以改善视频播放效果。
47 1
|
2月前
|
机器学习/深度学习 人工智能 算法
揭开深度学习与传统机器学习的神秘面纱:从理论差异到实战代码详解两者间的选择与应用策略全面解析
【10月更文挑战第10天】本文探讨了深度学习与传统机器学习的区别,通过图像识别和语音处理等领域的应用案例,展示了深度学习在自动特征学习和处理大规模数据方面的优势。文中还提供了一个Python代码示例,使用TensorFlow构建多层感知器(MLP)并与Scikit-learn中的逻辑回归模型进行对比,进一步说明了两者的不同特点。
95 2

热门文章

最新文章

推荐镜像

更多
下一篇
DataWorks