首页 理论教育纹理数据库及实验设定探析

纹理数据库及实验设定探析

【摘要】:为了验证本节方法的性能,选择在4个不同类型的纹理数据库上开展广泛的实验。UIUC纹理图像数据库含有25个纹理类别,包括花岗岩、木材、砖块、水流、大理石、砂砾、石头、玻璃、地毯、树皮、纸张、动物的皮毛、织物等。UIUC纹理库:每类20个训练样本,10个验证样本,10个测试样本。为了获得稳定的实验结果,在每个纹理库上开展实验时,独立进行10次实验,计算这10次实验结果的平均值,将其作为最终的纹理识别结果。

为了验证本节方法的性能,选择在4个不同类型的纹理数据库(CUReT、KTH-TIPS、UIUC、UMD)上开展广泛的实验。其中,KTH-TIPS和CUReT是常用的标准纹理库,用于评估算法的基本性能;UIUC和UMD是样本数量较少的纹理库,用于评估算法在训练样本数量较少时的性能。

CUReT彩色纹理库的拍摄对象是真实世界中存在的61类纹理材料(如毛毡、皮革、砂纸、丝绒、毛玻璃、草皮、铝箔、海绵、动物皮毛和面包等),每个类别包含92个纹理样本图像,即该纹理库一共有5 612个纹理样本图像,并且每个样本图像的分辨率均为200×200,这些样本图像是在不同的光照条件和不同的视角下拍摄的。对CUReT纹理库而言,其特征提取和识别的难度在于该纹理库的很多样本具有较大的类内差异和较小的类间差异,同时光照条件等因素的影响以及CUReT纹理库的样本类别数目较多,这些因素都增加了CUReT纹理库中样本图像特征提取和识别的难度,使CUReT纹理库成为一个富有挑战性的标准纹理图像数据库。

KTH-TIPS彩色纹理库由10个类别的纹理材料组成,具体包括铝箔、砂纸、海绵、灯芯绒、亚麻布、棉织物、面包、橘子皮、聚苯乙烯泡沫和薄脆饼干。对每个类别的纹理材料,在3种不同的照明条件、3个不同的视角和9个不同的尺度条件下进行拍摄,所以每个类别可获取3 ×3 ×9 =81个样本图像,因此KTH-TIPS纹理库一共含有810个样本图像。在拍摄样本图像时,通过改变相机与样本的距离来改变尺度参数,大部分样本图像的分辨率为200×200。和CUReT纹理库相比,虽然KTH-TIPS纹理库的样本类别数目减少了(CUReT纹理库含有61个纹理类别,而KTH-TIPS纹理库含有10个纹理类别),但KTH-TIPS纹理库最大的挑战性是引入了CUReT纹理库所不具有的大范围的尺度变化,这些因素增加了KTH-TIPS纹理库中纹理样本的识别难度,使在KTH-TIPS纹理库上开展纹理图像的特征提取和识别任务变得更具挑战性。

UIUC纹理图像数据库含有25个纹理类别,包括花岗岩、木材、砖块、水流、大理石、砂砾、石头、玻璃、地毯、树皮、纸张、动物的皮毛、织物等。UIUC纹理库的每个类别含有40个样本图像,每个纹理图像的分辨率均为640×480。对于UIUC纹理库,它的纹理特征提取和识别的挑战性在于它的纹理图像具有大幅度的视角和尺度变化,并且还存在显著的表面非刚性变形,这些因素是前面所述的CUReT纹理库、KTH-TIPS纹理库所不具备的,这些复杂的变化因素都增加了UIUC纹理库中样本图像的特征提取和识别难度,使UIUC纹理库成为一个极具挑战性的纹理库。

UMD纹理图像数据库也由25个纹理类别组成,包括货架上的商品、树叶、苹果、树皮、地板、鹅卵石路等,每类纹理有40个样本图像。和UIUC纹理库相比,UMD纹理库的图像场景更大,每个样本图像的分辨率为1280×960,并且含有显著的图像旋转、尺度变化和视角变化,这使UMD纹理库也是一个具有挑战性的纹理库。

本实验采用Python 3.5、Tensorflow 1.15.0、Keras 2.0.8构建软件仿真平台,硬件平台为Intel i5 CPU,Nvidia RTX2070S GPU,内存16 GB。

超参数的初始设置:①对训练样本进行数据增强时,设最大缩放因子为0.2倍、最大旋转角度为60度;②更新模型参数时,选择性能稳健且收敛速度快的Adam算法作为优化器;③初步训练顶端模块时,学习率设为0.001,初步训练的轮数为两轮;④最大训练轮数设为50轮,批尺寸设为10,即每次送入10个样本进行训练;⑤模型的损失函数(即目标函数)采用分类交叉熵函数。

其中,Loss表示交叉熵损失函数值,y表示实际输出,yˆ表示期望输出。

在不同的纹理库上开展实验时,为了方便和其他纹理图像识别方法的结果进行比较,本节采用相同的训练样本个数,即每类选择一半样本作为训练数据。对每类样本的具体划分如下。

(1) CUReT纹理库:每类46个训练样本,10个验证样本,36个测试样本。

(2)KTH-TIPS纹理库:每类40个训练样本,10个验证样本,31个测试样本。

(3)UIUC纹理库:每类20个训练样本,10个验证样本,10个测试样本。

(4)UMD纹理库:每类20个训练样本,10个验证样本,10个测试样本。

为了获得稳定的实验结果,在每个纹理库上开展实验时,独立进行10次实验,计算这10次实验结果的平均值,将其作为最终的纹理识别结果。