我想使用计算机视觉来做以下事情:
一台摄像机安装在建筑物外,捕捉下面街道的视频流。摄像头安装在街道上方约5-6米处。
每当相机捕捉到戴着某种帽子(白色、圆形)的人时,就会触发一个事件。
我应该研究哪种算法来实现这种行为?
这是通过用样本数据训练算法来实现的最好方法,还是有其他方法告诉它寻找这种类型的帽子?
另外,如何使用多帧视频来提高检测质量?
编辑:添加了帽子的图片
发布于 2013-03-06 00:46:10
在我们做所有的评论之前,我将在这里开始回答。
您发布的第一个link描述了一个简单的基于颜色的检测。你可以尝试这样做,但如果图像中有其他类似颜色的像素簇,它将失败。您将其与跟踪相结合的想法很好:识别群集,在多个图像上构建轨迹,并且只接受合理的轨迹作为命中。要实现健壮的跟踪,您可能需要查看Kalman filtering。你最有可能遇到的一个问题是,“白色”帽子在你的相机提供的图像中很难是“白色”的。
你提到的第二个link -基于Haar-like特征的boosted分类器-用于检测更复杂的对象。它可能不会帮你找到白色的斑点。投入您的时间和精力来学习跟踪。
我很高兴在这里重申:“解决计算机视觉问题”不同于“对数组进行排序”。OpenCV不是C++标准库。您可以在不了解红黑树的情况下使用std::map
。但是,如果没有大量的数学和theory知识,你就不能使用Vision API。工作解决方案计算机视觉通常会针对特定的问题场景进行大量调整。很抱歉,如果这听起来很学究,但它解释了为什么你的问题被击败。
https://stackoverflow.com/questions/15204391
复制相似问题