Blind/Referenceless Image Spatial Quality Evaluator (BRISQUE) model
brisqueModel object encapsulates a model used to
calculate the Blind/Referenceless Image Spatial Quality Evaluator (BRISQUE) perceptual
quality score of an image. The object contains a support vector regressor (SVR)
You can create a
brisqueModel object using the following
fitbrisque — Returns a BRISQUE model object with a custom
trained support vector regressor (SVR) model. Use this function if you do not
have a previously trained model.
brisqueModel function described here. Use this function
if you have a previously trained SVR model, or if the default model is
sufficient for your application.
m = brisqueModel
m = brisqueModel(alpha,bias,supportVectors,scale)
creates a custom BRISQUE model and sets the
m = brisqueModel(
Scale properties. You must provide all four arguments to
create a custom model.
It is difficult to predict good property values without running an
optimization routine. Use this syntax only if you are creating a
brisqueModel object using a previously trained
SVR model with known property values.
Alpha— Coefficients obtained by solving dual problem
Coefficients obtained by solving the dual problem, specified as an
m-by-1 numeric vector. The length of
Alpha must match the number of support vectors (the
number of rows of
Bias— Bias term in SVM model
43.4582(default) | numeric scalar
Bias term in SVM model, specified as a numeric scalar.
SupportVectors— Support vectors
Support vectors, specified as an m-by-36 numeric
vector. The number of rows, m, matches the length of
Kernel— Kernel function
This property is read-only.
Kernel function, specified as
Scale— Kernel scale factor
0.3210(default) | numeric scalar
Kernel scale factor, specified as a numeric scalar. The scale factor divides predictor values in the SVR kernel.
model = brisqueModel
model = brisqueModel with properties: Alpha: [593x1 double] Bias: 43.4582 SupportVectors: [593x36 double] Kernel: 'gaussian' Scale: 0.3210
brisqueModel object using precomputed
Scale properties. Random initializations are shown for illustrative purposes only.
model = brisqueModel(rand(10,1),47,rand(10,36),0.25)
model = brisqueModel with properties: Alpha: [10x1 double] Bias: 47 SupportVectors: [10x36 double] Kernel: 'gaussian' Scale: 0.2500
You can use the custom model to calculate the BRISQUE score for an image.
I = imread('lighthouse.png'); score = brisque(I,model)
score = 47
The support vector regressor (SVR) calculates regression scores for predictor matrix
SupportVectors) is an
n-by-m matrix of kernel products for
n rows in
X and m rows in
SupportVectors. The SVR has 36 predictors, which determine the
number of columns in
 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.
 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.