quickpose-ios-sdk

Swift Package Manager

QuickPose 为开发者提供面向开发者的、最前沿的 MediaPipe 和 BlazePose ML 功能,易于集成且代码可直接用于生产,从而显著提高将姿势估计、骨骼跟踪和健身计数功能集成到移动应用程序中的速度。

请查看下方的功能特性,或访问我们的网站 docs.quickpose.ai/docs/MobileSDK 查阅完整文档

运动范围示例 抬腿计数器示例
health-shoulder-right-rom fitness-leg-raises

注册 SDK 密钥

https://dev.quickpose.ai 获取您的免费 SDK 密钥,可能存在使用限制。SDK 密钥与您的 Bundle ID 关联,请在发布到 App Store 之前检查密钥。

工作原理

QuickPose 处理视频帧,使开发人员可以轻松地对图像执行复杂的 AI 功能,例如在输出图像上叠加标记以突出显示用户的姿势。

+----------+          +-------------+          +-----------------+
|          |          |             |          |  Overlay Image  |
|  Camera  |--------->|  QuickPose  |--------->|        +        |
|          |          |             |          |     Results     |
+----------+          +-------------+          +-----------------+

功能特性

功能 示例 支持
关节位置 MediaPipe Landmarks v0.1

叠加层

全身

上半身

下半身

肩部

左臂

右臂

左腿

右腿

Whole Body Overlay v0.1

健康 - 运动范围

左肩

右肩

左髋

右髋

左膝

右膝

背部

颈部

health-shoulder-right-rom v0.3

距离无关测量线 beta

相对于身高的测量

以厘米为单位的测量(使用身高作为输入)

feature-scale-independent-ruler v1.1.0

健身 - 运动检测与计数器

深蹲

相扑深蹲

开合跳

俯卧撑

平板支撑

眼镜蛇飞燕

左腿弓步

右腿弓步

仰卧起坐

眼镜蛇飞燕

平板支撑

抬腿

臀桥

过头哑铃推举

V字起

侧平举

前平举

站姿左侧髋外展

站姿右侧髋外展

左侧弓步

右侧弓步

二头弯举

fitness-pushup v0.8 - v1.1.0

输入

抬手手指检测与计数

finger-counter-left v0.5

输入

点赞手势检测,点赞和点踩手势检测

thumbs-up v0.6

元功能特性

功能 示例 支持
堆叠功能样式 shoulder-conditional-image
Tariq Ali 的自行车侧视图视频
v0.4
条件样式 knee-conditional-image v0.4

健身 - 反馈

身体位置

指定的腿或手臂不可见

fitness-body-feedback v0.8
方向切换 landscape v1.0.0

支持的平台

iOS 设备 Silicon Mac (M1, M2 等) iOS 模拟器 x86_64 iOS 模拟器 arm64
✅ 运行 ✅ 运行 ⚙ 编译 ⚙ 编译

系统要求

安装 SDK

Swift Package Manager

步骤 1: 点击 Xcode 项目文件

步骤 2: 点击 Swift Packages,然后点击加号 (+) 添加软件包

步骤 3: 输入以下仓库 URL https://github.com/quickpose/quickpose-ios-sdk.git 并点击下一步

Import Package

步骤 4: 选择所有模块,然后点击添加软件包。

模块 描述
QuickPoseCore 核心 SDK(必需)
QuickPoseMP 包含所有模型的 Mediapipe 库(需要一个 QuickPoseMP 变体)
QuickPoseMP-lite Mediapipe Lite 库
QuickPoseMP-full Mediapipe Full 库
QuickPoseMP-heavy Mediapipe Heavy 库
QuickPoseCamera 用于集成的实用工具类(可选,推荐)
QuickPoseSwiftUI 用于 SwiftUI 集成的实用工具类(可选,推荐)

CocoaPods

步骤 1: 打开您的项目的 Podfile 文件

步骤 2: 添加您的 pod 文件依赖项

pod 'QuickPoseCore', :git => 'https://github.com/quickpose/quickpose-ios-sdk.git'
pod 'QuickPoseCamera', :git => 'https://github.com/quickpose/quickpose-ios-sdk.git'
pod 'QuickPoseSwiftUI', :git => 'https://github.com/quickpose/quickpose-ios-sdk.git'
模块 描述
QuickPoseCore 包含核心 SDK 和 Mediapipe 库(必需)
QuickPoseCamera 用于集成的实用工具类(可选,推荐)
QuickPoseSwiftUI 用于 SwiftUI 集成的实用工具类(可选,推荐)

步骤 3: 从命令行运行 pod update

入门指南

请查看下面的代码示例或下载我们的 示例应用程序

在较新的 M1/M2 Mac 上入门

步骤 1: 下载/克隆仓库

步骤 2: 打开 Basic Demo

步骤 3: 选择构建目标 “My Mac (Designed For iPad/iPhone)”

步骤 4: 运行

Getting Started With Mac Picture

步骤 5: 探索功能特性和返回的结果

quickPose.start(features: [.overlay(.upperBody)], onFrame: { status, image, features, feedback, landmarks in
    if case .success(_) = status {
        overlayImage = image
    }
})

在较旧的 Intel Mac 上入门

步骤 1: 下载/克隆仓库

步骤 2: 打开 Basic Demo

步骤 3: 选择构建目标为您的物理设备

步骤 5: 如果您尚未操作,则需要更改 bundleid 并在 Apple 注册。

步骤 5: 运行

步骤 6: 探索功能特性和返回的结果

quickPose.start(features: [.overlay(.upperBody)], onFrame: { status, image, features,  feedback, landmarks in
    if case .success(_) = status {
        overlayImage = image
    }
})

SwiftUI 示例

import SwiftUI
import QuickPoseCore
import QuickPoseSwiftUI

....

struct QuickPoseBasicView: View {
    
    private var quickPose = QuickPose(sdkKey: "YOUR SDK KEY HERE") // register for your free key at https://dev.quickpose.ai
    @State private var overlayImage: UIImage?
    
    var body: some View {
        GeometryReader { geometry in
            ZStack(alignment: .top) {
                QuickPoseCameraView(useFrontCamera: true, delegate: quickPose)
                QuickPoseOverlayView(overlayImage: $overlayImage)
            }
            .frame(width: geometry.size.width)
            .edgesIgnoringSafeArea(.all)
            .onAppear {
                quickPose.start(features: [.overlay(.userLeftArm)], onFrame: { status, image, features,  feedback, landmarks in
                    if case .success(_) = status {
                        overlayImage = image
                    }
                })
            }.onDisappear {
                quickPose.stop()
            }
            
        }
    }
}

文档

请访问我们的完整文档 https://docs.quickpose.ai/docs/MobileSDK,其中包含更多 SwiftUI 和 UIKit 示例。

问题排查

找不到模块

Xcode 报告错误,找不到模块 QuickPoseCore 或找不到模块 QuickPoseSwiftUI

当链接器找不到提供的 XCFrameworks 时,会发生这种情况。这些需要添加到您的构建目标中。

xcode troubleshooting no such module error

xcode troubleshooting no such module guide