首页 > 其他分享 >打造属于自己的人体识别系统:基于openpose,开源且免费

打造属于自己的人体识别系统:基于openpose,开源且免费

时间:2023-08-17 11:24:40浏览次数:66  
标签:OpenCV int 识别系统 person 开源 pair openpose 安装 OpenPose

安装CMake:

访问CMake的官方网站(https://cmake.org/download/),下载最新的Windows安装程序。

运行下载的安装程序,并按照安装向导的说明进行安装。

安装CUDA(可选):

CUDA是用于GPU加速的平行计算平台,对于OpenPose的一些功能来说是可选的,但推荐安装。

访问NVIDIA官方网站(https://developer.nvidia.com/cuda-toolkit-archive),下载适合你操作系统和CUDA支持的版本。

运行下载的CUDA安装程序,并按照安装向导的说明进行安装。

安装OpenCV:

OpenPose依赖于OpenCV进行图像和视频处理。

在Windows系统上,可以使用pip进行OpenCV的安装。

打开命令提示符(Command Prompt)并运行以下命令:

Copy codepip install opencv-python

安装OpenPose:

克隆OpenPose存储库:打开Git Bash或其他终端,并导航到你选择的目录。运行以下命令克隆OpenPose存储库:

bashCopy codegit clone https://github.com/CMU-Perceptual-Computing-Lab/openpose.git

配置和生成:打开CMake GUI(如果已经安装了CMake)并设置以下路径:

"Where is the source code"(源代码路径):指向刚刚克隆的OpenPose存储库路径。

"Where to build the binaries"(生成路径):指定一个新的目录,用于生成OpenPose的输出文件。

然后点击 "Configure"(配置)按钮,并选择你的编译器。在弹出的对话框中选择 "Generate"(生成)按钮。

编译OpenPose:

打开生成的生成项目文件(例如,Visual Studio的.sln文件)。

在Visual Studio中,选择正确的构建配置(Debug或Release)和平台(x86或x64)。

点击生成按钮,编译OpenPose。

安装OpenPose:

编译完成后,在生成目录中会生成OpenPose的可执行文件。

将生成目录中的

bin、

models 和

lib 文件夹复制到你的项目中。

完成上述步骤后,你应该已经安装了CMake、CUDA(可选)和OpenCV,并成功编译和安装了OpenPose库。在你的Python项目中导入OpenPose并开始使用它的功能。请确保按照OpenPose官方文档提供的详细安装指南进行操作,以获取更准确的信息。

要显示人物的骨骼位置,你可以使用姿势估计算法来检测人体关键点,并在图像上绘制出骨骼连接线。OpenCV提供了一个称为"OpenPose"的流行姿势估计库,它可以用于检测人体关键点并估计姿势。

要在你的程序中集成OpenPose,需要进行以下步骤:

安装OpenPose库:请参考OpenPose官方文档(

https://github.com/CMU-Perceptual-Computing-Lab/openpose)以获取安装说明。根据你的系统和需求,按照指导安装OpenPose库。

导入OpenPose库:在你的代码中导入OpenPose库,以便可以使用其中的功能。导入OpenPose的示例代码如下:

pythonCopy codefrom openpose import pyopenpose as op

配置OpenPose参数:创建一个OpenPose实例,并配置相关参数。你可以根据需要调整参数。下面是一个简单的示例:

pythonCopy codeparams = dict()

params["model_folder"] = "path/to/openpose/models" # OpenPose模型文件夹的路径

params["net_resolution"] = "-1x368" # 图像尺寸

params["number_people_max"] = 1 # 最大检测人数

opWrapper = op.WrapperPython()

opWrapper.configure(params)

opWrapper.start()

进行姿势估计:在你的人体检测循环中,使用OpenPose进行姿势估计,并获取人体关键点。下面是一个简单的示例:

pythonCopy codedatum = op.Datum()

datum.cvInputData = frame # 当前帧图像

opWrapper.emplaceAndPop([datum])

keypoints = datum.poseKeypoints # 人体关键点

绘制骨骼连接线:使用人体关键点数据,在图像上绘制出人体的骨骼连接线。你可以使用OpenCV的绘图函数来实现。下面是一个示例:

pythonCopy codefor person in keypoints:

for i, joint in enumerate(person):

if joint[2] > 0.2: # 过滤掉置信度较低的关键点

cv2.circle(frame, (int(joint[0]), int(joint[1])), 3, (0, 255, 0), -1)

for pair in opPose.POSE_COCO_BODY_PARTS:

if person[pair[0]][2] > 0.2 and person[pair[1]][2] > 0.2:

cv2.line(frame, (int(person[pair[0]][0]), int(person[pair[0]][1])),

(int(person[pair[1]][0]), int(person[pair[1]][1])), (0, 255, 0), 2)

请注意,以上代码只是一个简单示例,你可能需要根据你的需求进行适当的修改和优化。

使用OpenPose进行姿势估

标签:OpenCV,int,识别系统,person,开源,pair,openpose,安装,OpenPose
From: https://www.cnblogs.com/grf920/p/17637113.html

相关文章

  • Dify 加入更多国内外优秀模型,轻松调用 Llama2、ChatGLM 等热门开源模型
    Dify的朋友们,不少细心的网友在周末的时候就已经发现了我们产品上的更新--模型供应商上新增了一大批新模型,这也是很多朋友翘首以盼的版本--V0.3.13。此前Dify已经陆续支持了全球前列的模型优秀代表:OpenAI的GPT系列、Anthropic的Claude系列、AzureOpenAI系列。本次更新......
  • 从0开始,Cloudreve开源云盘在centos7上部署,并可在外网访问(资料整合)
    全程我在网络上收集这些资料,太零碎了,每一个一看就会,一动手就废,而且很多都不能实现我白嫖的梦想我一个人折腾了快一周,现在可以正常访问手机电脑多端访问给个赞再走吧此处为没有公网IP(回去折腾你家宽带去,不知道可以去搜索如何获得)和域名的办法简单的说就是想完全白嫖的那种(甚至......
  • 一个可将执行文件打包成Windows服务的.Net开源工具
    Windows服务一种在后台持续运行的程序,它可以在系统启动时自动启动,并在后台执行特定的任务,例如监视文件系统、管理硬件设备、执行定时任务等。今天推荐一个可将执行文件打包成Windows服务的工具,方便我们封装第三个的软件。项目简介winsw一个基于.Net开发的开源项目,可以帮助开发......
  • 应用开源框架平台,实现流程化办公!
    如今,实现流程化办公,管理好数据资源是很多企业的共同想法。如果采用传统的办公方式显然无法实现这一愿望。利用开源框架平台,可以管理好数据资源,为企业提高办公协作效率,进入流程化办公。流辰信息是专业的低代码技术平台服务商,一直坚守研发初心,为客户实现高效办公贡献优质产品服务。......
  • 如何用GitHub快速找到优秀的开源项目
    版本控制Git和GitHub分布式版本控制系统配有两个仓库,在你的电脑上有一个本地仓库,在远程的服务器上有一个远程仓库。我们在提交文件的时候会先提交到本地仓库,然后在有网络的情况下,再从本地仓库提交到网络上的远程仓库。Git就是一个典型的分布式版本控制系统Github就担任......
  • 用 GPT-4 给开源项目 GoPool 重构测试代码 - 每天5分钟玩转 GPT 编程系列(8)
    目录1.好险,差点被喷2.重构测试代码2.1引入Ginkgo测试框架2.2尝试改造旧的测试用例2.3重构功能测试代码3.总结1.好险,差点被喷早几天发了一篇文章:《仅三天,我用GPT-4生成了性能全网第一的GolangWorkerPool,轻松打败GitHub万星项目》,这标题是挺容易被怼,哇咔咔;不过最......
  • 浪潮信息开源全球首个自动并行 高容错 低延时自动驾驶计算框架AutoDRRT
    近日,2023年开放计算中国社区技术峰会(OCPChinaDay2023)在北京举行。会上,浪潮信息正式发布自动驾驶计算方案AutoDRRT(AutonomousDrivingDistributedRobustReal-Time)开源计划,为提升自动驾驶系统的自动分布式并行、高容错、低延时能力提供开源、高效的计算框架。AutoDRRT是全球首......
  • 开源XL-LightHouse与Flink、ClickHouse之类技术相比有什么优势
    Flink是一款非常优秀的流式计算框架,而ClickHouse是一款非常优秀的OLAP类引擎,它们是各自所处领域的佼佼者,这一点是毋庸置疑的。Flink除了各种流式计算场景外也必然可以用于流式统计,ClickHouse同样也可以用于流式统计,但我不认为它们是优秀的流式统计工具。XL-Lighthouse在流式统计这......
  • JVS开源基础框架:平台基本信息介绍
    JVS是面向软件开发团队可以快速实现应用的基础开发脚手架,主要定位于企业信息化通用底座,采用微服务分布式框架,提供丰富的基础功能,集成众多业务引擎,它灵活性强,界面化配置对开发者友好,底层容器化构建,集合持续化构建。产品设计定位JVS是定位为辅助研发团队的快速脚手架,降低项目构建基础......
  • 《安富莱嵌入式周报》第320期:键盘敲击声解码, 军工级boot设计,开源CNC运动控制器,C语言
    周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 视频版:https://www.bilibili.com/video/BV1Cr4y1d7Mp/1、键盘敲击声解码https://arxiv.org/abs/2308.01074键盘敲击声被解码的话,我们使用键盘输入密码将被方便的解码出......