【显著图】基于多尺度图结构实现显著图计算附matlab源码

简介: 【显著图】基于多尺度图结构实现显著图计算附matlab源码

1 简介

In the fifield of saliency detection, many graph-based algorithms use boundary pixels as background seeds to estimate the background and foreground saliency,which leads to signifificant errors in some of pictures. In addition, local context with high contrast will mislead the algorithms. In this paper, we propose a novel multilevel bottom-up saliency detection

approach that accurately utilizes the boundary information and takes advantage of both region based features and local image details. To provide more accurate saliency estimations, we build a three-level graph model to capture both region-based features and local image details. By

using superpixels of all four boundaries, we fifirst roughly fifigure out the foreground superpixels.After calculating the RGB distances between the average of foreground superpixels and every boundary superpixel, we discard the boundary superpixels with the longest distance to get a set of accurate background boundary queries. Finally, we propose the regularized random walks ranking to formulate pixel-wise saliency maps. Experiment results on two public datasets indicate the signifificantly promoted accuracy and robustness of our proposed algorithm in comparison with

7 state-of-the-art saliency detection approaches.

2 部分代码

clear allclcclose all%% Initializationaddpath(genpath('./support/'));IMG_DIR = './TestData/data/';% Original image pathSAL_DIR='./TestData/solution/' ;% Output path of the saliency mapif ~exist(SAL_DIR, 'dir')    mkdir(SAL_DIR);endimglist=dir([IMG_DIR '*' 'jpg']);%% Algorithm startfor imgno=1:length(imglist)        % Load input image    disp(imgno);    disp(imglist(imgno).name);    % Calculate saliency    imgnamein=imglist(imgno).name;    spn = 200;    spnb = 24;    itheta = 10;    alpha = 0.99;    % Step 1 & 2: Saliency Estimation    imgname = [IMG_DIR, imgnamein(1:end-4) '.jpg'];    imgbmpname = strcat(imgname(1:(end-4)), '.bmp');    [img, wid] = removeframe(imgname);    img = uint8(img*255);    w=fspecial('gaussian',[5,5],15);    img2=imfilter(img,w);%%%%%%%%%%%1st gaussian    w=fspecial('gaussian',[55,55],15);    img3=imfilter(img,w);%%%%%%%%%%%2st gaussian    [m, n, ~] = size(img);    comm = ['SLIC_SUPPORT' ' ' imgbmpname ' ' int2str(2) ' ' int2str(spn) ' '];    evalc('system(comm)');    spname = [imgbmpname(1:end-4)  '.dat'];    superpixels = ReadDAT([m,n], spname);    spno = max(superpixels(:));    [salest,W] = Msalestimation(img, superpixels, spno, itheta, alpha,img2,img3);    salest= (salest-min(salest))/(max(salest)-min(salest));        map=superpixels;    for i=1:spno        map(map==i)=salest(i);    end    map1=reshape(map',n*m,1);    % Step 3: regularized random walk ranking    salest=salest(1:spno,1);    th1 = (mean(salest) + max(salest)) / 2;    th2 = mean(salest);    mu = (1-alpha) / alpha;    [seeds, label] = seed4rw(salest, th1, th2);    [P] = myrrwr(m,n,img,itheta,superpixels,seeds,label,salest,spno,mu);    sal = P(:,1);    salmean = (sal+map1)/2;    sal = (salmean-min(salmean(:)))/(max(salmean(:))-min(salmean(:)));    sal=reshape(sal,n,m)';    saloutput = zeros(wid(1),wid(2));  saloutput(wid(3):wid(4),wid(5):wid(6)) = sal;  saloutput = uint8(saloutput*255);    saliency=saloutput;    %     Output saliency map to file    imwrite(saliency, [SAL_DIR, imglist(imgno).name(1:end-4), '_Saliency.png']);    salest=salest(1:spno,1);    th1 = (mean(salest) + max(salest)) / 2;  th2 = mean(salest);  mu = (1-alpha) / alpha;  [seeds, label] = seed4rw(salest, th1, th2);  [~, probabilities] = rrwr(img, superpixels, salest, seeds, label, mu);  sal = probabilities(:,:,1);  sal = (sal-min(sal(:)))/(max(sal(:))-min(sal(:)));    saloutput = zeros(wid(1),wid(2));  saloutput(wid(3):wid(4),wid(5):wid(6)) = sal;  saloutput = uint8(saloutput*255);    saliency=saloutput;    %     Output saliency map to file    figure    subplot(121);    imshow(img);    title('原图')        subplot(122);    imshow(saliency) ; title('显著图')    imwrite(saliency, [SAL_DIR, imglist(imgno).name(1:end-4), '_SaliencyOld.png']);   % imwrite(map, [SAL_DIR, imglist(imgno).name(1:end-4), '_sal锟洁级BB.png']);    clearvars -except IMG_DIR SAL_DIR imglist imgnoend

3 仿真结果

4 参考文献

[1]Hao, Aimin, Shuai, et al. Structure-Sensitive Saliency Detection via Multilevel Rank Analysis in Intrinsic Feature Space[J]. IEEE Transactions on Image Processing, 2015, 24(8):2303-2316.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


相关文章
|
2月前
|
存储 算法 数据可视化
基于 MATLAB的GUI信号处理界面设计 源码+运行截图
基于 MATLAB的GUI信号处理界面设计 源码+运行截图
83 2
基于粒子滤波器的电池剩余使用寿命计算matlab仿真
本研究基于粒子滤波器预测电池剩余使用寿命(RUL),采用MATLAB2022a实现。通过非线性动力学模型模拟电池老化过程,利用粒子滤波器处理非线性和非高斯问题,准确估计电池SOH变化趋势,进而预测RUL。系统仿真结果显示了良好的预测性能。
|
5月前
|
算法 数据可视化 图形学
网络通信系统的voronoi图显示与能耗分析matlab仿真
在MATLAB2022a中,该程序模拟了两层基站网络,使用泊松分布随机生成Macro和Micro基站,并构建Voronoi图。它计算每个用户的信号强度,选择最强连接,并分析SINR和数据速率。程序还涉及能耗计算,包括传输、接收、处理和空闲能耗的分析。Voronoi图帮助可视化网络连接和优化能源效率。
|
2月前
|
算法
MATLAB符号计算
【10月更文挑战第9天】MATLAB不仅擅长数值计算,还具备强大的符号计算功能,支持代数运算、方程求解、微积分等。本文介绍如何使用MATLAB的符号工具箱进行符号变量定义、方程求解、微分积分及矩阵运算,并通过多个实际应用案例展示了其在机械系统、电路分析、经济优化和物理运动学等领域的应用。此外,文章还提供了符号计算的最佳实践和未来展望。
77 2
|
2月前
|
安全 调度
电力系统的负荷损失和潮流计算matlab仿真,对比最高度数,最高介数以及最高关键度等节点攻击
本课题研究节点攻击对电力系统稳定性的影响,通过模拟最高度数、最高介数和最高关键度攻击,对比不同攻击方式下的停电规模。采用MATLAB 2022a 进行系统仿真,核心程序实现线路断开、潮流计算及优化。研究表明,节点攻击会导致负荷损失和系统瘫痪,对电力系统的安全构成严重威胁。通过分析负荷损失率和潮流计算,提出减少负荷损失的方法,以提升电力系统的稳定性和安全性。
|
3月前
|
算法 数据可视化 数据安全/隐私保护
基于LK光流提取算法的图像序列晃动程度计算matlab仿真
该算法基于Lucas-Kanade光流方法,用于计算图像序列的晃动程度。通过计算相邻帧间的光流场并定义晃动程度指标(如RMS),可量化图像晃动。此版本适用于Matlab 2022a,提供详细中文注释与操作视频。完整代码无水印。
|
4月前
|
存储 算法 Serverless
【matlab】matlab基于DTW和HMM方法数字语音识别系统(源码+音频文件+GUI界面)【独一无二】
【matlab】matlab基于DTW和HMM方法数字语音识别系统(源码+音频文件+GUI界面)【独一无二】
|
4月前
|
存储 Serverless
【matlab】matlab实现倒谱法基音频率检测和共振峰检测(源码+音频文件)【独一无二】
【matlab】matlab实现倒谱法基音频率检测和共振峰检测(源码+音频文件)【独一无二】
|
4月前
|
Python
【Python】实现MATLAB中计算两个矩形相交面积的rectint函数
Python中实现MATLAB中rectint函数的方法,该函数用于计算两个矩形相交区域的面积,并通过定义Rectangle类和calc_area函数展示了如何计算两个矩形的交集面积。
60 1
|
5月前
|
安全 C++
基于MATLAB的电力线路参数计算仿真
*1. 课题概述** - 电力线路分为输电与配电,计算关键参数至关重要 - 本项目开发基于MATLAB的软件,用于计算电力线路的重要参数 *2. 系统仿真结果** - 实现了工频电场、电力系统潮流等参数的计算。 - 包括MATLAB界面设计与计算功能实现。 *3. 系统原理简介** - **额定电压**: 设备最佳工作电压,保障性能稳定及延长使用寿命。 - **输变电设施**: 运行时产生工频电场和磁场,需符合国家标准限值。 - **线径计算**: 依据电流密度和趋肤效应确定导线截面积。 - **电力系统潮流计算**: 基于牛顿-拉夫逊法求解电力系统稳态运行状态,用于检查系统过负荷及电压质量。