基于感兴趣区域的图像检索系统
本项目是一款在 MATLAB 环境下开发的图像检索方案,重点解决传统全局检索中存在的背景噪声干扰问题。通过引入交互式 ROI(感兴趣区域)选择机制,系统能够精确提取用户关注目标的颜色与纹理特征,并在数据库中进行快速匹配,输出相似度最高的图像结果。
功能特性
- 交互式区域选择:支持用户在查询图像上通过拖拽矩形框的方式,精确指定检索目标,排除冗余背景。
- 双特征融合算法:结合了 HSV 空间的颜色直方图特征与局部二值模式(LBP)的纹理特征,确保目标描述的准确性。
- 实时相似度评估:系统采用欧氏距离度量特征差异,并将其转化为直观的百分比相似度进行排名。
- 自动化演示环境:内置模拟数据集生成器,可在首次运行时自动创建包含随机噪声与几何目标的测试数据库。
- 直观的 GUI 界面:配套完整的图形用户界面,具备状态实时提示、查询图像展示、ROI 预览及 Top-5 结果展示功能。
实现逻辑
项目的核心逻辑主要封装在主控程序中,按照以下流程运行:
- 环境初始化与数据库扫描:
系统启动时首先清理当前工作空间,并检查是否存在指定的图像数据库目录。若目录缺失,系统将自动调用辅助函数生成一组包含随机颜色矩形和背景噪声的测试样本。
- 图形界面构建:
构建一个集成的操作窗口,设置加载按钮和检索按钮,并预留用于显示原图、裁剪后的 ROI 以及五个检索结果的坐标轴区域。通过句柄对象管理各个界面元素的状态。
- 查询图像加载与 ROI 处理:
用户导入图像后,系统将其显示在预览区。点击检索按钮将激活交互功能,通过鼠标在原图上截取矩形区域。系统利用裁剪技术获取该区域像素,并将其独立显示。
- 特征提取与索引匹配:
对选定的 ROI 区域以及数据库中的每一张图片进行特征量化。首先将图像缩放至统一尺寸。颜色维度上,将图像从 RGB 转换至 HSV 空间,并对三个通道进行非等间隔量化(H 分量 8 级,S 和 V 分量各 4 级),生成归一化的颜色直方图。纹理维度上,通过遍历像素及其 3x3 邻域,计算局部二值模式编码(LBP),并生成对应的频率直方图。最后将两种特征向量拼接成一个长向量。
- 检索结果呈现:
计算查询 ROI 特征向量与数据库各样本特征向量之间的欧氏距离。通过公式 (1 / (1 + 距离)) 将其映射为相似度分数。系统对全局样本进行排序,并将分值最高的五张图像及其相似度百分比刷新到结果面板中。
关键算法与技术细节
- 颜色特征量化:
在 HSV 色彩空间进行特征表达,相比 RGB 空间更能反映人类对颜色的视觉感知。通过对 H、S、V 分量分别进行 8、4、4 的量化等级处理,有效地减少了计算量,并增强了对光照变化的鲁棒性。
- 局部二值模式 (LBP):
纹理提取采用经典的一阶局部算子。算法对图像内每个像素的 3x3 邻域进行阈值化处理,将邻域点与中心点进行对比并编码为 8 位二进制数,转化为 0-255 之间的灰度值。这种方法能够有效捕获目标的细节纹理和边缘信息。
- 特征向量归一化:
无论是颜色直方图还是 LBP 直方图,在融合前均经过总和归一化(Normalizing by Sum)处理。这确保了特征表达不受图像尺寸或 ROI 大小的绝对像素数量影响,使得相似度对比具有一致性。
- 相似度计算模型:
采用欧氏距离模型来精确衡量特征向量在多维空间中的接近程度。为了便于非专业用户理解,结果以 100% 为上限的相似度百分数形式呈现,分值越高表示目标与库中样本越接近。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 工具箱:Image Processing Toolbox(图像处理工具箱)。
- 硬件需求:标准桌面标准显存配置(确保 GUI 渲染顺畅)。
使用方法
- 启动程序:在 MATLAB 命令行窗口运行主控程序。
- 加载图像:点击界面左上角的加载按钮,从本地磁盘选择一张包含目标物体的查询图片。
- 选择区域:点击提取并检索按钮,待状态显示请框选时,在查询图中拖拽鼠标选择感兴趣的物体。
- 查看结果:松开鼠标后,系统会自动完成特征比对。右侧面板将依次排列相似度最高的前五张图片,并显示匹配得分。