{"id":49572982,"url":"https://github.com/mabogiqwa/aerial-ml","last_synced_at":"2026-05-03T15:37:09.051Z","repository":{"id":336619829,"uuid":"1150402677","full_name":"mabogiqwa/aerial-ml","owner":"mabogiqwa","description":"Detects planes, ships, harbours, and vehicles","archived":false,"fork":false,"pushed_at":"2026-02-24T19:20:08.000Z","size":48088,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-24T23:44:58.863Z","etag":null,"topics":["computer-vision","machine-learning","yolov8"],"latest_commit_sha":null,"homepage":"https://mabogiqwa.github.io/aerial-ml/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mabogiqwa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-05T08:33:09.000Z","updated_at":"2026-02-24T19:20:24.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mabogiqwa/aerial-ml","commit_stats":null,"previous_names":["mabogiqwa/aerial-ml"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mabogiqwa/aerial-ml","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabogiqwa%2Faerial-ml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabogiqwa%2Faerial-ml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabogiqwa%2Faerial-ml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabogiqwa%2Faerial-ml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mabogiqwa","download_url":"https://codeload.github.com/mabogiqwa/aerial-ml/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabogiqwa%2Faerial-ml/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32575114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","machine-learning","yolov8"],"created_at":"2026-05-03T15:37:07.511Z","updated_at":"2026-05-03T15:37:09.040Z","avatar_url":"https://github.com/mabogiqwa.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Aerial Plane-Ship-Harbour-Vehicle Detector (YOLOv8)\n\n**Team:** Kernel Ninjas  \n**Team Lead:** Mabo Giqwa  \n**Teammates:** Dr San Sahasra, Siphelele Ndlovu, Sello Serutle, Fortune Mkhwebane\n\n## Overview\nThis project is an aerial imagery aircraft, harbour, ship, and vehicle detection system built for the **inaugural UNISA Hackathon**. The solution uses a **YOLOv8** object detection model trained on the **DOTA v1.0** dataset to detect planes, harbour, ship and vehicles in aerial images. The application is deployed using **Hugging Face Spaces** as the backend and presented via a simple web interface.\n\nHackathon reference: \u003chttps://www.unisa.ac.za/sites/myunisa/default/News/Articles/Unisa-hosts-first%E2%80%93ever-Hackathon-to-ignite-student-learning-experience\u003e\n\n## Website\nLive demo: [https://mabogiqwa.github.io/aerial-ml/](https://mabogiqwa.github.io/aerial-ml/)\n\n## Model \u0026 Training\n- **Architecture:** YOLOv8\n- **Dataset:** DOTA v1.0 (aerial object detection dataset)\n- **Training platform:** Google Colab\n- **Accelerator:** TPUs\n- **Data split used:**\n  - Train: **1,302 images**\n  - Validation: **109 files**\n\nThe model was initially trained in Google Colab using TPUs for faster experimentation and iteration.\n\n## System Architecture\n- **Backend:** Hugging Face Spaces (serving the YOLOv8 model for inference)\n- **Frontend:** Lightweight HTML page embedding the Space via an iframe\n- **Inference flow:**\n  1. User uploads an aerial image via the web UI.\n  2. The request is forwarded to the Hugging Face Space backend.\n  3. YOLOv8 performs object detection.\n  4. The annotated result is returned to the user along with the amount of each object class is detected in the image.\n\n## Example of Prediction\n![Annotating planes in image](./assets/prediction.png)\n\n## Model performance\n![F1 score](./model-results/f1_score_evaluation.png)\n\n## Folder structure for training YOLO model\n```text\ndataset/\n├── images/\n│   ├── training/    # Training images\n│   └── val/         # Validation images\n└── labels/\n    ├── training/    # Training labels (YOLO format)\n    └── val/         # Validation labels (YOLO format)\n```\n\n## Training\nTo reproduce training:\n- Prepare the **DOTA v1.0** dataset in YOLO format.\n- Use **YOLOv8** training scripts/notebooks in Google Colab.\n- Configure Colab to use **TPUs**.\n- Set the train/val splits similar to:\n  - Train: 1,302 images\n  - Val: 109 files\n\n## MIT License\n\nCopyright (c) 2025 mabogiqwa\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmabogiqwa%2Faerial-ml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmabogiqwa%2Faerial-ml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmabogiqwa%2Faerial-ml/lists"}