2024年6月12日发(作者:回懿轩)
*
机器人目标跟踪的三维建模
JetsonNanoVR
李亨凡
,
张燕
()
南京大学
金陵学院
,
南京
210089
、
摘要
:
如今
,
虚拟显示技术
)
动作电影特效制作
、
高科技教育
、
医疗行业等领域广泛应用了三维建模这一技术
。
大
VR
(
型立体成像扫描仪器通过建模可以构筑出高精度的人体模型
,
但是该设备成本高
,
耗费大量人力和时间
。
文中提出基于
人体姿态估计和三维模型重建
。
测试结果表明
,
本文搭建的建模机器人
JetsonNano
机器人在室内场景进行人体跟踪
、
可满足自主人体建模的要求
。
关键词
:
目标跟踪
;
姿态估计
;
三维建模
;
JetsonNano
中图分类号
:
TP242.6
文献标识码
:
A
VR3DModelinfRobotTaretTrackinasedonJetsonNano
g
o
gg
B
,,
p
aeraJetsonNanorobotis
p
roosedforhuman
gqppppp
,
brimentresultsshowthatthemodelinobot
ygppg
r
tereoimaincannercanbuildahih-recisionhumanbododelthrouhmodel-
gy
o
gggg
s
gpy
m
g
:
N
,,,
Abstract
owadasVR
,
secialeffectsofactionmovieshih-techeducationmedicalindustrndotherfieldshavewidelsedthe
ypgy
a
y
u
(,,)
JinlinolleeNaninniversitNanin10089
,
China
g
C
gjg
U
yjg
2
,
LiHenfanZhanan
gg
Y
builtinthis
p
aercanmeetthereuirementsofautonomoushumanbododelin.
pqy
m
g
:;;;
Keords
tarettrackinattitudeestimationthree-dimensionalmodelinJetsonNano
ggg
y
w
引
言
1
机器人结构设计
视觉传感器两部分组成
。
建模环境处于室内
,
基于
Jetson
近年来
,
随着计算机硬件大规模计算能力的发展
,
特
别是
G
实时高效的解决方案成
PU
和分布式计算的发展
,
为了可能
。
人工智能领域不断取得突破促进了计算机视
觉技术的发展
,
人工智能可通过计算机视觉模拟人的视觉
感官
,
实现对客观世界场景的认知
。
三维重建技术通过深
度数据获取
、
预处理
、
点云配准与融合
、
生成表面等过程
,
1
]
。
把真实场景刻画成符合计算机逻辑表达的数学模型
[
本文提出的建模机器人主要由
JetsonNano
开发板
、
1.1 JetsonNano
开发板介绍
机动性高
,
能够很好
Nano
开发板搭建的机器人小巧灵活
,
地适应建模环境
,
JetsonNano
机器人如图
1
所示
。
建立三维模型处理平台要求实时对人体检测并建模
,
需要承受极大的计算量
,
本文使
用的算法基于卷积神经网络
,
运
行时间大部分需要用到卷积操
作
。
传统树莓派开发板无法胜
任过于庞大的卷积计算操作
,
相
比之下
,
JetsonNano
开发板装
这种模型可以对文物保护
、
游戏开发
、
建筑设计
、
临床医学
等研究起到辅助作用
。
为此
,
如何能够快速三维建模并提供良好的三维模
2
]
。
本文提出
型
,
是如今计算机视觉领域研究的热门方向
[
基于
J
在
etsonNano
人工智能开发板搭建的建模机器人
,
机器人上装载
R
通过上位机操控机器人实时
GBD
相机
,
跟踪目标人体
,
机器人对目标人体姿态估计
、
建模
。
)。
南京大学金陵学院教改项目
(
*
基金项目
:
载
4
核
CortexA57CPU
,
GPU
选用规模最小的
Maxwell
架构
配备了
4GBLPDDR4
内存
。
借
显卡
,
只有
128
个
CUDA
单元
,
etsonNano
机器人
助
JetsonNano
可以并行运行多
图
1 J
1 2
Microcontrollers&EmbeddedSstems
2020
年第
8
期
y
www
.
mesnet
.
com
.
cn
个神经网络
,
从而实现图像分类
、
物体检测
、
分割和语音处
理等应用
。
因此
,
需要构建人工智能和机器学习项目
,
低
Nano
开发板是最理想的选择
。
成本
、
低功耗
、
高性能且拥有完整
GPU
的
NVIDIAJetson
传送到电脑
,
OenPose
算法可以在画面中获取人体骨骼
p
18
个骨骼关键点的结构如图
4
所示
。
关键点信息和每个关键点的可靠度
,
OenPose
算法获取
p
1.2
视觉传感器模块介绍
由于技术的限制
,
普通摄像头获得的平面图像信息对
机器理解世界产生了巨大的限制
,
现在由于深度摄像头的
出现
,
使得机器人也获得了三维视觉能力
,
让机器人认识
和理解世界的能力产生了飞跃的进步
。
目前用在三维建
模的传感器主要分为两类
,
基于激光雷达的激光相机和基
于深度视觉的相机
。
本文搭建的建模机器人采用乐视与奥比中光合作的
体感相机
AstraPro
和双目摄像头作为视觉传感器模块
。
即时定位与地图构建
)
学习和三维建模
。
SLAM
(
该视觉传感器模块通过获取
RGB
图像和深度图像可用于
图
3
机器人跟踪目标人体图
4 OenPose
人体关键点结构图
p
2
建模方案设计
本文提出的建模流程主要
包括机器人对目标人体跟踪
、
机
器人对目标人体姿态估计检测
行为动作
、
机器人使用
SMPL
建
模模块
,
流程如图
2
所示
。
2.3
建模算法介绍
姿势的数据集组成
。
马特所提出该种人体建模方法
,
该可
模拟人体肌肉在肢体运动过程中的凸起和凹陷以及骨骼
形态的变换伸展
,
因此可以避免人体在运动过程中的表面
7
]
,
失真
,
精准刻画人的肌肉拉伸以及收缩运动的形貌
[
如
SMPL
模型
[
6
]
由大型
3D
扫描设备制作的人体形态和
2.1
跟踪算法介绍
图
5
所示
。
3
]
,
标跟踪算法
[
该算法可框出目
本文使用
SiamRPN++
目
标人体并实时跟踪
,
算法原理基
于
S
基于全卷积孪生网
iamFC
(
,
络
)
融合
F
更快速
asterRCNN
(
(
区域生成网络
)
模块
,
输出两个
分支分别用于分类和回归
。
区域卷积神经网络
)
中的
RPN
图
2
机器人建模流程图
图
5 SMPL
模型示例
建模期间机器人跟踪目标人体
,
根据人体位置和人体
姿态调整与目标人体的距离
[
4
]
2.2
姿态估计算法
通过检测出人体骨骼关键点信息
,
图形
、
风格
、
特效增
强
、
艺术造型等就可以被加载在人体上
。
追踪人体姿态的
变化
,
渲染的图形可以在人动的时候自然地与人融合
,
以
此获取高精度的人体三维模型
。
包括
1OenPose
算法可以检测人体的多个关键点
,
5
p
或
18
个身体关键点检测
、
21
点手势关键点检测
、
70
点人
5
]
。
机器人将相机中捕捉到的人体画面
脸关键点检测等
[
图
3
所示
。
,
获取最佳的建模质量
,
如
3
实验测试与分析
3.1 SiamRPN++
算法测试
目标人体
,
随即机器人开始对人体实时跟踪
,
如图
6
所示
。
经过反复实验
,
机器人建造出质量良好模型的条件是
需要机器人跟踪目标人体的同时让机器人与目标人体的
距离在一定阈值范围内
。
启动双目摄像头
,
在上位机中调
[
8
]
用
O
测距公式如下
:
enCV
库对目标人体测距
,
p
在上位机调用
S
框出需要跟踪的
iamRPN++
算法
,
敬请登录网站在线投稿
()
g
2020
年第
8
期
1 3
3.2 OenPose
算法测试
p
为了尽量减少机器人到上位机的数据传送延迟时间
结构优化
。
本文使用轻量级网络
MobileNet
替换
Oen-
p
获取的特征图数据与部分关联区域
Pose
中的
VGG
网络
,
之间并行运算
,
并在神经网络计算的起始和中期阶段应用
单个检测分支
,
在最后优化阶段用
1×1
和
3×3
卷积核代
替
7×7
卷积核
。
为了对优化前后的
OenPose
网络框架
p
进行对比测试
,
本文使用
MP
该数据集有
II
人体数据集
,
和提高人体姿态估计的准确率
,
需对
OenPose
神经网络
p
人体样本数量达到
216
个骨骼关键点信息
,
5000
个
。
图
6
机器人跟踪目标人体
/
Z
=
FBX
R
-
X
L
其中
,
Z
表示目标点到双目摄像头的距离
,
F
表示双
目摄像头的焦距
,
B
表示双目摄像头光圈中心之间的距
表示双目摄像头左侧光心与左侧成像点距离
,
几何模型如
图
7
所示
。
离
,
X
R
表示双目摄像头右侧光心与右侧成像点距离
,
X
L
点坐标与优化前后的
OenPose
神经网络框架作误差对
p
比
,
选取人体中几个突出部位的骨骼关键点坐标作为对
照
,
可以看出优化后的
OenPose
神经网络框架可得到较
p
为精准的关键点坐标
。
表
2 OenPose
优化前后测量误差对比
p
部
位
鼻子
左肘
右肘
左膝
右膝
OenPose
测量
p
误差
/
%
2.90
3.88
11.39
12.14
3.14
优化后
OenPose
p
测量误差
/
%
1.45
2.12
1.86
7.36
6.85
表
2
是选取
MPII
数据集中的图片的人体骨骼关键
取目标人体骨骼关键点的坐标以及每个关键点的置信值
,
图
7
机器人测距几何模型
机器人跟踪目标人体期间调用
O
可以获
enPose
算法
,
p
,,)
每三个值作为一组关键点数据
,
由三个信息属性
(
组
abs
成
,
如图
8
所示
。
其中
,
a
和
b
表示人在画面中的坐标信
息
,
可靠度越接近
1
代表姿态估计准确率
s
表示可靠度
,
越高
。
姿态估计画面如图
9
所示
。
建模质量评测指标分为优
、
一般
、
差
。
指标为优表示模型
与真人相比
,
姿态动作方向和四肢伸展角度基本一致
,
误
差较小
;
指标为一般表示模型与真人相比
,
姿态动作方向
相同
,
但四肢伸展角度出现明显的偏差
;
指标为差表示模
型与真人的姿态完全不同
,
建模失败
。
可以看出机器人与
人体的最佳建模距离大概为
2.
机器人设定跟踪的安
2m
,
表
1
比较在不同距离下机器人建模时间和建模质量
。
图
8
部分人体骨骼关键点数据
全距离
x
的区间为
1.
如果机器人脱离设定的
7~3.8m
,
3.3 SMPL
模型测试
SMPL
模型的关键点数据与
OenPose
获取的关键点数据无法
p
相互匹配
,
首先将两者关键点数据
跟踪距离区间
,
则需建立新的跟踪
。
测量距离
/
m
1.72
2.20
2.73
3.26
3.74
实际距离
/
m
1.72
2.12
2.72
3.25
3.71
表
1
不同距离建模指标对比表
建模时间
/
s
5.48
2.32
3.34
5.47
5.59
模型误差
一般
优
优
一般
差
编号进行对应
。
OenPose
算法获
p
取的关键点坐标转换到
SMPL
模
9
]
,
型中会导致深度信息的缺失
[
人
体模型的姿态可能因此发生旋转
。
人体姿态如果发生变换
,
机器
人使用罗德里格斯公式计算变换
后的身体方向
,
公式如下
:
图
9
人体姿态估计
1 4
Microcontrollers&EmbeddedSstems
2020
年第
8
期
y
www
.
mesnet
.
com
.
cn
)
θ
=
norm
(
r
/
R
=
rθ
T
人
。
机器人调用性能优越的
SiamRPN++
目标跟踪算
()())()
r
R
=
cosθI
+
(
1
-
cosθrr
+
sinθ
z
2024年6月12日发(作者:回懿轩)
*
机器人目标跟踪的三维建模
JetsonNanoVR
李亨凡
,
张燕
()
南京大学
金陵学院
,
南京
210089
、
摘要
:
如今
,
虚拟显示技术
)
动作电影特效制作
、
高科技教育
、
医疗行业等领域广泛应用了三维建模这一技术
。
大
VR
(
型立体成像扫描仪器通过建模可以构筑出高精度的人体模型
,
但是该设备成本高
,
耗费大量人力和时间
。
文中提出基于
人体姿态估计和三维模型重建
。
测试结果表明
,
本文搭建的建模机器人
JetsonNano
机器人在室内场景进行人体跟踪
、
可满足自主人体建模的要求
。
关键词
:
目标跟踪
;
姿态估计
;
三维建模
;
JetsonNano
中图分类号
:
TP242.6
文献标识码
:
A
VR3DModelinfRobotTaretTrackinasedonJetsonNano
g
o
gg
B
,,
p
aeraJetsonNanorobotis
p
roosedforhuman
gqppppp
,
brimentresultsshowthatthemodelinobot
ygppg
r
tereoimaincannercanbuildahih-recisionhumanbododelthrouhmodel-
gy
o
gggg
s
gpy
m
g
:
N
,,,
Abstract
owadasVR
,
secialeffectsofactionmovieshih-techeducationmedicalindustrndotherfieldshavewidelsedthe
ypgy
a
y
u
(,,)
JinlinolleeNaninniversitNanin10089
,
China
g
C
gjg
U
yjg
2
,
LiHenfanZhanan
gg
Y
builtinthis
p
aercanmeetthereuirementsofautonomoushumanbododelin.
pqy
m
g
:;;;
Keords
tarettrackinattitudeestimationthree-dimensionalmodelinJetsonNano
ggg
y
w
引
言
1
机器人结构设计
视觉传感器两部分组成
。
建模环境处于室内
,
基于
Jetson
近年来
,
随着计算机硬件大规模计算能力的发展
,
特
别是
G
实时高效的解决方案成
PU
和分布式计算的发展
,
为了可能
。
人工智能领域不断取得突破促进了计算机视
觉技术的发展
,
人工智能可通过计算机视觉模拟人的视觉
感官
,
实现对客观世界场景的认知
。
三维重建技术通过深
度数据获取
、
预处理
、
点云配准与融合
、
生成表面等过程
,
1
]
。
把真实场景刻画成符合计算机逻辑表达的数学模型
[
本文提出的建模机器人主要由
JetsonNano
开发板
、
1.1 JetsonNano
开发板介绍
机动性高
,
能够很好
Nano
开发板搭建的机器人小巧灵活
,
地适应建模环境
,
JetsonNano
机器人如图
1
所示
。
建立三维模型处理平台要求实时对人体检测并建模
,
需要承受极大的计算量
,
本文使
用的算法基于卷积神经网络
,
运
行时间大部分需要用到卷积操
作
。
传统树莓派开发板无法胜
任过于庞大的卷积计算操作
,
相
比之下
,
JetsonNano
开发板装
这种模型可以对文物保护
、
游戏开发
、
建筑设计
、
临床医学
等研究起到辅助作用
。
为此
,
如何能够快速三维建模并提供良好的三维模
2
]
。
本文提出
型
,
是如今计算机视觉领域研究的热门方向
[
基于
J
在
etsonNano
人工智能开发板搭建的建模机器人
,
机器人上装载
R
通过上位机操控机器人实时
GBD
相机
,
跟踪目标人体
,
机器人对目标人体姿态估计
、
建模
。
)。
南京大学金陵学院教改项目
(
*
基金项目
:
载
4
核
CortexA57CPU
,
GPU
选用规模最小的
Maxwell
架构
配备了
4GBLPDDR4
内存
。
借
显卡
,
只有
128
个
CUDA
单元
,
etsonNano
机器人
助
JetsonNano
可以并行运行多
图
1 J
1 2
Microcontrollers&EmbeddedSstems
2020
年第
8
期
y
www
.
mesnet
.
com
.
cn
个神经网络
,
从而实现图像分类
、
物体检测
、
分割和语音处
理等应用
。
因此
,
需要构建人工智能和机器学习项目
,
低
Nano
开发板是最理想的选择
。
成本
、
低功耗
、
高性能且拥有完整
GPU
的
NVIDIAJetson
传送到电脑
,
OenPose
算法可以在画面中获取人体骨骼
p
18
个骨骼关键点的结构如图
4
所示
。
关键点信息和每个关键点的可靠度
,
OenPose
算法获取
p
1.2
视觉传感器模块介绍
由于技术的限制
,
普通摄像头获得的平面图像信息对
机器理解世界产生了巨大的限制
,
现在由于深度摄像头的
出现
,
使得机器人也获得了三维视觉能力
,
让机器人认识
和理解世界的能力产生了飞跃的进步
。
目前用在三维建
模的传感器主要分为两类
,
基于激光雷达的激光相机和基
于深度视觉的相机
。
本文搭建的建模机器人采用乐视与奥比中光合作的
体感相机
AstraPro
和双目摄像头作为视觉传感器模块
。
即时定位与地图构建
)
学习和三维建模
。
SLAM
(
该视觉传感器模块通过获取
RGB
图像和深度图像可用于
图
3
机器人跟踪目标人体图
4 OenPose
人体关键点结构图
p
2
建模方案设计
本文提出的建模流程主要
包括机器人对目标人体跟踪
、
机
器人对目标人体姿态估计检测
行为动作
、
机器人使用
SMPL
建
模模块
,
流程如图
2
所示
。
2.3
建模算法介绍
姿势的数据集组成
。
马特所提出该种人体建模方法
,
该可
模拟人体肌肉在肢体运动过程中的凸起和凹陷以及骨骼
形态的变换伸展
,
因此可以避免人体在运动过程中的表面
7
]
,
失真
,
精准刻画人的肌肉拉伸以及收缩运动的形貌
[
如
SMPL
模型
[
6
]
由大型
3D
扫描设备制作的人体形态和
2.1
跟踪算法介绍
图
5
所示
。
3
]
,
标跟踪算法
[
该算法可框出目
本文使用
SiamRPN++
目
标人体并实时跟踪
,
算法原理基
于
S
基于全卷积孪生网
iamFC
(
,
络
)
融合
F
更快速
asterRCNN
(
(
区域生成网络
)
模块
,
输出两个
分支分别用于分类和回归
。
区域卷积神经网络
)
中的
RPN
图
2
机器人建模流程图
图
5 SMPL
模型示例
建模期间机器人跟踪目标人体
,
根据人体位置和人体
姿态调整与目标人体的距离
[
4
]
2.2
姿态估计算法
通过检测出人体骨骼关键点信息
,
图形
、
风格
、
特效增
强
、
艺术造型等就可以被加载在人体上
。
追踪人体姿态的
变化
,
渲染的图形可以在人动的时候自然地与人融合
,
以
此获取高精度的人体三维模型
。
包括
1OenPose
算法可以检测人体的多个关键点
,
5
p
或
18
个身体关键点检测
、
21
点手势关键点检测
、
70
点人
5
]
。
机器人将相机中捕捉到的人体画面
脸关键点检测等
[
图
3
所示
。
,
获取最佳的建模质量
,
如
3
实验测试与分析
3.1 SiamRPN++
算法测试
目标人体
,
随即机器人开始对人体实时跟踪
,
如图
6
所示
。
经过反复实验
,
机器人建造出质量良好模型的条件是
需要机器人跟踪目标人体的同时让机器人与目标人体的
距离在一定阈值范围内
。
启动双目摄像头
,
在上位机中调
[
8
]
用
O
测距公式如下
:
enCV
库对目标人体测距
,
p
在上位机调用
S
框出需要跟踪的
iamRPN++
算法
,
敬请登录网站在线投稿
()
g
2020
年第
8
期
1 3
3.2 OenPose
算法测试
p
为了尽量减少机器人到上位机的数据传送延迟时间
结构优化
。
本文使用轻量级网络
MobileNet
替换
Oen-
p
获取的特征图数据与部分关联区域
Pose
中的
VGG
网络
,
之间并行运算
,
并在神经网络计算的起始和中期阶段应用
单个检测分支
,
在最后优化阶段用
1×1
和
3×3
卷积核代
替
7×7
卷积核
。
为了对优化前后的
OenPose
网络框架
p
进行对比测试
,
本文使用
MP
该数据集有
II
人体数据集
,
和提高人体姿态估计的准确率
,
需对
OenPose
神经网络
p
人体样本数量达到
216
个骨骼关键点信息
,
5000
个
。
图
6
机器人跟踪目标人体
/
Z
=
FBX
R
-
X
L
其中
,
Z
表示目标点到双目摄像头的距离
,
F
表示双
目摄像头的焦距
,
B
表示双目摄像头光圈中心之间的距
表示双目摄像头左侧光心与左侧成像点距离
,
几何模型如
图
7
所示
。
离
,
X
R
表示双目摄像头右侧光心与右侧成像点距离
,
X
L
点坐标与优化前后的
OenPose
神经网络框架作误差对
p
比
,
选取人体中几个突出部位的骨骼关键点坐标作为对
照
,
可以看出优化后的
OenPose
神经网络框架可得到较
p
为精准的关键点坐标
。
表
2 OenPose
优化前后测量误差对比
p
部
位
鼻子
左肘
右肘
左膝
右膝
OenPose
测量
p
误差
/
%
2.90
3.88
11.39
12.14
3.14
优化后
OenPose
p
测量误差
/
%
1.45
2.12
1.86
7.36
6.85
表
2
是选取
MPII
数据集中的图片的人体骨骼关键
取目标人体骨骼关键点的坐标以及每个关键点的置信值
,
图
7
机器人测距几何模型
机器人跟踪目标人体期间调用
O
可以获
enPose
算法
,
p
,,)
每三个值作为一组关键点数据
,
由三个信息属性
(
组
abs
成
,
如图
8
所示
。
其中
,
a
和
b
表示人在画面中的坐标信
息
,
可靠度越接近
1
代表姿态估计准确率
s
表示可靠度
,
越高
。
姿态估计画面如图
9
所示
。
建模质量评测指标分为优
、
一般
、
差
。
指标为优表示模型
与真人相比
,
姿态动作方向和四肢伸展角度基本一致
,
误
差较小
;
指标为一般表示模型与真人相比
,
姿态动作方向
相同
,
但四肢伸展角度出现明显的偏差
;
指标为差表示模
型与真人的姿态完全不同
,
建模失败
。
可以看出机器人与
人体的最佳建模距离大概为
2.
机器人设定跟踪的安
2m
,
表
1
比较在不同距离下机器人建模时间和建模质量
。
图
8
部分人体骨骼关键点数据
全距离
x
的区间为
1.
如果机器人脱离设定的
7~3.8m
,
3.3 SMPL
模型测试
SMPL
模型的关键点数据与
OenPose
获取的关键点数据无法
p
相互匹配
,
首先将两者关键点数据
跟踪距离区间
,
则需建立新的跟踪
。
测量距离
/
m
1.72
2.20
2.73
3.26
3.74
实际距离
/
m
1.72
2.12
2.72
3.25
3.71
表
1
不同距离建模指标对比表
建模时间
/
s
5.48
2.32
3.34
5.47
5.59
模型误差
一般
优
优
一般
差
编号进行对应
。
OenPose
算法获
p
取的关键点坐标转换到
SMPL
模
9
]
,
型中会导致深度信息的缺失
[
人
体模型的姿态可能因此发生旋转
。
人体姿态如果发生变换
,
机器
人使用罗德里格斯公式计算变换
后的身体方向
,
公式如下
:
图
9
人体姿态估计
1 4
Microcontrollers&EmbeddedSstems
2020
年第
8
期
y
www
.
mesnet
.
com
.
cn
)
θ
=
norm
(
r
/
R
=
rθ
T
人
。
机器人调用性能优越的
SiamRPN++
目标跟踪算
()())()
r
R
=
cosθI
+
(
1
-
cosθrr
+
sinθ
z