2-D CTC Loss

2D-CTC for Scene Text Recognition,1-D CTC Loss参考CTC Loss和Focal CTC Loss

Motivation

普通的CTC仅支持1-d,但是文字识别不像语音识别,很多时候文字不是水平的,如果强行“压”到1d,对识别影响很大,如下图所示
在这里插入图片描述

Review 1-D CTC

首先对alphabeta进行扩充,加入blank符号,然后定义一个映射规则: blank之间的相同字符可以去重
计算loss时,对每个gt label字符间加入blank
在这里插入图片描述
然后计算
在这里插入图片描述
但是如果穷举能够经过映射规则变换到apple字符串的话,计算量太大。其实可以将apple分开进行映射,其实是互不干扰的,这时可以用动态规划重复利用子问题答案,参考博客

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2-D CTC

2d比1d多了个高度,不仅可以左右跳还可以上下跳。
在这里插入图片描述
左右跳是有固定的规则
在这里插入图片描述
而上下跳我们可以利用一个网络进行学习,上面第一个输出是wh各个位置的概率输出向量,而下面第二个输出是各个位置在h方向上跳动的概率,由于最后一列不用跳,因此输出是(w-1) h * h

每个位置在h方向跳动的概率和为1
在这里插入图片描述
在这里插入图片描述
同样在计算2-D CTC loss时依然可以用到动态规划,只是在多了个h方向(将原来的某一个点(一个概率值),换成某一条竖线,变成h个概率值乘以跳转概率的和)
在这里插入图片描述

备注

本文为了简便,在预测上下跳动概率时,假设同一列位置上,他们跳动到该列其他点上概率分布相同(好像attention呀,就是预测该列上出现文字的地方),该转移概率输出为(w-1) * h
作者说两者效果差不多

实验

在这里插入图片描述

解释下Vanill CTC + Attention,即网络结构和输出和2D-CTC一样,然后利用2d转移概率图乘以输出的概率图,最后在h方向求和以利用1d ctc

对比结果2d-ctc还是最好的

点评

个人认为这个应该是1.5d ctc,解决的是弯曲的一行文字,而不是真正的2d即多行文字

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值