用Azure Kinect进行人体跟踪并保存骨骼位置吧【Azure Kinect实践讲座#2】

首先

这篇文章记录了用Azure Kinect进行人体跟踪的方法以及将骨骼位置保存为csv的方法。

运行Azure Kinect的环境以及PC必要的配置请从这里确认一下。

Body Tracking SDK

为了实现人体追踪,PC必须下载Body Tracking SDK。

从“msi”链接地址下载并安装最新版本。点击“Windows开始”按钮输入“body”,如果能启动Body Tracking Viewer则说明安装完成。

实际启动后检测到人体的话,骨骼部分会像以下视频中那样被着色。

人体跟踪精度提高了吗?

以前的Kinect v2也可以人体跟踪。Azure Kinect的人体跟踪精度更高了。具体来说,v2仅仅是对像素周围的深度信息进行差分得到特征量,而Azure Kinect是在深度学习基础上来进行人体跟踪,所以在遇到拿着物体等环境因素引起的干扰的情况时精度会更好。另外它也可以识别出身体的正反面

从以下的对比动画中也可以对正确识别身体的正反面有一些认识。在初始状态下会内置类似于低通滤波器一样的东西,它会抑制骨骼的推断位置处的噪声。

保存骨骼位置的方法

仅安装SDK,只能预览骨骼位置但是并不能保存。安装以下的工具就可以将骨骼的三维位置保存成csv格式,该文件可以在数据分析时使用。

AKRecorder会在人出现时开始记录骨骼坐标(csv)和深度相机的彩色图片(png),在人消失时结束记录。记录文件会被保存在以年月日和记录开始时间戳为名字的文件夹中,最多同时处理6个人。

AKRecorder要用Visual Studio打开Csharp_3d_viewer.sln工程文件后,build该工程文件才可运行。要提前在PosSaver.csv中指定数据保存路径(第33行)。build工程文件时报错的话大多是缺少依赖库,将它们安装好即可。另外,想要可视化记录中的骨骼位置的话,请去掉代码中搭建GUI相关部分的代码的注释。

总结

利用Azure Kinect Body Tracking SDK和AKRecorder进行人体检测以及保存骨骼坐标值的方法到这里就介绍完毕了。

Bio

正田 孝平

正田 孝平

学生ブロガー兼エンジニア(東工大院21卒)
AI,IoT,web最新技術の具体的活用術、キャッシュレス決済と資産運用の最新トレンドや語学の体系的学習法について発信。在学中は人力飛行機の製作、webアプリ開発に積極的に携わった。
【趣味】
球技、水泳、マラソン、スノーボード