CVPR2017 by Yuliang Liu & Lianwen Jin
对于自然文本的检测任务,原来的方法都专注于用矩形框来对文本进行定位。但是实际上因为文本图像存在透视变换等等问题,图像里面的自然文本并不是严格地呈现矩形的。这个时候用矩形框来定位的话会有以下问题:
左边表示用四边形定位的结果,右边表示用矩形定位的结果。
(a)表示用矩形定位会引入不必要的overlap
(b)表示用矩形会导致文本的边界不能很好的定位
(c)表示矩形会引入额外的噪声。
因此作者提出了自己的Deep Matching Prior Network用来检测四边形边框。
1.利用quadrilateral sliding windows来对text进行粗定位;
2.采用shared Monte-Carlo方法快速计算两个任意四边形的交叉面积
3.利用和gt overlap大的四边形进行text的精确定位
4.设计了smooth Ln loss来提高定位精度
作者指出之前的方法都是用水平的矩形来作为anchor box,这种方法对于倾斜的文本来说,相同的阈值下recall太低了。因此作者提出了倾斜四边形作为anchor box,如下图所示:
(b)表示水平矩形作为anchor box,
(c)表示作者提出来的quadrilateral作为anchor box,
(a)表示两种方法的对比,
可以看到,quadrilateral能够更好地对text进行定位。减少背景噪声的影响。
为了确定哪个anchor box是positive的,我们需要计算gt box和anchor box之间的IOU,作者指出原来的算法只能计算矩形之间的IOU,并且效率还不高。因此,他们提出了基于Monte-Carlo的方法来计算多边形的面积。方法如下图所示:
方法有两步:
1)对于GT,首先在它的外接矩形框里面均匀采样10000点,然后统计在GT多边形里面的点,得到GT的面积;
2)如果sliding window的外接矩形和GT的外界矩形不相交,那么GT和sliding window的IOU就是0,否则根据1)计算sliding window的面积,然后统计GT里面的点在sliding window里面的比例,求得交叉区域的面积,得到IOU
通过在GPU上并行计算,这种方法的效率很高。
通过上一步确定了哪些sliding window负责预测text之后,下一步就是根据这些sliding window的参数预测四边形的坐标。首先我们需要确定四边形的四个点的预测顺序。
sequential protocol of coordinates
上图表示凸四边形顶点确定流程。首先在四个点里面选择x坐标最小的,如果有两个x一样,那么选择y最小的。确定完点1之后,可以连接剩下的点引出三条线段,找到中间那条,确定点3。然后画出对角线L13,找到在L(P)>0的P点为第二个点,否则为第4个点。
最后连接点1,3和点2,4.选择斜率更大的那条线上x更小的点作为新的点1.剩下的依次确定。
确定了点的顺序之后,要预测的参量其实就是四个点的坐标。作者这里换了一种预测方法:
对于gt四边形,得到它的最小外接矩形。然后用(x,y,w1,h1,w2,h2,w3,h3,w4,h4)表示这个gt。其中(x,y)表示外接矩形的中心点坐标,(wi,hi)表示四边形四个点相对(x,y)的偏移。
一般回归的loss会用L2 loss或者smoothed L1 loss,其中smoothed L1 loss相比L2 loss,对于离群值的敏感度更小(more robust)。
但是从训练的角度来说,L2 loss能够加快收敛的速度。因为当预测值和真实值相差比较大的时候,L1 loss的梯度始终是1,但是L2 loss的梯度和误差是同一量级,这样可以加快收敛。
综合以上,作者提出了smoothed Ln loss,综合了L2 loss和smooth L1 loss的特点。
从上图中可以看到,Ln loss对于离群值的敏感度小于L2 loss,同时梯度的调节能力优于smooth L1 loss。
实验在ICDAR 2015 challenge 4 “Incidental Scene Text” Localization上。