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
| Package | Version | Purpose |
|---|---|---|
numpy | ≥ 1.23 | Vectorized heuristics |
pillow | ≥ 9.5 | Image decoding |
scipy | ≥ 1.10 | Wasserstein / MMD |
typer | ≥ 0.9 | CLI framework |
rich | ≥ 13.0 | Terminal output |
jinja2 | ≥ 3.1 | HTML report templates |
What's Next?
VisionSentinel and BatchAuditor contracts