linemod算法过程理解
一、提取模板
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分别表示各个角度。为了应对噪声,在该像素的33领域内进行统计投票,取得分最高的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
以上纯属个人理解,小白一定存在许多理解错误,请大家不吝赐教。
linemod算法过程理解相关推荐
- 调整模型 与 提纯样本的关系过程有点类似EM算法过程,不知道这样理解是否是正确理解,固定A调B,B调到最优后,固定B再调A,循环往复,直至最优。
调整模型 与 提纯样本的关系过程有点类似EM算法过程,不知道这样理解是否是正确理解,固定A调B,B调到最优后,固定B再调A,循环往复,直至最优. 个人理解
- React中diff算法的理解
React中diff算法的理解 diff算法用来计算出Virtual DOM中改变的部分,然后针对该部分进行DOM操作,而不用重新渲染整个页面,渲染整个DOM结构的过程中开销是很大的,需要浏览器对DO ...
- Vue中diff算法的理解
Vue中diff算法的理解 diff算法用来计算出Virtual DOM中改变的部分,然后针对该部分进行DOM操作,而不用重新渲染整个页面,渲染整个DOM结构的过程中开销是很大的,需要浏览器对DOM结 ...
- CART算法对比理解
来源:http://www.cnblogs.com/pinard/p/6053344.html 作者:刘建平Pinard 对于C4.5算法,我们也提到了它的不足,比如模型是用较为复杂的熵来度量,使用了 ...
- 短视频推荐算法过程分享,论如何针对推荐算法来优化短视频内容
短视频推荐算法过程分享,论如何针对推荐算法来优化短视频内容 相信做短视频的小伙伴一定知道"短视频推荐算法",简单理解就是短视频平台都自有一套推荐机制,决定我们发布的短视频是否可以获 ...
- 手指静脉细化算法过程原理解析 以及python实现细化算法
原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/8672489.html 文中的一些图片以及思想很多都是参考https://www.cnblogs ...
- Levenberg-Marquardt(LM算法)的理解
Levenberg-Marquardt LM算法 的理解 1. convex optimization 1.1 convex set 1.2 convex function 1.3 optimizat ...
- XGBoost算法个人理解
提升树Boosting Tree算法实例详解_程大海的博客-CSDN博客 从提升树Boosting Tree过度到梯度提升Gradient Boosting_程大海的博客-CSDN博客 GBDT梯度提 ...
- HDMI/DVI中TMDS编解码算法的理解
HDMI/DVI中TMDS编解码算法的理解 TMDS简介 TMDS编码 TMDS解码 TMDS简介 HDMI和DVI协议使用TMDS作为它们的物理层.支持高达225MHz的传输速率,一个传输链路能满足 ...
最新文章
- 为什么世界上一些最好的科学家和程序员,在世人眼里,都有点不太正常,甚至行为混乱...
- C03-Java同步实践加强班第5周上机任务
- 计算机配置对电子竞技的影响,配置高并不是唯一优点 看看电竞硬件还要啥?...
- 阿里云加入开放媒体联盟AOM
- java策略模式 工厂模式_策略模式和工厂模式搭配使用
- 微软推出 Power Platform 漏洞奖励计划
- mysql的时间在cmd的输入格式_获取“System.FormatException:输入字符串的格式不正确。”在日期时间对象插入到MySql数据库...
- ping首包慢的问题(及icmp对应关系)
- 无源蜂鸣器c语言编程,无源蜂鸣器+LED
- 【AD】altium designer绘制原理图使用教程
- 【FPGA初级】4选一数据选择器的verilog实现(含testbench与波形)
- 【前端工程化】使用tippy.js代替自定义的popover/tooltip
- bootstrapValidator.js文件里的提示语:设置为中文
- win10一共几个版本,有什么区别?win10版本区别
- 电脑音频没声音,静音
- apn描述文件下载_iOS 11.3 beta 6描述文件下载|苹果iOS 11.3 Beta 6描述文件官方版_ - 极光下载站...
- 【深度学习】ReID相关知识点解析(PCB、BoT、MGN)
- 最新HAL库SDMMC初始化SD报HardFault
- 01 注释的作用和分类
- 部队公文管理系统JAVA
热门文章
- cisco 华三 对接_生成树协议 PVST 对接 HW VS CISCO
- 绿色信贷对兴业银行竞争力的影响研究_kaic
- C++常用头文件及函数
- MySQL 转换1,0为 true,false
- 六年级毕业计算机考试成绩,六年级毕业考试分数_六年级毕业考试的成绩是多少...
- 鸿蒙系统华为蒋玥8月9号发布,2019华为开发者大会8月9日开启 鸿蒙系统或重磅发布...
- (一)Activiti 数据库25张表——流程历史记录表19(ACT_HI_COMMENT)
- SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“.解决方案
- JPA oneToMany
- 世界上沒有天堂和地獄