Selected workFrozen Shoulder DSS

Applied computer vision

Frozen Shoulder DSS

A rehabilitation decision-support prototype that turns pose observations into structured range-of-motion and exercise-session feedback.

Role
Researcher and software developer
Year
2026
Stack
Python · OpenCV · MediaPipe · Computer vision

Showcase

From movement capture to reviewable session evidence.

Three views show the working system, the checks behind its feedback, and the output a person can inspect.

Sanitized Frozen Shoulder DSS interface showing calibration, pose landmarks, exercise selection, and session state.

01 / Working interface

Calibration gives each movement an explicit starting state.

A privacy-edited calibration and movement-analysis view using a synthetic participant identifier.

Observe
Pose landmarks and joint position
Check
Calibration and landmark reliability
Track
Exercise state and session feedback
Synthetic Frozen Shoulder DSS session report showing range of motion, repetitions, and compensation observations.

02 / Reviewable output

A session becomes evidence someone can inspect.

Example reporting output generated from an approved simulated session; it demonstrates the reporting workflow rather than clinical performance.

Open full demonstration graph

03 / Processing logic

Feedback is produced through a sequence of explicit checks.

The pipeline separates a detected pose from a movement observation that is stable enough to record.

  1. Capture the frame

    Read the camera input and estimate shoulder, elbow, and wrist landmarks.

  2. Check reliability

    Reject unstable observations before they influence movement feedback.

  3. Calculate geometry

    Translate usable landmarks into joint angles and range-of-motion observations.

  4. Update movement state

    Track repetitions, exercise state, and compensation patterns over time.

  5. Build the session record

    Organize the accepted observations into reviewable reporting output.

Privacy-edited photograph of the Frozen Shoulder DSS prototype running on ordinary laptop hardware during field testing.

04 / Field context

Designed for ordinary laptop hardware, not a lab-only setup.

A privacy-edited field-testing view showing the prototype running on ordinary laptop hardware.

02 / Challenge

Useful movement feedback depends on more than detecting a pose.

A rehabilitation tool must connect observed motion to a repeatable assessment workflow. It also needs to communicate uncertainty and avoid presenting a noisy estimate as a clinical fact.

Camera position, occlusion, clothing, lighting, and movement pace can all affect landmark quality, while the system still needs to remain practical on ordinary CPU hardware.

  • Operate without requiring a dedicated GPU.
  • Separate unstable observations from usable movement samples.
  • Keep setup and session feedback understandable to a non-specialist user.

03 / Approach

Frame input becomes feedback through a sequence of explicit checks.

The working model captures a frame, estimates landmarks, assesses reliability, calculates joint geometry, updates movement state, detects compensation patterns, and records session output. Temporal state turns those observations into range-of-motion, repetition, and compensation feedback, while the reporting layer organizes the session into something a person can review.

  • Gate calculations using landmark reliability instead of accepting every frame.
  • Use explicit state transitions for repetition counting.
  • Keep compensation feedback separate from the primary movement signal.

04 / Result

The project made reliability and evidence boundaries part of the product.

The prototype connects pose observations to a reviewable exercise-session workflow while remaining conservative about uncertain input and clinical interpretation.

The strongest lesson was that evaluation design cannot be separated from implementation: the reference method, population, protocol, denominators, and error analysis must be defined before performance figures are presented.

What I would improve next

  • Validate reliability across more camera positions, movement conditions, and representative sessions.
  • Define a formal reference protocol and error-analysis method before publishing performance metrics.