点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

本文转自|新机器视觉


人体姿态估计是当前计算机视觉领域的热点研究问题。对人体骨架关节点进行准确提取并构建人体骨架模型,为进一步的人体姿态识别、实时交互游戏等应用提供了基础。但是传统的基于RGB图像的方法容易受到光照、阴影、复杂背景的影响,准确度不高并且算法复杂。利用深度图像技术可以有效地解决上述问题,利用深度信息可以快速地进行背景分割,抗干扰性能好,算法效率高。

本文主要研究基于深度图像的人体关节定位算法。算法对深度图像素点周围区域的深度进行格点化采样以提取其深度特征,再使用随机森林分类器进行像素点分类,对同一类别的点使用Mean Shift算法聚类出中心点,以该中心点作为关节点位置。该算法可对人体全身关节点进行定位。

局域深度特征提取

本文中采用如图1所示的局域深度采样特征。其中蓝色点表示图像I中给定的像素x,以该像素为中心生成一个5*5的格点矩阵,红色的格点表示要进行深度采样的点。

图1 局域深度采样示意图

随机森林分类器

分类器是对样本进行分类的算法的统称,在机器学习中有许多种分类器可供我们选择使用,包括逻辑回归、朴素贝叶斯、支持向量机(SVM)、决策树、随机森林、神经网络等算法。综合考虑分类的精度与效率,本课题中采用的是随机森林分类器。

随机森林分类器是由多棵决策树组合而成的分类器,如图2所示。决策树的结构类似二叉树,由分裂结点和叶结点构成。每一个分裂结点包含一个特征与阈值,像素x从根部开始,根据特征与阈值划分进入左子树还是右子树,这样不断地分裂直到叶结点。在每棵树的叶结点能够得到该像素对于各个身体部件的概率分布,将各棵树得到的结果相加,得到最终的概率分布,拥有最高概率的一类作为最终的分类结果。

随机森林将多棵决策树合并在一起,准确度相较于单棵决策树有较大提升,并且多棵决策树可以并行训练,提高了训练效率。

图2随机森林分类器

训练完随机森林分类器后,我们利用其对像素点进行分类,判断其属于身体的哪个部位。对于图像中的每个像素,使用分类器对其分类后得到分类的结果,以及预测结果的概率。我们只选取图像中预测概率高于80%的点,这样就能得到密度不同的分类点。越靠近关节点位置,预测概率越高,点的密度越大,远离关节点位置的密度则小。

关节点位置估计

在得到像素点分类后,我们使用Mean Shift聚类算法得到属于同一部位像素点的中心,作为关节位置。

Mean Shift算法一般为一个迭代过程,先计算感兴趣区域内的偏移均值,移动区域中心到计算出的质心处,然后以此处作为新的起点,继续移动。在迭代过程中,不断向密度更大的地方偏移,直到移动到这类像素点密度最高的中心位置而停止。此时这个位置最能代表这一类点,我们将其作为该部位的关节点位置。分别对所有类别的点都运行一遍此算法后,我们就能得到全身关节点的位置。

但是由于分类结果并不一定准确,聚类出的结果可能与真实关节点的位置有所偏移,这时我们可以采用人体骨架长度比例约束条件,来矫正一部分偏移较大的关节点,对预测结果进行优化。

流程介绍

训练流程:对一幅深度图,取关节附近的点作为训练集,对这些点提取深度特征,再训练随机森林分类器

图3训练流程示意图

测试流程:深度图背景分割得到人体区域图像,使用随机森林分类器对人体的像素点进行分类,选取预测概率大于设定阈值的点,则得到疏密不同的各关节部位像素点,越接近关节点位置,像素点越密,再使用Mean shift算法进行聚类,得到关节点位置

图3测试流程示意图

运行效果

图4为关节定位算法的运行效果,(a)为NTU数据集中关节点的标准位置;(b)是算法对同一张深度图中关节点的定位结果;(c)为自制的Kinect测试集上的运行效果;(d)为采用公司研制的TOF相机模块拍摄的深度图的运行效果。可以直观地看出定位效果较为良好。TOF相机的分辨率为320*240,因此相同距离下人体在画面中所占比例更大。

 

(a) (b)

 

(c) (d)

图4 算法运行效果示例

(a)NTU测试集真值,25关节 (b)NTU测试集 (c)自制测试集 (d)TOF相机拍摄图像

 End 

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

基于3D深度视觉的人体姿态估计算法相关推荐

  1. 3D视觉——3.人体姿态估计(Pose Estimation) 算法对比 即 效果展示——MediaPipe与OpenPose

    上一话 3D视觉--2.人体姿态估计(Pose Estimation)入门--OpenPose含安装.编译.使用(单帧.实时视频)https://blog.csdn.net/XiaoyYidiaodi ...

  2. 深度学习人体姿态估计算法综述

    https://www.infoq.cn/article/6Btg0-1crfmb7svRGa6H 人体骨架是以图形形式对一个人的方位所进行的描述.本质上,骨架是一组坐标点,可以连接起来以描述该人的位 ...

  3. ICCV 2019 | 基于无标签单目视频序列的单帧三维人体姿态估计算法

    作者丨王璇 学校丨西安交通大学 研究方向丨人体姿态估计 我们都知道,要训练一个准确的三维人体姿态估计深度神经网络,需要大量有三维标签的数据,越多越好.而在现实生活中,我们很难得到很多有标签数据,而无标 ...

  4. 人工智能 信道估计 深度学习_深度学习人体姿态估计算法综述

    作者 | Bharath Raj 译者 | 李志 编辑 | Vincent AI 前线导读:人体姿态估计的任务是从包含人体的图片中检测出人体关键点,并恢复人体位姿.随着深度学习的发展,越来越多的深度学 ...

  5. 基于正交投影的实时三维人体姿态估计

    王亦洲课题组 ECCV 2022 入选论文解读:基于正交投影的实时三维人体姿态估计 本文是对发表于计算机视觉领域顶级会议 ECCV 2022的论文 Faster VoxelPose: Real-tim ...

  6. 深度学习之人体姿态估计在医疗领域的作用

    深度学习之人体姿态估计在医疗中的应用 摘要 目前基于深度学习的人体姿态估计的方法在一定的训练集上都取得不错的效果,将人体姿态估计应用于医疗当中有利于目前医疗体系的进步和医疗手段的改进.本文将介绍人体姿 ...

  7. Azure Kinect 3深度相机开发--人体姿态估计并输出各个关节点坐标

    Azure Kinect 3深度相机开发--人体姿态估计并输出各个关节点坐标 前言 一.VS配置Azure Kinect 3开发环境(C++) 1.下载并安装Azure Kinect3 SDK 2.配 ...

  8. 经典论文复现 | PyraNet:基于特征金字塔网络的人体姿态估计

    过去几年发表于各大 AI 顶会论文提出的 400 多种算法中,公开算法代码的仅占 6%,其中三分之一的论文作者分享了测试数据,约 54% 的分享包含"伪代码".这是今年 AAAI ...

  9. 人体姿态估计算法之open pose

    一,openpose是一种自底向上的算法:         OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络和监督学习并以Caffe为框架开发的开源库.可以实现人体动作. ...

最新文章

  1. python 支付宝个人账单_解析2018年度三大用户数据报告——网易云音乐、支付宝、微信...
  2. POJ2255Tree Recovery
  3. ISP 图像传感器camera原理
  4. 画股票图csdn_这个股票今天是要弄啥?
  5. xp系统能支持mysql_windowsxp下的mysql集群技术
  6. 【操作系统】笔记6 java基本类型及运算
  7. 简单实现DButil工具类
  8. 系统学Android从零开始,附超全教程文档
  9. 安卓手机android文件,安卓Android手机系统内文件夹目录解释
  10. STM32F030F4驱动TIM1637数码管芯片
  11. LOL英雄联盟首页以及攻略页面制作
  12. 五 IP核行业潜在投资方向和机会
  13. 用python3制作视频字幕,生成双英文双语字幕txt和srt文件使用百度和有道翻译自封装翻译接口,可以秒杀付费工具,字幕脚本为qiweb3远程 2022年5月29日
  14. 写一段情人节耳钉礼物文案,要求100字左右,以小红书的形式展示,带emoji表情包,带分段,吸引眼球,情绪化,最后加一些tag...
  15. EVE-NG模拟器教程(一)——安装包下载
  16. 制作DeepLabV3Plus训练集
  17. 程序员如何克服浮躁的心态?然后静下心来韬养自己的技术?
  18. 自动驾驶深度学习常用中英文对照表
  19. JavaScript中BOM和DOM(持续更新)
  20. SpringBoot教程目录

热门文章

  1. 吴恩达:AI未来将呈现四大发展趋势
  2. 回顾与展望:大热的AutoML究竟是什么? | 技术头条
  3. 华南理工大学院长涉嫌篡改8名研究生成绩,4人已停职
  4. 2018最后一个月的Python热文Top10!赶紧学起来~
  5. 今天被TensorFlowLite刷屏了吧,偏要再发一遍
  6. 频频曝出程序员被抓,我们该如何避免面向监狱编程?
  7. 深度介绍分布式系统原理与设计
  8. Java 程序员如何使用 Shiro 框架
  9. 服务运行一段时间,redis缓存就不可用,原来是这个锅!
  10. MySQL环境配置和入门讲解!