- 编译c++后处理文件
sh make.sh
-
下载预训练模型 预训练模型地址:下载链接(code:fxw6)
-
下载icdar2015测试模型(不做测试可跳过这一步) 测试模型地址:下载链接(code:fxw6)
-
将下载下来的pre_model和checkpoint文件夹分别替换项目中的同名文件夹
- 准备一个train_list.txt示例,格式是:图片文件绝对位置+图片文件标注txt文件绝对位置,用 \t 分隔. 参照下面修改成你自己的地址。
python3 ./script/get_train_list.py --img_path /src/train/image --label_path /src/train/label --save_path /src/train
运行后在/src/train会生成一个train_list.txt。
- 提示:你的图片和label文件要同名。如果你要在训练时做验证要生成一个test_list.txt示例,在yaml中start_val可设置多少epoch后开始做验证。
- 制作label文件说明:照着icdar2015的格式, x1,y1,x2,y2,x3,y3,x4,y4,label,其中不参与训练文本(例如模糊文本),label设置为###,代表不参与训练,除此之外表示参与训练,可以像我这样用text,或者别的也行。label格式参照这里
- 修改./config中对应算法的yaml中参数,基本上只需修改数据路径即可。
- 运行下面命令
python3 tools/det_train.py --config ./config/det_DB_mobilev3.yaml --log_str train_log --n_epoch 1200 --start_val 600 --base_lr 0.002 --gpu_id 2
- 提示:在./config/det_DB_resnet50.yaml里有参数解释,其他的yaml文件都是类似的,可以参照里面的。log_str是为了多次训练的时候结果可以保存在不同文件夹
将yaml文件中base下的restore置为True,restore_file填上恢复训练的模型地址,运行:
python3 tools/det_train.py --config ./config/det_DB_mobilev3.yaml --log_str train_log --n_epoch 1200 --start_val 600 --base_lr 0.002 --gpu_id 2
- 修改infer.sh中的参数
- 运行下面命令
sh infer.sh
- 提示:测试时infer.sh文件中的 --img_path 既可以是文件夹也可以是文件