当前位置: 代码迷 >> 综合 >> Multi-crop at test time
  详细解决方案

Multi-crop at test time

热度:81   发布时间:2023-12-12 01:12:54.0

在测试阶段,使用single crop/multiple crop得到的结果是不一样的[0],相当于将测试图像做数据增强。

一些技巧:

  1. 单纯将测试图像resize到某个尺度(例如256xN),选择其中centor crop(即图像正中间区域,比如224x224),作为CNN的输入,去评估该模型
  2. Multiple Crop的话具体形式有多种,可自行指定,比如:
  • 10个crops: 取(左上,左下,右上,右下,正中)以及它们的水平翻转。这10个crops在CNN下的预测输出取平均作为最终预测结果。
  • 144个crops:这个略复杂,以ImageNet为例:
    • 首先将图像resize到4个尺度(比如256xN,320xN,384xN,480xN)
    • 每个尺度上去取(最左,正中,最右)3个位置的正方形区域
    • 对每个正方形区域,取上述的10个224x224的crops,则得到4x3x10=120个crops
    • 对上述正方形区域直接resize到224x224,以及做水平翻转,则又得到4x3x2=24个crops
    • 总共加起来得到120+24=144个crops,所有crops的预测输出的平均作为整个模型对当前测试图像的输出

 Multi-crop at test time是数据扩充(Data augmentation)应用到图像测试时的一种手段。

以下图为例,把它复制四遍,包含两个镜像版本。

有一种叫作10-crop的技术(crop理解为裁剪的意思),基本意思是,假设取中心区域,裁剪图片后,通过分类器去运行,然后取左上角区域,运行分类器,右上角用绿色表示,左下方用黄色表示,右下方用橙色表示,分别通过分类器来运行,然后对镜像图像做同样的事情。即取中心的crop,然后取四个角落的crop,通过分类器来运行这十张图片,最后对结果进行平均。对于multi-crop,它不会占用太多的内存,但它仍然会让你的运行时间变慢。
 


参考:

https://blog.csdn.net/qq_38742161/article/details/87521280

https://www.zhihu.com/question/268494717/answer/356102226

  相关解决方案