Main Content

brisque

BRISQUE(Blind/Referenceless Image Spatial Quality Evaluator) 무참조(No-Reference) 영상 품질 점수

설명

예제

score = brisque(A)는 BRISQUE(Blind/Referenceless Image Spatial Quality Evaluator)를 사용하여 영상 A의 무참조(No-Reference) 영상 품질 점수를 계산합니다. brisqueA를 유사 왜곡이 있는 자연 장면 영상에서 계산된 디폴트 모델과 비교합니다. 점수가 낮을수록 더 나은 지각 품질을 나타냅니다.

예제

score = brisque(A,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 axes object with title Original Image | Noisy Image | Blurry Image contains an object of type image.

디폴트 모델을 사용하여 각 영상의 BRISQUE 점수를 계산하고 그 점수를 표시합니다.

brisqueI = brisque(I);
fprintf('BRISQUE score for original image is %0.4f.\n',brisqueI)
BRISQUE score for original image is 20.6586.
brisqueInoise = brisque(Inoise);
fprintf('BRISQUE score for noisy image is %0.4f.\n',brisqueInoise)
BRISQUE score for noisy image is 52.6074.
brisqueIblur = brisque(Iblur);
fprintf('BRISQUE score for blurry image is %0.4f.\n',brisqueIblur)
BRISQUE score for 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.
......
Completed 19 of 33 images.  Time: Calculating...
...Training support vector regressor...

Done.
model = 
  brisqueModel with properties:

             Alpha: [31x1 double]
              Bias: 58.0900
    SupportVectors: [31x36 double]
            Kernel: 'gaussian'
             Scale: 0.3729

훈련 영상과 동일한 유형의 왜곡이 있는 자연 장면의 영상을 읽어 들입니다. 영상을 표시합니다.

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

Figure contains an axes object. The 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.

입력 인수

모두 축소

입력 영상으로, 2차원 회색조 영상 또는 RGB 영상으로 지정됩니다.

데이터형: single | double | int16 | uint8 | uint16

품질 인식 특징 세트에 대해 훈련된 사용자 지정 모델로, brisqueModel 객체로 지정됩니다. model은 자연 장면 통계량에서 파생됩니다.

출력 인수

모두 축소

무참조 영상 품질 점수로, 음이 아닌 스칼라로 반환됩니다. BRISQUE 점수는 일반적으로 범위 [0, 100] 내에 있습니다. score 값이 낮을수록 입력 model에 대해 영상 A의 지각 품질이 높습니다.

데이터형: 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에 개발됨

참고 항목

함수

객체

도움말 항목