This is the repo for using yolov9 with partial self attention (PSA)
This model was developed to be used in pavement damage detection based on YOLO9s Model.
YOLO9tr: A Lightweight Model for Pavement Damage Detection Utilizing a Generalized Efficient Layer Aggregation Network and Attention Mechanism Access
Authors: Dr. Sompote Youwai, Achitaphon Chaiyaphat and Pawarotorn Chaipetch
AI research Group
Department of Civil Engineering
King Mongkut's University of Technology Thonburi
Thailand
To deploy this project run
git clone https://github.com/Sompote/YOLO9tr
pip install -r requirements.txt
Reccomend to use weight for YOLO9s as initial training
python train_dual.py --workers 8 --device 0 --batch 4 --data '/workspace/6400 images/data.yaml' --img 640 \
--cfg models/detect/yolov9tr.yaml --weights '../yolov9s' --name yolov9-tr --hyp hyp.scratch-high.yaml\
--min-items 0 --epochs 200 --close-mosaic 15
torchrun --nproc_per_node 2 --master_port 9527 train_dual.py \
--workers 8 --device 0,1 --sync-bn --batch 30 --data '/workspace/road damage/data.yaml' \
--img 640 --cfg models/detect/yolov9tr.yaml --weights '../yolov9s' --name yolov9-c --hyp hyp.scratch-high.yaml \
--min-items 0 --epochs 200 --close-mosaic 15
python val_dual.py --data data/coco.yaml --img 640 --batch 32 --conf 0.001\
--iou 0.7 --device 0 --weights './yolov9tr.pt' \
--save-json --name yolov9_c_640_val
python detect_dual.py --source './data/images/horses.jpg' --img 640 --device 0 \
--weights './yolov9tr.pt' --name yolov9_c_640_detect
The file format of data can be used the same as YOLOv8 in Roboflow