Preprint
Article

This version is not peer-reviewed.

An Explainable Dance Pose Evaluation System Using Velocity-Adaptive Filtering and Dynamic Alignment

Submitted:

04 November 2026

Posted:

05 November 2026

You are already at the latest version

Abstract
Practicing dance from pre-recorded online tutorials allows students to learn motor skills independently, yet learners frequently struggle without an instructor to identify technical errors. This paper addresses the research problem of objective, monocular video dance evaluation by developing an end-to-end computer vision framework that compares a student’s practice video with an instructor’s reference recording. Our methodology extracts 33 body landmarks, normalizes coordinates by torso length to account for body differences and camera distances, and applies a velocity-adaptive Kalman filter that eliminates lag during fast steps while preserving stability during held poses. A Dynamic Time Warping module with a ±0.25 s tolerance window evaluates body posture without penalizing expressive musical timing. Continuous routines are segmented into discrete poses using feature-divergence tracking, with a rule-based engine outputting plain-language postural corrections. The system was evaluated across 15 full-body benchmark routines comprising 10,550 video frames from the AIST Dance Video Database and instructional exercises in both frontal and 90◦ side views. The results demonstrate that the system tracks fast direction changes accurately, detects technique breakdowns reliably, and matches professional instructor ratings closely (r = 0.88, Mean Absolute Error = 4.8 points). In conclusion, this automated framework offers accessible, actionable feedback for home physical education using standard consumer cameras.
Keywords: 
;  ;  ;  ;  ;  

1. Introduction

The widespread availability of video streaming platforms has made digital performing arts education broadly accessible. Aspiring dancers, athletes, and movement enthusiasts now routinely rely on pre-recorded online tutorials to acquire complex physical motor skills. However, autonomous physical practice in the absence of an in-person instructor introduces substantial pedagogical hurdles. First-time and intermediate learners frequently struggle with spatial body awareness, experiencing a gap between what they believe their limbs are doing and their true orientation in space. Without corrective feedback, learners risk internalizing incorrect movement habits, ingraining flawed muscle memory, and exposing joints to unnecessary strain or injury.
While expert in-person instruction remains the benchmark for physical pedagogy, it is often limited by high financial cost, rigid schedules, and geographic constraints. Practice mirrors provide brief visual feedback, but they cannot offer quantitative diagnostic guidance; furthermore, turning one’s head to inspect a mirror during dynamic rotations or spins compromises body alignment. Consequently, there is an urgent need for automated, accessible movement evaluation systems capable of analyzing ordinary video recordings of students, aligning them against canonical teacher demonstrations, and generating clear diagnostic corrections.
Let V ref = { I ref ( t ) } t = 1 T ref denote an instructor’s reference demonstration captured at frame rate f ref , and let V lrn = { I lrn ( t ′ ) } t ′ = 1 T lrn denote an uncalibrated query video of a student replicating the sequence. An automated evaluation mapping must overcome four primary operational challenges:
1.
Body Proportion Variations: The teacher and student have differing heights, limb segments, and body mass distributions.
2.
Camera Variations: Lens zoom, sensor placement, and camera-to-performer distances vary arbitrarily between recordings.
3.
Temporal Phrasing: Human performers naturally introduce expressive micro-timing, hesitations, or slight tempo shifts ( 50 - - 250 ms). Rigid frame-by-frame comparison penalizes small timing differences as technical posture flaws.
4.
High-Velocity Motion Artifacts: Rapid arm whips, spins, and floor transitions cause transient keypoint motion blur and self-occlusions.
Early motion tracking systems relied on wearable physical sensors or active depth cameras such as the Microsoft Kinect [9]. Although accurate, their hardware requirements restricted use outside laboratory environments. Deep learning architectures such as OpenPose [2] and MediaPipe BlazePose [1] have since enabled markerless tracking of 33 body landmarks directly from standard consumer video streams [10]. In the dance domain, Choi et al. [4] compared 2D joint coordinates frame by frame; however, rigid temporal matching proved fragile during rapid movements. Johari and Mukherjee [5] developed ReAL-T, demonstrating that automated joint-angle trajectory matching correlates well with expert ratings, yet their system did not incorporate adaptive filtering for high-speed dance steps or partition continuous sequences into discrete poses.
To bridge these gaps, our hypothesis is that an explainable kinematic evaluation pipeline—combining body normalization, velocity-adaptive filtering, bounded Dynamic Time Warping with temporal tolerance, and kinematic feature segmentation—can accurately evaluate dance movement from standard consumer cameras without penalizing natural expressive timing.

2. Materials and Methods

2.1. Research Design and Architecture

The framework operates as a modular, five-stage pipeline designed to evaluate student videos against reference performances (Figure 1). Video recordings are first processed to extract 2D skeletal coordinates, normalized for physical dimensions, smoothed using speed-sensitive filters, aligned dynamically in time, segmented into choreographic poses, and translated into natural-language diagnostic feedback.

2.2. Body-Scale Normalization and Missing Landmark Infilling

Frame images are processed using MediaPipe BlazePose to obtain 33 anatomical landmarks u k = ( u x , u y ) ∈ [ 0 , 1 ] 2 and detection confidence scores c k ∈ [ 0 , 1 ] . Because performers occupy different areas of the camera frame, coordinates are centered at the pelvis midpoint p hip and scaled by torso length L torso :
p hip = 1 2 ( u 23 + u 24 ) , p sh = 1 2 ( u 11 + u 12 )
L torso = ∥ p sh − p hip ∥ 2
p k = u k − p hip max ( L torso , 10 − 6 )
This normalization ensures scale and position invariance across differing camera distances. When joint occlusions cause confidence to drop below 0.35, missing coordinates are infilled via bidirectional linear interpolation across confident neighboring frames.

2.3. Velocity-Adaptive Kinematic Kalman Filter

To suppress tracking jitter without falling behind rapid movements, a 1D constant-velocity Kalman filter [6] is implemented for each coordinate axis of every joint:
x t = x t v t , F = 1 Δ t 0 1
Standard constant-velocity filters use a fixed process noise covariance Q , which introduces an 85 - - 450 ms phase delay on sharp ballistic movements. We modulate Q t continuously as a function of instantaneous landmark velocity | v ^ t − 1 | :
Q t = Δ t 3 3 Δ t 2 2 Δ t 2 2 Δ t q 0 1 + β | v ^ t − 1 |
where q 0 = 0.005 is baseline process noise, measurement variance is R = 0.012 , and velocity sensitivity is β = 12.0 . Rapid limb transitions expand Q t , increasing the Kalman gain to track quick trajectory changes without delay. During held postures ( | v ^ | ≈ 0 ), Q t → q 0 , smoothing out tracking noise. Additionally, the measurement gate relaxes during fast movement:
τ t = max 0.15 , 0.35 − 0.5 v ¯ t
where v ¯ t is the mean landmark velocity across the body.

2.4. Dynamic Time Warping with Temporal Leeway

Performances are aligned temporally via Dynamic Time Warping [8] constrained within a Sakoe-Chiba band ( ± 25 % duration). The composite frame matching error E total ∈ [ 0 , 1 ] is:
E total = 0.55 E pos + 0.35 E angle + 0.10 P conf
where E pos is the confidence-weighted Euclidean distance across 16 primary dance joints K comp , E angle tracks angular error across eight major joints (elbows, shoulders, hips, knees), and P conf = 1.0 − min ( c ref , c lrn ) accounts for tracking confidence. The error maps to a standard performance score S ∈ [ 0 , 100 ] :
S = max 0 , min 100 , 100 × 1 − E total 0.50
where E total ≥ 0.50 clamps the score to 0.
To distinguish posture errors from minor phrasing offsets, aligned frames are evaluated across a local neighborhood window of ± 0.25 s ( W f frames) with an offset penalty λ = 1.5 points per frame:
S * ( i , j ) = max | δ r | , | δ l | ≤ W f S x ref ( i + δ r ) , x lrn ( j + δ l ) − λ ( | δ r | + | δ l | )

2.5. Feature-Divergence Segmentation and Explainable Feedback

Continuous choreography is partitioned into discrete poses using a 40-dimensional kinematic vector f t containing 16 joint coordinates (32 values) and 8 normalized joint angles. The vector is smoothed using a Kalman filter ( q seg = 0.001 , R seg = 0.02 ). A segment boundary is established when feature divergence exceeds δ pose = 0.055 for at least 0.15 s:
1 40 ∥ f t − f ¯ curr ∥ 1 ≥ δ pose
For each detected pose, a deterministic rule engine inspects mean angular errors ( | Δ θ | ≥ 10 ∘ ) and spatial offsets ( ∥ Δ p ∥ ≥ 2 0.08 ), generating actionable corrections (e.g., “Left knee is too bent by 37.2 degrees” or “Right foot is higher and more to the right”).

2.6. Benchmark Dataset and Evaluation Protocol

The system was evaluated on 15 benchmark pairs (30 video recordings, 10,550 frames) combining sequences from the public AIST Dance Video Database [7,11] and structured movement exercises. The dataset covers eight distinct movement styles (Ballet Jazz, Street Jazz, Popping, House, Breakdance Toprock, Contemporary, Ballroom Waltz, and Yoga) captured from frontal ( 0 ∘ ) and profile ( 90 ∘ ) views. Full-body framing audits confirm that hands and feet remain in view across 88.3 % - - 100.0 % of frames. Sequence 8 (Yoga Tree Pose) incorporates a deliberate balance loss to evaluate fault detection sensitivity.
To establish ground-truth validation, human perceptual scores were recorded via manual review of all 15 routines prior to running the pipeline, evaluating joint placement, extension, and timing on a 0–100 scale. In addition, three professional dance instructors independently rated six routines using a dedicated double-blind review interface.

3. Results and Discussion

3.1. Benchmark Evaluation Across Dance Genres

Table 1 presents the performance evaluation across all 15 benchmark sequences alongside the human perceptual ground-truth scores. Across all 15 routines, the automated scores closely matched human perceptual assessments, exhibiting a mean absolute error of only 1.7 points.
Frontal routines achieved an average score of 86.79 for regular choreography (or 77.93 when including the deliberate balance-loss test case). Styles with clear, sharp poses such as Street Jazz scored high at 91.7 (human evaluation: 93.0 ), and Popping scored 89.4 (human evaluation: 88.0 ). Faster styles such as Breakdance Toprock scored lower at 78.9 (human evaluation: 77.0 ) due to foot placement variations during rapid footwork. In sequence 8, where the student lost balance and placed both feet down, the system score dropped to 7.1 , matching the human failure score of 5.0 .
Side-view ( 90 ∘ profile) routines yielded an average score of 83.83 (human perceptual average: 83.50 ). Street Jazz scored 87.4 from the side (compared to 91.7 from the front), and Popping scored 82.8 from the side (compared to 89.4 from the front). These findings demonstrate that planar torso normalization functions reliably across viewpoints, provided limbs are not fully occluded.

3.2. Tempo Analysis: Slow Versus Fast Routines

To examine the effect of movement tempo on pose segmentation and scoring, we compared a slow contemporary routine (sequence 6, 939 frames) with a fast urban choreography routine (sequence 7, 766 frames) as shown in Table 2.
The slow performance segmented into 6 sustained poses (averaging 2.6 s each), with scores ranging from 86.95 to 95.65 (all Excellent). Minor errors were confined to small wrist height differences ( < 0.08 normalized units), with only one joint angle deviation above 10 ∘ (Pose 5, left elbow bent by 15 . 6 ∘ ).
In contrast, the fast routine segmented into 34 brief poses (averaging 0.37 s each), with scores spanning 59.39 to 87.14 (11 Excellent, 17 Good, 6 Fair). Table 3 provides sample feedback generated during the fast routine. The lowest-scoring segment (Pose 34, score 59.4 ) correctly flagged an arm whip where the student’s elbow remained bent by 83 . 9 ∘ instead of extending fully.

3.3. Ablation Study and Baseline Comparison

To measure the contribution of each algorithmic module, we benchmarked the system against four baseline configurations on the 766-frame Fast Choreography sequence (Table 4).
Frame-by-frame evaluation without temporal alignment (Baseline 1) broke down entirely (score 22.4 , 88.2 % false penalties) due to natural timing drift. Static Kalman filtering (Baseline 2) smoothed over sharp peaks, introducing an 85 ms lag that lowered scores during fast transitions. Using joint angles alone (Baseline 3) failed to capture stance width and floor placements ( 34.1 % false penalties). Removing the temporal tolerance window (Baseline 4) penalized minor musical timing variations as posture flaws ( 18.4 % false penalties). The proposed complete system kept tracking latency under 15 ms, achieving an average score of 79.6 with only 3.2 % false penalties.

3.4. Failure Modes and User Validation

The framework encountered four primary edge cases:
1.
Severe Technique Breakdown: In sequence 8, the student lost balance completely ( E total ≥ 0.50 across 94 % of frames). The score dropped to 7.1 , demonstrating that the metric correctly flags gross motor errors.
2.
Vertical Foreshortening on Footwork: Chest-height cameras compress depth along the floor, occasionally misinterpreting forward/backward foot placement as height changes.
3.
Sagittal Self-Occlusion: In 90 ∘ profile views during complete spins, the near side of the body momentarily hides far-side limbs, lowering confidence for 4–8 frames.
4.
Fast Motion Blur: Rapid forearm snaps ( > 600 ∘ /s) produced single-frame motion blur at 30 FPS capture, shifting wrist localization by up to 42 pixels. Recording at 60 or 120 FPS mitigated this error.
During independent validation with three professional dance instructors across six routines, automated scores correlated strongly with expert ratings (Pearson r = 0.88 , Spearman ρ = 0.86 , Mean Absolute Error = 4.8 points). The instructors noted that partitioning continuous choreography into distinct poses mirrors how teachers critique movement in studio environments.

4. Discussion

Current limitations include single-dancer tracking constraints, monocular depth ambiguity during out-of-plane body rotations, and reliance on movement kinematics rather than musical audio beats for alignment. Future extensions will incorporate audio beat tracking into Dynamic Time Warping, implement self-supervised camera view normalization, and optimize the processing pipeline for real-time mobile browser execution using WebGPU.

5. Conclusion

We developed an explainable computer vision framework that evaluates dance movement from standard consumer video. By integrating body normalization, velocity-adaptive Kalman filtering, bounded Dynamic Time Warping with temporal tolerance, and feature segmentation, the system maintains tracking delay under 15 ms and evaluates posture fairly without penalizing natural expressive timing. The system partitions continuous movement into reviewable poses and generates clear, actionable corrections that correlate closely with professional dance instructor evaluations ( r = 0.88 , MAE = 4.8 points).
Not applicable.
To facilitate independent verification and future research, the implementation of the proposed evaluation pipeline, adaptive filters, and alignment algorithms is publicly available at:
The repository contains the complete source code files required to run the pose estimation, filtering, and scoring modules described in this paper.

Author Contributions

Rahul Desai conceived the study, designed and implemented the computer vision and kinematic filtering pipeline, conducted the experimental benchmarks, analyzed the empirical data, and authored the manuscript.

Funding

Not applicable.

Data Availability Statement

The complete software implementation, kinematic filtering scripts, and evaluation modules are openly accessible at: https://github.com/Rahuldesai0/pose-evaluation-system.

Acknowledgments

The author acknowledges the open-source Google MediaPipe research group for releasing the BlazePose landmark estimation framework, and the National Institute of Advanced Industrial Science and Technology (AIST), Japan, for maintaining the public AIST Dance Video Database.

Conflicts of Interest

The authors have no competing interests to declare that are relevant to the content of this article.

References

  1. Bazarevsky, V.; Grishchenko, I.; Raveendran, K.; Zhu, T.; Zhang, F.; Grundmann, M. BlazePose: On-Device Real-Time Body Pose Tracking. arXiv 2020, arXiv:2006.10204. [Google Scholar]
  2. Cao, Z.; Hidalgo, G.; Simon, T.; Wei, S. E.; Sheikh, Y. OpenPose: Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields. IEEE Trans. Pattern Anal. Mach. Intell. 2019, vol. 43(no. 1), 172–186. [Google Scholar] [CrossRef] [PubMed]
  3. Casiez, G.; Roussel, N.; Vogel, D. 1-Euro Filter: A Simple Speed-Based Low-Pass Filter for Noisy Input in Interactive Systems. Proc. ACM Conf. Human Factors in Computing Systems (CHI), 2012; pp. 2527–2530. [Google Scholar] [CrossRef]
  4. Choi, J. H.; Lee, J. J.; Nasridinov, A. Dance Self-Learning Application and Its Dance Pose Evaluations. Proc. 36th ACM Symp. Applied Computing (SAC), 2021; pp. 1037–1045. [Google Scholar] [CrossRef]
  5. Johari, M. R.; Mukherjee, S. Validating Automated Feedback in an AI-Based Interactive Learning Environment for Dance: Agreement Between Expert Choreographers and the ReAL-T. Educ. Sci. vol. 16(no. 2), 211, 2026. [CrossRef]
  6. Kalman, R. E. A New Approach to Linear Filtering and Prediction Problems. J. Basic Eng. 1960, vol. 82(no. 1), 35–45. [Google Scholar] [CrossRef]
  7. Li, R.; Yang, S.; Ross, D. A.; Kanazawa, H. AI Choreo: Generating Dance from Music with AIST++. Proc. IEEE/CVF Int. Conf. Computer Vision (ICCV), 2021; pp. 13401–13410. [Google Scholar]
  8. Sakoe, H.; Chiba, S. Dynamic Programming Algorithm Optimization for Spoken Word Recognition. IEEE Trans. Acoust. Speech Signal Process. 1978, vol. 26(no. 1), 43–49. [Google Scholar] [CrossRef]
  9. Shotton, J.; et al. Real-Time Human Pose Recognition in Parts from Single Depth Images. Proc. IEEE Conf. Computer Vision and Pattern Recognition (CVPR), 2011; pp. 1297–1304. [Google Scholar] [CrossRef]
  10. Tharatipyakul, A.; Srikaewsiew, T.; Pongnumkul, S. Deep Learning-Based Human Body Pose Estimation in Providing Feedback for Physical Movement: A Review. Heliyon 2024, vol. 10(no. 4), e25838. [Google Scholar] [CrossRef] [PubMed]
  11. Tsuchida, S.; Fukayama, S.; Goto, M.; Kitahara, J. AIST Dance Video Database: Construction and Video Collection of Dance Videos. Proc. IEEE Int. Conf. Systems, Man, and Cybernetics (SMC), 2019; pp. 3084–3089. [Google Scholar] [CrossRef]
Figure 1. System block diagram of the automated evaluation framework. The pipeline processes video pairs through body-scale normalization, velocity-adaptive filtering, bounded Dynamic Time Warping alignment, temporal tolerance scoring, feature segmentation, and verbal feedback generation.
Figure 1. System block diagram of the automated evaluation framework. The pipeline processes video pairs through body-scale normalization, velocity-adaptive filtering, bounded Dynamic Time Warping alignment, temporal tolerance scoring, feature segmentation, and verbal feedback generation.
Preprints 242519 g001
Table 1. System Performance and Ground Truth Comparison Across 15 Benchmark Sequences
Table 1. System Performance and Ground Truth Comparison Across 15 Benchmark Sequences
# Sequence Description Dance Style View Ref FB % Lrn FB % Human GT System Score Frames
1 Ballet Jazz Routine (d07 vs d08) Ballet Jazz Frontal 98.6% 100.0% 82.0 80.8 800
2 Street Jazz Routine (d01 vs d02) Street Jazz Frontal 100.0% 100.0% 93.0 91.7 951
3 Popping Routine (d10 vs d11) Popping Frontal 100.0% 100.0% 88.0 89.4 769
4 House Footwork (d19 vs d20) House Frontal 100.0% 100.0% 85.0 83.5 531
5 Breakdance Toprock (d04 vs d05) Breakdance Frontal 100.0% 100.0% 77.0 78.9 747
6 Contemporary Routine (Slow) Contemporary Frontal 100.0% 100.0% 94.0 91.9 939
7 Urban Choreography (Fast) Fast Urban Frontal 97.9% 100.0% 81.0 79.6 766
8 Yoga Tree Pose (Balance Loss) Yoga Frontal 100.0% 100.0% 5.0 7.1 480
9 Ballroom Waltz Box Step Waltz Frontal 100.0% 100.0% 97.0 98.5 480
10 Ballet Jazz Routine (Side View) Ballet Jazz Side 88.3% 98.2% 81.0 79.9 796
11 Street Jazz Routine (Side View) Street Jazz Side 100.0% 100.0% 86.0 87.4 774
12 Popping Routine (Side View) Popping Side 100.0% 97.6% 84.0 82.8 772
13 House Footwork (Side View) House Side 95.0% 100.0% 80.0 78.8 530
14 Breakdance Toprock (Side View) Breakdance Side 100.0% 100.0% 74.0 75.5 735
15 Yoga Downward Dog Yoga Side 93.5% 93.5% 96.0 98.6 480
Table 2. Comparison Between Slow and Fast Dance Choreographies
Table 2. Comparison Between Slow and Fast Dance Choreographies
Evaluation Metric Slow Dance Fast Dance
Total Frames 939 766
Duration 15.65 s 12.76 s
Detected Poses 6 34
Average Pose Score 91.92 79.63
Highest Pose Score 95.65 (Pose 2) 87.14 (Pose 28)
Lowest Pose Score 86.95 (Pose 4) 59.39 (Pose 34)
Categories (Exc. / Good / Fair) 6 / 0 / 0 11 / 17 / 6
Full-Body Framing 100.0% 97.9%
Table 3. Sample Feedback Generated for Fast Dance Segments
Table 3. Sample Feedback Generated for Fast Dance Segments
Pose Score Rating Generated Actionable Feedback
1 74.7 Good Left knee is too straight by 64. 7 ∘
3 87.0 Exc. Right elbow is more to the right
8 64.9 Fair Right foot is higher; Left wrist lower
15 83.5 Good Right shoulder angle differs by 28. 4 ∘
28 87.1 Exc. Right foot higher and to right (Best)
33 69.1 Fair Right knee is too bent by 37. 2 ∘
34 59.4 Fair Right elbow too bent by 83. 9 ∘ (Lowest)
Table 4. Ablation Analysis on the Fast Choreography Sequence
Table 4. Ablation Analysis on the Fast Choreography Sequence
Configuration / Baseline Avg Score Peak Lag False Pen.
B1: Frame-by-Frame [4] 22.4 > 450  ms 88.2%
B2: Static Kalman + DTW 73.2 85 ms 21.6%
B3: Angle Only [5] 68.5 N/A 34.1%
B4: Proposed w/o Timing Window 73.1 < 15  ms 18.4%
Proposed Complete System 79.6 < 15  ms 3.2%
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.
Copyright: This open access article is published under a Creative Commons CC BY 4.0 license, which permit the free download, distribution, and reuse, provided that the author and preprint are cited in any reuse.