Train Smarter.
Analyze Every Move.

Kalman tracking · Technique detection · Real-time

Technique Tracking Gi Color ID Kuzushi Analysis Contact Heatmap Event Log AI Insights

Sign In

Welcome back — enter your credentials to continue

Sign Up

Create your Judo Analyzer account

About
🥋

About Judo Analyzer

ITISDEV/ITISHCI/Research Study · De La Salle University · 2024

What is Judo Analyzer?

Judo Analyzer is a pose estimation-driven Decision Support System built for the DLSU Collegiate Judo Team. It processes match footage directly in the browser using TensorFlow.js and MoveNet, detecting athlete keypoints at up to 30 frames per second without uploading any video to a server.

The system identifies two athletes in real time using gi (uniform) color anchoring, classifies judo techniques from joint angle patterns, measures balance disruption (kuzushi), maps contact zones onto a body heatmap, and logs every detected event with a precise timestamp.

🎯

Technique Detection

Classifies 8+ judo throws including Ippon Seoi Nage, O Goshi, Harai Goshi, and Osoto Gari using a 60-frame joint angle classifier.

🎨

Gi Color ID

Samples torso pixel data to create a stable color anchor per athlete. Survives throws and side-swaps that break position-based trackers.

⚖️

Kuzushi Analysis

Measures center-of-mass displacement to quantify how much each athlete is being destabilized at any moment in the match.

🔥

Contact Heatmap

Accumulates contact zone data across the full match and renders it as a radial-gradient body map for injury and grip pattern analysis.

📋

Event Log

Timestamped, clickable log of every detected technique above the confidence threshold. Exportable to CSV for further analysis.

🧠

AI Insights

Upcoming Claude AI integration that converts raw session metrics into structured, natural-language coaching recommendations per athlete.

How it works

Video is processed entirely client-side using TensorFlow.js with WebGL or WASM acceleration. The MoveNet MultiPose Lightning model detects up to 6 people at 256px resolution. Detected keypoints are sent to a Python Flask backend at ~30fps where the JudoTechniqueClassifier and KalmanTrack modules run biomechanical analysis.

TensorFlow.js MoveNet MultiPose Python Flask MongoDB Atlas Kalman Filter Hungarian Algorithm Claude AI ngrok
KC
King Cochise John
Lead Developer
AA
Algen Roi Abagat
Backend Engineer
ML
Michael Aaron Luyun
Systems Architect
CC
Cody Casem
Developer
🎓

Supervised by Dr. Raphael Gonda · ITISDEV/ITISHCI/Research Study · College of Computer Studies, De La Salle University Manila

Help
💬

Help & Support

Troubleshooting · FAQ · System Requirements

Before you start

Judo Analyzer runs entirely in your browser. For the best experience, use a modern browser with WebGL support and a machine with a dedicated GPU.

🌐

Browser

Chrome 90+, Edge 90+, or Firefox 88+. Safari is supported but WebGL performance may vary.

💻

Hardware

Dedicated GPU strongly recommended for real-time pose detection. 8GB RAM minimum, 16GB preferred.

🎬

Video Format

MP4 (H.264), WEBM, or MOV. 1080p or 720p recommended. Minimum 24fps for reliable technique detection.

🔒

Privacy

Video files are never uploaded to any server. All pose detection runs locally in your browser via TensorFlow.js.

Why does it say "Loading model..." for a long time?
The MoveNet MultiPose model (~3MB) is downloaded from the TensorFlow CDN on first load. On slow connections this can take 20–40 seconds. Once downloaded, subsequent loads are served from browser cache and load in under 2 seconds.
The athlete skeletons keep swapping between the two athletes. How do I fix this?
The system uses gi color to anchor athlete identities, not screen position. For best results, ensure the first 20 frames of the video show both athletes clearly with their gi visible. The color calibration window in the sidebar shows when this is complete. If both athletes wear very similar colored gis, identification may be less stable.
Why are some techniques showing very low confidence or not being detected?
Technique detection requires a clear view of both athletes with minimal occlusion. Fast throws lasting under 0.5 seconds may be partially missed. The confidence threshold is set at 60% — techniques below this appear as "Standing / Moving" in the card. Camera angle and video quality significantly affect accuracy.
The FPS counter is showing below 10fps. What can I do?
Low FPS usually means the WebGL backend is not being used. Try refreshing the page and waiting for the model status to show "Backend: webgl". Close other browser tabs and GPU-intensive applications. On machines without a dedicated GPU, 8–15fps is normal and the system will still function correctly.
How do I export the match data?
Click the CSV button in the video toolbar or inside the Event Log section. This downloads a CSV file containing every detected event with its timestamp, athlete identifier, technique name, and confidence score. Open in Excel or Google Sheets for further analysis.
Can I analyze live video from a camera instead of a file?
Live camera input is not supported in the current version. The system is designed for post-match analysis of recorded footage. Live mode is planned for a future release.

Need more help?

For technical issues or feedback, reach out to the development team directly via email:

You may also contact supervising professor Dr. Raphael Gonda through the DLSU course portal.

ℹ️

This system is an academic prototype developed for ITISDEV/ITISHCI/Research Study at De La Salle University. It is not intended for commercial use.