fcenet
fcenet是使用傅里叶边界建模的方式,来拟合文本框
思想及步骤:
- fourier公式的由来:
- e i θ e^{i\theta} eiθ代表单位长度的向量绕原点逆时针旋转 θ \theta θ角度,由泰勒展开式可以得到 e i θ = cos ( θ ) + i sin ( θ ) e^{i\theta} = \cos(\theta) + i \sin(\theta) eiθ=cos(θ)+isin(θ), e 2 π i e^{2\pi i} e2πi代表圆周, e − 2 π i t e^{- 2\pi it} e−2πit代表顺时针转动频率为1的圆周, e − 2 π i k t e^{-2\pi ikt} e−2πikt代表顺时针转动频率为k的圆周
- 缠绕,频率为k的圆周与一个周期函数相乘,即缠绕, g ( t ) e − 2 π i k t g(t) e^{-2\pi ikt} g(t)e−2πikt
- 质心计算, 1 n ∑ t = 0 n g ( t ) e − 2 π i k t \frac{1}{n}\sum_{t=0}^{n}g(t)e^{-2\pi ikt} n1∑t=0ng(t)e−2πikt,写成积分为 1 t 2 − t 1 ∫ t 1 t 2 g ( t ) e − 2 π i k t d t \frac{1}{t_{2} - t_{1}}\int_{t_{1}}^{t_{2}}g(t)e^{-2\pi ikt}dt t2−t11∫t1t2g(t)e−2πiktdt
- 最终结果: f ( k ) = ∫ − ∞ + ∞ g ( t ) e − 2 π i k t d t f(k) = \int_{-\infty}^{+\infty} g(t)e^{-2\pi ikt}dt f(k)=∫−∞+∞g(t)e−2πiktdt
- fourier contour embedding
- 文字的轮廓是一个闭环的曲线,可以假设为一个周期为1的曲线,那么经过fourier tranform后,可以写成 e k = ∑ t = 1 N g ( t ) e − 2 π i k t e_{k} = \sum_{t=1}^{N}g(t)e^{-2\pi i kt} ek=∑t=1Ng(t)e−2πikt,经过逆傅立叶变换,可以得到 g ( t ) = ∑ k e k e 2 π i k t g(t) = \sum_{k}e_{k}e^{2\pi ikt} g(t)=∑keke2πikt
- 由傅立叶定理可以得到,低频描述的是外围特征,高频描述的是内部特征,所以,我们可以用低频特征来对文字的轮廓进行建模,取k=5,也就是 − 5 , − 4 , − 3 , − 2 , − 1 , 0 , 1 , 2 , 3 , 4 , 5 -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5 −5,−4,−3,−2,−1,0,1,2,3,4,5,即11个值,又由于 e k e_{k} ek是一个复数,有实部和虚部,所以乘2,这些也就是模型需要预测的
- gt计算,gt就是
e
k
e_{k}
ek
- 根据标注的点,可以计算出每个点的t值,从而求出 e k e_{k} ek
- 预测:
- 根据预测出的
e
k
e_{k}
ek和公式
g
(
t
)
=
∑
k
e
k
e
2
π
i
k
t
g(t) = \sum_{k}e_{k}e^{2\pi ikt}
g(t)=∑keke2πikt可以得到坐标
- 根据预测出的
e
k
e_{k}
ek和公式
g
(
t
)
=
∑
k
e
k
e
2
π
i
k
t
g(t) = \sum_{k}e_{k}e^{2\pi ikt}
g(t)=∑keke2πikt可以得到坐标