资讯详情

人体3d关节点

1,人体3D关节点介绍

传统的人体关节点3D重建技术主要基于多视几何D重建技术,利用深度相机深度图估计关节点的技术和深度学习方法。

基于多视几何的3D重建技术需要从不同的角度部署多台相机,拍摄环境有一个 拍摄目标需要穿特殊的衣服和marker点 ,成本高,方便性差。

由于深度图只有一个通道,使用深度相机深度图来估计关节点的技术,颜色、图案 缺乏细节,导致关节点位置精度估计不够高。

基于深度学习技术的人体2D估计关节点精度高,但不是3D基于深度学习的信息 技术的人体3D估计关节点精度低。

2,本文方法

人体3D重建关节点,包括2D人体关键点估计方法2D关节点转3D关节点法,3D三部分关节序列平滑。

2D估计人体关节点的方法:

深度摄像机彩色数据流转化为bgr并调用三通道图像openpose人体2D关键点检 测量模型输出图像中的人体2D关键点Openpose.

2D关节点转3D关节点方法:

1)深度摄像机实时数据流:彩色数据流color、深度数据流depth、数据流在人体轮廓区域mask。其中depth与mask数据同步绑定输出,mask上非零点是人体的一部分。 color与depth以30fps同步输出,但两者是同一深度相机不同传感器的异步采集,时钟同步,加上其他算法的算法复杂性和人体运动过快,偶尔在拍摄过程中 会出现color与depth数据不同步的问题。

2)基于彩色数据流color,在图像中估计2D人体关节点序列

x是图像横坐标,y图像纵坐标,p对关节点的信心。

3)读取depth上2D关节点序列每个点的深度值d,如果深度值d在正常范围内

[minBoundDepy, maxBoundDepth], 认为这一点的深度值是有效的,其中正常范围是在拍摄过程中设与相机的距离。若有一点pt除正常范围外,深度值d 在该点的邻域内查找距离最近的mask非零点,如果有这样的非零点,那就是非零点depth上对应的深度值d’为2D点pt的深度值。

4)根据相机视角、焦距和各点的深度值,图像2D坐标转到3D世界坐标: depth视角对color对齐视角后,水平视角hfov(弧度单元),垂直视角vfov(弧度单元),图像size是xres、yres图像中心坐标(像素单位)cx = (xres-1)*0.5, cy=(yres-1)*0.5,水平焦距fx=cx/(hfov/2.0), 垂直焦距fy=cy/tan(vfov/2.0)。已知点pt图像 坐标为(col, row),深度为d(mm单位),则pt点的3D世界坐标(米单位)为:

5)在三维空间中,身体部位被某一点挡住. 但在二维图像中,基于自己的数据集重新训练openpose, 所有2都可以准确预测D关节点。这时,该点白遮挡,3D关节点未知,2D关节点可知,摄像机内参K可知. 光心O世界坐标为世界坐标系,光心O世界坐标(0,0,0)', 2D成像平面上点m的齐次坐标(u,v,1)',则2D点m的世界坐标是((u-u0)dx, (v-v0)dy, f)', 其中u0,v0,dx,dy,f是摄像机参数。光心O、基于世界坐标连成的图像点m2点3d直线L。光心O、基于世界坐标连成的图像点m2点3d直线L。那么2d点m对应的3d点M,一定在3d直线L上。3d如果点M位于关节J上(关节J还有另一个3d关节点N,关节J可能不止一个,相应的邻近3d可能不止一个关节点N)。获取前面帧的N、MN长度,当前帧M在L这一步只考虑当前帧N已知,可以计算M.

6) 若仍有当前帧3D点未知,通过前帧预测。

3D关节序列平滑法:

2D人体关节点转3D世界坐标后,轨迹不够光滑。 基于卡尔曼滤波器对主干3D平滑处理关节点序列。人体主颈-左肩-左臀-右臀- -右肩-颈部被认为是刚体,在三维空间中有三维旋转平移不变性。刚体变换有六个相应的参数ax,ay,az, tx,ty,tz欧拉角和三个方向的位移分别对应位移,一个3D关 节点A[xa,ya,za]刚体变换后得到[xb,yb,zb]:

该步对主干3D卡尔曼预测关节点,达到3D关节点序列平滑的目的

三、实时视频结果

标签: yb传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台