paddledetection半自动化标注教程

整体思路如下:

  • 少量手动标注
    • 使用LabelImg,每个目标类别标注约50张图片
  • 训练检测模型
    • 使用PaddleDetection基于少量标注的数据集进行训练
    • 观察训练结果,如果mAP较为满意,保存预测模型
  • 生成自动标注
    • 使用基于少量标注训练的模型,对未标注数据进行预测,将预测结果保存为VOC格式
  • 矫正标注结果
    • 基于数据集特性,矫正目标标签
    • 导出预测数据的标注文件,回到LabelImg中,修正目标矩形框和标签

 1.训练检测模型

正常按照官网教程进行模型训练即可。

https://gitee.com/paddlepaddle/PaddleDetection

主要修改参数文件

具体的配置文件处理上,第一个重点就是PaddleDetection/configs/datasets/voc.yml中数据集路径的配置。

metric: VOC
map_type: 11point
num_classes: 8

TrainDataset:
  !VOCDataSet
    dataset_dir: /home/aistudio/insect_det
    anno_path: train_list.txt
    label_list: labels.txt
    data_fields: ['image', 'gt_bbox', 'gt_class', 'difficult']

EvalDataset:
  !VOCDataSet
    dataset_dir: /home/aistudio/insect_det
    anno_path: test_list.txt
    label_list: labels.txt
    data_fields: ['image', 'gt_bbox', 'gt_class', 'difficult']

TestDataset:
  !ImageFolder
    anno_path: /home/aistudio/insect_det/labels.txt

修改训练超参数

比如PaddleDetection/configs/yolov3/_base_/optimizer_270e.yml可以做如下修改:

epoch: 70

LearningRate:
  base_lr: 0.001
  schedulers:
  - !PiecewiseDecay
    gamma: 0.1
    milestones:
    - 50
    - 60
  - !LinearWarmup
    start_factor: 0.
    steps: 400

OptimizerBuilder:
  optimizer:
    momentum: 0.9
    type: Momentum
  regularizer:
    factor: 0.0005
    type: L2

开始训练

!python tools/train.py -c configs/yolov3/yolov3_darknet53_270e_voc.yml --use_vdl=True --vdl_log_dir=./output --eval
!python tools/eval.py -c configs/yolov3/yolov3_darknet53_270e_voc.yml -o weights=output/yolov3_darknet53_270e_voc/59.pdparams

生成标注结果

数据标注懒人包:PPOCRLabel极速增强版——以电表识别为例(二) - 飞桨AI Studio (baidu.com)

你可能感兴趣的:(paddle,目标检测,深度学习,人工智能)