技术领域
本发明涉及一种软件测试技术中的测试数据生成方法,尤其涉及一种基于融合变异的测试数据生成方法,属于计算机技术领域。
背景技术
目前军用图像识别信息服务能够有效辅助用户快速识别图像信息,但对于测评机构而言,军用信息服务的测试图像较少,而且在军方的图像识别中,被识别目标的隐蔽性往往较大,部分测试数据可能还依赖于厂家训练数据的问题,导致测试结果可信度受到影响,缺陷发现能力不高。如何获取足够多且符合现实世界场景的高质量测试数据成为关键问题。
发明内容
对于测评机构而言,军用信息服务的测试图像较少,而且在军方的图像识别中,被识别目标的隐蔽性往往较大,部分测试数据可能还依赖于厂家的训练数据的问题,导致测试结果可信度受到影响,缺陷发现能力不高,本发明提供一种基于融合变异的测试数据生成方法,要解决的就是在军用图像识别目标隐蔽性较大且测试数据不足的情况下如何生成符合实际场景、足够多且高质量的测试数据。
本发明为解决上述问题采用以下技术方案:
一种基于融合变异的测试数据生成方法,该方法包括以下步骤:
1)在被测软件的原厂测试数据集中随机选取若干未进行过迷彩遮蔽伪装的图像测试数据,作为种子图像测试数据;
2)在被测软件的原厂测试数据集中随机选取若干进行过迷彩遮蔽伪装的图像测试数据,作为欺骗性图像;
3)分别对种子图像测试数据和欺骗性图像按亮度值进行量化,并根据量化结果将种子图像测试数据和欺骗性图像划分为多个连通区域;
4)调整欺骗性图像中各连通区域的亮度分布,使其介于欺骗性图像的原始亮度值和种子图像测试数据的亮度值分布之间,得到变异后的欺骗性图像;
5)生成种子图像测试数据和欺骗性图像的纹理库,其中纹理库中的每一项为图像的纹理片及该纹理片对应的亮度片;
6)根据2)中欺骗性图像变异后亮度赋值的结果在纹理库中寻找最匹配的亮度片,并用该亮度片对应的纹理片对种子图像测试数据进行纹理合成,生成新的图像测试数据。
进一步,4)中利用python中skimage包中exposure模块调整欺骗性图像中各连通区域的亮度分布。
进一步,3)中采用种子填充法划分连通区域。
进一步,该方法还包括:在6)中的纹理合成后中利用python中opencv库调整合成后图像的对比度,以生成新的图像测试数据。
进一步,6)中采用基于样图的纹理合成方法进行纹理合成。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:本发明首先结合被测软件收集一定量种子图像测试数据和欺骗性图像,对这些种子图像和欺骗性图像按亮度值量化,并根据结果将其分割为多个连通区域。其次,我们对欺骗性图像进行亮度赋值,使其介于原始值和种子图像的亮度分布之间。再次,我们生成两种图像的纹理库,其中每一项为图像的纹理片及其对应亮度片,根据亮度赋值结果在纹理库中寻找最匹配的亮度片,并用其对应纹理片对种子图像测试数据进行纹理合成。最后,我们通过调整合成图像对比度细化合成结果,得到新的图像测试数据。通过实验证明,本发明能够根据一定量种子图像测试数据和欺骗性图像通过融合变异生成较高质量的新图像测试数据,从而对某些智能图像识别软件的准确性进行较为充分的测试。
附图说明
图1为本发明的方法框架示意图;
图2为种子图像测试数据;
图3为欺骗性图像;
图4为图2经融合变异后结果图像。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
本发明是一种基于融合变异的测试数据生成方法,方法框架如图1所示,该方法包括以下步骤:
1)种子图像测试数据和欺骗性图像获取
首先我们可以向厂家索要被测软件的测试数据集(原始测试数据集),从中选取一部分图片作为种子图像测试数据(不具有欺骗性,例如没有进行迷彩伪装过的汽车、飞机等,如图2所示)和欺骗性图像(欺骗性图像是指该图像进行过军用伪装,这里仅指迷彩遮蔽伪装,迷彩遮蔽伪装是用涂料、染料和其它材料改变目标和背景的颜色、图案所实施的一种军用伪装技术。例如在作战中,用涂料、染料和其它材料为汽车添加迷彩伪装遮蔽,将其伪装成具有相似纹理的草地,这里伪装的汽车即为一张欺骗性图像,如图3所示)。
2)融合变异
首先,对种子图像测试数据和欺骗性图像按亮度值进行量化,并根据结果将种子图像测试数据和欺骗性图像划分为多个连通区域,这里采用种子填充法进行划分,种子填充方法来源于计算机图形学,常用于对某个图形进行填充,大致思路:选取一个前景像素点作为种子,然后根据连通区域的两个基本条件(像素值相同、位置相邻)将与种子相邻的前景像素合并到同一个像素集合中,最后得到的该像素集合则为一个连通区域。
其次,对欺骗性图像进行亮度赋值,通过调整(利用python中skimage包中exposure模块)欺骗性图像中各连通区域的亮度分布进行变异,使其介于欺骗性图像的原始亮度值和种子图像测试数据的亮度值分布之间,其中图的节点是图像前景和背景(例如一张飞机图片,飞机为前景,天空等为背景)的连通区域。
再次,生成种子图像测试数据和欺骗性图像的纹理库,其中纹理库中的每一项目标为图像的纹理片及该纹理片对应的亮度片。
3)新的图像测试数据生成
根据2)中欺骗性图像变异后亮度赋值的结果在纹理库中寻找最匹配的亮度片(即和欺骗性图像变异后的亮度值最相近的亮度片),并用该亮度片对应的纹理片对种子图像测试数据进行纹理合成,这里采用基于样图的纹理合成,基于样图的纹理合成技术是近几年迅速发展起来的一种新的纹理拼接技术,它基于给定的小区域纹理样本,按照表面的几何形状,拼合生成整个曲面的纹理,它在视觉上是相似而连续的。最后,我们通过调整合成后图像的对比度来进一步细化合成效果(利用python中opencv库),从而得到新的图像测试数据(如图4所示)。
接下来说明本发明所用技术方法。
一、基于融合变异的测试数据生成算法
基于融合变异的测试数据生成算法具体流程如下:
1)算法的输入:
A、种子图像测试数据集合G;
B、变异规则M
C、欺骗性图像集合GS。
2)算法的输出:新的图像测试数据集合TS。
3)初始化,初始化TS为空。
4)在测试强化需求未满足的情况下:
如果GS不为空:分别从G和GS中随机选择一个种子图像测试数据G
如果GS为空:生成失败,提示用户已无欺骗性图像用于融合变异生成。
二、纹理合成技术
纹理合成是为了解决纹理映射中存在的接缝走样等问题而提出的,目前纹理合成方法可分为两类:一类为过程纹理合成(PTS),另一类为基于样图的纹理合成(TSFS)。过程纹理合成通过对物理生成过程的仿真直接在曲面上生成纹理,如毛发、云雾、木纹等,从而避免了纹理映射带来的失真。这种方法可以获得非常逼真的纹理,但对每一种新的纹理,却需要调整参数反复测试,非常不便,有的甚至无法得到有效的参数。自然界中存在大量的纹理,这些纹理往往具有自相似性,即一小块纹理就能反映整体纹理的特点。这就促使人们着手研究基于样图的纹理合成方法以取得更有效的成果:给定一小块纹理,生成大块相似的纹理。
本发明中采用的是基于样图的纹理合成,基于样图的纹理合成技术是近几年迅速发展起来的一种新的纹理拼接技术,它基于给定的小区域纹理样本,按照表面的几何形状,拼合生成整个曲面的纹理,它在视觉上是相似而连续的,大致步骤如下:
1)我们从原始的纹理图像中一个随机的抽取一个小块,放到目标图像的左上角
2)按照从左到右,从上到下,抽取出块重叠的部分的数据,并计算这部分数据和原始纹理图像中各块的相似度。
3)如果将选中的块直接拼贴到目标图中,则很明显两个块之间由过渡不会太自然,一种较好的方式就是在选中的块和重叠的部分找到一条路径,在该路径的两侧像素的距离和最小,如果使用暴力的方式去寻找这条路径,则是非常耗时和不必要的,文章介绍使用了贪心算法来寻找这条路径。
4)按照路径的位置贴入新的数据。
我们根据欺骗性图像变异后亮度赋值的结果在纹理库中寻找最匹配的亮度片(即和欺骗性图像变异后的亮度值最相近的亮度片),并用该亮度片对应的纹理片对种子图像测试数据进行纹理合成。
三、图像连通区域划分技术
连通区域一般是指图像中具有相同像素值且位置相邻的前景像素点组成的图像区域。连通区域分析是指将图像中的各个连通区域找出并标记。
在本发明中采用种子填充法进行连通区域划分,种子填充方法来源于计算机图形学,常用于对某个图形进行填充。思路:选取一个前景像素点作为种子,然后根据连通区域的两个基本条件(像素值相同、位置相邻)将与种子相邻的前景像素合并到同一个像素集合中,最后得到的该像素集合则为一个连通区域,大致步骤如下:
1)扫描图像B,直到当前像素点B(x,y)==1:
a、将B(x,y)作为种子(像素位置),并赋予其一个label,然后将该种子相邻的所有前景像素都压入栈中;
b、弹出栈顶像素,赋予其相同的label,然后再将与该栈顶像素相邻的所有前景像素都压入栈中;
c、重复b步骤,直到栈为空;
此时,便找到了图像B中的一个连通区域,该区域内的像素值被标记为label;
2)重复第1)步,直到扫描结束;
扫描结束后,就可以得到图像B中所有的连通区域。
我们首先对种子图像测试数据和欺骗性图像按亮度值进行量化,并根据结果使用种子填充法将种子图像测试数据和欺骗性图像划分为多个连通区域。
综上所述本发明开创性提出了一种通过对种子图像测试数据运用融合变异技术来生成新图像测试数据的方法,生成的新图像测试数据较为符合现实世界场景并且具有较高的质量,可以充分地对某些智能图像识别软件(如军用信息服务、医疗信息服务等)的准确性进行测试。通过实验证明,本发明能够根据一定数量的种子图像测试数据和欺骗性图像通过融合变异技术生成较高质量的新测试图像数据。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
机译: 该方法和在玻璃工业中的用途,特别是用于保护零件免受基于钯的熔融合金的腐蚀,该熔融合金包含至少一种元素消亡玻璃。
机译: 一种基于局部变异的图像检索兴趣点和查找图像描述符的方法及其记录介质
机译: 一种通过与经由摄像机获取的信息获取的信息来提供通过融合信息来提供基于相机的鲁棒对象距离的方法,以执行相机的更精细的音调校准等。设备使用