暗黑王者|ZEGO 低照度图像增强技术解析
在低光照的夜间,摄像头采集的画面通常是一片昏暗,画面清晰度要远远低于肉眼。而随着实时音视频应用技术的发展,我们已经看到了各种画质增强的视频增强技术,那么是否存在一种技术,可以使视频在低光照条件下看起来比实际情况更清晰或接近实际情况呢?

卧室的墙和灯,在低照度增强之前和之后
低照度图像增强技术的应用场景
低照度图像增强是指对暗光条件下拍摄的图像进行画质增强,使其变得清晰或接近于肉眼效果。我们总结了一些与低照度相关的强需求场景,具体如下:
1、提高夜间检查或监测的可见度
在夜间条件下,监控摄像头或汽车安全摄像头的视频质量和清晰度至关重要。

夜晚的乌镇牌楼,低照度增强前后的对比
在公共场所设置监控摄像头的目的是为了监视和记录。然而,夜间视频记录在光线不足的情况下大多是黑暗和不清晰的,不能作为刑事案件的线索或证据提供明确和有力的支持。
而汽车安全摄像头的视频记录对于交通事故的处理至关重要,越清楚的视频包含更多的细节,有助于交警更好更快的处理。
2、用于实时流媒体或视频聊天
当涉及到互联网娱乐和社交场景时,我们希望即使在暗光条件下也能清楚的看到对方的脸。
这是发生在我们客户上的一个真实事件。该客户是一个颇具规模的网络交友平台,有一个用户不喜欢在她的卧室里开灯再加上她本身是偏黑色的皮肤,结果她的网友在这种昏暗的环境中看不到她的脸。我们的客户对用户保持了高度的尊重,所以希望能够在不开灯或光线不足的情况下也能改善用户的体验。
3、用于 AI 内容识别的图像增强技术

我们的 Avatar 技术能够根据输入图像对人物进行实时建模。该技术中的人脸识别、人体关键点识别等多种和视频相关的算法都对输入图像质量有着比较高的要求。算法能够正确的识别到人脸和躯体位置取决于输入图像是否足够清晰。
在输入图像黑暗或模糊的情况下,识别人脸和身体轮廓是非常具有挑战性的,所以最终的输出效果会受到影响。
传统做法与弊端
为了满足用户需求,解决在光线不足及条件下视频质量低下的这些问题,我们通过自研 AI 算法对低光照视频进行增强。
1、用传统算法来增强视频亮度
低照度增强的主要作用是提升画面的亮度,同时还要考虑以下几点限制:
画面过曝:高亮度的像素不应该被过度提亮
抑制噪点:图像噪音不应该被放大
轮廓清晰:有效信息应被最大限度地保留
传统算法很难同时考虑上述几点要求。深度学习方法也可用于低照度图像增强,但它在内存、CPU 和 GPU 上有一定的消耗,其弊端如下:
模型和推理库较大
计算量较大
耗电

夜晚的社区走廊,在低照度增强之前和之后
2、传统算法的常见问题
传统算法在进行视频低照度增强的同时,对画面中的所有内容都按照相同的规则进行处理,容易导致画面中的亮区灰度被过度拉伸,使得画面出现过曝。
而深度学习方法的模型一般较大,运算量大,功耗大,很难在移动端或边缘设备上进行实时处理,覆盖机型极其有限。
ZEGO 低照度图像增强,效果更好
1、ZEGO 低照度,弥补传统算法不足
为了解决传统低照度图像增强带来的问题,我们做了以下几个方面的改进:
首先不是所有的视频像素都应该被提亮,我们要避免过度提亮那些已经足够亮的像素。一些视频像素是低亮度的,需要相应地提亮到不同的亮度。ZEGO 低照度算法一帧一帧的对视频进行扫描,对不同亮度的像素进行分类。
实际运行场景下不会加载深度学习模型。相反,我们只加载 2D/3D LUT(又称查找表)。我们离线训练了深度学习模型,并提取 2D/3D-LUTs,最后将其植入到我们的算法中,因此我们在达到和深度学习模型相同效果的同时,规避掉了其本身的一些弊端。

夕阳下的乌镇水道,在低照度增强之前和之后
2、ZEGO 低照度图像增强技术优势
FHD 实时视频
FHD 视频是指具有高帧率的高清视频,它能给用户更好的观看体验。由于采用了深度学习算法训练得到的 2D/3D-LUT,该算法能在保证增强质量的同时进行实时处理。
舒适自然的视觉体验
我们相信 "少即是多 "的理念。我们对不同亮度的区域做不同程度的处理,避免过曝,使视频看起来自然、舒适。当我们检测到视频画面足够亮时,我们甚至不进行任何处理。
全面覆盖移动设备,包括低端设备
得益于离线深度学习方法和其他创新措施,ZEGO 低照度技术即使在低端或老旧智能手机(如小米 2S 或 iPhone 4S)和物联网设备上也能有出色的性能表现。
极端照明条件下的鲁棒性
ZEGO 低照度技术已经在大量的极端照明情况下进行了测试,能够在极端黑暗或明亮的条件下良好工作。我们还与其他友商解决方案进行了对比测试,发现后者在极端的照明条件下会出现炫光或闪烁等异常情况。
ZEGO 低照度图像增强技术研发思路
ZEGO 即构科技拥有一支专门从事视频增强的人工智能研发团队,并且已系统的建立了一套复杂的人工智能画质增强算法。该团队多年来深耕图像处理技术,不断超越现有的技术手段,即使在极端的低照度场景,也能提供令人惊艳的画质,同时能够在边缘设备上以高分辨率、高帧率、进行实时运行。
1、轻量级的深度学习模型
深度学习技术虽然能对增强低光视频起到很大的作用,但它很难在低端机型上实时运行起来。
我们使用模型训练得到的 2D/3D LUT 并在运行阶段加载该查找表用于低照度增强。基于该查找表,算法的实际算力和内存消耗都非常小,使得低端机型也能进行实时的画质增强。
2、适当地增亮到不同水平
该算法会对整个图像进行扫面并评估不同区域的亮度水平。我们只对低光照且包含有效信息的区域进行增亮而不会处理那些已经足够亮的区域。
3、平稳地增加光量以避免闪烁
为了给用户更好的使用体验,我们会在一小段时间里动态调整低照度的增强水平,使其能够平稳过渡到目标亮度,避免环境光亮的忽亮忽暗导致的画面出现闪烁。
如果不考虑增强效果的过渡,当环境光出现频繁变化时会导致算法来回切换增强模式从而使得画面出现闪烁。该算法会在一定时间内进行渐进式增亮,保证增亮效果平稳过渡,使得肉眼看起来感到自然和舒适。所有这些努力背后的理念是以人为本。
4、避免检测帧间的光线变化
在实际情况下,光线可能是闪烁的,两个连续帧之间的光照可能会出现比较大的差异。我们不会对相邻两帧之间进行光照变化的检测,避免额外的计算消耗。
检测光线变化会消耗一定的计算资源,这将减慢处理速度并引入额外的延迟。除此之外,检测算法很复杂,它的判断可能会出错。考虑到这些限制,我们决定避免检测帧间的光线变化。
5、对图像噪声进行保守处理
图像噪声是图像增强中的一个经典问题。市面上有各种处理图像噪声的算法,我们在经过全面的实验和比较后总结出以下几个原则:
当我们增亮有效区域的像素亮度时,需要尽量避免放大图像噪声。我们通过设计复杂的算法来检测图像噪声,并以不同的方式处理它们。
尽量不要做图像噪声抑制,因为这是一项繁重的计算任务,也会减慢处理速度。此外,处理结果很可能不会令人满意。
如果有必要,采取一些保守的措施来抑制图像噪声。例如,为了抑制噪声的中一个像素,你可以用它周围像素的光照度的平均值来代替它。
总结
ZEGO 即构科技低照度处理技术能够智能感知环境光亮程度,并智能调整图像亮度到符合人眼舒适程度,一切以符合用户的感知为标准进行暗场景智能化调整。
未来,即构科技视频算法团队也将继续深入用户需求,致力为用户提供更加舒适的视觉体验!
暗黑王者|ZEGO 低照度图像增强技术解析的更多相关文章
- 学习PHP爬虫--《Webbots、Spiders和Screen Scrapers:技术解析与应用实践(原书第2版)》
<Webbots.Spiders和Screen Scrapers:技术解析与应用实践(原书第2版)> 译者序 前言 第一部分 基础概念和技术 第1章 本书主要内容3 1.1 发现互联网的真 ...
- 钟表维修管理系统技术解析(一) MVC架构搭建
钟表维修管理系统技术解析(一) MVC架构搭建 1.1新建项目 第一步:打开VS2010界面,点击左上角文件,点击新建,选择项目 1.1(图1) 第二步:点击网站Web类型,选择ASP.net MV ...
- 会员卡管理系统技术解析(十八)Timer定时监听
会员卡管理系统技术解析(十八)Timer定时监听 在web应用中,有时候客户须要一些定时程序.不须要客户自己去操作.而是由应用程序自行触发(代理)运行某些操作. 这个时候监听与定时器的配合使用就基本能 ...
- 干货|爱奇艺CDN巡检系统技术解析
小结: 1. 中心处理系统 /1/将定制后的巡检任务拆分,通过配置与任务分发系统.CMDB*( configuration management database)将派发到边缘拨测系统/2/处理边缘拨 ...
- 深度学习基础系列(十一)| Keras中图像增强技术详解
在深度学习中,数据短缺是我们经常面临的一个问题,虽然现在有不少公开数据集,但跟大公司掌握的海量数据集相比,数量上仍然偏少,而某些特定领域的数据采集更是非常困难.根据之前的学习可知,数据量少带来的最直接 ...
- 现代前端技术解析:Web前端技术基础
最近几年,越来越多的人投入到前端大军中:时至至今,前端工程师的数量仍然不能满足企业的发展需求:与此同时,互联网应用场景的复杂化提高了对前端工程师能力的要求,一部分初期前端工程师并不能胜任企业的工作 ...
- Hystrix线程隔离技术解析-线程池(转)
认识Hystrix Hystrix是Netflix开源的一款容错框架,包含常用的容错方法:线程隔离.信号量隔离.降级策略.熔断技术. 在高并发访问下,系统所依赖的服务的稳定性对系统的影响非常大,依赖有 ...
- dom技术解析xml下jaxp解析器详细代码
1.使用jaxp实现查询操作 person.xml <?xml version="1.0" encoding="UTF-8" standalone=&qu ...
- 在线抠图网站速抠图sukoutu.com全面技术解析之canvas应用
技术关键词 Canvas应用,泛洪算法(Flood Fill),图片缩放,相对位置等比缩放,判断一个点是否在一个平面闭合多边形,nginx代理 业务关键词 在线抠图,智能抠图,一键抠图,钢笔抠图,矩阵 ...
- 互联网DSP广告系统架构及关键技术解析
互联网DSP广告系统架构及关键技术解析 宿逆 关注 1.9 2017.10.09 17:05* 字数 8206 阅读 10271评论 2喜欢 60 广告和网络游戏是互联网企业主要的盈利模式 广告是广告 ...
随机推荐
- ChatGPT研究报告:AIGC带来新一轮范式转移
以ChatGPT为代表的AIGC(人工智能生成内容)将成为新一轮范式转移的开始. 本文约4000字,目标是快速建立AIGC知识体系,含有大量的计算专业名词,建议阅读同时扩展搜索. 一.行业现状 1.概 ...
- 如何在 vue3 中使用 jsx/tsx?
我们都知道,通常情况下我们使用 vue 大多都是用的 SFC(Signle File Component)单文件组件模式,即一个组件就是一个文件,但其实 Vue 也是支持使用 JSX 来编写组件的.这 ...
- QUIC协议 对比 TCP/UDP 协议
QUIC协议是HTTP3引入的,所以需要了解HTTP的版本迭代. HTTP1.x 队头阻塞:下个请求必须在前一个请求返回后才能发出,导致带宽无法被充分利用,后续请求被阻塞(HTTP 1.1 尝试使用流 ...
- ROS机器人SLAM创建地图
ROS机器人SLAM创建地图 连接小车 ssh clbrobot@clbrobot 激活树莓派 roslaunch clbrobot bringup.launch 开启雷达 打开另一个终端输入: ss ...
- Nginx配置https并监听80端口重定向到443
1.进入nginx安装目录,进入config文件夹编辑nginx.conf文件 vim nginx.conf 配置端口 443 listen 443 http2 ssl default_server ...
- i < sqrt(n) 和 i*i < n 那一种写法更加高效?
这两种写法效率依赖处理器.编译器和标准库.一般来说循环内的重复操作的性能差于循环外的单次操作. 参考文献 Which is more efficient to use in a for loop, i ...
- 是时候,升级你的 Windows 了「GitHub 热点速览」
不知道多少小伙伴用着 Windows 操作系统,可能会有一个烦恼是有时候操作系统过慢,因为众多拖慢 Windows 系统的组件.Atlas 作为一个修改版的 Windows 系统,能极大提高操作系统运 ...
- 想打印k8s资源YAML结果搞懂了Client-Side & Server-Side Apply
前言 由于查看k8s资源YAML时常看到沉长的YAML与手写的格式,相差甚远不利于阅读,经过探索官方文档,才理解什么是Client-Side & Server-Side Apply. 先看一下 ...
- 2022-06-29:x = { a, b, c, d }, y = { e, f, g, h }, x、y两个小数组长度都是4。 如果有: a + e = b + f = c + g = d + h
2022-06-29:x = { a, b, c, d }, y = { e, f, g, h }, x.y两个小数组长度都是4. 如果有: a + e = b + f = c + g = d + h ...
- 2021-01-30:redis中,Pipeline有什么好处?
福哥答案2021-01-30:可以将多次 IO 往返的时间缩减为一次,减少多次IO延迟的开销.前提是 pipeline 执行的指令之间没有因果相关性. 多个指令之间没有依赖关系,可以使用 pipeli ...