http://cvlab.epfl.ch/software/pom
为了利用这个方便的软件,需要:
>背景删除程序后,来自多台摄像机的一系列同步视频帧.
>特定方案的配置文件.
POM附有一组视频帧和相关配置文件.
我的问题可以说如下:
给定一系列同步视频(例如从http://cvlab.epfl.ch/data/pom),如何生成POM所需的配置文件?特别是我对配置的RECTANGLE标签感兴趣.自述指出:
RECTANGLE [camera number] [location number] notvisible|[xmin] [ymin] [xmax] [ymax]
Defines the parameters of a certain rectangle,standing for an
individual at a certain location viewed from a certain camera. All
non-specified rectangles are “not visible” by default.
从我的理解,它定义了一个人的边界矩形如何看起来像从某个相机看的某个位置.必须为每个摄像机的每个(网格)位置定义这个位置(给定位置在摄像机的视场中 – 如果不是,不可见或矩形可能未定义).
用手做这个并不是不可能的,但肯定是不切实际的.所以,总结一下:如果我有一套来自多台摄影机的视频,我该如何生成POM配置文件?
解决方法
在其数据集的校准数据中,可以看到它们利用每个摄像机的两个同位素,头平面单应性和地平面单应性.您可以使用它来快速获取所需的矩形.
头平面单应性是一个3×3矩阵,描述了从一个平面到另一个平面的映射.在这种情况下,它描述从2D房间坐标(头部水平)到2D图像坐标的映射.您可以在opencv中使用findHomography功能确定您自己的相机的单一肖像.所有你需要做的是测量房间里地面上四点的坐标,并在这些标记上站立一个直立的杆.杆应该是你想跟踪的一般人的长度.您现在可以编写一个小程序,您可以在每个摄像机视图中单击杆的顶部.你现在有四个世界点(在房间中测量的坐标)和每个摄像机的四个图像点(点击的点).使用findHomography可以确定单倍性.对于没有极点的地面上的标记做同样的处理,并且每个摄像机都有两个同画.
您现在可以使用同型物将位于房间任何位置的矩形的8个角点投影到每个摄像机的图像坐标上.拿走所有8分的边框,你有这个房间位置的矩形和那个相机.
该方法的作者使用人体剪影,这表明他们的方法可能比使用长方体更准确.然而,没有像移动的人的轮廓那样的东西,所以用长方体的解决方案可能是完全可行的.