步骤1:先定义KLdiv函数:

function score = KLdiv(saliencyMap, fixationMap)
% saliencyMap is the saliency map
% fixationMap is the human fixation mapmap1 = im2double(imresize(saliencyMap, size(fixationMap)));
map2 = im2double(fixationMap);% make sure map1 and map2 sum to 1
if any(map1(:))map1 = map1/sum(map1(:));
endif any(map2(:))map2 = map2/sum(map2(:));
end% compute KL-divergence
score = sum(sum(map2 .* log(eps + map2./(map1+eps))));

  步骤2:再写一个主函数调用它:

clear;
clc;
smap_path='E:\Dataset180303\final_data\smap_Result1\';
gmap_path='E:\Dataset180303\final_data\image_resize_gt\';
smap_file=dir(smap_path);for j=3:length(smap_file)disp(j-2);gmap_name=strcat(gmap_path,num2str(j-2), '.jpg');
%     gmap_name=strcat(gmap_path,smap_file(j).name);smap_name=strcat(smap_path,num2str(j-2+ 0 ), '.jpg');
%     smap_name=strcat(smap_path,num2str(j-2+ 0 ), '_SaliencyMap', '.jpg');gmap=imresize(imread(gmap_name), [224, 224], 'bicubic');smap=imresize(imread(smap_name), [224, 224], 'bicubic');sal_map=mat2gray(smap);if gmap==0continue;endif size(gmap,3)==3gt_final_map=rgb2gray(gmap);elsegt_final_map = gmap;endsal_map=imresize(sal_map,0.5);gt_final_map=imresize(gt_final_map,0.5);threshold_value = graythresh(gt_final_map);gt_final_map_bin = im2bw(gt_final_map, threshold_value);c = KLdiv(sal_map, gt_final_map);idx=find(isnan(c));c(idx)=0.5;c = abs(c);a(j-2,1)=mean(c);
end
% b(i-2,1)=mean(a);
% clear a;
% end
KLdiv = mean(a);

  

转载于:https://www.cnblogs.com/Qsir/p/8686784.html

显著性检测(saliency detection)评价指标之KL散度距离Matlab代码实现相关推荐

  1. 图像显著性检测算法的评价指标介绍

    图像显著性检测算法的评价指标介绍 要评价一个图像显著性检测(Saliency Detection,SD)算法的好坏,当然离不开评价指标(Metric),显著性检测分为眼注视点显著性(eye fixat ...

  2. kl压缩 matlab,KL 变换实习matlab代码

    <KL 变换实习matlab代码>由会员分享,可在线阅读,更多相关<KL 变换实习matlab代码(4页珍藏版)>请在人人文库网上搜索. 1.K_L变换K-L变换定义以矢量信号 ...

  3. Matlab 显著性检测模型评价算法之KL距离

    KL距离是用来计算两个概率分布函数的差异大小: h是ground thruth map,p是saliency map,当h和p完全相等时,KL值为0 现在一般用对称形式,即h和p换个位置,求个KL,两 ...

  4. paper 22:kl-divergence(KL散度)实现代码

    这个函数很重要: function KL = kldiv(varValue,pVect1,pVect2,varargin) %KLDIV Kullback-Leibler or Jensen-Shan ...

  5. 计算机视觉——图像视觉显著性检测

    目录 系列文章目录 零.问题描述 一.图像显著性检测 1.定义 2.难点 二.常用评价标准和计算方法 1.综述 2.ROS曲线详述 2.1 混淆矩阵 2.2 ROC曲线简介 2.3 ROC曲线绘制及其 ...

  6. matlab图像信息熵交叉熵,【机器学习】信息量,信息熵,交叉熵,KL散度和互信息(信息增益)...

    首先先强烈推荐一篇外文博客Visual Information Theory这个博客的博主colah是个著名的计算机知识科普达人,以前很是著名的那篇LSTM讲解的文章也是他写的.这篇文章详细讲解了信息 ...

  7. 信息量-log2P(莫斯编码使用频繁P大的字符编码段信息量少)、信息熵:期望E=-Plog2P、两点分布交叉熵=KL散度=相对熵=-plnp-(1-p)ln(1-p)不对称、JS散度对称

    信息熵为什么要定义成-Σp*log§? 信息熵为什么要定义成-Σp*log(p)? 在解释信息熵之前,需要先来说说什么是信息量. 信息量是对信息的度量,单位一般用bit. 信息论之父克劳德·艾尔伍德· ...

  8. 基于YOLOv4的目标检测系统(附MATLAB代码+GUI实现)

    摘要:本文介绍了一种MATLAB实现的目标检测系统代码,采用 YOLOv4 检测网络作为核心模型,用于训练和检测各种任务下的目标,并在GUI界面中对各种目标检测结果可视化.文章详细介绍了YOLOv4的 ...

  9. CVPR2019文章解读 Pyramid Feature Attention Network for Saliency detection 用于显著性检测的金字塔特征注意网络

    Pyramid Feature Attention Network for Saliency detection 摘要 显著性检测是计算机视觉领域的基本挑战之一,怎么有效去提取特征非常关键,目前的一些 ...

最新文章

  1. 三层架构—实践篇(.Net登录实例)
  2. string index out of range_Java 12 骚操作, String居然还能这样玩!
  3. 解决python中遇到的乱码问题
  4. PlaceHolder到底什么
  5. python github库_让pip使用git和github存储库
  6. 几种常见模式识别算法整理和总结【转】
  7. 计算机打不开guest用户,Win10打不开guest账户怎么办?
  8. MySQL 字符串和数值比较、字符串与字符串比较
  9. 字节码插桩(javassist)之插入代码块|IOC框架(Hilt)之对象注入~研究
  10. 我来玩转一下arp -a (pc ping 手机)
  11. 下载n站本子的 node.js 脚本
  12. Hot 100(三)
  13. 【python爬虫】使用代理IP进行网站爬取
  14. kangle web server简单介绍
  15. Oracle11g——————Oracle11g错误ora-03113和ORA-07445
  16. Alpine安装telnet
  17. C语言程序设计(理论课)第八章 函数与宏定义
  18. 食物中的天然“血管保护伞”,最好每周吃一次,血管清,人长寿!
  19. 克鲁斯卡尔算法(kruskal)
  20. 管理驾驶舱前景如何?

热门文章

  1. centos7上使用chrony自动同步时间
  2. shell中设置文字输出的颜色及字体格式
  3. 简单的俄罗斯方块代码(Java)
  4. 第一:Python发送邮件时定义文本乱码
  5. python接口自动化(五)--接口测试用例和接口测试报告模板(详解)
  6. 有以下程序C语言a b cdef,[工学]全国计算机二级笔试基础部分和C语言程序设计.doc...
  7. php7 viewmodel,【初念科技】| php框架实例: Laravel之Model Observer模型
  8. 如何安装mysql 5.6_如何安装MySQL 5.6?
  9. 第12章[12.4] 鼠标移入移除时弹出和关闭窗口
  10. [Ext JS6] ViewControllers-视图控制器