LiftTrack: Isang 3D CNN-Based na Mobile Solution para sa Pagsubaybay at Pagpapabuti ng mga Teknik sa Weightlifting
3D CNN Mobile Form Correction + Flutter
Overview
Role: Flutter Frontend & Architecture Lead
Stack: Flutter, Dart, BLoC, 3D CNN, Python
Key Result: 100% Deadlift Form Accuracy
Duration: 8 buwan (Hulyo 2024 - Pebrero 2025)
Ang LiftTrack ay isang research-backed na mobile application na idinisenyo upang gawing accessible ang professional weightlifting coaching para sa lahat. Sa pamamagitan ng pag-integrate ng mga advanced computer vision model sa isang Flutter application, ang system ay nagbibigay ng real-time biomechanical analysis at corrective feedback upang maiwasan ang mga injury. Ang 8-buwang capstone project na ito ay nagpokus sa pagbuo ng isang high-performance solution para sa real-time weightlifting form monitoring gamit ang 3D CNN at Pose Estimation.
Ang Problema
Hamon: Mataas na risk ng injury sa pagbubuhat dahil sa maling form at kawalan ng professional coaching.
Audience: Solo gym-goers at mga atleta na walang access sa mga mahal na personal trainer.
Constraints: Real-time inference sa mobile devices, paghawak ng mga complex temporal movements versus static na mga pose, at pagpapanatili ng mataas na frame rates para sa agarang feedback.
Ang mga solo lifters ay madalas na nahihirapan sa pagpapanatili ng tamang form, na nagreresulta sa mga chronic injury o suboptimal na mga gains. Ang tradisyunal na pose estimation ay madalas na nabibigong makuha ang "rhythm" at temporal sequence ng isang lift, na kritikal sa pagtukoy ng mga technical flaws sa mga galaw tulad ng deadlift o squat. Ang kawalan ng isang mura at portable na solusyon para sa form analysis ay isang malaking hadlang sa ligtas at epektibong training.
Key Decisions: Pinagsamang 3D CNN (Temporal) para sa movement phase identification kasama ang MoveNet (Pose) para sa skeletal analysis at YOLO-NAS (Equipment) para sa bar path tracking.
State Management: Inilapat ang Clean Architecture na may BLoC upang i-manage ang 3 parallel data streams nang walang UI lag.
Trade-offs: Remote cloud inference ang pinili upang mapanatili ang 30+ FPS sa mid-range devices habang pinoproseso ang mabibigat na 3D CNN tensors.
Gumagamit ang system ng isang custom data flow: Camera -> 30-Frame Buffer -> Parallel Inference -> Feature Aggregation. Sinisiguro nito na hindi lang "snapshot" ng isang pose ang nakikita ng application, kundi naiintindihan nito ang buong arc ng paggalaw. Sa pamamagitan ng paghihiwalay ng presentation layer mula sa mabigat na inference logic, nakamit namin ang isang smooth na user experience kahit sa gitna ng intensive computation.
Resulta at Impact
Outcome: Validated 95% general accuracy sa mga core lifts, umabot ng 100% sa mga specific exercises tulad ng Deadlift.
Impact: Nakabuo ng isang murang alternatibo sa personal training, nagbibigay ng professional-grade na form correction sa sinumang may smartphone.
Performance: Nakakamit ang sub-100ms inference feedback loop, habang pinapanatili ang 30+ FPS sa mga inirerekomendang device.
Exercise
Accuracy
Deadlift
100.00%
Romanian Deadlift
83.33%
Bench Press
80.00%
Overall Average
~95%
Technical Deep Dive
Parallel Multi-Modular Inference Pipeline
3D CNN (Temporal Classification): Isang 3-dimensional convolutional neural network ang nagpoproseso ng buffer ng 30 frames upang matukoy ang uri ng exercise at yugto ng paggalaw.
Architecture: Input (30x128x128x3) → 2x Conv3D (32, 64 filters) → 3D Max Pooling → Global Average Pooling → Softmax.
MoveNet (Human Pose Estimation): Kinukuha ang 17 body keypoints bawat frame upang kalkulahin ang mga joint angle at body alignment.
YOLO-NAS (Equipment Tracking): Dine-detect at tina-track ang mga barbell/dumbbell upang kalkulahin ang displacement, bilis, at bar path.
Key Optimizations
Normalization: Ang mga body keypoint ay nino-normalize gamit ang haba ng torso ng user bilang reference vector, tinitiyak ang accuracy sa iba't ibang uri ng katawan at distansya ng camera.
Heuristic Evaluation: Kapag natukoy na ng 3D CNN ang exercise (halimbawa, Deadlift), naglalapat ang system ng mga partikular na biomechanical threshold (halimbawa, back angle > 150°) sa aggregated data.
Feedback Loop: Ang audio at visual feedback ay nabubuo sa loob ng milliseconds, naglalabas ng mga partikular na mungkahi tulad ng "Panatilihing tuwid ang iyong likod" o "Ibaba ang iyong balakang."
Repleksyon
Tagumpay: Ang clean BLoC architecture ay matagumpay na nag-manage ng complex state at real-time data streams, pinapatunayan na kayang hawakan ng Flutter ang intensive ML-integrated applications.
Future Directions: Pag-explore ng AR overlays para sa mas intuitive na spatial guidance at pagpapalawak ng training set sa 50,000+ images para sa mas malawak na inclusivity.
Hamon: Ang pag-navigate sa mga iOS development barriers at cross-platform library limitations ay nangailangan ng mga custom implementations. Hinarap din ng proyekto ang mga hardware failures at curriculum delays, na nalampasan namin sa pamamagitan ng agile adjustments at infrastructure improvements.
Aking mga Kontribusyon
Flutter Frontend (iOS/Android): Binuo ang cross-platform mobile interface gamit ang Dart at Flutter.
Arkitektura: Inilapat ang Clean Architecture na may BLoC para sa scalable at maintainable na code.
Core Tampok: Ininhinyero ang core functionality para sa workout logging, progress tracking, at authentication.
UI/UX Design: Dinisenyo ang mga interactive na interface na may diin sa linaw at feedback.
iOS Compatibility: Niresolba ang mga platform-specific na isyu at nagpatupad ng mga alternatibo sa Android-only na Flutter packages.
Refactoring: Pinangunahan ang architectural refactor ng Profile module upang mapabuti ang separation of concerns.
Cloud Infrastructure: Tumulong sa pag-deploy ng 3D CNN model sa isang remote cloud server dahil sa mataas na compute requirements.
DevOps Setup: In-integrate ang frontend sa backend ML services gamit ang isang custom deployment pipeline.
Arkitektura ng Proyekto
Ang app na ito ay sumusunod sa Clean Architecture na may modular layers at feature-based na organisasyon.
Layered Structure: Ang Presentation, Domain, at Data layers ay mahigpit na magkahiwalay. Basahin ang tungkol dito
Feature Modules: Ang bawat major feature (halimbawa, Profile, Progress, Workout Logging) ay independently structured.
BLoC State Management: Tinitiyak ang predictable na state transitions at testable na business logic.
Mga Kamakailang Pagpapabuti: Profile module ay na-refactor upang sumunod sa mga layuning arkitektura. Mga Tala sa Refactoring
Demo Preview
Bagaman ang live version ay hindi available, narito ang mga core views mula sa LiftTrack:
Workout logging interface sa Android at iOS
Progress tracking at dashboard
Cloud ML pipeline (available ang architecture diagram)
Hosting Note:
Ang proyektong ito ay na-deploy sa isang cloud server na pinamamahalaan ng project manager. Dahil sa expired na hosting at mga limitasyon sa access, ang live app ay kasalukuyang offline. Ang isang buong demo at recorded walkthrough ay available kapag hiniling.