GroupViT 学习笔记

x33g5p2x  于2022-04-14 转载在 其他  
字(0.7k)|赞(0)|评价(0)|浏览(343)

GroupViT 架构

GroupViT 包含按阶段分组的 Transformer 层的分层结构,每个阶段会处理逐渐放大的视觉片段。右侧的图像显示了在不同分组阶段要处理的视觉片段。在初期阶段模型将像素分组为局部对象,例如大象的鼻子和腿。在更高的阶段进一步将它们合并成整体,例如整个大象和背景森林。

每个分组阶段都以一个分组块结束,该块会计算学习到的组标记和片段(图像)标记之间的相似度。相似度高的组会分配给同一组的段标记并合并在一起,并做进入下一个分组阶段的新段标记。

GitHub - NVlabs/GroupViT: Official PyTorch implementation of GroupViT: Semantic Segmentation Emerges from Text Supervision, CVPR 2022.
 

分块的方法是用了384个1616的卷积核,步长为1616,把图像分割为3841414个特征。

self.proj = nn.Conv2d(in_chans, embed_dim, kernel_size=kernel_size, stride=stride, padding=padding)

我把代码提取出来:

# -------------------------------------------------------------------------
# Copyright (c) 2021-2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
from collections import OrderedDict

import torch
import torch.nn as nn
import torch.nn.functional as F
import t

相关文章