# ATM Anomaly Detection AI-driven anomaly detection for ATM infrastructure monitoring. ## Overview This system detects anomalies in ATM images using computer vision and machine learning: - **Physical damage** (vandalism, scratches, broken screens) - **Environmental issues** (graffiti, dirt, obstructions) - **Functional problems** (out of service, paper jams, empty cash) - **Security concerns** (skimming devices, suspicious attachments) ## Structure ``` atm-anomaly-detection/ ├── data/ # Training data and datasets │ ├── raw/ # Original ATM images │ ├── processed/ # Preprocessed images │ ├── annotations/ # Label files │ └── splits/ # Train/val/test splits ├── models/ # Trained model artifacts │ ├── checkpoints/ # Training checkpoints │ ├── exports/ # ONNX/TensorRT exports │ └── configs/ # Model configurations ├── src/ # Source code │ ├── data/ # Data loading and preprocessing │ ├── models/ # Model architectures │ ├── training/ # Training loops │ ├── inference/ # Prediction pipeline │ └── evaluation/ # Metrics and validation ├── config/ # Configuration files ├── docs/ # Documentation └── scripts/ # Utility scripts ``` ## Quick Start 1. Place ATM images in `data/raw/` 2. Run preprocessing: `python src/data/preprocess.py` 3. Train model: `python src/training/train.py` 4. Run inference: `python src/inference/predict.py --image ` ## Data Schema ### Images - Format: JPG/PNG - Resolution: 1920x1080 or higher - Naming: `{atm_id}_{timestamp}_{camera_angle}.jpg` ### Annotations - Format: COCO JSON or YOLO txt - Categories: damage, graffiti, obstruction, skimming, out_of_service ## Model - Base: YOLOv8 or EfficientDet - Input: 640x640 RGB - Output: Bounding boxes + anomaly class + confidence ## Pipeline 1. **Data Collection** → ATM images from field cameras 2. **Preprocessing** → Resize, normalize, augment 3. **Training** → Supervised learning on annotated data 4. **Inference** → Real-time anomaly detection 5. **Alerting** → Notify when anomalies detected ## Status - [x] Project structure - [ ] Database schema - [ ] Data pipeline - [ ] Model training - [ ] API deployment