# crnn_ctc-centerloss
**Repository Path**: goalaaa/crnn_ctc-centerloss
## Basic Information
- **Project Name**: crnn_ctc-centerloss
- **Description**: ctcloss + centerloss crnn text recognition
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 1
- **Created**: 2022-08-15
- **Last Updated**: 2022-08-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# crnn_ctc-centerloss
## 2020.12.27更新
1. 使用 最后一层全连接层输入的 feature 作为处理对象,即缩小这一 feature 的类内距离
2. 实现 feature 和 label 的对齐,主要解决了 预测重复、预测漏字 时的对齐问题(需要tf1.15)
3. 增加对关键指标的计算和追踪,训练过程更直观,方便 debug (需要tf1.15)
*center 之间的距离*
*字符距离自己center、形近字center的距离*
*经过训练,字符距离差增大,预测置信度和距离差拥有一定相关性*
4. 增加 feature 的可视化,使用 tensorboard 的 embedding projector,方便debug
```bash
# 生成 embedding 图
python -m libs.projector --model=your_model_path --file=your_label_file_path --dir=your_log_dir
# 启动 tensorboard
tensorboard --logdir=your_log_dir
```
*iter=0*
*iter=100*
*iter=500*
### 本项目用自己想法实现阿里云栖大会中,阿里团队提到的ctc+centerloss来解决相近字的问题 pdf百度网盘链接: https://pan.baidu.com/s/13370jLcBblmqvwfprHPYXw 提取码: mejj
## 大概介绍
### 此项目是个人对pdf的一句话理解,外加尝试的结果。给大家一个解决相近字,或者ctc+centerloss的一个crnn实现方案。另外本项目适用于有debug代码能力的同学哦
## 环境(Requirements)
```pip install -r requirements.txt```
## 预训练模型(Model)
- 链接: 链接:https://pan.baidu.com/s/12oa1QcjaWiLb7Xsiz7aqbg 提取码:6Dw9
## 训练(train) 于2020.11.27更新 更简单的版本
- ~~1 先用https://github.com/Sanster/tf_crnn 的crnn训练~~
- ~~2.对原始crnn训练到val acc 到95% loss 0.1左右,或者直至有满意的效果。~~
- ~~3.用gen_CR_data.py,用上面训练好的模型文件进行新的label生成~~
- ~~4.修改 crnn.py 文件 109行 centerloss 的权重为0。00001进行crnn 的训练 ```python train.py```~~
- ~~5.训练到val acc 95% 或者到自己对效果满意~~
- 1.先用https://github.com/Sanster/tf_crnn 的crnn训练
- 2.对原始crnn训练到val acc 到95%以上 loss 0.1左右,或者直至有满意的效果。
- 3.把模型作为此工程pretrain model
- ```python train.py```
## 测试(test)
- ```python test.py```
## 实验效果
- 
- 左面图为全量数据 可以看到对于全量也有一点提升
- 右面图为近似字数据 对于形近字提升有15个点。提升明显并且还有增长空间
## 效果
- 
- 'A1200622287g4811330009'
- 
- '1 79.00 30.02 30.02'
- 
- '令:怜,伶,邻, 冷,领,龄,铃,岭,玲,拎'
- 
- '逢:缝,蓬,篷,峰,锋,逢,蜂'
- 
- '成一一威,风一一凤,干一一千,土一一士,元一一无,他一一地'
- 
- '素一一索,朱一一宋,都一一郡,汨一一汩,李一一季,直一一真,'
## 其他
训练数据与预训练模型 关注微信公众账号 hulugeAI 留言:ctc 获取 线下wx交流群入门券
## 声明
copy right huluge