**写在前面:**由于在读论文时看到了LGP算法,在网上没有找到相关原理解释,所以写篇博客记录一下,方便有需要的同学学习。

LGP (Local Gradient Patterns)特征匹配算法的原理

参考文献及文章主旨

文献来源:Research on real – time tracking of table tennis ball based on machine learning with low-speed camera

文章本意是提出了一种基于机器学习的低速摄像机实时跟踪乒乓球的新方法。通过图像分割和匹配相结合的方法从复杂的图像中快速识别出乒乓球,然后利用感兴趣区域预测提高视频中实时跟踪的效率,主要是使用了VOCUS系统分割图像,并基于三通道标记三个显著区域,使用LGP+adaboost对这些区域的图像进行匹配,三个区域中和球的颜色最近的区域被视为目标,然后通过移动ROI区域算法,在实时视频跟踪中大大缩短了识别时间。

图像梯度计算

我之前也有过很大的一个困惑,知道梯度下降法的原理,就以为求图像中的每个像素的梯度也是用梯度下降法。其实并不是这样的,梯度下降法简单来说是一种寻找目标函数最小化的方法,但是求图像中每个像素的梯度主要是找这个像素和周围像素之间的变化关系,看是否有突变的边缘出现,一般是用来做边缘检测。所以,在说LGP之前,很有必要提一下图像梯度计算的方法,边缘检测中一般都会使用到图像的梯度。

图像梯度概念

图像梯度是指图像某像素在x和y两个方向上的变化率(与相邻像素比较),是一个二维向量,由2个分量组成X轴的变化、Y轴的变化。
其中:
X轴的变化是指当前像素右侧(X加1)的像素值减去当前像素左侧(X减1)的像素值。
Y轴的变化是当前像素下方(Y加1)的像素值减去当前像素上方(Y减1)的像素值。
计算出来这2个分量,形成一个二维向量,就得到了该像素的图像梯度。取反正切arctan,可得到梯度角度。

图像梯度求解

求图像梯度的过程可以通过一个卷积核来实现:[-1,0,1]
其原理为:

图像梯度的绝对值为:

图像梯度的角度为:

由此可以计算出图像中每个像素的梯度。
下面正式介绍一下LGP

LGP (Local Gradient Patterns)特征匹配算法原理

LGP是一种基于图像局部梯度的特征提取方法,广泛应用于图像识别的预处理。通常,每个像素的局部梯度是根据除边缘像素外具有一定尺度的像素块计算的。对于灰度图像矩阵,对于每个 3×3 的子矩阵(记为矩阵 A),中心点的像素值用 Ic 表示,周围点的像素值用 In,n 表示= 0, . . . , 7,从左上角按顺时针方向定义。每个周围点的梯度定义如式1:


3×3子矩阵的平均梯度定义为式2:

对于图像的每个点(xc, yc),其LGP值表示如下式3:

条件分类函数s(x)为式4:

实际计算流程例子如下图:

LGP 操作将原始矩阵 A 转换为具有转换值的替换矩阵 A(由式3得出)
根据上面提到的方法,将训练数据集中每幅图像的每个像素值转换为 LGP 值。

总结

LGP的计算过程很有趣,通过使被计算像素与其周围八像素进行简单的加减求绝对值运算,然后取这周围八像素的平均值,用一个条件分类函数对这些像素进行分类。最重要的一步是:将分类后的周围八像素平铺成为一串八位的二进制数,然后将这串二进制数转化为十进制即可。

LGP (Local Gradient Patterns)特征匹配算法相关推荐

  1. LBP(Local Binary Patterns)特征

    LBP(Local Binary Patterns)特征 转载:https://blog.csdn.net/Quincuntial/article/details/50541815 一.LBP的介绍: ...

  2. 局部二值模式(Local Binary Patterns)纹理灰度与旋转不变性

    Multiresolution Gray Scale and Rotation Invariant Texture Classification with Local Binary Patterns, ...

  3. OpenCV入门学习笔记之Harris角点检测与SIFT特征匹配算法

    1. 写在前面 这篇文章整理两个图像处理中非常重要的算法,一个是Harris角点检测算法,另一个是SIFT特征匹配算法,这两个算法本质上还是去找图像里面的关键特征点,帮助我们后续更好的理解图像以及做各 ...

  4. 基于haar特征的adaboost算法_SuperGlue一种基于图卷积神经网络的特征匹配算法

    ETHZ ASL与Magicleap联名之作,CVPR 2020 Oral(论文见文末),一作是来自ETHZ的实习生,二作是当年CVPR2018 SuperPoint 的作者Daniel DeTone ...

  5. 特征检测与特征匹配算法简介

    特征检测 opencv可以检测图像的主要特征,然后提取这些特征,使其成为图像描述符. 特征:特征就是有意义的图像区域,该区域具有独特性或易于识别性.角点与高密度区域是一个很好的特征,边缘可以将图像分为 ...

  6. 图神经网络论文阅读(十六) GraLSP: Graph Neural Networks with Local Structural Patterns,AAAI 2020

    本文作者来自香港科技大学.北大和北邮,其中包含宋国杰老师和石川老师,这两位都是国内研究图表示学习的翘楚了.之前读石川团队论文的时候自己犯傻发邮件问了一个比较弱智的问题,石川老师还是让学生耐心帮我解答了 ...

  7. 论文速递:一种用于视觉定位的基于NLP思路的直线特征匹配算法

    标题:Line as a Visual Sentence:Context-aware Line Descriptor for Visual Localization 作者:Sungho Yoon1 a ...

  8. MSER仿射不变特征匹配算法

    MSER原理简述 个人博客 OpenCV实践之MSER仿射匹配算法 已更新讲述MSER仿射匹配算法代码 区域检测(Region Detection)方法是根据图像中具有某种同类性质的像元进行分类(例如 ...

  9. LBP(Local Binary Patterns)局部二进制模式

    1. LBP 用于人脸识别 为了预测每个像素属于哪个脸部器官(眼睛.鼻子.嘴.头发),通常的作法是在该像素周围取一个小的区域,提取纹理特征(例如局部二值模式),再基于该特征利用支持向量机等浅层模型分类 ...

最新文章

  1. Intellij IDEA必备插件,提高效率的“七种武器”!
  2. 计划策略70 之 MIXED MRP(mixed MRP)
  3. python如何删除代码_Python如何删除除字母和数字之外的所有字符?(代码示例)
  4. UML 10 种常见的域建模错误
  5. 当程序发布特别慢的时候,如何高效使用Eclipse
  6. java线程协作_java线程系列之三(线程协作)
  7. HDU 2825 位压缩
  8. LM4871(3W音频功放芯片)中文资料
  9. nyoj234 吃土豆
  10. 《设计模式》——接口隔离原则
  11. operating system not found的问题的解决办法 ---设置活动分区
  12. 皮带撕裂检测matlab,基于机器视觉的皮带纵向撕裂检测方法
  13. 黑苹果 10G 网卡(intel Aquantia)解决方案及big sur 11.x 下驱动方式
  14. 【042】904. 水果成篮[滑动窗口]
  15. 在培训机构花了好几万学Java,当了程序员还常被鄙视,这是招谁惹谁了?
  16. hrbust 2343 巴啦啦能量
  17. 【Linux从青铜到王者】第二十三篇:Linux网络基础第四篇之kcp协议
  18. 黑马程序员_MongoDB笔记
  19. 2022福建最新食品安全管理员模拟考试试题及答案
  20. Tiva单片机——简易示波器(UART串口屏)

热门文章

  1. python中遍历字典判断是否存在_Python基础之(判断,循环,列表,字典)
  2. dBA——对声音的A计权——基础理解
  3. 【报告分享】中国5G垂直行业应用案例2021-GSMA+信通院-202102.pdf(附下载地址)
  4. 用python实现滤波器_python实现低通滤波器代码
  5. 算法面试不懂这6大数据结构知识一定挂!(附力扣LeetCode真题讲解)
  6. LeetCode——552. 学生出勤记录 II(Student Attendance Record II)[困难]——分析及代码(Java)
  7. office办公软件的集合
  8. 2015技术嘉年华学习-12c
  9. 论催收系统的架构的设计和部署
  10. docker环境下安装rockermq以及rockermq-console