This project still undrer development and will be updated soon. demo train is vailable in the notebook/trail.ipynb file.
if you have any question please contact me at email or linkedin
live demo avilable here
This is a PyTorch-based project for drone image segmentation. The goal of this project is to segment objects and regions of interest within aerial images captured by drones. Image segmentation is a crucial task in computer vision and has various applications, including agriculture, urban planning, and environmental monitoring.
This dataset is avilable in kaggle here. The dataset contains 1100 images of size 1500x1500 pixels. Each image has a corresponding label image of the same size. The label image contains 22 classe. The following figure shows an example of an image and its corresponding label image.
- Python 3.6 or higher
- PyTorch 1.0 or higher Please install this depanding on your machine
- Gpu and cuda 10.0 or higher Please install this depanding on your machine
-
Clone the repository
$ git clone <clone link >
-
Create a virtual environment and activate it using this command
$ conda create -n <env_name> python=<Python virsion>
-
Install the required packages note: if your using Gpu please remove torch==1.11.0+cpu and -f https://download.pytorch.org/whl/torch_stable.html from the requirements.txt file . But if you want to deploy model please dont change the requirements.txt file.
$ pip install -r requirements.txt
The configurations are stored in the file config.py
. You can modify the configurations as you want.
- Change all the paths in the
config.py
file to your own paths. - Change the batch size, number of epochs, and learning rate in the
config.py
file according to your machine specifications.
The model architecture is based on the U-Net architecture. The model is implemented in the model.py
file. The model architecture is shown in the following figure.
Please confirm all the configurations in the config.py
file before training.
- Run the following command to train the model
$ cd src\DronVid\pipeline/
$ python train_pipeline.py
the deployment is done in heruko and the live demo is avilable here
to deploy your onw model please follow the following steps 1. create a account in heruko 2. collect the api key from heruko 3. create new env secrate in github and add the api key in the env secrate 4. open .github\workflows\main.yml file and change the app name and add your heruko email