Satellite-based ship detection using SAR imagery and deep learning to identify vessels operating without AIS transmitters.
AIS transmitters can be easily disabled, making ships invisible to conventional tracking. This system uses Sentinel-1 SAR radar and machine learning to detect vessels regardless of AIS status.
Ships operating without AIS enable illegal fishing, smuggling, and increase collision risk
The system processes satellite imagery through three stages:
- Preprocessing: k-means clustering and grayscale conversion on Sentinel-1/2 data
- Detection: Fine-tuned YOLOv8 model identifies vessels in SAR imagery
- Enhancement: NAFNET super-resolution improves detection quality
Multi-source preprocessing: Sentinel-2 → k-means → grayscale conversion for optimal model input
NAFNET enhancement results: blurry input → prediction → original comparison
The NAFNET model was fine-tuned on maritime vessel imagery to handle:
- Low-resolution SAR detections
- Varying ship sizes and orientations
- Noise reduction in radar imagery
- Detection: YOLOv8 (fine-tuned on SAR vessel dataset)
- Enhancement: NAFNET (custom-trained for ship imagery)
- Data: Sentinel-1 SAR, Sentinel-2 optical
- Backend: Python, PyTorch
- Frontend: JavaScript
git clone https://github.com/szTworek/BITEhack-hackathon.git
cd BITEhack-hackathon
# Backend
cd backend
pip install -r requirements.txt
# Frontend
cd frontend
npm installConfigure Sentinel Hub API credentials:
cp .env.example .env
# Add credentials to .env# Start backend
cd backend
python main.py
# Start frontend
cd frontend
npm start- Real-time processing with live satellite feeds
- Bayesian trajectory prediction
- Vessel type classification (cargo, fishing, tanker)
- Expanded training dataset for improved accuracy
Built at BITEhack Hackathon by Szymon Tworek, Robert Raniszewski, Albert Arnautov and Iwo Zowada
