<<大型语言模型LLM与Visual>>
LLM入门3 | 基于cpu和hugging face的LLaMA部署
必须赶紧学习一下,大模型已经烧到CV的家门口了。
我们在 Meta AI Research 和 FAIR 的团队开发了一个称为 SAM 的分割基础模型,其中包括一个可提示的分割任务、一个分割模型和一个数据引擎。 我们的数据集拥有超过 10 亿个masks和 1100 万张图像。
在这项工作中,我们的目标是建立一个基础图像分割模型。 也就是说,我们寻求开发一个可提示的模型并使用任务在广泛的数据集上对其进行预训练,这使得强大的泛化成为可能。 有了这个模型,我们,旨在解决一系列下游细分问题,使用提示工程在新数据分布上。
Promptable segmentation is a new task in image segmentation that involves segmenting an image based on a natural language prompt. This means that instead of manually selecting regions of interest or using pre-defined labels, the model is given a prompt in natural language and generates a segmentation mask based on that prompt.
可提示分割是图像分割中的一项新任务,涉及基于自然语言提示分割图像。 这意味着不是手动选择感兴趣的区域或使用预定义的标签,而是给模型一个自然语言的提示,并根据该提示生成一个分割掩码。
ambiguity-aware refers to the ability of the model to handle ambiguous input prompts. A single input prompt may correspond to multiple valid masks, and the model must learn to average over these masks. To eliminate this problem, SAM uses a small number of output tokens and predicts multiple masks simultaneously. During training, the loss is computed between the ground truth and each of the predicted masks, but only backpropagated from the lowest loss. This technique ensures that SAM is able to handle ambiguous input prompts effectively. 歧义感知是指模型处理歧义输入提示的能力。 单个输入提示可能对应多个有效掩码,模型必须学习对这些掩码进行平均。 为了消除这个问题,SAM 使用少量输出标记并同时预测多个掩码。 在训练期间,损失是在真实值和每个预测掩码之间计算的,但仅从最低损失反向传播。 该技术确保 SAM 能够有效地处理不明确的输入提示。
可提示分割任务和真实世界对模型的要求,包含模型支持flexible prompt, real-time speed and ambiguity-aware。因此选择了这样的模型结构:
可以理解为是网页端的,对数据进行标注的一个工具,然后模型根据标注结果进行在线学习,然后模型会给出更好的分割结果,不断减轻标注人员的压力。
包含三个部分:
我们是基于Transformer Vision Models,同时做了一些tradeoffs,为了real-time performance。
【image encoder】 受到可扩展和强大的预训练方法,我们使用了MAE来预训练ViT。图像编码器运行一次就可以得到每个图片的embedding了
【Prompt encoder】 我们考虑了两种prompt:
【mask decoder】 使用一个modification of a transformer decoder block和一个dynamic mask prediction head。我们的modified解码器使用了提示的自注意力和两个方向的交叉注意力(prompt-to-image embedding and image-to-prompt embedding)。运行两个blocks后,我们上采样图像embedding,然后一个MLP来把output token映射到动态的线性分类器,也就是计算mask概率的。
【Resolving ambiguity】 我们让模型一次预测多个输出结构 for a single prompt。想这幅图一样
图中的绿色点是一个prompt,模型给出了三个不同的output。
我们发现三个mask的outputs足够解决大多数的问题,一般这三个是整体、部分和子部分不同层级的。在训练的时候,我们仅仅反向传播最小的loss。模型同时会给出一个confidence score,就像是目标检测中的IoU一样,这样可以给mask进行排序。这里的做法和目标检测YOLO的多预测类似。
【损失函数和训练】 我们有监督的训练mask prediction使用focal loss和dice loss的线性组合。
下一篇主要仔细剖析SAM的官方代码及本地部署。这个虽然是大模型,但是是很轻量的模型只有不到1B的参数。
<<其他>>
医学图像重建 | Radon变换,滤波反投影算法,中心切片定理
功能连接矩阵 | 双向LSTM深度时间组学习针对轻度认知障碍
ICA | 用RNN-ICA探索功能核磁内在网络模型的时空动力学
WBIR | DeepSTAPLE:UDA任务下学习多模态配准质量
<<AlphaFold2专题>>
alphaFold2 | 模型细节之Evoformer(四)
alphaFold2 | 补充Evoformer之outer productor mean(五)
<<StyleGAN2专题>>
生成专题1 | 图像生成评价指标 Inception Score (IS)
<<蛋白质分子结构相关>>
NLP | 简单学习一下NLP中的transformer的pytorch代码
DTI特征工程 | iDTI-ESBoost | 2017 | REP
DTI | Drug-target interaction基础认识
<<CVPR目录>>
第一弹CVPR 2021 | 多分辨率蒸馏的异常检测 VIT Vision Transformer | 先从PyTorch代码了解
preprint版本 | 何凯明大神新作MAE | CVPR2022最佳论文候选
简单的结构 | MLP-Mixer: An all-MLP Architecture for Vision | CVPR2021
域迁移DA |Addressing Domain Shift for Segmentation | CVPR2018
医学图像配准 | SYMnet 对称微分同胚配准CNN(SOTA) | CVPR2020
光流 | flownet | CVPR2015 | 论文+pytorch代码
图像分割 | Context Prior CPNet | CVPR2020
自监督图像论文复现 | BYOL(pytorch)| 2020
自监督SOTA框架 | BYOL(优雅而简洁) | 2020
笔记 | 吴恩达新书《Machine Learning Yearning》
图片质量评估论文 | 无监督SER-FIQ | CVPR2020
图像质量评估论文 | Deep-IQA | IEEETIP2018
图像质量评估论文 | rank-IQA | ICCV2017
注意力论文解读(1) | Non-local Neural Network | CVPR2018 | 已复现
卷积网络可解释性复现 | Grad-CAM | ICCV | 2017
轮廓检测论文解读 | Richer Convolutional Features| CVPR | 2017
轮廓检测论文解读 | 整体嵌套边缘检测HED | CVPR | 2015
卷积涨点论文复现 | Asymmetric Conv ACNet | ICCV | 2019
pytorch实现 | Deformable ConvNet 可变卷积(下) | CVPR | 2017
图像处理论文详解 | Deformable Convolutional Networks (上)| CVPR | 2017
<<小白学PyTorch>>
扩展之Tensorflow2.0 | 21 Keras的API详解(下)池化、Normalization层
扩展之Tensorflow2.0 | 21 Keras的API详解(上)卷积、激活、初始化、正则
扩展之Tensorflow2.0 | 20 TF2的eager模式与求导
扩展之Tensorflow2.0 | 19 TF2模型的存储与载入
扩展之Tensorflow2.0 | 18 TF2构建自定义模型
扩展之Tensorflow2.0 | 17 TFrec文件的创建与读取
扩展之Tensorflow2.0 | 16 TF2读取图片的方法
扩展之Tensorflow2.0 | 15 TF2实现一个简单的服装分类任务
小白学PyTorch | 14 tensorboardX可视化教程
小白学PyTorch | 13 EfficientNet详解及PyTorch实现
小白学PyTorch | 12 SENet详解及PyTorch实现
小白学PyTorch | 11 MobileNet详解及PyTorch实现
小白学PyTorch | 9 tensor数据结构与存储结构
小白学PyTorch | 7 最新版本torchvision.transforms常用API翻译与讲解
小白学PyTorch | 6 模型的构建访问遍历存储(附代码)
小白学PyTorch | 5 torchvision预训练模型与数据集全览
小白学PyTorch | 3 浅谈Dataset和Dataloader
<<小样本分割>>
<<图网络>>
图网络 | Graph Attention Networks | ICLR 2018 | 代码讲解
<<图像质量评估>>
图片质量评估论文 | 无监督SER-FIQ | CVPR2020
图像质量评估论文 | Deep-IQA | IEEETIP2018
图像质量评估论文 | rank-IQA | ICCV2017
<<图像轮廓检测>>
轮廓检测论文解读 | Richer Convolutional Features| CVPR | 2017
轮廓检测论文解读 | 整体嵌套边缘检测HED | CVPR | 2015
<<光流与配准>>
医学图像配准 | SYMnet 对称微分同胚配准CNN(SOTA) | CVPR2020
光流 | flownet | CVPR2015 | 论文+pytorch代码
医学图像配准 | Voxelmorph 微分同胚 | MICCAI2019
<<DA域迁移>>
域迁移DA |Addressing Domain Shift for Segmentation | CVPR2018
self-training | 域迁移 | source-free的域迁移(第一篇)
self-training | MICCAI2021 | BN层的source free的迁移
<<医学图像AI>>
医学图像 | DualGAN与儿科超声心动图分割 | MICCA
医学AI论文解读 | 超声心动图在临床中的自动化检测 | Circulation | 2018 | 中英双语
<<小白学图像(网络结构)>>
卷积网络可解释性复现 | Grad-CAM | ICCV | 2017
孪生网络入门(下) Siamese Net分类服装MNIST数据集(pytorch)
3D卷积入门 | 多论文笔记 | R2D C3D P3D MCx R(2+1)D
小白学目标检测 | RCNN, SPPNet, Fast, Faster
小白学图像 | BatchNormalization详解与比较
小白学图像 | Group Normalization详解+PyTorch代码
<<小白学机器学习>>
小白学SVM | SVM优化推导 + 拉格朗日 + hingeLoss
小白学LGB | LightGBM = GOSS + histogram + EFB
机器学习不得不知道的提升技巧:SWA与pseudo-label
五分钟理解:BCELoss 和 BCEWithLogitsLoss的区别
<<小白面经>>