王 聪
(武汉邮电科学研究院,湖北 武汉 430074)
随着数字自动化技术的不断发展,视频监控行业对视频质量检测技术的要求也越来越高。如何评价视频图像的清晰度是人们所关心的一个问题。
视频图像清晰度异常主要是由于焦距的不当、视频镜头的损坏以及一些由于人为或是环境等因素所导致的。目前主要通过人工来检测视频图像的清晰度的方法效率低下,而且由于人眼的主观性,通过人眼诊断视频图像的清晰度会存在一定的偏差。因此,基于计算机视觉和人工智能技术,借助计算机强大的处理能力的视频质量检测技术也应运而生。
本文通过对几种常用的视频图清晰度评断函数的研究,得出了对这几种图像清晰度评价函数的分析总结,提出一种基于灰度差分函数的新的视频图像清晰度检测算法。
好的图像清晰度评价函数应具备以下几种特征[1]:1)具有强单峰性和高灵敏度,即清晰度评价函数最大值对应图像的正焦位置,并且在接近正焦位置函数值变化明显;2)具有较高的信噪比;3)评价函数的计算效率高。
目前评价图像清晰度的函数分为以下4类[2]:
1)灰度变化函数。由于图像中灰度值变化越大,图像的聚焦程度越高,则由图像中像素灰度变化的程度可判断视频图像的清晰程度。
2)图像灰度熵函数。该函数利用清晰图像的信息熵比模糊图像的信息熵要大,依据此原理可以评断图像的清晰度。
3)频域类函数。根据图像的特征,清晰的图像比模糊的图像拥有更锋利的边缘,频域类函数主要通过傅里叶变化提取图像的高频部分,由于高频部分集中在图像的边缘,图像中高频的比例越大,则拥有更锋利的边缘利用此原理即可判断图像的清晰度。频域函数虽能准确地判别图像是否清晰,但计算量大,代码效率低,不适用一般情况下快速、实时的检测。
4)梯度函数。梯度函数主要被用来提取图像的边缘信息,对于图像越清晰的图片来说,图像边缘应该越尖锐,则其梯度函数的值也应该越大。
目前国内外基于以上4类提出了很多清晰度评价函数,如方差函数、能量熵评价函数、灰度差分法、频率法等。它们大多不是直接和图像相联系的,因此很多评价函数的应用范围和作用效果都不算太好。本文提出一种基于灰度差分法的视频图像清晰度评价函数。
首先介绍下灰度差分法,灰度差分法[3]是一种原理简单但有效率的图像清晰度评价方法。其原理是利用图像中所有像素点与相邻像素的差的绝对值之和作为图像清晰度评价函数,即
当F(x,y)取最大值时即为图像最清晰时。
通过公式不难发现灰度差分法应用范围有限,易受到灰度级数的影响,只适用于灰度级数较多的图像中。对于那些灰度级数少,图像亮度变化较慢的图片,灰度差分值之间的差异小,这样常常会导致一些不符合单调性要求点的出现,容易对图像的清晰程度产生误报。
本文接下来将提出一种基于灰度差分法改进的视频图像清晰度评价函数。
边缘是图像最基本的特征之一[4],所谓边缘是指周围像素点有阶跃性变化点的像素集合,那么清晰图像的边缘信息也就越丰富。由于利用边缘信息来处理图像清晰度的问题时具有直观性,且不用考虑成像特性与灰度级的限制,为此文本提出“锐利点”的概念来描述图像的边缘信息。
本文提出的“锐利点”是指当图像中的某个像素点的灰度差分值大于某一阈值时则称其为“锐利点”,阈值的选取是基于图片的亮度值提出的,其目的就是要减少亮度对锐利点判断的影响。根据上诉述“锐利点”的特性可知,图像中“锐利点”的信息越大,则相应图像的边缘信息就越丰富,这样由“锐利点”的信息量就能判断图像的清晰程度。利用这一点,文本提出利用视频图像中有效区域中所有“锐利点”的灰度差分值之和(sum1)与所有像素点的灰度差分值之和(sum2)的比值作为图像清晰度的评判依据,所谓的有效区域是指除去监控图像中无用的外部信息后剩余的图片区域。如上所述得出本文所提出的视频图像清晰度的评价函数sum1/sum2。当sum1/sum2的值越大时,“锐利点”的信息量越大,图片的清晰程度越高。
视频监控系统是一种智能化视频分析与预警系统,基于监控系统的视频图像清晰度检测算法是通过在网络视频监控系统的基础上叠加视频分析的功能,充分挖掘抽取视频图像资源中的关键信息,它通过分析视频内容从而对视频图像出现的清晰度异常问题做出准确判断,有效预防因硬件导致的图像质量问题以及所带来的不必要的损失,并及时检测破坏监控设备的不法行为。如图1为利用本文提供的清晰度核函数实现视频监控系统中清晰度检测的基本流程。
图1 监控系统中清晰度检测的基本流程
基于监控系统的视频图像清晰度检测算法的具体实现步骤为:
1)通过视频监控平台提供的视频媒体接口获取连续的视频码流。
2)利用OPENCV计算机图像视觉库从连续的视频码流中获取到视频中的每一帧图像,并判断图像是否为YUV制式,若不是,对接收到的视频图像进行灰度化处理,具体实施公式为
3)将每一帧图像传送至视频清晰度分析算法单元,利用分析算法单元提供的核函数对图片数据进行分析。下述步骤为利用文本提出的清晰度评价函数作为核函数的具体实现。
4)过滤掉视频图像中的无用信息,由于监控视频图像中经常会出现一些类似时间、地点等信息,为了减少这些信息对算法准确性的影响,本算法截取当前图像的1/8~7/8的面积进行图像清晰度检测,以去除OSD的影响,并提高图像的信噪比。
5)在图像的有效区域内,计算出当前图像帧中的所有像素点灰度差分值总和sum 1。
图像中任意像素点的差分值为当前像素点的Y值(灰度值)分别与其正下方和正右方像素点的Y值做差,然后再将两差值取绝对值后相加,即
从而得到差分值总和sum 1为
6)计算“锐利点”的阈值。首先在图像的有效区域内,计算出当前帧中的的平均亮度值,若其亮度值低于某一数字K 1,则将“锐利点”阈值threshold设定为K 2/10(其中K 2>K 1),若其亮度值高于某一个数值K 3,则“锐利点”阈值threshold设定为K 3/10,其目的就是要减少亮度对锐利点判断的影响。
7)根据步骤4)所得到的“锐利点”阈值threshold,得到当前帧图片的所有“锐利点”,并将这些锐利点的灰度差分值做和得到sum 2,当Y(i,j)> threshold时
8)利用视频清晰度评价函数sum2/sum1来检测当前帧的清晰程度,其方式为:当sum2/sum1≥阈值Kfold1时,当前帧图像清晰度正常;当sum2/sum1<阈值Kfold1时,当前帧图像清晰度异常。
9)在单位时间统计图像清晰度异常的帧数,当清晰度异常的帧数与总帧数的比值大于某一比值时,则判定这段时间内视频清晰度异常。
为了验证本文所提出的评价函数是一种好的图像清晰度评价函数并能实时有效地检测监控视频的图像清晰度,本文选取了大量的图片和视频进行测试,并分别与方差函数、熵函数、灰度差分函数进行比较。
首先为了得到改进后的评价函数和其他常用清晰度评价函数的算法效果,本文从烽火众智公司的视频监控平台中截取了56幅格式相同但聚焦程度不同的图片,并将这56幅图片按清晰程度平均划分为7个等级,0级为最清晰,6级为最模糊。在相同的检测环境下,利用不同的评价函数计算出不同等级图片的清晰度值,然后计算出每种评价函数对应不同等级图片所得到的函数清晰度值的平均值并将其归一化。本次实验计算出的结果如表1所示。为了便于比较各评价函数的性能,本文利用表1得到的清晰度平均值结果手工描绘出如图2所示的曲线图示意图,纵坐标表示由不同评价函数归一化后得出的图像清晰度评价平均值,横坐标代表图像清晰度的等级。
表1 不同检测算法得到的清晰度平均值
图2 不同评价函数的性能的示意图
通过图2所示的曲线示意图可以发现,方差评价函数的单峰性较好,但曲线夹角最宽,故其灵敏度最低,能量熵评价函数的曲线图虽然夹角较小,但其呈现较大的波动,故其单峰性不好,灰度差分评价函数较方差函数和能量熵函数而言,具备较小的曲线夹角,同时又有比较好的单调性,但通过本文前面的介绍,灰度差分函数的适用性不如前面的几种函数。再来分析下改进后的评价函数,改进后的函数较改进前的灰度差分函数不仅解决了之前函数适用性的问题,而且从曲线图可以直观地发现,较之前提到的3种评价函数的曲线有更好的单调性和更高的灵敏度,故其性能较佳。
接下来为了验证本文提出的评价函数的准确率,本文从烽火众智公司的视频监控平台中选取了45个视频格式和分辨力均相同,视频时间长度均为5 min清晰度异常的视频,在相同的测试环境下按照如图1所示的检测流程仅改变检测的核函数对这45个异常视频进行清晰度的测试,结果如表2所示。表2中的结果为利用不同的清晰度评函数对视频检测后,得出通过算法检测能正确检测到的视频个数与总视频个数的比值,即算法检测率=正确检测到的总数÷检测视频总数。从算法检测率结果看出,改进后的清晰度评价函数对监控视频清晰度检测的准确率为95.56%,比其他清晰度评价函数检测率都要高很多,能够更为准确地判别图像的清晰度,是一种准确的清晰度评价函数。
表2 不同检测算法的检测率
最后为了验证本文提出的评价函数可靠性,本文从烽火众智公司的视频监控平台中选取了60个视频格式和分辨力均相同,视频时间长度均为5 min清晰度正常的视频,在相同的测试环境下,仅改变检测的核函数,利用如图1所示的检测流程对这60个正常视频进行清晰度的测试,得到如表3所示的结果。
表3 不同检测算法的误报率
表3中的结果为利用不同的清晰度评函数对视频检测后,得出通过计算误报的视频个数与总视频个数的比值,即算法检测率=误报视频总数÷检测视频总数。从算法误报率结果看出,改进后的评价函数误报率仅为1.67%,比其他评价函数低很多,由此可看出本算法是一种可靠的清晰度评价函数。
本文介绍了计算机视觉中较为重要的几种图像清晰度评价函数,并在灰度差分法的基础上提出一种基于视频监控的视频图像清晰度检测算法,经实验验证,该检测算法具有单峰性强、灵敏度高、无偏好性、信噪比高等特点,能够自动实时有效地完成对监控视频清晰度的检测,是一种良好的视频图像清晰度的检测算法。
[1]MITCHELL T M.机器学习[M].曾华军,张银魁,译.北京:机械工业出版社,2003.
[2]曹茂永.基于灰度梯度的数字图像评价函数[J].光电工程,2003(4):69-71.
[3]任四刚,李见为,谢利利.基于灰度差分法的自动调焦技术[J].光电工程,2003(4):35-37.
[4]GONZALEZ R C.数字图像处理(MATLAB 版)[M].阮秋琪,译.北京:电子工业出版社,2005.
[5]杨绍清,李伟,刘松涛.基于CA的图像边缘检测新方法[J].电视技术,2010,34(11):111-113.