【计算机视觉】MOPS特征描述的邻域点为啥是偶数行/列的矩阵?

什么是MOPS

MOPS是一种特征描述的手段,即为每个特征点提供一个描述符,此描述符将用于比较不同图像中的要素以查看它们是否匹配。优秀的描述不会随图像的变化而改变(尽可能具有尺度不变性、旋转不变性等特征不变性),并且对于每一点描述是唯一的。

MOPS描述(Multiscale Oriented PatcheS descriptor)
步骤:
1、 以检测点为中心取40*40的窗口
2、缩小到原来的1/5
3、旋转至水平(为了实现旋转不变性)
4、 亮度归一化

图像块的主方向由H矩阵(Harris角点特征)较大特征值对应的特征向量确定,可以根据特征向量来旋转至水平,使得特征描述具有旋转不变性

亮度归一化是经过处理使得像素点均值为0,标准差为1,这样可以减少亮度差异造成的影响。

(此处参照:原文链接 https://blog.csdn.net/h763247747/article/details/100538827)

为啥它关心的关键点邻域范围是偶数行?

对于关键点而言,一般会选取奇数行/列mn的邻域矩阵,来研究关键点周边(mn-1)个相邻点的像素值对它的影响,因为奇数才有中心点嘛。MOPS特征描述取偶数行/列,不能把关键点作为邻域矩阵的中心点,岂不是很难理解?
其实这不是提出MOPS算法时故意为之的,而是它对关键点描述的处理过程决定的。所以,让我们先来仔细研究一下它的处理过程。

关键点的原始位置和待提取的特征

关键点 因为只是特征描述,所以在此之前应该已经通过特征检测得到了图片的一组特征点~,也就是上图标红的部分(当整张脸都很关键,就像是撒上了红色的椒盐噪声……)

假设现在要提取的是狮子眼部某个特征点K(蓝色标出)邻域范围内的点像素值,以此作为特征点K的“特征描述符”。
K特征点

仿射变换

先放一张直观的处理过程图:
MOPS首先要做一次平移,使得K点成为第二步的旋转中心点;
接着把图像转到水平位置(这样无论带比较的图片旋转了怎样的角度,可以相互匹配的点的特征描述符都是同一方向的);
然后将图像降采样(毕竟MOPS要求多尺度),也就是4040变成88的步骤,注意这里只是一个缩放,并没有什么中心点,所以也就不存在为什么不是奇数行/列,而是偶数行/列的问题;
最后一次平移只是为了取出8*8个点

基于opencv-python具体实现

== 待更新…… ==

Vivado2023是一款集成开发环境软件,用于设计和验证FPGA(现场可编程门阵列)和可编程逻辑器件。对于使用Vivado2023的用户来说,license是必不可少的。 Vivado2023的license是一种许可证,用于授权用户合法使用该软件。许可证分为多种类型,包括评估许可证、开发许可证和节点许可证等。每种许可证都有不同的使用条件和功能。 评估许可证是免费提供的,让用户可以在一段时间内试用Vivado2023的全部功能。用户可以使用这个许可证来了解软件的性能和特点,对于初学者和小规模项目来说是一个很好的选择。但是,使用评估许可证的用户在使用期限过后需要购买正式的许可证才能继续使用软件。 开发许可证是付费的,可以永久使用Vivado2023的全部功能。这种许可证适用于需要长期使用Vivado2023进行开发的用户,通常是专业的FPGA设计师或工程师。购买开发许可证可以享受Vivado2023的技术支持和更新服务,确保软件始终保持最新的版本和功能。 节点许可证是用于多设备或分布式设计的许可证,可以在多个计算机上安装Vivado2023,并共享使用。节点许可证适用于大规模项目或需要多个处理节点进行设计的用户,可以提高工作效率和资源利用率。 总之,Vivado2023 license是用户在使用Vivado2023时必须考虑的问题。用户可以根据自己的需求选择合适的许可证类型,以便获取最佳的软件使用体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值