cifar-10图像插值方法对训练模型结果的影响

有的时候我们为了使用比较的神经网络训练cifar-10数据集。
这时,就不得不对resolution=32*32 的图像进行放大。来适应更深的 neutral network。
图像放大主要方法是差值。常用方法包括:线性插值双线性插值双三次插值


文就几种常用的插值方法讨论他们对神经网络训练的结果的影响。以图像检索为例。

1、单纯比较几种方法性能优劣

method 计算量 插值结果
nearest 最少 没考虑其他相邻像素点的影响,因而重新采样后灰度值有明显的不连续性,图像质量损失较大,马赛克和锯齿现象
bilinear 中等 考虑临近4个点,不会出现像素值不连续的的情况,由于双线性插值具有低通滤波器的性质,使高频分量受损,所以可能会使图像轮廓在一定程度上变得模糊
bicubic 最大 考虑周围16个点,插值放大后损失最小,计算量大

2、用插值后的数据训练。

将原图【32*32】放大了49倍的结果进行训练 resize之后【224*224】。调优模型VGG_F model,在cifar-10上取得的mAP。见下表。注:表中的loss项绝对值没有意义,主要是看相对值。

cifar-10 nearest bilinear bicubic
mAP 0.8300 0.8398 0.8478
loss 0.466048 0.452017 0.448742

-注:训练集50000,测试集10000。训练epoch=150

cifar-10 nearest bilinear bicubic
mAP 0.8614 0.8802

-注:查询集59000,测试集:1000

3、在loss中加入softmax损失,如何影响结果?

cifar-10 epoch=80 epoch=90 epoch=110 epoch=150
mAP 0.8480 0.8500 0.8549 0.8560

-注:训练集50000,测试集10000。训练采用bilinear插值法。

4、小结

通过对比试验,可以看到,差值算法选取不同,训练的结果也随之受到一定的影响:

1 从训练结果来看,总体而言,nearest < bilinear < bicubic
2 从训练集的数量来看,trainSet=5000 image(mAP ~ 0.71) << trainSet=50000 (mAP ~ 0.84)
3 从loss中加入softmax对结果影响来看,softmax能有效的加快网络的收敛,同时能一定程度的提高网络精度

过两天贴出测试代码以及流程。敬请关注

你可能感兴趣的:(matlab,ImgRetri,Algorithm)