Github 项目 - OpenPose 模型与Demos

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

OpenPose - Quick Start

不包括 3D Reconstruction 部分

1. 模型下载

2. Demos

[1] - Video

# Ubuntu
./build/examples/openpose/openpose.bin --video examples/media/video.avi

# With face and hands
./build/examples/openpose/openpose.bin --video examples/media/video.avi --face --hand

[2] - Wecam

# Ubuntu
./build/examples/openpose/openpose.bin

# With face and hands
./build/examples/openpose/openpose.bin --face --hand

[3] - Images

# Ubuntu
./build/examples/openpose/openpose.bin --image_dir examples/media/

# With face and hands
./build/examples/openpose/openpose.bin --image_dir examples/media/ --face --hand

3. 最大精度配置

# 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] - 牺牲精度,最大实时运行速度:

# Using OpenPose 1 frame, tracking the following e.g., 5 frames
./build/examples/openpose/openpose.bin --tracking 5 --number_people_max 1

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

 # Using OpenPose 1 frame and tracking another frame
./build/examples/openpose/openpose.bin --tracking 1 --number_people_max 1

[3] - 视觉平滑 Visual Smoothness:

# 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 参数,得到如下结果:

Last modification:May 5th, 2019 at 09:28 pm

Leave a Comment