OCR_for_AliYun_tianchi_Competition
天池大赛>MTWI 2018 挑战赛一:网络图像的文本识别
## 简介
赛题背景介绍
在互联网世界中,图片是传递信息的重要媒介。特别是电子商务,社交,搜索等领域,每天都有数以亿兆级别的图像在流动传播。图片中的文字识别(OCR)在商业领域有重要的应用价值,同时也是学术界单研究热点。然而,研究领域尚没有基于网络图片的、以中文为主的OCR数据集。本竞赛将公开基于网络图片的中英数据集,该数据集数据量充分,涵盖数十种字体,几个到几百像素字号,多种版式,较多干扰背景。期待学术界可以在本数据集上作深入的研究,工业界可以藉此发展在图片管控,搜索,信息录入等AI领域的工作。
基于Tensorflow和Keras实现端到端的不定长中文字符检测和识别
* 文本检测:CTPN
* 文本识别:DenseNet + CTC
## 环境部署(基于Ubuntu操作系统)
```
sh setup.sh
```
即:
```
pip install numpy scipy matplotlib pillow
pip install easydict opencv-python keras h5py PyYAML
pip install cython==0.24
# for gpu
pip install tensorflow-gpu==1.3.0
chmod +x ./ctpn/lib/utils/make.sh
cd ./ctpn/lib/utils/ && ./make.sh
# for cpu
pip install tensorflow==1.3.0
chmod +x ./ctpn/lib/utils/make_cpu.sh
cd ./ctpn/lib/utils/ && ./make_cpu.sh
```
## Demo
将测试图片放入test_images目录,检测结果会保存到test_result中
执行命令:
```
python demo.py
```
## 模型训练
### CTPN训练
```
cd ctpn/lib/utils
chmod +x make.sh
./make.sh
```
即:
```
cython bbox.pyx
cython cython_nms.pyx
cython gpu_nms.pyx
python setup.py build_ext --inplace
mv utils/* ./
rm -rf build
rm -rf utils
```
详细内容参见ctpn/README.md
### DenseNet + CTC训练
#### 1. 数据准备
数据集来自MTWI 2018 挑战赛一:网络图像的文本识别 :https://tianchi.aliyun.com/competition/entrance/231684/information
* 提供20000张图像作为本次比赛的数据集。其中50%用来作为训练集,50%用来作为测试集。该数据集全部来源于网络图像,主要由合成图像,产品描述,网络广告构成。
* 这些图像是网络上最常见的图像类型。每一张图像或者包含复杂排版,或者包含密集的小文本或多语言文本,或者包含水印,这对文本检测和识别均提出了挑战。对于每一张图像,都会有一个相应的文本文件(.txt)(UTF-8编码与名称:[图像文件名] .txt)。文本文件是一个逗号分隔的文件,其中每行对应于图像中的一个文本串,并具有以下格式:
```
X1,Y1,X2,Y2,X3,Y3,X4,Y4,“文本”
```
* 其中X1,Y1,Y2,X2,X3,X4,Y3,Y4分别代表文本的外接四边形四个顶点坐标。而“文本”是四边形包含的实际文本内容。图2是标注的图片,红色的框代表标注的文本框。
* 标注时我们对所有语言,所有看不清的文字串均标注了外接框(比如图2中的小字),但对于除了中文,英文以外的其它语言以及看不清的字符并未标注文本内容,而是以“###”代替。
图片解压后放置到train/images目录下,描述文件放到train目录下
#### 2. 训练
执行
```
cd train
python train.py
```
#### 3. 结果
| val acc | predict | model |
| -----------| ---------- | -----------|
| 0.983 | 8ms | 18.9MB |
* GPU: GTX TITAN X
* Keras Backend: Tensorflow
#### 4. 生成自己的样本
可参考[SynthText_Chinese_version](https://github.com/JarveeLee/SynthText_Chinese_version),[TextRecognitionDataGenerator](https://github.com/Belval/TextRecognitionDataGenerator)和[text_renderer](https://github.com/Sanster/text_renderer)
## 效果展示
<div>
<img width="420" height="420" src="https://github.com/YCG09/chinese_ocr/blob/master/demo/demo_detect.jpg"/>
<img width="420" height="420" src="https://github.com/YCG09/chinese_ocr/blob/master/demo/demo_rec.jpg"/>
</div>
## 参考
[1] https://github.com/eragonruan/text-detection-ctpn
[2] https://github.com/senlinuc/caffe_ocr
[3] https://github.com/chineseocr/chinese-ocr
[4] https://github.com/xiaomaxiao/keras_ocr
[5] https://blog.csdn.net/NUDTDING2019/article/details/93778402
[6] https://tianchi.aliyun.com/competition/entrance/231684/introduction?spm=5176.12281973.1005.7.3dd54c2ajNPwx7
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 天池大赛2018挑战赛一网络图像的文本识别算法源码+项目说明.zip
资源推荐
资源详情
资源评论
收起资源包目录
天池大赛2018挑战赛一网络图像的文本识别算法源码+项目说明.zip (101个子文件)
cython_nms.c 358KB
bbox.c 319KB
gpu_nms.c 285KB
checkpoint 121B
gpu_nms.cpp 285KB
nms_kernel.cu 5KB
VGGnet_fast_rcnn_iter_50000.ckpt.data-00000-of-00001 68.26MB
.gitignore 148B
.gitkeep 0B
.gitkeep 0B
weights_densenet.h5 18.92MB
gpu_nms.hpp 146B
VGGnet_fast_rcnn_iter_50000.ckpt.index 2KB
demo.jpg 1.06MB
005.jpg 691KB
006.jpg 460KB
demo_detect.jpg 400KB
005.jpg 382KB
009.jpg 354KB
006.jpg 273KB
004.jpg 259KB
009.jpg 238KB
004.jpg 227KB
001.jpg 206KB
003.jpg 174KB
008.jpg 170KB
007.jpg 160KB
001.jpg 157KB
demo_rec.jpg 144KB
008.jpg 121KB
007.jpg 77KB
003.jpg 61KB
002.jpg 49KB
002.jpg 22KB
README.md 4KB
README.md 4KB
VGGnet_fast_rcnn_iter_50000.ckpt.meta 634KB
VGG_imagenet.npy 0B
010.png 67KB
010.png 13KB
network.py 18KB
keys.py 17KB
anchor_target_layer_tf.py 13KB
pascal_voc.py 10KB
config.py 10KB
train.py 9KB
minibatch.py 8KB
proposal_layer_tf.py 7KB
ToVoc.py 7KB
train.py 6KB
roidb.py 6KB
imdb.py 5KB
text_proposal_connector_oriented.py 4KB
split_label.py 4KB
demo.py 4KB
setup.py 4KB
text_detect.py 3KB
VGGnet_train.py 3KB
text_proposal_graph_builder.py 3KB
densenet.py 3KB
densenet.py 3KB
boxes_grid.py 3KB
ocr.py 3KB
bbox_transform.py 3KB
layer.py 3KB
text_proposal_connector.py 2KB
detectors.py 2KB
VGGnet_test.py 2KB
test.py 2KB
model.py 2KB
setup_cpu.py 2KB
blob.py 1KB
train_net.py 1KB
generate_anchors.py 1KB
ds_utils.py 1KB
other.py 1KB
factory.py 841B
demo.py 816B
__init__.py 554B
timer.py 552B
factory.py 467B
nms_wrapper.py 435B
text_connect_cfg.py 381B
__init__.py 172B
__init__.py 98B
__init__.py 86B
__init__.py 73B
__init__.py 24B
__init__.py 19B
__init__.py 0B
__init__.py 0B
__init__.py 0B
cython_nms.pyx 4KB
bbox.pyx 3KB
gpu_nms.pyx 1KB
setup.sh 356B
make.sh 134B
make_cpu.sh 119B
char_std_5990.txt 23KB
VOCdevkit2007 9B
共 101 条
- 1
- 2
资源评论
土豆片片
- 粉丝: 1573
- 资源: 5636
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功