写点什么

如何为实时音视频设计小且优的深度学习模型?(上)

  • 2019-11-30
  • 本文字数:1349 字

    阅读完需:约 4 分钟

如何为实时音视频设计小且优的深度学习模型?(上)

在 11 月 25 日,DevFest 2018 在上海如期举行。声网 Agora 首席科学家钟声与在座的上千位开发者分享了演讲《Deep Learning for MobilePlatforms: Complexity and Performance Analysis》。以下是由 GDG 整理发布的演讲实录。

开场白

最近在微信群里看到一张很有意思的图,大家应该都见过大街小巷地铁站旁边的手机贴膜吧?但这张图的牌子上写的不是「手机贴膜」而是「模型调参」。用这个例子虽然有些不恰当,但人工智能学习算法确实正在成为我们生存的必杀技,可见人工智能有多火。

从 AI 的应用开始

回到我们今天的主题,我想问,今天的午餐和深度学习有什么共同之处?餐盒和黑盒,都是盒子。餐盒有一个沙拉、主菜和餐后的水果。黑盒子打不开、看不到。


今天的演讲试图稍稍进入黑盒里能看一下,作为工程师,我们都想知其然,也知其所以然。我就基于我们所做的工作稍稍解密一下深度学习某些方面。


声网主要提供实时音视频通信传输服务、编解码及前后处理等等,我们更多的聚焦在通信实时交互领域。


现在的社交娱乐应用里面有很多 AI 的应用。美颜,贴纸,包括一些交互动作的识别,变脸、变声都是属于风格转换,AI 算法在这些方面有很好的应用。


除了这些,AI 在后处理端也有很多应用。比如如何提升比较模糊的图像的细节,更清晰地呈现给大家,提高收视的体验;又比如由于网络传输线路上有丢包,接收的数据有失真,这个也可以利用 AI 算法来补偿。


AI 在云端也有更多的应用,比如内容的监管,比如黄色图片的鉴别,以及识别暴力图像,还有语音变成文本,以及情感计算等等,这些很多在实时通信领域里有非常好的应用。

超分辨率恢复模糊图像

下面以恢复模糊图像作为一个例子,介绍人工智能的深度算法和应用。


我们都知道超分辨率(超分,SR)对恢复细节有帮助。在我们的场景下,由于网络带宽受限,会产生丢包,因而此时会以低码率压缩和传输图像,解码出来的图像通常是会模糊一点,影响收视体验。尤其是在直播应用里,用户希望看到清晰的面容和听到清晰的声音。


超分是我们后处理的一步,作为跟前面的处理不相关的一个处理,这一步放在最后。视频源经过编码在网络上传输,解码器收到后经过解码出来是一个模糊的图像,经过超分辨率处理把细节提升或者放大,再显示出来。


深度神经网络已经被证明了可以较好地生成图像的细节。GAN 模型是一个非常有效的模型,它也是我们超分算法的基础模型,接下来主要是以 GAN 来做性能和复杂度的分析。

GAN 模型

下面介绍一下 GAN 的基本思路。它通常包含两个网络,一个是生成器,一个是判别器,这两个模型以又合作又对抗的方式运作,最后达到一个平衡,使得生成器能够产生以假乱真的数据,例如:


  • 当判别器接收到的是真实的图像数据,判别器会把它接受为一个真实的数据。

  • 当生成器输入的是一个低分辨率的数据,我们想生成高清的数据,希望生成器出来的数据像真的一样。但判别器的任务正好相反,它尽量不让生成的数据蒙混过关,并且要把它踢出去。


一旦被区别出来之后,生成器会反复训练、调参,使得生成的数据更像真的;判别器也会反复训练、努力提高自己的能力,鉴别假数据的能力越来越强。可谓道高一尺魔高一丈,最后二者收敛的时候判别器再也不能区分生成器生成出来的数据是真的还是假的,这个时候的结果就被判别器接受了。


最近几年在顶级 AI 会议上,三分之二以上的文章可能跟 GAN 有关的。


2019-11-30 22:11619

评论

发布
暂无评论
发现更多内容

如何实施 SCRUM ?

万事ONES

项目管理 Scrum 敏捷开发 看板 ONES

“区块链贸易融资生态”应用案例发布

CECBC

ASL公链软件开发|ASL公链系统APP开发

JAVA九种排序算法详解(上)

加百利

Java 数组 排序 7月日更

党建百年•融云献礼,重磅发布党建全场景通信解决方案

融云 RongCloud

字节跳动异构场景下的高可用建设实践

Java

13万张表+数亿行代码,迁移只需数小时,还是异构数据库

华为云开发者联盟

数据库迁移 DRS 华为云数据库 异构数据库 华为云UGO

【带你手撸Spring】没有哪个框架开发,能离开 Spring 的 FactoryBean!

小傅哥

spring 小傅哥 代理对象 FactoryBean Bean作用域

2021金三银四Android大厂面试题来袭!附赠复习资料

欢喜学安卓

android 程序员 面试 移动开发

watt挖矿软件开发|watt挖矿APP系统开发

2021谈一下当下最合适的Android架构,附小技巧

欢喜学安卓

android 程序员 面试 移动开发

环球旅游积分GTC系统开发内容

百度搜索稳定性问题分析的故事(上)

百度Geek说

Linux内核移植

学神来啦

云计算 Linux 运维 运维自动化

视频 QoE 的平衡之道—揭秘网易云信 NERTC 视频质量控制系统

网易云信

视频 Qoe

解析对偶理论与对偶单纯性法

华为云开发者联盟

模型 对偶理论 对偶单纯性法 对偶 线性规划

测试开发之网络篇-网络路由

禅道项目管理

网络

店讯APP开发|店讯系统软件开发

并发王者课-铂金05:致胜良器-无处不在的“阻塞队列”究竟是何面目

MetaThoughts

Java 多线程 并发 并发王者课

DGTT矿机软件开发|DGTT矿机系统APP开发

DMD钻石币质押软件系统开发内容

Pano Flutter SDK 设计经验与实践浅谈

拍乐云Pano

乐视界APP开发|乐视界软件系统开发

Android性能优化总结,超详细

欢喜学安卓

android 程序员 面试 移动开发

视赏家短视频系统软件开发详情

Python 没有函数重载?如何用装饰器实现函数重载?

华为云开发者联盟

Python 装饰器 命名空间 函数 函数重载

简单使用HTML集成OnlyOffice

一个需求

onlyoffice

区块链:从根儿上解决2%的人拥有80%的财富全球社会问题

CECBC

从零开始学习3D可视化之事件的常用方法

ThingJS数字孪生引擎

大前端 可视化 3D可视化 数字孪生 事件

已拿阿里P7+意向书!总结480页,超24W字2021最新一线大厂Java高级架构师面试题

Java架构追梦

Java 阿里巴巴 架构 面试

Android性能优化之启动优化实战篇!分享面经

欢喜学安卓

android 程序员 面试 移动开发

如何为实时音视频设计小且优的深度学习模型?(上)_文化 & 方法_声网_InfoQ精选文章