我们如何教神经网络识别文档



今年夏天,我们教过神经网络确定图像上是否存在文档,如果存在,则确定是哪个文档。

为什么需要


为了减轻员工负担并保护人们免受骗子的侵害。 我们在两个领域中使用了新的神经网络:用户重新获得对页面的访问权时,以及在常规搜索中隐藏个人文档时。

恢复对页面的访问。 文件照片有助于将帐户返还给其真实所有者。 例如,用户可能无法访问其电话号码或页面上的两步身份验证已被激活,并且不再有任何机会接收一次性代码以确认输入。 新开发加快了对应用程序的考虑:主持人不再需要每次都返回错误填写的应用程序。 该系统根本不允许访问者在没有必要图像的情况下提交表单,并要求用文档替换随机图像。 当然,只有页面拥有所有者的真实照片时,我们仍然可以返回对页面本身的访问。 我们正在谈论帐户的安全性和个人数据的保存-这意味着根本不会有任何失误和事故。

在“ 文档 ”部分过滤搜索结果。 用户上载到本节或通过私人消息发送的所有文档在默认情况下都不会被撬开,不会进入搜索结果。 但是,您可以手动为每个文件手动配置隐私级别。 在神经网络出现之前,人们可以使用关键字找到相当数量的带有敏感数据的文档。 这些文件的所有者自己更改了隐私设置。 我们保护了用户的安全,并开始从公开搜索删除照片,我们可以在其中确定文档的存在。

我们如何解决问题


识别图像中文档的最简单方法似乎是建立一个神经网络或从头开始训练大型样本。 但不是那么简单。

样品应具有代表性。 很难为每种选择找到足够数量的真实样本:在公共领域中没有包含这些文档的公共数据库。

有许多系统可以识别和解析文档。 通常,它们的目的是从照片中获取特定信息,并建议原始图像的理想质量。 例如,在国家服务门户网站上工作时,可能要求用户将护照沿模板的边缘对齐。

这样的系统不适合我们的任务。 我们单独澄清说,当与我们联系以进行访问权限还原时,用户可以关闭文档中的所有数据,但照片,姓名,姓氏和印刷品除外。 同时,我们仍然需要确定文档-即使护照和序列号被隐藏,如果护照是与周围环境一同拍摄的,或者相反,只有一部分带有照片的文档出现在图像上。 仍然需要考虑不同的照明和角度。 神经网络必须接受所有此类材料。 问题是如何教她这一点。

还有其他困难。 例如,很难将护照与其他类型的文件以及各种手写和打印纸分开。

尝试以简单的方式并不是很成功。 最终的分类器很弱,第一种误差很小,第二种误差很大。 例如,在一些有趣的情况下,一个人用手写的名字和姓氏,画了一张照片,写了护照的封面,然后系统轻松地接受了该文件。

我们来做什么


在我们的情况下,解决该问题的最佳方法是使用网格和面部检测器的组合来识别文档并确定其类型。 我们还添加了差异分类器,该分类器包括用于突出显示特征的编码器和用于使您将文档图像与不相关文件区分开的表单分类器。 除此之外,还进行了训练集的初步聚类,目的是对数据集进行标准化。 在这些架构中, VGGResNet已经证明是最好的

神经网络图

基本的“文档/非文档”分类器基于具有19层的已调整VGG和分区样本的工作。 最重要的是,使用了分类器的组合集合,可以减少第二种错误并区分结果。 首先是分层采样 ,然后是编码器以提取近环信息,然后是经过修改的VGG,最后是单个网格。 这种方法可以将第一类错误最小化到大约0.002的水平。 在这种情况下,假阴性的可能性取决于所选的数据集和特定的应用程序。

现在,我们已经了解了如何自动检测图片中是否存在护照和驾驶执照。 即使在恶劣的照明条件下,也可以在任何角度,任何背景下成功地进行识别-主要是图像包含文档的一部分以及照片和名称。 但是,要识别其他类型的文档,则仅需要相关的数据集。 我们根据自己的数据对网络进行训练,文档的样本大小为5到1万(但不具有代表性)。 对于其他图像,该样本是任意的,但是存在先验聚类。

从技术角度来看,该系统是用python / keras / tensorflow / glib / opencv编写的。 对于新系统的实际应用,将其集成到机器学习基础结构的python处理程序中就足够了。 在同一阶段,添加了图形编辑器中的照片更改检测器,但该主题值得单独撰写。

结果如何


现在,6%的恢复访问权限的应用程序自动返回给作者,并要求添加或替换文档的照片,而2.5%的应用程序被拒绝。 如果您查看整个图像的分析结果,包括启发式分析和图片中的人脸搜索,则可以自动完成部门20%的工作

在启动神经网络之后,我们还能够计算上传到“文档”部分的护照数量。 事实证明,在一般的搜索结果中,每天大约有两千张身份证。 现在,它们落入无关人员的可能性很小。

神经网络已经在帮助我们打击垃圾邮件和各种欺诈行为。 我们不会停止实验,而是继续在我们的博客中谈论它们。

Source: https://habr.com/ru/post/zh-CN427057/


All Articles