TrashSegment
收藏🔍 语义分割比较:YOLOv8 vs YOLOv12 vs U-Net
本仓库比较了YOLOv8、YOLOv12和U-Net在语义分割任务上的性能。目标是评估这些模型在自定义数据集上的准确性、速度和资源效率。
🌟 概述
本项目评估了三种流行的语义分割模型:
- 🚀 YOLOv8:一种最先进的实时对象检测和分割模型。
- 🎯 YOLOv12:YOLO系列的最新迭代,针对分割任务进行了优化。
- 🏥 U-Net:一种在医疗和环境分割中广泛使用的经典架构。
比较重点包括:
- 📊 准确性:平均交并比(mIoU)。
- ⏱️ 速度:每张图像的推理时间。
- 💾 资源使用:GPU内存消耗。
📥 安装
- 克隆仓库
- 从这里下载数据集。
- 解压数据并确保遵循以下结构:
data |-- annotations |-- all_annotations.json |-- split_mapping.json |-- images |-- loc1 |-- loc2 .... |-- loc6 |-- pretrained_yolo_models |-- different_train_sizes |-- generalization_loc6 |-- trained_one_location |-- best_model.pt |-- timeseries |-- ts_loc1_1 |-- ts_loc1_2 |-- ts_loc5_1
- 使用
prepare_data.ipynb准备数据,结构应如下所示:
data |-- annotations |-- split_<trainsize>_<testsize> |-- test |-- images |-- <imageid>.jpg |-- labels |-- <imageid>.txt |-- annotations.json |-- train |-- all_annotations.json |-- split_mapping.json |-- combined_gt_masks |-- loc1.pt |-- loc2.pt ... |-- loc6.pt |-- images |-- loc1 |-- loc2 .... |-- loc6 |-- timeseries |-- ts_loc1_1 |-- ts_loc1_2 |-- ts_loc5_1
🖥️ 使用
使用以下命令运行main.py:
python main.py --model YOLO --location 1 --yolo_test_path ./data/annotations/split_80_20/test/images --yolo_model_path ./data/pretrained_yolo_models/best_model.pt --n_to_visualize 10




