---
title: "Push-Up Counter With Computer Vision: Landmarks, Camera, Rep Logic"
canonical: "https://aifitnessapi.com/motion/push-up-counter-computer-vision"
cluster: "AI Motion"
primary_query: "push up counter computer vision"
last_reviewed: "2026-10-18"
description: "Counting push-ups from a camera, per the studies: elbow and body-line landmarks, the phone angle that worked, rep thresholds to calibrate and accuracy."
publisher: "AIFitnessAPI — independent, not sponsored"
cite_as: "\"Push-Up Counter With Computer Vision: Landmarks, Camera, Rep Logic\", AIFitnessAPI, https://aifitnessapi.com/motion/push-up-counter-computer-vision"
---

# Push-Up Counter With Computer Vision: Landmarks, Camera, Rep Logic

> A camera push-up counter tracks the elbow angle from the shoulder, elbow and wrist landmarks, checks that the body stays in a straight line, and counts a repetition when the elbow bends past a low threshold and straightens past a high one. Camera angle matters: in a 2026 study that filmed 22 adults from 12 phone positions, one phone pipeline counted up to 85.7% of push-ups correctly from a diagonal view at 90 to 180 cm and 20% from the front at 360 cm. Thresholds from studies, such as a 140-degree elbow angle for the top position, are starting points to calibrate for your camera, model and users.

- Canonical: https://aifitnessapi.com/motion/push-up-counter-computer-vision
- Last reviewed: 2026-10-18
- Publisher: AIFitnessAPI (https://aifitnessapi.com) — independent, not sponsored
- Cite as: "Push-Up Counter With Computer Vision: Landmarks, Camera, Rep Logic", AIFitnessAPI, https://aifitnessapi.com/motion/push-up-counter-computer-vision

---

This page is the push-up layer under [how rep counting works](/motion/how-rep-counting-works) and [how form feedback works](/motion/how-form-feedback-works): the landmarks, camera placement, rep logic and measured accuracy that the studies we read on October 18, 2026 report. Each number is one study's result under that study's conditions, so use it as a starting point to calibrate for your camera, model and users. This is engineering guidance for building a tracker, not exercise or medical advice.

## The studies behind this page

- **Oliosi and colleagues** (JMIR mHealth and uHealth, 2026) filmed 22 healthy university students doing push-ups from 12 phone positions and scored the counts of a pipeline built for the Dotmoovs mobile platform against two raters. Men did push-ups in a standard plank position and women could use a knee-supported variation.
- **Lei and colleagues** (Sensors, 2025) built a fixed-camera assessment system on [MediaPipe](/motion/mediapipe-pose-landmarker-models)'s BlazePose landmarks with state machines for pull-ups, push-ups and sit-ups, and tested its counts against human assessors.
- **Sousa and colleagues** (Journal of Functional Morphology and Kinesiology, 2026) counted push-ups among 12 exercises with angle-threshold state machines on MediaPipe landmarks.
- **Gu and colleagues** (Sensors, 2026) recorded push-ups, sit-ups and squats from the side, the front and behind, and report how often their camera branch recognised each exercise from each view.

## Landmarks and angles

The counting signal is the elbow angle, at the elbow between the shoulder and the hand. Lei and colleagues define three angles: the elbow angle from shoulder, elbow and hand; a hip angle from foot, hip and shoulder, to keep the body straight; and a torso angle from shoulder, foot and hand, for how low the body is. They add one height test: entering the bottom position requires the mouth to drop below the minimum shoulder height seen during the set. Sousa and colleagues likewise verify that the body remains extended in a horizontal alignment throughout the movement.

Every scheme on this site has shoulders, elbows, wrists, hips and ankles. Hand and foot points beyond the wrist and ankle are another matter: [BlazePose 33](/pose-keypoints/blazepose-33) and [ML Kit](/pose-keypoints/ml-kit) have pinky, index, thumb, heel and foot-index points, while [COCO 17](/pose-keypoints/coco-17) models such as [MoveNet](/motion/movenet-models) and [YOLO pose](/motion/yolo-pose-models) end at the wrist and ankle. In our reading, a COCO 17 build would use the wrist and ankle in their place and should expect slightly different angles, so re-tune any threshold you borrow.

## Where to put the camera

In Oliosi and colleagues' study the best push-up views were diagonal at 90 to 180 cm, with up to 85.7% of repetitions counted correctly and a mean absolute error of 0.28, and the worst was frontal at 360 cm, at 20% and 2.70. Their conclusion for push-ups is that diagonal views are preferred, and they put the difference from squats down to posture, horizontal for push-ups and upright for squats. They chose push-ups partly for their typical self-occlusion, the torso hiding the limbs.

Gu and colleagues' camera branch recognised push-up frames 100.0% of the time from the side and 93.2% from the front, but from behind it rejected all 1000 push-up frames, which the authors attribute to keypoints occluded by the trunk or the ground. Lei and colleagues dedicate one camera to each person and recommend one camera per person when several people are tested at once.

## A rep state machine for push-ups

Lei and colleagues' push-up machine has a high support state, a low support state, transition states between them and a misaligned state. A repetition counts only when the machine passes from the low position through the transition to the high position, and any non-compliant posture sends it to the misaligned state. Their thresholds, each described as an empirical or adjustable setting, were an elbow angle of 140 degrees for the high position, a maximum torso-to-ground angle of 15 degrees in the low position, and a waist angle of 140 degrees to keep the body straight.

Sousa and colleagues' push-up has three phases: a plank start with the elbows extended, lowering as the elbows bend past a threshold, and pushing as they re-extend. As with any two-threshold design, the gap between the bend and the re-extension threshold is the hysteresis described in [how rep counting works](/motion/how-rep-counting-works).

Lei and colleagues also clean the keypoints before the state machine sees them. Sudden jumps, which they call flying points, are corrected when a keypoint moves more than 1/30 of the frame width or height between frames, and coordinates are then smoothed over a 10-frame window. Both values were chosen from their own tests, so treat them as a starting point. Sousa and colleagues hold the last valid phase for typically 3 to 5 frames when no phase matches, which in our view is also a cheap minimum-duration rule.

## Failure modes the studies report

- **Floor-level poses are hard for pose models.** Oliosi and colleagues note that floor-based exercises such as push-ups stayed challenging even after training on several public datasets. In a 2026 benchmark of 19 monocular 3D reconstruction methods on three test subjects, Fieraru and Goedemé found the hardest exercises were dynamic, ground-level and inverted poses with heavy self-occlusion, with mean errors of 118 to 155 mm against about 67 mm for upright exercises such as standing dumbbell curls.
- **The chest and arms.** Sousa and colleagues' push-up errors were three chest-proximity failures and one arm occlusion.
- **Flying points under occlusion or poor light.** Lei and colleagues saw keypoints jump when occlusion occurred or lighting was poor, which is what their correction step targets.
- **A camera behind the person.** Gu and colleagues' posterior view rejected every push-up frame.
- **Moving the camera.** Lei and colleagues say their calibration-free 2D design is potentially vulnerable to large changes in viewing perspective or camera position.

The general causes, from lighting to clothing, are in [pose estimation accuracy](/motion/pose-estimation-accuracy).

## What was measured, and why it will not transfer

- Across all 12 setups, Oliosi and colleagues' push-up counts reached a mean detection rate of 61.1% with a mean absolute error of 1.08 repetitions, against two raters, with healthy university students in a laboratory with standardised lighting.
- Lei and colleagues report 97.4% accuracy for push-ups, defined as correctly recognised repetitions over the actual repetitions recorded by human assessors, from five test groups who performed freely to their maximum.
- Sousa and colleagues' per-exercise counting accuracies ranged from 95 to 100% across their 12 exercises.

Each figure describes one pipeline, camera setup and group of people, and the studies define accuracy differently, so none of them predicts your app's accuracy. Measure your own; [testing a rep counting algorithm](/test/rep-counting) covers how.

## Sources

- [pmc.ncbi.nlm.nih.gov/articles/PMC12978916/](https://pmc.ncbi.nlm.nih.gov/articles/PMC12978916/) — Oliosi et al., JMIR mHealth and uHealth 2026: push-up protocol, phone placement, detection rate and error (full text read as Europe PMC's XML). (checked 2026-10-18)
- [pmc.ncbi.nlm.nih.gov/articles/PMC12610833/](https://pmc.ncbi.nlm.nih.gov/articles/PMC12610833/) — Lei et al., Sensors 2025: push-up angles, thresholds, state machine, keypoint correction and accuracy (read as Europe PMC's XML). (checked 2026-10-18)
- [pmc.ncbi.nlm.nih.gov/articles/PMC13204307/](https://pmc.ncbi.nlm.nih.gov/articles/PMC13204307/) — Sousa et al., J Funct Morphol Kinesiol 2026: push-up phases, error causes and accuracy range (read as Europe PMC's XML). (checked 2026-10-18)
- [pmc.ncbi.nlm.nih.gov/articles/PMC13611031/](https://pmc.ncbi.nlm.nih.gov/articles/PMC13611031/) — Gu et al., Sensors 2026: push-up recognition by camera view (read as NCBI's efetch XML). (checked 2026-10-18)
- [pmc.ncbi.nlm.nih.gov/articles/PMC13413046/](https://pmc.ncbi.nlm.nih.gov/articles/PMC13413046/) — Fieraru and Goedemé, J Imaging 2026: monocular 3D error by exercise type (read as Europe PMC's XML). (checked 2026-10-18)

## FAQ

### Where should the camera go to count push-ups?

In Oliosi and colleagues' 2026 study, diagonal views at 90 to 180 cm counted push-ups best and a frontal view at 360 cm worst, and the authors conclude that diagonal views are preferred for push-ups. Gu and colleagues found a camera behind the person failed completely, because the trunk and floor hide the keypoints. Test a diagonal and a side placement with your own users before you fix one in the app.

[Permalink](https://aifitnessapi.com/motion/push-up-counter-computer-vision#faq-1)

### What elbow angle marks the top of a push-up?

Lei and colleagues used 140 degrees as an empirical, adjustable elbow-angle threshold for the high position, with a maximum torso-to-ground angle of 15 degrees for the low position and a 140-degree waist angle to keep the body straight. Use those as starting points and calibrate them for your camera, model and users.

[Permalink](https://aifitnessapi.com/motion/push-up-counter-computer-vision#faq-2)

### Why does a push-up counter miss repetitions?

The studies we read point to self-occlusion by the torso, floor-level poses that pose models handle badly, what one study logged as chest-proximity failures, and keypoints that jump between frames under occlusion or poor light. A camera placed behind the person was the worst case, with every frame rejected in one study.

[Permalink](https://aifitnessapi.com/motion/push-up-counter-computer-vision#faq-3)

### How accurate is camera-based push-up counting?

One phone pipeline averaged a 61.1% detection rate across 12 phone positions and reached up to 85.7% from its best diagonal views, while a fixed-camera state-machine system reported 97.4% against human assessors. The studies define accuracy differently, so measure your own pipeline rather than quoting either figure.

[Permalink](https://aifitnessapi.com/motion/push-up-counter-computer-vision#faq-4)
