论文阅读_基于CNN的图像二值化_Robust Binarization for Video Text Recognition

Robust Binarization for Video Text Recognition
作者:Zohra Saidane, Christophe Garcia.
会议:ICDAR2007

对图像进行二值化,以得到所需要的前景目标,是个古老而又重要的课题。但是这么多年来,二值化算法的效果,却往往难如人意。其核心难题,就是阈值实在太难选择了。但是,与传统的全局、局部二值化方法相比,这篇文章把二值化转变成了学习和分类问题(2007年的论文,想法还算比较超前的),根据原图直接生成二值化图像,从而避免了阈值选择这个极其麻烦的问题。与此类似的思想,是google的一篇将目标定位问题转化学习问题的论文(Deep Neural Networks for Object Detection,作者是Christian Szegedy, Alexander Toshev, Dumitru Erhan)。

下面把这篇文章的关键技术点复述如下(很多细节还是理解不透,需要花点时间讨论一下细节才行):
1、该方法是一种基于监督式分类器的图像分割技术。通过对当前像素及周边一定邻域内的像素进行综合分析,来判断当前像素是否应该属于前景像素。使用分类器的好处,就是可以充分发挥数据的作用,只要模型选择合适,基本上比启发式方法的效果要好上一大截,而且不用为参数的设置发愁。
2、分类器选择的是一个5层的CNN。CNN在这两年的图像领域,相当火爆。2014年的ImageNet比赛,一半以上的团队都选择了CNN。这篇文章还是比较有远见的。
3、本文主要针对彩色图像(不知道灰度图像上效果如何?)。网络的第一层被分解为3幅图像,分别对应RGB三个通道。


4、第二层是一个普通的卷积层。卷积窗口的尺寸,论文中设置的是5*5.第一层特征数目为30.感觉不是怎么复杂的一个网络。
5、第三层是一个pooling层,对第二层的结果进行averaging pooling,并且进行降采样。这一层的目的是为了消除平移、旋转、尺度和扭曲的干扰。
6、第四层与第三层相反,是一个上采样层,分辨率反而增加了,如图2所示。从图上看,意思好像是一个像素映射到了四个像素(翻遍了论文,也没找到M2具体等于多少),这个暂时有点费解。

7、最后一层也就是最终的结果。依然第四层的每个像素映射到5*5的小区域(当然,第四层多个特征的效果需要叠加)。
8、每一层的激活函数都一样,都是sigmoid函数。
9、第2、3、4层的特征数目都是30.邻域大小都是5*5.
10、图4是部分用于训练的样本图片。这些图片都是人工合成的,然后在上面叠加了噪声(均匀和高斯噪声),且进行了一定程度平滑。文字颜色和背景颜色都是随机选择的(背景是单调的?)。所有的图片尺寸都是48*24像素。总的图片数目是4500(量并不大).个人觉得,如果能够再模拟下分辨率的变化、编解码的影响,或许更好。

11、训练方法选择的是BP。
12、误差的计算很简单,就是比较网络的输出,与真实的二值图像之间的差异。具体计算如下式所示:

13、输出层的每个像素,如果值大于0,就当做前景像素;小于0,就作为背景像素。
14、下图是各种算法的结果对高斯噪声的敏感程度。OTSU是最敏感的。本文算法是最下面那条。

15、对比度变化对各种算法的影响。本文算法依然是最鲁棒的。OTSU还是最差。

16、各种算法对识别率的影响。

17、最终的结果如图9所示。与传统的方法(第二行)相比,本文方法的结果还是比较能够吸引人的。比如在背景与文字亮度比较接近的区域,传统方法很难区分,但是该方法却表现除了明显的优越性。这或许就是数据和学习的威力。

最近一段时间最火的CAFFE,不知道用着东西来试试这篇文章的思路,会有什么有趣的结果?这样可以得到更为复杂的网络,如果在配合更加海量的训练数据,结果会怎样呢?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章