基于NIQE算法的图像无参考质量评价算法matlab仿真

简介: 基于NIQE算法的图像无参考质量评价算法matlab仿真

1.算法运行效果图预览

2f89a6ee01e55fe09b75eacdc56cb87d_82780907_202402132215190139397978_Expires=1707834319&Signature=BsOrncqyJfgvanWi%2FQm85%2Fp2stA%3D&domain=8.jpeg
7484e62d905ce94c654037fafc110858_82780907_202402132215190201151849_Expires=1707834319&Signature=Ud4Wt8IzfpOm9Tlc4uFHUn8z6GY%3D&domain=8.jpeg

2.算法运行软件版本
MATLAB2022a

3.算法理论概述
NIQE(Naturalness Image Quality Evaluator)算法是一种无参考图像质量评价算法,旨在评估图像的自然度,即图像看起来是否像自然场景。 NIQE基于一组“质量感知”特征,并将其拟合到MVG模型中。质量感知特征源于一个简单但高度正则化的NSS模型。然后,将给定的测试图像的NIQE指标表示为从测试图像中提取的NSS特征的MVG模型与从自然图像语料中提取的质量感知特征的MVG模型之间的距离。整个过程由五步操作完成:

3.1 空域NSS特征提取

6e2454b95ee8787f34ccc5bb2f7ee04d_82780907_202402132214020794204708_Expires=1707834242&Signature=NKjovcOYcL5Z5Ho1QWIiPmcalrA%3D&domain=8.png

3.2 图像块选取

   一旦图像的系数由(1)式计算出,整张图像会被分割成P × P P\times{P}P×P的块。然后从每个块的系数中计算出特殊的NSS特征。方差(3)在之前的基于NSS的图片分析中常常被忽视。但是它在结构化图片信息上有丰富的内容。这些内容可以被用来量化局部图片的锐利度。(从美学上认为一幅图片越锐利它的成像效果会越好,平滑模糊代表一种视觉信息的潜在损失。)将P × P P\times{P}P×P的图像块用b = 1 , 2 , . . . , B b=1,2,...,Bb=1,2,...,B做标记,再用一种直接的方法计算每一块b bb平均局部偏移范围:
AI 代码解读

e805bb5323492523bae518375d852df5_82780907_202402132213520451300576_Expires=1707834232&Signature=ZYKh%2Fyv4p6r5bwdelVi8j%2ByD6b8%3D&domain=8.png

3.3 MVG模型
通过将自然图像块与MVG模型密度函数拟合,可以得到一个简单的NSS特征模型,MVG模型密度函数为:

983685b1cf6dde719a67741a829b279f_82780907_202402132212380668437017_Expires=1707834158&Signature=pwM%2BiMux54vdfNIN8OVkleBAarg%3D&domain=8.png

3.4 NIQE指标
NIQE分数的计算,是通过计算待测图片MVG模型参数和上面得到的自然图片MVG模型参数的距离来得到(如下式)。不过选择patch的准则(1)不应用到待测图片上,而只用在上面自然图片模型参数估计上。原因如下:

af2b16536018b28dc0505f731eeffeb4_82780907_202402132212270933848764_Expires=1707834147&Signature=agwkykmHoIneDdjzPDMjw9FVtsc%3D&domain=8.png

4.部分核心程序

clear;
close all;
warning off;
addpath(genpath(pwd));
rng('default')

Rbk     = 48;
Cbk     = 48;
Rlap    = 0;
Clap    = 0;
%加入不同的噪声,估计图像质量
im1     = imread('1.bmp');
quality1= func_quality(im1,Rbk,Cbk,Rlap,Clap);

im2     = imnoise(im1,'salt & pepper',0.001); %加入不同的噪声,估计图像质量
quality2= func_quality(im2,Rbk,Cbk,Rlap,Clap);


im3     = imnoise(im1,'salt & pepper',0.01); %加入不同的噪声,估计图像质量
quality3= func_quality(im3,Rbk,Cbk,Rlap,Clap);

im4     = imnoise(im1,'salt & pepper',0.05); %加入不同的噪声,估计图像质量
quality4= func_quality(im4,Rbk,Cbk,Rlap,Clap);

im5     = imnoise(im1,'salt & pepper',0.1); %加入不同的噪声,估计图像质量
quality5= func_quality(im5,Rbk,Cbk,Rlap,Clap);

im6     = imnoise(im1,'salt & pepper',0.25); %加入不同的噪声,估计图像质量
quality6= func_quality(im6,Rbk,Cbk,Rlap,Clap);


figure;
subplot(231);
imshow(im1);
title(['质量估计值:',num2str(100/quality1)]);

subplot(232);
imshow(im2);
title(['质量估计值:',num2str(100/quality2)]);

subplot(233);
imshow(im3);
title(['质量估计值:',num2str(100/quality3)]);

subplot(234);
imshow(im4);
title(['质量估计值:',num2str(100/quality4)]);

subplot(235);
imshow(im5);
title(['质量估计值:',num2str(100/quality5)]);

subplot(236);
imshow(im6);
title(['质量估计值:',num2str(100/quality6)]);
AI 代码解读
目录
打赏
0
1
1
0
212
分享
相关文章
基于LSB最低有效位的音频水印嵌入提取算法FPGA实现,包含testbench和MATLAB对比
本项目展示了一种基于FPGA的音频水印算法,采用LSB(最低有效位)技术实现版权保护与数据追踪功能。使用Vivado2019.2和Matlab2022a开发,完整代码含中文注释及操作视频。算法通过修改音频采样点的最低有效位嵌入水印,人耳难以察觉变化。然而,面对滤波或压缩等攻击时,水印提取可能受影响。该项目运行效果无水印干扰,适合实时应用场景,核心逻辑简单高效,时间复杂度低。
基于GA遗传算法的拱桥静载试验车辆最优布载matlab仿真
本程序基于遗传算法(GA)实现拱桥静载试验车辆最优布载的MATLAB仿真,旨在自动化确定车辆位置以满足加载效率要求(0.95≤ηq≤1.05),目标是使ηq尽量接近1,同时减少车辆数量和布载耗时。程序在MATLAB 2022A版本下运行,展示了工况1至工况3的测试结果。通过优化模型,综合考虑车辆重量、位置、类型及车道占用等因素,确保桥梁关键部位承受最大荷载,从而有效评估桥梁性能。核心代码实现了迭代优化过程,并输出最优布载方案及相关参数。
基于MobileNet深度学习网络的活体人脸识别检测算法matlab仿真
本内容主要介绍一种基于MobileNet深度学习网络的活体人脸识别检测技术及MQAM调制类型识别方法。完整程序运行效果无水印,需使用Matlab2022a版本。核心代码包含详细中文注释与操作视频。理论概述中提到,传统人脸识别易受非活体攻击影响,而MobileNet通过轻量化的深度可分离卷积结构,在保证准确性的同时提升检测效率。活体人脸与非活体在纹理和光照上存在显著差异,MobileNet可有效提取人脸高级特征,为无线通信领域提供先进的调制类型识别方案。
基于模糊神经网络的金融序列预测算法matlab仿真
本程序为基于模糊神经网络的金融序列预测算法MATLAB仿真,适用于非线性、不确定性金融数据预测。通过MAD、RSI、KD等指标实现序列预测与收益分析,运行环境为MATLAB2022A,完整程序无水印。算法结合模糊逻辑与神经网络技术,包含输入层、模糊化层、规则层等结构,可有效处理金融市场中的复杂关系,助力投资者制定交易策略。
基于BBO生物地理优化的三维路径规划算法MATLAB仿真
本程序基于BBO生物地理优化算法,实现三维空间路径规划的MATLAB仿真(测试版本:MATLAB2022A)。通过起点与终点坐标输入,算法可生成避障最优路径,并输出优化收敛曲线。BBO算法将路径视为栖息地,利用迁移和变异操作迭代寻优。适应度函数综合路径长度与障碍物距离,确保路径最短且安全。程序运行结果完整、无水印,适用于科研与教学场景。
基于sift变换的农田杂草匹配定位算法matlab仿真
本项目基于SIFT算法实现农田杂草精准识别与定位,运行环境为Matlab2022a。完整程序无水印,提供详细中文注释及操作视频。核心步骤包括尺度空间极值检测、关键点定位、方向分配和特征描述符生成。该算法通过特征匹配实现杂草定位,适用于现代农业中的自动化防控。
基于NSGAII的的柔性作业调度优化算法MATLAB仿真,仿真输出甘特图
本程序基于NSGA-II算法实现柔性作业调度优化,适用于多目标优化场景(如最小化完工时间、延期、机器负载及能耗)。核心代码完成任务分配与甘特图绘制,支持MATLAB 2022A运行。算法通过初始化种群、遗传操作和选择策略迭代优化调度方案,最终输出包含完工时间、延期、机器负载和能耗等关键指标的可视化结果,为制造业生产计划提供科学依据。
基于入侵野草算法的KNN分类优化matlab仿真
本程序基于入侵野草算法(IWO)优化KNN分类器,通过模拟自然界中野草的扩散与竞争过程,寻找最优特征组合和超参数。核心步骤包括初始化、繁殖、变异和选择,以提升KNN分类效果。程序在MATLAB2022A上运行,展示了优化后的分类性能。该方法适用于高维数据和复杂分类任务,显著提高了分类准确性。
基于WOA鲸鱼优化的CNN-LSTM-SAM网络时间序列回归预测算法matlab仿真
本内容介绍了一种基于CNN-LSTM-SAM网络与鲸鱼优化算法(WOA)的时间序列预测方法。算法运行于Matlab2022a,完整程序无水印并附带中文注释及操作视频。核心流程包括数据归一化、种群初始化、适应度计算及参数更新,最终输出最优网络参数完成预测。CNN层提取局部特征,LSTM层捕捉长期依赖关系,自注意力机制聚焦全局特性,全连接层整合特征输出结果,适用于复杂非线性时间序列预测任务。
基于yolov2和googlenet网络的疲劳驾驶检测算法matlab仿真
本内容展示了基于深度学习的疲劳驾驶检测算法,包括算法运行效果预览(无水印)、Matlab 2022a 软件版本说明、部分核心程序(完整版含中文注释与操作视频)。理论部分详细阐述了疲劳检测原理,通过对比疲劳与正常状态下的特征差异,结合深度学习模型提取驾驶员面部特征变化。具体流程包括数据收集、预处理、模型训练与评估,使用数学公式描述损失函数和推理过程。课题基于 YOLOv2 和 GoogleNet,先用 YOLOv2 定位驾驶员面部区域,再由 GoogleNet 分析特征判断疲劳状态,提供高准确率与鲁棒性的检测方法。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等