一、提取模板
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

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

linemod算法过程理解相关推荐

  1. 调整模型 与 提纯样本的关系过程有点类似EM算法过程,不知道这样理解是否是正确理解,固定A调B,B调到最优后,固定B再调A,循环往复,直至最优。

    调整模型 与 提纯样本的关系过程有点类似EM算法过程,不知道这样理解是否是正确理解,固定A调B,B调到最优后,固定B再调A,循环往复,直至最优.  个人理解

  2. React中diff算法的理解

    React中diff算法的理解 diff算法用来计算出Virtual DOM中改变的部分,然后针对该部分进行DOM操作,而不用重新渲染整个页面,渲染整个DOM结构的过程中开销是很大的,需要浏览器对DO ...

  3. Vue中diff算法的理解

    Vue中diff算法的理解 diff算法用来计算出Virtual DOM中改变的部分,然后针对该部分进行DOM操作,而不用重新渲染整个页面,渲染整个DOM结构的过程中开销是很大的,需要浏览器对DOM结 ...

  4. CART算法对比理解

    来源:http://www.cnblogs.com/pinard/p/6053344.html 作者:刘建平Pinard 对于C4.5算法,我们也提到了它的不足,比如模型是用较为复杂的熵来度量,使用了 ...

  5. 短视频推荐算法过程分享,论如何针对推荐算法来优化短视频内容

    短视频推荐算法过程分享,论如何针对推荐算法来优化短视频内容 相信做短视频的小伙伴一定知道"短视频推荐算法",简单理解就是短视频平台都自有一套推荐机制,决定我们发布的短视频是否可以获 ...

  6. 手指静脉细化算法过程原理解析 以及python实现细化算法

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/8672489.html 文中的一些图片以及思想很多都是参考https://www.cnblogs ...

  7. Levenberg-Marquardt(LM算法)的理解

    Levenberg-Marquardt LM算法 的理解 1. convex optimization 1.1 convex set 1.2 convex function 1.3 optimizat ...

  8. XGBoost算法个人理解

    提升树Boosting Tree算法实例详解_程大海的博客-CSDN博客 从提升树Boosting Tree过度到梯度提升Gradient Boosting_程大海的博客-CSDN博客 GBDT梯度提 ...

  9. HDMI/DVI中TMDS编解码算法的理解

    HDMI/DVI中TMDS编解码算法的理解 TMDS简介 TMDS编码 TMDS解码 TMDS简介 HDMI和DVI协议使用TMDS作为它们的物理层.支持高达225MHz的传输速率,一个传输链路能满足 ...

最新文章

  1. 为什么世界上一些最好的科学家和程序员,在世人眼里,都有点不太正常,甚至行为混乱...
  2. C03-Java同步实践加强班第5周上机任务
  3. 计算机配置对电子竞技的影响,配置高并不是唯一优点 看看电竞硬件还要啥?...
  4. 阿里云加入开放媒体联盟AOM
  5. java策略模式 工厂模式_策略模式和工厂模式搭配使用
  6. 微软推出 Power Platform 漏洞奖励计划
  7. mysql的时间在cmd的输入格式_获取“System.FormatException:输入字符串的格式不正确。”在日期时间对象插入到MySql数据库...
  8. ping首包慢的问题(及icmp对应关系)
  9. 无源蜂鸣器c语言编程,无源蜂鸣器+LED
  10. 【AD】altium designer绘制原理图使用教程
  11. 【FPGA初级】4选一数据选择器的verilog实现(含testbench与波形)
  12. 【前端工程化】使用tippy.js代替自定义的popover/tooltip
  13. bootstrapValidator.js文件里的提示语:设置为中文
  14. win10一共几个版本,有什么区别?win10版本区别
  15. 电脑音频没声音,静音
  16. apn描述文件下载_iOS 11.3 beta 6描述文件下载|苹果iOS 11.3 Beta 6描述文件官方版_ - 极光下载站...
  17. 【深度学习】ReID相关知识点解析(PCB、BoT、MGN)
  18. 最新HAL库SDMMC初始化SD报HardFault
  19. 01 注释的作用和分类
  20. 部队公文管理系统JAVA

热门文章

  1. cisco 华三 对接_生成树协议 PVST 对接 HW VS CISCO
  2. 绿色信贷对兴业银行竞争力的影响研究_kaic
  3. C++常用头文件及函数
  4. MySQL 转换1,0为 true,false
  5. 六年级毕业计算机考试成绩,六年级毕业考试分数_六年级毕业考试的成绩是多少...
  6. 鸿蒙系统华为蒋玥8月9号发布,2019华为开发者大会8月9日开启 鸿蒙系统或重磅发布...
  7. (一)Activiti 数据库25张表——流程历史记录表19(ACT_HI_COMMENT)
  8. SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“.解决方案
  9. JPA oneToMany
  10. 世界上沒有天堂和地獄