OpenPose:实时多人2D姿态估计系统
OpenPose是一个开创性的实时多人姿态估计系统,由卡内基梅隆大学感知计算实验室开发。它是第一个能够在单张图像上同时检测人体、手部、面部和脚部关键点的实时多人系统,总共可以检测135个关键点。
主要特点
-
实时多人2D关键点检测:
- 可以检测15、18或25个身体/脚部关键点,包括6个脚部关键点。检测速度与人数无关。
- 可以检测每只手21个关键点。检测速度与人数相关。
- 可以检测70个面部关键点。检测速度与人数相关。
-
3D单人关键点检测:
- 支持多视角三角测量
- 兼容Flir/Point Grey相机
-
相机标定工具箱:用于估计相机的失真、内参和外参
-
单人跟踪:可用于提高速度或视觉平滑度
输入输出
OpenPose支持多种输入源,包括图像、视频、网络摄像头、Flir/Point Grey相机、IP摄像头等。用户还可以添加自定义输入源。
输出方面,OpenPose可以显示和保存基本图像和关键点(PNG、JPG、AVI等格式),保存关键点数据(JSON、XML、YML等格式),以及将关键点作为数组类输出。用户也可以添加自定义输出代码。
系统兼容性
OpenPose支持多种操作系统,包括Ubuntu(20、18、16、14)、Windows(10、8)、Mac OSX和Nvidia TX2。
在硬件方面,OpenPose提供CUDA(Nvidia GPU)、OpenCL(AMD GPU)和仅CPU版本,以适应不同的硬件环境。
使用方式
OpenPose提供两种主要的使用方式:
- 命令行演示:用于内置功能
- C++和Python API:用于自定义功能,如添加自定义输入、预处理、后处理和输出步骤
安装和快速开始
用户可以下载Windows便携版直接使用,也可以从源代码编译安装。安装后,只需简单的命令行即可运行OpenPose,例如:
./build/examples/openpose/openpose.bin
用户还可以添加各种参数来控制OpenPose的行为,如选择输入视频、启用面部和手部检测、设置输出格式等。
开源与社区
OpenPose是一个开源项目,欢迎社区贡献。研究人员可以自由使用OpenPose进行非商业研究,并在发表相关研究成果时引用OpenPose的论文。
OpenPose的成功离不开CMU Panoptic Studio数据集的支持,以及众多贡献者的努力。项目维护者欢迎用户反馈,包括报告错误、提供改进建议,或分享基于OpenPose的有趣项目。
总的来说,OpenPose是一个功能强大、灵活性高的实时人体姿态估计系统,为计算机视觉研究和应用提供了重要工具。