TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes

思想:

通过一系列同一中轴线的,有序的,重叠的圆盘来表示曲折的文本,其中,每个圆盘有可能变化的半径和方向

结构:

在这里插入图片描述
S(t)={D0,D1,……,Di,……,Dn},其中,Di表示第i个圆盘,参数为D=(c,r,Θ)。其中,c为中心点坐标,r为圆盘的半径(主要体现在text的宽上),Θ为中心线与水平线的夹角

优点:

检测是通过一系列圆盘参数的预测及一条分割出来的中心线组成的,这种结构不但可以很好的表示任何曲折的文本,而且其可以为文本的重构做到形状精确和相对位置一致。同时,用中心线的方式,不会存在重叠的情况,可以很好的区分不同的text

步骤:

  1. 总体流程图:
    在这里插入图片描述

网络先通过生成一个text region(TR)分割图与Text center line(TCL)分割图,通过TR对TCL做mask,得到Masked TCL,后通过Disjoint Set得到不同的text个例,最后,利用生成的radius, cosΘ,sinΘ得到最后的text区域

  1. 参数的生成

  2. 在这里插入图片描述
    网络的最后是输入大小长宽的1/2,w * h * 7的feature maps,其中,TR, TCL各自为两个通道的softmax,其他参数各自一个通道

  3. segmented TCL
    在这里插入图片描述
    在这里插入图片描述
    首先在实例分割的区域上任意取一点,根据该点可以做出该点的切线和法线。然后法线和实例分割的区域相交的中点就是该点中心化后的点。然后基于该点,分别左右各取一定步长:

( (1/2)r × cosθ; (1/2)r × sinθ) and (- (1/2)r × cosθ; - (1/2)r × sinθ)

这样左右各得到一个新的点,再基于这2个新的点做中心化,这样一直持续到TCL两端,最后每个点画圆,得到输出最终的文本曲框。
(因为去中心化的关系,Fig 2中每一个圆环中标出的中心,不满足在striding步骤中的步长公式( (1/2)r × cosθ; (1/2)r × sinθ) and (- (1/2)r × cosθ; - (1/2)r × sinθ))

  1. 过滤false positive 区域
    TCL区域的像素个数至少是平均半径的0.2倍。
    至少一半的像素在重建文本区域应该被分类为TR。

label的生成

在这里插入图片描述
M为相邻点的余弦距离,将M中的数值两两相乘,乘积最接近-1 的,说明是头尾两端(平行但方向相反)。然后取头尾两端的中点作为字体骨架的两端。被该头尾分开的上下两端各取等量的散点,并将上下的散点连接起来,取连接线的中心点作为骨架点,将所有的中点连接起来,生成字体区域的骨架线。

后续再对骨架线的左右两端各缩小1/2rend的距离,rend表示TCL 在头尾两个端点处的半径。最后膨胀TCL区域1/5r,得到一个相对较宽的TCL区域。因为单独的一个点对于噪声是比较敏感的。

r是中心线上的点到对应的边的距离,Θ是与相邻点的夹角

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值