This repository aimes to create a neural network, that is capable of detecting ships on satellite images. This repository is a homework for this course: http://smartlab.tmit.bme.hu/oktatas-deep-learning. For detailed description about the project and the team members, please check our wiki.
If you want to learn more about the data, check out these:
- Vizualization.ipynb show a sigle image and it's annotation from the dataset.
- VisualizeShipOccurances.ipynb show heatmaps about where the ships are located.
- DataExploration.ipynb calculates various statistiscs about the dataset, like ship counts area etc.
To solve the proble we try various methods:
-
Our first solution is a segmentation using an object classifier changing its last layers, implemented in train_increasing_rcm.ipynb.
-
For image segmentation SegNet is a popular choiche. SegNetModel.py implements this solution with the help of model.py and layers.py. The solution uses argmax for MaxPooling and has residual connections as well, we modified the implementation of ykamikawa to help us create our SegNet. The result of the training and evaluation can be found in train_segnet.ipynb. Some predictions are visible at show_prediction_segnet.ipynb.