姿态估计
姿态估计
1.简介
姿势估计包括定位形成骨架拓扑(又名链接)的各种身体部位(又名关键点)。姿势估计有多种应用,包括手势、AR/VR、HMI(人机界面)和姿势/步态校正。为人体和手部姿势估计提供了预先训练的模型,该模型能够在每帧中检测多个人。
poseNet对象接受图像作为输入,并输出对象姿势列表。每个对象姿势都包含一个检测到的关键点列表,以及它们的位置和关键点之间的链接。您可以查询这些以查找特定功能。poseNet可以从Python和C++中使用。
作为使用poseNet类的示例,有C++和Python的示例程序。这些样本能够检测图像、视频和摄像头中多个人的姿势。有关支持的各种类型的输入/输出流的更多信息。
首先,让我们尝试在一些示例图像上运行posenet示例。建议将输出图像保存到images/test挂载的目录中。然后,在jetson推理/data/images/test下,可以很容易地从主机设备上查看这些图像
构建项目后,请确保您的终端位于aarch64/bin目录中:
cd jetson-inference/build/aarch64/bin
以下是使用默认pose-ResNet18-Body模型进行人体姿势估计的一些示例:
# C++
$ ./posenet images/humans_4.jpg images/test/pose_humans_%i.jpg
# Python
$ ./posenet.py images/humans_4.jpg images/test/pose_humans.jpg
注意:第一次运行每个模型时,TensorRT将花费几分钟时间来优化网络。 这个经过优化的网络文件随后被缓存到磁盘上,因此将来使用该模型的运行将更快地加载。
要在实时摄像机流或视频上运行姿势估计,请从“摄像机流和多媒体”页面输入设备或文件路径。
# C++
$ ./posenet /dev/video0 # csi://0 if using MIPI CSI camera
# Python
$ ./posenet.py /dev/video0 # csi://0 if using MIPI CSI camera
还有个手部识别:
# C++
$ ./posenet --network=resnet18-hand /dev/video0
# Python
$ ./posenet.py --network=resnet18-hand /dev/video0
注意:要是自己搭建环境的情况下得自己下载模型文件到network文件夹下才能运行上 面的程序。