问题标签 [sift]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 比较存储在 mysql 数据库中的 SIFT 特征
我目前正在扩展一个用于对图像进行分类的图像库,并且我想查找重复图像、转换图像以及包含或包含在其他图像中的图像。
我已经测试了 OpenCV 的 SIFT 实现,它工作得很好,但对于多个图像来说会相当慢。太快了,我想我可以提取特征并将它们保存在数据库中,因为许多其他与图像相关的元数据已经保存在那里。
将新图像的特征与数据库中的特征进行比较的最快方法是什么?
通常比较是使用 kd-trees、FLANN 或我在 SO 上的另一个线程中找到的Pyramid Match Kernel来计算欧几里得距离,但还没有深入研究。
由于我不知道如何有效地在数据库中保存和搜索 kd-tree,因此我目前只看到三个选项:
* 让 MySQL 计算到数据库中每个特征的欧几里德距离,尽管我很确定这将花费不合理的时间来处理多个图像。
* 在开始时将整个数据集加载到内存中并构建 kd-tree(s)。这可能会很快,但非常占用内存。另外,所有数据都需要从数据库中传输。
* 将生成的树保存到数据库中并加载所有这些树,这将是最快的方法,但也会产生大量流量,因为对于新图像,kd-trees 必须重建并发送到服务器。
我正在使用 OpenCV 的 SIFT 实现,但我并没有死心塌地。如果有一个更适合这项任务的特征提取器(并且大致同样健壮),我很高兴有人能推荐一个。
matlab - 筛选实现matlab
如果有人知道,我想知道关于 SIFT 的以下问题的答案。
在开始之前,我通过此链接向您介绍 David Lowe 论文的实现:
http://www.cs.ubc.ca/~lowe/keypoints/
函数声明如下所示:
我不确定输出参数locs
。它是否将描述符的位置作为向量返回[x y scale orientation]
?
如果它给出了位置,那么x
andy
必须是一个整数,但它给出的是小数值。
sift - 使用 SIFT 图像与其旋转版本之间的相似性
我已经在opencv中实现了SIFT来比较图像......我还没有编写用于比较的程序。考虑使用FLANN来做同样的事情。但是,我的问题是,查看描述符的128个元素,并不能真正理解图像及其旋转版本的相似性。
通过阅读 Lowe 的论文,我确实明白描述符坐标都是根据关键点方向旋转的……但是,相似度究竟是如何获得的。我们可以通过查看 128 个值来理解相似度吗?
请帮助我...这是我的项目演示文稿。
sift - 筛选中的欧几里得距离
我正在尝试为我的项目实施 SIFT,并且我已经掌握了关键点。我尝试将图像的每个关键点的欧几里得距离与同一图像的所有关键点进行比较,但按比例缩小。碰巧查询图像的 1 个关键点与数据库图像中其他关键点的距离具有非常相似的值。我如何选择最近的邻居以及如何确定这是正确的匹配。
欧几里得距离计算为,对于 i=1 到 128 sqrt[(pi-qi)^2] 对于 p = 1 到数据库中的关键点数。
任何关于如何进行的想法将不胜感激
optimization - 检索从 SIFT / SURF 中获得的最重要的特征
我正在使用 SURF 从图像中提取特征并将它们与其他特征匹配。我的问题是某些图像具有超过 20000 个特征,这会减慢与爬行的匹配速度。
有没有一种方法可以只从该集合中提取 n 个最重要的特征?
我尝试为图像计算 MSER,并且只使用这些区域内的特征。这让我在不影响匹配质量的情况下减少了 5% 到 40%,但这是不可靠的,仍然不够。
我还可以缩小图像的大小,但在某些情况下,这似乎会严重影响特征的质量。
SURF 提供了一些参数(粗麻布阈值、倍频程和每倍频程的层数),但我找不到任何关于更改这些参数将如何影响特征重要性的信息。
c# - C# 中的 SIFT 实现
我想在 C# 中使用 sift 实现。
我找到了这个网站http://user.cs.tu-berlin.de/~nowozin/libsift/ 但我很困惑没有主程序或项目文件。我不明白如何在普通的 C# 控制台/窗口应用程序中使用它,以及 GK# 的规则是什么。
有人能给我一些有用的提示吗,或者有人知道 C# 中的另一种实现吗?
opencv - 如何使用 SIFT 和 OpenCV 在图像中搜索对象?
我正在研究一个简单的扑克牌检测程序。现在我从这里有一个有效的筛选算法。我在卡片周围创建了一些边界框。然后我在卡上使用 Sift 进行搜索并保存描述符。
但是接下来该怎么办?在每一步运行 Sift 时,我是否必须制作对象的蒙版并通过边界框运行它?找不到任何关于如何做到这一点的教程。
希望可以有人帮帮我!
迎接麦克斯
编辑:我想识别每张卡片,所以我可以说:它是一个心 7 左右。
opencv - 在实际项目开发之前,用于特征检测(SIFT 等)原型的 OpenCV 的 GUI 版本?
我有一个想法,我需要能够从渲染的 3D 数字电影中识别某些对象或模型。
经过有限的研究,我现在知道我需要的是计算机视觉领域的特征检测。
所以,我想做的是:
- 创建电影中某个角色的一些屏幕截图(例如,前/后/左/右)
- 播放电影
- 在播放电影时,不断创建电影的新截图
- 对于每个屏幕截图,执行特征检测(SIFT?,使用 openCV?)以查看是否存在我们的任何角色外观(如果角色距离较远并因此显得更小,或者角色是否在撒谎,则它们仍然必须被识别下)。
- 发现角色时发出通知
这可以通过 OpenCV 实现,对吧?
“问题”是我必须学习 c++ 或 python 来开发这个应用程序。如果我的电影和屏幕截图适用于我想做的事情,这不是问题。
所以,我想先测试一下我的电影截图。是否有一个 GUI 版本的 OpenCV,我可以输入我的测试数据,然后手动执行它的特征检测算法作为原型设计的一种手段?
任何反馈表示赞赏。谢谢。
sift - Matching with SIFT (Conceptual)
I have two images of real world. (IMPORTANT)I approximately know transformation of one real world to another. Due to texture problem I don't get enough matches between two images. How can I bring transformation information into account to get more and correct matches by using SIFt. Any idea will be helpful.