Applied ML Prototypes for Defence and Strategic Intelligence
Maintained by: Favour 'Nimi' Adebayo
License: MIT / Academic Research
A cohesive GeoAI-OSINT analytical stack that demonstrates open data triangulation, anomaly detection, and strategic risk assessment—all using reproducible, ethical, and transparent ML. This suite demonstrates how a defence or security analyst can operationalize open-source data (AIS, Sentinel imagery, SIPRI, WB logistics) through machine learning for situational awareness and risk assessment. Each module is self-contained yet interoperable, providing complementary intelligence layers:
| Module | Description | Stack | Output |
|---|---|---|---|
| Seance | Detects maritime route anomalies near global choke points | AIS + ML clustering (HDBSCAN + Isolation Forest) | Streamlit map dashboard |
| Sentinel | Flags construction/logistics buildup along borders using Sentinel-2/SAR imagery and OSINT text | GEE / raster analysis + NLP | Jupyter + technical report |
| Ecolog | Quantifies supply-chain stress near conflict zones | SIPRI + WB + trade + Prophet forecasting | Time-series dashboard |
These prototypes replicate OSINT workflows used in defence intelligence for: - Early warning and pattern-of-life anomaly detection - Cross-domain correlation between physical and economic indicators - Transparent, open-data-based situational awareness - Strategic analysis that supports policy and operational foresight
[Seance: Maritime Anomalies] ─┐
├──> [Ecolog SupplyChain Index] ───> Composite Risk Map
[Sentinel: Border Signals] ─┘
osint-geoai-suite/
│
├── README.md # master overview of suite
├── requirements.txt # core shared dependencies
├── /data/ # shared lightweight sample datasets (public)
│
├── seasense-maritime-anomaly/
│ ├── README.md
│ ├── data/
│ │ ├── ais_sample.csv
│ ├── notebooks/
│ │ ├── 01_preprocessing.ipynb
│ │ ├── 02_clustering_anomalies.ipynb
│ ├── app/
│ │ ├── dashboard.py # Streamlit app
│ ├── src/
│ │ ├── preprocessing.py
│ │ ├── anomaly_model.py
│ │ ├── visualization.py
│ ├── docs/
│ │ ├── analysis_report.md
│ └── environment.yml
│
├── sentinelwatch-border-activity/
│ ├── README.md
│ ├── data/
│ │ ├── sentinel2_sample.tif
│ ├── notebooks/
│ │ ├── 01_change_detection.ipynb
│ │ ├── 02_text_integration.ipynb
│ ├── src/
│ │ ├── image_preprocessing.py
│ │ ├── change_detection.py
│ │ ├── text_signal_extraction.py
│ ├── docs/
│ │ ├── technical_writeup.md
│ └── environment.yml
│
└── riskflow-supplychain-index/
├── README.md
├── data/
│ ├── sipri_spend.csv
│ ├── wb_logistics.csv
│ ├── port_throughput.csv
├── notebooks/
│ ├── 01_data_integration.ipynb
│ ├── 02_index_construction.ipynb
│ ├── 03_forecasting_validation.ipynb
├── app/
│ ├── dashboard.py # Plotly/Dash app
├── src/
│ ├── preprocess.py
│ ├── build_index.py
│ ├── forecast_model.py
├── docs/
│ ├── riskflow_report.md
└── environment.yml
# Clone the suite
git clone https://github.com/<username>/osint-geoai-suite.git
cd osint-geoai-suite
# Install shared dependencies
pip install -r requirements.txt
# Navigate into each repo and install its environment
cd seance-maritime-anomaly
pip install -r env.yml
All data are public, non-classified, and aligned with responsible AI principles: reproducible, non-intrusive, and strictly analytical.