项目描述:将一副图片中文字识别出来, 这样就可以实现输入照片中的文字就把照片找出来了。目前对于数码照片中的文字识别出来还是一件比较复杂的机器学习问题。比较好的应用是,为盲人指路,利用摄像头拍摄前方路况,然后将照片中的文本识别出来,告诉给盲人达到指路的功能。
OCR流水线:(每一个过程都可以看成一个机器学习组件)
1、照片中的文本探测
利用有一个固定长宽比的滑窗去寻找图片中的文字,这个过程我们需要利用到收集到一些正例和反例,正例是和滑窗大小一样的含文字的图像,反例是和滑窗大小一样但是不含文字的图像,从待检测的数码图像的左上角开始滑动,对于每个滑到的窗体,丢到分类器中去检测是否是含文本的图像,如果是,就标记为1,如果不是就标记为0。每次滑窗移动的距离称为步长,是一个可变参数。(滑动窗口检测器)
2、字符分割
利用数字图像处理中的膨胀算子将含文字的部分分割出来。如下图所示。
3、字符识别(文字检测系统)
再次利用有监督的学习方法, 利用一维的滑窗将含数字的图像分割出来。这里我们需要正样例和副样例,因为这里是要将文字分割出来,所以我们的正样例比较含有两个字符的图片,负样例是含有一个字符的图片和哪些不含字符的图片。
4、文本矫正(这里不做说明)