YOLOultralytics_RTDETE__YOLOv8__0">YOLO框架下(ultralytics) RTDETE 与 YOLOv8 目标检测对比
文章目录
0 前言:
0.1 相同训练数据集和相同测试数据集下,采用RTDETE 与 YOLOv8 训练。
0.2 本人拉的ultralytics8.1的分支版本。
0.3 本次对比了l和s的模型,其中l的模型采用了预训练权重,s的模型无预训练权重。可以通过训练命令查看相关参数。
0.4 相关命令
git https://github.com/ultralytics/ultralytics.git
1 RTDETE 训练l模型
1.1 数据配置:
cp /ultralytics/cfg/datasets/coco8.yaml /ultralytics/cfg/datasets/rtdetr_coco8.yaml
/ultralytics/cfg/datasets/rtdetr_coco8.yaml如下:与YOLO训练格式是一致的
#######"""ultralytics/cfg/datasets/rtdetr_coco8.yaml"""
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: /media/user/mydata/datadqdetr # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)
names:
0: pedes
1: car
2: bus
3: truck
4: bike
5: moto
6: tricycle
7: coni
8: warn
9: tralight
10: specialVehicle
1.2 模型配置
此处使用rtdetr-l.yaml 对应的预训练模型进行训练, 这里训练用的是预训练权重,所以此处的配置文件其实没什么用,不过nc习惯跟自己模型的类型数据一致
/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml
修改模型文件的nc与自己的类别数目匹配,其它不变
# Parameters
nc: 11 # number of classes
scales: # model compound scal