JavaScript中的摄像机目标检测

JavaScript中的摄像机目标检测,javascript,html,Javascript,Html,假设用户拥有像Chrome这样的现代浏览器,并启用必要的HTML5摄像头设置(以便getUserMedia工作),那么如何使用JavaScript检测网络摄像头中显示的特定预定义对象 例如,有一个很好用的演示,我看到了另一个演示(这里不太好用,我可能做错了什么)。训练相机检测(开发人员)选择的给定其他对象的必要步骤是什么?比如说,我想让摄像头识别红色笔的位置;或者可能是视野中最黑暗的物体;或者可能是一部黑色的iPhone对着相机挥手等等 谢谢 目标检测本身就是一项非常棘手的工作。在确定最佳方法之

假设用户拥有像Chrome这样的现代浏览器,并启用必要的HTML5摄像头设置(以便
getUserMedia
工作),那么如何使用JavaScript检测网络摄像头中显示的特定预定义对象

例如,有一个很好用的演示,我看到了另一个演示(这里不太好用,我可能做错了什么)。训练相机检测(开发人员)选择的给定其他对象的必要步骤是什么?比如说,我想让摄像头识别红色笔的位置;或者可能是视野中最黑暗的物体;或者可能是一部黑色的iPhone对着相机挥手等等


谢谢

目标检测本身就是一项非常棘手的工作。在确定最佳方法之前,你必须知道你的物体是什么,它是否平滑、灵活、颜色对比度大、移动速度快,以及许多其他问题

此外,这取决于您是只想检测对象,还是想在其在摄像机前移动时跟踪对象

这里我只列举几个方法,因为我没有时间详细阐述。一旦你知道了这些名字,你可能会在谷歌上找到很多文档,但是要知道,如果你必须自己实现它们,你可能需要一些数学技能。因此,这通常涉及:

  • 在感兴趣的点上计算描述符。看看谷歌上的SIFT或HoG(梯度直方图)描述符,它们是最常用的
  • 建立某种识别结构,根据对象和描述符的不同,识别结构也会发生很大变化。流行的方法包括神经网络、支持向量机。对于移动对象,通常可以将图形相关技术(如图形剪切)添加到混合中
同样,根据对象的不同,这些方法甚至可能不接近正确的方法

据我所知,JavaScript中几乎没有可用于所有这些功能的软件,但如果您真的找到了一些东西,我很乐意知道。同样,这里有几点提示:

  • 您的人脸检测样本正在使用一种非常流行的称为级联分类器的方法,该分类器可在更流行的OpenCV库中找到,并且被大多数人认为是人脸检测的首选方法
  • <> LI>如果可以考虑将处理的一部分移动到服务器,可以使用<强> opencv ,它有大量可用的算法。

我希望我能帮你开始一点;)

除了F.X.的答案之外,一旦你训练了分类器或选择,你可以使用OpenCV端口,例如或进行实际检测。

你编写了大量的软件,这就是你要做的。我分享Pointy的答案,但也提供了一个起点。简言之,它需要大量的软件。我在上面链接到了现有的开源项目,所以我认为有可能这些项目可以通过其他视觉效果进行培训——或者你认为这是不可能的吗?我在上面链接到了现有的开源项目,所以我认为有可能这些项目可以使用,然后通过其他视觉效果进行培训。