Table of Contents
- The Problem: Manual Stat Tracking Is Broken
- The AI Pipeline — A Bird's-Eye View
- HUD Region Detection — Finding the Data
- OCR Architecture — Reading the Numbers
- Neural Network Design — Custom vs. Pretrained
- Data Extraction — From Pixels to Statistics
- Match Validation — Catching Errors
- Accuracy Metrics — 98.7% and Climbing
- Continuous Learning — The AI That Improves Itself
- Frequently Asked Questions
The Problem: Manual Stat Tracking Is Broken
If you're a serious PUBG Mobile player, you already want to know how your performance is trending. Which guns actually push your KD up? Are your deaths clustering in the early drop or the final circles? Is your headshot rate actually improving, or does it just feel that way? None of these questions have a real answer without consistent data across dozens, maybe hundreds, of matches — and most players are still doing this the hard way: typing kills and damage into a notes app after every game and squinting at a spreadsheet for patterns. It works for about a week before people give up.
Part of the problem isn't laziness — it's that PUBG Mobile simply doesn't hand over per-match stats to third-party apps the way the PC version does. There's no rich developer API to tap into. The only place that data reliably lives is the end-of-match results screen, the same screenshot every player already sees and often already saves. So the question we started with was pretty simple: what if software could just look at that screenshot and pull out every number, automatically, as well as a human would?
Turns out that's a genuinely hard engineering problem. Screenshots come in from dozens of device resolutions, UI scale settings, languages, and game-mode layouts. The results screen itself has overlapping text, gradients that shift depending on your placement, and extras like event badges or season tags that aren't always in the same spot. Getting a system to read all of that reliably meant building a multi-stage pipeline that mixes classical computer vision with modern deep learning — and that's what the rest of this article walks through, stage by stage.
The AI Pipeline — A Bird's-Eye View
The pipeline breaks down into five stages, each one owning a specific piece of the extraction problem. It all runs server-side on GPU-accelerated infrastructure, and a single screenshot clears the whole thing in 800–1800 milliseconds depending on size and complexity. Here's the high-level flow:
- Stage 1 — Preprocessing: The uploaded image is normalized to a standard resolution, color-corrected to account for different display calibrations, and converted to a tensor format suitable for neural network processing.
- Stage 2 — HUD Region Detection: A lightweight object detection model locates 14 distinct regions of interest within the screenshot — kill count, damage dealt, survival time, placement, weapon icons, headshot count, team kills, assists, and more.
- Stage 3 — OCR Extraction: Each detected region is passed to a specialized optical character recognition model that reads the numeric and text content. Different OCR models handle different data types: numbers, English text, and localized text.
- Stage 4 — Validation and Correction: A rules-based validation engine cross-checks extracted values against known constraints. For example, if the kill count is extracted as 15 but the headshot count is 0, the system flags a potential misread and runs a secondary extraction pass.
- Stage 5 — Compilation and Storage: The validated data is compiled into a structured match record, associated with your FragTrack account, and fed into your performance analytics dashboard. The raw screenshot is retained briefly for model training purposes and then purged.
HUD Region Detection — Finding the Data
HUD region detection is where everything starts, and honestly, it's the stage that makes or breaks the rest of the pipeline. Before the AI can read a single number, it first has to figure out where the numbers even are. PUBG Mobile's results screen follows a consistent layout — kill count upper-left, damage dealt just below it, placement top-center — but the exact pixel coordinates move around depending on device resolution, UI scale, and aspect ratio. A model tuned to an iPhone 16 Pro screenshot at 1290x2796 pixels will simply break on an iPad Pro at 2048x2732 if it's relying on fixed coordinates.
Our fix was to stop relying on position altogether. We trained a custom YOLOv8 object detection model to recognize regions by what they look like, not where they sit — on a dataset of 50,000+ labeled PUBG Mobile screenshots covering 200+ device configurations. It learns visual anchors: the gradient bar behind the kill count, the rounded container around weapon stats, the placement medal icon, the semi-transparent overlay framing the whole results panel.
Each detected region comes with a confidence score, and only anything above 0.92 gets passed along to OCR. Fall below that, and — which does happen with unusual devices or game-mode layouts — a secondary model trained specifically on that edge case picks up the slack. That cascading fallback is what keeps detection solid across nearly every real-world screenshot we see.
By the Numbers: Region Detection
FragTrack's HUD detection model identifies 14 regions per screenshot with a mean average precision (mAP@0.5) of 0.971. The most reliable region is the kill count (99.4% detection rate) and the most challenging is the headshot percentage icon (94.8% detection rate), which can be partially occluded by event badges on certain game modes.
OCR Architecture — Reading the Numbers
With regions located, the next problem is actually reading what's inside them. PUBG Mobile runs a custom UI font — a modified Noto Sans with numeral glyphs that look almost, but not quite, like standard digits. Off-the-shelf OCR tools like Tesseract choke on that: accuracy sits below 40% on average. So we ended up building our own OCR from scratch, trained specifically on PUBG Mobile's typography.
The OCR layer itself is a convolutional recurrent neural network (CRNN) with a ResNet-18 backbone. It takes each region in as a 32x128 pixel grayscale image and outputs a sequence of character predictions. Training data comes from two places: a synthetic set of over 2 million rendered UI elements (font size, gradient, color, and noise all varied to mimic real conditions), topped up with 15,000 real screenshot crops that we labeled by hand so the model stays grounded in what actual gameplay renders look like.
The part we're actually proud of is splitting the OCR into separate heads by data type instead of one general-purpose model trying to do everything. Numbers — kills, damage, placement, survival time — go through a digit-only CRNN head that hits 99.2% character-level accuracy. Text fields like weapon names and mode labels run through an alphanumeric head at 96.8%. Non-English UI text gets its own multilingual head trained on Chinese, Korean, Arabic, Russian, and Spanish character sets. Each head specializes, but they all share the same underlying feature extractor.
"We originally tried a single monolithic OCR model and hit a ceiling at 91% accuracy. The breakthrough came when we split the problem vertically — separate heads for numbers, text, and localized characters — and horizontally — specialized models for each game mode's layout. The accuracy jump from 91% to 98.7% was almost entirely due to this architectural insight." — FragTrack Engineering Team
Neural Network Design — Custom vs. Pretrained
We get asked a lot whether FragTrack just runs screenshots through GPT-4o or CLIP. It doesn't, and there are two reasons why. Speed is the first: an LLM-based vision pipeline runs 5–15 seconds per screenshot, while our purpose-built models clear the whole pipeline in under 2. That gap matters when you're processing thousands of uploads a day and users expect near-instant results. Accuracy is the second reason — general-purpose vision models are trained on cats, cars, and landscapes, not pixel-aligned game typography sitting on gradient backgrounds. They're just not built for this job.
Every model in our stack is built for exactly one domain. HUD detection runs on YOLOv8 for its speed/accuracy balance on GPU hardware. OCR runs on the CRNN with a ResNet-18 backbone, chosen because it performs well on sequence recognition even with limited training data. Validation runs on a LightGBM gradient-boosted tree that flags anomalous readings from extracted feature vectors. Put together, the whole stack is roughly 1/200th the parameter count of a modern LLM vision model — which is exactly why it's faster, cheaper, and more accurate at this one job.
The benchmarks back this up. On a head-to-head test of 5,000 labeled screenshots, our custom stack hit 98.7% overall accuracy against 82.3% for GPT-4o vision and 76.1% for CLIP zero-shot classification — while using 94% less compute per inference. Building specialized wasn't just more accurate, it was dramatically cheaper to run at scale.
Data Extraction — From Pixels to Statistics
Once regions are located and text is decoded, the pipeline moves into data extraction — turning raw OCR output into clean, typed fields ready for the database and dashboard. This is also where a handful of edge cases get handled that OCR alone can't sort out.
Survival time is a good example. PUBG Mobile shows it as "MM:SS," but depending on rendering, the OCR model can mistake that colon for a period or a vertical bar. Extraction handles this with a regex pattern flexible enough to accept MM:SS, MM.SS, MM|SS, or even M:SS for single-digit minutes — and whatever comes in, it always normalizes to total seconds as an integer for the dashboard.
Placement is another one. The results screen writes it with an ordinal suffix — "1st," "2nd," "12th," "101st" — and OCR reads the number and suffix as separate pieces. Extraction strips the suffix, converts to an integer, then maps it back against game-mode context, because placement 1 means Chicken Dinner in Classic but something different entirely in Arena. Skip that context and the dashboard numbers stop meaning anything.
Weapon stats are the trickiest of the bunch. The results screen can list up to four weapons, each with its own icon, name, kills, and headshots — and the game dynamically adjusts spacing based on name length and digit width, so entries never line up the same way twice. HUD detection finds the panel as a whole; a dynamic column-splitting algorithm then reads the vertical gaps between entries and segments them individually. That combination gets us to 99.1% accuracy on multi-weapon panels.
Match Validation — Catching Errors
No AI system gets everything right, which is exactly why validation exists — to catch and fix extraction errors before they ever reach your dashboard. Every field goes through two checks: hard constraints and statistical anomaly detection.
Hard constraints are the non-negotiable rules every valid record has to satisfy: kill count between 0 and 99, damage between 0 and 9999, survival time capped at 4800 seconds (the longest a match can run), placement between 1 and 100, and headshots that never exceed kills. Break any one of those and the record triggers a full re-extraction — higher contrast, sharper edge detection, and a second OCR pass at different confidence thresholds.
The statistical layer is a LightGBM classifier trained on over 500,000 verified match records, and it learns what "normal" looks like: a player with 12 kills, for instance, typically lands 80–120 damage per kill, survives 15–30 minutes, and lands headshots 8–25% of the time. Twelve kills with zero damage doesn't fit that pattern, so it gets flagged for review or re-extraction. This layer alone catches around 3% of records that technically pass the hard constraints but still hide a subtle misread.
Accuracy Metrics — 98.7% and Climbing
We measure accuracy continuously, mixing automated testing with manual spot-checks. The core metric — field-level extraction accuracy — comes from comparing AI-extracted values against manually verified ground truth. As of July 2026, overall accuracy sits at 98.7%, broken down by field below:
- Kill Count: 99.4% — the most reliable extraction field, benefiting from high-contrast white text on dark background.
- Damage Dealt: 98.2% — slightly lower than kills due to the wider range of possible values and occasional digit crowding at four-digit values.
- Survival Time: 97.8% — the colon character variation across device fonts creates occasional misreads.
- Placement: 99.1% — the placement icon serves as a strong visual anchor for region detection.
- Headshot Count: 96.5% — the skull icon can be partially occluded by event badges on certain game modes.
- Weapon Kills: 97.3% — dependent on accurate segmentation of the multi-weapon panel.
- Game Mode: 99.0% — detected from the match type banner at the top of the results screen.
- Team Kills: 97.1% — only present in squad/duo modes, which introduces a mode-dependency challenge.
Accuracy Improvement Trajectory
FragTrack's overall accuracy has improved from 91.2% at launch in March 2026 to the current 98.7%. Each percentage point of improvement required approximately 8,000 additional training examples and two to three weeks of model retraining cycles. The target for Q4 2026 is 99.5% overall accuracy, driven by expanded device coverage and improved low-light screenshot preprocessing.
Continuous Learning — The AI That Improves Itself
Continuous learning might be the feature we're most attached to. Every upload is a chance for the model to get better. Here's the loop: a screenshot comes in, the AI extracts the data and logs confidence scores per field, and if you correct any value on your dashboard, that correction goes straight back into the training pipeline as a fresh labeled example.
Retraining runs weekly. Every Saturday, the team reviews that week's corrections, filters out anything low-quality, and folds the good examples into the training set before fine-tuning and redeploying the models. The practical effect is that the system quietly gets better at edge cases without anyone hand-coding a fix. A screenshot that would've failed back in April 2026 — say, a low-light iPhone shot with an odd UI scale — now processes with high confidence, simply because the model has since seen enough similar examples.
There's also a shadow evaluation layer running quietly in the background. A lighter secondary model processes every screenshot in parallel with the primary one, and whenever the two disagree on a field, that screenshot gets flagged and added to a human-labeled test set. It's a steady stream of hard examples that helps catch model degradation before users ever notice it. Since launch, shadow evaluation has caught three regressions before they shipped — each one would have quietly cost 1–2 percentage points of accuracy.
Zoom out and FragTrack's screenshot pipeline is really computer vision research applied to a very specific, very practical problem. The YOLOv8 detector, the CRNN OCR engine, the LightGBM validator — none of it is generic, all of it is built for reading one thing: the PUBG Mobile end-of-match screen. The payoff is a system that handles thousands of screenshots a day at near-human accuracy, at basically zero marginal cost per upload, and it keeps improving. So when you upload a screenshot, you're not just pulling your own stats — you're making the model a little sharper for everyone else too.
Frequently Asked Questions
FragTrack uses a multi-stage pipeline: HUD region detection locates key UI elements, a custom OCR engine reads numeric and text data, a validation layer cross-checks extracted values, and the data is compiled into a performance profile. The entire process takes under 2 seconds.
Yes. All screenshots are encrypted in transit and at rest. FragTrack does not share your match data with third parties. Screenshots are automatically deleted from the processing pipeline after 24 hours.
FragTrack achieves 98.7% overall accuracy across all data fields. Kill count extraction accuracy exceeds 99.2%. Damage dealt and survival time fields exceed 97.5%.
FragTrack supports Classic (solo, duo, squad), Arena, Payload, Metro Royale, and all limited-time event modes. The AI automatically detects the game mode from the screenshot layout.
Yes. The HUD region detection model is trained on screenshots from over 200 unique device configurations, including various screen resolutions, aspect ratios, UI scale settings, and language localizations.