东方耀AI技术分享

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 4078|回复: 3
打印 上一主题 下一主题

[课堂笔记] 基于EAST的自然场景下文本检测项目实战总结

[复制链接]

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14439
QQ
跳转到指定楼层
楼主
发表于 2019-9-19 21:03:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式


对自然场景下图片中的文字区域进行检测
TextBoxes TextBoxes++都是基于ssd改进的
文本检测算法:定位文字所在区域
传统的检测框架(SSD,YOLO, Faster-RCNN):效果不理想
针对文本检测问题专门设计的框架:
1、Top-down和 bottom-up
2、CTPN、EAST、 SegLink、 Textboxes、 Textboxes++、RRPN、 Dmpnet、 Pixellink、FTSN、 Wordsup等


●技术难点
1、多边形区域
2、扭曲形变
3、字体多样
4、场景环境多样
5、光照、尺度、颜色
6、语种等等


数据集资源:ICDAR官网下载(需要翻墙):https://rrc.cvc.uab.es/?ch=4&com=downloads
选择Challenges---> Incidental Scene Text无法翻墙的朋友看这里:链接: https://pan.baidu.com/s/12YSefBWdPaXv0ndWT-lR7Q 提取码: p3ne

端到端识别数据库:一个网络包含文字区域定位与文字内容识别
也可以用两个网络来完成:比如用TextBox++进行文字区域定位
用CRNN算法进行文本内容的识别


核心研究方向:
1、自然场景下文本的端到端识别
2、海量视频中快速检索感兴趣的文字
3、文本和图片更好的融合
4、专业领域下的版面分析问题

EAST介绍:An Efficient and Accurate Scene Text Detector
旷世科技,CVPR2017
使用FCN生成多尺度融合的特征图,进行像素级的文本块预测
支持旋转矩形框、任意四边形两种文本区域标注形式
提供了方向信息,可以检测各个方向的文本
对较长的文本检测效果不好,感受野不够长


A tensorflow implementation of EAST text detector
https://github.com/argman/EAST

安装tensorflow与相应的依赖之后(看requirements.txt):
1、修改icdar.py文件  tf.app.flags.DEFINE_string('training_data_path','')训练数据路径
txt_fn = txt_fn.replace('img_', 'gt_img_')  根据图片路径修改gt标注文件路径
2、修改训练multigpu_train.py文件  
3、开始训练 python3 multigpu_train.py


网络结构在:nets/resnet_v1.py
模型文件在:model.py

EAST模型的测试:
python3 eval.py

tf.app.flags.DEFINE_string('test_data_path', 'test/', '')
tf.app.flags.DEFINE_string('gpu_list', '0', '')
tf.app.flags.DEFINE_string('checkpoint_path', 'model_pretrained/east_icdar2015_resnet_v1_50_rbox/', '')
tf.app.flags.DEFINE_string('output_dir', 'test_output/', '')
tf.app.flags.DEFINE_bool('no_write_images', False, 'do not write images')







文本检测.png (702.2 KB, 下载次数: 386)

文本检测.png

Top-Down VS Bottom-Up.png (328.54 KB, 下载次数: 385)

Top-Down VS Bottom-Up.png

通用物体检测算法的问题.png (318.97 KB, 下载次数: 385)

通用物体检测算法的问题.png

文本检测数据集资源.png (508.8 KB, 下载次数: 386)

文本检测数据集资源.png

自然场景下文本形态.png (759.66 KB, 下载次数: 394)

自然场景下文本形态.png

icdar scene Text 2015.png (372.15 KB, 下载次数: 382)

icdar scene Text 2015.png

Text Localization数据标注文件格式.png (633.1 KB, 下载次数: 388)

Text Localization数据标注文件格式.png

train_EAST.png (179.12 KB, 下载次数: 386)

train_EAST.png

train_EAST2.png (180.31 KB, 下载次数: 391)

train_EAST2.png

img_2.jpg (224.6 KB, 下载次数: 387)

img_2.jpg

dfy_2.jpg (193.35 KB, 下载次数: 392)

dfy_2.jpg

img_2.txt

392 Bytes, 下载次数: 565

dfy_2.txt

2.9 KB, 下载次数: 564

让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14439
QQ
沙发
 楼主| 发表于 2019-9-19 22:34:22 | 只看该作者
  1. Cross point does not exist
  2. Traceback (most recent call last):
  3.   File "/home/dfy888/py3_tensorflow_works/EAST/icdar.py", line 666, in generator
  4.     score_map, geo_map, training_mask = generate_rbox((new_h, new_w), text_polys, text_tags)
  5.   File "/home/dfy888/py3_tensorflow_works/EAST/icdar.py", line 526, in generate_rbox
  6.     if point_dist_to_line(p1, new_p2, p0) > point_dist_to_line(p1, new_p2, p3):
  7.   File "/home/dfy888/py3_tensorflow_works/EAST/icdar.py", line 253, in point_dist_to_line
  8.     return np.linalg.norm(np.cross(p2 - p1, p1 - p3)) / np.linalg.norm(p2 - p1)
  9. TypeError: unsupported operand type(s) for -: 'NoneType' and 'float'
复制代码
让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14439
QQ
板凳
 楼主| 发表于 2019-9-19 22:34:57 | 只看该作者
  1. Cross point does not exist
  2. Traceback (most recent call last):
  3.   File "/home/dfy888/py3_tensorflow_works/EAST/icdar.py", line 666, in generator
  4.     score_map, geo_map, training_mask = generate_rbox((new_h, new_w), text_polys, text_tags)
  5.   File "/home/dfy888/py3_tensorflow_works/EAST/icdar.py", line 526, in generate_rbox
  6.     if point_dist_to_line(p1, new_p2, p0) > point_dist_to_line(p1, new_p2, p3):
  7.   File "/home/dfy888/py3_tensorflow_works/EAST/icdar.py", line 253, in point_dist_to_line
  8.     return np.linalg.norm(np.cross(p2 - p1, p1 - p3)) / np.linalg.norm(p2 - p1)
  9. TypeError: unsupported operand type(s) for -: 'NoneType' and 'float'
复制代码
让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

0

主题

117

帖子

258

积分

中级会员

Rank: 3Rank: 3

积分
258
QQ
地板
发表于 2020-2-3 15:52:10 | 只看该作者
谢谢老师提供的资料。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|人工智能工程师的摇篮 ( 湘ICP备2020019608号-1 )

GMT+8, 2024-5-16 22:23 , Processed in 0.186682 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表