SIFT匹配和识别?

2024-02-10

我正在开发一个应用程序,其中使用 SIFT + RANSAC 和单应性来查找对象(OpenCV C++,Java)。我面临的问题是,在有很多异常值的地方,RANSAC 表现不佳。

为此我想尝试一下SIFT的作者说的很好的办法:投票。

我读过我们应该在 4 维特征空间中投票,其中 4 个维度是:

  • 位置[x,y](有人说翻译)
  • Scale
  • 方向

而用opencv很容易得到匹配scale and orientation with:

cv::Keypoints.octave
cv::Keypoints.angle

我很难理解如何计算位置。

我找到了一个有趣的幻灯片 http://www.cs.utexas.edu/~cv-fall2012/slides/fall2012_02_specific_objects.pdf哪里只有one match我们可以绘制一个边界框:

但我不明白如何只用一场比赛来绘制边界框。有什么帮助吗?


您正在寻找适合从图像 1 到图像 2 的几何变换的最大匹配特征集。在本例中,它是相似变换,它有 4 个参数: 平移(dx, dy), 尺度变化ds,和旋转d_theta.

假设您已匹配特征:图像 1 中的 f1 和图像 2 中的 f2。让(x1,y1)是图像 1 中 f1 的位置,令s1是它的规模,并让theta1是它的方向。同样你有(x2,y2), s2, and theta2 for f2.

两个特征之间的转换是(dx,dy) = (x2-x1, y2-y1).

两个特征之间的尺度变化为ds = s2 / s1.

两个特征之间的旋转是d_theta = theta2 - theta1.

So, dx, dy, ds, and d_theta是霍夫空间的维度。每个 bin 对应一个相似度变换。

一旦您执行了霍夫投票并找到了最大 bin,该 bin 就会为您提供从图像 1 到图像 2 的转换。您可以做的一件事是获取图像 1 的边界框并使用该转换对其进行转换:应用相应的转换,旋转和缩放到图像的角点。通常,您将参数打包到变换矩阵中,并使用齐次坐标。这将为您提供图像 2 中与您检测到的对象相对应的边界框。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SIFT匹配和识别? 的相关文章

随机推荐

  • 在 Cocoa 中创建 iTunes 风格源列表时遇到问题

    我正在开发一款可以与 iTunes 风格的源列表配合良好的软件 我一直在网上寻找如何实现它 但所有的例子似乎都有点粗略 我找到了马克 奥尔德里特的执行 http www latenightsw com blog p 29并尝试在我的项目中使
  • CouchDB - 创建或更新文档时触发代码

    我有一个在 CouchDB 中存储数据的页面 该页面直接通过 JavaScript 访问数据库 因此浏览器中没有隐藏太多逻辑 创建新文档时 有一些逻辑将数据元素提取到单独的字段中 以便可以搜索它们 创建或更新文档时是否可以在服务器上执行此逻
  • 如何使用 [object addGesture...] 从 C4Workspace 调用方法?

    我希望实现的是使用以下方法调用 C4Workspace m 中的方法 shape addGesture SWIPELEFT name swipeLeft action leftSwipeMethod 我知道这会尝试在 C4Shape 类中调
  • jQuery livequery 插件相当于 jQuery 1.7+

    是否有相当于 jQuery 1 7 的 jQuery livequery 插件 我正在尝试动态绑定事件 读取 DOM 元素应基于 data 元素绑定的事件 a href class js test Test 1 a a href class
  • 尽可能避免使用 mod 运算符是否更好?

    我认为计算数字的模是一个有点昂贵的操作 至少与简单的算术测试 例如查看数字是否超过数组的长度 相比 如果确实如此 那么替换例如以下代码是否会更有效 res array i 1 len 与以下 res array i 1 len 0 i 1
  • DMARC/SPF 配置错误

    我有一个注册域名domains google com我使用 G Suite 帐户并从 SES 和 mailchimp 发送电子邮件 我的 DNS 记录看起来正确 Mailchimp 说明 https kb mailchimp com acc
  • reCAPTCHA - 按提交后出现

    我想在我的表单中使用 reCAPTCHA 用户必须填写表格 然后按 提交 之后 在 提交 按钮下 应该会出现 reCAPTCHA 我怎样才能做到这一点 如果我想要这样的东西 我可能会将 reCAPTCHA 预加载到jQuery 对话框 ht
  • 不可点击的锚标记

    我使用这个html代码 div class titleIn h2 a href link2 link2 a h2 div 并且由于某种原因link2不可点击 没有手形光标 CSS 是 titleIn direction rtl margin
  • SublimeText3中的binary_file_patterns和index_exclude_patterns有什么区别?

    在 Sublime Text 3 中binary file patterns排除在文件或模糊搜索 转到任何内容 中找到的文件index exclude patterns防止文件被索引 既然我们知道无法找到未索引的文件 并且假设无法追踪的文件
  • 更改资源文件 (resx) 命名空间和访问修饰符

    在我的网络项目中 我使用了 4 个资源文件App GlobalResources文件夹 其中之一 lang resx 是在我到达该项目之前创建的 它具有正确的命名空间 WebApplication App GlobalResources 和
  • 在这种情况下,为什么不从参数推断出通用值 N ?

    这个问题 TypeScript 要求两个数组长度相同 https stackoverflow com questions 62206320 typescript require that two arrays be the same len
  • 将 pandas 数据框中的逗号分隔单元格拆分为不同的列[重复]

    这个问题在这里已经有答案了 如何将逗号分隔的字符串拆分为新列 预期产出 Source Target Weight 0 Majed Moqed Majed Moqed 0 尝试这个 df Source df Source Target Wei
  • XPath - 属性通配符不返回具有名为 value 的属性的元素

    我正在尝试使用 XPath Java 来获取基于以特定值开头的未知属性的所有未知节点 由于某种原因 它没有返回包含名为的属性的节点value 我也测试过www freeformatter com xpath tester html http
  • 及时均匀地对位置时间序列进行重新采样

    正如地球科学中经常发生的那样 我有一系列位置 经度 纬度 时间序列的时间间隔不均匀 时间采样如下 t diff every position 3 99 1 00 3 00 4 00 3 98 3 99 我将位置与每个 t 相关联 lat 7
  • 读取 Jpeg2000 元数据

    我想找到一个具有 BSD MIT 或同等 许可证的开源库 该库能够读取 XML 或任何 元数据 jp2文件 迄今为止的研究 OpenJpeg https github com uclouvain openjpeg不读取元数据 EasyExi
  • 通过递归使用 XElement 动态构建 Xml

    我是 linq to Xml 的新手 我有一个递归方法作为参数XElement root它应该以表示给定递归深度的相关子树根的方式保存 XML 数据 void recursiveMethod XElement root 更具体地说 还可以看
  • 为什么 Scala 集合中没有不可变的双链表?

    看着this https stackoverflow com q 8039261 770361问题 提问者对某个元素的第一个和最后一个实例感兴趣List 似乎更有效的解决方案是使用DoubleLinkedList可以从列表末尾向后搜索 然而
  • pycharm 代码完成不适用于 SimpleNamespace

    为什么 SimpleNamespace 代码补全在 pycharm 编辑器中不起作用 from types import SimpleNamespace sn SimpleNamespace param a 1 sn pressing do
  • EmberJS 路线事件转换

    emberjs 1 0 0 rc 6 1 我的控制器 Application LoginController Ember Controller extend loginFailed false isProcessing false isSl
  • SIFT匹配和识别?

    我正在开发一个应用程序 其中使用 SIFT RANSAC 和单应性来查找对象 OpenCV C Java 我面临的问题是 在有很多异常值的地方 RANSAC 表现不佳 为此我想尝试一下SIFT的作者说的很好的办法 投票 我读过我们应该在 4