linemod算法过程理解

article/2025/10/6 21:58:09

一、提取模板
1、预处理
使用高斯模糊预处理将要作为模板的RGB图
2、模板梯度计算
分别计算RGB三个通道中每个像素点x和y方向的梯度(sobel算子),取幅值最大的作为该像素的梯度,若梯度幅度值小于阈值,则被舍弃
3、梯度离散化及量化
对保留的梯度,以角度形式表示其方向(phase函数),将以上角度映射到0度至180度之间,而后离散化为n个区间,再用0-n-1的index分别表示各个角度。为了应对噪声,在该像素的3*3领域内进行统计投票,取得分最高的index值作为该像素点的最终index
4、模板保存
对index进行二进制编码,方便后续匹配时的计算,feature数目小于4的模板被舍弃,最后模板以mask形式保存
5、模板变换
针对原始模板(mask形式),按照angle和scale的一定步长进行平移、旋转、缩放等仿射变换,形成一系列的模板
6、模板金字塔
对RGB图片进行下采样,重复1-5的过程

二、进行匹配
1、测试图片梯度计算
按照提取模板时的方式计算梯度,并舍弃幅度值较小的
2、梯度扩散
为提高匹配的鲁棒性,对梯度进行扩散,具体操作为将有index值扩散到以该像素点为中心的33的领域内
3、预计算response map
针对各个方向,利用梯度与对应方向间夹角余弦的绝对值(取绝对值的目的是为了不受背景影响,即使背景很亮或者很暗仍然会比较鲁棒)计算相似分数,同一像素点的多个余弦值中取绝对值最大的,形成n个response map
4、计算similarity map
由于是利用模板进行滑窗匹配,为了提高计算速度,将response map中相隔T(滑窗步长)个像素的值顺序存储在一起,形成T^2个线性表,在模板中取一个anchor cell,其余各位置的response map值形成的线性表,根据相对于该anchor cell的偏移,按照公式一、提取模板
1、预处理
使用高斯模糊预处理将要作为模板的RGB图
2、模板梯度计算
分别计算RGB三个通道中每个像素点x和y方向的梯度(sobel算子),取幅值最大的作为该像素的梯度,若梯度幅度值小于阈值,则被舍弃
3、梯度离散化及量化
对保留的梯度,以角度形式表示其方向(phase函数),将以上角度映射到0度至180度之间,而后离散化为n个区间,再用0-n-1的index分别表示各个角度。为了应对噪声,在该像素的3
3领域内进行统计投票,取得分最高的index值作为该像素点的最终index
4、模板保存
对index进行二进制编码,方便后续匹配时的计算,feature数目小于4的模板被舍弃,最后模板以mask形式保存
5、模板变换
针对原始模板(mask形式),按照angle和scale的一定步长进行平移、旋转、缩放等仿射变换,形成一系列的模板
6、模板金字塔
对RGB图片进行下采样,重复1-5的过程

二、进行匹配
1、测试图片梯度计算
按照提取模板时的方式计算梯度,并舍弃幅度值较小的
2、梯度扩散
为提高匹配的鲁棒性,对梯度进行扩散,具体操作为将有index值扩散到以该像素点为中心的3*3的领域内
3、预计算response map
针对各个方向,利用梯度与对应方向间夹角余弦的绝对值(取绝对值的目的是为了不受背景影响,即使背景很亮或者很暗仍然会比较鲁棒)计算相似分数,同一像素点的多个余弦值中取绝对值最大的,形成n个response map
4、计算similarity map
由于是利用模板进行滑窗匹配,为了提高计算速度,将response map中相隔T(滑窗步长)个像素的值顺序存储在一起,形成T^2个线性表,在模板中取一个anchor cell,其余各位置的response map值形成的线性表,根据相对于该anchor cell的偏移,按照公式
在这里插入图片描述
计算线性表的偏移值,并将各个进行偏移的线性表对应值相加,还原为一个map,即得到similarity map

以上纯属个人理解,小白一定存在许多理解错误,请大家不吝赐教。


http://chatgpt.dhexx.cn/article/uoNfPQy7.shtml

相关文章

MATLAB函数angle、unwrap

一、angle 相位角 语法 P angle(Z)描述 P angle(Z)返回复数数组Z的每个元素的相角(以弧度为单位)。角度介于π之间。对于复数Z,幅值R和相角theta由下式给出 R 绝对值(Z&#xff0…

fbp算法matlab实现,matlab实现fbp算法

matlab提供大量函数,可以方便的完成fbp算法 1)fbp算法原理: 中心切片定理 (CST) : 原数据投影的一维傅立叶变换等于原数据的二维傅立叶变换 投影 --> 一维傅立叶变换 --> 滤波 --> 二维傅立叶反变换 经过上述过程应该得到原始数据 2)投影相关知识 2.1)正投影:对…

一种简单的图形旋转算法

图形旋转好玩又有实用性, 这里介绍一种简单的图形旋转算法. 具体步骤如下: 1. 首先将原图和旋转图的坐标原点都变换到图形的中心位置处. 2. 历遍旋转图形中的每一个pixel, 将pixel的坐标(j,i)反向旋转映射到原图, 得到原图对应的坐标值(Xr,Yr). 3. 考虑到旋转图的尺寸可能大于…

多目标跟踪之数据关联算法——匈牙利算法

零、Track和Detection的cost matrix,distance metric。距离计算的方式有如下几种: 距离cost distance metric,track和detection的距离矩阵。 外观距离appearance distance,来自检测切片ROI的网络特征提取;——余弦距离 运动模型距离 马氏距离,来自检测-跟踪的kalman校正…

EAST算法简单解析

前言 最近写了很多算法代码的解析,但是却很少写原理的解析,这段时间学得快忘得也快,所以寻思这几天写几篇学过算法的原理,可能不是很详细但是一定很简单,利于理解。 算法介绍 EAST: An Efficient and Accurate Scen…

定位算法初探

定位算法初探 一、指纹定位算法介绍 指纹定位(finger-printing localization)算法,是基于室内环境复杂,信号反射折射所形成的在不同位置形成的不同的信号强度信息而提出的一套算法。 指纹算法能很好的利用了反射折射所形成的信号信息,离线首…

使用python模拟实现PID控制算法

使用python模拟实现PID控制算法 PID控制算法是工业应用中最广泛算法之一,在闭环系统的控制中,可自动对控制系统进行准确且迅速的校正。 P、I、D分别是“比例(proportional)、积分(integral)、微分&#xff…

TCP Nagle算法简述

TCP/IP协议中,无论发送多少数据,总是要在数据前面加上协议头,同时,对方接收到数据,也需要发送ACK表示确认。为了尽可能的利用网络带宽,TCP总是希望尽可能的发送足够大的数据。 (一个连接会设置M…

倒角算法推导

推导原理基本很简单: 已知AB, BC两条线段,且交于B点,求倒角半径为 L,AB,BC的倒角 以最短边(假定为AB)长 LAB, 在BC中,以B为起点,找出与LAB同长度…

[控制算法]

[常用控制算法] 0.博览众长 0.1 视频 1. DR_CAN b站 0.2 文章 1.控制算法整理 0.3 传统 VS 现代控制算法 1. 传统 传统控制算法:PID,模糊,神经网络控制算法。 2. 现代 现代控制算法有比例,LQR算法(用于线性系统)&#x…

求树的直径证明

树的直径(最长路) 的详细证明 主要是利用了反证法: 假设 s-t这条路径为树的直径,或者称为树上的最长路 现有结论,从任意一点u出发搜到的最远的点一定是s、t中的一点,然后在从这个最远点开始搜,就…

树的直径和树的重心

1.树包括有根树和无根树,有根树是有向图的子图,无根树是无向图的子图,都满足边数等于节点数减一。根是入度为零或没有父亲的节点 2.树的直径:树上最长的简单路径(不重复经过点的路径) 3.求解算法&#xf…

树的直径总结

树的直径 一、定义 在一棵树中,最远的两个子节点之间的距离被称为树的直径; 链接这两个点的路径被称为树的最长链; 有两种求法,时间复杂度均为 O ( n ) O(n) O(n) ; 二、树形DP 1. 状态 由于一个点的最长路通过…

基础算法 - 树的直径

题目地址:https://leetcode-cn.com/problems/tree-diameter/ 1245. 树的直径 难度中等48收藏分享切换为英文接收动态反馈 给你这棵「无向树」,请你测算并返回它的「直径」:这棵树上最长简单路径的 边数。 我们用一个由所有「边」组成的数…

树的直径-c++

题目 实验室里原先有一台电脑(编号为1),最近氪金带师咕咕东又为实验室购置了N-1台电脑,编号为2到N。每台电脑都用网线连接到一台先前安装的电脑上。但是咕咕东担心网速太慢,他希望知道第i台电脑到其他电脑的最大网线长度,但是可怜…

求树的直径算法以及证明

以下为两次dfs(bfs)的做法以及正确性证明。 算法步骤 (1)任取树上一点S,以S为源点BFS得S到各个顶点的d值; (2)取d值最大者之一为P,再以P为源点BFS得P到各个顶点的d值&am…

求树的直径

树的直径,即树上的最长路径,显然,树的直径可以有很多条(考虑一棵菊花)。 接下来我们考虑如何求出一棵树的直径。有很多种O(n)的算法。 算法1:我们任取树中的一个节点x,找出距离它最远的点y&am…

数据结构 树的直径

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。 学习日记 目录 学习日记 一、定义 二、两次DFS 定理: 反证法证明: 1、若y在d(t,s)上 2、若y不在d(s,t)上,且d(y,z)与d(s.t)…

树的直径(最长的简单路径)

题解:分析一下,由于是树,所以两点之间的路径有且只有一条,为了求出欧拉路,所以必然会向回走,从递归的角度来看,假设x看作一个树根,有t个孩子y1…yt。其中每个孩子为根的子树欧拉路都…

树的直径概念及求解

文章目录 1. 使用两次DFS求得树的直径2. 使用树形DP求得树的直径3. 性质4. 参考文献和习题 树上任意两节点之间最长的简单路径即为树的「直径」。显然,一棵树可以有多条直径,他们的长度相等。可以用两次 D F S / B F S DFS/BFS DFS/BFS 或者树形 D P D…