学习:常见图像匹配综述

简介: 学习:常见图像匹配综述

图像匹配基础


  图像模板匹配是指在源图像上定位给定参考图像以使它们最相似的技术。 它是视觉目标识别领域的一项基本任务。 一般来说,模板匹配方案有两个关键方面。 一种是相似度测量,另一种是最佳匹配位置搜索。 在这项工作中,我们选择众所周知的归一化互相关模型作为相似性标准。 最佳匹配位置的搜索过程是通过内部反馈人工蜂群 (IF-ABC) 算法进行的。  IF-ABC 算法的突出之处在于它努力对抗早熟收敛。 这一目的是通过摒弃ABC算法中传统的轮盘赌选择过程来实现的,从而在局部搜索阶段为每只被雇佣的蜜蜂提供平等的机会被围观的蜜蜂跟随。


  除此之外,我们还建议有效地利用内部收敛状态作为后续迭代循环中搜索强度的反馈指导。 我们研究了四个理想的模板匹配案例以及四个使用不同搜索算法的实际案例。 我们的模拟结果表明,IF-ABC 算法比传统的 ABC 算法和两种最先进的修改后的 ABC 算法更有效和更稳健地完成模板匹配任务



图像模板匹配模型


  一般来说,模板匹配涉及两个关键方面:相似性测量和最佳匹配搜索。 在测量相似度时,将源图像和预定义的模板图像叠加在某个位置,然后根据选择的模型或准则进行相似度评估。绝对差异之和(SAD), 平方差 (SSD) 和归一化互相关 (NCC) 都是流行的相似性测量模型。  SAD 对照明干扰很敏感,可能会导致强度值发生较大变化。  SSD 也有类似的缺点。  NCC 模型利用旋转和尺度不变评估相似度,并被证实比 SAD 和 SSD 更稳健,特别是在源图像中的均匀光照变化方面。因此,NCC 模型比其他两个模型应用更广泛。 关于最佳匹配位置的搜索策略,作为一项开创性工作,提出了一种彻底的搜索算法,其中检查所有像素候选位置,直到找到具有最大相似性的位置。 然而,这种详尽的搜索在计算上是昂贵的,这限制了它的应用,特别是在一些实时识别问题方面。


  为了降低模板匹配方案的计算复杂度,开发了基于进化算法的搜索策略,并研究了基于物种的遗传算法(Sb-GA)、蝙蝠算法(BA)、混沌 为此,已经提出了量子行为粒子群优化 (CQ-PSO)、混沌帝国主义竞争算法 (C-ICA)和物质状态搜索 (SMS) 算法模板匹配问题。 虽然这些算法旨在减少全局最优搜索的计算量,但它们无法避免次优匹配结果的推导。


  值得指出的是,大多数进化算法普遍适用于凸或近凸函数的优化。 但是模板匹配字段包含有限数量的候选匹配位置。这种离散函数通常不是平滑的。换句话说,关于模板匹配的目标函数可能会沿着域剧烈振荡,这严重限制了这种进化算法的优势。 因此,它需要一种新的方法来修改这些现有的进化算法,以适应目标函数中的离散性和振荡。

例图如下:

image.png



相关文章
|
计算机视觉 Python
最快速度写出一个识别效果——OpenCV模板匹配(含代码)
最快速度写出一个识别效果——OpenCV模板匹配(含代码)
1732 0
|
人工智能 算法 自动驾驶
使用OpenCV实现Halcon算法(2)形状匹配开源项目,shape_based_matching
使用OpenCV实现Halcon算法(2)形状匹配开源项目,shape_based_matching
6655 1
使用OpenCV实现Halcon算法(2)形状匹配开源项目,shape_based_matching
|
存储 人工智能 测试技术
图像相似度比较之 CLIP or DINOv2
图像相似度比较之 CLIP or DINOv2
|
传感器 机器学习/深度学习 编解码
图像配准:基于 OpenCV 的高效实现
在这篇文章中,我将对图像配准进行一个简单概述,展示一个最小的 OpenCV 实现,并展示一个可以使配准过程更加高效的简单技巧。
|
NoSQL Java Redis
SpringBoot-引入Redis依赖
本文介绍如何在IDEA里将SpringBoot整合Redis。
1019 0
|
2月前
|
人工智能 前端开发 安全
Codex 凉了。。这个国产 AI 工具平替太顶了!
国产 AI 编程办公工具 Qoder 保姆级教程,安装上手 + 实战项目 + 核心特性全讲解,看看能不能作为 Codex 的平替
550 1
|
人工智能 JSON 编译器
Code和Clang配置C++开发环境
本文介绍了如何在VS Code中配置C++开发环境,包括安装VS Code、C++扩展、Clang编译器,创建并运行Hello World项目,使用IntelliSense、调试程序及自定义配置等内容,帮助开发者快速上手C++开发。
1396 0
|
数据采集 机器学习/深度学习 人工智能
基于AI的网络流量分析:构建智能化运维体系
基于AI的网络流量分析:构建智能化运维体系
2639 13
|
存储 机器学习/深度学习 SQL
【Prompt Engineering:自我反思(Reflexion)】
自我反思(Reflexion)是一种通过语言反馈强化基于语言的智能体的新范式,无需微调模型即可提升其在决策、推理和编程等任务中的表现。该框架包括参与者(生成动作)、评估者(评分)和自我反思(生成反馈)三个部分,利用大语言模型生成具体反馈,帮助智能体从错误中快速学习,显著提高了多种任务的性能。
2832 2
【Prompt Engineering:自我反思(Reflexion)】
|
算法 API 计算机视觉
【原理解密】多角度、多尺度、多目标的边缘模板匹配
【原理解密】多角度、多尺度、多目标的边缘模板匹配
1755 0