一种基于判别性区域定位的图像数据增广方法
技术领域
本发明涉及计算机视觉
技术领域
,尤其涉及一种基于判别性区域定位的图像数据增广方法。背景技术
在图像分类问题中,数据增广是一种常用的正则化方法。在图像数据增广方法中,区域裁剪和区域混合是两种常用的增广操作,但在传统的方法中,这两种操作都是按预定的概率随机地对原始数据做变换,并不考虑数据本身的分布以及模型对数据的偏好,没有充分利用数据中的有用信息,限制了数据增广对模型性能的提升作用。具体地说,传统的区域裁剪是随机地从原始图像中裁剪出部分区域,但可能裁剪的区域没有包含足够的有效信息,此时裁剪得到的新样本相当于噪声样本,对模型性能的提升几乎没有帮助;而传统的区域混合则以CutMix为代表,是随机地从两张图片中取出两个互补区域进行混合,混合后的图片的类别标签也是由两张原始图片的类别标签通过混合得到的。CutMix没有考虑从两张原始图片中取出的区域是否包含足够的判别性信息,生成的样本可能会由于没有包含足够多的判别性信息而成为噪声样本。
发明内容
本发明的目的在于提供一种基于判别性区域定位的图像数据增广方法,解决生成的样本由于没有包含足够多的判别性信息而成为噪声样本的问题。
为实现上述目的,本发明提供了一种基于判别性区域定位的图像数据增广方法,包括以下步骤:
采用CAM方法计算原始图像的类激活图,并通过将所述类激活图上采样和取阈值来定位判别性区域;
在所述判别性区域内随机采样一个正方形区域,并基于所述正方形区域对所述原始图像进行裁剪和缩放;
基于随机获取的两种类别的图片的判别性区域掩膜生成对应的混合掩膜,并将两种类别的所述图片的判别性区域和非判别性区域进行混合;
每轮迭代开始时都从训练集中选出多张图像作为原始图像,每轮迭代结束时则由所述原始图像生成若干增广样本;其中,每轮迭代的训练样本由上一轮迭代生成的增广样本和本轮迭代的所述原始图像组成;如此反复迭代直至满足训练结束条件。
其中,采用CAM方法计算原始图像的类激活图,并通过将所述类激活图上采样和取阈值来定位判别性区域,包括:
采用CAM方法计算出所述原始图像真实类别的类激活图;
将所述类激活图上采样至与所述原始图像相同大小,然后将所述类激活图中的所有像素值归一化至[0,1]之间。
基于设定的阈值,将归一化后的所述类激活图中像素值大于所述阈值的区域作为判别性区域。
其中,采用CAM方法计算出所述原始图像真实类别的类激活图之前,所述方法还包括:
对获取的原始图像进行全局平均池化处理,得到降维向量。
其中,在所述判别性区域内随机采样一个正方形区域,并基于所述正方形区域对所述原始图像进行裁剪和缩放,包括:
在所述判别性区域中通过设定像素阈值来确定正方形中心点的范围;
基于判别性区域外接矩形的位置和大小以及所述正方形中心点的位置来确定所述正方形的边长范围;
基于所述正方形中心和所述边长范围,采用随机采样的方式对当前图像进行裁剪和缩放,得到对应的增广样本。
其中,基于随机获取的两种类别的图片的判别性区域掩膜生成对应的混合掩膜,并将两种类别的所述图片的判别性区域和非判别性区域进行混合,包括:
随机获取两张不同类别的图片并计算出对应的所述判别性区域,并基于所述判别性区域计算出对应的两个判别性区域掩膜;
将两个所述判别性区域掩膜取并集,并基于生成的混合掩膜对两张不同类别的图片的判别性区域和非判别性区域进行混合。
本发明的一种基于判别性区域定位的图像数据增广方法,采用CAM方法计算原始图像的类激活图,并通过将所述类激活图上采样和取阈值来定位判别性区域;数据增广操作包括两种,分别为区域裁剪和区域混合,其中区域裁剪是通过在判别性区域中随机采样一个正方形区域,并基于所述正方形区域对原始图像进行裁剪;区域混合是随机取两张不同类别的图片,分别求出两张图片的判别性区域掩膜,再根据所述掩膜将两张图片的判别性区域和非判别性区域进行混合;每轮迭代都由原始图像生成增广样本,并与下一轮迭代的原始图像一起组成下一轮迭代的训练样本,直至训练结束。本发明可以解决传统方法生成的样本由于没有包含足够多的判别性信息而成为噪声样本的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种基于判别性区域定位的图像数据增广方法的步骤示意图。
图2是本发明提供的判别性区域定位方法。
图3是本发明提供的区域裁剪方法示意图。
图4是本发明提供的区域混合方法示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
请参阅图1,本发明提供一种基于判别性区域定位的图像数据增广方法,包括以下步骤:
S101、采用CAM方法计算原始图像的类激活图,并通过将所述类激活图上采样和取阈值来定位判别性区域。
具体的,对于当前训练批次中的图片样本,首先利用CAM方法输出图片样本的真实类别的类激活图,再将类激活图上采样至原图大小,然后将类激活图所有像素值归一化到[0,1]之间,再设置一个阈值θ1,θ1是一个超参数,并将类激活图中像素值大于θ1的区域作为图片样本的判别性区域S,如图2所示,详细流程如下:
在图2中,GAP代表全局平均池化,并假设当前样本属于第j个类别。假设CNN网络最后一个卷积层输出的特征图是F={F1,F2,...,FC},其中,Fi∈RH×W,i∈[1,C],C、H和W分别代表特征图的通道数、特征图的高和宽,则全局平均池化的定义如下所示:
s.t.k∈{1,2,...,C}
进行全局平均池化后,特征图降维成向量,降维后向量为f∈RC×1×1,然后可以根据CAM方法求出当前图像真实类别的类激活图。得到类激活图后上采样至原图大小并将所有像素值归一化到[0,1]之间,最后设定一个阈值θ1∈[0,1],类激活图中像素值大于θ1的区域认为是判别性区域,记为S。
S102、在所述判别性区域内随机采样一个正方形区域,并基于所述正方形区域对所述原始图像进行裁剪和缩放。
具体的,获得图片的判别性区域S后,为了增加样本的多样性,本申请在进行区域裁剪时并不是直接把整个判别性区域S裁剪出来,而是从判别性区域S中随机裁剪出部分区域。在本发明中,裁剪的部分区域都是正方形区域,记为B。而为了保证裁剪出来的正方形区域B能够包含足够的判别性信息,本申请在判别性区域S中再设置一个像素阈值θ2,求出S中像素值大于θ2的区域,记为S',并规定正方形B的中心只能落在区域S'中。同时本申请对正方形B的边长进行限制,正方形B的边长范围通过判别性区域S的正外接矩形来确定,B的边长最大值以不超出判别性区域S的正外接矩形为准,同时设置超参数φ∈[0,1],将φ乘以S的正外接矩形的短边长得到B的边长最小值。确定正方形B的中心点范围和边长范围后,每次通过随机采样得到B,然后就可以从原图中裁剪出相应的区域,并缩放至原图大小作为一个新样本,新样本与原始样本拥有相同的类别标签。
如图3所示,得到判别性区域S后,区域裁剪每次会从S中裁剪一个正方形区域作为新样本,将该正方形区域记为B,B的中心点为(bx,by),边长为a,且(bx,by)和a都为均匀采样的随机数。为了保证裁剪的区域包含足够多的判别性区域,(bx,by)和a需要有一个合适的采样范围。所以再设置一个阈值θ2:
θ2=θ1+λ(max(S)-θ1)
其中,λ∈[0,1],max(S)代表判别性区域中的最大像素值。在区域S中,将像素值大于θ2的区域记为S',(bx,by)的采样范围限定在S'中。接下来确定正方形B的边长a的范围,本发明将根据判别性区域S的大小来确定裁剪区域B的大小。首先求出S的正外接矩形,该矩形的左上角坐标记为(sx,sy),长和宽分别记为sw和sh,假设B的边长范围为[amin,amax],其中:
amax=2×min(bx-sx,by-sy,sx+sw-bx,sy+sh-by)
amin=min(amax,φ(min(sw,sh)))
其中,φ是一个超参数,且φ∈[0,1],amax的计算是为了保证B的范围落在判别性区域S的正外接矩形内,amin的计算则是为了保证amin≤amax,且amin与判别性区域S的大小相关。确定(bx,by)和a的范围之后,每次通过随机采样的方式得到正方形区域B,并从原始图像中裁剪出对应的区域,缩放至原图大小并作为一个增广样本,区域裁剪得到的增广样本与原样本拥有相同的类别标签。
S103、基于随机获取的两种类别的图片的判别性区域掩膜生成对应的混合掩膜,并将两种类别的所述图片的判别性区域和非判别性区域进行混合。
具体的,如图4所示,在当前训练批次内,随机取两张不同类别的图片,记为x1和x2,再分别计算两张图片的判别性区域S1和S2,并计算判别性区域S1和S2对应的掩膜,两张图片的判别性区域掩膜分别记为M1和M2,将两张掩膜取并集,得到两张图片判别性区域的混合掩膜M:
其中,(i,j)是图片的位置索引,然后根据以下公式生成增广样本:
其中,x′1是x1的增广样本,拥有与x1相同的标签,x'2是x2的增广样本,拥有与x2相同的标签。
从图4可以看出,本发明的区域混合方法每次会同时生成两个增广样本,且每个增广样本中只存在一个原始样本的判别性区域,增广样本的标签与判别性区域所属的原样本的类别标签相同,避免了区域混合后出现类别混淆的情况。
S104、每轮迭代开始时都从训练集中选出多张图像作为原始图像,每轮迭代结束时则由所述原始图像生成若干增广样本;其中,每轮迭代的训练样本由上一轮迭代生成的增广样本和本轮迭代的所述原始图像组成;如此反复迭代直至满足训练结束条件。
具体的,在卷积神经网络训练过程中,每一轮迭代结束后,都会进行上述3个步骤,生成一批增广样本,并将增广样本与原始样本一起作为下一轮迭代的训练样本。另外需要注意的是,每一轮迭代的增广样本都仅由原始样本产生,不会从上一轮的增广样本产生本轮的增广样本,其中,训练集为获取的所有的图像。
有益效果
本发明主要解决了传统图像数据增广方法中,生成的样本由于没有包含足够多的判别性信息而成为噪声样本的问题,有益效果主要包括以下两点:
(1)通过对判别性区域进行区域裁剪,可以排除其他与分类无关的区域的干扰,使模型更专注于学习判别性区域的特征,提升模型的分类效果。
(2)通过将一张图片的判别性区域和另一张不同类别的图片的非判别性区域进行区域混合,可以保证生成的新样本中只包含一个类别的判别性信息,避免生成的新样本成为噪声样本,同时可以丰富每个类别的背景变化,提高模型在复杂多变的场景中的特征提取能力。
本发明的一种基于判别性区域定位的图像数据增广方法,采用CAM方法计算原始图像的类激活图,并通过将所述类激活图上采样和取阈值来定位判别性区域;数据增广操作包括两种,分别为区域裁剪和区域混合,其中区域裁剪是通过在判别性区域中随机采样一个正方形区域,并基于所采样的正方形区域对原始图像进行裁剪;区域混合是随机取两张不同类别的图片,分别求出两张图片的判别性区域掩膜,再根据所述掩膜将两张图片的判别性区域和非判别性区域进行混合;将基于所述原始图像得到的增广样本与下一个所述原始图像作为下一轮迭代的训练样本生成对应的下一个所述增广样本,直至训练结束,其中,若当前迭代为第一次迭代训练,则根据获取的所述原始图像生成对应的增广样本,若当前迭代为满足结束训练时的迭代训练,则将当前迭代产生的增广样本进行输出,结束训练,本发明的数据增广方法可以提高卷积神经网络的图像分类效果,同时解决传统数据增广方法中生成的样本由于没有包含足够多的判别性信息而成为噪声样本的问题。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。