问题标签 [keypoint]
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++ - Why Sift Feature Detector cannot detect key points for some images?
I am reading images from a set and extracting their features. However, for some images(very few, around 4 per mille), SiftFeatureDetector::detect( image, keypoints)
cannot detect key points and returns me an empty set of key points. When I tried with SurfFeatureDetector::detect( image, keypoints)
, it detects the key points.
Here is the code:
What is the reason behind this? Can someone explain please?
Thanks.
EDIT: Surf also cannot detect some key points , around 2 per mille.
image-processing - 从连续图像重建关键点
我有一些连续的图像,并且提取了每个图像的关键点。
如果这些图像都有 8 个相同的关键点,是否有任何算法来构建这 8 个
关键点的世界坐标?
我在谷歌上搜索过欧几里得重建可能可以做到这一点,对吗?
谢谢您的帮助!
python - Python,cv2,提供自己的Keypoints
我有两张图片要比较。为此,我正在使用 orb.detect 和 orb.compute。
我的问题是我想提供某些关键点,但我无法找到一种方法来做到这一点。
我试过这样的事情:
为两张图片分配特定的位置、角度、data_id 等。但是,我收到一条错误消息:
那么有人知道我如何创建自己的关键点而不是让 orb.detect 创建自己的关键点吗?
提前致谢!
windows - ucrtbase.dll:一个无效的参数被传递给一个认为无效参数致命的函数
我目前正在使用 OpenCV 进行个人项目,并且在执行程序期间遇到了一些问题。在实现了一个 AKAZE + BOW 识别器(它似乎对我的问题不够好)后,我想尝试一个 SIFT(最终是 SURF)实现。
对于我的项目,我正在关注在github上找到的这个项目,并且我在 Windows 10 上使用 VS2015(社区)和 OpenCV 2.4.13。
正如标题中所述,我遇到的问题在于 ucrtbase.dll 在执行期间获得了无效参数(如果我正确读取其他线程,则 dll 应该是 Windows 10 中的操作系统库)。当 for cicle 进入第二次迭代时(也就是当它应该为 BOW 训练获取另一个图像的特征时)出现问题,此时执行停止并且标题中出现错误。
我尝试了各种方法(例如,对检测器/提取器使用不同的构造函数或注释部分代码),在调试会话期间,错误似乎是由检测函数引起的,但我不确定为什么(也,如所述在下面的代码中,注释检测功能及其后的功能解决了问题)。
drawKeypoints 函数(在另一个测试中使用)似乎正确地绘制了关键点(这应该意味着检测函数工作正常)。
您可以在下面找到给出错误的代码段:
告诉我您是否需要了解其他任何信息才能理解该问题。
提前感谢您可以给我的任何帮助/建议。
编辑1:
我尝试删除所有 cicles 并且程序设法正确执行所有功能,但是从 main 返回时它仍然给出 ucrtbase.dll 错误。我在 VS 调试期间注意到的另一件事是,调试器在必须释放内存(使用该 dll)时生成异常,无论是在 for cicles 期间还是在程序结束时。
我猜这里的调试器有解决方案,但我真的不明白那个dll有什么问题,如果有人有空的话,任何帮助都会非常感激。
编辑2:
经过几天的测试,错误似乎来自于以下内容的重新分配:
std::vector< cv::KeyPoint >
如果 KeyPoint 向量被实例化并且仅在程序结束时被销毁,则计算工作正常并且最后会出现 dll 错误(这很烦人,但对于我可以应付的快速测试)。
问题是我想创建利用这些向量的函数,而不必将它们作为参数传递。由于释放似乎是问题所在,因此在每次调用所述函数后,如果程序不崩溃,我就无法做到这一点。我也尝试在向量上使用 clear() 和 swap() ,但这也不起作用。
当我继续编码时,我会继续尝试解决这个问题,但任何帮助/见解将不胜感激。
image-processing - 图像分析:sift / harris / affine / RANSAC
我不确定这是否属于适当问题的标准,但我仍然想试一试。
我正在寻找一个库或函数,它以 [number_of_keypoints][feature_0...feature_127] 的文件(或矩阵)的形式采用两个 SIFT 描述符 - 这意味着每个文件有 128 个特征并允许比较图像(我正在使用harris-affine alg. 提取它们:http ://www.robots.ox.ac.uk/~vgg/research/affine/det_eval_files/extract_features2.tar.gz )。
我对一种允许我找到相互最近的邻居的方法感兴趣,该方法将接受邻域中的关键点数量和成功率。
例如,假设我有两个带有关键点的文件(由 SIFT 描述符描述)(image_1.sift,image_2.sift)。我希望接受的方法:邻域中的关键点数,匹配率,其中匹配率在伪代码中表示:
该比率是匹配的数量与考虑的关键点数量。例如 FindMutualKeypoints(image_1, image_2, 50, 0.7)
它可以是 c#、java、python 或 matlab 实现。我与定期图像分析没有太多关系,在我开始编写自己的实现之前,我认为可能已经有一个。我在从母语翻译中找到正确的英语术语时遇到问题(看起来术语完全不同),这可能是我找不到它的原因。
python - caffe 中的训练数据增强及其多标签
如何随机裁剪训练图像及其位置标签。
我正在为 caffe 输入预处理图像数据及其标签。我想在线随机裁剪我的训练图像(当 caffe 运行时),我知道 caffe 在随机裁剪层提供了一个随机裁剪参数。问题是我的每个对应图像的标签在图像转换时都是不同的。所以通过这种方式,我必须将我的标签与转换后的图像一起更改。我尝试长时间搜索我的问题,但没有用。然后我意识到也许有两种方法可以解决这些问题:
- 获取随机裁剪图像在原始图像上的偏移量。但我用谷歌搜索了它,没有任何答案。
- 我将在线指定随机偏移量,然后通过特定偏移量裁剪特定偏移量裁剪图像。但是如何在 caffe 训练时生成一个随机数。
- 我知道离线预处理随机裁剪图像及其标签可能是一种可行的方法。但是,它会占用相当大的磁盘空间,因为我的训练数据集太大了。
我的位置对应标签:
我将每个训练图像分割为10x10=100
网格。标签是图像中特定关键点的网格索引。例如,当我的头部关键点位于<2th row, 1th col>
图像网格的位置时,标签将为 11。
c++ - OpenCV FAST TYPE_5_8
我正在试验不同类型的 OpenCV 的 FAST 检测器。
可用类型有:
最后一个是默认设置,由这张照片描述:
我假设TYPE_7_12
意味着以下内容:
这TYPE_5_8
意味着:
现在,我使用阈值 30 运行 FAST 检测器,TYPE_5_8
并且以下图像部分不会产生单个关键点:
根据文档说:
现在像素 p 是一个角,如果在圆中存在一组 n 个连续像素(16 个像素),它们都比 I_p + t 亮,或者都比 I_p - t 暗
,我预计中心像素(值为 203 的像素)将被检测为关键点。显然有 5 个连续像素的强度低于 203 - 30。
然而什么也没检测到。为什么?
geometry - 如何检测位于地平面上的关键点?
我有两个来自同一视频序列的图像。我在它们上找到了对应的关键点,如下所示
我的目标是检测与图像 1 和图像 2 中的地平面相关的单应性(无需校准相机)。
所以我目前的问题是:我怎么知道哪些点在地平面上?或如何检测位于地平面上的对应点?
先感谢您!
image-processing - 计算机视觉中的特征和关键点有什么区别?
我正在研究一些关于 OpenCV 对象检测的可能性,这让我很困惑。我只是看不出这两者之间的区别。
artoolkit - ARToolkit(版本 5)使用哪个关键点检测器?
在他们的博客文章中,他们提到他们使用 FREAK 描述符,但他们没有提到他们使用哪个检测器来识别关键点。有人知道吗???