Skip to content

Releases: lucacrose/proofreader

v1.2.0 - Performance & Inference Pipeline Improvements

Choose a tag to compare

@lucacrose lucacrose released this 06 Feb 04:14

📊 Performance & Inference Pipeline Improvements (v1.2.0)

This release marks a fundamental shift in the inference architecture. By moving to a memory-native pipeline and the YOLO26 backbone, we have slashed the error rate by 50% and virtually eliminated I/O bottlenecks.

📈 Performance Benchmarks

Accuracy (Exact-Match)

Tested against the v1.1.0 baseline using $n=1300$ real-world "worst-case" user screenshots.

Version Correct Total Accuracy
v1.1.0 1258 1300 96.8%
v1.2.0 1279 1300 98.4%

The YOLO26 Advantage: The transition to the new backbone with Label Anchoring solved "trade-split" errors where the model previously struggled to distinguish between incoming and outgoing sides in tight or non-standard crops.

Inference Latency (Batch = 1, E2E)

Measured on an RTX 5070. E2E includes the full pipeline from input to structured dictionary.

Input Method Median (ms) p95 (ms)
NumPy Array / Bytes 20.5 35.0
File Path (v1.2.0) 28.0 47.4
v1.1.0 (File Path) 36.8 73.4

Note

By supporting direct byte streams, v1.2.0 treats images as uncompressed data internally. This bypasses traditional disk I/O overhead, enabling sub-25ms response times for high-frequency applications.


🛠️ Internal Improvements

  • YOLO26 Architecture: Replaced the previous detection backbone. Improved handling of box overlaps prevents duplicate item counting in cluttered trade windows.
  • Zero-Latency I/O: Added native support for bytes and np.ndarray. You can now feed the model directly from a video stream or network request without saving to disk first.
  • Fully Offline Operation: The base CLIP weights are now pulled and cached locally during the first initialization. Subsequent runs require zero internet connectivity.

🔍 Evaluation Criteria

  • Exact-Match: A "Correct" result requires every Item ID, Name, and Robux value to match the ground truth perfectly.
  • Environment: All benchmarks were performed after a 5-iteration warm-up to ensure CUDA kernels were fully resident in memory.

v1.1.2 - Pin Dependency Major Versions

Choose a tag to compare

@lucacrose lucacrose released this 06 Feb 00:48

🔧 Pin Dependency Major Versions (v1.1.2)

This patch pins all major dependencies to prevent breaking changes in future updates.

Changes

  • Pinned transformers < 5.0 to prevent BaseModelOutputWithPooling errors
  • Pinned all other dependencies by their major versions to avoid accidental breaking updates
  • Ensures proofreader works reliably on Python 3.12

Upgrade Instructions

If you already have proofreader installed:

pip install --upgrade proofreader==1.1.2

v1.1.1 - Pin asset download URLs to v1.1.0

Choose a tag to compare

@lucacrose lucacrose released this 06 Feb 00:07

📌 Pin asset download URLs to v1.1.0 (v1.1.1)

Updated _ensure_assets to pull asset files from a specific release version (v1.1.0) rather than the /latest/ redirect. This prevents potential breaking changes when new assets are uploaded before the code is ready to handle them.

v1.0.2 - Pin Dependency Major Versions

Choose a tag to compare

@lucacrose lucacrose released this 06 Feb 00:39

🔧 Pin Dependency Major Versions (v1.0.2)

This patch pins all major dependencies to prevent breaking changes in future updates.

Changes

  • Pinned transformers < 5.0 to prevent BaseModelOutputWithPooling errors
  • Pinned all other dependencies by their major versions to avoid accidental breaking updates
  • Ensures proofreader works reliably on Python 3.12

Upgrade Instructions

If you already have proofreader installed:

pip install --upgrade proofreader==1.0.2

v1.0.1 - Pin asset download URLs to v1.0.0

Choose a tag to compare

@lucacrose lucacrose released this 06 Feb 00:01

📌 Pin asset download URLs to v1.0.0 (v1.0.1)

Updated _ensure_assets to pull model and database files from a specific release version (v1.0.0) rather than the /latest/ redirect. This prevents potential breaking changes when new assets are uploaded before the code is ready to handle them.

v1.1.0 - Performance & Inference Pipeline Improvements

Choose a tag to compare

@lucacrose lucacrose released this 23 Jan 04:21

⚡Performance & Inference Pipeline Improvements (v1.1.0)

This release significantly improves both accuracy and latency, making the system faster, more reliable, and better suited for real-world Roblox trade parsing.


📊 Performance

Accuracy (Exact-Match)

Model Version Correct Total Accuracy
v1.0.0 442 500 88.4%
v1.1.0 486 500 97.2%

Δ +8.8% absolute improvement in accuracy evaluated on the same dataset.
~76% reduction in errors compared to the previous model.


Inference Latency (Batch = 1, End-to-End)

Model Version Median (ms) p95 (ms)
v1.0.0 139.4 233.3
v1.1.0 36.8 73.4

~3.8× reduction in median latency after pipeline refactoring.

Latency measured after warm-up over 50 iterations on full test set.


🛠️ Internal Improvements

Area Improvement
Inference Pipeline CLIP-first architecture: CLIP predicts items first, OCR only triggered if CLIP is uncertain; the "judge" then selects the most confident source or skips if both are unconfident
CLIP Model Custom-trained on 185,000+ image thumbnails across 2,500+ classes for highly accurate image-based identification; handles visually identical items with different names
OCR Batched for faster processing; only runs when CLIP is uncertain, reducing expensive OCR calls
Pretrained Data Added 6 previously missing items (now 2,553 total classes) to improve coverage

🔍 Notes

  • Accuracy is measured using exact-match evaluation (all fields must be correct).
  • Evaluation performed on real trade screenshots representative of production usage.

v1.0.0 - Initial Release

Choose a tag to compare

@lucacrose lucacrose released this 04 Jan 13:57

🚀 Initial Stable Release (v1.0.0)

This release marks the first stable version of the Proofreader engine. It includes the core detection logic and the initial trained model weights.

📦 Included Assets

  • yolo.pt: Custom YOLOv11 model trained for UI element detection.
  • db.json: Consolidated item database (Roblox + Rolimons).
  • embedding_bank.pt: Pre-computed CLIP embeddings for visual matching.

✨ Key Features

  • Spatial Detection: High-accuracy bounding boxes for trade items and values.
  • Visual Verification: CLIP-based similarity matching to prevent "fakes."
  • Auto-Bootstrap: The library will automatically pull these assets on first run if they are missing from the local environment.

🛠️ Installation

pip install rbx-proofreader