视频质量诊断系统(Video Quality Diagnostics,简称VQD)从前端监控点(网络摄像机、NVR、DVR、或者流媒体服务器)获取实时码流,进行解码以及对图像质量进行评估,对视频图像中存在的质量问题进行智能分析、判断和报警。
平安城市、银行、司法、交通、电力、运营商等大型系统的运营维护。
• 检测内容包括多种视频故障,如:清晰度异常(图像模糊),亮度异常(过亮、过暗),偏色,噪声干扰(雪花),画面冻结,遮挡、对比度、条纹、信号丢失等异常。
1-亮度过亮异常检测:
功能说明:
由于前端摄像机照明异常、增益控制失效、摄像机故障或人为遮挡等引起的画面整体发白(有刺眼感),目标物体轮廓不清晰,整体画面过亮的现象。
算法解决原理:
把图像先进行灰度处理,之后计算图像的平均亮度即可,亮度大于一定阈值,则报警。
2-亮度过暗异常检测:
功能说明:
由于前端摄像机照明异常、增益控制失效、摄像机故障或人为遮挡等引起的画面整体偏黑,目标物体轮廓不清晰,整体画面过暗的现象。
算法解决原理:
把图像先进行灰度处理,之后计算图像的平均亮度即可,亮度小于一定阈值,则报警。
3-对比度异常检测:
功能说明:
由于前端摄像机线路故障、参数错误或其他摄像机故障等原因,所引起视频画面整体亮度跨度范围小、颜色饱和度低而造成的对比度异常的现象。
算法解决原理:
先计算图片在灰度图上的均值和方差,当存在亮度异常时,均值会偏离均值点(可以假设为128),方差也会偏小,通过计算灰度图的均值和方差,就可评估图像是否存在对比度异常情况。
4-偏色异常检测:
功能说明:
由于前端摄像机线路接触不良、外部干扰或摄像机故障等原因,所引起视频中的画面偏色的现象。
算法解决原理:
把RGB图像转化成YUV图像,计算U分量和V分量的比值,从而得出色差的偏移量。
5-清晰度异常检测:
功能说明:
由于前端摄像机视频中聚焦不当,异物遮挡等原因,所引起的画面视野图像模糊的现象。
算法解决原理:
把彩色图像转化为灰度图像,对灰度图像的做边缘检测,本文采用sobel算子做处理,计算边缘的平均值,小于一定阈值则认为是清晰度异常。
6-噪声异常检测:
功能说明:
由于前端摄像机线路老化,传输故障,接触不良,或者受到电磁干扰,所引起的视频图像中产生速切换变化的噪点,或细微密集网纹状噪声的现象。
算法解决原理:
把图像划分成16*16块,分别计算每个子块的方差,计算最大方差和最小方差的信噪比,PSNR。
7-条纹异常检测:
功能说明:
由于前端摄像机线路老化,传输故障,或者接触不良,或受到电磁干扰,所引起的视频图像画面中混有周期性的彩色、黑白型宽型带状、波纹、网状干扰的现象。
算法解决原理:
把彩色图像转化为灰度图像,对灰度图像进行边缘检测,并统计大于设定阈值的点数量,分析这些点占整幅图像的面积比值。
8-冻结异常检测:
功能说明:
由于前端摄像机视频传输调度系统故障所引起的视频流解码后的画面中,时间标识无变化而形成的画面冻结的现象。
算法解决原理:
每隔T帧从视频中取一帧(防止相邻帧太相似引起误检),与当前帧做帧差图像DiffImage,统计DiffImage大于th阈值的点数量sum,可以设定多个,算法中设置了2个,统计连续N帧点sum都小于一定阈值,则认为是画面冻结。
9-信号丢失异常检测:
功能说明:
由于前端摄像机损坏、电源故障或视频传输环节故障,引起的间发性或持续性的画面带有明显无信号表示的信号缺失现象。
算法解决原理:
把图像划分成16*16的小块进行统计,计算局部小块的均值和方差,对方差进行排序,分别统计20和50(作为参考)对应的方差进行分析,小于一定阈值则认为信号丢失。
10-抖动异常检测:
功能说明:
由于前端摄像机自身震动或受环境影响引起的画面抖动,所引起的视频现象画面整体呈现周期性平移式振颤或局部范围内不规则视频信号畸变的现象。
算法解决原理:
每隔N帧取一帧,对取到的每帧进行特征点提取,对检测的相邻2帧进行特征点匹配,得到匹配矩阵,当匹配矩阵大于A时认为这2帧画面有抖动,当抖动帧数大于B时认为画面发生抖动。
11-遮挡异常检测:
功能说明:
由于前端摄像机受外部因素形成异物遮挡,所引起的视频画面主体区域造成的部分或全部视野受阻,画面监控信息严重缺失的现象。
算法解决原理:
彩色图像二值化,偏黑的部分为前景,其他部分为背景,对前景进行连通区域检测,求得最大连通区域面积,该面积整幅图像面积的比较即为遮挡率。
视频质量系统的算法,可以参考我之前发布的两篇博客,分别有基于传统的方法和基于深度学习的方法:
视频质量诊断&&视频质量分析_dragon_perfect的博客-CSDN博客_视频质量诊断
基于深度学习的视频质量分析 深度学习视频质量诊断 图像质量诊断_dragon_perfect的博客-CSDN博客_视频质量检测
下面对算法的接口进行说明:
视频质量系统的算法,主要是基于C/C++完成的,展示的框架通过QT实现:
百度网盘demo:
链接:https://pan.baidu.com/s/1wDljghNa2gR6mxhJ3C-P1Q
提取码:9ah5