CN109829857A - 一种基于生成对抗网络的倾斜图像的矫正方法及装置 - Google Patents

一种基于生成对抗网络的倾斜图像的矫正方法及装置 Download PDF

Info

Publication number
CN109829857A
CN109829857A CN201910059151.7A CN201910059151A CN109829857A CN 109829857 A CN109829857 A CN 109829857A CN 201910059151 A CN201910059151 A CN 201910059151A CN 109829857 A CN109829857 A CN 109829857A
Authority
CN
China
Prior art keywords
image
original
model
score
corrected
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910059151.7A
Other languages
English (en)
Other versions
CN109829857B (zh
Inventor
韩波
陈龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN201910059151.7A priority Critical patent/CN109829857B/zh
Publication of CN109829857A publication Critical patent/CN109829857A/zh
Application granted granted Critical
Publication of CN109829857B publication Critical patent/CN109829857B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明提供了一种基于生成对抗网络的倾斜图像的矫正方法及装置,其中的方法通过基于生成对抗网络,设计了用于矫正倾斜图像的模型TiltGAN,通过TiltGAN模型的生成模型与判别模型的不断博弈可以生成矫正后的第一图像,然后根据矫正后的第一图像与原始倾斜图像的灰度值变化,计算原始倾斜图像的倾斜角度,并基于所述倾斜角度,对原始倾斜图像进行矫正,从而可以较为准确地计算图片的倾斜角度,并对图像进行倾斜矫正。实现了可以针对多种场景的图片计算其倾斜角度,从而完成图像倾斜矫正,并提高矫正精度的技术效果。

Description

一种基于生成对抗网络的倾斜图像的矫正方法及装置
技术领域
本发明涉及计算机图像处理技术领域,具体涉及一种基于生成对抗网络的倾斜图像的矫正方法及装置。
背景技术
在进行图像中的文本或物体识别时,获取的图像会因为拍摄、扫描或传输等因素,出现图像倾斜的问题,从而影响对图像中文本或物体识别的准确度。例如对于光学字符识别而言,倾斜的文本图像会极大地影响文字识别的准确率。在这种情况下,对于倾斜图像的矫正技术则是解决这一问题的有效途径,引起了很多专家与学者的关注。
目前,图像的倾斜校正方法主要有两种:一种是基于数学建模的方法,另一种是基于数学变换的方法。基于数学建模的方法利用获取的图像目标区域来组建火柴棒模型,进而完成对倾斜图像的矫正。而基于数学变换的方法主要又分为如下三种:一种是基于Fourier变换算法的倾斜图像矫正方法,该方法通过将图像中的所有像素点进行Fourier变换,进而完成对倾斜图像的矫正;另一种是基于Rodon变换算法的倾斜图像特征的矫正方法,该方法融合数学形态来完成图像边缘细化和断点连接,利用Radon变换得到了图像的倾斜角,从而完成了对图像的倾斜矫正;第三种是基于改进Gabor小波变换算法的倾斜图像特征的矫正方法,该方法先利用Gabor小波特征提取方法选取一定角度的Gabor小波对标准的图像进行单一尺度下的Gabor小波变换,获取不同角度下变换系数的数量,同时对倾斜图像进行与标准图像相同的变换,在此基础上提取标准图像的边缘特征,并融合Hough变换算法对倾斜图像进行Hough变换,依据对Hough变换累积结果进行处理来矫正图像倾斜角度,进而有效地完成对倾斜图像的矫正。
本申请发明人在实施本发明的过程中,发现现有的方法至少存在如下问题:
上述方法在实际应用中有着一些局限性,主要包括以下三点:一是这些方法都只能在一部分数据集上表现良好,可以在这部分图像数据上,完成图像倾斜矫正相关的工作。但是,在其它大部分数据集上,他们都表现较差,不能有效实现图像倾斜矫正;二是,在进行图像倾斜矫正的过程中,会丢失一部分边界信息,从而破坏了原始图像的完整性;三是有些算法需要的存储空间较大,存在计算较为繁琐的问题。
由上可知,现有技术的方法存在适用范围窄、矫正精度较低的技术问题。
发明内容
鉴于此,本发明提供了一种基于生成对抗网络的倾斜图像的矫正方法及装置,用以解决或者至少部分解决现有技术的方法存在适用范围窄、矫正精度较低的技术问题。
本发明第一方面提供了一种基于生成对抗网络的倾斜图像的矫正方法,包括:
步骤S1:从预设开源库中获取原始图片数据,对原始图片数据进行预处理;
步骤S2:对预处理后的图片数据建立数据集合,从数据集合中划分出训练集;
步骤S3:基于生成对抗网络,建立用于倾斜图像矫正的TiltGAN模型;
步骤S4:通过训练集对TiltGAN模型进行训练,获得训练后的TiltGAN模型;
步骤S5:将原始倾斜图像输入所述训练后的TiltGAN模型,获得矫正后的第一图像;
步骤S6:根据矫正后的第一图像与原始倾斜图像的灰度值变化,计算原始倾斜图像的倾斜角度,并基于所述倾斜角度,对原始倾斜图像进行矫正。
在一种实施方式中,步骤S1中对原始图片数据进行预处理,具体包括:
统一数据格式、数据净化以及数据倾斜处理。
在一种实施方式中,步骤S2具体包括:
步骤S2.1:按照预处理后的数据是否倾斜分成正常图像集合Normal{n_1,n_2…n_n}和倾斜图像Tilt{t_1,t_2…t_n},其中,n_1、n_2和n_n表示正常图像集合中的图像元素,t_1、t_2和t_n表示倾斜图像集合中的图像元素;
步骤S2.2:按照预设比例将正常图像集合划分为第一训练集Normal_Train与第一验证集Normal_Test,按照预设比例将倾斜图像集合划分为第二训练集Tilt_Train与第二验证集Tilt_Test,其中训练集包括第一训练集和第二训练集。
在一种实施方式中,步骤S3所述的用于倾斜图像矫正的TiltGAN模型,包括三个部分,第一部分为提取图像内容特征的编码器,包括四个残差块;第二部分为提取图像变换特征的编码器,包括五个卷积层、一个池化层和一个全连接层;第三部分是解码器,包括四个残差块,用于对图像变换编码器提取到的变换特征进行转化,然后将变换特征与内容特征进行合并,最后输出图像。
在一种实施方式中,步骤S4具体包括:
步骤S4.1:构建TiltGAN模型的损失函数,损失函数由四部分构成,图像重建损失部分图像内容学习损失部分图像变换学习损失部分以及对抗损失部分其中,四部分的定义分别如下:
其中,表示图像类别x1在其真实分布p下的期望,分别表示图像类别x1的内容域和特征域的期望,表示图像类别x1的生成器G1在内容域为c1,特征域为s1的情况下生成的图片;表示内容域c1在其真实分布p下与特征域s2在其生成器G2中学习到的分布q下的期望,表示图像类别x2的生成器G2在内容域为c1,特征域为s2下生成的图片的内容域的期望值;表示图像类别x2的生成器G2在内容域为c1,特征域为s2下生成的图片的特征域的期望值;D2(G2(c1,s2))表示图像类别x2的判别器D2对图像类别x2的生成器G2在内容域为c1,特征域为s2下生成的图片的判别结果,属于x2这一类则结果为1,否则结果为0;表示表示图像类别x2在其真实分布p下的期望;D2(x2)表示图像类别x2的判别器D2对图像类别x2中的图像的判别结果;
步骤S4.2:通过训练集对模型进行训练,当损失函数的值达到阈值后,停止训练,获得训练后的TiltGAN模型。
在一种实施方式中,步骤S6具体包括:
步骤S6.1:根据灰度区间λ计算矫正后的第一图像与原始倾斜图像的灰度差值score1
步骤S6.2:将原始倾斜图像分别向左旋转θ1、向右旋转θ1,并计算向左旋转θ1后的图像的第一灰度值和向右旋转θ1后的图像的第二灰度值,然后计算向左旋转θ1后的图像与矫正后的第一图像的灰度差值score2、和向右旋转θ1后的图像与矫正后的第一图像的灰度差值score3
步骤S6.3:比较score1、score2和score3,取三者中的最小值,如果最小值为score2或score3,则将原始倾斜图像按score2或score3所旋转的角度进行矫正,重复执行步骤S6.1~步骤S6.2;如果最小值为score1,若θ1大于0.5度,则将θ1更新为原始值的二分之一,重复执行步骤S6.2,若θ1不大于0.5度,则执行步骤S6.4;
步骤S6.4:将灰度区间λ更新为当前的四分之一,重新计算矫正后的第一图像与原始倾斜图像的灰度值,并计算二者的灰度差值score1’;
步骤S6.5:将原始倾斜图像分别向左旋转θ1’、向右旋转θ1′,并计算向左旋转θ1′后的图像的第一灰度值和向右旋转θ1′后的图像的第二灰度值,然后计算向左旋转θ1′后的图像与矫正后的第一图像的灰度差值score2′、和向右旋转θ1′后的图像与矫正后的第一图像的灰度差值score3′;
步骤S6.6:对比score1′,score2′,score3’,取其中的最小值,其中,最小值对应的图像为最终矫正后的图像。
在一种实施方式中,步骤S2中数据倾斜处理,包括:左右各倾斜30度,每倾斜2度保存一次。
基于同样的发明构思,本发明第二方面提供了一种基于生成对抗网络的倾斜图像的矫正装置,包括:
原始图片数据获取模块,用于从预设开源库中获取原始图片数据,对原始图片数据进行预处理;
数据集合建立模块,用于对预处理后的图片数据建立数据集合,从数据集合中划分出训练集;
TiltGAN模型建立模块,用于基于生成对抗网络,建立用于倾斜图像矫正的TiltGAN模型;
模型训练模块,用于通过训练集对TiltGAN模型进行训练,获得训练后的TiltGAN模型;
模型处理模块,用于将原始倾斜图像输入所述训练后的TiltGAN模型,获得矫正后的第一图像;
矫正模块,用于根据矫正后的第一图像与原始倾斜图像的灰度值变化,计算原始倾斜图像的倾斜角度,并基于所述倾斜角度,对原始倾斜图像进行矫正。
基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面的所述的方法。
基于同样的发明构思,本发明第三方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面的所述的方法。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明提供的方法,首先从预设开源库中获取原始图片数据,对原始图片数据进行预处理;并对预处理后的图片数据建立数据集合,从数据集合中划分出训练集;然后基于生成对抗网络,建立用于倾斜图像矫正的TiltGAN模型;接着通过训练集对TiltGAN模型进行训练,获得训练后的TiltGAN模型;接下来将原始倾斜图像输入所述训练后的TiltGAN模型,获得矫正后的第一图像;最后根据矫正后的第一图像与原始倾斜图像的灰度值变化,计算原始倾斜图像的倾斜角度,并基于所述倾斜角度,对原始倾斜图像进行矫正。
相对于现有的方法而言,本发明建立了用于矫正倾斜图像的TiltGAN模型,TiltGAN模型可以利用深度神经网络将图像分离成图像内容和图像变换两个组成成分,进而可以在原图图像内容基本不变的基础上,对图像进行变换,然后通过TiltGAN模型中的生成模型与判别模型的不断博弈来生成一张没有倾斜角度的图像(即矫正后的第一图像)。由于矫正后的第一图像对比原图,虽然保留了原图大部分轮廓结构,但是某些像素还是会有一些变化。因此,不能直接作为图像倾斜矫正的结果。本发明进一步,根据矫正后的第一图像与原始倾斜图像的灰度值变化,较为准确地计算图片的倾斜角度,从而对图像进行倾斜矫正。
第一,现有的计算图片倾斜角度的算法大多都有其固定的使用场景,如文字倾斜矫正、车牌倾斜矫正等,没有一个针对广泛图片进行倾斜矫正的方法,而本发明通过使用生成对抗网络,可以针对多种场景的图片计算其倾斜角度,从而完成图像倾斜矫正。
第二,现有的计算图片倾斜角度的算法或计算倾斜角度快,但是不够精确,或是计算相对精确,但是需要花费很多的资源,计算量偏大,而本发明能够通过计算图像灰度的变化,快速、准确的计算出图像的倾斜角度,不需要占有很多的资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种基于生成对抗网络的倾斜图像的矫正方法的流程图;
图2为获取原始图片数据并进行预处理的流程图;
图3为图1中训练TiltGAN的流程图;
图4为生成式对抗网络模型TiltGAN的结构示意图;
图5为图4中残差块的结构示意图;
图6为计算图片倾斜角度的流程图;
图7为本发明实施例中一种基于生成对抗网络的倾斜图像的矫正装置的结构框图;
图8为本发明实施例中计算机可读存储介质的结构框图。
图9为本发明实施例中计算机设备的结构框图。
具体实施方式
本发明的本发明的目的在于,基于生成对抗网络,设计用于矫正倾斜图像的模型TiltGAN,该模型利用深度神经网络将图像分离成图像内容和图像变换两个组成成分,进而可以在原图图像内容基本不变的基础上,对图像进行变换,然后通过生成模型与判别模型的不断博弈来生成一张没有倾斜角度的图像。这张图像对比原图,虽然保留了原图大部分轮廓结构,但是某些像素还是会有一些变化。因此,不能直接作为图像倾斜矫正的结果。但通过设计模型(即具体如何计算倾斜角度的模型)比对原始有倾斜角度的图像和倾斜矫正后的图像中的灰度变化,可以较为准确地计算图片的倾斜角度,从而对图像进行倾斜矫正。该方法适用于广泛的图像倾斜矫正,因而具有较高的应用价值。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供了一种基于生成对抗网络的倾斜图像的矫正方法,请参见图1,该方法包括:
首先执行步骤S1:从预设开源库中获取原始图片数据,对原始图片数据进行预处理。
具体来说,可以从已有的开源库获取原始图片数据,例如ImageNet,ImageNet项目是一个用于视觉对象识别软件研究的大型可视化数据库。超过1400万的图像URL被ImageNet手动注释,以指示图片中的对象。
在一种实施方式中,步骤S1中对原始图片数据进行预处理,具体包括:
统一数据格式、数据净化以及数据倾斜处理。
其中,步骤S2中数据倾斜处理,包括:左右各倾斜30度,每倾斜2度保存一次。
然后执行步骤S2:对预处理后的图片数据建立数据集合,从数据集合中划分出训练集。
具体来说,划分训练集时,可以设置预设比例,同时划分出验证集。
在具体的实现时,步骤S2具体包括:
步骤S2.1:按照预处理后的数据是否倾斜分成正常图像集合Normal{n_1,n_2…n_n}和倾斜图像Tilt{t_1,t_2…t_n},其中,n_1、n_2和n_n表示正常图像集合中的图像元素,t_1、t_2和t_n表示倾斜图像集合中的图像元素;
步骤S2.2:按照预设比例将正常图像集合划分为第一训练集Normal_Train与第一验证集Normal_Test,按照预设比例将倾斜图像集合划分为第二训练集Tilt_Train与第二验证集Tilt_Test,其中训练集包括第一训练集和第二训练集。
具体来说,预设比例可以根据实际经验进行设置,例如8:2、7:3等等。
数据获取与预处理的具体流程如图2所示,首先从预设开源库ImageNet下载原始图片数据,然后对原始图片数据重新调整图像大小,接着将调整大小后的图像进行不同角度的旋转,最后按照预设比例将数据集合划分为训练集和验证集。
接下来执行步骤S3:基于生成对抗网络,建立用于倾斜图像矫正的TiltGAN模型。
具体来说,依据生成对抗网络,建立用于倾斜图像矫正的TiltGAN模型。TiltGAN模型可以依据正常图片与倾斜图片的不同特点,进行特征采样,模型内部总共有两个方向的图片处理过程,分别为Normal→Tilt与Tilt→Normal,可以使图像在正常图片与倾斜图片之间进行互换。
在具体的构建过程中,模型可以将输入的图片分解为内容域与特征域,分别表示为Content={c1,c2…cn},StyleTilt={s1,T,s2,T…sn,T},StyleNormal={s1,N,s2,N…sn,N}。倾斜图片与正常图片共享一个内容域,但是二者的特征域不同,在Normal→Tilt过程中,模型会通过下采样的方式,将图片ni分解为ci与si,N,之后,模型将重新组合ci与si,T,然后通过上采样的办法,得到模型最终输出的倾斜图片。同理,在Tilt→Normal过程中,模型会先将图片ti分解为ci与si,T,之后,将ci与si,N重新组合,得到模型输出的矫正后第一图像。
具体地,步骤S3所述的用于倾斜图像矫正的TiltGAN模型,包括三个部分,第一部分为提取图像内容特征的编码器,包括四个残差块;第二部分为提取图像变换特征的编码器,包括五个卷积层、一个池化层和一个全连接层;第三部分是解码器,包括四个残差块,用于对图像变换编码器提取到的变换特征进行转化,然后将变换特征与内容特征进行合并,最后输出图像。
请参见图4,为生成式对抗网络模型TiltGAN的结构示意图,每一张图片(即图像),模型都会将图片分解为两部分,一部分为内容向量,另一部分为特征向量,之后,将特征向量构建为新的特征向量,与之前的内容向量组合,最后通过上采样生成输出图片。再参见图5,为图4中残差块的结构示意图,主要包括卷积层和激活层。
然后执行步骤S4:通过训练集对TiltGAN模型进行训练,获得训练后的TiltGAN模型。
在一种实施方式中,步骤S4具体包括:
步骤S4具体包括:
步骤S4.1:构建TiltGAN模型的损失函数,损失函数由四部分构成,图像重建损失部分图像内容学习损失部分图像变换学习损失部分以及对抗损失部分其中,四部分的定义分别如下:
其中,表示图像类别x1(在本实施方式中,表示原始倾斜图像),在其真实分布p下的期望,分别表示图像类别x1的内容域和特征域的期望,表示图像类别x1的生成器G1在内容域为c1,特征域为s1的情况下生成的图片;表示内容域c1在其真实分布p下与特征域s2在其生成器G2中学习到的分布q下的期望,表示图像类别x2(在本实施方式中,表示正常图像)的生成器G2在内容域为c1,特征域为s2下生成的图片的内容域的期望值;表示图像类别x2的生成器G2在内容域为c1,特征域为s2下生成的图片的特征域的期望值;D2(G2(c1,s2))表示图像类别x2,(在本实施方式中,表示正常图像)的判别器D2对图像类别x2的生成器G2在内容域为c1,特征域为s2下生成的图片的判别结果,属于x2这一类则结果为1,否则结果为0;表示表示图像类别x2在其真实分布p下的期望;D2(x2)表示图像类别x2的判别器D2对图像类别x2中的图像的判别结果;
步骤S4.2:通过训练集对模型进行训练,当损失函数的值达到阈值后,停止训练,获得训练后的TiltGAN模型。
具体来说,请参见图3,为训练TiltGAN的流程图,首先输入正常图片的第一训练集和倾斜图片的第二训练集,然后根据实验经验来设置参数,参数主要包括batch size,learning rate,epoch和iteration,接着通过第一训练集和第二训练集对TiltGAN模型进行训练,当损失值满足阈值时,停止训练,保存训练后的TiltGAN模型。其中,损失值即为损失函数的计算值,损失函数为图像重建损失部分图像内容学习损失部分图像变换学习损失部分以及对抗损失部分的和。
接下来执行步骤S5:将原始倾斜图像输入所述训练后的TiltGAN模型,获得矫正后的第一图像。
具体地,通过前述步骤构建的TiltGAN模型,利用深度神经网络将图像分离成图像内容和图像变换两个组成成分,进而可以在原图图像内容基本不变的基础上,对图像进行变换,然后通过生成模型与判别模型的不断博弈来生成一张没有倾斜角度的图像,即为矫正后的第一图像。
再执行步骤S6:根据矫正后的第一图像与原始倾斜图像的灰度值变化,计算原始倾斜图像的倾斜角度,并基于所述倾斜角度,对原始倾斜图像进行矫正。
具体地,由于步骤S5中获得的矫正后的第一图像对比原图,虽然保留了原图大部分轮廓结构,但是某些像素还是会有一些变化,即矫正的精度不够。因此,不能直接作为图像倾斜矫正的结果。则需要进一步计算倾斜角度,再进行矫正。
具体地,步骤S6具体包括:
步骤S6.1:根据灰度区间λ计算矫正后的第一图像与原始倾斜图像的灰度差值score1
步骤S6.2:将原始倾斜图像分别向左旋转θ1、向右旋转θ1,并计算向左旋转θ1后的图像的第一灰度值和向右旋转θ1后的图像的第二灰度值,然后计算向左旋转θ1后的图像与矫正后的第一图像的灰度差值score2、和向右旋转θ1后的图像与矫正后的第一图像的灰度差值score3
步骤S6.3:比较score1、score2和score3,取三者中的最小值,如果最小值为score2或score3,则将原始倾斜图像按score2或score3所旋转的角度进行矫正,重复执行步骤S6.1~步骤S6.2;如果最小值为score1,若θ1大于0.5度,则将θ1更新为原始值的二分之一,重复执行步骤S6.2,若θ1不大于0.5度,则执行步骤S6.4;
步骤S6.4:将灰度区间λ更新为当前的四分之一,重新计算矫正后的第一图像与原始倾斜图像的灰度值,并计算二者的灰度差值score1’;
步骤S6.5:将原始倾斜图像分别向左旋转θ1’、向右旋转θ1′,并计算向左旋转θ1′后的图像的第一灰度值和向右旋转θ1′后的图像的第二灰度值,然后计算向左旋转θ1′后的图像与矫正后的第一图像的灰度差值score2′、和向右旋转θ1′后的图像与矫正后的第一图像的灰度差值score3′;
步骤S6.6:对比score1′,score2′,score3’,取其中的最小值,其中,最小值对应的图像为最终矫正后的图像。
具体来说,步骤3-a)中所述将两张图等比例划分为不同的区域,目前是将图像等比例分为1024块。
步骤S6.1中所述计算两张图的灰度值,目前是将彩色图片灰度化,按照每16个灰度为一个区域,共分为16个区域进行统计。
举例来说,灰度总共是0-255的整数,共计256个数值,灰度区间表示一个具体的值,如15,这样就可以根据灰度区间15将256个灰度值等分为16个区域。即0–15、16—31…计算两张图的灰度差值,目前是使用绝对值差,即Absolute function。
请参见图6,为计算图片倾斜角度的流程图。首先,分别将两张图等比例划分为不同的区域,按灰度区间λ计算两张图不同区域的灰度值,之后计算二者的灰度差值score1。将倾斜图片向左或向右旋转θ1,分别计算旋转后图像的灰度值,然后计算旋转后的图像与之前生成的图像的灰度差值score2,score3。对比score1,score2,score3,取其中的最小值,如果最小值为score2或score3,则将倾斜图片按score2或score3所旋转的角度进行矫正;如果最小值为score1,若θ1大于0.5度,则更新θ1为之前的一半,重新开始计算;否则将灰度区间λ更新为当前的四分之一,重新计算原图的灰度值与倾斜图的灰度值,并计算二者的灰度差值score1′;将倾斜图片向左或向右旋转θ1′,分别计算旋转后图像的灰度值,然后计算旋转后的图像与之前生成的图像的灰度差值score2′,score3′。对比score1′,score2′,score3′,取其中的最小值,将该图输出即为最后的矫正后的图片。
得分越低,则代表该角度最有可能是原图的倾斜角度,本发明就可以用该倾斜角度进行矫正。
总体来说,本发明的优点主要有:
1.现有的计算图片倾斜角度的算法大多都有其固定的使用场景,如文字倾斜矫正、车牌倾斜矫正等,没有一个针对广泛图片进行倾斜矫正的方法,而本发明通过使用生成对抗网络,可以针对多种场景的图片计算其倾斜角度,从而完成图像倾斜矫正。
2.现有的计算图片倾斜角度的算法或计算倾斜角度快,但是不够精确,或是计算相对精确,但是需要花费很多的资源,计算量偏大,而本发明能够通过计算图像灰度的变化,快速、准确的计算出图像的倾斜角度,不需要占有很多的资源。
基于同一发明构思,本申请还提供了与实施例一中基于生成对抗网络的倾斜图像的矫正方法对应的装置,详见实施例二。
实施例二
本实施例提供了一种基于生成对抗网络的倾斜图像的矫正装置,请参见图7,该装置包括:
原始图片数据获取模块701,用于从预设开源库中获取原始图片数据,对原始图片数据进行预处理;
数据集合建立模块702,用于对预处理后的图片数据建立数据集合,从数据集合中划分出训练集;
TiltGAN模型建立模块703,用于基于生成对抗网络,建立用于倾斜图像矫正的TiltGAN模型;
模型训练模块704,用于通过训练集对TiltGAN模型进行训练,获得训练后的TiltGAN模型;
模型处理模块705,用于将原始倾斜图像输入所述训练后的TiltGAN模型,获得矫正后的第一图像;
矫正模块706,用于根据矫正后的第一图像与原始倾斜图像的灰度值变化,计算原始倾斜图像的倾斜角度,并基于所述倾斜角度,对原始倾斜图像进行矫正。
在一种实施方式中,原始图片数据获取模块701具体用于:
统一数据格式、数据净化以及数据倾斜处理。
在一种实施方式中,数据集合建立模块702具体用于执行下述步骤:
步骤S2.1:按照预处理后的数据是否倾斜分成正常图像集合Normal{n_1,n_2…n_n}和倾斜图像Tilt{t_1,t_2…t_n},其中,n_1、n_2和n_n表示正常图像集合中的图像元素,t_1、t_2和t_n表示倾斜图像集合中的图像元素;
步骤S2.2:按照预设比例将正常图像集合划分为第一训练集Normal_Train与第一验证集Normal_Test,按照预设比例将倾斜图像集合划分为第二训练集Tilt_Train与第二验证集Tilt_Test,其中训练集包括第一训练集和第二训练集。
在一种实施方式中,TiltGAN模型建立模块703建立的用于倾斜图像矫正的TiltGAN模型,包括三个部分,第一部分为提取图像内容特征的编码器,包括四个残差块;第二部分为提取图像变换特征的编码器,包括五个卷积层、一个池化层和一个全连接层;第三部分是解码器,包括四个残差块,用于对图像变换编码器提取到的变换特征进行转化,然后将变换特征与内容特征进行合并,最后输出图像。
在一种实施方式中,原始图片数据模型训练模块704具体用于执行下述步骤:
步骤S4.1:构建TiltGAN模型的损失函数,损失函数由四部分构成,图像重建损失部分图像内容学习损失部分图像变换学习损失部分以及对抗损失部分其中,四部分的定义分别如下:
步骤S4.2:通过训练集对模型进行训练,当损失函数的值达到阈值后,停止训练,获得训练后的TiltGAN模型。
在一种实施方式中,原始图片数据矫正模块706具体用于执行下述步骤:
步骤S6.1:根据灰度区间λ计算矫正后的第一图像与原始倾斜图像的灰度差值score1
步骤S6.2:将原始倾斜图像分别向左旋转θ1、向右旋转θ1,并计算向左旋转θ1后的图像的第一灰度值和向右旋转θ1后的图像的第二灰度值,然后计算向左旋转θ1后的图像与矫正后的第一图像的灰度差值score2、和向右旋转θ1后的图像与矫正后的第一图像的灰度差值score3
步骤S6.3:比较score1、score2和score3,取三者中的最小值,如果最小值为score2或score3,则将原始倾斜图像按score2或score3所旋转的角度进行矫正,重复执行步骤S6.1~步骤S6.2;如果最小值为score1,若θ1大于0.5度,则将θ1更新为原始值的二分之一,重复执行步骤S6.2,若θ1不大于0.5度,则执行步骤S6.4;
步骤S6.4:将灰度区间λ更新为当前的四分之一,重新计算矫正后的第一图像与原始倾斜图像的灰度值,并计算二者的灰度差值score1’;
步骤S6.5:将原始倾斜图像分别向左旋转θ1’、向右旋转θ1′,并计算向左旋转θ1′后的图像的第一灰度值和向右旋转θ1′后的图像的第二灰度值,然后计算向左旋转θ1′后的图像与矫正后的第一图像的灰度差值score2′、和向右旋转θ1′后的图像与矫正后的第一图像的灰度差值score3′;
步骤S6.6:对比score1′,score2′,score3’,取其中的最小值,其中,最小值对应的图像为最终矫正后的图像。
在一种实施方式中,数据集合建立模块702中的数据倾斜处理,包括:左右各倾斜30度,每倾斜2度保存一次。
由于本发明实施例二所介绍的装置,为实施本发明实施例一中基于生成对抗网络的倾斜图像的矫正方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
实施例三
基于同一发明构思,本申请还提供了一种计算机可读存储介质400,请参见图8,其上存储有计算机程序411,该程序被执行时实现实施例一中的方法。
由于本发明实施例三所介绍的计算机可读存储介质,为实施本发明实施例一中基于生成对抗网络的倾斜图像的矫正方法所采用的计算机可读存储介质,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机可读存储介质都属于本发明所欲保护的范围。
实施例四
基于同一发明构思,本申请还提供了一种计算机设备,请参见图9,包括存储器501、处理器502及存储在存储器上并可在处理器上运行的计算机程序503,所述处理器执行所述程序时实现实施例一中所述的方法。
由于本发明实施例四所介绍的计算机设备,为实施本发明实施例一中基于生成对抗网络的倾斜图像的矫正方法所采用的计算机可读存储介质,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机设备都属于本发明所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种基于生成对抗网络的倾斜图像的矫正方法,其特征在于,包括:
步骤S1:从预设开源库中获取原始图片数据,对原始图片数据进行预处理;
步骤S2:对预处理后的图片数据建立数据集合,从数据集合中划分出训练集;
步骤S3:基于生成对抗网络,建立用于倾斜图像矫正的TiltGAN模型;
步骤S4:通过训练集对TiltGAN模型进行训练,获得训练后的TiltGAN模型;
步骤S5:将原始倾斜图像输入所述训练后的TiltGAN模型,获得矫正后的第一图像;
步骤S6:根据矫正后的第一图像与原始倾斜图像的灰度值变化,计算原始倾斜图像的倾斜角度,并基于所述倾斜角度,对原始倾斜图像进行矫正。
2.如权利要求1所述的方法,其特征在于,步骤S1中对原始图片数据进行预处理,具体包括:
统一数据格式、数据净化以及数据倾斜处理。
3.如权利要求1所述的方法,其特征在于,步骤S2具体包括:
步骤S2.1:按照预处理后的数据是否倾斜分成正常图像集合Normal{n_1,n_2…n_n}和倾斜图像Tilt{t_1,t_2…t_n},其中,n_1、n_2和n_n表示正常图像集合中的图像元素,t_1、t_2和t_n表示倾斜图像集合中的图像元素;
步骤S2.2:按照预设比例将正常图像集合划分为第一训练集Normal_Train与第一验证集Normal_Test,按照预设比例将倾斜图像集合划分为第二训练集Tilt_Train与第二验证集Tilt_Test,其中训练集包括第一训练集和第二训练集。
4.如权利要求1所述的方法,其特征在于,步骤S3所述的用于倾斜图像矫正的TiltGAN模型,包括三个部分,第一部分为提取图像内容特征的编码器,包括四个残差块;第二部分为提取图像变换特征的编码器,包括五个卷积层、一个池化层和一个全连接层;第三部分是解码器,包括四个残差块,用于对图像变换编码器提取到的变换特征进行转化,然后将变换特征与内容特征进行合并,最后输出图像。
5.如权利要求1所述的方法,其特征在于,步骤S4具体包括:
步骤S4.1:构建TiltGAN模型的损失函数,损失函数由四部分构成,图像重建损失部分图像内容学习损失部分图像变换学习损失部分以及对抗损失部分其中,四部分的定义分别如下:
其中,表示图像类别x1在其真实分布p下的期望,分别表示图像类别x1的内容域和特征域的期望,表示图像类别x1的生成器G1在内容域为c1,特征域为s1的情况下生成的图片;表示内容域c1在其真实分布p下与特征域s2在其生成器G2中学习到的分布q下的期望,表示图像类别x2的生成器G2在内容域为c1,特征域为s2下生成的图片的内容域的期望值;表示图像类别x2的生成器G2在内容域为c1,特征域为s2下生成的图片的特征域的期望值;D2(G2(c1,s2))表示图像类别x2的判别器D2对图像类别x2的生成器G2在内容域为c1,特征域为s2下生成的图片的判别结果,属于x2这一类则结果为1,否则结果为0;表示表示图像类别x2在其真实分布p下的期望;D2(x2)表示图像类别x2的判别器D2对图像类别x2中的图像的判别结果;
步骤S4.2:通过训练集对模型进行训练,当损失函数的值达到阈值后,停止训练,获得训练后的TiltGAN模型。
6.如权利要求1所述的方法,其特征在于,步骤S6具体包括:
步骤S6.1:根据灰度区间λ计算矫正后的第一图像与原始倾斜图像的灰度差值score1
步骤S6.2:将原始倾斜图像分别向左旋转θ1、向右旋转θ1,并计算向左旋转θ1后的图像的第一灰度值和向右旋转θ1后的图像的第二灰度值,然后计算向左旋转θ1后的图像与矫正后的第一图像的灰度差值score2、和向右旋转θ1后的图像与矫正后的第一图像的灰度差值score3
步骤S6.3:比较score1、score2和score3,取三者中的最小值,如果最小值为score2或score3,则将原始倾斜图像按score2或score3所旋转的角度进行矫正,重复执行步骤S6.1~步骤S6.2;如果最小值为score1,若θ1大于0.5度,则将θ1更新为原始值的二分之一,重复执行步骤S6.2,若θ1不大于0.5度,则执行步骤S6.4;
步骤S6.4:将灰度区间λ更新为当前的四分之一,重新计算矫正后的第一图像与原始倾斜图像的灰度值,并计算二者的灰度差值score1’;
步骤S6.5:将原始倾斜图像分别向左旋转θ1’、向右旋转θ1′,并计算向左旋转θ1′后的图像的第一灰度值和向右旋转θ1′后的图像的第二灰度值,然后计算向左旋转θ1′后的图像与矫正后的第一图像的灰度差值score2′、和向右旋转θ1′后的图像与矫正后的第一图像的灰度差值score3′;
步骤S6.6:对比score1′,score2′,score3’,取其中的最小值,其中,最小值对应的图像为最终矫正后的图像。
7.如权利要求2所述的方法,其特征在于,步骤S2中数据倾斜处理,包括:左右各倾斜30度,每倾斜2度保存一次。
8.一种基于生成对抗网络的倾斜图像的矫正装置,其特征在于,包括:
原始图片数据获取模块,用于从预设开源库中获取原始图片数据,对原始图片数据进行预处理;
数据集合建立模块,用于对预处理后的图片数据建立数据集合,从数据集合中划分出训练集;
TiltGAN模型建立模块,用于基于生成对抗网络,建立用于倾斜图像矫正的TiltGAN模型;
模型训练模块,用于通过训练集对TiltGAN模型进行训练,获得训练后的TiltGAN模型;
模型处理模块,用于将原始倾斜图像输入所述训练后的TiltGAN模型,获得矫正后的第一图像;
矫正模块,用于根据矫正后的第一图像与原始倾斜图像的灰度值变化,计算原始倾斜图像的倾斜角度,并基于所述倾斜角度,对原始倾斜图像进行矫正。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被执行时实现如权利要求1至7中任一项权利要求所述的方法。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7中任一项权利要求所述的方法。
CN201910059151.7A 2019-01-22 2019-01-22 一种基于生成对抗网络的倾斜图像的矫正方法及装置 Expired - Fee Related CN109829857B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910059151.7A CN109829857B (zh) 2019-01-22 2019-01-22 一种基于生成对抗网络的倾斜图像的矫正方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910059151.7A CN109829857B (zh) 2019-01-22 2019-01-22 一种基于生成对抗网络的倾斜图像的矫正方法及装置

Publications (2)

Publication Number Publication Date
CN109829857A true CN109829857A (zh) 2019-05-31
CN109829857B CN109829857B (zh) 2021-07-06

Family

ID=66861778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910059151.7A Expired - Fee Related CN109829857B (zh) 2019-01-22 2019-01-22 一种基于生成对抗网络的倾斜图像的矫正方法及装置

Country Status (1)

Country Link
CN (1) CN109829857B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111539337A (zh) * 2020-04-26 2020-08-14 上海眼控科技股份有限公司 车辆姿态矫正方法、装置及设备
CN113592735A (zh) * 2021-07-23 2021-11-02 作业帮教育科技(北京)有限公司 文本页面图像还原方法及系统、电子设备和计算机可读介质
CN115393230A (zh) * 2022-10-28 2022-11-25 武汉楚精灵医疗科技有限公司 超声内镜图像标准化方法、装置及其相关装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK123795A (da) * 1995-11-07 1997-05-08 Const Y Aux Ferrocarriles Sa Positionsdetekteringssystem til styrede køretøjer
WO2008086210A2 (en) * 2007-01-04 2008-07-17 Arizona Board Of Regents, Acting For And On Behalf Of Arizona State University Zirconium and hafnium boride alloy templates on silicon for nitride integration applications
CN101876752A (zh) * 2009-04-02 2010-11-03 通用汽车环球科技运作公司 矢量投射显示的畸变和透视校正
CN103546678A (zh) * 2012-07-09 2014-01-29 现代自动车株式会社 用于校正后置摄像机的图像畸变的装置和方法
CN104732225A (zh) * 2013-12-24 2015-06-24 中国科学院深圳先进技术研究院 图像旋转处理方法
CN108009990A (zh) * 2017-11-30 2018-05-08 北京小米移动软件有限公司 倾斜对象处理方法及装置
CN108681729A (zh) * 2018-05-08 2018-10-19 腾讯科技(深圳)有限公司 文本图像矫正方法、装置、存储介质及设备
CN109165642A (zh) * 2018-06-13 2019-01-08 泉州市雄蓝教育科技有限公司 一种基于深度学习的增强型答题卡智能识别方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK123795A (da) * 1995-11-07 1997-05-08 Const Y Aux Ferrocarriles Sa Positionsdetekteringssystem til styrede køretøjer
WO2008086210A2 (en) * 2007-01-04 2008-07-17 Arizona Board Of Regents, Acting For And On Behalf Of Arizona State University Zirconium and hafnium boride alloy templates on silicon for nitride integration applications
CN101876752A (zh) * 2009-04-02 2010-11-03 通用汽车环球科技运作公司 矢量投射显示的畸变和透视校正
CN103546678A (zh) * 2012-07-09 2014-01-29 现代自动车株式会社 用于校正后置摄像机的图像畸变的装置和方法
CN104732225A (zh) * 2013-12-24 2015-06-24 中国科学院深圳先进技术研究院 图像旋转处理方法
CN108009990A (zh) * 2017-11-30 2018-05-08 北京小米移动软件有限公司 倾斜对象处理方法及装置
CN108681729A (zh) * 2018-05-08 2018-10-19 腾讯科技(深圳)有限公司 文本图像矫正方法、装置、存储介质及设备
CN109165642A (zh) * 2018-06-13 2019-01-08 泉州市雄蓝教育科技有限公司 一种基于深度学习的增强型答题卡智能识别方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JIMMIE HARRIS等: "Drawbot-Converting Bad Sketches into World Class Masterpieces", 《CS230 DEEP LEARNING》 *
XUN HUANG等: "Multimodal Unsupervised Image-to-Image Translation", 《ARXIV:1804.04732[CS.CV]》 *
即兴以来: "数字图像处理-畸变校正", 《百度文库》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111539337A (zh) * 2020-04-26 2020-08-14 上海眼控科技股份有限公司 车辆姿态矫正方法、装置及设备
CN113592735A (zh) * 2021-07-23 2021-11-02 作业帮教育科技(北京)有限公司 文本页面图像还原方法及系统、电子设备和计算机可读介质
CN115393230A (zh) * 2022-10-28 2022-11-25 武汉楚精灵医疗科技有限公司 超声内镜图像标准化方法、装置及其相关装置
CN115393230B (zh) * 2022-10-28 2023-02-03 武汉楚精灵医疗科技有限公司 超声内镜图像标准化方法、装置及其相关装置

Also Published As

Publication number Publication date
CN109829857B (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
US11232286B2 (en) Method and apparatus for generating face rotation image
CN111488865B (zh) 图像优化方法、装置、计算机存储介质以及电子设备
CN112733794B (zh) 人脸图像的视线矫正方法、装置、设备及存储介质
CN110728209A (zh) 一种姿态识别方法、装置、电子设备及存储介质
CN112733795B (zh) 人脸图像的视线矫正方法、装置、设备及存储介质
CN112733797B (zh) 人脸图像的视线矫正方法、装置、设备及存储介质
CN112541864A (zh) 一种基于多尺度生成式对抗网络模型的图像修复方法
CN113838176A (zh) 模型的训练方法、三维人脸图像生成方法及设备
CN109829857B (zh) 一种基于生成对抗网络的倾斜图像的矫正方法及装置
CN113570684A (zh) 图像处理方法、装置、计算机设备和存储介质
CN115082966B (zh) 行人重识别模型训练方法、行人重识别方法、装置和设备
US20230153965A1 (en) Image processing method and related device
CN112085835A (zh) 三维卡通人脸生成方法、装置、电子设备及存储介质
CN116416376A (zh) 一种三维头发的重建方法、系统、电子设备及存储介质
CN115049556A (zh) 一种基于StyleGAN的人脸图像修复方法
CN113095333A (zh) 无监督特征点检测方法及装置
CN111488810A (zh) 人脸识别方法、装置、终端设备及计算机可读介质
CN117557689B (zh) 图像处理方法、装置、电子设备及存储介质
CN114299590A (zh) 人脸补全模型的训练方法、人脸补全方法及系统
CN113538254A (zh) 图像恢复方法、装置、电子设备及计算机可读存储介质
CN114782592B (zh) 基于图像的卡通动画生成方法、装置、设备及存储介质
CN116052234A (zh) 图像质量评估方法、装置、电子设备及计算机程序产品
CN115760888A (zh) 图像处理方法、装置、计算机及可读存储介质
Zhang et al. Generative facial prior and semantic guidance for iterative face inpainting
CN115115537B (zh) 一种基于掩码训练的图像修复方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210706

Termination date: 20220122