2

二值化(二值化阈值)

深度实践OCR——基于深度学习的文字识别

第二章 图像预处理

1、在文字检测和文字识别中,图像质量的好坏直接关系到检测率与识别率的高低,因此对图像进行预处理是不容忽视的重要环节。图像预处理常用算法:二值化、去噪和倾斜角检测校正。

2、图像二值化是指将像素点的灰度值设置为0或255,使图像呈现明显的黑白效果。二值化一方面减少了数据维度,另一方面通过排除原图中噪声带来的干扰,可以凸显有效区域的轮廓结构。OCR效果很大程度取决于该步骤,高质量的二值图像可以显著提升识别的准确率。

3、二值化的方法主要分为全局阈值方法、局部阈值方法、基于深度学习的方法等。

4、全局阈值方法:

1)固定阈值方法:该方法对于输入图像中的所有像素点统一使用同一个固定阈值。其基本思想是:g(x,y)=255,若f(x,y)>=T,否则g(x,y)=0。 T为全局阀值。

该方法的主要缺陷:很难为不同的输入图像确定最佳阀值T。

5、根据输入图片计算最佳阈值的算法:

1)Otsu算法(最大类间方差法):是一种自适应的阀值确定方法,其基本思想:

将输入图像视为L个灰度级,ni表示灰度级i的像素个数,那么可知像素总数N=n1+n2+…nL。使用归一化的灰度直方图,并将其视为输入图像的概率分布:pi=ni/N,∑pi=1 (i=1-L)。现假设在第k个灰度级设置阀值,将图像二分为C0和C1(背景和目标物体),C0表示灰度级为[1,…,k]的像素点,C1表示灰度级为[k+1,…,L]的像素点,则两类出现的概率以及类内灰度级的均值分别为:

w0=Pr(C0)=∑pi=w(k),(i=1,…,k)

µ0=∑i*Pr(i|C0)= ∑i*pi/w0=µ(k)/w(k) ,(i=1,…,k)

其中,w(k), µ(k)分别为态度级从1到k的累积出现概率和平均灰度级。

这两类的类内方差为:

δ^2=∑(i-µ0)^2* Pr(i|C0)= ∑(i-µ0)^2*pi/w0

6、局部阀值方法:

1)自适应阀值算法:该算法用到积分图的概念,它是一个快速且有效地对网络的矩形子区域计算和的算法。积分图中任意一点(x,y)的值是从图左上角到该点形成的矩形区域内所有值之和。

2)自适应阀值算法的主要思想是以一个像素点为中心设置大小为sxs的滑窗,滑窗扫过整张图像,每次扫描均对窗口内的像素求均值并将均值作为局部阀值。若窗口中的某一像素值低于局部阀值t/100,赋值为0;高于局部阀值t/100,赋值为255。

3)Niblack算法:同样是根据窗口内的像素值计算局部阀值的,不同之处在于它不仅考虑到区域内像素点均值和方差,还考虑到用一个事先设定的修正系数k来决定影响程度。

T(x,y)=m(x,y)+k*s(x,y),T(x,y)为阀值,m(x,y)、s(x,y)分别代表均值与方差。与m(x,y)相近的像素点被判定为背景,反之则判定为前景,相近程度由标准差和修正系数来决定。

4)Sauvola算法是针对文档二值化处理,在Niblack算法基础上的改进。

T=m*[1+k*(s/R-1)],R是标准方差的动态范围,若输入图像是8位灰度图像,R=128。Sauvola算法在处理光线不均匀或染色图像时,比Niblack算法拥有更好的表现,因为上述公式以自适应的方式放大了标准差s的作用。

8、基于深度学习的方法:随着深度学习技术的快速发展,越来越多的工作人员尝试构建神经网络对图像进行二值化,并达到了state-of-the-art的水平。

9、文档图像二值化的两个公开数据集:

1)DIBCO(Document Image Binarization Contest):包括灰度图、彩图、机器打印、手写文档、真实图像和模拟数据。

2)PLM(Palm Leaf Manuscripts):是ICFHR2016手写文字图像分析baseline数据集。

断断续续学了5天的图片识别,算是入门了,测试了灰度化、二值化、轮廓特征、边缘检测、腐蚀、膨胀等基础算法,后面还有傅立叶变换、霍夫曼变换、哈里斯角检测等等多种高级算法等待实验。

说实话太枯燥了,想办法搞点有兴趣的事吧,前阵子视频换脸比较火,但是由于涉及侵犯肖像权,类似的应用和网站全部下线。视频换脸的原理就是基于图片识别,先把视频切割为多张图片,逐张图片识别换脸后再组装成视频。

兴趣是支撑学习的第一动力,于是下载了目前最流行的换脸开源代码,一顿操作搭建运行环境,期间的坑这个多啊,如果不是想看喜欢的美女换脸视频这个强大信念支撑,估计早就放弃了。不过最后这个愿望也没实现,原因是换脸要想达到理想效果,需要原脸和要换的脸的图片各至少50张,越多越好,还需要带GPU的电脑训练10小时以上,越长越好,我的苹果电脑只能用CPU训练,耗时更长,我只训练了10分钟就迫不及待了,结果可想而知,简直惨不忍睹。不过终于知道是怎么搞了,以后有空闲时间再训练吧,用我的小苹果CPU满载训练我也有点心疼,主要怕它累坏了。附图是从网上找的,人家用GPU训练6小时才这个效果,我训练的和鬼差不多就不发了。

#AMiner今日论文推荐# IJCAI 2022 | 推理速度22.3倍提升,北航、字节跳动提出二值化关键字识别模型

论文:BiFSMN: Binary Neural Network for Keyword Spotting

PDF下载链接:BiFSMN: Binary Neural Network for Keyword Spotting - AMiner

论文解读链接:AMiner - AMiner

本文主要取得了以下成果:

提出了一种用于 KWS 的准确且极其高效的二元神经网络 BiFSMN。

构建了 HED,方案来强调高频信息,以优化二值化网络的训练。

提出了 TBA,以在运行时实现即时和自适应的精度 - 效率权衡。

BiFSMN 通过令人信服的精度改进优于现有的二值化方法,甚至可以与全精度对应物相媲美。此外,该研究在 ARMv8 实际设备上的 BiFSMN 实现了 22.3 倍加速和 15.5 倍存储节省。

#IJCAI 2022# #推理速度# #BiFSMN#

AMiner官网:网页链接

用PHP识别某网站的验证码成功!这家网站的验证码非常简单,只用了简单的底色混淆,数字颜色虽然会随机变化,但都是深色,只要把图片二值化,RGB颜色中的R>140就是背景色,小于140的就是数字了,经过简单的区分拿到每个数字的二值化值,就轻松识别了。这家网站的外链非常多,你能猜到是哪家网站么?

关注我,分享互联网创业信息以及网站建设相关资源

本文来自网络,不代表本站立场。转载请注明出处: https://tj.jiuquan.cc/a-2381430/
1
上一篇事件查看器(事件查看器命令)
下一篇 二手显卡(二手显卡回收网站)

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: alzn66@foxmail.com

关注微信

微信扫一扫关注我们

返回顶部