图像倾斜矫正方法、装置及存储介质
文献发布时间:2023-06-19 12:25:57
技术领域
本申请涉及图像处理技术领域,特别是涉及一种图像倾斜矫正方法、装置及存储介质。
背景技术
移动互联网的发展极拉近了人与人,人与信息之间的距离。对于OCR识别来说,关键在于能准确的定位出要识别的文字区域。但是在用户通过移动端上传包含目标对象(例如:身份证、银行卡、行驶证、社保卡、票据、发票等)的图像时,由于摄像头拍摄的角度问题,往往使得包括目标对象的图形区域具有倾斜、透视的效果。这对文字定位,OCR识别精准度都会带来很大的影响。因此在进行OCR识别之前,需要对包含目标对象的图形区域进行倾斜矫正处理。
目前常用的倾斜矫正的方法是基于传统的图像处理方式的,首先对包含目标对象的图像进行灰度化、二值化得到一幅包含目标对象的图形区域为白色,背景区域为黑色的图像,其次进行边缘检测,得到包含目标对象的图形区域的四个边缘,之后进行边缘直线拟合进而得到包含目标对象的图形区域的四个顶点坐标,最后进行透视变换得到正向的目标对象区域。但是,这种倾斜矫正方法存在以下缺点:容易受图像背景的影响,而且在进行二值化时很难确定分割的阈值,尤其是当背景的像素值和包含目标对象的图形区域的像素值比较接近时,阈值并不好确定,往往不能有效的划分出背景区域和包含目标对象的图形区域,故拟合不到直线,无法进行透视变换,所以该方法鲁棒性不足。
针对上述的现有技术中存在的传统的图像倾斜矫正方法容易受图像背景的影响,不能有效的划分出背景区域和包含目标对象的图形区域,因此鲁棒性不足的技术问题,目前尚未提出有效的解决方案。
发明内容
本公开的实施例提供了一种图像倾斜矫正方法、装置及存储介质,以至少解决现有技术中存在的传统的图像倾斜矫正方法容易受图像背景的影响,不能有效的划分出背景区域和包含目标对象的图形区域,因此鲁棒性不足的技术问题。
根据本公开实施例的一个方面,提供了一种图像倾斜矫正方法,包括:获取包含目标对象的图形区域的待矫正图像,其中目标对象为矩形形状;利用深度学习的图像定位模型,对待矫正图像进行图像定位,生成用于从待矫正图像中分割图形区域的掩膜图像;根据掩膜图像,确定图形区域在待矫正图像中的第一位置信息;以及根据第一位置信息,对待矫正图像中的图形区域进行倾斜矫正处理。
根据本公开实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
根据本公开实施例的另一个方面,还提供了一种图像倾斜矫正装置,包括:获取模块,用于获取包含目标对象的图形区域的待矫正图像,其中目标对象为矩形形状;图像定位模块,用于利用深度学习的图像定位模型,对待矫正图像进行图像定位,生成用于从待矫正图像中分割图形区域的掩膜图像;第一位置信息确定模块,用于根据掩膜图像,确定图形区域在待矫正图像中的第一位置信息;以及倾斜矫正模块,用于根据第一位置信息,对待矫正图像中的图形区域进行倾斜矫正处理。
根据本公开实施例的另一个方面,还提供了一种图像倾斜矫正装置,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取包含目标对象的图形区域的待矫正图像,其中目标对象为矩形形状;利用深度学习的图像定位模型,对待矫正图像进行图像定位,生成用于从待矫正图像中分割图形区域的掩膜图像;根据掩膜图像,确定图形区域在待矫正图像中的第一位置信息;以及根据第一位置信息,对待矫正图像中的图形区域进行倾斜矫正处理。
在本公开实施例中,首先获取包含目标对象的图形区域的待矫正图像,然后利用深度学习的图像定位模型,对待矫正图像进行图像定位,生成用于从待矫正图像中分割图形区域的掩膜图像(Mask图像),其次根据掩膜图像,确定图形区域在待矫正图像中的第一位置信息,最后根据第一位置信息,对待矫正图像中的图形区域进行倾斜矫正处理。由于在本实施例中,不再通过转灰度、二值化阈值分割的方式确定含目标对象的图形区域在待矫正图像中的位置信息,而是利用深度学习的图像定位模型,生成用于从待矫正图像中分割图形区域的掩膜图像,然后根据掩膜图像,确定图形区域在待矫正图像中的位置信息。因此,与现有的图像倾斜矫正方法相比,达到了不容易受到背景的影响,能够有效的划分出背景区域和包含目标对象的图形区域,鲁棒性比较好,精确度高,能够有效地克服背景复杂情况的技术效果。进而解决了现有技术中存在的传统的图像倾斜矫正方法容易受图像背景的影响,不能有效的划分出背景区域和包含目标对象的图形区域,因此鲁棒性不足的技术问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是用于实现根据本公开实施例1所述的方法的计算设备的硬件结构框图;
图2是根据本公开实施例1的第一个方面所述的图像倾斜矫正方法的流程示意图;
图3是根据本公开实施例1的第一个方面所述的图像倾斜矫正方法的整体流程示意图;
图4是根据本公开实施例1的第一个方面所述的图像定位模型的网络结构示意图;
图5是根据本公开实施例1的第一个方面所述的bneck单元的结构示意图;
图6是根据本公开实施例2所述的图像倾斜矫正装置的示意图;以及
图7是根据本公开实施例3所述的图像倾斜矫正装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本公开实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
OCR:(Optical Character Recognition,光学字符识别),常用来识别图像中的字符。
BN:Batch Normalization的简称,常用于神经网络卷积层后,将越来越偏的分布强制拉回比较标准的分布,可以加速训练速度,提高模型的泛华能力。
relu:深度学习中常用的激活函数,具有加快训练速度,防止梯度消失的作用。
实施例1
根据本实施例,提供了一种图像倾斜矫正方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的计算设备中执行。图1示出了一种用于实现图像倾斜矫正方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器可用于存储应用软件的软件程序以及模块,如本公开实施例中的图像倾斜矫正方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的图像倾斜矫正方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算设备的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
在上述运行环境下,根据本实施例的第一个方面,提供了一种图像倾斜矫正方法。图2示出了该方法的流程示意图,参考图2所示,该方法包括:
S202:获取包含目标对象的图形区域的待矫正图像,其中目标对象为矩形形状;
S204:利用深度学习的图像定位模型,对待矫正图像进行图像定位,生成用于从待矫正图像中分割图形区域的掩膜图像;
S206:根据掩膜图像,确定图形区域在待矫正图像中的第一位置信息;以及
S208:根据第一位置信息,对待矫正图像中的图形区域进行倾斜矫正处理。
正如前面背景技术中所述的,目前常用的倾斜矫正的方法是基于传统的图像处理方式的,首先对包含目标对象的图像进行灰度化、二值化得到一幅包含目标对象的图形区域为白色,背景区域为黑色的图像,其次进行边缘检测,得到包含目标对象的图形区域的四个边缘,之后进行边缘直线拟合进而得到包含目标对象的图形区域的四个顶点坐标,最后进行透视变换得到正向的目标对象区域。但是,这种倾斜矫正方法存在以下缺点:容易受图像背景的影响,而且在进行二值化时很难确定分割的阈值,尤其是当背景的像素值和包含目标对象的图形区域的像素值比较接近时,阈值并不好确定,往往不能有效的划分出背景区域和包含目标对象的图形区域,故拟合不到直线,无法进行透视变换,所以该方法鲁棒性不足。
针对上述背景技术中存在的问题,结合图2所示,本实施例提供了一种可部署至移动端、矫正速度快、鲁棒性强的图像倾斜矫正方法。具体地,参考图2所示,在本实施例中,首先获取包含目标对象的图形区域的待矫正图像,其中所述目标对象为矩形形状。其中,目标对象例如但不限于为:身份证、银行卡、行驶证、社保卡、票据、发票等。实例性,参照图3所示,本实施例的目标对象为身份证,待矫正图像为一张身份证图像,图片中的身份证由于拍摄角度的问题导致图像中身份证区域存在一定的倾斜,因此需要对身份证图像中的身份证区域进行倾斜矫正。
进一步地,利用深度学习的图像定位模型,对待矫正图像进行图像定位,生成用于从待矫正图像中分割图形区域的掩膜图像。其中,深度学习的图像定位模型例如可以是深度学习的融合轻量级的网络Mobilenet思想、结构简单的定位网络,并且该网络是通过大量的图像训练得到的。参照图3所示,在将待矫正图像输入图像定位模型后,图像定位模型输出的掩膜图像中的身份证区域为白色(像素为非零),背景区域为黑色(像素为零)。即,图像定位模型输出的掩膜图像中的身份证区域(对应于上述的包含目标对象的图形区域)和背景区域划分明显。
进一步地,根据掩膜图像,确定图形区域在待矫正图像中的第一位置信息。具体为,由于掩膜图像中的图形区域和背景区域划分明显,因此可以很好的确定掩膜图像中的图形区域的位置信息。从而可以根据预先设置的待矫正图像与掩膜图像之间的映射关系,快速及准确的确定图形区域在待矫正图像中的第一位置信息。最后,根据第一位置信息,对待矫正图像中的图形区域进行倾斜矫正处理。
从而通过这种方式,本实施例首先获取包含目标对象的图形区域的待矫正图像,然后利用深度学习的图像定位模型,对待矫正图像进行图像定位,生成用于从待矫正图像中分割图形区域的掩膜图像,其次根据掩膜图像,确定图形区域在待矫正图像中的第一位置信息,最后根据第一位置信息,对待矫正图像中的图形区域进行倾斜矫正处理。由于在本实施例中,不再通过转灰度、二值化阈值分割的方式确定含目标对象的图形区域在待矫正图像中的位置信息,而是利用深度学习的图像定位模型,生成用于从待矫正图像中分割图形区域的掩膜图像,然后根据掩膜图像,确定图形区域在待矫正图像中的位置信息。因此,与现有的图像倾斜矫正方法相比,达到了不容易受到背景的影响,能够有效的划分出背景区域和包含目标对象的图形区域,鲁棒性比较好,精确度高,能够有效地克服背景复杂情况的技术效果。进而解决了现有技术中存在的传统的图像倾斜矫正方法容易受图像背景的影响,不能有效的划分出背景区域和包含目标对象的图形区域,因此鲁棒性不足的技术问题。
可选地,根据掩膜图像,确定图形区域在待矫正图像中的第一位置信息的操作,包括:确定掩膜图像中的非零像素区域的第二位置信息;以及根据第二位置信息,确定图形区域在待矫正图像中的第一位置信息。
具体地,在根据掩膜图像,确定图形区域在待矫正图像中的第一位置信息的过程中,首先确定掩膜图像中的非零像素区域的第二位置信息。参照图3所示,掩膜图像中的非零像素区域(即,白色区域)和零像素区域(即,黑色区域)划分明显。其中非零像素区域为包含目标对象的图形区域(对应于身份证区域),零像素区域为背景区域。由于掩膜图像中的非零像素区域(即,白色区域)和背景区域划分明显,因此可以快速的确定出非零像素区域在掩膜图像中的第二位置信息。然后根据第二位置信息,确定图形区域在待矫正图像中的第一位置信息。通过这种方式,可以快速、准确以及有效的确定图形区域在待矫正图像中的第一位置信息。
可选地,确定掩膜图像中的非零像素区域的第二位置信息的操作,包括:对掩膜图像进行边缘检测,得到非零像素区域的四条边缘上的点的集合;以及根据四条边缘上的点的集合,进行直线拟合,确定与非零像素区域的四个角点对应的四个角点坐标信息作为第二位置信息。
具体地,参照图3所示,在确定掩膜图像中的非零像素区域的第二位置信息的过程中,首先使用图像处理中常见的边缘检测技术,对掩膜图像进行边缘检测,得到非零像素区域的四条边缘上的点的集合。然后对四条边缘上的点进行直线拟合操作,得到四条直线。这四条直线即是非零像素区域的四条边,再求出两两直线的交点,得到与非零像素区域的四个角点对应的四个角点坐标信息,最后将得到的四个角点坐标信息作为第二位置信息。通过这种方式,能够准确的确定出掩膜图像中的非零像素区域的第二位置信息。
可选地,根据第一位置信息,对待矫正图像中的图形区域进行倾斜矫正处理的操作,包括:根据第一位置信息,对待矫正图像中的图形区域进行透视变换。
具体地,参照图3所示,根据第一位置信息,对待矫正图像中的图形区域(即,身份证图像)透视变换,得到一张正向的身份证图像。通过这种方式,有效的对矫正图像中的图形区域进行倾斜矫正,以便后续进行文本定位和OCR识别操作。
可选地,利用深度学习的图像定位模型,对待矫正图像进行图像定位,生成用于从待矫正图像中分割图形区域的掩膜图像的操作,包括:根据预设的缩放比例,生成与待矫正图像对应的输入图像,其中输入图像适于图像定位模型进行图像定位,并且输入图像的尺寸等同于掩膜图像的尺寸;以及利用图像定位模型,对输入图像进行图像定位,生成掩膜图像。
具体地,一般情况下,所获取到的待矫正图像的尺寸为1080*1244。但是,由于图像定位模型对于输入图像的大小往往都有要求(例如:要求输入图像的尺寸为256*256),因此在将图像输入图像定位模型之前,需要根据预设的缩放比例,对待矫正图像的大小进行缩放调整,从而生成适于图像定位模型进行图像定位的输入图像。然后,利用图像定位模型,对输入图像进行图像定位,生成掩膜图像。通过这种方式,保障了所生成的掩膜图像的精准度。
可选地,根据第二位置信息,确定图形区域在待矫正图像中的第一位置信息的操作,包括:根据第二位置信息以及预设的缩放比例,确定图形区域在待矫正图像中的第一位置信息。
具体地,参照上述的,为了生成适于图像定位模型进行图像定位的输入图像,本实施例在将待矫正图像输入图像定位模型之前,根据预设的缩放比例,对待矫正图像的大小进行缩放调整。因此,根据第二位置信息,确定图形区域在待矫正图像中的第一位置信息的过程中,需要根据第二位置信息以及预设的缩放比例,对第二位置信息进行坐标转换,即根据待矫正图像与掩膜图像之间的映射关系,确定图形区域在待矫正图像中的第一位置信息。通过这种方式,保障了所确定的第一位置信息的准确性。
可选地,还包括通过以下操作对图像定位模型进行训练:获取待矫正的包含矩形形状的图形区域的多个样本图像;构建图像定位模型,其中图像定位模型用于生成输出向量,输出向量用于指示样本图像中的图形区域的坐标信息;利用图像定位模型,生成与样本图像对应的输出向量;以及将输出向量与预先设置的与样本图像对应的标注向量进行比较,并且根据比较的结果调节图像定位模型,其中标注向量用于指示样本图像中的图形区域的实际坐标信息。
具体地,在数据预处理阶段(即,获取样本图像阶段),前期共收集并整理包含矩形形状的图形区域的样本图像(例如但不限于为用户身份证图像)3000张,对这些图像进行标注,主要是标注出身份证区域的四个角点的角点坐标。在本实施中,对于原始标注的3000张图片进行了数据增广操作(包括旋转、光照变化等),增广到3万张,其中5000张留作测试集。将原始图像和label图像合在一起作为训练集。
进一步地,构建图像定位模型。其中图像定位模型用于生成输出向量,输出向量用于指示样本图像中的图形区域的坐标信息。然后利用图像定位模型,生成与样本图像对应的输出向量。最后将输出向量与预先设置的与样本图像对应的标注向量进行比较,并且根据比较的结果调节图像定位模型。其中标注向量用于指示样本图像中的图形区域的实际坐标信息。从而,通过这种方式,不断的对该图像定位模型进行调节优化,以达到最佳的定位效果。
可选地,将输出向量与预先设置的与样本图像对应的标注向量进行比较的操作,包括计算输出向量与标注向量之间的L1空间距离,以及根据比较的结果调节图像定位模型的操作,包括:将L1空间距离作为损失函数,计算损失函数的梯度;以及基于梯度,根据随机梯度下降原理对图像定位模型进行调节。例如:采用PQ方法,基于查找表的非对称距离计算(Asymmetric Distance Computation,ADC)快速求取目标特征向量之间的距离,在压缩比相同的情况下,与采用汉明距离的二值编码方法,采用ADC的PQ方法的检索精度更高。然后,将L1空间距离作为损失函数,计算该损失函数的梯度并根据随机梯度下降原理(Stochastic Gradient Descent,即SGD)优化网络参数。
此外需要补充说明的是,本发明的模型结构简单并不复杂,模型大小最终只有350KB,且矫正速度为毫秒级别,因此可用于移动端。其中,图4示例性的示出了图像定位模型的网络结构示意图。参照图4所示,对待矫正图像进行缩放调整之后得到的256*256*3的输入图像,将该256*256*3的输入图像输入图像定位模型的过程中,首先经过一个3*3卷积核的深度可分离卷积变为128*128*64的图像,然后再经过3个bneck的单元得到16*16*512的特征图。这个过程可称为编码过程,参照图4所示,在编码过程中,为了防止在卷积过程中图像信息的丢失,可以基于残差网络模型中的直连操作(shortcut操作),对每一层网络层进行直连操作。
进一步地,对于编码后得到的16*16*512的特征图,经过4层3*3卷积核的反卷积进行解码,最终得到256*256*1的特征图,其中反卷积的方式也是深度可分离卷积。并且,在编码和解码的过程中,防止图像信息因卷积的增多而丢失,通过跳跃连接操作(skipconnections操作),将当前的特征图与前面网络层的特征图进行融合。
进一步地,图5示例性的示出了图4中的bneck单元的结构。参照图4以及图5所示,在每一个bneck单元中,图像先经过1*1的卷积和BN和激活函数relu,然后经过3*3的深度可分离卷积、BN和relu,最后再进行1*1的卷积和BN。
此外,本实施例所提出的图像倾斜矫正方法,在现有的传统图像处理的基础上增加了图像定位模型,且该图像定位模型使用深度学习的方式进行端到端的学习预测。此外,本实施例对图像定位模型进行了三处改进:1)借鉴unet网络编码解码的结构,设计一个具有4层编码,4层解码的网络结构;2)借鉴Mobilenet网络的结构,将编码过程中的卷积过程换为bneck单元,但去掉了其中的SE模块;3)将解码过程中的卷积全部替换为深度可分离卷积。这三处改进加快了训练速度,减小了图像定位模型的大小。
综上所述,本实施例所提出的图像倾斜矫正方法可以产生以下有益效果:
一、可部署至移动端:本实施例所利用的图像定位模型的网络结构简单,使用了很多1*1的卷积,减少了参数量,另外,将所有的普通卷积换为了深度可分离卷积,此替换会将网络参数减少1/9左右,所以最终模型大小只有350KB,以满足移动端部署的大小要求。
二、可帮助提高身份证OCR识别的准确率:对于OCR识别,若未进行倾斜矫正,由于拍摄角度的问题,定位出的文字区域常常是倾斜的,带有透视变换的结果,常常会影响OCR识别的准确率。
三、矫正速度快,鲁棒性强:基于深度学习的过程,由于本实施所利用的图像定位模型为一种端到端的网络模型,不容易受到背景的影响,鲁棒性比较好,精确度高,能够有效地克服背景复杂的情况。另外,本发明模型简单,矫正速度快,在毫秒级别。
此外,参考图1所示,根据本实施例的第二个方面,提供了一种存储介质。存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
从而根据本实施例,首先获取包含目标对象的图形区域的待矫正图像,然后利用深度学习的图像定位模型,对待矫正图像进行图像定位,生成用于从待矫正图像中分割图形区域的掩膜图像(Mask图像),其次根据掩膜图像,确定图形区域在待矫正图像中的第一位置信息,最后根据第一位置信息,对待矫正图像中的图形区域进行倾斜矫正处理。由于在本实施例中,不再通过转灰度、二值化阈值分割的方式确定含目标对象的图形区域在待矫正图像中的位置信息,而是利用深度学习的图像定位模型,生成用于从待矫正图像中分割图形区域的掩膜图像,然后根据掩膜图像,确定图形区域在待矫正图像中的位置信息。因此,与现有的图像倾斜矫正方法相比,达到了不容易受到背景的影响,能够有效的划分出背景区域和包含目标对象的图形区域,鲁棒性比较好,精确度高,能够有效地克服背景复杂情况的技术效果。进而解决了现有技术中存在的传统的图像倾斜矫正方法容易受图像背景的影响,不能有效的划分出背景区域和包含目标对象的图形区域,因此鲁棒性不足的技术问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
图6示出了根据本实施例所述的图像倾斜矫正装置600,该装置600与根据实施例1的第一个方面所述的方法相对应。参考图6所示,该装置600包括:获取模块610,用于获取包含目标对象的图形区域的待矫正图像,其中目标对象为矩形形状;图像定位模块620,用于利用深度学习的图像定位模型,对待矫正图像进行图像定位,生成用于从待矫正图像中分割图形区域的掩膜图像;第一位置信息确定模块630,用于根据掩膜图像,确定图形区域在待矫正图像中的第一位置信息;以及倾斜矫正模块640,用于根据第一位置信息,对待矫正图像中的图形区域进行倾斜矫正处理。
可选地,第一位置信息确定模块630,包括:第一确定子模块,用于确定掩膜图像中的非零像素区域的第二位置信息;以及第二确定子模块,用于根据第二位置信息,确定图形区域在待矫正图像中的第一位置信息。
可选地,第一确定子模块,包括:第一确定单元,用于对掩膜图像进行边缘检测,得到非零像素区域的四条边缘上的点的集合;以及第二确定单元,用于根据四条边缘上的点的集合,进行直线拟合,确定与非零像素区域的四个角点对应的四个角点坐标信息作为第二位置信息。
可选地,倾斜矫正模块640,包括:倾斜矫正子模块,用于根据第一位置信息,对待矫正图像中的图形区域进行透视变换。
可选地,图像定位模块620,包括:第一生成子模块,用于根据预设的缩放比例,生成与待矫正图像对应的输入图像,其中输入图像适于图像定位模型进行图像定位,并且输入图像的尺寸等同于掩膜图像的尺寸;以及第二生成子模块,用于利用图像定位模型,对输入图像进行图像定位,生成掩膜图像。
可选地,第二确定子模块,包括:第三确定单元,用于根据第二位置信息以及预设的缩放比例,确定图形区域在待矫正图像中的第一位置信息。
可选地,还包括训练模块,用于通过以下操作对图像定位模型进行训练:获取待矫正的包含矩形形状的图形区域的多个样本图像;构建图像定位模型,其中图像定位模型用于生成输出向量,输出向量用于指示样本图像中的图形区域的坐标信息;利用图像定位模型,生成与样本图像对应的输出向量;以及将输出向量与预先设置的与样本图像对应的标注向量进行比较,并且根据比较的结果调节图像定位模型,其中标注向量用于指示样本图像中的图形区域的实际坐标信息。
从而根据本实施例,首先获取包含目标对象的图形区域的待矫正图像,然后利用深度学习的图像定位模型,对待矫正图像进行图像定位,生成用于从待矫正图像中分割图形区域的掩膜图像,其次根据掩膜图像,确定图形区域在待矫正图像中的第一位置信息,最后根据第一位置信息,对待矫正图像中的图形区域进行倾斜矫正处理。由于在本实施例中,不再通过转灰度、二值化阈值分割的方式确定含目标对象的图形区域在待矫正图像中的位置信息,而是利用深度学习的图像定位模型,生成用于从待矫正图像中分割图形区域的掩膜图像,然后根据掩膜图像,确定图形区域在待矫正图像中的位置信息。因此,与现有的图像倾斜矫正方法相比,达到了不容易受到背景的影响,能够有效的划分出背景区域和包含目标对象的图形区域,鲁棒性比较好,精确度高,能够有效地克服背景复杂情况的技术效果。进而解决了现有技术中存在的传统的图像倾斜矫正方法容易受图像背景的影响,不能有效的划分出背景区域和包含目标对象的图形区域,因此鲁棒性不足的技术问题。
实施例3
图7示出了根据本实施例所述的图像倾斜矫正装置700,该装置700与根据实施例1的第一个方面所述的方法相对应。参考图7所示,该装置700包括:处理器710;以及存储器720,与处理器710连接,用于为处理器710提供处理以下处理步骤的指令:获取包含目标对象的图形区域的待矫正图像,其中目标对象为矩形形状;利用深度学习的图像定位模型,对待矫正图像进行图像定位,生成用于从待矫正图像中分割图形区域的掩膜图像;根据掩膜图像,确定图形区域在待矫正图像中的第一位置信息;以及根据第一位置信息,对待矫正图像中的图形区域进行倾斜矫正处理。
可选地,根据掩膜图像,确定图形区域在待矫正图像中的第一位置信息的操作,包括:确定掩膜图像中的非零像素区域的第二位置信息;以及根据第二位置信息,确定图形区域在待矫正图像中的第一位置信息。
可选地,确定掩膜图像中的非零像素区域的第二位置信息的操作,包括:对掩膜图像进行边缘检测,得到非零像素区域的四条边缘上的点的集合;以及根据四条边缘上的点的集合,进行直线拟合,确定与非零像素区域的四个角点对应的四个角点坐标信息作为第二位置信息。
可选地,根据第一位置信息,对待矫正图像中的图形区域进行倾斜矫正处理的操作,包括:根据第一位置信息,对待矫正图像中的图形区域进行透视变换。
可选地,利用深度学习的图像定位模型,对待矫正图像进行图像定位,生成用于从待矫正图像中分割图形区域的掩膜图像的操作,包括:根据预设的缩放比例,生成与待矫正图像对应的输入图像,其中输入图像适于图像定位模型进行图像定位,并且输入图像的尺寸等同于掩膜图像的尺寸;以及利用图像定位模型,对输入图像进行图像定位,生成掩膜图像。
可选地,根据第二位置信息,确定图形区域在待矫正图像中的第一位置信息的操作,包括:根据第二位置信息以及预设的缩放比例,确定图形区域在待矫正图像中的第一位置信息。
可选地,存储器720还用于为处理器710提供处理以下处理步骤的指令:通过以下操作对图像定位模型进行训练:获取待矫正的包含矩形形状的图形区域的多个样本图像;构建图像定位模型,其中图像定位模型用于生成输出向量,输出向量用于指示样本图像中的图形区域的坐标信息;利用图像定位模型,生成与样本图像对应的输出向量;以及将输出向量与预先设置的与样本图像对应的标注向量进行比较,并且根据比较的结果调节图像定位模型,其中标注向量用于指示样本图像中的图形区域的实际坐标信息。
从而根据本实施例,首先获取包含目标对象的图形区域的待矫正图像,然后利用深度学习的图像定位模型,对待矫正图像进行图像定位,生成用于从待矫正图像中分割图形区域的掩膜图像,其次根据掩膜图像,确定图形区域在待矫正图像中的第一位置信息,最后根据第一位置信息,对待矫正图像中的图形区域进行倾斜矫正处理。由于在本实施例中,不再通过转灰度、二值化阈值分割的方式确定含目标对象的图形区域在待矫正图像中的位置信息,而是利用深度学习的图像定位模型,生成用于从待矫正图像中分割图形区域的掩膜图像,然后根据掩膜图像,确定图形区域在待矫正图像中的位置信息。因此,与现有的图像倾斜矫正方法相比,达到了不容易受到背景的影响,能够有效的划分出背景区域和包含目标对象的图形区域,鲁棒性比较好,精确度高,能够有效地克服背景复杂情况的技术效果。进而解决了现有技术中存在的传统的图像倾斜矫正方法容易受图像背景的影响,不能有效的划分出背景区域和包含目标对象的图形区域,因此鲁棒性不足的技术问题。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
- 图像倾斜矫正方法、装置及存储介质
- 一种基于生成对抗网络的倾斜图像的矫正方法及装置