How vico-uoe/oddoneoutad works
Odd-One-Out is a multi-view 3D scene reconstruction and anomaly-detection system. Its documented workflow loads scene images and camera data, learns a feature volume and object correspondences in Stage 1, then trains or evaluates anomaly classification in Stage 2; demo inference also exposes reconstruction and classification outputs. The model’s encoder, volume decoder, matching transformer and volume renderers form the main internal layer. The README also documents scene visualizations and a browser-based data viewer. Some stage details and evaluation wiring are documented but their source was not sampled, so those links cite the README.
Main entry points: model.py Odd-One-Out model · train.py Training runner · demo.py Inference demo · misc.py Object and box analysis
Components 18
Data and workflows
- Scene dataset
data/dataset_e2e.py - Model configs
configs - Training runner
train.py - 3D correspondence
train.py - Anomaly training
train.py - Model evaluation
test.py
3D learning network
- Odd-One-Out model
models/model.py - 2D feature encoder
models/encoder.py - 3D volume decoder
models/decoder.py - 3D network layers
models/layers.py - Feature matching
models/xformer.py - Volume render losses
models/render.py
Scene analysis
- Object and box analysis
utils/misc.py - Feature visualization
utils/pca.py
Inference and visualization
- Inference demo
demo.py - Scene data viewer
visualize_data.py - Viewer helpers
utils/visualize_data.py
Other components
- Researcher
Connections 23
- Researcher → Training runner: starts training
README.md - Researcher → Model evaluation: runs evaluation
README.md - Researcher → Inference demo: runs inference
README.md - Researcher → Scene data viewer: opens viewer
README.md - Training runner → Scene dataset: loads batches
train.py - Training runner → Odd-One-Out model: trains
train.py - Training runner → Model configs: reads config
README.md - Training runner → 3D correspondence: runs stage
README.md - Training runner → Anomaly training: runs stage
README.md - 3D correspondence → Anomaly training: provides checkpoint
README.md - Model evaluation → Odd-One-Out model: evaluates
README.md - Inference demo → Odd-One-Out model: builds and calls
README.md - Odd-One-Out model → 2D feature encoder: uses
models/model.py - Odd-One-Out model → 3D volume decoder: uses
models/model.py - Odd-One-Out model → Feature matching: uses
models/model.py - Odd-One-Out model → Volume render losses: uses
models/model.py - 3D volume decoder → 3D network layers: uses
models/decoder.py - Scene dataset → Object and box analysis: imports helpers
data/dataset_e2e.py - Odd-One-Out model → Object and box analysis: uses
models/model.py - Odd-One-Out model → Feature visualization: uses
models/model.py - Inference demo → Object and box analysis: produces scene analysis
README.md - Inference demo → Feature visualization: visualizes features
README.md - Scene data viewer → Viewer helpers: uses helpers