ICDAR2021_MFD 公式检测项目教程
1. 项目目录结构及介绍
该项目是ICDAR 2021数学公式检测比赛的冠军解决方案,基于MMDetection框架构建。以下是主要的目录结构及其描述:
ICDAR2021_MFD/
├── configs # 配置文件夹
│ ├── xxx_model.py # 模型配置文件
│ └── xxx_dataset.py # 数据集配置文件
├── data # 存放数据集的目录
│ ├── annotations # 标注文件
│ └── images # 图像文件
├── models # 模型代码
│ ├── fcos # FCOS模型相关代码
│ └── resnest # ResNeSt模型相关代码
├── scripts # 脚本文件夹
│ ├── train.py # 训练脚本
│ └── test.py # 测试脚本
├── tools # 工具文件夹,包括训练和测试所需的辅助脚本
└── docs # 文档文件夹
└── README.md # 主README文件
2. 项目的启动文件介绍
2.1 train.py
scripts/train.py
是项目的主要训练脚本,用于加载配置文件,初始化模型并进行训练。在运行此文件时,你需要指定配置文件路径、工作目录和GPU设备数。
python scripts/train.py ${CONFIG_FILE} --work_dir ${WORK_DIR} --gpus ${GPUS}
${CONFIG_FILE}
: 指定要使用的模型和数据配置文件,如configs/fcos/fcos_resnest50d_gfl_2x_coco.py
.${WORK_DIR}
: 存储训练日志和模型权重的工作目录.${GPUS}
: 设备上的可用GPU数量,可以使用逗号分隔多个GPU,如 "0,1" 表示使用GPU0和GPU1.
2.2 test.py
scripts/test.py
文件用于模型的验证或测试。它同样需要指定配置文件、权重文件和测试数据集。
python scripts/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} ${DATASET_DIR} --out ${OUTPUT_FILE}
${CONFIG_FILE}
: 同上,模型和数据配置文件.${CHECKPOINT_FILE}
: 待测试的模型权重文件路径.${DATASET_DIR}
: 测试数据集的根目录,包含图像和标注文件.${OUTPUT_FILE}
: 输出结果文件的路径.
3. 项目的配置文件介绍
配置文件位于 configs
目录下,通常分为两个部分:模型配置(如 fcos
)和数据集配置(如 coco
或 icdar2021
)。这些文件以 .py
结尾,它们定义了模型架构、优化器、学习率策略、损失函数等关键参数。
model.py
: 定义模型结构,例如FCOS模型或ResNeSt作为其backbone。dataset.py
: 该文件包含了关于数据加载、预处理和目标检测任务相关的参数设置。
例如,configs/fcos/fcos_resnest50d_gfl_2x_coco.py
文件可能包含了如下配置:
_base_ = './fcos_r50_caffe_fpn_1x_coco.py'
model = dict(
backbone=dict(
type='ResNeSt',
...
),
neck=dict(
...
),
bbox_head=dict(
...
)
)
optimizer = dict(type='SGD', ...)
lr_config = dict(policy='step', ...)
runner = dict(type='EpochBasedRunner', max_epochs=24)
配置文件的修改可以根据你的需求调整模型参数、训练策略和数据处理方式。