AI驱动的超分辨技术落地实践
近年来,随着深度学习技术的快速发展,基于AI的超分辨技术在图像恢复和图像增强领域呈现出广阔的应用前景,受到了学术界和工业界的关注和重视。但是,在RTC视频领域中,很多AI算法并不能满足实际场景下的应用需求。本文将着眼于AI技术从研究到部署的落地问题,分享超分辨技术在RTC领域落地应用所面临的机遇与挑战。
一、超分辨技术概述
1. 超分辨技术的提出
超分辨这一概念最早是在20世纪60年代由Harris和Goodman提出的,是指从低分辨率图像,通过某种算法或模型生成高分辨图像的技术,并且尽可能地恢复出更多细节信息,也称为频谱外推法。但是在研究初期,频谱外推法只是用于一些假设条件下的仿真,并没有得到广泛的认可;直到单张图像的超分辨方法提出后,超分辨技术才开始得到广泛的研究和应用。目前,它已经成为图像增强乃至计算机视觉领域的重要研究方向。
2.超分辨技术的分类
单张图像的超分辨方法根据原理不同,可以分为基于插值、基于重构和基于学习的方法。前面两种方法分别由于算法原理简单以及应用场景受限,在实际场景中的超分辨效果并不理想;基于学习的方法,是实际效果最好的超分辨方法,其核心包括两个部分:算法模型的建立,以及训练集的选取。根据算法模型和训练集,基于学习的方法又可以分为传统学习方法和深度学习方法。一般来说,传统学习方法的算法模型比较简单,训练集也比较小。深度学习方法一般是指采用大量数据训练的卷积神经网络方法,也是目前学术界研究的热点。因此接下来我将重点介绍基于深度学习的超分辨方法的发展过程。
3. DL-based SR
SRCNN是深度学习方法在超分辨问题的首次尝试,是一个比较简单的卷积网络,由3个卷积层构成,每个卷积层负责不同的职能。第一个卷积层的作用主要是负责提取高频特征,第二个卷积层则负责完成从低清特征到高清特征的非线性映射,最后一个卷积层的作用是重建出高分辨率的图像。SRCNN的网络结构比较简单,超分辨效果也有待改善,不过它确立了深度学习方法在处理超分辨这类问题时的基本思想。后来的深度学习方法,基本都遵循这一思想去进行超分辨的重建。
后来的 ESPCN、FSRCNN等网络基于SRCNN进行了一些改进,网络层数仍然比较浅,卷积层数不会超过10,超分辨的效果也不是特别理想。因为在当时,深度卷积网络的训练是存在问题的。一般对于卷积神经网络来说,当网络层数增加的时候,性能也会增加,但在实际应用中,人们发现当网络层数增加到了一定程度,由于反向传播原理,就会出现梯度消失的问题,导致网络收敛性变差,模型性能降低。这个问题直到ResNet提出残差网络结构之后,才得到比较好的解决。
VDSR是残差网络以及残差学习思想在超分辨问题上的首次应用,将超分辨网络的层数首次增加到了20层,优点是利用残差学习的方式,直接学习残差特征,网络收敛会比较快,超分辨效果也更好。后来一些卷积神经网络提出了更复杂的结构, 比如SRGAN提出使用生成式对抗网络来生成高分辨的图像,SRGAN由2部分组成,一个是生成网络,另一个是判别网络。生成网络的作用是根据一张低分辨率的图像来生成一张高分辨的图像,而判别网络的作用是将生成网络生成的高分辨图像判定为假,这样网络在训练的时候,生成网络和判定网络两者之间不断博弈,最终达到平衡,从而生成细节纹理比较逼真的高分辨图像,具有更好的主观视觉效果。其他深度卷积网络方法比如SRDenseNet、EDSR、RDN,使用了更复杂的网络结构,网络的卷积层越来越深,在单张图像上的超分辨效果也越来越好。
超分辨技术发展的总体趋势,基本上可以概括为从传统方法,到深度学习方法,从简单的卷积网络方法到深度残差网络方法。在这个过程中,超分辨模型结构越来越复杂,网络层次越来越深,单张图像的超分辨效果也越来越好,不过这也会有一定的问题。
二、实时视频任务的需求与SR的挑战
在RTC领域,对于视频处理任务来说,大多是直播和会议等即时通信场景,对算法的实时性要求比较高,所以视频处理算法的实时性是优先考虑的。然后是算法的实用性,由于用户在使用直播或会议时,摄像头采集到的视频质量有时比较低下,可能包含很多噪点;另外视频在编码传输时会先进行压缩,压缩的过程也会导致图像画质退化,所以RTC实际应用场景比较复杂,而很多视频处理方法,比如超分辨算法在研究中的是比较理想的场景。最后,如何提升用户尤其是移动端用户的体验,减少算法的计算资源占用,适用更多终端和设备,也是视频任务所必须考虑的。
对于这些需求,目前的超分辨方法尤其是基于深度学习的超分辨方法是存在很多问题的。目前学术界关于超分辨的研究大多还是局限在理论阶段,图像超分,尤其是视频超分如果要大规模落地的话,必须要去解决一些实际问题。首先是网络模型的问题,目前很多深度学习方法为了追求更好的超分辨效果,采用的模型规模比较庞大,参数量越来越多,会耗费大量的计算资源,在很多实际场景无法实时处理。其次是深度学习模型的泛化能力问题,对于各种深度学习模型来说,都会存在训练集适配的问题,在训练的时候所使用的训练集不同,在不同场景上的表现也不同,用公开数据集训练的模型,在实际应用场景中未必会有同样良好的表现。最后是真实场景下超分效果的问题,目前学术界的超分方法,大都是关于比较理想的场景,完成从下采样图像到高分辨图像的重建,但在真实场景中,图像退化不仅包括下采样因素,还会有很多其他因素,比如图像压缩、噪点、模糊等。
综上而言,目前基于AI的超分辨方法,在RTC视频任务中,所面临的主要挑战可以概括为,如何凭借规模比较小的网络来实现具有良好真实效果的视频质量增强,也就是怎么样“既叫马儿跑得快,又让马儿少吃草”。
三、视频超分辨技术的发展方向
首先,深度学习方法依然会是超分辨算法的主流。
因为传统的方法在超分辨任务上的效果不够理想,细节比较差。深度学习方法为超分辨提供了一条新的思路。近年来基于卷积神经网络的超分辨方法,逐渐成为主流方法,效果也在不断改善。
从上图可以看到,近几年来,基于AI的超分辨方法相对于传统方法的论文数量呈现出一边倒的局面,并且这种局面在未来几年还会进一步扩大。因为虽然存在一些问题,但随着一些轻量级网络的出现,深度学习方法将来在落地应用方面可能会有更大的突破,这些问题也将会得以解决,深度学习方法依然会是超分辨的主流研究方向。
其次,一些参数较小的轻量级网络,在推动超分算法落地方面,会发挥更大的作用。
因为目前各种深度卷积网络方法,比如EDSR、RDN这类深度残差网络难以满足视频实时传输的需要,一些比较小的轻量级网络对于实时任务会有更好的效果。
第三,将来的超分辨方法会更加聚焦真实场景任务。
学术领域的SR方法多是针对下采样问题进行超分,在真实场景下的表现并不是很好,在真实场景中,图像退化因素是各种各样的,一些比较有针对性的方法,比如包含压缩损失、编码损失以及各种噪声的超分辨任务,可能会更加实用。
四、网易云信AI超分算法
在RTC领域中,由于视频文件过于庞大,我们需要对其进行编码,然后再传输到接收端解码播放。由于编码的本质是对视频的压缩,当网络比较差时,编码量化参数会比较大,会造成严重的压缩,导致输出图像产生块效应和其他失真,造成画质模糊。这种情况下,如果直接将解码后的视频进行超分,压缩损失也会被放大,超分效果往往不够理想。针对这些问题,网易云信提出了基于编码损失复原的视频超分辨方法,采用数据驱动和网络设计并重的策略,通过数据处理模拟真实失真场景,并且从模型设计到工程化实现进行层层优化,对于制约AI超分技术的两大问题有了一定的突破,在模型实时性和真实场景超分效果方面取得了不错的效果。
以上就是网易云信在推进AI驱动的超分技术落地应用方面的一些实践经验,希望对大家有所启发和参考。
更多技术内容欢迎关注微信公号 【网易智企技术+】
AI驱动的超分辨技术落地实践的更多相关文章
- MOT大连站 | 卓越研发之路:前沿技术落地实践
还在讨论究竟哪种编程语言更容易深度学习?哪种编程语言更具有价值?如果你是资深技术人员又或者是团队负责人,在机器学习.微服务.Spring 5反应式编程等方面遇到了问题,不妨参加一场由msup和微软联合 ...
- 为 “超级大脑”构建支撑能力,腾讯云聚焦AI技术落地
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 5月24日,以"无界数据.无限智能"为主题的2018腾讯"云+未来"峰会AI大数据分论坛在广州拉开帷 ...
- 鸿蒙HarmonyOS应用开发落地实践,Harmony Go 技术沙龙落地北京
12月26日,华为消费者BG软件部开源中心与51CTO Harmony OS技术社区携手,共同主办了主题为"Harmony OS 应用开发落地实践"的 Harmony Go 技术沙 ...
- [转载]DevOps在传统企业的落地实践及案例分享
内容来源:2017年6月10日,优维科技高级解决方案架构师黄星玲在“DevOps&SRE 超越传统运维之道”进行<DevOps在传统企业的落地实践及案例分享>演讲分享.IT 大咖说 ...
- 腾讯云AI应用产品总监王磊:AI 在传统产业的最佳实践
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 背景:5月23-24日,以"焕启"为主题的腾讯"云+未来"峰会在广州召开,广东省各级政府机构领导.海 ...
- 以数字资产模型为核心驱动的一站式IoT数据分析实践
[摘要] 一个不会直播的云服务架构师,不是一个好的攻城狮! 在这个全民直播的时代 一个不会直播的云服务架构师 不是一个好的攻城狮 3月23日15:00-15:50,华为云IoT物联网数据分析服务架构师 ...
- 迈入 8K 时代,AI 驱动超高清 “视” 界到来
2021 年,超高清迈入 "8K" 时代.超高清视频将带来全新视听体验,但超高清生产在内容生产层面也面临着超高清存量少.生产设备更新换代慢.制作周期成倍增加的困境.在 7 月 10 ...
- 深度解析SDN——利益、战略、技术、实践(实战派专家力作,业内众多专家推荐)
深度解析SDN——利益.战略.技术.实践(实战派专家力作,业内众多专家推荐) 张卫峰 编 ISBN 978-7-121-21821-7 2013年11月出版 定价:59.00元 232页 16开 ...
- Linux开源模块迁移概述暨交叉编译跨平台移植总结--从《嵌入式Linux驱动模板简洁和工程实践》
本文摘录<嵌入式Linux驱动模板简洁和工程实践>一本书"开发和调试技术". Linux强大的是,有那么多的开源项目可以使用.通常非常需要可以通过寻找相关的源模块被定义 ...
随机推荐
- 第二十七章、containers容器类部件QTabWidget选项窗部件详解
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 容器部件就是可以在部件内放置其他部件的部件,在Qt Designer中可以使用的容器部件有 ...
- PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的orientation和centerButtons属性
orientation属性 orientation属性表示QDialogButtonBox的方向,缺省情况下,方向为水平方向(值为Qt.Horizontal),表示QDialogButtonBox中的 ...
- centos7最小安装后——网络配置、常见命令安装,远程连接、yum源安装软件包
安装环境 #软件:vmware 14 #centos版本:CentOS-7-x86_64-DVD-1810 下载地址: #网络配置:NAT模式 配置 网络配置 #动态获取ip: centos7最小安装 ...
- Spring Cloud微服务学习笔记
Spring Cloud微服务学习笔记 SOA->Dubbo 微服务架构->Spring Cloud提供了一个一站式的微服务解决方案 第一部分 微服务架构 1 互联网应用架构发展 那些迫使 ...
- Vue 的响应式原理中 Object.defineProperty 有什么缺陷?为什么在 Vue3.0 采用了 Proxy,抛弃了 Object.defineProperty?
Object.defineProperty无法监控到数组下标的变化,导致通过数组下标添加元素,不能实时响应: Object.defineProperty只能劫持对象的属性,从而需要对每个对象,每个属性 ...
- CSP-S 2020 游记
2020.10.11 初赛了,没怎么做题,之前在网上两次初赛模拟赛 95pts / 94pts,还白嫖了一本书,感觉挺好. 去考场,中途不舒服去了厕所,回来发现有点来不及,阅读程序最后两题不会瞎蒙. ...
- 刚开始学习Javascript的一些基础小知识,从入门到崩溃,希望对大家有帮助(只适合初学者)
一.简介 1.JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型,js不能操作文件. 重要的开始啦!!!!! 引入javascript: 行间js <d ...
- 廖雪峰官网学习js 数据类型和变量
数据类型: number 不分整数 和浮点数 字符串 用' ' " " 表示 布尔值 true false && 与运算符(都ture才ture ...
- dbeaver 驱动安装
一.背景: 在Windows 10 安装dbeaver数据库连接工具,点"测试连接"的时候出现报错如下: Error resolving dependencies Maven ...
- latex参考文献删除[.s.l],[.s.n]
用latex写毕业论文的插入会议参考论文的时候可能会遇到编译后的文档里面一堆[.s.l],[.s.n]的问题. 这是因为ref里面会议条目找不到地址信息,所以用[.s.l],[.s.n]替代,只需要更 ...