问题标签 [object-recognition]

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.

0 投票
1 回答
329 浏览

web-scraping - 用于视觉浏览界面的开源对象识别库

是否有适合在浏览器仿真中使用的图像分析或对象识别库?例如:用户登录自动化、填写表格、从表格中提取数据等。

我知道,出于浏览器仿真的目的,HTML 解析器比图像分析算法更常用。但是,我想在经常更改其 html 代码和外观的网站上自动执行任务。我想构建一个“智能”爬虫,可以结合传统的浏览器仿真技术来识别这些视觉浏览器元素。

为此目的是否有任何现有的图书馆?适合GUI屏幕截图的那些?(非摄影图像),例如按钮、表格、复选框和文本?

0 投票
0 回答
1502 浏览

opencv - OpenCV - 使用固定相机、已知背景和只有 1 个人检测身体部位

我想对我拥有的一些视频进行身体部位的识别和定位。在这种特殊情况下,我知道以下内容:

  • 相机是完全固定的,因此可以减去背景来识别帧之间的变化。

  • 背景是已知的。我有一个空白的起始背景图像,没有人用作参考。

  • ROI 中只有 1 个人。

人类可以采取许多不同的立场——实际上,他们是在与背景玩一场龙卷风游戏。他们可能不会将整个身体都放在镜头中。我感兴趣的基本上是围绕自由运动的不同点绘制多达 10 个不同的旋转矩形。我认为通过使用越来越多的矩形进行迭代 minRectArea 可能是可能的,但我不知道该怎么做。

这是一个姿势可能看起来的示例,带有空白背景以供参考,并概述了我要提出的内容:

空白背景图片

示例姿势

姿势的手标记版本

0 投票
1 回答
4624 浏览

image-processing - 如何使用 DAISY 特征提取器计算特征?

我想知道是否有人使用 DAISY 功能来解决对象识别问题?

DAISY (MATLAB one) 的链接是:http ://cvlab.epfl.ch/software/daisy

我的问题是如何使用这个软件(MATLAB)来获取关键点及其描述符?我可以找到描述符(在dzy.descs中),但是我找不到关键点。

我想尝试一下这种用于对象识别的技术,因为它被认为计算速度很快并且产生更好的结果。

非常感谢。

0 投票
1 回答
4896 浏览

opencv - 具有 SIFT 特征的对象识别

我正在研究 3 种对象的简单对象识别,即:1.书 2.杯子 3.球

我有每个样本的 50 个训练图像和每个样本的 20 个测试图像。我所有的处理和分类都执行得很好,这没有问题。

但我的问题是项目的最后一部分,我应该在测试图像中检测到的对象周围画一个矩形框。到目前为止,我检查了我的分类,它适用于贝叶斯分类。我的问题是,我有 50 个测试图像,我如何从 50 个样本中选择最佳匹配,以便能够在没有对象遮挡或可能包围更大区域的情况下绘制边界框。 http://docs.opencv.org/doc/tutorials/features2d/feature_detection/feature_detection.html 该链接显示了使用冲浪的一对一对象匹配,我在工作中尝试使用类似的算法,我计算了所有相同类型的关键点样本并执行匹配。但问题是我不知道选择哪个图像才能进行匹配。

如果您能给我一些提示,那将非常有帮助,谢谢

0 投票
1 回答
437 浏览

opencv - 在不使用关键点的情况下定位移动的对象

我正在尝试在不完全恒定的背景上确定对象的移动和旋转(可以是纯色的,但不一定是)。这是一个例子:

图像1 图2

使用教程中的关键点来查找转换不起作用,因为我正在处理的对象不一定为此提供足够的边缘。由于背景的变化,构建差异图像并在那里进行分割也经常失败。在此示例中,它并没有那么糟糕,但可能会发生反射变化或轻微变形。

差异图像

关于如何找到将对象(在本例中为蓝色的东西)从一个图像映射到另一个图像的变换矩阵(仿射,只有四个自由度)的任何想法?

0 投票
3 回答
14419 浏览

algorithm - Match 3D point cloud to CAD model

I have a point cloud of an object, obtained with a laser scanner, and a CAD surface model of that object.

How can I match the point cloud to the surface, to obtain the translation and rotation between cloud and model?

I suppose I could sample the surface and try the Iterative Closest Point (ICP) algorithm to match the resulting sampled point cloud to the scanner point cloud.

Would that actually work?

And are there better algorithms for this task?

0 投票
0 回答
1818 浏览

c++ - Opencv - 可以使用 Fisherfaces 或 Eigenfaces 来识别非人脸对象吗?

我一直在尝试使用 Fisherfaces 算法作为模型进行人脸识别,并想看看是否可以将其应用于非人脸对象。我看到我的应用程序工作如下:

  1. 创建对象的一组图像(垫子)并将它们保存到具有对象身份的共同响应索引的目录中。
  2. 将目录内容加载为 Mats,将其排序为数组并将其传递给模型进行训练。
  3. 从模型中获取特征向量和平均垫并用它重建对象。
  4. 比较重建对象与原始对象的相似性并预测身份。

这是我将用于培训的代码(第 2 步):

用于识别(步骤 3):

对于预测(第 4 步):

我在尝试这个时遇到了一些错误 - 我认为这与我没有训练大量数据的事实有关,但是我的问题是这对于不是人脸的对象是否可靠,或者人脸识别算法是否可靠仅适用于面部,opencv 中是否有不同的算法可用于识别非面部对象。

这是我遇到的错误的链接。 http://lab.onetwoclick.com/stuff/stackoverflow/opencv_Fisherfaces_Eigenfaces.jpg

0 投票
1 回答
317 浏览

matlab - 在 MATLAB 中累积选票

首先,我的问题的一些背景:

我正在使用几何散列技术构建对象识别系统。我的哈希表由模型中点的仿射坐标索引,该模型由基三元组确定(允许任何学习对象的仿射不变表示)。每个哈希表条目都是一个结构:

现在,从图像点中提取任意基三元组,然后相对于该基计算所有其他点的仿射坐标并用作哈希表的索引。对于此哈希箱中存在的每个条目,都会对模型名称和基础三元组进行投票。在检查所有点之后,将具有足够高票数的模型及其对应的基三元组作为对象的候选者,并执行进一步的验证步骤。


但是,我不确定投这些票的最有效方法是什么。目前我正在使用一个动态单元格数组,每次投票给一个新模型和基础三元组对时,都会在数组中添加一个额外的行。否则,现有候选人的投票计数会增加。

有一个单独的 3D 数组 (v_basisTriplets),其中 2D 基数组被连接起来并沿第 3 维索引。我确实在单元阵列中也有这些基本三元组,但是我很难在这个单元阵列中搜索二维阵列。myIsEqual 函数只是搜索第三维并检查每个索引处的二维数组是否相等,返回一个数组相等的一维向量以用于查找。

这肯定不是最有效的方法。我立即可以看到,预先初始化数组以存储投票会更有效。但是,一般来说有没有更好的方法来解决这个问题?我需要尝试找到最有效和最优雅的投票方式,因为通常需要检查数百个点,而且时间很宝贵。

谢谢

0 投票
1 回答
685 浏览

matlab - 我想用 vlfeat 来识别一个类

我正在尝试仅将 vlfeat (matlab) 示例 caltech101 用于一个类,但它似乎不起作用。如果我只向 svm 培训师提供一门课程,结果是 50/50。我应该考虑其他一些事情,还是 vlfeat 中没有实现一类 svm 目标函数并且它不起作用?

0 投票
2 回答
1247 浏览

c# - 从 Kinect 获取最大和最小深度

我的 Kinect 将安装在天花板上,向下直视地面(应该与地面平行)。对于物体识别,我想获得到地面的距离(maxDistance)和到物体的距离(minDistance)。我编写了一个循环,将每个像素的所有距离值添加到列表中,然后尝试获取该列表的最大 int 和最小值。

不幸的是,zMIN 和 zMAX 的结果(我正在写一个文本框来检查它)总是相同的——这绝对是错误的。

问题:我做错了什么?:)