How kaichen-z/rad works
RAD is a multi-view anomaly-detection benchmark with utilities for validating its dataset and adapting it to several evaluation families. The primary workflow is to obtain a RAD archive, validate its layout and optional pose metadata, generate adapter metadata, then run a baseline or convert vision-language box responses into masks. The graph also preserves the documented 3D reconstruction and CLIP adapter branches. Source excerpts substantiate the core utility calls; some method capabilities are documented but their upstream implementations are not included here.
Main entry points: cli.py Benchmark CLI · dataset.py Dataset validation · vlm.py Box-to-mask conversion · anomalib.py Anomalib runner
Components 20
Dataset utilities
- Benchmark CLI
src/rad_benchmark/cli.py - Dataset validation
src/rad_benchmark/dataset.py - Adapter metadata
src/rad_benchmark/dataset.py
Feature and CLIP
- Anomalib runner
src/rad_benchmark/anomalib.py - 2D feature baselines
methods/anomalib - AdaCLIP adapter
methods/adaclip - VCP-CLIP converter
methods/vcpclip/convert_rad.py
3D reconstruction
- SplatPose preparation
methods/reconstruction/prepare_splatpose.py - Reconstruction adapter
methods/reconstruction/run.py - PIAD config output
methods/reconstruction/run.py
Vision-language
- VLM evaluation prompt
methods/vlm/prompt.json - Box-to-mask conversion
src/rad_benchmark/vlm.py
Other components
- Benchmark user
- RAD archive
- Anomalib engine
- AdaCLIP upstream
- SplatPose upstream
- VLM provider
- VLM responses
- Predicted masks
Connections 25
- Benchmark user → RAD archive: downloads
- Benchmark user → Benchmark CLI: invokes
- Benchmark CLI → Dataset validation: validates
- RAD archive → Dataset validation: reads
- Benchmark CLI → Dataset validation: generates metadata
- Dataset validation → Adapter metadata: writes
- Adapter metadata → AdaCLIP adapter: consumed by
- AdaCLIP adapter → AdaCLIP upstream: adapts
- RAD archive → VCP-CLIP converter: reads
- VCP-CLIP converter → Adapter metadata: writes converted records
- Benchmark CLI → Anomalib runner: dispatches
- Anomalib runner → RAD archive: reads
- Anomalib runner → Anomalib engine: runs models
- 2D feature baselines → RAD archive: evaluates
- RAD archive → SplatPose preparation: reads views and poses
- SplatPose preparation → Reconstruction adapter: prepares dataset
- Reconstruction adapter → SplatPose upstream: launches
- Reconstruction adapter → PIAD config output: writes config
- VLM evaluation prompt → VLM provider: guides evaluation
- VLM provider → VLM responses: produces
- Benchmark user → Benchmark CLI: submits responses
- Benchmark CLI → Box-to-mask conversion: dispatches
- VLM responses → Box-to-mask conversion: provides boxes
- RAD archive → Box-to-mask conversion: provides images
- Box-to-mask conversion → Predicted masks: writes