技术分析 0.2.0

技术分析 0.2.0

Trevor Phillips 维护。



  • 作者:
  • trevphil

技术分析

描述

这是一个处理用户进行锻炼的视频资料并在用户动作形式上提供反馈的CocoaPod。基本的想法是捕捉一个视频并将其转换为时间序列,每个数据点包含一个二维空间中的身体点的数组,以及每个身体点准确性的置信水平。

pipeline

使用类似于OpenPose的项目已经可以估计身体点(称为“姿态估计”),例如tucan9389根据他的项目,该项目能够实时预测身体点,为这里的代码提供了一个出色的起点。

要将姿态估计转换为技术分析,我们需要在时间序列上训练模型,用于各种练习的正确和错误形式。斯坦福大学的Richard Yang和Steven Chen在动态时间规整(DTW)上取得了相对成功,如此论文中所描述的。

dtw

Keogh等人在其论文《使用数字减少进行快速时间序列分类》中提供了一种有希望的、高效的算法,用于对类似于这里所述案例的用例使用DTW(其中k=1和动态规整窗口)训练kNN模型。

当前iOS上与CoreML兼容的ML框架(例如 scikit-learn)缺乏一个合适的预训练kNN-DTW模型并将其捆绑到iOS应用程序中的模型。因此,最佳选择可能是手动实现算法并将其与应用程序一起分发。这里的kNN-DTW算法是用Swift编写的,但用<强>C编写算法将提供更快的运行时。关于kNN-DTW的进一步解释,Mark Regan实现了一个类似于Keogh等人所描述的Python版本的kNN-DTW。可以在这里找到。

示例

要运行示例项目,请克隆仓库,然后从 Example 目录运行 pod install 命令。您应该使用 Xcode 的 Legacy Build System 来正确地将视频包括在 Bundle Resources 中(文件 → 工作区设置 → 共享工作区设置 → 构建系统)。

demo

要求

iOS 11, Swift 4.2

安装

TechniqueAnalysis 可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中

pod 'TechniqueAnalysis'

作者

trevphil, [email protected]

许可证

TechniqueAnalysis 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。