TensorFlow Lite PoseNet iOS 示例应用
概述
这是一个移动设备上的摄像头应用,使用姿势预测模型通过摄像头实时检测人体的关键点。人体的关键点是指构建人体骨架所需的点,例如肩膀,肘部,膝盖等。
姿势预测模型
https://tensorflow.google.cn/lite/models/pose_estimation/overview
应用程序会提取和模型要求的输入图像长宽比相一致的最大图像。由于被去除的区域已被遮挡,所以您可以在显示屏上查看被提取的区域。当推理总得分高于0.5时,将呈现结果。
摄像头抓拍的照片在使用后会立即丢弃,不会进行保存。
姿势预测模型是一种视觉模型,通过关键人体关节位置的估算来预测图像或视频中人的姿势。
在预处理过程中,摄像头输入的图像将被转换,以满足模型对输入的要求:首先,将原始图像裁剪为符合模型输入尺寸 (宽高比) 的图像,然后对裁剪后图像进行大小调整,并转换为模型可接受的数据类型。
将预处理的数据分配给输入张量并运行模型。将输出数据分配给输出张量作为结果。
在后处理中,它将计算关键点和要显示的线的位置以及总信任值得分。总信任值分数是所有关键点信任值 (信任值取值范围在 0.0 至 1.0,1.0 为最高信任值) 的平均值。
根据热力图张量 (heat tensor) 和偏移张量计算关键点的坐标。这些坐标基于模型输入大小,这意味着您应变换每个坐标以匹配关键点的显示视图大小。由于此应用程序的显示视图大小与模型输入大小不同,因此它将转换点的坐标。使用变换后的点,可以通过将点连接在相邻关节之间来绘制人的骨骼。
要求
Xcode 有效的 Apple 开发人员 ID 带摄像头的物理 iOS 设备 iOS 12.0 或更高版本 Xcode 命令行工具(如需安装,请运行 xcode-select --install ) CocoaPods(如需安装,请运行 sudo gem install cocoapods )
构建并运行
将 GitHub 仓库中的 TensorFlow 示例克隆到您的计算机以获取演示应用。
git clone https://github.com/tensorflow/example
安装 pod 来生成工作空间文件: cd examples/lite/examples/posenet/ios && pod install
注意:如果您之前已安装 pod,该命令却不起作用,请尝试 pod update 。在此步骤结束后,您应该有一个名为 PoseNet.xcworkspace 的目录。 使用以下命令在 Xcode 中打开项目:
open PoseNet.xcworkspace
这将启动 Xcode 并打开 PoseNet 项目。 在菜单栏中,选择 Product → Destination 然后选择您的物理设备。 在菜单栏中,选择 Product → Run 在您的设备上安装该应用程序。
GitHub
https://github.com/tensorflow/examples/tree/master/lite/examples/posenet/ios?linkId=80292261