The Real-Time Detection Transformer (RT-DETR) architecture was employed for the automated detection of various weeds, including kikuyo, dandelion, broadleaf dock, and other unidentified species, within potato fields. A DJI Mavic 2 Pro drone captured the dataset at an altitude of 9-10 meters while traveling at 1 m/s to ensure broader coverage of the crop field. The pre-trained Ultralytics RT-DETR model was used for this task.
weed_detector
├── app
│ ├── client
│ ├── server
├── cli
├── inference
├── notebooks
├── out
├── preprocessing
├── roboflow
└── utils
app
: Contains client and server applications for the weed detector, containerized in Docker.cli
: Command-line interface to analyze training results and perform weed inference.inference
: Includes classes for image and video inference.notebooks
: Jupyter notebooks for model training and evaluation.out
: Output directory for model checkpoints and logs.preprocessing
: Scripts for data preprocessing.roboflow
: Scripts to upload images to a Roboflow project.utils
: Utility functions for the project.
- First of all, clone the repository to your workspace.
git clone https://github.com/aluissp/weed-detector.git
cd weed-detector
- Then, install miniconda from the official website: https://docs.anaconda.com/miniconda.
- Create a new conda environment and install the required dependencies.
conda env create -f .conda.yml
conda activate weed-detector
Finally, if you want run weed detector app, follow this instructions.
Run this command to perform weed detection:
python cli/perform_prediction.py -m /path/to/model.pth -i /directory/with/images --show-tag