如何利用深度学习识别图片中的电话号码?

大数据
总结下最近做的一个项目,只提供一些技术方案,不涉及具体业务和具体实现。自动识别图片中电话号码,也可以推广到识别字符串,英文等。

[[181184]]

总结下最近做的一个项目,只提供一些技术方案,不涉及具体业务和具体实现。

背景

自动识别图片中电话号码,也可以推广到识别字符串,英文等。

 

 

 

 

---识别--->

“18811610168”

当然,背景会有干扰(自然环境),字体也更多变。

要求:全对识别,人工修正的成本过高,如果有一位识别错误,人工修正还不如重新输入方便(人工输入可以支持语音识别的)。

保证85%以上的数据是可以全对识别的,***返回全对识别的概率。当然对于电话号码业务,根据识别的文本结果再加上电话的一些规则,后判断程序也可以有效地判断哪些是高概率识别错误的。

方案

目标检测、ocr识别已经是被学术界玩透的技术了。神经网路是目前的大热,而且效果***。识别方案有以下三种:

方案一:作为传统ocr来解

检测图片中的数字位置,然后对数字region过分类器识别。传统方法:Sliding Windows、Selective Search等寻找候选区域;Boosting分类器、SVM等都可以用于识别。深度学习的方案效果更好,比如:Faster RCNN、YOLO等。

它们的实质都是:检测字符的位置,识别字符的类别(内容)。

检测:

 

 

 

 

识别:

 

--->数字“1”

 

 

----->数字“8” … …

 

 

识别结果主要受检测准确度和识别精度的影响。在检测完全正确的情况下,自左向右识别各个字符,然后串联识别结果。

如果检测完全正确,识别分类器的loss=0.01,每个字符的正确识别的概率p=0.99。11位电话全对的概率约为0.895,loss值=-ln(0.895)=0.111。

但是,检测可能出错。另外,图片中的电话可能是倾斜的,后期串联结果也会比较繁琐,比如。

方案二:循环神经网络RNN

方案一没有考虑电话号码的序列特性,如果将图片分割为时序信号,送入RNN/LSTM/BLSTM等网络,识别性能会大幅提升。

 

 

问题是图片的分割不准确怎么办?

其实这里的分割并不是严格的,解决方案是,将图片按行分割成n个,比如电话号码分割成21个小图片,然后20个图片送入RNN网络得到20个序列化的输出。

由于一个字符可能在相邻两个小图上出现(各一半),最终的识别结果很可能是“1_88_8_1_1_66_10_16_8”。***再经过一个CTC网络融合得到“18811610168”。

方案三:循环卷积网路RCN

方案二是把图片原图分割后送入RNN网络,RNN做特征提取和分类识别。级联RNN的训练是不容易收敛的,而且特征的提取工作是CNN的强项。

重新设计网络,可以使用cnn提取图片的特征,然后将feature Map分割成n个,送入RNN做识别,最终通过CTC得到识别结果。

 

 

这样的好处是,输入数据不用做预处理,切割可以通过网络中矩阵的转置实现;网络实现了End-to-End;输出是完整字符串,识别准确率高,loss值约为0.02,全对正确率约为0.98。

责任编辑:庞桂玉 来源: 36大数据
相关推荐

2021-12-29 08:40:41

LeetCode字符串算法

2009-06-26 10:15:27

Google语音服务

2015-07-23 10:43:47

云端数据存储PostgreSQL在SparkTG

2023-08-17 14:22:17

深度学习机器学习

2021-12-06 11:51:43

静态库动态库C语言

2020-03-11 08:52:17

Session开源通信应用

2013-04-10 18:12:57

2021-09-17 05:42:13

微信一证通查腾讯

2017-08-11 06:40:07

深度学习机器学习照片

2021-07-12 11:15:20

黑客数据泄露网络攻击

2017-09-20 18:20:24

深度学习图像处理心脏病

2009-08-08 22:10:29

IP地址的分配局域网设置

2015-08-19 09:21:19

国际电话区号代码实践

2023-12-27 07:56:29

内存哈希算法排序算法

2021-09-06 11:51:26

项目C语言开发

2019-10-12 17:42:33

2021-01-21 22:18:59

机器学习加密货币数据

2015-05-08 09:57:59

绑定端口端口复用网络编程

2017-03-16 14:34:25

人工智能神经网络

2019-12-31 15:20:43

Python人脸识别人工智能
点赞
收藏

51CTO技术栈公众号