定量分析图像渲染质量

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 通常都是由人眼来主观判断图像的质量高低,能否通过数学度量对判定图像的质量呢?比如通过图片的像素/亮度/边缘数量来判断图像是清晰还是模糊

前言

通常都是由人眼来主观判断图像的质量高低,能否通过数学度量对判定图像的质量呢?比如通过图片的像素/亮度/边缘数量来判断图像是清晰还是模糊。

看似简单,但实际上很困难,图像是信息的载体,载体的质量高,并不意味着信息内容的质量高,比如拍摄者是为了突出物体虚化的背景,或者拍摄者是为了拍摄风景,虚化的人物。从数据上很难客观的评判图片中的内容是否高质量。

我们可以通过数学模型,给出原图与待评图之间的差异量,再辅以人眼筛选,综合判断图片的质量。

图像质量评估体系(IGA)

图像质量评估算法是对任意的图像进行质量评分,将图像整体作为输入,将图像的质量得分作为输出,图像质量评估分为三种:

  1. 全原图质量评估:在这种方法中,我们拥有一个非失真的图像,以测量待评图像的质量。在我们可以拥有原始图像及其压缩图像的情况下,此方法可用于待评图像压缩算法的质量。
  2. 降低参考的图像质量评估:在这种方法中没有可以用来参考的图像,但是具有参考信息的图像(例如,带有水印的图像)可以比较和测量待评图像的质量。
  3. 无原图质量评估:算法获得的唯一输入是要测量其质量的图像,完全没有可以用来参考的图像,因此被称为无参考“No-Reference”

草案

本方案的目的是判断原图片通过裁剪/渲染后的图片质量变化的程度。

环境变量上,我们可以获得原图和待评图,并且样图是可以固定的,所以可以使用全参考模式来制定方案。

我们需要找几种常见类型的样图,如人像,风景照等

使用不同的方式去编辑渲染,再计算评分。

比如:

  1. 使用【方式1】渲染的图A,与原图比较差异。计算获得评分X
  2. 使用【方式2】渲染的图B,与原图比较差异。计算获得评分Y

比较 X 与 Y 的评分,再辅以人眼筛选,确定差异值。我们将首次评分的结果作为基准值。

后续每次渲染方式的变更时,都将进行样图的重评。

如此我们便可知道当前渲染的图片质量是提升了还是在裂化。

主流评估方案

基于图像像素统计

计算待评图和原图对应像素点值的差异,从统计角度衡量图像质量优劣。

待评图为F,原图为R,大小都为M*N。

均方差 MSE(Mean Squared Error

是反映原图与待评图之间差异程度的一种度量。思路是对两张尺寸完全相同的图片一个个像素进行对比,对比的数值就是图像的色值。

该方案不考虑人眼的局部视觉因素,因此无法用于判断图像的局部质量。

参考结论: 取值范围为[0,+∞),当预测值与真实值完全吻合时等于0,即完美模型;该值越大,差异越大。该值越小,差异性越小,图片质量越高

计算公式:

img

def mse(origin, target):
    # the 'Mean Squared Error' between 
    # the two images is the sum of the squared difference between the two images
    mse_error = np.sum((origin.astype("float") - target.astype("float"))**2)
    mse_error /= float(origin.shape[0] * origin.shape[1])
    # return the MSE. The lower the error, the more "similar" the two images are.
    return mse_error

即峰值信噪比 PSNR(Peak Signal to Noise Ratio

最为广泛使用的一种图像评价,通常用来比较待评图与原图的质量差异。

其原理是比较最大值信号与背景噪音之间的差异。

PSNR也具有局限性,人眼的视觉对误差的敏感度不是绝对的,其产值结果可能会受到亮度或对比度的影响。可能出现PSNR值较高的图像,但是肉眼判断为不清晰的情况。

OpenCV官方文档说这也是逐帧比较视频差异的最常用方式,毕竟它简单,运行速度快。但其呈现的差异有时候与人的主观感受不一致,所以OpenCV还提供了结构相似性算法SSIM做出改进。

参考结论:取值范围为(0,∞),值越高,表示是待评图与原图的差异越小,即质量越高

计算公式:也是在MSE基础上的进一步扩展,这里MAX表示图像颜色最大值,8bit图像取值为255img

def PSNR(original, target):
    mse = np.mean((original - target)**2)
    if (mse == 0):
        return 100
    max_pixel = 255.0
    psnr = 20 * log10(max_pixel / sqrt(mse))
    return psnr

基于结构信息基础

提出者认为图像的结构失真的度量应是图像感知质量的最好近似。在此基础上提出了结构相似性度量。

结构相似度 SSIM(Structural Similarity Index

结构相似性,是一种衡量两幅图像相似度的指标。该指标首先由德州大学奥斯丁分校的图像和视频工程实验室(Laboratory for Image and Video Engineering)提出。

自然图像具备高度结构性,临近的像素间存在强相关性,而这样的关系性承载了场景中物体的结构信息。人类视觉系统在观看图像时已经很习惯抽取这样的结构性信息。因此,在设计图像质量衡量指标用以衡量图像有损程度时,结构性有损的衡量是很重要的一环。

SSIM考虑了人眼的生物特征,是基于感知的计算模型,人类视觉系统就是从可视区域内获取结构信息,所以我们也可以检测结构信息的差异来对比图片,这和MSE或者PSNR通过线性变换来分解信号有本质上的不同。

参考结论:取值范围为(0, 1],数值越大,表示差异性越小,1代表两幅图像完全相同。

计算公式:SSIM的测量体系由三个模块组成: 亮度,对比度和结构。其中 l(x, y)是亮度比较,c(x, y)是对比度比较,s(x, y)是结构比较。

img

image-20221108154537463

img

img

from skimage.metrics import structural_similarity as ssim
ssim(origin, target)

基于信息论基础

基于信息论中的信息熵基础

视觉信息保真度 VIF(Visual Information Fidelity)

VIF是Sheikh等结合自然图像统计模型、图像失真模型和人眼视觉系统模型提出的图像质量评价指标.
与峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)、结构相似性(Structural Similarity, SSIM)等指标相比,VIF与主观视觉有更高的一致性。其值越大,表明图像质量越好。

信息保真度准则 IFC(Information Fidelity Criterion)

通过计算待评图像和原图之间的互信息来衡量图像的质量优劣。扩展了图像与人眼之间的联系。

缺点:对图像的结构信息没有反应。

演示案例

img

从样图可以得出结论,当MSE值小,PSNR大,SSIM值接近 1 时,图片的质量是最高的。

定量评分方案

技术指标

选用MSE、PSNR、SSIM综合分析原图与导出图的质量差异。

全图导出

比较原图与App导出后的图片以得出全图导出功能的评分。

样图原图尺寸: 3264 × 2448

AAA BBB CCC
File Size 1.9 MB 3.2 MB 2.4 MB
Pixel 3240 × 2430 3264 × 2448 3264 × 2448
MSE 24.580809200833205 22.164186650967576 2.5357344530949635
PSNR 42.30787129372325 49.05336805988961 44.094927024491255
SSIM 0.9837596127093489 0.9970888021806221 0.9892957811791622

数据上差异并不是很明显,AAA对像素进行了一定的裁剪,产出图片的体积更小,质量较高。

MSE的差异来自于CCC右下角没有水印,AAA 与 BBB都有水印

图片编辑

编辑功能会对原图内容进行修改,无法直接和原图进行比较,我们需要先对现有功能的导出图进行采样,确定基准值。

  1. 通过质量最大化的渲染方案A,获得一张肉眼判断为高质量的编辑后图片,作为原图。
  2. 选用兼顾性能与质量的渲染方案B,通过相同的编辑参数处理图片,作为待评图。
  3. 应用MSE、PSNR、SSIM对两张图进行差异化分析,获得评分X。
  4. 评分X即可作为基准值,后续有新的方案,则重复1-3的步骤,获得新的评分。与基准值X做比较,来判断新方案的优化幅度。

参考资料

图像质量评估:BRISQUE

谈谈图像质量量化评估标准

图像质量评价

用Python+OpenCV对比图像质量

基于结构相似度的彩色图像质量评价算法

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
1月前
|
算法
3D打印新突破!曼大等提出DQN多样化图形路径规划器:锐角转弯降低超93%,热变形减少25%
【10月更文挑战第28天】曼彻斯特大学等机构的研究人员提出了一种基于深度Q网络(DQN)的3D打印路径规划器,能够高效处理多样化图形结构。该规划器在多个应用中表现出色,包括线框打印、连续纤维打印和金属打印,显著提高了打印质量和效率。然而,其复杂性和可扩展性仍需进一步优化。论文链接:https://arxiv.org/pdf/2408.09198
39 6
|
存储 算法 数据库
一起聊聊图像质量和美学评估的数据集
图像质量和美学评估是计算机视觉领域中热点的研究问题,并且极具应用前景,可与众多实际应用深度结合。评价一张图片,主要从两个方向,一个是图像的质量,如像素、清晰度、有无噪声等,一个是图像的感觉,也就是美学,如构图、颜色、内容主体等。通过这两个方面就可以评价一张图片的好坏,通过计算机视觉算法,可以为图片自动评分,得分高的图片被认为较好,可以用于推荐和搜索等应用场景。本文主要聊聊一些关于图像质量和美学评估
12033 1
|
2月前
|
编解码 监控 算法
高动态范围成像:超越人眼的视觉体验
【10月更文挑战第15天】高动态范围成像(HDR)通过捕捉更广泛的亮度范围,超越传统图像和人眼的极限,提供卓越的视觉体验。本文深入解析HDR的基本原理、技术特点及其在摄影、电影、游戏、医学影像和工业检测等领域的广泛应用,展现其引领视觉技术革命的独特魅力。
|
4月前
|
数据可视化 数据管理 vr&ar
|
5月前
|
人工智能 自然语言处理 测试技术
将图像自动文本化,图像描述质量更高、更准确了
【7月更文挑战第11天】AI研究提升图像文本化准确性:新框架IT融合多模态大模型与视觉专家,生成详细无幻觉的图像描述。通过三个阶段—全局文本化、视觉细节提取和重描述,实现更高质量的图像转文本。研究人员建立DID-Bench、D2I-Bench和LIN-Bench基准,展示描述质量显著提升。尽管有进步,仍面临幻觉、细节缺失及大规模处理挑战。[论文链接](https://arxiv.org/pdf/2406.07502v1)**
45 1
|
7月前
|
人工智能 vr&ar 开发者
大型多视角高斯模型LGM:5秒产出高质量3D物体
【2月更文挑战第9天】大型多视角高斯模型LGM:5秒产出高质量3D物体
102 1
大型多视角高斯模型LGM:5秒产出高质量3D物体
|
7月前
|
机器学习/深度学习 算法 搜索推荐
【实操】数据扩增:Retinex算法用于图像颜色恢复和对比度增强
【实操】数据扩增:Retinex算法用于图像颜色恢复和对比度增强
130 0
【实操】数据扩增:Retinex算法用于图像颜色恢复和对比度增强
|
机器学习/深度学习 编解码 算法
检测并消除瑕疵,DeSRA让真实场景超分中的GAN更加完美
检测并消除瑕疵,DeSRA让真实场景超分中的GAN更加完美
353 0
|
PyTorch 算法框架/工具 计算机视觉
|
XML 数据格式 计算机视觉
解决小目标检测常用手段——图像平铺
解决小目标检测常用手段——图像平铺
560 0
解决小目标检测常用手段——图像平铺

热门文章

最新文章