使用OpenCV跟踪物体的多摄像机校准

问题描述:

我有一些问题让更多有经验的OpenCV用户关于制作多摄像机跟踪程序。因此,为了快速提出一个问题,我想用多台摄像机跟踪多个对象。我想达到的结果或多或少是这样的: https://www.youtube.com/watch?v=7Dy9co0mWY0使用OpenCV跟踪物体的多摄像机校准

最终我得出结论,我想用卡尔曼滤波器进行跟踪。我想问的问题是:

  1. 有没有办法来校准基础上,像那些在视频链接视频数据集多个摄像头?它能以某种方式自动完成吗?我知道你可以使用棋盘来校准摄像机(http://docs.opencv.org/3.3.0/dc/d43/tutorial_camera_calibration_square_chess.html),但事实并非如此,因为你没有在视频中使用它。也有这样的:http://docs.opencv.org/master/d2/d1c/tutorial_multi_camera_main.html,但我想它有同样的劣势。
  2. 什么是最有效的跟踪方式?我应该为每个视图使用卡尔曼滤波器,并尝试合并单个结果或以某种方式尝试重建3d中的对象,然后应用滤波器?

任何建议将受到欢迎。谢谢。

我目前正在使用排球比赛中使用的自动裁判系统(类似网球中的hawkeye系统),并且我在里面实施了球追踪。因此,我可以给你一些建议:

  1. 尝试,以确定照相机姿势(solvePnP可能是很好的开始时)
  2. 检测标定摄像机内参数与OpenCV的
  3. 使用特征点在场景每个摄像机的对象不应用任何过滤,逼近和插值 - 它会降低你的测量精度各点的
  4. Reconstuct三维坐标(同时使用摄像头固有的校准和姿态计算)
  5. 将结果应用于你的结果。

如果您希望达到良好的效果,使用此跟踪可获得计量结果,这可能非常困难。但它不会用于您张贴的视频中显示的简单可视化。