文本检测(二)Segmentation based

Scene Text Detection via Holistic, Multi-Channel Prediction

arXiv 2016

pipeline

在这里插入图片描述
考虑文本区域,单个字符以及它们之间的关系作为三个需要被估计的性质。
在这里插入图片描述
pipeline很简单,原图输入网络,最终输出三个map,对应text regions, characters and linking orientations of adjacent characters。

ground truth

在这里插入图片描述
gt也是对应的三个map:文本区域,字符,以及相邻字符之间的连接方向。

  • 文本区域map的构建很简单,前景置1,背景置0;
  • 字符map的构建和文本区域map类似,但为了避免单词内的字符堆在一起,所以就将前景区域缩小为原来的1/2;
  • 相邻字符之间的连接方向:赋值为该处对应的gt多边形的角度,且角度范围被规范为 [ − π / 2 , π / 2 ] [-\pi/2,\pi/2] [π/2,π/2]内,linking orientations都通过shift 和normalization归一化到[0,1]之间。

loss function

训练时通过比较gt maps和pred maps即可计算损失,所以损失包含三个部分。
在这里插入图片描述
文本和字符区域的损失都可以用balanced交叉熵来计算,而连接方向作者定义了损失函数:
在这里插入图片描述

inference

在给出文本区域的预测后,我们需要通过处理pred maps完成检测任务。

  • 通过使用自适应阈值分割相应的预测图来搜索文本区域候选
  • 通过使用自适应阈值分割相应的预测图得到字符的候选。请注意,由于在训练阶段字符的比例缩小到其原始比例的一半,因此候选字符的估计半径乘以系数2。
  • 同一文本区域内的字符候选们:利用Delaunay triangulation来生成的三角形的边作为每两个顶点的边,边的权值定义为两个字符的相似性;
  • 用最大生成树求图模型的分割,分割中的每个集合组成一个text line。

(很多细节没有在此陈列,但可以看得出,这个inference过程太复杂了吧!)
有些数据集的特定任务上,还涉及到单词分割。

experienment

在不同数据集上的表现都还行,在640×640的图上,平均需要0.42s产生三个预测maps。没有经过其他语言的测试,直接将模型用于处理其他语言时,该模型也能很好的泛化。

Limitations

在处理某些特定场景时,效果不好,如模糊或者高亮。
模型size很大,speed不够。

WordFence: Text Detection in Natural Images with Border Awareness

ICIP 2017 WordFence

这篇论文提出了一个新的概念:wordfence。

pipeline

在这里插入图片描述
论文篇幅过短,没有涉及到pipeline的很多大篇幅讲解,作者设计的网络使用了三个平行的卷积层,均使用相同的kernel size,但使用了不同的dilation parameters,这使得网络可以具备不同尺寸的感受野,从而捕捉到不同尺寸的文本信息。且dilated conv没有引入参数,保证了网络能够很好地训练。

pixelwise的softmax loss倾向于让网络在单词的边缘产生merged segmentations,为了解决这个问题,作者提出了一种简单的方法:不是简单地用0 1来做文本和非文本的分类,而是将每个独立的单词的边缘作为第三类。这一类像素点将会收到惩罚,从而模型被驱使用一个认为的barrier围绕每个单独的单词,这大大降低了阅读单独单词的难度和计算成本。在Inference阶段,单个单词被清晰的相互分割,然后可以使用CC来提取。

ground truth

loss function

weighted softmax loss function:

为了避免由于样本点的类别分布不均衡导致最终网络会倾向于在每个像素点都产生那个类别的众数,所以这里提出了一个weighted softmax loss function,对ground truth labels做统计,对相应的损失加上对应的权重。
在这里插入图片描述

PixelLink

作者认为,语义分割产生的score map中蕴含着很多的位置信息,所以bounding regression不是必不可少的。但如果单纯依靠一个score map来检测文本,那么当两个文本距离非常近的时候,是很难通过区分的,所以这里需要借用instance segmentation来解决。

pipeline

在这里插入图片描述
从上图可以看出pipeline:

  • 用CNN提取得到text /non text和link 预测对应的maps,分别channels数位2和16。其中,16是因为每个pixel预测其附近的8个邻居是否有连接关系(16=8×2);
  • 使用两个threshold来处理预测的pixel prediction和link prediction,得到positive pixels和positive links;
  • 根据positive links来连接邻近的pixels,产生多个连通分量,每个连通分量代表着一个文本实例;
    注意的是:每对pixels之间的link会被预测两次,当这两个links中的任意一个为正时,将会认为这两个pixels应该被连接。
  • 使用OpenCV的minAreaRect之类的方法得到最终的连通分量的bounding boxes。

(上述的后面三步都是inference阶段的工作,训练阶段直接得到pred然后计算损失)
在这里插入图片描述

ground truth

训练阶段比较的是link map和text or non text map,所以需要生成相应的这两个gt maps。

文本区域内部的像素被标记为正,外面的像素被标记为负,如果有重叠区域的话,将重叠区域标记为负。

如果给定某个像素和其8个邻居,如果它们属于一个文本实例,则它们之间的连接被标记为正,否则为负。

loss function

L = λ L p i x e l + L l i n k L=\lambda L_{pixel}+L_{link} L=λLpixel+Llink

loss on pixels

由于不同的文本实例具有不同的大小,如果我们直接对所有像素赋予相同的权值,那么小区域的文本实例预测出错时,可能仍然会有较高的评价指标,因而影响模型在小的文本实例上的预测效果。作者这里的做法时,让每个文本实例都能拥有相同的权值,而文本实例内部的像素点进一步对该权值进行瓜分。

假设第 i i i个实例的面积是 S i S_i Si,每个实例都有相同的权值 B = S N B=\frac{S}{N} B=NS,也就是总面积除总实例数。那么第 i i i个实例中的每个正像素的权重是: w i = B S i w_i=\frac{B}{S_i} wi=SiB

加上online hard example mining策略,最终得到了一个权重矩阵 W W W,该矩阵中包含了所有正像素点和被选择的负像素点的权重信息,最终 L p i x e l = 1 1 + r W L p i x e l _ C E L_{pixel}=\frac{1}{1+r}WL_{pixel\_{CE}} Lpixel=1+r1WLpixel_CE

loss on links

正links和负links的损失计算是独立的,且只会在正的pixels上计算:
在这里插入图片描述
在这里插入图片描述
最终的link预测损失是一个class balanced 交叉熵损失:
L l i n k = L l i n k _ p o s r s u m ( W p o s _ l i n k ) + L l i n k _ n e g r s u m ( W n e g _ l i n k ) L_{link}=\frac{L_{link\_pos}}{rsum(W_{pos\_link})}+\frac{L_{link\_neg}}{rsum(W_{neg\_link})} Llink=rsum(Wpos_link)Llink_pos+rsum(Wneg_link)Llink_neg

inference

  • 使用两个threshold来处理预测的pixel prediction和link prediction,得到positive pixels和positive links;
  • 根据positive links来连接邻近的pixels,产生多个连通分量,每个连通分量代表着一个文本实例;
    注意的是:每对pixels之间的link会被预测两次,当这两个links中的任意一个为正时,将会认为这两个pixels应该被连接。
  • 使用OpenCV的minAreaRect之类的方法得到最终的连通分量的bounding boxes。
  • 设置某些限制筛选掉一部分极大概率是噪声的预测,比如在IC5的实验中,如果一个box的最短边小于10像素,或者面积小于300,就会被丢弃。

experienment

使用了online haed example mining:假设一张图片中总的文本面积是S,将会采样 r × S r\times S r×S个负像素样本点。

数据增强:按0.2的概率旋转图片,随机crop。最后resize。小于10个像素的文本案例将会被忽略,处理数据后保留小于20%的也会被忽略。

Limitations

PSE

link to my blog about PSE

CRAFT

link to my blog about CRAFT

DB

link to my blog about DB

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 基于图像分割的图像分割是一种基于图像像素之间的相似性和差异性来分割图像的方法。该方法将图像表示为图形,其中每个像素都是图形中的一个节点,相邻像素之间的边缘表示它们之间的相似性和差异性。然后,使用图形分割算法将图形分成不同的区域,每个区域都具有相似的像素值和特征。这种方法在计算机视觉和图像处理中广泛应用,例如目标检测,图像分割和图像分析等领域。 ### 回答2: 图像分割是一种通过将图像分割成若干个子区域,从而将图像信息分解的方法,其中每个子区域能够代表整个图像的一个重要部分。在计算机视觉应用中,图像分割技术是非常重要的,因为它可以为图像处理和图像分析提供基础。 其中一种广泛应用的图像分割技术就是图像分割算法,其中一种主要的算法就是基于图的图像分割算法。这种算法的基本原理是将图像转换成一个带权图,然后使用图论算法来将图像切分成若干子区域。其中图论算法包括最小割算法和归一化割谱聚类算法等。 最小割算法的基本思想是将图像中的每个像素点表示为图中的一个节点,并且将节点之间的边表示为不同像素之间的相似性。最小割算法通过不断地在图中切割最小权重的边,从而实现最小割。这样,图像的每个节点都位于一个切割的区域内。 归一化割谱聚类算法是一种基于图的图像分割算法,它首先将图像表示为一个带权图的临界矩阵,然后通过计算临界矩阵的本征矢量和本征值,来对图像进行聚类。归一化割谱聚类算法适用于图像中具有多个分离目标的情况,它可以通过本征值的数量和本征向量的个数来对图像进行有效的分割。 总之,基于图的图像分割算法是一种非常有效和广泛应用的技术,它可以在很多计算机视觉应用中发挥重要作用。无论是最小割算法,还是归一化割谱聚类算法,它们都是基于图像特征来切割图像的,并且可以在不同场景中应用。因此,我们可以使用这些算法来实现图像分割、物体检测和图像分析等领域。 ### 回答3: 图像分割是图像处理中的一个重要研究领域,它旨在将一幅图像分割成不同的区域,每个区域内的像素具有相似的特点。图像分割在计算机视觉、医学图像处理、机器人技术、自动驾驶等领域有着广泛的应用。其中,基于图的图像分割是一种常见的方法。 基于图的图像分割是指将图像表示为一个图,并使用图论方法对其进行分割。通常,我们将图像的像素看做图中的节点,将相邻的像素之间连接一条边,边权则表示节点之间的相似度。然后,我们将图中的节点分为不同的集合,使得集合内的节点相似度高于不同集合之间的相似度。 基于图的图像分割有很多算法,常见的包括最小割算法、谱聚类算法、标准化割算法等。其中,最小割算法是基于图像中两个不同区域间的点连接权重的最小价值问题来实现的。 对于一个图像,我们先将其表示为一个无向图,并将每一个像素点看作该图中的节点。接着,我们将相邻像素点之间的连线看作边,每一条边的权值取决于相邻像素点间的相似度,我们可以使用灰度差值和颜色差值作为相似度的衡量标准。然后,在这个图中,我们找出一条最小路径来将该图分成两个部分,这条路径就是最小割,分成两部分的区域就是图像的分割结果。 总之,基于图的图像分割是一种常见的图像分割方法,它使用图像形式来表示并更好地处理图像中的区域分割问题,是计算机视觉领域中的一个重要研究方向。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值