{"id":16999552,"url":"https://github.com/jonasrenault/adomvi","last_synced_at":"2025-07-14T05:37:45.672Z","repository":{"id":174640199,"uuid":"652540420","full_name":"jonasrenault/adomvi","owner":"jonasrenault","description":"Automated Detection of Military Vehicles from Video Input","archived":false,"fork":false,"pushed_at":"2024-08-02T14:29:04.000Z","size":129900,"stargazers_count":32,"open_issues_count":4,"forks_count":7,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-04T08:22:40.984Z","etag":null,"topics":["deep-learning","detection","diffusion-models","image-recognition","military","military-ai","pytorch","vehicle-detection","yolov8"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonasrenault.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-12T09:26:32.000Z","updated_at":"2025-04-03T21:26:57.000Z","dependencies_parsed_at":"2024-10-28T14:06:43.507Z","dependency_job_id":null,"html_url":"https://github.com/jonasrenault/adomvi","commit_stats":null,"previous_names":["jonasrenault/adomvi"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/jonasrenault/adomvi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonasrenault%2Fadomvi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonasrenault%2Fadomvi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonasrenault%2Fadomvi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonasrenault%2Fadomvi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonasrenault","download_url":"https://codeload.github.com/jonasrenault/adomvi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonasrenault%2Fadomvi/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265246229,"owners_count":23734111,"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":["deep-learning","detection","diffusion-models","image-recognition","military","military-ai","pytorch","vehicle-detection","yolov8"],"created_at":"2024-10-14T04:09:11.465Z","updated_at":"2025-07-14T05:37:40.659Z","avatar_url":"https://github.com/jonasrenault.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Automated Detection of Military Vehicles from Video Input (ADOMVI)\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"resources/video_tracking.gif\" width=\"640\"/\u003e\n\u003c/div\u003e\n\n## Introduction\n\nThis repository contains notebooks and resources used to train a state-of-the-art military vehicle tracker. Its main focus is on building a dataset of relevant images and annotations to fine-tune pre-trained object detection models, namely a [Yolov8](https://github.com/ultralytics) model.\n\nWe start by building a training dataset from images available in open source object detection datasets (ImageNet, OpenImages, Roboflow). We also use scraping tools to collect more images of military vehicles from Google images. This allows us to define four broad classes of military vehicles that our model can then discriminate: **Armoured Fighting Vehicle (AFV)**, **Armoured Personnel Carrier (APC)**, **Military Engineering Vehicle (MEV)** and **Light Armoured Vehicle (LAV)**. We provide a [sample annotated dataset](https://github.com/jonasrenault/adomvi/releases/tag/v1.2.0) for these classes.\n\nWe also explore using [diffusion models](https://huggingface.co/docs/diffusers/using-diffusers/conditional_image_generation) and the [dreambooth](https://huggingface.co/docs/diffusers/training/dreambooth) method to generate new training images in different scenes and conditions.\n\n## Contents\n\n- The [adomvi](./adomvi/) directory contains utility functions to fetch and format datasets for training a Yolov8 model for object detection.\n- The [resources](./resources/) directory contains video samples for vehicle detection task.\n- The [notebooks](./notebooks/) directory contains exemple notebooks on how to\n  1. [Prepare](./notebooks/01_Prepare.ipynb) a custom dataset of images annotated for automatic detection of military vehicles.\n  2. [Train](./notebooks/02_Train.ipynb) train a Yolov8 model using the prepared dataset.\n  3. Run [tracking](./notebooks/03_Track.ipynb) using the trained model on a sample video.\n  4. Fine tune [Dreambooth](./notebooks/04_DreamboothFineTuning.ipynb) to generate images of a tank.\n\n## Installation\n\nTo install the project, clone the repository and install the project in a python environment, either using `pip`\n\n```console\ngit clone git@github.com:jonasrenault/adomvi.git\ncd adomvi\npip install --editable .\n```\n\nor using [poetry](https://python-poetry.org/)\n\n```console\ngit clone git@github.com:jonasrenault/adomvi.git\ncd adomvi\npoetry install\n```\n\n## Run the notebooks\n\nTo run the notebooks, start a jupyter lab server with\n\n```console\njupyter lab\n```\n\nand open one of the notebooks in the `notebooks` directory.\n\n\n## Tracking of military vehicles with multi-class object detection model\n\nSome sample results of tracking different types of military vehicles (AFV, APC, MEV, LAV) using a finetuned yolov8-large model.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"resources/apc.gif\" width=\"640\"/\u003e\n  \u003cimg src=\"resources/mev.gif\" width=\"640\"/\u003e\n  \u003cimg src=\"resources/lav.gif\" width=\"640\"/\u003e\n\u003c/div\u003e\n\n## Generating diversity in our training dataset using Stable Diffusion and dreambooth\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"resources/sd-dreambooth.png\" width=\"100%\"/\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonasrenault%2Fadomvi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonasrenault%2Fadomvi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonasrenault%2Fadomvi/lists"}