显著性评价指标:眼注视点和目标检测指标(附参考论文)_fixation map-程序员宅基地

技术标签: 计算机视觉  深度学习  saliency metric  


同步在个人博客: https://ericpengshuai.github.io/shen-du-xue-xi/582602e12ae2.html

显著性评价指标

显著性一般分为物体的显著性(saliency object detection)以及眼注视点( eye fixation saliency)的显著性,虽然两者都能展现吸引用户注意力的物体或者区域,但是侧重点不同。物体的显著性主要在于图像中各个物体轮廓的检测,具体来说就是目标检测,语义分割等等都涉及到物体的显著性;而眼注视点的显著性更多是关注用户观看的区域,和用户的观看行为有联系。由于用户在观看全景视频时,往往会关注视频中比较突出的部分,所以两者也有交集。

salinecy

1. 眼注视点显著性

Receiver Operating Characteristic curve(ROC)

Area Under Curve(AUC)

Viewport-based Saliency Prediction提到这个不太好?

shuffled AUC(sAUC)

ROC 曲线又称受试者受试者工做特征曲线,以假正例率(False Positive Rate, FPR)为横轴,真正例率(True Positive Rate, TPR)为纵轴所组成的坐标图,以0~255不一样的阈值对预测的眼注视点显著图分类描点,从而绘制成曲线图。从直观上看,曲线越接近左上角,说明该算法检测性能越好;曲线下面积称之为AUC, AUC越大说明算法检测性能越好。因为AUC会受中心误差(center bias)的影响,研究者又提出更加鲁棒的sAUC评价指标。

Pearsons Linear Correlation Coefficient(CC)

CC ↑ \uparrow 是指皮尔逊相关系数,也是线性相关系数,用来评价预测的眼关注点显著图和参考图ground truth之间的线性相关性,CC越大说明该模型性能越好

协方差: C o v ( X , Y ) = Σ i = 1 n ( x i − E ( X ) ) ( y i − E ( Y ) ) n Cov(X,Y)=\frac{\Sigma_{i=1}^n(x_i-E(X))(y_i-E(Y))}{n} Cov(X,Y)=nΣi=1n(xiE(X))(yiE(Y))

感性的理解,如果数据杂乱,正负抵消,那么这个协方差就很小,就谈不上二者相关;如果数据很一致,想么协方差就负的比较多(负相关),要么就是正的比较多(正相关)

消除x和y的量差,引用皮尔逊相关系数: σ X , Y = C o v ( X , Y ) σ X ⋅ σ Y \sigma_{X,Y}=\frac{Cov(X,Y)}{\sigma_X·\sigma_Y} σX,Y=σXσYCov(X,Y)

  • 具体对于显著性而言,P和D分别代表saliency map和fixation map,被视为随机变量

C C ( P , Q ) = C o v ( P , Q ) σ ( P ) × σ ( Q ) CC(P,Q)=\frac{Cov(P,Q)}{\sigma(P)\times\sigma(Q)} CC(P,Q)=σ(P)×σ(Q)Cov(P,Q)

参考:https://blog.csdn.net/limiyudianzi/article/details/103437093

Normalized Scanpath Saliency(NSS)

NSS ↑ \uparrow 是指标准化扫描路径显着性,用来评价二者之间的差别值,NSS越大说明模型性能越好;

N S S ( P , Q ) = 1 N ⋅ Σ i ( P ‾ i × Q i ) NSS(P,Q)=\frac{1}{N}·\Sigma_i({\overline P_i}\times Q_i) NSS(PQ)=N1Σi(Pi×Qi)

其中P是saliency map,Q是fixation map的二值图,其中i是像素的下标,N是所有的像素值总数,N is the total number of fixated pixels P ‾ = P − μ ( P ) σ ( P ) \overline P=\frac{P-\mu(P)}{\sigma(P)} P=σ(P)Pμ(P)

Kullback-Leibler Divergence (KLDiv)

KLDiv ↓ \downarrow 是指KL散度,Kullback-Leibler (KL) 是一种广泛使用的信息论度量,用于衡量两个概率分布之间的差异。KLDiv越小说明该模型检测性能越好。

K L ( P , Q ) = Σ i Q i l o g ( ϵ + Q i ϵ + P i ) KL(P,Q)=\Sigma_iQ_ilog(\epsilon+\frac{Q_i}{\epsilon+P_i}) KL(P,Q)=ΣiQilog(ϵ+ϵ+PiQi)

其中 ϵ \epsilon ϵ表示正则化常数,KL是非对称差异度量

具体再参考:https://blog.csdn.net/matrix_space/article/details/80550561

  • 参考1:What Do Different Evaluation Metrics Tell Us About Saliency Models? IEEE TPAMI 2019
  • 参考2:Deep Visual Attention Prediction IEEE TIP 2018

2. 显著性目标检测

Mean Absolute Error

MAE是指平均绝对值偏差,用于评价预测的显著图和参考图之间的差别,MAE越小说明该算法性能越好;

M A E ↓ = 1 W × H ∑ W x = 1 ∑ H y = 1 ∣ S ‾ ( x , y ) − G ‾ ( x , y ) ∣ MAE \downarrow = \dfrac{1}{W \times H}\sum{W}_{x=1}\sum{H}_{y=1}| \overline{S}(x,y)-\overline{G}(x,y) | MAE=W×H1Wx=1Hy=1S(x,y)G(x,y)

PR曲线

Precise是差准率,Recall是查全率,将图像二值化之后计算:

TP

P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP 以及 R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP

将输出图片S进行二值化时,阈值选择为从0到255,每取一个阈值,即可对所有输出图S算得一组相对应的Precision值与Recall值。最后将所有图像在该阈值下的Precision值与Recall值分别求平均,最后将会得到256对P,R值,以Recall为横坐标,Precision为纵坐标绘制曲线图即可得到precision-recall (PR)曲线。

F-measure

查全率查准率在非负权重β下的加权调和平均值(Weighted Harmonic Mean) ,计算公式如下:

F β ↑ = ( 1 + β 2 ) P r e c i s i o n ∗ R e c a l l β 2 P r e c i s i o n + R e c a l l F_\beta \uparrow =\frac{(1+\beta^2)Precision*Recall}{\beta^2Precision+Recall} Fβ=β2Precision+Recall(1+β2)PrecisionRecall

β 2 \beta^2 β2一般取值为0.3,即增加了Precision的权重值,认为查准率比查全率要重要些。因为当模型将输出图全部标为目标区域时,查全率Recall将等于100%,但是查准率Precision却很低。

  • ROC (Receiver Operating Characteristic curve)
  • AUC (Area Under Curve)
  • MAP (Mean Average Precision)
  • MAR (Mean Average Recall)

上述评价指标中,ROC与AUC相似于眼注视点任务,都是用不一样的阈值来肯定描点位置,而后将全部点链接起构成ROC曲线;

MAP是指平均精度率,MAR是指平均召回率,MAR和MAP越大说明算法性能越好。

3. 如何得到fixation map

计算以上这些指标的时候需要得到fixation map,好像可以考虑OpenCV里面的高斯模糊函数等。未完待续……

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Miracle_ps/article/details/119035903

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签