This project implements an open-world semantic segmentation framework for underwater ship hull inspection, adapting the approach from recent advances in autonomous driving to address the unique challenges of underwater imagery analysis.
The system utilizes a dual-decoder architecture to perform both traditional semantic segmentation and novel defect detection on underwater ship hull imagery. The implementation achieves a mean IoU of 50.9% across 11 classes while maintaining the ability to identify unknown anomalies.
- Dual-decoder architecture with ResNet34 backbone
- Open-world semantic segmentation capabilities
- Specialized loss functions for underwater imagery
- Support for both known defect detection and novel anomaly identification
- Comprehensive feature space organization through contrastive learning
The project uses the LIACI dataset from SINTEF Ocean, which includes:
- 1893 annotated images
- 11 semantic classes
- Diverse underwater conditions and defect types
- Void (background)
- Ship hull
- Marine growth
- Anode
- Overboard valve
- Propeller
- Paint peel
- Bilge keel
- Defect
- Corrosion
- Sea chest grating
python>=3.8
torch>=1.8.0
torchvision>=0.9.0
numpy
opencv-python
albumentations
tqdm
tensorboard
final_dataset/
├── leftImg8bit/
│ ├── train/
│ ├── val/
│ └── test/
└── gtFine/
├── train/
├── val/
└── test/
- Semantic Segmentation Loss (weight: 0.9)
- Objectosphere Loss (weight: 0.5)
- MAV Loss (weight: 0.1)
- Contrastive Loss (weight: 0.5)
- Image size: 512×512 pixels
- Learning rate: 1e-4
- Optimizer: Adam
- Batch size: 8
- Gradient accumulation steps: 4
- Training epochs: 2000
Class Category | IoU (%) |
---|---|
Ship hull | 78.5 |
Marine growth | 81.2 |
Sea chest grating | 84.7 |
Anode | 39.8 |
Overboard valve | 63.4 |
Paint peel | 29.1 |
Mean IoU | 50.03 |
Class Category | IoU (%) |
---|---|
Void | 78.0 |
Ship hull | 80.0 |
Sea chest grating | 82.0 |
Propeller | 70.0 |
Mean IoU | 50.9 |
- Dataset Preparation:
python prepare_dataset.py --input_dir /path/to/raw/data --output_dir final_dataset
- Training:
python train.py --data_dir final_dataset --batch_size 8 --epochs 2000
- Evaluation:
python evaluate.py --model_path /path/to/model --test_dir final_dataset/test
-
Dataset Enhancement:
- Expand dataset with additional rare defect examples
- Incorporate domain-specific augmentation techniques
-
Model Improvements:
- Implement attention mechanisms for varying illumination
- Add temporal consistency checks
- Develop confidence estimation metrics
-
Deployment Optimization:
- Create lightweight model variants
- Implement online learning capabilities
- Optimize for real-time ROV deployment
@article{underwater_inspection_2024,
title={Open-world Semantic Segmentation for Underwater Shiphull Inspection},
author={Badawi, Abubakar Aliyu and Ishfaq-Bhat},
journal={Department of Marine Technology, NTNU},
year={2024}
}
This project is licensed under the MIT License - see the LICENSE file for details.
- SINTEF Ocean for providing the LIACI dataset
- Norwegian University of Science and Technology (NTNU) for research support
- The authors of the original open-world semantic segmentation paper
For questions or collaborations, please contact:
- Abubakar Aliyu Badawi - [email protected]
- Ishfaq-Bhat - [email protected]