图像是人类感知和机器模式识别的重要信息源,其质量对所获取信息的充分性和准确性起着决定性的作用。然而,图像在获取、压缩、处理、传输、显示等过程中难免会出现一定程度的失真。如何衡量图像的质量、评定图像是否满足某种特定应用要求?要解决这个问题,需要建立有效的图像质量评价体制。图像质量评估智能化项目就是依据模型和算法给出相应的量化指标,自动化评估图像的质量。目前,图像质量评估智能化项目的目标是将待评估的图像分为“模糊”、“有噪声”、“待质检”、“清晰”这四类。
版本号 | 主体方法 | 模型效果 |
---|---|---|
V1.0 | 模糊算法采用基于Laplacian算子的方法 | 街景图像,分辨率大,效果很差 |
V1.1 | 噪声算法采用计算PSNR、SSIM等方法 | 这两种方法是有参考图像下的评估方法,但是实际使用时并没有参考图像。对待评估图像进行去噪等操作,会损坏原始图像 |
V2.0 | 采用无参考图像清晰度评价方法 | 基于Tenengrad梯度的方法效果可以接受 |
V2.1 | 检测待评估图像边缘,对边缘求和 | 基于图像边缘的方法,不能区分模糊和噪声 |
V3.0 | 评估过程采用patch-wise形式(即将图像分成一个个小块,再评估) | 整幅图像评估和基于patch-wise的方法结果区别不大 |
V4.0 | 首先检测出图像中的所有目标,再对每个目标做评估,求结果平均值 | 采用目标检测的方法,效果可以接受,但是受限于GPU性能 |
V4.1 | 结合目标检测, 利用噪声估计方法来评估含噪声图像 | 街景图像,分辨率大,效果可以接受,但是效率很低 |
V5.0 | 利用Laplacian算子来评估含噪声图像 | 街景图像,分辨率大,效果不是非常好 |
基于硬件和效果的考虑,目前评估图像模糊的算法采用基于Tenengrad梯度的方法,评估图像含噪声的算法采用基于Laplacian算子的方法。
图像质量评估智能化项目,主要是用来自动化评估图像质量。可将待评估的图像分为“模糊”、“有噪声”、“待质检”、“清晰”这四类。
图像质量评估智能化项目,对“模糊”、“有噪声”这两种类型评估时采用不同的算法,首先获取“模糊度blur”和“噪声指标noise”,然后根据blur和noise预测出图像的种类(“模糊”、“有噪声”、“待质检”、“清晰”)。
这里,我们将简单说明评估模糊算法和是否含有噪声的准确率。即预测的图像种类正确比例。这里使用442张街景图像作为测试集,其中,模糊
图像有129张,有噪声
图像有199张,清晰
图像有114张。
- 图像被判断为
待质检
时,视为错误分类。
图像种类 | 评估算法准确率 |
---|---|
模糊 | 73.46% |
有噪声 | 18.59% |
清晰 | 39.47% |
- 图像被判断为
待质检
时,视为正确分类。
图像种类 | 评估算法准确率 |
---|---|
模糊 | 96.90% |
有噪声 | 94.47% |
清晰 | 91.23% |
- 由于目前待评估图像主要为街景图像,图像分辨率较大,基本都在
4000 x 4000
以上,因此评估流程的效率不是很高。在机器CPU为Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz
上,评估一张街景图像的时间大约是2s
左右. - 目前评估模糊算法的准确率在可接受范围内,但是评估是否含有噪声算法的准确率较低。上面两个表中准确率的提升是在降低召回率(查全率)的前提下得到的。在评估
有噪声
图像和清晰
图像时,召回率会很低。
pip install -r requirements.txt
# 修改config.cfg中相应的阈值,各变量的详细含义已在config.cfg中说明.
# 修改imagepath为待评估的图像路径。
python IQA.py imagepath config.cfg