我正在使用 OpenCV Haar 级联分类器创建一个静态手势识别系统。我最终想把这个识别系统变成立体识别系统。这是我的问题,我可以采用 Haar Cascade Classifier 创建的 2D 识别系统并在两个相机上实现它,以便在使用 OpenCV 中包含的立体校准功能后创建视差图吗?或者,我是否必须用我已经校准的立体系统拍照来创建级联分类器?
很难找到关于这个主题的好信息,我想计划我的项目并确保在购买和创建所有东西之前我做的是正确的事情。
谢谢。
我正在使用 OpenCV Haar 级联分类器创建一个静态手势识别系统。我最终想把这个识别系统变成立体识别系统。这是我的问题,我可以采用 Haar Cascade Classifier 创建的 2D 识别系统并在两个相机上实现它,以便在使用 OpenCV 中包含的立体校准功能后创建视差图吗?或者,我是否必须用我已经校准的立体系统拍照来创建级联分类器?
很难找到关于这个主题的好信息,我想计划我的项目并确保在购买和创建所有东西之前我做的是正确的事情。
谢谢。
首先,您应该澄清您要完成的工作。
您是否需要检测一个对象,然后在 3D 世界坐标中定位它?或者您是否需要 3D 信息才能首先检测对象?
在前一种情况下,有几种方法可以走。一种是校准立体相机系统,检测两个相机中的物体,然后通过三角测量找到它的 3D 位置。例如,您可能想要对对象的质心进行三角剖分。这种方法的问题是级联对象检测器的 2D 定位可能不够精确,无法获得可靠的 3D 点。
另一种方法是校准您的相机,然后校正图像以使它们看起来好像相机是平行的并且行对齐的。现在,您可以计算整个图像的视差图并获得任何像素的相应 3D 位置(理论上),而不是对特定点进行三角测量。现在您可以在相机 1 中检测到您感兴趣的对象,然后使用视差图找到对象上任意点的 3D 位置。
另一方面,如果您想使用 3D 信息来改进检测,则必须阅读一些最近的研究。例如,这是一篇关于使用 RGB-D 传感器进行人员检测的论文。该论文讨论了 HOD(定向深度直方图)描述符,而不是 HOG 描述符。这是相关的原因是,如果您校准您的相机并校正您的图像,您可以获得与从 Kinect 等 RGB-D 传感器获得的相同类型的深度图。