TensorFlow Lite PoseNet iOS 示例应用

概述

这是一个移动设备上的摄像头应用,使用 姿势预测模型 通过摄像头实时检测人体的关键点。人体的关键点是指构建人体骨架所需的点,例如肩膀,肘部,膝盖等。

应用程序会提取和模型要求的输入图像长宽比相一致的最大图像。由于被去除的区域已被遮挡,所以您可以在显示屏上查看被提取的区域。当推理总得分高于0.5时,将呈现结果。

摄像头抓拍的照片在使用后会立即丢弃,不会进行保存。

所用模型

姿势预测模型是一种视觉模型,通过关键人体关节位置的估算来预测图像或视频中人的姿势。

模型结构

image

预处理

在预处理过程中,摄像头输入的图像将被转换,以满足模型对输入的要求:首先,将原始图像裁剪为符合模型输入尺寸 (宽高比) 的图像,然后对裁剪后图像进行大小调整,并转换为模型可接受的数据类型。

推理

将预处理的数据分配给输入张量并运行模型。将输出数据分配给输出张量作为结果。

后处理

在后处理中,它将计算关键点和要显示的线的位置以及总信任值得分。总信任值分数是所有关键点信任值 (信任值取值范围在 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 在您的设备上安装该应用程序。

原文:Tensorflow Lite PoseNet iOS Example Application
中文:TensorFlow 公众号