TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes
思想:
【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/2,w * h * 7的feature maps,其中,TR, TCL各自为两个通道的softmax,其他参数各自一个通道
- segmented TCL
文章图片
文章图片
首先在实例分割的区域上任意取一点,根据该点可以做出该点的切线和法线。然后法线和实例分割的区域相交的中点就是该点中心化后的点。然后基于该点,分别左右各取一定步长:
这样左右各得到一个新的点,再基于这2个新的点做中心化,这样一直持续到TCL两端,最后每个点画圆,得到输出最终的文本曲框。
(因为去中心化的关系,Fig 2中每一个圆环中标出的中心,不满足在striding步骤中的步长公式( (1/2)r × cosθ; (1/2)r × sinθ) and (- (1/2)r × cosθ; - (1/2)r × sinθ))
- 过滤false positive 区域
TCL区域的像素个数至少是平均半径的0.2倍。
至少一半的像素在重建文本区域应该被分类为TR。
文章图片
M为相邻点的余弦距离,将M中的数值两两相乘,乘积最接近-1 的,说明是头尾两端(平行但方向相反)。然后取头尾两端的中点作为字体骨架的两端。被该头尾分开的上下两端各取等量的散点,并将上下的散点连接起来,取连接线的中心点作为骨架点,将所有的中点连接起来,生成字体区域的骨架线。
后续再对骨架线的左右两端各缩小1/2rend的距离,rend表示TCL 在头尾两个端点处的半径。最后膨胀TCL区域1/5r,得到一个相对较宽的TCL区域。因为单独的一个点对于噪声是比较敏感的。
r是中心线上的点到对应的边的距离,Θ是与相邻点的夹角
推荐阅读
- 第8-1节表示|第8-1节表示 (Representation)|机器学习速成课程
- (移动端适配px转rem)react配置rem插件lib-flexible和postcss-px2rem-exclude
- Deep|TextSnake文本检测
- 关于CNN可视化与《What have we learned from deep representations for action recognition》笔记
- quaternion in eigen
- 图神经网络论文解读|【论文翻译】DeepWalk: Online Learning of Social Representations
- Could|Could not find acceptable representation (已解决)
- 图计算|论文阅读|DeepWalk: Online Learning of Social Representations
- 移动端自适应flexible.js
- flutter的Flexible和|flutter的Flexible和 Expanded的区别