暗黑系王者,低照度图像增强技术解析
Posted ZEGO即构科技
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了暗黑系王者,低照度图像增强技术解析相关的知识,希望对你有一定的参考价值。
在低光照的夜间,摄像头采集的画面通常是一片昏暗,画面清晰度要远远低于肉眼。而随着实时音视频应用技术的发展,我们已经看到了各种画质增强的视频增强技术,那么是否存在一种技术,可以使视频在低光照条件下看起来比实际情况更清晰或接近实际情况呢?
卧室的墙和灯,在低照度增强之前和之后
一、低照度图像增强技术的应用场景
低照度图像增强是指对暗光条件下拍摄的图像进行画质增强,使其变得清晰或接近于肉眼效果。我们总结了一些与低照度相关的强需求场景,具体如下:
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 即构科技低照度处理技术能够智能感知环境光亮程度,并智能调整图像亮度到符合人眼舒适程度,一切以符合用户的感知为标准进行暗场景智能化调整。
未来,即构科技视频算法团队也将继续深入用户需求,致力为用户提供更加舒适的视觉体验!
基于直方图的图像增强算法(HECLAHERetinex)之
作为图像增强算法系列的第二篇文章,下面我们将要介绍功能强大、用途广泛、影响深远的对比度有限的自适应直方图均衡(CLAHE,Contrast Limited Adaptive Histogram Equalization)算法。尽管最初它仅仅是被当作一种图像增强算法被提出,但是现今在图像去雾、低照度图像增强,水下图像效果调节、以及数码照片改善等方面都有应用。这个算法的算法原理看似简单,但是实现起来却并不那么容易。我们将结合相应的Matlab代码来对其进行解释。希望你在阅读本文之前对朴素的直方图均衡算法有所了解,相关内容可以参见本系列的前一篇文章:基于直方图的图像增强算法(HE、CLAHE)之(一)(http://blog.csdn.net/baimafujinji/article/details/50614332)。
先来看一下待处理的图像效果:
下面是利用CLAHE算法处理之后得到的两个效果(后面我们还会具体介绍我们所使用的策略):
以上是关于暗黑系王者,低照度图像增强技术解析的主要内容,如果未能解决你的问题,请参考以下文章
突破计算机视觉极限,芯原AI-ISP技术带来创新的图像增强体验