对象检测本身就是一项非常棘手的工作。在确定最佳方法之前,您必须了解您的对象是什么,是否平滑、灵活、是否有很多颜色对比、快速移动以及很多其他问题。
此外,这取决于您是只想检测一个物体,还是想在它在相机前的移动过程中对其进行跟踪。
我将在这里仅命名几个方法,因为我没有时间详细说明。知道名称后,您可能会在 Google 上找到很多文档,但请注意,如果您必须自己实现它们,则可能需要一些数学技能。因此,这通常涉及:
- 在有趣的点计算描述符。查看 Google 上的SIFT或HoG(梯度直方图)描述符,这些是最常用的描述符。
- 建立某种识别结构,这同样可以根据您的对象和描述符而发生很大变化。流行的方法包括神经网络、支持向量机。对于移动对象,您通常可以在组合中添加与图形相关的技术,例如Graph Cuts。
同样,根据对象,这些甚至可能不是正确的方法。
据我所知,在 JavaScript 中可用的软件非常少,但如果你确实找到了一些东西,我会很高兴知道。同样,这里有一些指示:
- 您的人脸检测示例使用了一种非常流行的方法,称为级联分类器,它在更流行的库 OpenCV 中可用,并且被大多数人认为是人脸检测的首选方法。
- 如果您可以考虑将部分处理移至服务器,则可以使用具有大量可用算法的OpenCV 。
我希望我能帮助你开始一点点;)