OpenCV图像处理笔记[10]
[实验] 图像处理特征检测
-
应用: 机器人运动规划
-
如果用局部特征来表示的话,这些特征应该具有什么样的特性?
- 尺度不变性
场景识别
-
视觉局部特征
-
不变性:一种基于尺度空间的、对图像缩放、旋转甚至仿射变换保持不变性的图像局部特征描述方法。
-
优点
- 独特性(Distinctiveness)
- 不变性(Invariant)
-
- 关键点(KeyPoints)
- 特征描述器(Descriptor)
-
Key Points - Harries
- 在两个方向上有比较激励的变化,角点
-
DOG算子
对高斯算子的差分
-
图像尺度空间表示
高斯卷积核
-
一幅二维图像,不同尺度在尺度空间中的表示可由图像与不同的高斯核卷积得到
-
DOG(Difference-Of-Gaussian)算子
-
在图中找一个极值点:同一个点在不同差分图像上,相邻的九个点都是最大的
-
searching maximum point
- 在DOG(Difference-Of-Gaussian)尺度空间中检测局部极值以作为特征点
-
feature filtering
-
去除对比度低的点
-
去除边界点
-
亚像素级定位
-
-
Orientation of the features
- 利用特征点邻域像素的梯度方向分布特性为每个关键指定方向参数
- 以特征点为中心的邻域窗口内用直方图统计邻域像素的梯度方向
- 梯度直方图的范围是0~360度,其中每10度一个柱,总共36个柱
- 每个特征点有三个信息:位置、所处尺度、方向。由此可以确定一个SIFT特征区域
- 现在的问题:怎么描述特征
-
feature descriptor
- 以关键点为中心取8 8的窗口,把这个窗口切成的子窗口,然后统计每个子窗口的方向直方图
Main direction of KeyPoints
- 确定关键点的方向采用梯度直方图统计法,统计以关键点为原点,一定区域内的图像像素点对关键方向生成所作的贡献。
- 关键点的主方向与辅方向
- 关键点主方向:极值点周围区域梯度直方图的主峰值也是特征点方向
- 关键点辅方向:在梯度方向直方图中,当存在另一个相当于主峰值80%能量的峰值时,则将这个方向认为是该关键点的辅方向
- 这可以增强匹配的鲁棒性,Lowe的论文指出大概有15%关键点具有多方向,但这些点对匹配的稳定性至为关键。
SIFT的改进——SURF
-
SIFT
通过SIFT算法,在大小方向都改变的情况下,仍能找到特征.
但由于不具有实时性,所以有了SURF
-
SURF
-
DOG与Hession矩阵
更快
把二阶微分后的图像进行近似
也是求极值,不过是在矩阵上求极值
让图像保持不变,增大模板,来获取不同尺度上特征
-
特征方向计算
-
特征描述
利用haar小波,x方向,y方向
16*4 = 64维向量
-
ORB
Feature Matching
穷举匹配
- 模板图中关键点描述子:
-
-
实时图中关键点描述子:
-
关键点的匹配可以采用穷举法来完成,但是耗费时间太多,一般采用kd数的数据结构来完成搜索。
搜索的内容是以模板图像的关键点为基准,搜索与目标图像的特征点最邻近的原图像特征点和次邻近的原图像特征点。
kd数是一个平衡二叉树
-
-
本文作者:Hecto
本文链接:https://www.cnblogs.com/tow1/p/16546379.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端