Skip to content

📡 PyTorch Lightning Implementations of Recent Satellite Image Classification !

License

Notifications You must be signed in to change notification settings

canturan10/satellighte

Repository files navigation

Satellighte

Satellighte

Satellite Image Classification

WebsiteDocsPypi

Demo Page

Satellighte

TABLE OF CONTENTS
  1. About The Satellighte
  2. Prerequisites
  3. Installation
  4. Usage Examples
  5. APIs
  6. Architectures
  7. Datasets
  8. Deployments
  9. Training
  10. Tests
  11. Contributing
  12. Contributors
  13. Contact
  14. License
  15. References
  16. Citations

About The Satellighte

Satellighte is an image classification library that consist state-of-the-art deep learning methods. It is a combination of the words 'Satellite' and 'Light', and its purpose is to establish a light structure to classify satellite images, but to obtain robust results.

Satellite image classification is the most significant technique used in remote sensing for the computerized study and pattern recognition of satellite information, which is based on diversity structures of the image that involve rigorous validation of the training samples depending on the used classification algorithm.

Source: paperswithcode

Prerequisites

Before you begin, ensure you have met the following requirements:

requirement version
imageio ~=2.15.0
numpy ~=1.22.0
pytorch_lightning ~=1.7.0
scikit-learn ~=1.0.2
torch ~=1.9.1

Installation

To install Satellighte, follow these steps:

From Pypi

pip install satellighte

From Source

git clone https://github.com/canturan10/satellighte.git
cd satellighte
pip install .

From Source For Development

git clone https://github.com/canturan10/satellighte.git
cd satellighte
pip install -e ".[all]"

Usage Examples

import imageio
import satellighte as sat

img = imageio.imread("test.jpg")

model = sat.Classifier.from_pretrained("model_config_dataset")
model.eval()

results = model.predict(img)
# [{'cls1': 0.55, 'cls2': 0.45}]

APIs

For more information, please refer to the APIs

Architectures

For more information, please refer to the Architectures

Datasets

For more information, please refer to the Datasets

Deployments

For more information, please refer to the Deployment

Training

To training, follow these steps:

For installing Satellighte, please refer to the Installation.

python training/eurosat_training.py

For optional arguments,

python training/eurosat_training.py --help

Tests

During development, you might like to have tests run.

Install dependencies

pip install -e ".[test]"

Linting Tests

pytest satellighte --pylint --pylint-error-types=EF

Document Tests

pytest satellighte --doctest-modules

Coverage Tests

pytest --doctest-modules --cov satellighte --cov-report term

Contributing

To contribute to Satellighte, follow these steps:

  1. Fork this repository.
  2. Create a branch: git checkout -b <branch_name>.
  3. Make your changes and commit them: git commit -m '<commit_message>'
  4. Push to the original branch: git push origin
  5. Create the pull request.

Alternatively see the GitHub documentation on creating a pull request.

Contributors

Oğuzcan Turan
Linkedin Portfolio
Oğuzcan Turan
Reserved

Contact

If you want to contact me you can reach me at can.turan.10@gmail.com.

License

This project is licensed under MIT license. See LICENSE for more information.

References

The references used in the development of the project are as follows.

Citations

Click to expand!
@misc{dai2021coatnet,
    title={CoAtNet: Marrying Convolution and Attention for All Data Sizes},
    author={Zihang Dai and Hanxiao Liu and Quoc V. Le and Mingxing Tan},
    year={2021},
    eprint={2106.04803},
    archivePrefix={arXiv},
    primaryClass={cs.CV}
}
@article{DBLP:journals/corr/ChengHL17,
author    = {Gong Cheng and
             Junwei Han and
             Xiaoqiang Lu},
title     = {Remote Sensing Image Scene Classification: Benchmark and State of
             the Art},
journal   = {CoRR},
volume    = {abs/1703.00121},
year      = {2017},
url       = {http://arxiv.org/abs/1703.00121},
eprinttype = {arXiv},
eprint    = {1703.00121},
timestamp = {Mon, 02 Dec 2019 09:32:19 +0100},
biburl    = {https://dblp.org/rec/journals/corr/ChengHL17.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{helber2019eurosat,
  title={Eurosat: A novel dataset and deep learning benchmark for land use and land cover classification},
  author={Helber, Patrick and Bischke, Benjamin and Dengel, Andreas and Borth, Damian},
  journal={IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing},
  year={2019},
  publisher={IEEE}
}
@inproceedings{helber2018introducing,
  title={Introducing EuroSAT: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification},
  author={Helber, Patrick and Bischke, Benjamin and Dengel, Andreas and Borth, Damian},
  booktitle={IGARSS 2018-2018 IEEE International Geoscience and Remote Sensing Symposium},
  pages={204--207},
  year={2018},
  organization={IEEE}
}
@article{DBLP:journals/corr/abs-1801-04381,
  author    = {Mark Sandler and
               Andrew G. Howard and
               Menglong Zhu and
               Andrey Zhmoginov and
               Liang{-}Chieh Chen},
  title     = {Inverted Residuals and Linear Bottlenecks: Mobile Networks for Classification,
               Detection and Segmentation},
  journal   = {CoRR},
  volume    = {abs/1801.04381},
  year      = {2018},
  url       = {http://arxiv.org/abs/1801.04381},
  archivePrefix = {arXiv},
  eprint    = {1801.04381},
  timestamp = {Tue, 12 Jan 2021 15:30:06 +0100},
  biburl    = {https://dblp.org/rec/journals/corr/abs-1801-04381.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{DBLP:journals/corr/abs-1905-11946,
  author    = {Mingxing Tan and
               Quoc V. Le},
  title     = {EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks},
  journal   = {CoRR},
  volume    = {abs/1905.11946},
  year      = {2019},
  url       = {http://arxiv.org/abs/1905.11946},
  eprinttype = {arXiv},
  eprint    = {1905.11946},
  timestamp = {Mon, 03 Jun 2019 13:42:33 +0200},
  biburl    = {https://dblp.org/rec/journals/corr/abs-1905-11946.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{DBLP:journals/corr/HeZRS15,
  author    = {Kaiming He and
               Xiangyu Zhang and
               Shaoqing Ren and
               Jian Sun},
  title     = {Deep Residual Learning for Image Recognition},
  journal   = {CoRR},
  volume    = {abs/1512.03385},
  year      = {2015},
  url       = {http://arxiv.org/abs/1512.03385},
  eprinttype = {arXiv},
  eprint    = {1512.03385},
  timestamp = {Wed, 17 Apr 2019 17:23:45 +0200},
  biburl    = {https://dblp.org/rec/journals/corr/HeZRS15.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

-----------------------------------------------------

Give a ⭐️ if this project helped you!

This readme file is made using the readme-template