写点什么

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

  • 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:11717

评论

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

当生成式AI照进医疗,医患关系将何去何从?

脑极体

AI

如何用 Go 实现一个配置包

江湖十年

一键生成通用的微服务(gRPC)项目代码,让你的开发效率翻倍提升

vison

Go 微服务 gRPC 代码自动生成

概述产品设计通用七原则

阿泽🧸

产品设计 三周年连更

Golang new 和 make 函数

宇宙之一粟

Go make new 三周年连更

【源码分析】【seata】at 模式分布式事务 -rm 实现逻辑

如果晴天

源码分析 分布式事务 seata Seata框架

什么是软件开发领域的 obsolete 或者 deprecated 含义

汪子熙

软件开发 三周年连更

使用 Flomesh 服务网格进行流量拆分

Flomesh

微服务 Service Mesh 服务网格

【Linux】中安装pip(详细教程)

A-刘晨阳

Python Linux 运维 pip 三周年连更

Unity手机游戏开发:从搭建到发布上线全流程实战

海拥(haiyong.site)

三周年连更

Hi3861开发板入门

鸿蒙之旅

OpenHarmony 三周年连更

Java面向对象程序设计|二人间对话示例

TiAmo

Java 三周年连更 点对点通信 socket通信 面向对象程序设计

Go并发编程的秘密武器:内存模型和同步原语

Jack

Redis Set 用了 2 种数据结构来存储,到现在才知道

Java你猿哥

Java redis string HashMap底层原理

如何建设IT运维流程与体系

穿过生命散发芬芳

运维体系 三周年连更

基于Flutter实现Windows平台离线大模型对话应用实战

轻口味

flutter AI windows 跨平台 三周年连更

京韵、京城、京味:从一台服务器看数字北京

脑极体

算力

2022-04-26:给定一个数组componets,长度为A, componets[i] = j,代表i类型的任务需要耗时j 给定一个二维数组orders,长度为M, orders[i][0]代表i

福大大架构师每日一题

golang 算法

CefSharp自定义缓存实现

沙漠尽头的狼

好用的Angular组件库有哪些推荐的?TinyNG好用吗?

英勇无比的消炎药

开源 前端 angular OpenTiny

LuckyDraw发布啦

进基的小张

开源项目 Github'

Unity 之 实现背景图动态适配不同分辨率

陈言必行

Unity 三周年连更

系统稳定性建设之我见(64/100)

hackstoic

质量管理 系统稳定性

minikube 初体验环境搭建

IT蜗壳-Tango

三周年连更

Java - 泛型

乌龟哥哥

三周年连更

数据存储与访问——文件存储读写

芯动大师

application 三周年连更 SharedPreference

Qz学算法-数据结构篇(哈希表)

浅辄

数据结构 三周年连更

躬身入局的数科公司,为本就拥挤的数智化赛道带来了什么?

用友BIP

用友iuap 用友技术大会 数科公司

推荐一些好用的ChatGPT扩展工具

石云升

ChatGPT 三周年连更

跨平台应用开发进阶(五十八):短链基本工作原理与实现方案

No Silver Bullet

短链接 跨平台应用开发 三周年连更

Spring Boot如何获取Excel sheet页?

bug菌

Spring Boot spring-boot 三周年连更

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