深度学习概念之overlapping patches

参考博客:【patch】CNN中 patch 是什么?patch 在CNN学习训练中是怎么起作用的?_远岫出烟云的博客-CSDN博客_cnn patch

深度学习之ViT_Ton10的博客-CSDN博客

在读论文时,发现了overlapping patches这个词我不懂,以下是我总结的内容:

overlapping patches:中文意思是部分重叠的图像块。

ViT用的是non-overlapping patches,而AST用的是overlapping-patches。

patch可以通俗地理解为图像块,当需要处理的图像分辨率太大而资源受限(比如显存、算力等)时,就可以将图像划分成一个个小块,这些小的图像块就是patch。patch 和 kernel 的大小可以是不一致的,但 patch size ≥ kernel size。

有关patch的计算公式:

1.H、W、C分别表示图片的高、宽、通道数。所以X\epsilon R^{H\times W\times C}表示输入图像。

2.P\times P表示图像patch的size,所以N=\frac{HW}{P^{2}}表示一张图片中patch的个数。

3.然后将每张patch进行flatten展平产生一个1D的向量(p\times p\rightarrow 1\times p^{2}),然后将N个patch堆叠起来,输出为X_{p}=R^{N\times (P^{2}C)}表示将N个patch进行flatten展平之后的矩阵,将它嵌入之后就是固定长度为D的patch向量了,D表示patch嵌入之后的向量的固定长度。

X_{p}结构如右所示:在这里插入图片描述


版权声明:本文为m0_60497540原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。