基于PP-PicoDet的钢铁缺陷检测( 二 )


2022-12-11 13:22:30 [INFO] Dataset split starts...2022-12-11 13:22:30 [INFO] Dataset split done.2022-12-11 13:22:30 [INFO] Train samples: 9802022-12-11 13:22:30 [INFO] Eval samples: 2802022-12-11 13:22:30 [INFO] Test samples: 1402022-12-11 13:22:30 [INFO] Split files saved in /home/aistudio/PaddleDetection/dataset/steel/train
# 临时环境安装!pip install pycocotools -i https://mirror.baidu.com/pypi/simple!pip install lap -i https://mirror.baidu.com/pypi/simple
5.3 数据格式转换
数据格式转换,数据拆分
下面是提供的两个处理数据的命令说明文档 。
:
: %2F2.3/docs//.md
%cd /home/aistudio/PaddleDetection/#转换train!python tools/x2coco.py \--dataset_type voc \--voc_anno_dir /home/aistudio/PaddleDetection/dataset/steel/train/ \--voc_anno_list /home/aistudio/PaddleDetection/dataset/steel/train/train_list.txt \--voc_label_list /home/aistudio/PaddleDetection/dataset/steel/train/labels.txt \--voc_out_name /home/aistudio/PaddleDetection/dataset/steel/train/voc_train.json#/home/aistudio/PaddleDetection/dataset/steel/train#转换eval!python tools/x2coco.py \--dataset_type voc \--voc_anno_dir /home/aistudio/PaddleDetection/dataset/steel/train/ \--voc_anno_list /home/aistudio/PaddleDetection/dataset/steel/train/val_list.txt \--voc_label_list /home/aistudio/PaddleDetection/dataset/steel/train/labels.txt \--voc_out_name /home/aistudio/PaddleDetection/dataset/steel/train/voc_val.json#转换test!python tools/x2coco.py \--dataset_type voc \--voc_anno_dir /home/aistudio/PaddleDetection/dataset/steel/train/ \--voc_anno_list /home/aistudio/PaddleDetection/dataset/steel/train/test_list.txt \--voc_label_list /home/aistudio/PaddleDetection/dataset/steel/train/labels.txt \--voc_out_name /home/aistudio/PaddleDetection/dataset/steel/train/voc_test.json!rm -r /home/aistudio/PaddleDetection/dataset/steel/train/Annotations/*!mv /home/aistudio/PaddleDetection/dataset/steel/train/*.json /home/aistudio/PaddleDetection/dataset/steel/train/Annotations/
6. 模型训练
通常一个项目模型完整的落地流程可以总结为如下6个步骤,其中需要根据评估和预测的结果,对模型进行反复的优化和再训练:
也可以参考提供的 快速上手指南 。另外,在实际项目的推进过程中,可以根据实际情况决定是否采用模型压缩的相关手段 。
6.1的配置文件
-s-416 的配置文件,由 1 个入口配置文件,和5个相关联的子配置文件组成 。
入口配置文件位于:
PaddleDetection/configs/picodet/picodet_s_416_coco_lcnet.yml
相关的 5 个子配置文件为:
'../datasets/coco_detection.yml','../runtime.yml','_base_/picodet_v2.yml','_base_/optimizer_300e.yml','_base_/picodet_416_reader.yml',
接下来我们从子配置文件开始,依次说明每个配置文件的用途和需要修改的部分 。
6.1.1 数据集配置文件 .yml
入口配置文件位于:///.yml
设置数据集的配置信息 。根据本案例的情况,请按照如下内容进行修改 、、、:
metric: COCOnum_classes: 6#数据集有6个分类 TrainDataset:!COCODataSetimage_dir: JPEGImagesanno_path: Annotations/voc_train.jsondataset_dir: dataset/steel/traindata_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd']EvalDataset:!COCODataSetimage_dir: JPEGImagesanno_path: Annotations/voc_val.jsondataset_dir: dataset/steel/trainTestDataset:!ImageFolderimage_dir: JPEGImagesanno_path: Annotations/voc_test.json# Also support txt (like VOC's label_list.txt)dataset_dir: dataset/steel/train# If set, anno_path will be 'dataset_dir/anno_path'
因本案例是检测钢铁表面缺陷的,因此有6个分类 。
6.1.2 修改入口配置文件 cnet.yml