SPIN:用于场景文本识别的保留结构的内部偏移网络
Paper : 论文地址
本文提出的方法主要解决色彩失真的图片。如下图中的(c)和(d)
SPIN(Structure-Preserving Inner Offset Network),一种可学习的几何无关的矫正,可以对网络中的原数据进行颜色处理。可以在任何识别体系结构之前插入此模块,以减轻下游任务的负担,使神经网络能够主动转换输入亮度,而不仅仅是空间校正。 它也可以作为已知空间变换的补充模块,并以独立和协作的方式与它们一起工作。
色彩失真可以分为两种情况(上图),分别称为模式间(inter-pattern)和模式内(intra-pattern)问题。 把有相同亮度的所有像素表示为结构模式(structure-pattern)。模式间问题意味着噪声模式接近文本模式(例如,对比度或亮度差)或紧密文本模式的亮度分散。 因此,它需要将文本模式和背景模式分开,同时将字符聚合为统一的文本模式。如上图(a),分离开 “ L”,“ O”,“ V”,“ E”和背景的亮度后,文本变得更容易识别,而字符的亮度保持接近。模式内问题意味着文本模式会受到阴影,遮挡等噪声的干扰。上图(b)所示,左下方的阴影与“ L”混合,这个问题应该避免。 因此,一个好的色彩矫正器应该有能力同时处理这两种情况。
首先解释两个概念:通道亮度偏移量(表示为内部偏移量 inner offset)和空间偏移量 (表示为外部偏移量 outter offset)。内部偏移量旨在减轻色彩失真,例如提到的模式间和模式内的问题,而外部偏移量则包含了几何校正。
Chromatic Transformation
SPIN(Structure-Preserving Inner Offset Network) 网络旨在从更广的角度纠正输入模式,并解决 STR 任务中出现的颜色或亮度问题,减轻了色彩失真,使物体的形状更清晰。SPIN包括两个部分:SPN(Structure Preserving Network)和 AIN(Auxiliary Inner-offset Network)。SPN 负责减轻模式间问题引起的不规则现象。 AIN 是一个辅助网络,用于区分由模式内问题引起的不规则性。这两个组成部分可以相互促进。 因此,对于固有的形状的文本,校正后的图像将在视觉上变得更清晰,然后更易于识别。
Structure Preserving Network (SPN)
受结构保留变换(SPT 1)的启发,发现这种失真通常对基于深度学习的分类器而言是致命的,还发现基于 SPT 的变换还可以通过强度操纵来纠正颜色失真的图像。
给定输入图像
x
∈
I
x \in \mathcal{I}
x∈I,让
x
′
∈
I
′
x' \in \mathcal{I}'
x′∈I′ 表示变换后的图像。在图像
I
\mathcal{I}
I 上的变换
T
\mathcal{T}
T 可以表示为:
x
′
(
i
,
j
)
=
T
[
x
(
i
,
j
)
]
x'(i, j) = \mathcal{T}[x(i, j)]
x′(i,j)=T[x(i,j)]
其中
x
(
i
,
j
)
x(i,j)
x(i,j) 和
x
′
(
i
,
j
)
x'(i,j)
x′(i,j) 分别是输入和输出图像在坐标
(
i
,
j
)
(i,j)
(i,j) 的的亮度。SPT 的一般形式定义为多个幂函数的线性组合:
x
′
=
T
(
x
)
=
s
i
g
m
o
i
d
(
∑
i
ω
i
x
β
i
)
x' = \mathcal{T} (x) = sigmoid(\sum_{i} \omega_i x^{\beta_i})
x′=T(x)=sigmoid(i∑ωixβi)
其中
β
i
\beta_i
βi 是第
i
i
i 个基本幂函数的指数,
ω
i
\omega_i
ωi 是相应的权重。通过将每个像素的强度归一化到 [0,1] 中,总强度空间可以分散到 K 个子空间中。 每个空间可以在一定的线性约束下通过指数函数建模
y
i
=
x
i
β
i
y_i = x_i^{\beta_i}
yi=xiβi ,其中
x
i
=
i
2
(
K
+
1
)
,
y
i
=
1
−
i
2
(
K
+
1
)
,
i
=
1
,
2
,
3
,
.
.
.
,
K
+
1
x_i = \frac{i}{2(K+1)}, y_i = 1 - \frac{i}{2(K+1)}, i = 1, 2,3,..., K+1
xi=2(K+1)i,yi=1−2(K+1)i,i=1,2,3,...,K+1 。然后,成对的 2K + 1参数可以表示为:
β
i
=
{
r
o
u
n
d
(
log
(
1
−
i
2
(
K
+
1
)
)
log
i
2
(
K
+
1
)
,
2
)
,
1
≤
i
≤
K
+
1
r
o
u
n
d
(
1
β
i
−
(
K
+
1
)
,
2
)
,
K
+
1
≤
i
≤
2
K
+
1
\beta_i = \begin{cases} round(\frac{\log(1 - \frac{i}{2(K+1)})}{\log{\frac{i}{2(K+1)}}}, 2), 1 \leq i \leq K+1 \\ round(\frac{1}{\beta_{i-(K+1)}}, 2), K+1 \leq i \leq 2K+1 \end{cases}
βi=⎩⎨⎧round(log2(K+1)ilog(1−2(K+1)i),2),1≤i≤K+1round(βi−(K+1)1,2),K+1≤i≤2K+1
这些
β
\beta
β 指数可以基于域来选择,或者为了简单起见可以预先固定。 K 定义了转换亮度的复杂度。 较大的 K 将支持更复杂和更细粒度的色彩空间。
ω
\omega
ω 是从通过卷积生成的。 因此,基于 SPN 的转换可以概括为:
x
′
=
T
(
x
)
=
s
i
g
m
o
i
d
(
∑
i
W
(
i
)
s
H
S
P
N
(
x
)
x
β
i
)
x' = \mathcal{T}(x) = sigmoid(\sum_{i} W_{(i)}^s \mathcal{H_{SPN}}(x)x^{\beta_i})
x′=T(x)=sigmoid(i∑W(i)sHSPN(x)xβi)
其中
W
s
W^s
Ws 和
H
S
P
N
(
⋅
)
\mathcal{H_{SPN}}(\cdot)
HSPN(⋅) 分别是 Block8 权重的部分和特征提取器,
W
s
H
S
P
N
(
⋅
)
W^s \mathcal{H_{SPN}}(\cdot)
WsHSPN(⋅) 是从 Block8 中输出的 (2K+1) 维的部分,总共有 (2K+2) 维。
本质上是通过过滤输入图像的亮度级别来实现结构保留。原始图像中所有具有相同亮度级别的像素在变换后的图像中具有相同的亮度级别,其中将亮度级别为 c 的集合 { ( i , j ) ∣ x ( i , j ) = c } \{ (i,j) | x(i,j) = c\} {(i,j)∣x(i,j)=c} 定义为结构模式。在两个方面利用这种基于单例的逐像素方式变换来提出 SPN,用于校正色彩失真:1. 通过将它们变为不同的强度级别,将有用的和不利的结构模式分离开来,产生更好的对比度和亮度;2. 通过将结构模式映射到接近的亮度级别来聚合不同级别的结构模式,有利于减轻碎片,渲染更统一的图像。这些适用于处理模式间问题,但对其他问题无能为力。
Auxiliary Inner-offset Network(AIN)
由于 SPN 试图通过利用单词或字符的空间不变性来分离和聚合特定的结构模式,因此莫名其妙地假设这些模式处于不一致的亮度下,即不同级别的结构模式。 但是,它没有考虑到干扰模式的亮度可以与有用模式的亮度度相似,即模式混淆(pattern confusion),从而引起模式内问题。所以提出了 AIN,通过解耦几何和色偏, AIN 将在每个坐标上生成色彩偏移( inner offset)。色彩偏移定义为:
g
(
x
)
=
(
1
−
α
)
∘
x
+
α
∘
x
offsets
,
α
=
s
i
g
m
o
i
d
(
W
z
H
S
P
N
(
x
)
)
,
x
offsets
=
W
a
H
A
I
N
(
x
)
\begin{aligned} & g(x) = (1 - \alpha) \circ x + \alpha \circ x_{\text{offsets}}, \\ & \alpha = sigmoid(W^z\mathcal{H_{SPN}}(x)), \\ & x_{\text{offsets}} = W^a \mathcal{H_{AIN}}(x) \end{aligned}
g(x)=(1−α)∘x+α∘xoffsets,α=sigmoid(WzHSPN(x)),xoffsets=WaHAIN(x)
W
z
W^z
Wz 是训练参数,Block8 的部分输出。
W
a
W^a
Wa 是 AIN 模块的训练参数。
H
A
I
N
(
⋅
)
\mathcal{H_{AIN}}(\cdot)
HAIN(⋅) 是特征提取器,与 SPN 共享前 3 个 blocks 的参数。通过一个可学习的更新门
α
\alpha
α ,接收来自 SPN 的信号并感知不同任务的难度,负责控制输入图像
x
x
x 和预测的辅助内部偏移之间的平衡。
g
(
x
)
g(x)
g(x)(或
x
x
x)是更新(或输入)的图像。
x
offsets
x_{\text{offsets}}
xoffsets由 AIN 预测。由于色彩变换是每个坐标上的像素到像素映射,因此不需要空间移位。AIN 首先将图像分成小块,然后预测每个块的偏移量。 所有偏移值都由
s
i
g
m
o
i
d
(
⋅
)
sigmoid(\cdot)
sigmoid(⋅) 激活,并通过通用的上采样(例如,双线性插值)映射到输入图像的大小。辅助内部偏移量可以通过每个坐标
(
i
,
j
)
(i,j)
(i,j) 上的轻微强度级扰动
x
offsets
(
i
,
j
)
x_{\text{offsets}}(i,j)
xoffsets(i,j) 来减轻模式混淆。 在 AIN 的协助下,将对更新后的图像进行增强的转换,公式为:
x
′
^
=
T
^
(
x
)
=
s
i
g
m
o
i
d
(
∑
i
ω
i
(
g
(
x
)
)
β
i
)
\hat{x'} = \hat{\mathcal{T}} (x) = sigmoid(\sum_{i} \omega_i (g(x))^{\beta_i})
x′^=T^(x)=sigmoid(i∑ωi(g(x))βi)
Geometric-Absorbed Extension
空间变换通过预测相应的坐标来纠正模式的位置偏移,这将生成几何偏移(即外部偏移)。然后根据这些点对整个图像进行重新采样,这可以写为:
x
′
~
(
i
′
,
j
′
)
=
S
(
x
,
f
(
i
′
,
j
′
)
)
=
S
(
x
,
(
i
,
j
)
)
{\tilde{x'}(i', j')} = \mathcal{S}(x, f(i', j')) = \mathcal{S}(x, (i,j))
x′~(i′,j′)=S(x,f(i′,j′))=S(x,(i,j))
其中
(
i
,
j
)
(i,j)
(i,j) 或
(
i
′
,
j
′
)
(i', j')
(i′,j′) 是原始坐标或通过外部偏移调节后的坐标,
S
(
x
,
⋅
)
\mathcal{S}(x, \cdot)
S(x,⋅) 代表采样器,通过对
x
(
i
,
j
)
x(i,j)
x(i,j) 的邻居进行插值生成转换后的图像,
f
f
f 代表不同的转换函数(Affine, TPS等)。不同的是,在提出的色彩变换中,在每个坐标上生成内部偏移量。两者都是用于简化下游阶段的独立模块,而它们可以整合成统一的变换:
x
′
¨
(
i
′
,
j
′
)
=
S
(
x
′
^
,
f
(
i
′
,
j
′
)
)
=
S
(
T
^
(
x
)
,
f
(
i
′
,
j
′
)
)
\ddot{x'}(i', j') = \mathcal{S}(\hat{x'}, f(i', j')) = \mathcal{S}(\hat{\mathcal{T}}(x), f(i', j'))
x′¨(i′,j′)=S(x′^,f(i′,j′))=S(T^(x),f(i′,j′))
将色彩和几何校正的统一称为 Geometric-Absorbed Extension(GA-SPIN)。色彩变换
T
^
(
⋅
)
\hat{\mathcal{T}}(\cdot)
T^(⋅) 和几何变换
f
(
⋅
)
f(\cdot)
f(⋅) 中的学习参数是同时预测的。当加上 TPS 之类的空间校正时,GA-SPIN 与 SPIN 相比唯一的区别是将 Block8 的输出通道数量设置为 2K+2+N 而不是 2K+2,其中 N 是 TPS 的参数。
Experiments
Peng, D.; Zheng, Z.; and Zhang, X. 2019. StructurePreserving Transformation: Generating Diverse and Transferable Adversarial Examples. CoRR abs/1809.02786. ↩︎