小编程(四):Tensrflow 中BILINEAR和BICUBIC混合使用,单次上采样和多次上采样问题

       UpSample操作在Object Tracking中(如前面的SiameseFC方法)经常出现,笔者就分步上采样问题做了一个小实验。

实验说明

       该对比实验选择两种采样方法:方法1采用两次上采样,method记为A和B,分别从17*17通过A上采样到33*33,再通过B上采样到272*272;方法2采用一次上采样,method记为C,直接将17*17上采样到272*272。实际上是对tf.image.resize_images中method为tf.image.ResizeMethod.BICUBIC或 tf.image.ResizeMethod.BILINEAR进行一个小的对比实验。

       这里的17*17实际上模拟的是SiameseFC输出的相似度矩阵,代码在构建17*17响应的时候也有一些考量,中间响应普遍较大,周边响应普遍较小,所以在生成17*17的时候中间7*7区域单独生成一个较大的响应区域,然后也就该响应区域是否该加上一个cosine window也做了对比实验。

实验记录

       样本模拟,图1是原始的17*17的响应图。图2是7*7的较大响应区域(显示问题,2中的值实际上都比1中的大,详细的可见代码),图3是7*7的cosine window,图4是原始7*7响应图经过cosine window之后的图,图5是最终的17*17的响应模拟图,符合中间响应大特点,当然这只是对响应图的一种模拟,和真实的情况可能会有些差异。

             

       实验结果,ABC分别设置为BICUBIC或BILINEAR的对比结果,第四列是进行100组上采样操作,两个方法(A+B和C)最终最大响应值位置不同的数量,"/"左右分别为不加cosine window和加上它的结果。第五列是指这两种方法得到的最大响应位置的相对偏移量。结果表明:同是BICUBIC或BILINEAR,分步上采样时,BILINEAR完全一样,BICUBIC则存在偏差;两步中都有BICUBIC和BILINEAR时,和只有BICUBIC的相差更大。对于这样的一种响应图,分析上采样方式,也能得到一个定性的结果,这里也只是为了给一个定量的结果。当然还有些其他的组合这里没给,代码中设置即可。


猜你喜欢

转载自blog.csdn.net/stayfoolish_fan/article/details/79011190
今日推荐