文件扫描方法、装置及设备与流程

文档序号:14992057发布日期:2018-07-20 22:26阅读:92来源:国知局

本发明涉及计算机技术领域,特别涉及一种文件扫描方法、装置及设备。



背景技术:

随着终端中摄像像素的提高,很多用户使用终端来扫描文件,以便将书面文件转换成电子文件进行保存。

相关技术中,终端获取待扫描的图像,利用canny算法对该图像中所有物体的边缘进行检测,由于canny算法是根据相邻像素的颜色差异这一角度进行检测的,所以,利用canny算法进行检测可以得到图像中所有物体的各种形状的边缘区域,又由于文件通常是四边形形状的,所以,可以再在各种形状的边缘区域中查找四边形形状的边缘区域,对四边形形状的边缘区域进行截图得到扫描结果。

图像中所有物体的边缘区域都会被一起检测出来,这就对寻找四边形形状的边缘区域带来干扰,使得寻找四边形形状的边缘区域的算法的实现较为复杂,识别的准确率不高。



技术实现要素:

本发明实施例提供了一种文件扫描方法、装置及设备,用于解决利用canny算法进行边缘检测时,寻找四边形形状的边缘区域的算法的实现较为复杂,识别的准确率不高的问题。所述技术方案如下:

一方面,提供了一种文件扫描方法,所述方法包括:

获取包含文件的待扫描的图像;

利用神经网络算法对所述图像中预设形状的各个物体的边缘进行检测,得到预设形状的各个边缘区域,所述预设形状与预设的文件形状相同;

在各个边缘区域中查找所述文件的边缘区域;

对所述文件的边缘区域进行截图,得到扫描结果。

一方面,提供了一种文件扫描装置,所述装置包括:

获取模块,用于获取包含文件的待扫描的图像;

检测模块,用于利用神经网络算法对所述获取模块得到的所述图像中预设形状的各个物体的边缘进行检测,得到预设形状的各个边缘区域,所述预设形状与预设的文件形状相同;

查找模块,用于在所述检测模块得到的各个边缘区域中查找所述文件的边缘区域;

截图模块,用于对所述查找模块得到的所述文件的边缘区域进行截图,得到扫描结果。

在一种可能的实现方案中,所述获取模块,还用于在所述检测模块利用神经网络算法对所述图像中预设形状的各个物体的边缘进行检测,得到预设形状的各个边缘区域之前,获取前景图集合和背景图集合,所述前景图集合中的每张前景图的形状是所述预设形状;所述装置还包括:合成模块,用于将所述获取模块得到的所述前景图集合中的每张前景图和所述背景图集合中的至少一张背景图进行合成,得到训练样本图;训练模块,用于利用所述合成模块得到的所述训练样本图对所述神经网络算法进行训练。

在一种可能的实现方案中,所述训练模块,具体用于:从所述前景图集合中选择第i张前景图,i为正整数;第j次从所述背景图集合中选择至少一张背景图,j为正整数;对所述第i张前景图进行效果变换,对所述第j次选出的至少一张背景图进行随机剪裁,将效果变换后的每张前景图和随机剪裁后的所有背景图进行合成,得到所述训练样本图,将j更新为j+1,继续执行所述第j次从所述背景图集合中选择至少一张背景图的步骤,直至所述背景图集合中的所有背景图均被合成后停止;将i更新为i+1,继续执行所述从所述前景图集合中选择第i张前景图的步骤,直至所述前景图集合中的所有前景图均被合成后停止。

在一种可能的实现方案中,所述训练模块,具体用于:从所述前景图集合中选择第i张前景图,i为正整数;第j次从所述背景图集合中选择至少一张背景图,j为正整数;对所述第i张前景图进行效果变换,将效果变换后的每张前景图和所述第j次选出的至少一张背景图进行合成,得到所述训练样本图,将j更新为j+1,继续执行所述第j次从所述背景图集合中选择至少一张背景图的步骤,直至所述背景图集合中的所有背景图均被合成后停止;将i更新为i+1,继续执行所述从所述前景图集合中选择第i张前景图的步骤,直至所述前景图集合中的所有前景图均被合成后停止。

在一种可能的实现方案中,所述训练模块,具体用于:从所述前景图集合中选择第i张前景图,i为正整数;第j次从所述背景图集合中选择至少一张背景图,j为正整数;对所述第j次选出的至少一张背景图进行随机剪裁,将所述第i张前景图和随机剪裁后的所有背景图进行合成,得到所述训练样本图,将j更新为j+1,继续执行所述第j次从所述背景图集合中选择至少一张背景图的步骤,直至所述背景图集合中的所有背景图均被合成后停止;将i更新为i+1,继续执行所述从所述前景图集合中选择第i张前景图的步骤,直至所述前景图集合中的所有前景图均被合成后停止。

在一种可能的实现方案中,当所述前景图集合包括第一子集合和第二子集合,所述背景图集合包括第三子集合和第四子集合时,所述训练模块,具体用于:将所述第一子集合中的每张前景图和所述第三子集合中的至少一张背景图进行合成,得到第一场景下的训练样本图,所述第一场景是文件扫描的准确率高于预设阈值的场景;将所述第二子集合中的每张前景图和所述第四子集合中的至少一张背景图进行合成,得到第二场景下的训练样本图,所述第二场景是文件扫描的准确率低于预设阈值的场景,所述第二子集合中的前景图和所述第四子集合中的背景图是根据各个第二场景的关键特征筛选的。

在一种可能的实现方案中,所述检测模块,具体用于:利用所述神经网络算法对所述图像进行n次运算,其中,前n-1次运算包括多次卷积+激活和一次池化,第n次运算包括多次卷积+激活,且第一次运算的输入是所述图像,下一次运算的输入是上一次运算的输出;提取每次运算过程中最后一次卷积+激活得到的一组矩阵;对n组矩阵分别进行转置卷积,其中,转置卷积后的所述n组矩阵所对应的图像的尺寸相同;将转置卷积后的所述n组矩阵连接后进行卷积,得到预设形状的各个边缘区域。

在一种可能的实现方案中,所述查找模块,具体用于:比较各个边缘区域的周长,将周长最大的边缘区域作为所述文件的边缘区域;或者,比较各个边缘区域的面积,将面积最大的边缘区域作为所述文件的边缘区域。

一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的文件扫描方法。

一方面,提供了一种文件扫描设备,所述文件扫描设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如第一方面所述的文件扫描方法。

本发明实施例提供的技术方案的有益效果是:

通过神经网络算法对图像中预设形状的各个物体的边缘进行检测,可以得到与预设的文件形状相同的各个边缘区域,这样,只要在预设形状的边缘区域中查找文件的边缘区域,避免了利用canny算法进行边缘检测时,需要在所有物体的边缘区域中查找文件的边缘区域的问题,既可以通过缩小文件的边缘区域的查找范围来简化查找文件的边缘区域的算法实现,也可以通过缩小文件的边缘区域的查找范围来提高识别的准确率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明和相关技术中文件扫描的结果示意图;

图2是本发明一个实施例提供的文件扫描方法的方法流程图;

图3是本发明另一实施例提供的文件扫描方法的方法流程图;

图4是本发明一个实施例提供的合成场景的示意图;

图5是本发明一个实施例提供的训练样本图的合成示意图;

图6是本发明一个实施例提供的文件扫描的应用场景示意图;

图7是本发明一个实施例提供的神经网络算法的结构示意图;

图8是本发明一个实施例提供的运算结果融合的示意图;

图9是本发明一个实施例提供的文件的边缘区域的示意图;

图10是本发明一个实施例提供的文件扫描装置的结构框图;

图11是本发明再一实施例提供的终端的结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本实施例提供的方法可以应用于服务器中,也可以应用于终端中。当该方法应用于终端中时,由于终端的内存和运行速度有限,需要对神经网络算法进行优化。在一种实现方式中,由于神经网络算法是由框架搭建的,可以对框架中神经网络算法没有使用的模块进行删除,只保留神经网络算法使用到的模块,从而减少框架对终端内存的占用。另外,由于本实施例中的神经网络算法的目的是检测边缘区域,复杂度不高,所以,可以减少神经网络算法中每个卷积层里的卷积核的数量,这样既可以减少神经网络算法的大小,也可以减少神经网络算法对终端内存的占用,还可以提高终端的运行速度。

当然,该方法应用于服务器中时也可以做上述优化,本实施例不作限定。

请参考图1,左侧视图是待扫描的图像。在利用canny算法进行边缘检测时,图像中所有物体的边缘区域都被检测出来,参见图1中的中间视图。由于中间视图中的线条较为杂乱,形成多种形状的边缘区域,若要从全部的边缘区域中查找出文件的边缘区域,算法较为复杂,且识别的准确率不高。为了解决上述问题,可以通过本实施例的方法来进行边缘检测,参见图1中的右侧视图所示。可见,图像中只有一种形状的少量的边缘区域,以简化算法和提高识别的准确率。

请参考图2,其示出了本发明一个实施例提供的文件扫描方法的方法流程图。该文件扫描方法,包括:

步骤201,获取包含文件的待扫描的图像。

待扫描的图像可以是预先拍摄好存储在终端中的图像,也可以是从网络或其他终端接收到的图像,还可以是终端实时拍摄的图像,本实施例不对图像的来源作限定。其中,该图像中包含有文件。

当图像是终端实时拍摄的图像时,用户可以先启动摄像头,通过摄像头预览画面,生成实时的预览视频流。由于用户在拍摄过程中可能会产生抖动,而抖动会导致图像中文件的位置发生变化,所以,终端可以对预览视频流中的每帧图像进行检测,判断每帧图像的稳定性,当确定某一帧图像稳定后,将下一帧图像作为待扫描的图像。

可选的,终端在拍摄预览视频流时的像素不高,为了提高图像的清晰度,以提高文件扫描的准确性,终端还可以在确定某一帧图像稳定后,在拍摄下一帧图像时提高拍摄像素。

步骤202,利用神经网络算法对图像中预设形状的各个物体的边缘进行检测,得到预设形状的各个边缘区域,预设形状与预设的文件形状相同。

本实施例的目的是先通过神经网络算法得到预设形状的各个边缘区域,再在预设形状的各个边缘区域中查找文件的边缘区域,所以,预设形状应该与文件形状相同。但是此时终端并不知道图像中的文件是什么形状,而由于文件的形状通常是相同的,所以,可以先将大多数文件的共同形状设置为文件形状,再将预设形状设置为预设的文件形状。

预设形状与文件的形状相同。比如,文件是四边形,则预设形状也是四边形;文件形状是圆形,则预设形状也是圆形等等。本实施例不对文件的形状作限定。

图像可能包括很多物体,某些物体的形状是预设形状,某些物体的形状不是预设形状,由于文件的形状是预设形状,所以,只要找出图像中预设形状的物体的边缘区域即可。这样,通过神经网络算法对图像中非预设形状的物体的边缘区域进行过滤,使得神经网络算法输出的是一种形状的少量的边缘区域,既可以简化在各个边缘区域中查找文件的边缘区域的算法,也可以提高识别的准确率。

步骤203,在各个边缘区域中查找文件的边缘区域。

在各个边缘区域中查找文件的边缘区域的解释详见下文步骤309中的内容。

步骤204,对文件的边缘区域进行截图,得到扫描结果。

由于拍摄角度的问题,文件在图像中可能会发生形变,比如,矩形形状的文件可能会呈现出梯形形状或平行四边形形状,所以,在对文件的边缘区域进行截图之前,终端还需要对文件的边缘区域进行透视变化,以便将文件的边缘区域修改为文件的实际形状,再对文件的边缘区域进行截图,得到扫描结果。

综上所述,本发明实施例提供的文件扫描方法,通过神经网络算法对图像中预设形状的各个物体的边缘进行检测,可以得到与预设的文件形状相同的各个边缘区域,这样,只要在预设形状的边缘区域中查找文件的边缘区域,避免了利用canny算法进行边缘检测时,需要在所有物体的边缘区域中查找文件的边缘区域的问题,既可以通过缩小文件的边缘区域的查找范围来简化查找文件的边缘区域的算法实现,也可以通过缩小文件的边缘区域的查找范围来提高识别的准确率。

请参考图3,其示出了本发明另一实施例提供的文件扫描方法的方法流程图。该文件扫描方法,包括:

步骤301,获取前景图集合和背景图集合,前景图集合中的每张前景图的形状是预设形状。

前景图集合中包括多张前景图,且每张前景图的边缘区域是已知的由于在训练过程中是利用已知的前景图的边缘区域来模拟文件的边缘区域的,所以,前景图的形状与文件形状相同,也是预设形状。比如,文件的形状是四边形,则每张前景图的形状也是四边形。

背景图集合中包括多张背景图。

本实施例中,终端可以预先收集多张前景图和多张背景图,并根据前景图生成前景图集合,根据背景图生成背景图集合。

在一种生成方式中,终端可以将所有的前景图组成前景图集合,将所有的背景图组成背景图集合。

由于文件扫描的应用场景有很多,有些场景比较简单,文件扫描的准确率高于预设阈值,本实施例中将这种场景称为第一场景;有些场景较为复杂,文件扫描的准确率低于预设阈值,本实施例中将这种场景称为第二场景。

请参考图4,第一排左侧的视图为第一场景的视图;第一排右侧视图为文档靠近桌子边缘的第二场景,图中以两种不同方向的阴影表示桌子和地面;第二排左侧视图为多层纸张层叠的第二场景;第二排右侧视图为杂乱背景环境的第二场景。

为了提高第二场景下文件扫描的准确率,可以收集在测试和体验过程中遇到的准确率低于预设阈值的场景,分析这些场景的关键特征,并根据这些关键特征选择前景图和背景图,使得合成后的训练样本图可以表示第二场景。

因此,在第二种生成方式中,终端将部分前景图组成第一子集合,将剩余前景图组成第二子集合,将第一子集合和第二子集合组成前景图集合;将部分背景图组成第三子集合,将剩余背景图组成第四子集合,将第三子集合和第四子集合组成背景图集合。其中,第一子集合和第三子集合用于合成第一场景,第二子集合和第四子集合用于合成第二场景,第一场景也可以称为普通场景,第二场景也可以称为复杂场景。

本实施例仅以前景图集合包括第一子集合和第二子集合,背景图集合包括第三子集合和第四子集合为例进行说明,在实际实现时,还可以将第一子集合和第二子集合分别实现为两个相互独立的集合,将第三子集合和第四子集合分别实现为两个相互独立的集合,本实施例不作限定。

步骤302,将前景图集合中的每张前景图和背景图集合中的至少一张背景图进行合成,得到训练样本图。

训练样本图用于训练神经网络算法,使得训练后的神经网络算法能够识别出图像中文件的边缘区域。

在训练之前,终端需要获取大量的训练样本图,且每张训练样本图中文件的边缘区域都需要是已知的。若训练样本图是真实的图像,则需要对每张训练样本图中文件的边缘区域进行人工标注,工作量太大。本实施例中,可以利用前景图和背景图合成得到训练样本图,由于前景图的边缘区域是已知的,所以,可以避免人工标注时工作量大的问题。

在合成时,可以将一张前景图和一张背景图进行合成,也可以将一张前景图和多张背景图进行合成,本实施例不作限定。请参考图5,其以一张前景图和一张背景图进行合成为例进行说明,第一排左侧的图像是背景图,第一排中间的图像是前景图,第一排右侧的图像是合成之后的训练样本图,第二排的图像是神经网络算法进行边缘检测得到的边缘区域。

下面对合成过程进行介绍,当前景图集合由第一种生成方式生成时,首先,从前景图集合中选择第i张前景图,i为正整数;其次,第j次从背景图集合中选择至少一张背景图,j为正整数;然后,对第i张前景图和第j次选择的至少一张背景图进行合成;最后,将i更新为i+1,继续执行从前景图集合中选择第i张前景图的步骤,直至前景图集合中的所有前景图均被合成后停止。这样,前景图集合中的每张前景图都可以和背景图集合中的所有背景图进行合成,可以合成尽可能多的训练样本图,从而提高训练得到的神经网络算法的准确性。

其中,合成方式可以有很多种,本实施例对其中三种合成方式进行介绍。

在第一种合成方式中,对第i张前景图进行效果变换,将效果变换后的每张前景图和第j次选出的至少一张背景图进行合成,得到训练样本图,将j更新为j+1,继续执行第j次从背景图集合中选择至少一张背景图的步骤,直至背景图集合中的所有背景图均被合成后停止。

效果变换包括但不限于:旋转变换、平移变换和透视变换。其中,旋转变换用于改变前景图的角度。平移变换用于改变前景图的位置。透视变换用于改变前景图的形状。

由于每一种效果变换都可以生成一张前景图,所以,可以通过将一张前景图变为多张前景图来进一步合成尽可能多的训练样本图,从而提高神经网络算法的准确性。

在第二种合成方式中,对第j次选出的至少一张背景图进行随机剪裁,将第i张前景图和随机剪裁后的所有背景图进行合成,得到训练样本图,将j更新为j+1,继续执行第j次从背景图集合中选择至少一张背景图的步骤,直至背景图集合中的所有背景图均被合成后停止。

随机剪裁是指对背景图中的内容进行随机的剪裁。比如,背景图大小为1024*768,随机剪裁的图像的大小为500*500,则可以在该背景图中随机的剪裁出多个大小为500*500的图像。

当第j次选出至少两张背景图时,可以多次对所有背景图进行随机剪裁,再将前景图和每次对所有背景图随机裁剪出的图像进行合成。

由于每一次随机剪裁都可以生成一张背景图,所以,可以通过将一张背景图变为多张背景图来进一步合成尽可能多的训练样本图,从而提高神经网络算法的准确性。

在第三种合成方式中,对第i张前景图进行效果变换,对第j次选出的至少一张背景图进行随机剪裁,将效果变换后的每张前景图和随机剪裁后的所有背景图进行合成,得到训练样本图,将j更新为j+1,继续执行第j次从背景图集合中选择至少一张背景图的步骤,直至背景图集合中的所有背景图均被合成后停止。

效果变换的描述详见第一种合成方式中的介绍,随机剪裁的描述详见第二种合成方式中的介绍。

由于每一种效果变换都可以生成一张前景图,且每一次随机剪裁都可以生成一张背景图,所以,可以通过将一张前景图变为多张前景图、将一张背景图变为多张背景图来进一步合成尽可能多的训练样本图,从而提高神经网络算法的准确性。

当前景图集合由第二种生成方式生成时,需要分别利用第一子集合和第三子集合成第一场景的训练样本图,利用第二子集合和第四子集合合成第二场景的训练样本图。此时,将前景图集合中的每张前景图和背景图集合中的至少一张背景图进行合成,得到训练样本图,包括以下两个子步骤:

1)将第一子集合中的每张前景图和第三子集合中的至少一张背景图进行合成,得到第一场景下的训练样本图,第一场景是文件扫描的准确率高于预设阈值的场景。

2)将第二子集合中的每张前景图和第四子集合中的至少一张背景图进行合成,得到第二场景下的训练样本图,第二场景是文件扫描的准确率低于预设阈值的场景,第二子集合中的前景图和第四子集合中的背景图是根据各个第二场景的关键特征筛选的。

合成第一场景和第二场景的训练样本图的过程详见上述描述。其中,当合成第一场景的训练样本图时,终端从第一子集合中选择前景图,从第三子集合中选择背景图,前景图和背景图的合成方式与上述公开的合成方式相同,此处不作赘述。当合成第二场景的训练样本图时,终端从第二子集合中选择前景图,从第四子集合中选择背景图,前景图和背景图的合成方式与上述公开的合成方式相同,此处不作赘述。

步骤303,利用训练样本图对神经网络算法进行训练。

其中,步骤301-303是训练神经网络算法的过程,这个过程只要在步骤305之前执行即可,本实施例不限定步骤301-303和步骤304之间的先后执行关系。或者,终端也可以获取已经训练好的神经网络算法,此时,终端不需要执行步骤301-303,直接执行步骤304。

步骤304,获取包含文件的待扫描的图像。

其中,获取过程详见步骤201中的描述,此处不作赘述。

本实施例中,可以将文件扫描的功能集成在工具类程序上。请参考图6,其以将文件扫描的功能集成在邮箱程序为例进行说明。在当用户点击页面右上角的“+”时,在“+”的周围弹出显示框,该显示框中显示有“扫描文件”的操作控件,当用户触发该操作控件时,终端启动摄像头拍摄预览视频流。

步骤305,利用神经网络算法对图像进行n次运算。

n的数值等于选取的神经网络算法的运算次数。比如,当神经网络算法是vgg网络时,vgg网络的运算次数为5,所以n为5。

其中,前n-1次运算包括多次卷积+激活和一次池化,第n次运算包括多次卷积+激活。请参考图7,图中以vgg网络为例进行说明,则n为5。若黑框代表卷积+激活,白框代表池化,则第一次运算包括两次卷积+激活和一次池化,由图中第1-3个方框表示;第二次运算包括两次卷积+激活和一次池化,由图中第4-6个方框表示;第三次运算包括三次卷积+激活和一次池化,由图中第7-10个方框表示;第四次运算包括三次卷积+激活和一次池化,由图中第11-14个方框表示;第五次运算包括三次卷积+激活,由图中第15-17个方框表示。比如,图中标出的vgg3代表第三次运算。

虽然vgg网络还包括第五次运算的池化、三个全连接和一个softmax,然而本实施例并没有用到这些,所以,本实施例中的神经网络算法删除了第18个方框所代表的第n次运算的池化、第19-21个方框代表的全连接和第22个方框代表的softmax,即,删除图中圈出并打叉的部分。

其中,第一次运算的输入是待扫描的图像,下一次运算的输入是上一次运算的输出。

步骤306,提取每次运算过程中最后一次卷积+激活得到的一组矩阵。

请参考图8,每次运算过程中最后一次卷积+激活得到的一组矩阵为图中用箭头指示的黑框。

步骤307,对n组矩阵分别进行转置卷积。

由于池化后的矩阵所对应的图像的尺寸是池化前的矩阵所对应的图像的尺寸的一半,所以,终端还需要对n组矩阵分别进行转置卷积,这样,从效果上看,相当于把第二组矩阵所对应的图像的尺寸放大2被,把第三组矩阵所对应的图像的尺寸放大4倍,把第四组矩阵所对应的图像的尺寸放大8倍,把第五组矩阵所对应的图像的尺寸放大16倍,使得转置卷积后的n组矩阵所对应的图像的尺寸相同。

步骤308,将转置卷积后的n组矩阵连接后进行卷积,得到预设形状的各个边缘区域。

预设形状与文件的形状相同。比如,文件是四边形,则预设形状也是四边形;文件形状是圆形,则预设形状也是圆形等等。本实施例不对文件的形状作限定。

图像可能包括很多物体,某些物体的形状是预设形状,某些物体的形状不是预设形状,由于文件的形状是预设形状,所以,只要找出图像中预设形状的物体的边缘区域即可。这样,通过神经网络算法对图像中非预设形状的物体的边缘区域进行过滤,使得神经网络算法输出的是一种形状的少量的边缘区域,既可以简化在各个边缘区域中查找文件的边缘区域的算法,也可以提高识别的准确率。

步骤309,在各个边缘区域中查找文件的边缘区域。

由于用户在对文件进行扫描时,通常会尽可能大地显示文件,这样,扫描得到的图像比较清楚,便于查看。所以,在查找文件的边缘区域时,可以查找各个边缘区域中最大的边缘区域作为文件的边缘区域。本实施例以其中的两种实现方式为例进行说明。

在第一种实现方式中,比较各个边缘区域的周长,将周长最大的边缘区域作为文件的边缘区域。

在第二种实现方式中,比较各个边缘区域的面积,将面积最大的边缘区域作为文件的边缘区域。

在查找到文件的边缘区域后,终端还可以对边缘进行突出显示。请参考图9,其中以加粗的黑线框表示文件的边缘区域。

步骤310,对文件的边缘区域进行截图,得到扫描结果。

由于拍摄角度的问题,文件在图像中可能会发生形变,比如,矩形形状的文件可能会呈现出梯形形状或平行四边形形状,所以,在对文件的边缘区域进行截图之前,终端还需要对文件的边缘区域进行透视变化,以便将文件的边缘区域修改为文件的实际形状,再对文件的边缘区域进行截图,得到扫描结果。

综上所述,本发明实施例提供的文件扫描方法,通过神经网络算法对图像中预设形状的各个物体的边缘进行检测,可以得到与预设的文件形状相同的各个边缘区域,这样,只要在预设形状的边缘区域中查找文件的边缘区域,避免了利用canny算法进行边缘检测时,需要在所有物体的边缘区域中查找文件的边缘区域的问题,既可以通过缩小文件的边缘区域的查找范围来简化查找文件的边缘区域的算法实现,也可以通过缩小文件的边缘区域的查找范围来提高识别的准确率。

通过利用前景图和背景图合成得到训练样本图,由于前景图的边缘区域是已知的,所以,可以避免人工标注时工作量大的问题。

通过对前景图进行效果变换,和/,或,对背景图进行随机剪裁,可以合成尽可能多的训练样本图,从而提高神经网络算法的准确性。

通过利用第二子集合中的前景图和第四子集合中的背景图合成第二场景的训练样本图,可以提高对第二场景中文件扫描的准确率。

请参考图10,其示出了本发明一个实施例提供的文件扫描装置的结构框图。该文件扫描装置,包括:

获取模块1010,用于实现上述步骤301、304及各个步骤中隐含的有关获取的功能。

检测模块1020,用于实现上述步骤305-308及各个步骤中隐含的有关边缘检测的功能。

查找模块1030,用于实现上述步骤309及各个步骤中隐含的有关查找的功能。

截图模块10100,用于实现上述步骤310及各个步骤中隐含的有关截图的功能。

可选的,该文件扫描装置还可以包括合成模块和训练模块。合成模块用于实现上述步骤302及各个步骤中隐含的有关合成的功能。训练模块用于实现上述步骤303及各个步骤中隐含的有关训练的功能。

综上所述,本发明实施例提供的文件扫描装置,通过神经网络算法对图像中预设形状的各个物体的边缘进行检测,可以得到与预设的文件形状相同的各个边缘区域,这样,只要在预设形状的边缘区域中查找文件的边缘区域,避免了利用canny算法进行边缘检测时,需要在所有物体的边缘区域中查找文件的边缘区域的问题,既可以通过缩小文件的边缘区域的查找范围来简化寻找文件的边缘区域的算法实现,也可以通过缩小文件的边缘区域的查找范围来提高识别的准确率。

通过利用前景图和背景图合成得到训练样本图,由于前景图的边缘区域是已知的,所以,可以避免人工标注时工作量大的问题。

通过对前景图进行效果变换,和/,或,对背景图进行随机剪裁,可以合成尽可能多的训练样本图,从而提高神经网络算法的准确性。

通过利用第二子集合中的前景图和第四子集合中的背景图合成第二场景的训练样本图,可以提高对第二场景中文件扫描的准确率。

图11示出了本发明一个示例性实施例提供的终端1100的结构框图。该终端1100可以是智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1100还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端1100包括有:处理器1101和存储器1102。

处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1101所执行以实现本申请中方法实施例提供的文件扫描方法。

在一些实施例中,终端1100还可选包括有:外围设备接口1103和至少一个外围设备。处理器1101、存储器1102和外围设备接口1103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1103相连。具体地,外围设备包括:射频电路1104、触摸显示屏1105、摄像头1106、音频电路1107、定位组件1108和电源1109中的至少一种。

外围设备接口1103可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和外围设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和外围设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路1104用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1104包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路1104还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏1105用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1105是触摸显示屏时,显示屏1105还具有采集在显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。此时,显示屏1105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1105可以为一个,设置终端1100的前面板;在另一些实施例中,显示屏1105可以为至少两个,分别设置在终端1100的不同表面或呈折叠设计;在再一些实施例中,显示屏1105可以是柔性显示屏,设置在终端1100的弯曲表面上或折叠面上。甚至,显示屏1105还可以设置成非矩形的不规则图形,也即异形屏。显示屏1105可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件1106用于采集图像或视频。可选地,摄像头组件1106包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路1107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1101或射频电路1104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1107还可以包括耳机插孔。

定位组件1108用于定位终端1100的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件1108可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。

电源1109用于为终端1100中的各个组件进行供电。电源1109可以是交流电、直流电、一次性电池或可充电电池。当电源1109包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端1100还包括有一个或多个传感器1110。该一个或多个传感器1110包括但不限于:加速度传感器1111、陀螺仪传感器1112、压力传感器1113、指纹传感器1114、光学传感器1115以及接近传感器1116。

加速度传感器1111可以检测以终端1100建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1111可以用于检测重力加速度在三个坐标轴上的分量。处理器1101可以根据加速度传感器1111采集的重力加速度信号,控制触摸显示屏1105以横向视图或纵向视图进行用户界面的显示。加速度传感器1111还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器1112可以检测终端1100的机体方向及转动角度,陀螺仪传感器1112可以与加速度传感器1111协同采集用户对终端1100的3d动作。处理器1101根据陀螺仪传感器1112采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器1113可以设置在终端1100的侧边框和/或触摸显示屏1105的下层。当压力传感器1113设置在终端1100的侧边框时,可以检测用户对终端1100的握持信号,由处理器1101根据压力传感器1113采集的握持信号进行左右手识别或快捷操作。当压力传感器1113设置在触摸显示屏1105的下层时,由处理器1101根据用户对触摸显示屏1105的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器1114用于采集用户的指纹,由处理器1101根据指纹传感器1114采集到的指纹识别用户的身份,或者,由指纹传感器1114根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1101授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1114可以被设置终端1100的正面、背面或侧面。当终端1100上设置有物理按键或厂商logo时,指纹传感器1114可以与物理按键或厂商logo集成在一起。

光学传感器1115用于采集环境光强度。在一个实施例中,处理器1101可以根据光学传感器1115采集的环境光强度,控制触摸显示屏1105的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1105的显示亮度;当环境光强度较低时,调低触摸显示屏1105的显示亮度。在另一个实施例中,处理器1101还可以根据光学传感器1115采集的环境光强度,动态调整摄像头组件1106的拍摄参数。

接近传感器1116,也称距离传感器,通常设置在终端1100的前面板。接近传感器1116用于采集用户与终端1100的正面之间的距离。在一个实施例中,当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变小时,由处理器1101控制触摸显示屏1105从亮屏状态切换为息屏状态;当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变大时,由处理器1101控制触摸显示屏1105从息屏状态切换为亮屏状态。

本发明一个实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的文件扫描方法。

本发明一个实施例提供了一种文件扫描设备,所述文件扫描设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的文件扫描方法。

需要说明的是:上述实施例提供的文件扫描装置在进行文件扫描时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将文件扫描装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的文件扫描装置与文件扫描方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1