我想使用计算机视觉来执行以下操作:
一台摄像机安装在建筑物外,捕捉下方街道的视频流。摄像机安装在街道上方约 5-6 米处。
每当相机捕捉到一个戴着某种帽子(白色,圆形)的人时,就应该触发一个事件。
我应该研究哪种算法来实现这种行为?
这最好通过使用样本数据训练算法来实现,还是有另一种方法告诉它寻找这种类型的帽子?
另外,如何使用多帧视频来提高检测质量?
编辑:添加了帽子的图片
我想使用计算机视觉来执行以下操作:
一台摄像机安装在建筑物外,捕捉下方街道的视频流。摄像机安装在街道上方约 5-6 米处。
每当相机捕捉到一个戴着某种帽子(白色,圆形)的人时,就应该触发一个事件。
我应该研究哪种算法来实现这种行为?
这最好通过使用样本数据训练算法来实现,还是有另一种方法告诉它寻找这种类型的帽子?
另外,如何使用多帧视频来提高检测质量?
编辑:添加了帽子的图片
在我们在评论中做所有事情之前,我将在这里开始回答。
您发布的第一个链接描述了一个简单的基于颜色的检测。你可以试试,但如果图像中有其他类似颜色的像素簇,它会失败。您将其与跟踪相结合的想法很好:识别集群,在多张图像上构建轨迹,并且只接受合理的轨迹作为命中。对于稳健的跟踪,您可能需要研究卡尔曼滤波。您最有可能遇到的一个问题是,在您的相机拍摄的图像中,“白色”帽子几乎不会是“白色”的。
您提到的第二个链接- 基于 Haar 类特征的增强分类器 - 用于检测更复杂的对象。它可能无法帮助您找到白色斑点。投入时间和精力学习跟踪。
我很高兴在这里重复我自己:“解决计算机视觉问题”不像“排序数组”。OpenCV 不是 C++ 标准库。您可以在std::map
不了解红黑树的情况下使用 an 。但是(恕我直言)您不能在不了解大量数学和理论的情况下使用 Vision API 。工作解决方案计算机视觉通常针对特定的问题场景进行大量调整。对不起,如果这听起来很迂腐,但它解释了为什么你的问题被打败了。