主要内容

brisque

盲/无参考图像空间质量评估方法 (BRISQUE) 无参考图像质量分数

说明

score = brisque(I) 使用盲/无参考图像空间质量评估方法 (BRISQUE) 计算图像 I 的无参考图像质量分数。brisqueI 与基于具有相似畸变的自然场景图像计算的默认模型进行比较。分数越小,表示感知质量越好。

示例

score = brisque(I,model) 使用自定义特征模型计算图像质量分数。

示例

示例

全部折叠

使用默认模型计算自然图像及其畸变版本的 BRISQUE 分数。

将图像读入工作区。创建含噪和模糊畸变的图像副本。

I = imread("lighthouse.png");
Inoise = imnoise(I,"salt & pepper",0.02);
Iblur = imgaussfilt(I,2);

显示图像。

montage({I,Inoise,Iblur},Size=[1 3],ThumbnailSize=[])
title("Original Image | Noisy Image | Blurry Image")

Figure contains an axes object. The hidden axes object with title Original Image | Noisy Image | Blurry Image contains an object of type image.

使用默认模型计算每个图像的 BRISQUE 分数,并显示分数。

brisqueI = brisque(I);
disp("BRISQUE score for the original image is: "+brisqueI)
BRISQUE score for the original image is: 20.6586
brisqueInoise = brisque(Inoise);
disp("BRISQUE score for the noisy image is: "+brisqueInoise)
BRISQUE score for the noisy image is: 52.6074
brisqueIblur = brisque(Iblur);
disp("BRISQUE score for the blurry image is: "+brisqueIblur)
BRISQUE score for the blurry image is: 47.7553

原始未畸变图像的感知质量最好,因此 BRISQUE 分数最低。

基于一组质量感知特征和对应的人类意见分数训练自定义 BRISQUE 模型。使用自定义模型计算自然场景图像的 BRISQUE 分数。

保存来自一个图像数据存储的图像。这些图像都有 JPEG 压缩产生的压缩伪影。

setDir = fullfile(toolboxdir('images'),'imdata');
imds = imageDatastore(setDir,'FileExtensions',{'.jpg'});

指定每个图像的意见分数。以下差异均值意见分数 (DMOS) 值仅用于说明目的。它们不是通过试验获得的真实 DMOS 值。

opinionScores = 100*rand(1,size(imds.Files,1));

使用图像数据存储和意见分数创建质量感知特征的自定义模型。由于分数是随机分数,属性值会变化。

model = fitbrisque(imds,opinionScores')
Extracting features from 33 images.
......Training support vector regressor...

Done.
model = 
  brisqueModel with properties:

             Alpha: [31×1 double]
              Bias: 58.0900
    SupportVectors: [31×36 double]
            Kernel: 'gaussian'
             Scale: 0.3729

读取一个与训练图像具有相同类型畸变的自然场景图像。显示图像。

I = imread('car1.jpg');
imshow(I)

Figure contains an axes object. The hidden axes object contains an object of type image.

使用自定义模型计算图像的 BRISQUE 分数。显示分数。

brisqueI = brisque(I,model);
fprintf('BRISQUE score for the image is %0.4f.\n',brisqueI)
BRISQUE score for the image is 79.8961.

输入参数

全部折叠

输入图像,指定为二维灰度图像或 RGB 图像。

数据类型: single | double | int16 | uint8 | uint16

基于一组质量感知特征训练的自定义模型,指定为 brisqueModel 对象。model 是从自然场景统计推导的。

输出参量

全部折叠

无参考图像质量分数,以非负标量形式返回。BRISQUE 分数通常在 [0, 100] 范围内。score 的值越低,说明图像 I 相对输入 model 的感知质量越好。

数据类型: double

算法

brisque 通过使用基于具有对应差异均值意见分数 (DMOS) 值的图像数据库训练的支持向量回归 (SVR) 模型来预测 BRISQUE 分数。该数据库包含具有已知畸变(如压缩伪影、模糊和噪声)的图像,并且包含畸变图像的原始版本。待评分的图像必须具有模型训练所针对的至少一种畸变。

参考

[1] Mittal, A., A. K. Moorthy, and A. C. Bovik. "No-Reference Image Quality Assessment in the Spatial Domain." IEEE Transactions on Image Processing. Vol. 21, Number 12, December 2012, pp. 4695–4708.

[2] Mittal, A., A. K. Moorthy, and A. C. Bovik. "Referenceless Image Spatial Quality Evaluation Engine." Presentation at the 45th Asilomar Conference on Signals, Systems and Computers, Pacific Grove, CA, November 2011.

版本历史记录

在 R2017b 中推出

另请参阅

函数

对象