人体骨骼关键点检测的算法

老铁们✌,重要通知🙌!福利来了!!!😉

【计算机视觉 复习流程剖析及面试题详解 】
【深度学习算法 最全面面试题(30 页)】
【机器学习算法 最全面面试题(61页)】

1.相关算法

1.1 AlphaPose

属于自上而下的算法,也就是先检测倒人体再得到关键点和骨架
优点:它被遮挡部分的关键点不会任意获取(即可以只显示看得到的部分)
它的准确率AP值要比openpose高。
缺点: 随着图片上的人数增加,他的计算量增大,速度变慢。
可实时全身多人姿势估计与跟踪系统
https://github.com/MVIG-SJTU/AlphaPose.git
在这里插入图片描述

git clone -b pytorch https://github.com/MVIG-SJTU/AlphaPose.git
python demo.py --indir examples/demo --outdir examples/res --sp
python video_demo.py --video D:/cpl.mp4 --outdir examples/result --save_video --sp
python webcam_demo.py --webcam 0 --outdir examples/result --vis

1.2 pytorch-openpose

手和身体姿势估计, 基于Openpose的pytorch实现:
https://github.com/Hzzone/pytorch-openpose
在这里插入图片描述

1.3 PoseC3D

基于 3D-CNN 的骨骼行为识别框架,同时具备良好的识别精度与效率,在包含 FineGYM, NTURGB+D, Kinetics-skeleton 等多个骨骼行为数据集上达到了 SOTA。不同于传统的基于人体 3 维骨架的 GCN 方法,PoseC3D 仅使用 2 维人体骨架热图堆叠作为输入,就能达到更好的识别效果。
https://github.com/open-mmlab/mmaction2(刚刚开源)
https://zhuanlan.zhihu.com/p/395588459
在这里插入图片描述

1.4 ST-GCN

基于动态骨骼的动作识别方法ST-GCN(时空图卷积网络模型)
https://github.com/yysijie/st-gcn

1.5 MobilePose

作为轻量级网络来识别人体关键点,适用于:单人姿态估计
源码里面包括ResNet18、MobileNetV2、ShuffleNetV2、SqueezeNet1.1几个轻量级的网络。
官方是直接对摄像头进行裁剪,只有中间一部分,(放得下一个人的位置)。而且即使没有框住人,也会生成骨架信息。

https://github.com/YuliangXiu/MobilePose-pytorch
在这里插入图片描述

2.动作比对

人体的不同特征部位可抽象为18个特征点,由这些特征点组成的人体骨架即可反映此刻人体的姿态。
而特定关节间的角度值可以为判断一个人动作的准确性提供参考。
技术思路:
对标准动作图片进行处理,得出该图片人体骨架的关节角度值,作为比对范本。之后输入需要进行评判的训练者动作图片,同样得出关节角度值。
两者角度值进行分析即可得出训练者动作是否标准,达到动作比对的效果。
方法:两点之间的长度可以通过计算欧氏距离得出,再使用余弦定理计算得出反映人体动作的特定关节间夹角的角度值。

其他文章
基于计算机视觉深度学习算法的姿态评估打分方法和系统与流程

3.姿态估计 vs 行为识别

3.1 姿态估计

理解:在图像和视频中对人体关节的定位问题。
姿态估计的任务:重建人的关节和肢干,其难点:降低模型分析算法的复杂程度,并能够适应各种多变的情况、环境。
姿态估计的输出:是一个高维的姿态向量,而不是某个类别的类标;需要学习的是一个从高维观测向量到高维姿态向量的映射。
在这里插入图片描述

3.2 行为识别

可借助姿态估计的相关研究成果来实现,比如HDM05这类姿态库就提供了每一帧视频中人的骨架信息,可以基于骨架信息判断运动类型。
在这里插入图片描述

4.数据集

4.1 MSR 3d action

记录了人体动作序列,共包含20个动作类型,10个被试者,每个被试者执行每个动作2或3次。
采用 Kinect 提取动作数据
https://zhuanlan.zhihu.com/p/63133269

人体姿态识别这9个数据集:
HiEve、MPII Human Pose、CrowdPose、Human3.6M、
PedX、SURREAL、Mo2Cap2、DensePose、PoseTrack
https://zhuanlan.zhihu.com/p/392326330

4.2 UCF-101

该数据集上评测指标已经达到了98.5%,但是视频的分类目前远没有图像分类成熟,面临着巨大的类内方差,相机运动和背景干扰,数据不足等难题。
解决方向:
1.多模态信息融合。即不只是采用图像信息,还可以融合语音等信息。
2.多标签视频分类。与多标签图像分类类似,现实生活中的视频可能有多个标签。
3.行为定位。一段视频中的行为有开始和结束,如何定位到真正有效的片段是之后的视频分类的重要前提。

**打分对比:
https://github.com/ParitoshParmar/MTL-AQA

参考
40个姿态估计优秀开源项目汇总
姿态估计与行为识别(行为检测、行为分类)的区别

5.标注工具

最常用深度学习图像/视频数据标注工具:
LabelImg、Labelme
https://blog.csdn.net/weixin_39737947/article/details/111619277

VOTT
标记图像或视频帧的工具。
Download地址:
https://github.com/Microsoft/VoTT/releases
每帧图片添加bbox的转化code: main.py

6.实战项目

6.1 站立、走路、跌倒行为识别

技术分析:yoloV3进行人的侦测,再用SPPE(Alphapose)进行骨架提取,再用连续30帧的ST-GCN进行行为识别。
https://github.com/GajuuzZ/Human-Falling-Detect-Tracks

6.2 基于PyTorch实现C3D模型的视频行为识别

代码:
E:\Project\C3D_recogn
https://github.com/Niki173/C3D
数据集: UCF-101 下载地址
使用教程: https://zhuanlan.zhihu.com/p/348402763
博客: https://blog.csdn.net/sinat_28371057/article/details/113405431
备注: 有预训练模型
2D卷积网络输入图像会产生图像,输入视频输出的也是图像;
3D卷积网络输入视频会输出另外一个视频,保留输入的时间信息
在这里插入图片描述

7.部署

基于TensorFlow lite 在移动端部署模型:
https://zhuanlan.zhihu.com/p/111616352

基于TensorFlow lite部署 的 API:
https://tensorflow.google.cn/lite/examples?hl=zh-cn
课件:https://edu.51cto.com/course/23363.html
在这里插入图片描述

  • 31
    点赞
  • 320
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
Log data follows: | DEBUG: Executing shell function do_configure | CMake Warning at CMakeLists.txt:7 (message): | Build type not set, falling back to Release mode. | | To specify build type use: | -DCMAKE_BUILD_TYPE=<mode> where <mode> is Debug or Release. | | | -- Building without demo. To enable demo build use: -DWITH_DEMO=True | -- The C compiler identification is GNU 7.3.0 | -- The CXX compiler identification is GNU 7.3.0 | -- Check for working C compiler: /home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/recipe-sysroot-native/usr/bin/aarch64-niic-linux/aarch64-niic-linux-gcc | -- Check for working C compiler: /home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/recipe-sysroot-native/usr/bin/aarch64-niic-linux/aarch64-niic-linux-gcc -- works | -- Detecting C compiler ABI info | -- Detecting C compiler ABI info - done | -- Detecting C compile features | -- Detecting C compile features - done | -- Check for working CXX compiler: /home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/recipe-sysroot-native/usr/bin/aarch64-niic-linux/aarch64-niic-linux-g++ | -- Check for working CXX compiler: /home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/recipe-sysroot-native/usr/bin/aarch64-niic-linux/aarch64-niic-linux-g++ -- works | -- Detecting CXX compiler ABI info | -- Detecting CXX compiler ABI info - done | -- Detecting CXX compile features | -- Detecting CXX compile features - done | -- Found PkgConfig: /home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/recipe-sysroot-native/usr/bin/pkg-config (found version "0.29.2") | -- Checking for module 'uuid' | -- Found uuid, version 2.32.1 | -- Output libraries to /home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/git/runtime/Cpp/dist | CMake Error at runtime/CMakeLists.txt:104 (install): | install TARGETS given no LIBRARY DESTINATION for shared library target | "antlr4_shared". | | | CMake Error at runtime/CMakeLists.txt:107 (install): | install TARGETS given no ARCHIVE DESTINATION for static library target | "antlr4_static". | | | -- Configuring incomplete, errors occurred! | See also "/home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/build/CMakeFiles/CMakeOutput.log".这是报错的log,如何解决这个问题
07-11
根据提供的日志,可以看出在CMake配置过程中出现了两个错误。错误信息分别是: 1. CMake Error at runtime/CMakeLists.txt:104 (install): install TARGETS given no LIBRARY DESTINATION for shared library target "antlr4_shared". 2. CMake Error at runtime/CMakeLists.txt:107 (install): install TARGETS given no ARCHIVE DESTINATION for static library target "antlr4_static". 这些错误表明在配置期间,对于共享库目标 "antlr4_shared" 没有给出 LIBRARY DESTINATION,对于静态库目标 "antlr4_static" 没有给出 ARCHIVE DESTINATION。 要解决这个问题,你可以尝试以下方法: 1. 检查CMakeLists.txt文件:打开 "/home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/git/runtime/CMakeLists.txt" 文件,并查找与 "antlr4_shared" 和 "antlr4_static" 相关的安装指令。 2. 添加正确的目标安装路径:在对应的安装指令中,确保给出了正确的目标安装路径。例如,对于共享库目标 "antlr4_shared",应该设置 LIBRARY DESTINATION,而对于静态库目标 "antlr4_static",应该设置 ARCHIVE DESTINATION。 3. 重新运行CMake配置:保存文件,并重新运行CMake配置命令以重新生成项目。可以尝试使用以下命令:`cmake /path/to/source`。 4. 编译和安装:如果配置成功,继续进行编译和安装。使用 `make` 命令编译项目,并使用 `make install` 命令安装项目。 如果问题仍然存在,可能需要进一步检查CMakeLists.txt文件中的其他配置,以及确保所有依赖项都正确安装。在解决问题时,可以查看 "/home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/build/CMakeFiles/CMakeOutput.log" 文件,以获取更多有关配置错误的详细信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cc13186851239

觉得不错的,鼓励一下我,奥利给

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值