Files
boc/atm-anomaly-detection/data/atm_anomaly.db
T

146 lines
92 KiB
Plaintext
Raw Normal View History

SQLite format 3@ .cû û
ÝõéÝ ATM-003 ATM-002
 ATM-001
ÈíÚÈ%atm_captures'atm_locations'ano
°
E àc %%[!-network_downNetwork DownATM showing network connectivity issuesfunctionalCURRENT_DATETIMEi
%%k-camera_blindCamera BlindSecurity camera blocked, damaged, or misalignedsecurityCURRENT_DATETIMEt --g'-lighting_failureLighting FailureATM area poorly lit or lights not functioningenvironmentalCURRENT_DATETIMEg ##g!-receipt_jamReceipt JamReceipt printer showing signs of jam or emptyfunctionalCURRENT_DATETIMEf
q!-cash_jamCash JamCash dispenser showing signs of jam or malfunctionfunctionalCURRENT_DATETIMEj ''i-screen_damageScreen DamageCracked, discolored, or non-functional displayphysicalCURRENT_DATETIMEt ))u!-out_of_serviceOut of ServiceATM displaying out of service message or dark screenfunctionalCURRENT_DATETIMEt 77] -suspicious_attachmentSuspicious AttachmentUnknown device or object attached to ATMsecurityCURRENT_DATETIMEt ++u -skimming_deviceSkimming DeviceSuspicious device attached to card reader or PIN padsecurityCURRENT_DATETIMEj ##g'-obstructionObstructionObjects blocking access to ATM or camera viewenvironmentalCURRENT_DATETIMEy #+}'-dirt_debrisDirt and DebrisExcessive dirt, leaves, or debris blocking ATM or cameraenvironmentalCURRENT_DATETIMEe i'-graffitiGraffitiUnauthorized markings or paint on ATM surfacesenvironmentalCURRENT_DATETIMEs
 -vandalismVandalismIntentional damage including scratches, dents, or broken partsphysicalCURRENT_DATETIMEv ++y-physical_damagePhysical DamageVisible damage to ATM structure, screen, or componentsphysicalCURRENT_DATETIME
 RÂÒ- ²qíB_žß%network_down%camera_blind
-lighting_failure #receipt_jam cash_jam
'screen_damage )out_of_service7suspicious_attachment+skimming_device#obstruction#dirt_debris graffiti
vandalism+ physical_damage

/ ÕG+øø‡e11Žutabledetected_anomaliesdetected_anomaliesCREATE TABLE detected_anomalies (
id INTEGER PRIMARY KEY AUTOINCREMENT,
capture_id INTEGER NOT NULL REFERENCES atm_captures(id),
anomaly_type_id INTEGER NOT NULL REFERENCES anomaly_types(id),
confidence_score REAL NOT NULL, -- 0.0 to 1.0
bounding_box JSON, -- {x, y, width, height} in normalized coordinates
severity_score REAL, -- calculated severity
model_version VARCHAR(50), -- which model detected this
detection_timestamp DATETIME DEFAULT CURRENT_DATETIME,
verified_by_human BOOLEAN DEFAULT FALSE,
human_verdict VARCHAR(20), -- confirmed, false_positive, uncertain
human_notes TEXT,
status VARCHAR(20) DEFAULT 'open', -- open, acknowledged, resolved, false_positive
resolved_at DATETIME,
resolution_notes TEXT,
assigned_to VARCHAR(100), -- technician or team
priority INTEGER ,
created_at DATETIME DEFAULT CURRENT_DATETIME,
updated_at DATETIME DEFAULT CURRENT_DATETIME
)ƒ#''tableanomaly_typesanomaly_typesCREATE TABLE anomaly_types (
id INTEGER PRIMARY KEY AUTOINCREMENT,
type_code VARCHAR(50) UNIQUE NOT NULL,
type_name VARCHAR(100) NOT NULL,
description TEXT,
severity_level INTEGER ,
category VARCHAR(50), -- physical, environmental, functional, security
requires_immediate_action BOOLEAN DEFAULT FALSE,
created_at DATETIME DEFAULT CURRENT_DATETIME
)9M'indexsqlite_autoindex_anomaly_types_1anomaly_types%%Stableatm_capturesatm_capturesCREATE TABLE atm_captures (
id INTEGER PRIMARY KEY AUTOINCREMENT,
atm_id VARCHAR(50) NOT NULL REFERENCES atm_locations(atm_id),
capture_timestamp DATETIME NOT NULL,
camera_angle VARCHAR(20), -- front, side, top, wide
image_path VARCHAR(500) NOT NULL,
image_hash VARCHAR(64), -- SHA-256 for deduplication
file_size_bytes INTEGER,
width_pixels INTEGER,
height_pixels INTEGER,
lighting_condition VARCHAR(20), -- day, night, indoor, outdoor
weather_condition VARCHAR(50), -- clear, rain, snow, fog
blur_score REAL, -- 0.0 to 1.0, higher is sharper
quality_score REAL, -- overall image quality
metadata JSON, -- flexible metadata storage
created_at DATETIME DEFAULT CURRENT_DATETIME
)P++Ytablesqlite_sequencesqlite_sequenceCREATE TABLE sqlite_sequence(name,seq)„M''ˆYtableatm_locationsatm_locationsCREATE TABLE atm_locations (
id INTEGER PRIMARY KEY AUTOINCREMENT,
atm_id VARCHAR(50) UNIQUE NOT NULL,
bank_name VARCHAR(100),
branch_name VARCHAR(100),
address TEXT,
latitude REAL,
longitude REAL,
city VARCHAR(100),
country VARCHAR(100),
installation_date DATE,
atm_model VARCHAR(100),
camera_count INTEGER DEFAULT 1,
status VARCHAR(20) DEFAULT 'active', -- active, inactive, maintenance, removed
created_at DATETIME DEFAULT CURRENT_DATETIME,
updated_at DATETIME DEFAULT CURRENT_DATETIME
)9M'indexsqlite_autoindex_atm_locations_1atm_locations

ä Wâ §0=ÉOèY1windexidx_alerts_anomalyalertsCREATE INDEX idx_alerts_anomaly ON alerts(anomaly_id)e+/indexidx_changes_atmchange_detectionsCREATE INDEX idx_changes_atm ON change_detections(atm_id)x71indexidx_anomalies_createddetected_anomaliesCREATE INDEX idx_anomalies_created ON detected_anomalies(created_at)r51 indexidx_anomalies_statusdetected_anomaliesCREATE INDEX idx_anomalies_status ON detected_anomalies(status)w11indexidx_anomalies_typedetected_anomaliesCREATE INDEX idx_anomalies_type ON detected_anomalies(anomaly_type_id)x71indexidx_anomalies_capturedetected_anomaliesCREATE INDEX idx_anomalies_capture ON detected_anomalies(capture_id)u9%indexidx_captures_timestampatm_capturesCREATE INDEX idx_captures_timestamp ON atm_captures(capture_timestamp)c
3%}indexidx_captures_atm_idatm_capturesCREATE INDEX idx_captures_atm_id ON atm_captures(atm_id)ƒy --‡%tablemaintenance_logsmaintenance_logsCREATE TABLE maintenance_logs (
id INTEGER PRIMARY KEY AUTOINCREMENT,
atm_id VARCHAR(50) NOT NULL REFERENCES atm_locations(atm_id),
maintenance_type VARCHAR(50), -- repair, cleaning, inspection, upgrade
technician_name VARCHAR(100),
started_at DATETIME,
completed_at DATETIME,
description TEXT,
parts_replaced JSON,
cost REAL,
before_images JSON,
after_images JSON,
created_at DATETIME DEFAULT CURRENT_DATETIME
)ƒW ‡ tablealertsalertsCREATE TABLE alerts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
anomaly_id INTEGER REFERENCES detected_anomalies(id),
alert_type VARCHAR(50), -- email, sms, webhook, dashboard
recipient VARCHAR(200),
sent_at DATETIME,
delivered_at DATETIME,
read_at DATETIME,
status VARCHAR(20) DEFAULT 'pending', -- pending, sent, delivered, failed
retry_count INTEGER DEFAULT 0,
created_at DATETIME DEFAULT CURRENT_DATETIME
)„r
33 tablemodel_training_runsmodel_training_runs
CREATE TABLE model_training_runs (
id INTEGER PRIMARY KEY AUTOINCREMENT,
model_name VARCHAR(100) NOT NULL,
model_version VARCHAR(50) NOT NULL,
training_start DATETIME,
training_end DATETIME,
dataset_size INTEGER,
epochs INTEGER,
batch_size INTEGER,
learning_rate REAL,
final_loss REAL,
validation_map REAL, -- mean average precision
validation_accuracy REAL,
model_path VARCHAR(500),
config JSON,
status VARCHAR(20) DEFAULT 'running', -- running, completed, failed
created_at DATETIME DEFAULT CURRENT_DATETIME
)…
//‰Ctablechange_detectionschange_detections
CREATE TABLE change_detections (
id INTEGER PRIMARY KEY AUTOINCREMENT,
atm_id VARCHAR(50) NOT NULL REFERENCES atm_locations(atm_id),
camera_angle VARCHAR(20),
reference_capture_id INTEGER REFERENCES atm_captures(id),
current_capture_id INTEGER NOT NULL REFERENCES atm_captures(id),
change_score REAL, -- overall change magnitude
structural_similarity REAL, -- SSIM score
pixel_difference REAL, -- percentage of changed pixels
significant_change BOOLEAN DEFAULT FALSE,
detected_at DATETIME DEFAULT CURRENT_DATETIME,
reviewed_by INTEGER,
review_notes TEXT
)„++‡itablebaseline_imagesbaseline_images CREATE TABLE baseline_images (
id INTEGER PRIMARY KEY AUTOINCREMENT,
atm_id VARCHAR(50) NOT NULL REFERENCES atm_locations(atm_id),
camera_angle VARCHAR(20),
baseline_type VARCHAR(20) DEFAULT 'normal', -- normal, maintenance, installation
image_path VARCHAR(500) NOT NULL,
established_at DATETIME DEFAULT CURRENT_DATETIME,
expires_at DATETIME, -- when baseline should be refreshed
is_active BOOLEAN DEFAULT TRUE,
created_at DATETIME DEFAULT CURRENT_DATETIME