Github 项目 - OpenPose 模型与Demos

2019-02-18 14:37:17 浏览数 (1)

原文:Github 项目 - OpenPose 模型与Demos - AIUAI

OpenPose 提供了基于Body,Hand,Facial 等关键点估计的模型,及相应的在 Videos,Wecam,Images 等测试数据的 Demos.

OpenPose - Quick Start 不包括 3D Reconstruction 部分

1. 模型下载

  • BODY_25 - pose_iter_584000.caffemodel
  • COCO - pose_iter_440000.caffemodel
  • MPI - pose_iter_160000.caffemodel
  • Face - pose_iter_116000.caffemodel
  • Hand - pose_iter_102000.caffemodel

2. Demos

[1] - Video

代码语言:javascript复制
# Ubuntu
./build/examples/openpose/openpose.bin --video examples/media/video.avi

[2] - Wecam

代码语言:javascript复制
# Ubuntu
./build/examples/openpose/openpose.bin

[3] - Images

代码语言:javascript复制
# Ubuntu
./build/examples/openpose/openpose.bin --image_dir examples/media/

3. 最大精度配置

代码语言:javascript复制
# Ubuntu: Body
./build/examples/openpose/openpose.bin --net_resolution "1312x736" 
									   --scale_number 4 
									   --scale_gap 0.25
# Ubuntu: Body   Hand   Face
./build/examples/openpose/openpose.bin --net_resolution "1312x736" 
									   --scale_number 4 
									   --scale_gap 0.25 
									   --hand 
									   --hand_scale_number 6 
									   --hand_scale_range 0.4 
									   --face

以上命令行运行结果能够得到 Body,Hand,Face 关键点估计的最高精度.

但,其需要大约 10.5 GB GPU 显存(COCO 模型需要 6.7 GB),对于 Body-Foot 模型,Titan X 能够在大约 2 FPS 运行(COCO 模型大约为 1 FPS).

注[1] - 增加 --net_resolution 尺寸,虽然精度增加,但会导致帧速率(frame rate) 明显减少,延迟性增加. 然而,这种增加精度的方法不是对于所有场景都是一定可行的,需要特定场景特定分析. 如,对于图像中非常小的人体,其比较有效,但对于图像中人体所占比例比较大的场景,其效果一般较差. 因此,OpenPose 推荐采用以上命令行来获得在大部分场景获得最大精度,同时包括大的人体和小的人体的场景.

注[2] - 不要在 MPII 模型使用该命令行配置. 其精度会因多尺度(multi-scale) 设置而降低. 该配置仅适用于 COCO 和COCO-extended(如默认的 BODY_25) 模型.

4. 人体追踪Tracking

[1] - 牺牲精度,最大实时运行速度:

代码语言:javascript复制
# Using OpenPose 1 frame, tracking the following e.g., 5 frames
./build/examples/openpose/openpose.bin --tracking 5 --number_people_max 1

[2] - 保持较高精度,实时运行速度:

代码语言:javascript复制
 # Using OpenPose 1 frame and tracking another frame
./build/examples/openpose/openpose.bin --tracking 1 --number_people_max 1

[3] - 视觉平滑 Visual Smoothness:

代码语言:javascript复制
# Running both OpenPose and tracking on each frame. 
# Note: There is no speed up/slow down
./build/examples/openpose/openpose.bin --tracking 0 --number_people_max 1

5. 可视化结果

如果需要可视化某个 Body 部分,或 PAF(Part Affinity Field) Heatmap,可以采用 --part_to_show 参数,得到如下结果:

0 人点赞