Quickstart — VigilCV

VigilCV is an ultra-fast, CPU-first data quality auditor and distribution drift sentinel for production Computer Vision pipelines.

Installation

pip install vigilcv

VigilCV requires Python 3.10+ and has no GPU dependencies. All computations run on CPU using NumPy and SciPy.

5-Minute Quickstart

1. Inspect a Single Image

from vigilcv import VisionSentinel

sentinel = VisionSentinel(

blur_threshold=100.0, # Laplacian variance minimum

min_entropy=3.0, # Shannon entropy minimum (bits)

max_underexposure_ratio=0.20,

max_overexposure_ratio=0.20,

raise_on_fail=True,

)

metrics = sentinel.guard("path/to/image.jpg")

print(f"Blur score: {metrics.blur_score:.1f}")

print(f"Entropy: {metrics.shannon_entropy:.2f} bits")

print(f"Passed: {metrics.passed}")

2. Audit a Directory

from vigilcv import BatchAuditor

auditor = BatchAuditor(directory="dataset/train/", workers=8)

summary = auditor.run()

print(f"Total: {summary.total_images}")

print(f"Valid: {summary.valid_images}")

print(f"Corrupted: {summary.corrupted_count}")

print(f"Blurred: {summary.blurred_count}")

print(f"Speed: {summary.throughput_fps:.1f} FPS")

3. Use the CLI

# Inspect a single image

vigilcv inspect image.jpg

Audit a directory

vigilcv audit dataset/train/ --workers 8 --report report.html

Record a drift baseline

vigilcv baseline dataset/train/ --output baseline.pkl

Detect drift in new data

vigilcv drift dataset/new/ --baseline baseline.pkl

Core Dependencies

PackageVersionPurpose
numpy≥ 1.23Vectorized heuristics
pillow≥ 9.5Image decoding
scipy≥ 1.10Wasserstein / MMD
typer≥ 0.9CLI framework
rich≥ 13.0Terminal output
jinja2≥ 3.1HTML report templates

What's Next?

  • Core Concepts — Why signal heuristics beat gradient descent for pre-flight checks
  • Heuristics — The mathematical formulation of every quality gate
  • API Reference — Full VisionSentinel and BatchAuditor contracts