{"id":21358144,"url":"https://github.com/boemer00/edge-processing-remote-sensing","last_synced_at":"2026-04-16T07:31:34.650Z","repository":{"id":203545282,"uuid":"709831055","full_name":"boemer00/edge-processing-remote-sensing","owner":"boemer00","description":"Develop a lightweight, efficient neural network model for real-time satellite image classification on cloud-based edge computing environments, focusing on robustness and adaptability.","archived":false,"fork":false,"pushed_at":"2023-11-12T16:02:22.000Z","size":4417,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-22T18:32:48.509Z","etag":null,"topics":["computer-vision","convolutional-neural-networks","docker","edge-computing","mobilenet","opencv","optuna","python","remote-sensing"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boemer00.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-25T13:37:50.000Z","updated_at":"2024-11-13T16:01:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"d2ca8b01-3380-4bf9-bc99-7ce9a823a9d9","html_url":"https://github.com/boemer00/edge-processing-remote-sensing","commit_stats":null,"previous_names":["boemer00/edge-processing-remote-sensing"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boemer00%2Fedge-processing-remote-sensing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boemer00%2Fedge-processing-remote-sensing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boemer00%2Fedge-processing-remote-sensing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boemer00%2Fedge-processing-remote-sensing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boemer00","download_url":"https://codeload.github.com/boemer00/edge-processing-remote-sensing/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243830956,"owners_count":20354856,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-vision","convolutional-neural-networks","docker","edge-computing","mobilenet","opencv","optuna","python","remote-sensing"],"created_at":"2024-11-22T05:14:36.471Z","updated_at":"2026-04-16T07:31:29.602Z","avatar_url":"https://github.com/boemer00.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Edge Processing in Extreme Conditions using Remote Sensing Data\n\n![Satellite Remote Sensing](docs/renato-boemer-satellite-remote-sensing.jpeg)\n\nThis project develops a compact neural network model for real-time satellite imagery classification within cloud-based edge computing contexts. Edge computing refers to the decentralised processing of data, closer to the source of data generation, which facilitates quick response times and reduces the bandwidth needed for data transmission. While edge computing is relevant for the defence and security sectors, its utility extends to other domains including environmental monitoring, disaster response, and urban planning. This project is versatile and can have broad applications.\n\n## Table of Contents\n- [Objective](#objective)\n- [Installation](#installation)\n- [Docker Usage](#docker-usage)\n- [Model Architecture and Training](#model-architecture-and-training)\n- [License](#license)\n- [Contact](#contact)\n\n## Objective\nThe core objective is to develop a lightweight, efficient neural network model for real-time satellite image classification on cloud-based edge computing environments.\n\n## Installation\nThis package uses [Poetry](https://python-poetry.org/) for dependency management and packaging.\n\n### Prerequisites\n\nEnsure you have Poetry installed on your system. If not, install it using:\n\n```curl -sSL https://install.python-poetry.org | python3 -```\n\n### Setup\nClone the repository and navigate into the directory:\n\n```git clone https://github.com/boemer00/edge-processing-remote-sensing.git edge```\n\n```cd edge```\n\nInstall the dependencies and setup the project using Poetry:\n\n```poetry install```\n\n### Usage\nActivate the Poetry environment shell to run scripts:\n\n```poetry shell```\n\nRun the pipeline:\n\n```python src/pipeline/pipeline.py --n_trials=100```\n\nExit the shell when done:\n\n```exit```\n\n## Docker Usage\nThe project includes a Dockerfile for building a containerised environment. Install Docker on your machine following the instructions for your OS from [Docker's official site](https://docs.docker.com/get-docker/).\n\nTo build the Docker image:\n\n`docker build -t edge-model .`\n\nTo run the container:\n\n`docker run -it --rm --name edge-model-container edge-model`\n\nWithin the Docker container, you can execute the pipeline.py script as follows:\n\n`python src/pipeline/pipeline.py --n_trials=100`\n\n## Model Architecture and Training\nThe project employs a **MobileNetV3Small**-based architecture, known for its lightweight structure and efficacy on edge devices.\n\n### Hyperparameter Optimisation\nHyperparameters are optimised using Optuna integrated with MLflow for tracking. The optimisation process is managed through a `pipeline.py` script that puts together data preparation, model training, and hyperparameter searching.\n\n### Training\nThe training process adopts data augmentation strategies to enrich the dataset, enhancing the model's ability to generalise from limited samples. Techniques such as rotation, translation, and scaling are applied to simulate a variety of operational scenarios.\n\n### Evaluation and Metrics\nModel performance is evaluated using **accuracy** as the training set has equal number of images for each class.\n\n## License\nThis project is licensed under the [BSD](LICENSE).\n\n## Contact\nFor questions or feedback, please reach out to [Renato Boemer](https://www.linkedin.com/in/renatoboemer/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboemer00%2Fedge-processing-remote-sensing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboemer00%2Fedge-processing-remote-sensing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboemer00%2Fedge-processing-remote-sensing/lists"}