Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

brisque

Puntuación de la calidad de la imagen sin referencia con el Evaluador de la calidad espacial de la imagen sin referencia/a ciegas (BRISQUE)

Descripción

ejemplo

score = brisque(A) calcula la puntuación de la calidad de imagen sin referencia de la imagen A utilizando el Evaluador de la calidad espacial de la imagen sin referencia/a ciegas (BRISQUE). brisque compara A con un modelo predeterminado calculado a partir de imágenes de escenas naturales con distorsiones similares. Una puntuación menor indica una mejor calidad perceptiva.

ejemplo

score = brisque(A,model) calcula la puntuación de la calidad de la imagen utilizando un modelo de características personalizado.

Ejemplos

contraer todo

Calcule la puntuación BRISQUE de una imagen natural y sus versiones distorsionadas utilizando el modelo predeterminado.

Lea una imagen en el espacio de trabajo. Cree copias de la imagen con ruido y distorsiones de desenfoque.

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

Muestre las imágenes.

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.

Calcule la puntuación BRISQUE de cada imagen utilizando el modelo predeterminado y muestre la puntuación.

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.

La imagen original no distorsionada tiene la mejor calidad perceptiva y, por lo tanto, la puntuación BRISQUE más baja.

Entrene un modelo BRISQUE personalizado a partir de un conjunto de características de calidad y las correspondientes puntuaciones de opinión humana. Use el modelo personalizado para calcular la puntuación BRISQUE de una imagen de una escena natural.

Guarde imágenes de un almacén de datos de imágenes. Todas estas imágenes tienen artefactos de compresión derivados de la compresión JPEG.

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

Especifique la puntuación de opinión para cada imagen. Los siguientes valores de puntuación de opinión media diferencial (DMOS) son meramente ilustrativos. No son valores reales de DMOS obtenidos a través de la experimentación.

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

Cree el modelo personalizado de características de calidad utilizando el almacén de datos de imágenes y las puntuaciones de opinión. Como las puntuaciones son aleatorias, los valores de las propiedades variarán.

model = fitbrisque(imds,opinionScores')
Extracting features from 33 images.
....
Completed 10 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

Lea una imagen de una escena natural que tenga el mismo tipo de distorsión que las imágenes de entrenamiento. Muestre la imagen.

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

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

Calcule la puntuación BRISQUE de la imagen utilizando el modelo personalizado. Muestre la puntuación.

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

Argumentos de entrada

contraer todo

Imagen de entrada, especificada como imagen 2D en escala de grises o imagen 2D RGB.

Tipos de datos: single | double | int16 | uint8 | uint16

Modelo personalizado entrenado a partir de un conjunto de características de calidad, especificado como objeto brisqueModel. model se deriva de las estadísticas de la escena natural.

Argumentos de salida

contraer todo

Puntuación de calidad de imagen sin referencia, devuelta como un escalar no negativo. La puntuación BRISQUE suele situarse en el intervalo [0, 100]. Los valores más bajos de score reflejan una mejor calidad perceptiva de la imagen A con respecto a la entrada model.

Tipos de datos: double

Algoritmos

brisque predice la puntuación BRISQUE utilizando un modelo de regresión de vectores de soporte (SVR) entrenado en una base de datos de imágenes con los correspondientes valores de puntuación de opinión media diferencial (DMOS). La base de datos contiene imágenes con distorsiones conocidas, como artefactos de compresión, desenfoque y ruido, y contiene versiones prístinas de las imágenes distorsionadas. La imagen que se desea puntuar debe tener al menos una de las distorsiones para las que se entrenó el modelo.

Referencias

[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.

Historial de versiones

Introducido en R2017b

Consulte también

Funciones

Objetos