Faster-COCO-Eval

The Fastest, Most Reliable COCO Evaluation Library for Computer Vision

PyPI PyPI Downloads Conda Version Conda Platforms docs license CI - Test

Replace pycocotools with Faster-COCO-Eval Today

Aspect

pycocotools

faster-coco-eval

Support & Development

Outdated and not actively maintained. Issues and incompatibilities arise with new releases.

Actively maintained, continuously evolving, and regularly updated with new features and bug fixes.

Transparency & Reliability

Lacks comprehensive testing, making updates risky and results less predictable.

Emphasizes extensive test coverage and code quality, ensuring trustworthy and reliable results.

Performance

Significantly slower, especially on large datasets or distributed workloads.

Native C++ implementation with measured speedups that depend on the workload and hardware.

Functionality

Limited to basic COCO format evaluation.

Offers extended metrics, support for new IoU types, compatibility with more datasets (e.g., CrowdPose, LVIS), advanced visualizations, and seamless integration with PyTorch/TorchVision.

Ease of Use

Requires manual installation, often with compilation issues.

Simple pip install with pre-built wheels for common CPython/glibc Linux, macOS, and Windows platforms; source builds may be needed elsewhere.

Visualization

Basic plotting capabilities.

Advanced error visualization, annotation display, and comprehensive metric analysis tools.


Key Benefits of Faster-COCO-Eval:

Blazing Fast Performance - Evaluate large datasets in minutes instead of hours ✅ Reliable & Trusted - Extensive test coverage ensures consistent, reproducible results ✅ Modern Features - Support for latest CV tasks, IoU types, and dataset formats ✅ Easy to Use - Drop-in replacement for pycocotools with enhanced API ✅ Comprehensive Visualization - Understand your model’s performance with beautiful, informative plots

Join thousands of computer vision researchers and engineers who have already switched to Faster-COCO-Eval!

Quick Installation

Option 1: Basic (Drop-in Replacement)

Get started in seconds with the core evaluation functionality:

pip install faster-coco-eval

Option 2: Full Installation (with Visualization)

For complete functionality including advanced visualization tools:

pip install faster-coco-eval[extra]

Option 3: Conda Installation

If you use Anaconda/Miniconda:

conda install conda-forge::faster-coco-eval

🚀 Quick Start: Drop-in Replacement

Replace pycocotools with Faster-COCO-Eval in 2 lines of code:

import faster_coco_eval

# This single line replaces pycocotools with faster-coco-eval
faster_coco_eval.init_as_pycocotools()

# Now use the familiar pycocotools API
from pycocotools.coco import COCO
from pycocotools.cocoeval import COCOeval

# Load annotations and predictions
anno_json = "path/to/annotations.json"
pred_json = "path/to/predictions.json"
anno = COCO(str(anno_json))  # Annotations file
pred = anno.loadRes(str(pred_json))  # Predictions file

# Evaluate bounding boxes
val = COCOeval(anno, pred, "bbox")
val.evaluate()
val.accumulate()
val.summarize()

# Or evaluate segmentation masks
val = COCOeval(anno, pred, "segm")
val.evaluate()
val.accumulate()
val.summarize()

That’s it! Your existing code runs through the native evaluator with no API changes.

⚡ Blazing Fast Performance

Faster-COCO-Eval uses a native C++ implementation. The measured result below is one local reference point; real-world speedup varies with dataset size, metric, and hardware.

Real-World Performance Benchmark

Local reference measurement: 100 synthetic images, 15 ground-truth boxes and 100 detections per image, five categories, bbox evaluation, seven timed samples after two warmups. The measurement was run on 2026-08-23 on macOS 26.6.1 arm64, Python 3.10.11, and NumPy 2.2.6. The implementations’ eval["precision"] arrays matched within the comparison tolerance.

Evaluation Type

Faster-COCO-Eval (sec)

pycocotools (sec)

Speedup

Bounding Boxes

0.053977 (MAD 0.001883)

0.296960 (MAD 0.001667)

5.50x

This local measurement is hardware- and workload-dependent; it is not a universal performance guarantee.

Colab Examples

See the performance in action:

🎯 Powerful Features

Faster-COCO-Eval goes beyond basic evaluation with these advanced capabilities:

Core Evaluation

  • Drop-in pycocotools replacement - No code changes needed

  • Support for all COCO metric types: bbox, segm, keypoints

  • LVIS (Large Vocabulary Instance Segmentation) evaluation

  • CrowdPose and custom keypoint datasets

  • Multiple IoU types: standard, rotated, and custom IoU definitions

Advanced Visualization

  • Error visualization: See where your model is making mistakes

  • Annotation display: Visualize ground truth and predictions together

  • Metric curves: Precision-recall curves, class-wise performance

  • Confusion matrices and error analysis

  • Interactive Jupyter notebook examples

Modern Integrations

  • PyTorch/TorchVision compatibility

  • Seamless integration with mmdetection and YOLO frameworks

  • Distributed evaluation support

  • Memory optimized for large datasets

Additional Tools

  • Boundary evaluation for segmentation tasks

  • Custom dataset support

  • Comprehensive API documentation

  • Extensive test coverage and reliability

✅ Testing & Reliability

Faster-COCO-Eval prioritizes correctness and reliability through extensive testing:

Comprehensive Test Suite

  • 90+ automated tests covering all functionality

  • Numerical parity checks against pycocotools across the supported metrics

  • Continuous integration on Python 3.10-3.13

  • Edge case coverage including boundary conditions and error handling

Extensive PyCocoTools Comparison

New comprehensive tests validate numerical parity within a strict tolerance with pycocotools:

  • Object Detection: Tests with 10-100 images, hundreds to thousands of annotations

  • Instance Segmentation: RLE mask encoding and pixel-level IoU validation

  • Keypoint Detection: 17-keypoint pose estimation with varied visibility

  • Multiple Scenarios: Small/medium/large objects, various confidence distributions

  • Edge Cases: Perfect predictions, low-confidence detections, mixed object sizes

The comparison suite checks numerical parity between faster_coco_eval and pycocotools, giving you confidence to use this library as a drop-in replacement. See the benchmark above for one measured bbox workload; it is not a universal performance guarantee.

See tests/README.md for detailed test documentation.

📚 Comprehensive Documentation

Usage Examples

Explore practical, runnable examples in Jupyter notebooks:

Detailed Documentation

⭐ Star History

Star History Chart

📄 License

Faster-COCO-Eval is distributed under the Apache 2.0 license. See LICENSE for more information.

📚 Citation

If you use Faster-COCO-Eval in your research, please cite:

@article{faster-coco-eval,
  title   = {{Faster-COCO-Eval}: Faster and Enhanced COCO Evaluation Library},
  author  = {MiXaiLL76},
  year    = {2024}
}

🤝 Contributing

We welcome contributions! Check out our CONTRIBUTING.md for guidelines on how to get started.

🐛 Issues and Support

If you encounter any issues or have questions:

  1. Check the Wiki for common solutions

  2. Search existing issues

  3. Open a new issue with detailed information about your problem

🚀 Get Started Today

pip install faster-coco-eval[extra]

Replace pycocotools with Faster-COCO-Eval and experience evaluation at lightning speed!

Modules