做OCR常用的深度学习方法
发布时间:2020-02-28 栏目:人工智能 评论:0 Comments
EAST和PAVNet
———————–
EAST:
- 先拿EAST检测出文本区域,再使用识别网络比如CNN来检测具体的文字
- 长文本EAST效果不好,可以使用advanced EAST来检测;
- EAST的计算量由主体部分的backbone采用不同的网络不同而计算量不同
EAST的主体思路:Multi-channel FCN + thresholding & NMS
(1)输入:带文字的图片;
输出:(带旋转角度的)四边形(不一定是矩形)的四个顶点坐标[(x1, y1),(x2, y2), (x3, y3), (x4, y4)]
(2)主体结构:
- Feature Merging: U shape的设计思路
- 输出9个feature map,第一个为score map(代表框的权重),后面8个为shift m1, shift m2, shift m3, shift m4, shift m5, shift m6, shift m7, shift m8,分别代表4个顶点的x和y轴的坐标位移。
(3)局部感知NMS:
- 直接NMS计算量太大,所以局部合并,来降低框的数目,最后再作NMS;
- 融合方式采用加权融合的方式 (merge出一个新的框,比如新的x=score1*x1 + score2*x2),一般选择横向坐标来合并(因为横向文字偏多)
- 文字有重叠的话,使用Soft NMS
(4)Loss function:
- 总的loss为 score map loss和geometry map loss乘权重之后再相加
- score map loss采用的类平衡交叉熵loss【负例样本比例*交叉熵的正例那一部分,正例样本比例*交叉熵的负例那一部分】
- geometry map loss使用的每个点的误差求和,经过归一化(除以最小边)处理
(5)训练策略:两种loss的权重依次迭代??
(6)训练数据:由ground truth生成对应的9个feature map拿来做训练,根据坐标规则一个个根据标注计算出来,再拿来做训练【框一开始shrunk为原来的2/3, 目的是因为2/3的部分一般是文字的主体,边缘部分文字有可能不全,所以使用2/3的部分的数据训练更加容易收敛】
——————————————-
CRNN+CTC
参考:https://zhuanlan.zhihu.com/p/43534801
——————————————
ICDAR2015是由Google Glass采集的;
Comments are closed.
近期评论
- Pika发表在《莫里斯蠕虫(Morris Worm)》
- Pika发表在《多组学科研分析》
- crisy发表在《最近关于专利的一点感想》
- walter发表在《机器学习基础知识回顾-马尔科夫过程(Markov Process)》
文章归档
- 2024年3月
- 2024年2月
- 2023年12月
- 2023年11月
- 2023年10月
- 2023年9月
- 2023年8月
- 2023年7月
- 2023年6月
- 2023年5月
- 2023年4月
- 2023年3月
- 2023年2月
- 2023年1月
- 2022年12月
- 2022年11月
- 2022年9月
- 2022年8月
- 2022年7月
- 2022年6月
- 2022年5月
- 2022年3月
- 2022年2月
- 2022年1月
- 2021年12月
- 2021年11月
- 2021年10月
- 2021年9月
- 2021年8月
- 2021年7月
- 2021年6月
- 2021年5月
- 2021年4月
- 2021年2月
- 2021年1月
- 2020年12月
- 2020年11月
- 2020年10月
- 2020年8月
- 2020年7月
- 2020年6月
- 2020年5月
- 2020年4月
- 2020年3月
- 2020年2月
- 2019年7月
- 2019年5月
- 2019年3月
- 2019年1月
- 2018年6月
- 2018年5月
- 2018年4月
- 2018年3月
- 2018年2月
- 2017年11月
- 2017年7月
- 2017年6月
- 2017年5月
- 2017年3月
- 2016年12月
- 2016年11月
- 2016年10月
- 2016年9月
- 2016年8月
- 2016年7月
- 2016年6月
- 2016年5月
- 2016年4月
- 2016年3月
- 2016年2月
- 2016年1月
- 2015年12月
- 2015年11月