DBNet训练过程笔记(超详细)

DBNet训练过程笔记

论文是Real-time Scene Text Detection with Differentiable Binarization,关于论文讲解有很多。
代码来自https://github.com/WenmuZhou/DBNet.pytorch
网络结构如下图。
DBNet训练过程笔记(超详细)_第1张图片

代码结构

DBNet训练过程笔记(超详细)_第2张图片

  • base:保存模型,数据集处理的基类
  • config:配置文件
  • data_loader:加载数据集,创建文本框,对文本框进行处理
  • datasets:放置数据集
  • models:主干网络,DB,FPN,Loss
  • output:存储训练好的模型,此文件夹需要自己新建
  • post_processing:后处理过程
  • test:放测试图片和测试结果
  • tools:包括训练,预测的py
  • trainer:train.py的基类
  • utils:评估模型的一些参数

环境配置

按照README.MD去安装,需另外安装natsort,addict这两个包

pip install -r requirement

数据集配置

下载icdar2015数据集,结构如下。
DBNet训练过程笔记(超详细)_第3张图片
其中test.txt,train.txt需要自己生成,格式如下。
DBNet训练过程笔记(超详细)_第4张图片
代码见generate_path.py
参考代码

配置文件

需要修改的文件:config文件夹中的

icdar2015_resnet18_FPN_DBhead_polyLR.yaml,

  • epoch调小
  • batch_size适当调大

open_dataset_resnet18_FPN_DBhead_polyLR.yaml

  • data_path改成绝对路径
    :源代码中是
    data_path:
    - ./datasets/test.json
    改成
    data_path:
    - E:/DBNet.pytorch-master/datasets/test.txt

训练模型

在控制台输入

 python tools/train.py --config_file "config/icdar2015_resnet18_FPN_DBhead_polyLR.yaml"

训练好的模型会保存在output/DBNet_resnet18_FPN_DBHead/checkpoint中
包括最好的和最后一次的模型

测试模型

训练好模型,就可以测试文本检测效果啦

  • 在test文件夹中新建output,input文件夹,
  • 将测试图片放入input文件夹,
  • 修改tools/predict.py中的model_path,input_folder,output_folder,
  • 修改完成即可运行predict.py,
  • 结果在output文件夹中。
    测试结果:
    DBNet训练过程笔记(超详细)_第5张图片
    此文章只是本菜鸟的一些理解,有不对的地方欢迎批评指正。

你可能感兴趣的:(笔记,计算机视觉,人工智能,深度学习,神经网络)