How ahmednawaz8813/myomotion works
MyoMotion is an early-stage strength-coaching prototype. Its implemented user workflow is to supply a deadlift video or webcam feed (or choose a synthetic scenario), detect pose landmarks, analyze movement and repetition phases, display form cues, and save a session summary and optionally annotated video. The repository also includes a separate sEMG session recorder and Arduino logger, but the sampled evidence does not establish a video–sEMG synchronization or fusion flow. Planned platform capabilities described in the README are not represented as implemented components here.
Main entry points: deadlift_pipeline.py Frame analyzer · demo_deadlift.py Deadlift demo · deadlift_angles.py Kinematics · deadlift_rules.py Form rules
Components 17
Capture and entry
- Deadlift demo
scripts/demo_deadlift.py - Pose tracking
src/myomotion/vision/pose.py - Synthetic frames
src/myomotion/biomechanics/synthetic.py - Legacy tracker
scripts/cv/deadlift/deadlift_tracker.py
Biomechanics analysis
- Frame analyzer
src/myomotion/biomechanics/deadlift_pipeline.py - Signal filters
src/myomotion/biomechanics/filters.py - Landmark helpers
src/myomotion/biomechanics/landmarks.py - Kinematics
src/myomotion/biomechanics/deadlift_angles.py - Geometry primitives
src/myomotion/biomechanics/geometry.py - Spine proxy
src/myomotion/biomechanics/spine_proxy.py - Rep phases
src/myomotion/biomechanics/rep_segmenter.py - Form rules
src/myomotion/biomechanics/deadlift_rules.py
Coaching output
- Visual feedback
src/myomotion/coaching/overlay.py - Session files
sEMG acquisition
- sEMG recorder
scripts/semg/record_session.py - EMG logger
hardware/emg_logger/emg_logger.ino
Other components
- User
Connections 28
- User → Deadlift demo: provides video
README.md - Deadlift demo → Pose tracking: requests landmarks
scripts/demo_deadlift.py - Deadlift demo → Synthetic frames: generates frames
scripts/demo_deadlift.py - Deadlift demo → Frame analyzer: analyzes frames
README.md - Deadlift demo → Visual feedback: renders feedback
scripts/demo_deadlift.py - Deadlift demo → Session files: writes summary/video
README.md - Legacy tracker → Geometry primitives: uses
scripts/cv/deadlift/deadlift_tracker.py - Legacy tracker → Landmark helpers: uses
scripts/cv/deadlift/deadlift_tracker.py - Legacy tracker → Rep phases: uses
scripts/cv/deadlift/deadlift_tracker.py - Legacy tracker → Signal filters: uses
scripts/cv/deadlift/deadlift_tracker.py - Frame analyzer → Signal filters: smooths signals
src/myomotion/biomechanics/deadlift_pipeline.py - Frame analyzer → Landmark helpers: selects side
src/myomotion/biomechanics/deadlift_pipeline.py - Frame analyzer → Kinematics: computes kinematics
src/myomotion/biomechanics/deadlift_pipeline.py - Frame analyzer → Spine proxy: uses proxy
src/myomotion/biomechanics/deadlift_pipeline.py - Frame analyzer → Rep phases: tracks phases
src/myomotion/biomechanics/deadlift_pipeline.py - Frame analyzer → Form rules: evaluates form
src/myomotion/biomechanics/deadlift_pipeline.py - Kinematics → Geometry primitives: uses primitives
src/myomotion/biomechanics/deadlift_angles.py - Kinematics → Landmark helpers: uses pose helpers
src/myomotion/biomechanics/deadlift_angles.py - Kinematics → Spine proxy: builds proxy
src/myomotion/biomechanics/deadlift_angles.py - Spine proxy → Geometry primitives: uses primitives
src/myomotion/biomechanics/spine_proxy.py - Spine proxy → Landmark helpers: uses pose helpers
src/myomotion/biomechanics/spine_proxy.py - Rep phases → Signal filters: uses filters
src/myomotion/biomechanics/rep_segmenter.py - Form rules → Kinematics: reads angles
src/myomotion/biomechanics/deadlift_rules.py - Form rules → Rep phases: reads phases
src/myomotion/biomechanics/deadlift_rules.py - Form rules → Spine proxy: reads proxy
src/myomotion/biomechanics/deadlift_rules.py - Visual feedback → Frame analyzer: reads results
src/myomotion/coaching/overlay.py - Visual feedback → Form rules: displays cues
src/myomotion/coaching/overlay.py - sEMG recorder → EMG logger: acquires serial data