README.md

July 8, 2021 · View on GitHub

logo-pose-estimatiton-for-tflite-3

platform-ios swift-version lisence PRs Welcome

This project is Pose Estimation on iOS with TensorFlow Lite.
If you are interested in iOS + Machine Learning, visit here you can see various DEMOs.

2D pose estimation in real-time3D pose estimation

Features

  • Support 2D pose estimaiton TFLite models
    • Real-time demo with Metal framwork
    • Photo album demo
  • Support 3D pose estimation TFLite model
    • Real-time demo with Metal framwork (but realtime model is not ready yet)
    • Real-time pose matching demo
    • Photo album demo
  • Render the result keypoints of 2D pose estimation in 2D demo page
  • Render the result keypoints of 3D pose estimation with SceneKit
  • Render the heatmaps of 2D pose estimation output
    • Part Confidence Maps for typical heatmap based models
    • Part Affinity Fields for OpenPose (2D multi-person)
  • Implemented pose-matching with cosine similiarity in 3D pose demo
  • Implemented to fix the shoulders' keypoints in 3D pose estimation to pre-process for pose-matching

Models

Source Images

Namegifimg-0img-1img-2
Source-

Joint Samples

Model Namesgifimg-0img-1img-2
PoseNet-pose-demo-linedot-posenet-0pose-demo-linedot-posenet-2pose-demo-linedot-posenet-3
PEFM CPM-pose-demo-PEFMCPM-0pose-demo-PEFMCPM-2pose-demo-PEFMCPM-3
PEFM Hourglass-pose-demo-PEFMHourglass-0pose-demo-PEFMHourglass-2pose-demo-PEFMHourglass-3
OpenPose (multi-person)-pose-demo-openpose-0pose-demo-openpose-2pose-demo-openpose-3

Heatmap-ConfidenceMap Samples

Model Namesgifimg-0img-1img-2
PoseNet----
PEFM CPM-pose-demo-heatmap-PEFMCPM-0pose-demo-heatmap-PEFMCPM-2pose-demo-heatmap-PEFMCPM-3
PEFM Hourglass-pose-demo-heatmap-PEFMHourglass-0pose-demo-heatmap-PEFMHourglass-2pose-demo-heatmap-PEFMHourglass-3
OpenPose (multi-person)-pose-demo-heatmap-posenet-0pose-demo-heatmap-posenet-2pose-demo-heatmap-posenet-3

Heatmap-PAF Samples

Model Namesgifimg-0img-1img-2
OpenPose (PAF x)-pose-demo-heatmap-pafx-PEFMHourglass-0pose-demo-heatmap-pafx-PEFMHourglass-2pose-demo-heatmap-pafx-PEFMHourglass-3
OpenPose (PAF y)-pose-demo-heatmap-pafy-PEFMHourglass-0pose-demo-heatmap-pafy-PEFMHourglass-2pose-demo-heatmap-pafy-PEFMHourglass-3

Meta Data

2D

✅ vs ☑️NameSizeInference
Time
on iPhone11Pro
Post-process
Time
on iPhone11Pro
PCKh-0.5multi person
vs
single person
Model SourcePapertflite
download
PoseNet13.3 MB---singletensorflow/tensorflowPersonLab
PEFM CPM2.4 MB---singleedvardHua/PoseEstimationForMobileConvolutional Pose Machines
PEFM Hourglass v11.8 MB---singleedvardHua/PoseEstimationForMobileStacked Hourglass Networks
PEFM Hourglass v21.7 MB---singleedvardHua/PoseEstimationForMobileStacked Hourglass Networks
OpenPose7.8 MB---multiildoonet/tf-pose-estimationOpenPose
☑️AlphaPose----singleosmr/imgclsmobRMPE
☑️SelecSLS----singleosmr/imgclsmob-
☑️IBPPose----singleosmr/imgclsmob-
☑️Lightweight OpenPose----singleosmr/imgclsmobOpenPose

3D

✅ vs ☑️NameSizeInference
Time
on iPhone11Pro
Post-process
Time
on iPhone11Pro
(metric)Model SourcePapertflite
download
Baseline3DPose137.1 MB347 ms79 ms-mks0601/3DMPPE_POSENET_RELEASEBaseline3Ddownload
LiteBaseline3DPose16.6 MB116 ms
(cpu only)
19 ms
(cpu only)
SangbumChoi/MobileHumanPoseMHPdownload

Requirements

  • Xcode 11.3+
  • iOS 11.0+
  • Swift 5
  • CocoaPods
gem install cocoapods

Build & Run

  1. Install dependencies with cocoapods
cd ~/{PROJECT_PATH}
pod install
  1. Open the PoseEstimation-TFLiteSwift.xcworkspace and run the project

See also

License

This repository is licensed under Apache 2.0. Full license text is available in LICENSE.