《No-Reference Image Quality Assessment in the Spatial Domain》,BRISQUE。

1. 广义高斯分布,generalized Gaussian distribution,GGD

1.1 描述

零均值的广义高斯分布如下:

其中

而 Γ(·) 是gamma函数。

形状参数 γ 控制分布的“形状”,而 σ² 控制方差。

例如另 γ = 2 就会得到零均值的高斯分布:

首先记

因此

就得到了一个比函数:

1.2 参数估计方法

对于零均值广义高斯分布,计算估计值:

然后就有

在知道了 ρ(γ) 的估计值之后,就很容易通过枚举的方式来估计 γ。

1.3 代码

参考BRISQUE中给出的源代码:

function [gamparam sigma] = estimateggdparam(vec)
gam = 0.2:0.001:10;
r_gam = (gamma(1./gam).*gamma(3./gam))./((gamma(2./gam)).^2); sigma_sq = mean((vec).^2);
sigma = sqrt(sigma_sq);
E = mean(abs(vec));
rho = sigma_sq/E^2;
[min_difference, array_position] = min(abs(rho - r_gam));
gamparam = gam(array_position);

2. 非对称广义高斯分布,asymmetric generalized Gaussian distribution,AGGD

2.1 描述

零均值的非对称广义高斯分布如下:

其中

形状参数 α 控制分布的“形状”,而 σl2 和 σr2 是缩放参数,它们控制模式两边的扩散程度。当 σl2 = σr2 的时候,AGGD退化成GGD。

参考论文《MULTISCALE SKEWED HEAVY TAILED MODEL FOR TEXTURE ANALYSIS》的做法:

因此

所以记

就有

类似地

然后计算比值:

其中

2.2 参数估计方法

首先估计 σl2 和 σr2 :

所以

而 r 的一个无偏估计是

所以就可以

求得

然后就和上文的GGD的方法一样,枚举求出最优的 α 就可以了。

2.3 代码

也是来自BRISQUE的matlab代码:

function [alpha leftstd rightstd] = estimateaggdparam(vec)
gam = 0.2:0.001:10;
r_gam = ((gamma(2./gam)).^2)./(gamma(1./gam).*gamma(3./gam)); leftstd = sqrt(mean((vec(vec<0)).^2));
rightstd = sqrt(mean((vec(vec>0)).^2));
gammahat = leftstd/rightstd;
rhat = (mean(abs(vec)))^2/mean((vec).^2);
rhatnorm = (rhat*(gammahat^3 +1)*(gammahat+1))/((gammahat^2 +1)^2);
[min_difference, array_position] = min((r_gam - rhatnorm).^2);
alpha = gam(array_position);

最新文章

  1. PHP 原型模式
  2. Java学习心得之 Linux下搭建Java环境
  3. oracle数据库启动
  4. LoadRunner之自定义HTTP请求
  5. CCS3.3入门
  6. latch和DFF的区别和联系
  7. CentOS相关引导文件杂摘
  8. Xcode6中如何修改文件中自动创建的Created by和Copyright
  9. nginx添加缓存
  10. Java实现生产者消费者问题与读者写者问题
  11. bootstrap学习笔记之导航条基础
  12. C# 反射结构体struct的一个坑
  13. POJ1083 Moving Tables(模拟)
  14. 高淇java300集异常机制作业
  15. js时间相关
  16. 洛谷P4592 [TJOI2018]异或(可持久化01Trie)
  17. rest-framework总结
  18. Aizu2249 Road Construction(dijkstra优化+思路 好题)
  19. Pycharm 开发 Django 项目
  20. DIV+CSS网页设计规范

热门文章

  1. Jquery事件汇总、网页入口
  2. sslopen RSA加解密
  3. 结题报告:luogu P2014
  4. 怎样设置使IntelliJ IDEA智能提示忽略大小写?
  5. 接口补偿机制需求分析&amp;方案设计
  6. Django(四) 后台管理:创建管理员、注册模型类、自定义管理页面显示内容
  7. 十六、React 渲染数据注意事项、以及react-router4.x中使用js跳转路由(登录成功自动跳转首页)
  8. Spark技术学院-进去能学到啥?
  9. UVA - 1572 Self-Assembly(图论模型+拓扑排序)
  10. centos7上安装mysql8