ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

OpenPose 版本发布全史:从 1.0.0rc1 到 1.7.1 的关键特性演进、API 变迁与性能优化解读

OpenPose 版本发布全史:从 1.0.0rc1 到 1.7.1 的关键特性演进、API 变迁与性能优化解读 OpenPose 版本发布全史从 1.0.0rc1 到 1.7.1 的关键特性演进、API 变迁与性能优化解读【免费下载链接】openposeOpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation项目地址: https://gitcode.com/gh_mirrors/op/openpose导读本文以 OpenPose 官方发布说明doc/08_release_notes.md为主体系统梳理该项目从 2017 年 4 月首个 RC 版本到 2020 年底 1.7.x 的全部版本演进脉络。你将了解到身体/人脸/手部关键点检测能力是如何逐步加入的BODY_25 模型、3D 重建、相机标定、追踪与识别模块分别在哪个版本落地以及--write_json、--net_resolution、--display等核心命令行参数在历次版本中的命名变迁与语义修正。文章同时结合仓库源码include/openpose/flags.hpp、src/openpose/pose/poseParameters.cpp 等对关键特性做实现级佐证帮助读者把版本历史与当前代码库的接口一一对应起来。一、版本总览与时间线根据发布说明OpenPose 共经历了 3 个候选发布RC版本和 8 个正式版本1.0.0 → 1.7.1其中 1.7.1 为文档撰写时的当前版本。按时间线整理如下版本发布日期标志性内容1.0.0rc12017-04-24首个版本身体关键点检测支持图片目录/视频/摄像头输入1.0.0rc22017-05-10渲染分辨率提升至 32kdemo 由 rtpose 更名 openpose1.0.0rc32017-06-08新增人脸关键点检测Windows 10 兼容1.0.02017-07-08新增手部关键点检测Windows 分支合入 master1.0.12017-07-11Windows 库改为 DLL 动态库便携1.0.22017-09-03OpenCV 3.3 兼容、Caffe 转为 DLL、新增 3D 重建 demo1.1.02017-09-19Ubuntu 下引入 CMake 安装器、IP 摄像头支持前的最后一个 RC 系版本1.2.02017-11-03IP 摄像头支持、多尺度大幅加速、动态--net_resolution1.2.12018-01-09新增--write_json、浮点格式热力图保存1.3.02018-03-24移除 Boost 依赖、3D 重建模块化、--display取代--no_display1.4.02018-09-01发布 BODY_25 模型、相机标定模块、追踪/识别模块雏形1.5.02019-05-16CUDA 大幅加速、单人体追踪器、Unity 绑定、Pybind11 版 Python API1.5.12019-09-033D 三角化精度提升、AppVeyor Windows 自动测试1.6.02020-04-26多相机3D异步模式、Matrix/String 封装隔离三方头文件1.7.02020-11-15CUDA 11.X/cuDNN 8.X、Ubuntu 20.04 兼容、Python API 异步模式1.7.1当前—--net_resolution_dynamic、依赖版本更新、文档重构说明发布说明末尾指出所有历史版本均可从官方 Releases 页面下载本文不引用外部链接读者可直接在仓库 README.md 与 doc/00_index.md 中查看各版本对应的安装与使用方式。二、早期 RC 版本1.0.0rc1 → 1.0.0rc3身体关键点检测与跨平台起步2.1 1.0.0rc1核心功能的首次落地首个版本确立了 OpenPose 的主干功能身体关键点检测与渲染支持 Ubuntu 14 与 16三种输入源图片目录image directory、视频、网络摄像头webcam结果既可实时显示也可保存到磁盘。这三个能力沿用至今对应到当前 include/openpose/flags.hpp 中的--image_dir、--video、--camera三个输入 flag以及--write_images/--write_video/--write_json三个输出 flag。2.2 1.0.0rc2渲染分辨率与命名规范化渲染最大分辨率从 720p 提升到32k 以上这为后续 4K、8K 图像处理奠定了基础demo 可执行文件由rtpose更名为openpose修复了 demo 与部分自定义编译 OpenCV 版本的兼容问题改用exec而非start。2.3 1.0.0rc3人脸检测与 Windows 支持rc3 是早期版本中变化最大的一次新增人脸关键点检测Windows 10 兼容GPU 数量自动检测对应现代版--num_gpu -1的语义见 include/openpose/flags.hppMPI 可视化风格向 COCO 靠拢抛出异常前先打印错误描述便于 Windows cmd 中定位问题。值得关注的是 rc3 开启了一系列参数重命名这些命名贯穿后续所有版本rc3 前rc3 后影响范围--write_pose--write_keypoint同时适用于 face/hands--write_pose_json--write_keypoint_json同时适用于 face/hands--write_pose_format--write_keypoint_format同时适用于 face/handsPoseSaverKeypointSaver保存器类名PoseJsonCocoSaverCocoJsonSaverCOCO JSON 保存器类名其中--write_keypoint_json在后来的 1.2.1 版本又被--write_json取代并在 1.4.0 中被移除而CocoJsonSaver至今仍保留在 src/openpose/filestream/cocoJsonSaver.cpp 中对应 flag 为--write_coco_json。三、正式版 1.0.0 → 1.1.0手部检测、DLL 化与 CMake 安装器3.1 1.0.0手部关键点检测1.0.0 是第一个正式版主要新增手部关键点检测与 1.0.0rc3 的人脸检测一起构成全身关键点能力Windows 分支合并进 master人脸与手部检测改用Maximum而非NMS因为人脸/手部每帧只有 1 个目标多尺度精度提升新增Datum::scaleRatios保存多尺度下的相对尺度比例默认渲染切换为 GPU 渲染CPU 渲染作为可选整体提速约 5%姿态、人脸、手部的渲染阈值均可配置对应现在的--render_threshold、--face_render_threshold、--hand_render_threshold新增--camera_fps控制--write_video输出视频帧率1.5.0 中更名为--write_video_fps默认值也从 30 改为 -1参数解析逻辑从各 demo 抽取到utilities/flagsToOpenPose对应 src/openpose/utilities/flagsToOpenPose.cpp。1.0.0 还确立了一个影响深远的 JSON 输出约定--write_keypoint_json输出中的键名从统一的body_parts改为按部位区分的pose_keypoints、face_keypoints、hand_left_keypoints、hand_right_keypoints。这一结构在 doc/02_output.md 中有完整示例并沿用至今天的--write_json。3.2 1.0.1 与 1.0.2Windows 便携化与 3D 重建 demo1.0.1Windows 库转为DLL 动态库实现跨机器便携分发1.0.2OpenCV 3.3 兼容、Caffe 转为 DLL、OpenPose 在带 Nvidia 显卡的 Windows 10 上完全便携新增3D 重建 demo多视角关键点三角化摄像头索引自动检测floatPtrToUCharCvMat提速约 30%COCO 提取器改为从图片文件名中解析图片 ID格式string_%d使其不仅能用于验证集也能用于测试集头文件 include 从双引号统一改为尖括号。3.3 1.1.0CMake 安装器与精度微调新增Ubuntu 下 CMake 安装器此后 CMake 逐渐取代 Makefile 成为文档默认安装方式1.3.0 起 CMake 成为文档默认增加-Wsign-compare警告并清理代码通过引入耳朵-肩膀连接验证集上 1 尺度 mAP 提升约 0.4。四、1.2.x动态分辨率、IP 摄像头与--write_json的诞生4.1 1.2.0速度与灵活性的双重跃升1.2.0 在性能与输入灵活性上均有重要突破不同宽高比图像处理提速约 3.7k 张 COCO 验证图、1 尺度下提速约 20%多尺度处理大幅提速降内存4 尺度下总耗时从约 770 秒降至约 450 秒约 40%每 GPU 内存从约 8.9 GB 降至约 6.7 GB新增 IP 摄像头支持对应--ip_camera支持 RTSP/HTTP 协议输出分辨率动态化输出图像不再要求固定尺寸--resolution更名为--output_resolutionFrameDisplayer/OpOutputToCvMat 等组件改为从每帧图像自行推断尺寸网络分辨率动态化新增-1选项用于--net_resolution自动选择与输入最匹配的宽高比网络分辨率可在运行中动态改变例如逐帧处理不同尺寸图片新增独立的人脸检测器基于 OpenCV face detector更快的--face_detector 1模式人脸与手部检测器支持返回逐关键点热力图构建系统重构USE_CUDNN不再必需CPU_ONLY更名为USE_CUDA且USE_CAFFE/USE_CUDA仅编译期需要运行期 OpenPose 头文件不再包含 Boost/Caffe 依赖只要求 OpenCV新增--disable_multi_thread以降低延迟适合实时 webcam 场景新增--number_people_max的-1自动选择模式及后续的--number_people_max能力该 flag 在 1.3.0 正式加入。这些动态分辨率能力如今沉淀在 include/openpose/wrapper/wrapper.hpp 与 include/openpose/core/scaleAndSizeExtractor.hpp 等类中。4.2 1.2.1--write_json与热力图浮点格式热力图支持浮点格式保存并新增--heatmaps_scale选项0 表示 [-1,1] 区间、1 表示 [0,1]、2 表示取整到 [0,255]、3 表示不缩放见 include/openpose/flags.hpp新增--write_json作为--write_keypoint_json的新版本额外包含**身体部件候选part candidates**及后续新增的扩展信息如 person IDGPU 数量检测考虑用户指定的起始 GPU 索引修复 4K 图像的渲染问题PoseParameters拆分为PoseParameters与PoseParametersRender常量改为函数形式以增强可读性——这正是当前 include/openpose/pose/poseParameters.hpp 中getPoseDefaultNmsThreshold()、getPoseDefaultConnectInterThreshold()等函数的由来。五、1.3.03D 重建模块化与依赖精简1.3.0 是一个面向模块化与跨平台的分水岭移除 Boost 依赖Caffe 改为 submoduleCMake 安装器兼容 Windows新增 freeglut 下载脚本Windows 3D 重建 demo 用3D 重建从 demo 升级为 OpenPose 正式模块include/openpose/3d/ 目录下的poseTriangulation、jointAngleEstimation等可配合不同相机品牌或自定义图像源使用新增--3d_views配合--image_dir/--video加载立体图像、--3d_min_views3D 重建所需最少相机数3D 重建模块强制number_people_max 1以避免多人场景下的重建歧义Flir 相机参数改为运行时从磁盘读取而非编译期硬编码--write_json纳入 3D 关键点新增*_keypoints_2d命名以区分 3D 关键点新增--number_people_max与--camera_resolutionVideoSaver 兼容多相机设置多视角画面拼接保存GUI 改进显示原始帧号而非线程内帧 id小窗 GUI 自适应缩放提示文本l/k快捷键功能互换--no_display更名为--display可选值扩展为NoDisplay/Display2D/Display3D/DisplayAll当前语义见 include/openpose/flags.hpp 中display的注释-1 自动选择、0 无显示、1 同时 2D3D、2 仅 2D、3 仅 3D。性能与正确性修复方面NMS 只对身体部件热力图通道执行不再作用于 PAF 通道获得约 1% 加速修复 PoseRenderer 切换渲染元素时的 core dump 与 3D 可视化退出崩溃。六、1.4.0BODY_25 模型、相机标定与追踪雏形1.4.0 是特性最密集的版本之一。6.1 BODY_25 模型发布发布说明明确指出 BODY_25 模型包含 COCO 的 17 个关键点 脖子 髋部中点 6 个脚部关键点且比原 COCO 模型准确率约高 3%、速度快约 30%。其完整关键点映射定义于 src/openpose/pose/poseParameters.cpp 的POSE_BODY_25_BODY_PARTS{0,Nose}, {1,Neck}, {2,RShoulder}, {3,RElbow}, {4,RWrist}, {5,LShoulder}, {6,LElbow}, {7,LWrist}, {8,MidHip}, {9,RHip}, {10,RKnee}, {11,RAnkle}, {12,LHip}, {13,LKnee}, {14,LAnkle}, {15,REye}, {16,LEye}, {17,REar}, {18,LEar}, {19,LBigToe}, {20,LSmallToe}, {21,LHeel}, {22,RBigToe}, {23,RSmallToe}, {24,RHeel}, {25,Background}BODY_25 由此成为默认模型include/openpose/flags.hpp 中--model_pose默认值为BODY_25并衍生出 BODY_25E、BODY_25D、BODY_25B、BODY_19、BODY_23、BODY_135、CAR 等模型族见 include/openpose/pose/enumClasses.hpp。其模型 prototxt 存放于 models/pose/body_25/pose_deploy.prototxt。6.2 相机标定模块新增基于 OpenCV 的内参/外参相机标定工具箱对应 include/openpose/calibration/ 与 examples/calibration/calibration.cpp。标定细节可参考 doc/advanced/calibration_module.md。6.3 3D 重建精度与多 GPU 策略引入非线性最小化进一步优化三角化仅 Ubuntu精度提升约 5%重投影误差低于阈值时跳过优化速度优先、高于离群阈值时剔除离群点≥3 视角剔除离群点、≥4 视角应用 RANSAC多 GPU 场景下每个 GPU 处理一个相机视角替代原先按时间片切分大幅降低延迟3D 关键点与相机参数单位从毫米改为米以降低数值误差。6.4 追踪与识别模块雏形新增初始 alpha 版本的tracking与identification模块源码中可见但默认禁用包括PersonIdExtractor含贪心矩阵 OP-LK 匹配与PersonTrackerinclude/openpose/tracking/。此设计随后在 1.5.0 演变为可用的--tracking单人体追踪器。6.5 性能与体验优化平均延迟减半CMake 默认未开启 Release 模式的问题修复后整体提速约 15%从 bodyPartConnectorBase 热循环中移除checkEQ其耗时随人数指数增长身体检测对人数变化更稳定Datum::outputData从 C×H×W 改为H×W×C与cv::Mat互拷大幅提速新增WITH_OPENCV_WITH_OPENGL编译选项加速 GUI 显示队列空/满时最小化 CPU 占用避免整机卡顿、过热与功耗问题GUI 渲染通道快捷键改为更直观的映射1 骨架、2 背景热力图、3 全部热力图叠加、4 PAF 叠加、5 各部位热力图移除弃用的--write_keypoint_json1.2.1 起由--write_json等价替代。七、1.5.xCUDA 全面加速、追踪器与新一代 Python API7.1 1.5.0CUDA 性能跃升1.5.0 对 CUDA 路径做了系统性优化发布说明给出了量化收益优化点收益贪心身体部件连接器移植到 CUDA默认配置下提速约 30%最大精度配置下约 10%且默认配置下精度小幅提升 0.5%身体部件连接器二次优化额外提速 5–30%NMS提速约 2–4 倍图像 resize 与多尺度 resize各提速约 2 倍渲染提速约 25–30%CvMatToOpOutput/OpOutputToCvMat 的 resize 移至 CUDA延迟下降且线性加速对更多 GPU 泛化更好对应的 CUDA 实现可在 src/openpose/net/bodyPartConnectorBase.cugreedy connector、src/openpose/net/nmsBase.cuNMS、src/openpose/net/resizeAndMergeBase.curesize中查看。其中身体部件连接器阈值已在 1.5.1 中改为使用defaultNmsThreshold取代硬编码的 0.15见 src/openpose/net/bodyPartConnectorBase.cu 中getPoseDefaultNmsThreshold()的调用。7.2 单人体追踪器与--tracking新增初始单人体追踪器--trackingflag用于进一步提速或视觉平滑。对应实现位于 src/openpose/tracking/personTracker.cpp 与 src/openpose/tracking/pyramidalLK.cpp。7.3 新增命令行参数1.5.0 集中新增了一批仍在使用的重要 flag全部定义见 include/openpose/flags.hpp--frame_step帧间隔抽样如--frame_step 5处理第 0、5、10… 帧--maximize_positives将原硬编码的COCO_CHALLENGE变为用户可配置降低人体候选阈值提升召回、可能降低精度--verbose后演进为--cli_verbose打印处理进度--fps_max限制最大处理帧率便于慢速观察 GUI 结果--prototxt_path/--caffemodel_path自定义网络结构与权重路径--face_detector/--hand_detector选择人脸/手部矩形检测器0OpenPose 身体检测器、1OpenCV 人脸检测器、2用户自供、3开启手部追踪原--hand_tracking被并入--hand_detector 3--upsampling_ratio贪心关联解析前对帧执行的上采样比例--body取代--body_disable可关闭姿态网络但仍运行贪心关联解析作用于用户提供的热力图。7.4 API 重构与 Python 生态Wrapper 简化为模板类WrapperT并新增非模板等价类Wrapperinclude/openpose/wrapper/wrapper.hpp 中typedef WrapperTBASE_DATUM Wrapper新增统一头文件flags.hpp避免各示例重复粘贴 flag 定义示例目录重构tutorial_wrapper→tutorial_api_cpp、tutorial_python→tutorial_api_python、tutorial_thread→tutorial_api_thread、删除tutorial_pose新示例见 examples/tutorial_api_cpp/ 与 examples/tutorial_api_python/旧 Python wrapper 被Pybind11 版 wrapper取代覆盖 C API 全部功能python/openpose/openpose_python.cppArray为 Pybind11 兼容新增getStride()、getPybindPtr()、pData绑定与指针构造接口为几乎所有类添加虚析构函数性能敏感的 Array、Point、Rectangle、CvMatToOpOutput、OpOutputToCvMat 除外便于继承扩展errorAndLog中的辅助类改为命名空间checkX()系列函数保留为类Wrapper 新增预处理能力WorkerType::PreProcessing与可配置线程队列上限Datum新增poseNetOutput允许用户注入自定义网络输出输出 JSON 升级到version 1.3可包含 person ID。7.5 视频保存与相机相关改进--write_video可从图片序列--image_dir生成视频新增--write_video_3d保存 3D 输出视频、write_video_with_audio需.mp4 ffmpeg--camera_fps更名为--write_video_fps语义更准确只影响输出视频帧率默认值改为 -1--frame_keep_distortion反转为--frame_undistort默认不矫正--camera_parameter_folder更名为--camera_parameter_path支持直接指定 XML 文件路径帧去畸变不再限于 FLIR 相机可作用于所有输入源。7.6 1.5.1三角化与稳定性修正修复 3 相机时的 3D 三角化小 bug精度显著提升增加 Nvidia NVCaffe 社区支持--3d_min_views默认值从 -1要求全部视角改为max(2, min(4, #cameras-1))在召回与精度间取得更好平衡CPU 版本精度提升约 0.2%对彼此很近的关键点赋予最小可能 PAF 分数修复06_face_from_image.cpp、07_hand_from_image.cpp、09_keypoints_from_heatmaps在 1.5.0 中因 GPU resize 导致的失效问题新增 Windows AppVeyor 自动测试appveyor.yml。八、1.6.0多相机异步模式与三方依赖隔离1.6.0 的重点是可移植性与依赖解耦多相机3D异步模式WrapperT::waitAndEmplace()与tryEmplace()支持TDatums尺寸 1新增createMultiviewTDatum()从单张拼接图像与相机参数矩阵自动生成多视角TDatums配套示例 examples/tutorial_api_cpp/11_asynchronous_custom_input_multi_camera.cpp创建Matrixcv::Mat 容器与 Stringstd::string 容器替换头文件中的三方类型使 OpenPose 导出时不再要求三方库头文件与静态库动态库如dll/so仍需要用户可用自己版本的 OpenCV、Eigen 而不冲突新增openpose_private目录收纳需要三方头文件/静态库的内部头文件include/openpose_private/新增ScaleMode::ZeroToOneFixedAspect与PlusMinusOneFixedAspect在保持各轴宽高比的同时归一化坐标内部函数改名以避免与其他库的宏冲突dLog()→opLogIfDebug()、log()→opLog()、check()→checkBool()及全部checkX()系列include/openpose/utilities/check.hpp修复多人高分辨率场景下骨架渲染缺失问题如 4K 下约 32 人的视频Debug 版本正确链接三方库的 debug 库不再在启动时打印 Caffe 网络巨量日志。九、1.7.x新硬件兼容与当前版本能力9.1 1.7.0CUDA 11 与 Ubuntu 20.04兼容CUDA 11.X 与 cuDNN 8.X支持 Nvidia 30XX 系列显卡兼容Ubuntu 20.04移除 GCC/Clang 编译警告Python API 支持异步模式CMake 新增DOWNLOAD_SERVER变量指定模型与三方库的下载源USE_MKL在 Ubuntu 默认禁用与 Intel CPU 绑定的 MKL 在非 Intel CPU 或 Ubuntu 20 上不兼容修复 90°/270° 图像旋转。9.2 当前版本未来 1.7.1--net_resolution_dynamic与文档重构发布说明中Current version - Future OpenPose 1.7.1一节记录了截至仓库当前快照的最新改动新增--net_resolution_dynamic默认 1仅作用于图片与自定义输入避免低显存 GPU 在--net_resolution -1x368时出现 out-of-memory设置为 0 则恢复 1.7.0 之前尽可能大的行为大显存追求最大精度时建议 0。其具体裁剪规则在 include/openpose/flags.hpp 中有完整注释-1宽度会被裁剪为net_resolution_dynamic × 656368 高度对应的 16:9 基准宽度第三方依赖更新Windows 下 OpenCV 4.2→4.5、Eigen 3.3.4→3.3.8、wget 1.19.1→1.20.3AppVeyor 改为直接测试 OpenPoseDemo.exe文档重构README 大幅简化doc 按advanced、deprecated、installation等子目录重组即当前 doc/ 目录结构标定文档链接到仓库自带的棋盘格 PDFdoc/advanced/Chessboard_in_PDF/pattern.pdftutorial_add_module与tutorial_api_thread移入deprecated仍可编译但不再维护CI 从 Travis 迁移至 GitHub Actions。十、跨版本核心接口变迁总结10.1 输出与保存类 flag 的演进链原始 flag演进过程当前状态--write_poserc3 →--write_keypoint已弃用推荐--write_json--write_pose_jsonrc3 →--write_keypoint_json→ 1.2.1 由--write_json取代1.4.0 移除--write_pose_formatrc3 →--write_keypoint_format已弃用--write_json默认 JSON--no_display1.3.0 →--displayNoDisplay/Display2D/Display3D/DisplayAll使用中--camera_fps1.5.0 →--write_video_fps使用中--frame_keep_distortion1.5.0 →--frame_undistort语义反转使用中--camera_parameter_folder1.5.0 →--camera_parameter_path使用中--hand_tracking1.5.0 并入--hand_detector 3已移除--write_coco_foot_json1.5.0 →--write_coco_json_variants使用中10.2 JSON 输出格式的版本化JSON 输出从 1.0.0 的body_parts单一键演进为按部位区分的pose_keypoints_2d/face_keypoints_2d/hand_left_keypoints_2d/hand_right_keypoints_2d1.3.0 起加_2d后缀以区分 3D并逐步加入part_candidates1.2.1、3D 关键点1.3.0、person ID1.5.0JSON version 1.3。当前完整格式示例见 doc/02_output.md底层实现可查看 src/openpose/filestream/peopleJsonSaver.cpp。10.3 关键点模型的语义稳定性尽管版本迭代频繁关键点索引语义保持稳定BODY_25、COCO、MPI 的部件映射仍可通过getPoseBodyPartMapping()从 C/Python API 获取include/openpose/pose/poseParameters.hpp并可直接在 Python 中验证poseModel op.PoseModel.BODY_25 print(op.getPoseBodyPartMapping(poseModel)) print(op.getPoseNumberBodyParts(poseModel)) print(op.getPosePartPairs(poseModel)) print(op.getPoseMapIndex(poseModel))十一、从发布历史看项目演进规律纵观 1.0.0rc1 到 1.7.1可以提炼出几条清晰的演进主线这也是阅读本仓库代码时的最佳路线图检测能力扩展bodyrc1→ facerc3→ hand1.0.0→ 脚部关键点并入 BODY_251.4.0→ 3D 关键点1.2.x–1.4.0速度与内存CPU 渲染1.0.0→ 多尺度优化1.2.0→ 移除热循环 checkEQ1.4.0→ CUDA 全链路加速1.5.0→ H×W×C 数据布局1.4.0模块化与依赖解耦flagsToOpenPose 抽取1.0.0→ 移除 Boost1.3.0→ net/ 模块1.3.0→ WrapperT/Wrapper1.5.0→ Matrix/String 与 openpose_private1.6.0跨平台Ubunturc1→ Windowsrc3/1.0.0→ Mac OpenCL1.5.0→ Ubuntu 20.041.7.0生态Python API2018→ Pybind11 重写1.5.0→ Unity 绑定1.5.0→ 训练代码与数据集2019另见 doc/10_community_projects.md。如需核对每个版本的完整改动清单可直接阅读仓库内的 doc/08_release_notes.md各版本对应的安装方式与前置条件见 doc/installation/0_index.md 与 doc/installation/1_prerequisites.md而查看当前全部可用命令行参数的最快捷方式是编译后运行build/examples/openpose/openpose.bin --help并按 include/openpose/flags.hpp 头部注释的指引只关注Flags from examples/openpose/openpose.cpp:之后的 OpenPose 自身参数。【免费下载链接】openposeOpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation项目地址: https://gitcode.com/gh_mirrors/op/openpose创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进