二维图像视觉显著性检测系统(基于GBVS算法)
项目介绍
本项目实现了一种基于图论的视觉显著性检测(Graph-Based Visual Saliency, GBVS)模型。该模型由加州理工学院的 Jonathan Harel 提出,旨在模拟人类视觉系统中的注意力分配机制。系统通过分析图像的底层视觉特征,并利用马尔可夫链和随机游走算法,自动识别并提取图像中最具吸引力的区域。相比于传统的对比度方法,该实现不仅考虑了局部特征。更有效地捕获了图像的全局结构信息,生成的显著性映射图在边缘保持和焦点识别方面具有极高的准确性。
功能特性
- 多维度特征提取:系统从亮度、颜色(红绿差异、蓝黄差异)以及四个方向(0°、45°、90°、135°)提取多维底层视觉特征。
- 图论核心算法:利用马尔可夫链及其平稳分布特性,在降采样的网格图上进行激活计算与归一化处理。
- 自适应处理流水线:包括自动灰度转彩色处理、多尺度重采样、高斯平滑以及基于大津法(Otsu's method)的显著目标分割。
- 直观的结果展示:提供原图、灰度显著图、热力图融合叠加以及二值化分割图的对比展示。
系统要求
- 开发环境:MATLAB R2016b 或更高版本。
- 工具箱依赖:Image Processing Toolbox(图像处理工具箱)。
- 硬件要求:考虑到图理论中转移矩阵的内存开销,主算法运行在降采样的 32x32 网格上,标准个人电脑即可流畅运行。
使用方法
- 运行系统主逻辑程序。
- 在弹出的文件选择对话框中选择一张常见的图像文件(支持 .jpg, .png, .bmp, .tif 等)。若取消选择,系统将自动加载内建的 peppers.png 图片作为演示。
- 等待程序完成特征提取、图论分析和后处理过程。
- 系统将自动弹出可视化窗口,展示四个维度的检测结果。
实现逻辑与详细功能分析
1. 图像输入与格式标准化
系统首先提供文件交互界面,加载图像后进行质量检查。若输入为灰度图,系统会自动将其转换为三维 RGB 格式,并统一转换为双精度浮点数(double)以便进行精确的数学运算。
2. 多通道特征提取
系统并行提取三类对人类视觉最敏感的特征:
- 亮度通道:计算 RGB 三通道的平均值。
- 颜色通道:计算红-绿色差(RG)和蓝-黄色差(BY)。其中黄色通道通过红绿均值减去色差与蓝色的偏移量得到。
- 方向通道:利用 Gabor 滤波器在 0°、45°、90° 和 135° 四个维度上进行卷积,捕获不同角度的边缘纹理特征。
3. GBVS 图论核心实现
这是系统的核心,针对每一个提取出的特征图执行以下两个阶段:
阶段 A:激活图计算 (Activation Map)
- 节点构建:将特征图缩放到 32x32 的网格。每一个像素代表图中的一个节点。
- 权重定义:任意两个节点之间的连接权重由其“空间距离”和“特征差异”共同决定。空间距离越近、特征差异越大,转移概率越高。
- 平稳分布求解:构建转移矩阵并进行列归一化,通过 20 次幂律迭代寻找马尔可夫链的平稳分布向量。这一步能够突出与周围差异明显的区域。
阶段 B:归一化处理 (Normalization Map)
- 对第一阶段生成的激活图再次进行图运算。不同的是,此阶段的权重取决于目标节点的特征值大小,这起到了类似非极大值抑制的作用,使显著性进一步向高响应区域集中。
4. 融合与后处理
- 特征融合:将所有 7 个处理后的显著性分量(亮度、2种颜色、4个方向)进行线性累加,生成主显著性映射图。
- 空间重建:使用双三次插值(Bicubic)将 32x32 的计算结果缩放回输入图像的原始尺寸。
- 平滑去噪:应用高斯滤波(核大小为原图尺寸的 5%,西格玛为 2%)来消除降采样带来的块状效应,使显著区域过渡自然。
- 归一化:将数值范围线性映射至 0-255,便于存储和显示。
5. 结果可视化逻辑
- 原图呈现:展示最初输入的原始视觉图像。
- 灰度映射:直接展示由算法计算出的视觉显著性强度。
- 融合映射:将显著性图以 JET 伪彩色图谱的形式覆盖在原图上,并设置 50% 的透明度,直观展示算法关注点与原图物体的对应关系。
- 目标分割:利用 graythresh 函数自动寻找全局最优阈值,将显著图转换为二值图像,实现候选目标的自动提取。