MatlabCode

本站所有资源均为高质量资源,各种姿势下载。

您现在的位置是:MatlabCode > 资源下载 > 一般算法 > 基于Itti模型的视觉显著性检测与ROI提取系统

基于Itti模型的视觉显著性检测与ROI提取系统

资 源 简 介

本项目完整实现了基于Itti模型的视觉显著性检测与感兴趣区域(ROI)选择算法。该系统模拟灵长类动物的早期视觉注意机制,通过分解输入图像的亮度、颜色(红-绿、蓝-黄对立色)及方向(Gabor滤波)特征,构建高斯金字塔以获取多尺度表征。项目采用中心-周边差分(Center-Surround Difference)算子计算各特征通道的显著性图,并通过跨尺度加法与归一化策略将这些特征图融合为一张全局显著性图(Saliency Map)。在此基础上,利用赢家通吃(Winner-Take-All, WTA)竞争机制和返回抑制(Inhibition of Return)策略,动态模拟视觉焦点的转移过程,自动定位并按优先级输出图像中各感兴趣区域的位置。代码经过验证,方法成熟可靠,可直接运行,能够有效去除背景冗余信息,精准捕获图像中的显著目标,适用于目标识别预处理、图像压缩编码及机器视觉导航等任务。

详 情 说 明

基于Itti视觉显著性模型的感兴趣区域自动提取系统

项目介绍

本项目是一个基于MATLAB实现的视觉显著性检测系统,完整复现了经典的Itti-Koch-Niebur显著性模型。该系统模拟了灵长类动物的早期视觉注意机制,能够以“自下而上”的方式自动分析图像中的输入信息。通过计算亮度、颜色和方向特征的显著性,系统生成全局显著性图(Saliency Map),并利用赢家通吃(WTA)和返回抑制(IOR)机制,模拟人眼在观察图像时的注意力转移路径,自动按优先级提取感兴趣区域(ROI)。

功能特性

  • 多特征融合机制:综合了亮度(Intensity)、红/绿与蓝/黄对立颜色(Color)、以及四个角度的方向(Orientation)特征。
  • 多尺度高斯金字塔:构建深度为8层的高斯金字塔,在不同分辨率下模拟视觉感受野。
  • 中心-周边差分算法:利用Center-Surround机制计算特征图,模拟视网膜神经节细胞的侧抑制作用。
  • 智能归一化策略:实现了特定的归一化算子,通过局部极大值与全局最大值的差异来加权,有效抑制背景噪声,突出显著目标。
  • 动态注意力模拟:包含完整的赢家通吃(WTA)决策与返回抑制(IOR)逻辑,能够生成可视化的注视点扫描路径。
  • 健壮的图像输入处理:内置图像读取容错机制,若指定图像不存在,能够自动生成包含红、绿、蓝几何色块的合成测试图像进行演示。

系统要求

  • MATLAB R2016b 或更高版本
  • Image Processing Toolbox(图像处理工具箱)
  • Computer Vision Toolbox(用于绘图和可视化标注)

使用方法

  1. 启动MATLAB,将当前目录切换至项目所在文件夹。
  2. 直接运行主函数。
  3. 系统将自动执行以下流程:
* 尝试读取默认图像(peppers.png),如未找到则生成测试图。 * 调整图像尺寸以优化计算效率(默认最大边长归一化至256像素)。 * 提取特征并计算显著性。 * 弹出结果窗口,展示原图、分量醒目图(亮度/颜色/方向)、最终显著性图以及注意力转移轨迹。

算法实现细节

本项目核心逻辑严格遵循Itti模型架构,具体实现流程如下:

1. 图像预处理与特征提取

  • 尺寸归一化:为了模拟标准Itti模型的处理尺度并保证计算速度,输入图像被调整为最大边长256像素。
  • 亮度通道:计算RGB图像的平均值得到亮度图 I。
  • 颜色通道:基于红-绿、蓝-黄的对立色理论,构建R、G、B、Y四个颜色通道。代码中特别实现了负值整流(设为0),确保特征值的非负性。
  • 方向通道:通过构建Gabor滤波器,生成0度、45度、90度、135度四个方向的特征响应。特别地,代码对亮度金字塔的每一层都进行了Gabor卷积处理。

2. 高斯金字塔构建

系统调用辅助函数为亮度、颜色通道及方向通道构建高斯金字塔,最大深度设定为8层。每一层均通过高斯平滑和下采样(1/2)生成。

3. 中心-周边差分(Center-Surround)

  • 尺度选择:定义中心尺度 c 为 {2, 3, 4},周边尺度 s = c + delta,其中 delta 为 {3, 4}。
  • 特征图计算
* 亮度特征图:计算不同尺度下亮度图的绝对差值。 * 颜色特征图:计算 (R-G) 与 (G-R)、(B-Y) 与 (Y-B) 在跨尺度下的差值,模拟双拮抗细胞机制。 * 方向特征图:计算各个角度在跨尺度下的差值。
  • 所有差分操作前,较小尺度的图像会被插值放大至目标尺度(统一为金字塔第4层大小)。

4. 归一化与融合

  • 特定归一化算子 N(.):实现了一个加权归一化函数,该函数不仅将数值归一化到[0, 1],还计算(全局最大值 - 局部极大值均值)的平方作为权重。这种机制能有效增强具有少数强峰值的特征图,同时抑制包含大量相似峰值的特征图(即抑制纹理背景)。
  • 醒目图生成:将同一特征裂变出的多张特征图归一化后相加,分别生成亮度醒目图、颜色醒目图和方向醒目图。
  • 全局综合:将三个通道的醒目图再次归一化并取平均,生成最终的显著性图(Saliency Map),并进行了高斯平滑处理以优化视觉效果。

5. 注意力转移模拟(WTA + IOR)

  • 赢家通吃(WTA):在显著性图中寻找灰度值最大的位置作为当前的注视点(Fixation Point)。
  • 返回抑制(IOR):一旦某个位置被选中,系统会在该位置周围生成一个“抑制盘”(反向高斯分布),将显著性图上对应区域的数值大幅降低。这模拟了生物视觉不会长时间盯着同一显著点看的特性,迫使注意力转移到下一个显著性次高的区域。
  • 代码默认模拟5次注视点转移,并在结果图中按顺序标记连接。

关键函数说明

buildGaussianPyramid 输入原图和层数,通过循环执行“高斯模糊+隔点采样”操作,输出一个包含多尺度图像的元胞数组。

imgResize 封装了MATLAB的图像缩放函数,统一使用双线性插值或双三次插值,用于解决特征图跨尺度运算时的尺寸匹配问题。

createGaborKernel 根据指定的角度、波长、相位和高斯包络标准差,手动构建二维Gabor滤波器核,用于提取纹理和边缘的方向特征。

mapNormalization 即文献中的 N(.) 算子。核心逻辑在于计算全局最大值与非零局部极大值均值之间的差异,以此差异的平方作为权重系数,对特征图进行非线性增强。

simulateAttention 接收显著性图,执行迭代循环。每次循环找到最大值坐标记录为ROI,并在显著性图中对该坐标周围区域乘以衰减系数(模拟抑制),最后在背景图上绘制扫描路径和顺序编号。