lilyth-zhang / foot-head_mapping

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

项目在Pytho 3.6.8版本, ubantu下运行。

多摄像头人头/脚跟踪映射

项目总体介绍

店铺内往往不止一个摄像头,多摄像头的布置有利于多角度监控店内客流情况,但这为实时在店人数的统计带来不便,因为摄像头覆盖的区域往往有所重叠,而且重叠区域可能由于货架遮挡而存在人数不匹配的情况,如何统计重叠区域的人数成为一个问题。本项目通过计算透视变换矩阵,将摄像头1画面中的人头/人脚坐标映射到摄像头2,通过计算映射点和摄像头2实际点的距离,可以知道哪些点是位于重合区域的点,从而便于后续的人头统计工作。

项目前提条件

  • 需要安装的库见 ./requirements.txt
  • 对人头进行映射,全局变量设置见 ./config_head.py
  • 对人脚进行映射,全局变量设置见 ./config_foot.py

模块功能

  • find_matrix.py 根据预先选定的摄像头1的标定点和摄像头2的匹配点坐标,计算透视变换矩阵
  • point_mapping.py 根据透视变换矩阵,将摄像头1的人头/人脚坐标映射到摄像头2的画面中,并生成包含映射点的视频。

使用方法

  • example.py 支持两种模式(人头映射/人脚映射),可以通过导入不同的全局变量设置来进行选择。
  • 值得注意的是,对于人头的映射仅限于./assets_head/area_1.jpg./assets_head/area_2.jpg标出来的多边形的范围,该区域是两个摄像头均可见的重叠范围。

改进方法

  • 可以选取更多合适的标定点和匹配点来训练透视变换矩阵,只需要将相应的xml文件放入对应的文件路径即可。

About


Languages

Language:Python 100.0%