# 如何利用CRAFT训练属于自己文本检测数据集的模型
本项目旨在以CRAFT提供的预训练模型为基础,进行迁移学习以用于检测自己数据集中的文本。
[[CRAFT论文]](https://arxiv.org/abs/1904.01941)
[[代码]](https://github.com/CommissarMa/pytorch-CRAFT)
[[论文中文解读]](https://github.com/CommissarMa/Awesome_CV_papers/blob/master/Text_Related/cvpr2019_CRAFT/cvpr2019_CRAFT.md)
## 1. 直接使用CRAFT的预训练模型测试自己的文本图像
1. 下载CRAFT预训练权重文件[[craft_mlt_25k.pth]](https://pan.baidu.com/s/1oinKoVnIMP017hc-1yX_CQ)(提取码:3bgk),并将该权重文件放入pretrained目录下。
2. 将需要检测的图像全部放入imgs目录下。
3. 运行代码:
```
python test.py --trained_model ./pretrained/craft_mlt_25k.pth
```
4. 检测的结果将保存在result文件夹中供查看。
## 2. 在自己的数据集上训练CRAFT,迁移学习
1. 标注自己的数据集,使用标注工具[[labelme]](https://github.com/wkentaro/labelme),我们进行字符级别的标注,即对每个字符顺时针标注4个点构成一个多边形框,如下图所示:
![标注](./readme_imgs/标注.png)
然后我们给这个多边形框标注对应的字符,方便之后如果要做文本识别时使用。
2. 假设我们数据集的根目录是blw,目录中有图片blw_1.jpg和标注blw_1.json两种文件[[参考数据集:提取码6q33]](https://pan.baidu.com/s/10FO2Y9tMPcrjmBoTbPJlXw),此时我们运行generate_score_map.py(注意修改main函数中的name = 你的根目录名称),运行完之后,你的目录中除了上面两种.jpg和.json外,会多了blw_region_1.npy和blw_affinity_1.npy两种,分别对应了CRAFT中的region_map和affinity_map。然后我们建立一个根目录data,并将四种文件分别放入对应的子目录,如下所示:
+ data:
+ affinity:blw_affinity_1.npy
+ anno:blw_1.json
+ img:blw_1.jpg
+ region:blw_region_1.npy
此时我们自己的数据集就准备好了。
3. 运行train.py(注意修改main函数中的参数设置),训练好的模型默认存放在./models中。
## 3. 使用得到的新模型来测试自己的文本图像
这里我们会遇到一个问题,在训练时,每个epoch之后我们都会保持一个模型,那究竟应该使用哪个呢?
其实这也没有一个标准答案,选不同的都试试看测试效果,然后挑一个比较好的即可。
具体的步骤与1差不多:将models文件夹中的权重,比如:[[100.pth]](https://pan.baidu.com/s/1Na5hA2-RXMovIa6J7aJzhw )(提取码:1tmc)放入./pretrained中,然后运行代码:
```
python test.py --trained_model ./pretrained/100.pth
```
检测的结果将保存在result文件夹中供查看,可以发现检测的效果相比直接使用预训练模型有了一定的提升!
![检测结果](./readme_imgs/res_blw_1.jpg)
## 4. 将标注的点透视变换成水平文本框(供文本识别使用)
```
run divide_text_region_from_gt.py
```
注意修改main函数中的参数配置。
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
该项目旨在使用CRAFT提供的预训练模型作为迁移学习的基础,以检测自己数据中的文本_ pytorch CRAFT.zip (16个子文件)
pytorch-CRAFT-master
readme_imgs
标注.png 1.43MB
res_blw_1.jpg 20KB
divide_text_region_from_gt.py 4KB
rename_filename.py 275B
generate_score_map.py 4KB
imgproc.py 2KB
craft_utils.py 9KB
my_model.py 3KB
file_utils.py 3KB
my_dataset.py 3KB
.gitignore 1KB
vgg16_bn.py 3KB
train.py 2KB
test.py 5KB
README.md 3KB
本项目旨在以CRAFT提供的预训练模型为基础,进行迁移学习以用于检测自己数据集中的文本。_pytorch-CRAFT
项目内附说明
如果解压失败请用ara软件解压.txt 42B
共 16 条
- 1
资源评论
好家伙VCC
- 粉丝: 2103
- 资源: 9145
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 山东联通-海信IP501H-GK6323V100C-1+8G-4.4.2-当贝桌面-卡刷包
- IMG_6338.PNG
- 典范相关分析-CCorA:R语言实现代码+示例数据
- IMG_6337.PNG
- 首发花粥商城兼容彩虹商城简介模板
- C#/WinForm演示退火算法(源码)
- 如何在 IntelliJ IDEA 中去掉 Java 方法注释后的空行.md
- C语言版base64编解码算法实现
- iflytek TextBrewer Ner任务的增强版,TextBrewer是一个基于pytorch的、为实现NLP中的知识蒸馏任务而设计的工具包
- iflytek TextBrewer Ner任务的增强版,TextBrewer是一个基于pytorch的、为实现NLP中的知识蒸馏任务而设计的工具包
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功