MatteFormer:Transformer-based image matting via prior-tokens

【CVPR2022】MatteFormer: Transformer-Based Image Matting via Prior-Tokens-CSDN博客文章浏览阅读1.2k次。【CVPR2022】 MatteFormer: Transformer-Based Image Matting via Prior-Tokens_matteformerhttps://blog.csdn.net/Thinkobj/article/details/128209388本文核心2点:1.提出了PA-WSA(Prior-Attentive Window self-attention),2.通过trimap生成Prior-tokens。目前基于transformer的matting方法,大多就是把swin transformer修修改改,加一些模块,当然也很难验证其所加模块的有效性,也许是transformer本身的能力带来的算法增益。

 composite 1k上的测评结果:

代码:

train_image_file = ImageFileTrain(alpha_dir=config.data.train_alpha,fg_dir=config.data.train_fg,bg_dir=config.data.train_bg)
test_image_file = ImageFileTest(alpha_dir=config.data.test_alpha,merged_dir=config.data.test_merged,trimap_dir=config.data.test.trimap)
train_dataset = DataGenerator(train_image_file, phase='train')
test_dataset = DataGenerator(test_image_file, phase='val')train_dataloader = DataLoader(train_dataset,...)
train_dataloader = Predetcher(train_dataloader)trainer = Trainer(train_dataloader,test_dataloader,...)
- build_model()->
- G = network.get_generator()->
-- generator = Generator_MatteFormer(is_train)
-- encoder = MatteFormer(embed_dim=96,...)
--- patch_embed = PatchEmbed()
--- pos_drop = nn.Dropout()
--- layer = BasicLayer(dim,depth,...)
---- blocks = nn.ModuleList([PASTBlock() for i in range(depth)])
----- attn = PAWSA() norm2 = norm_layer() mlp = MLP()
-- decoder = decoders.__dict__['res_shortcut_decoder']()
- G_optimizer = torch.optim.Adam(G.parameters(),lr...)
- build_lr_scheduler()
trainer.train()
- image, alpha, trimap = image_dict['image'], image_dict['alpha'], image_dict['trimap']
- pred = self.G(image, trimap)
-- inp = torch.cat((image, trimap), axis=1)
-- x = self.encoder(inp, trimap)]
--- 
-- embedding = x[-1]
-- outs = self.decoder(embedding, x[:-1])
--- x = self.patch_embed(x)
--- trimapmask = F.interpolate(trimapmask, scale_factor=1/4, mode='nearest')
--- # get outs[1] outs.append(self.shortcut[1](F.upsample_bilinear(x, scale_factor=2.0)))
--- # dropout
--- x = x.flatten(2).transpose(1, 2)
--- x = self.pos_drop(x)
--- # get outs[2~5]
--- for i in range(self.num_layers):layer = self.layers[i]trimapmask_ = F.interpolate(trimapmask, scale_factor=1/(pow(2, i)), mode='nearest')area_fg = trimapmask_[:, 0, :, :].unsqueeze(-1)  # background areaarea_bg = trimapmask_[:, 2, :, :].unsqueeze(-1)  # foreground areaarea_uk = trimapmask_[:, 1, :, :].unsqueeze(-1)  # unknown areax_out, H, W, x, Wh, Ww = layer(x, Wh, Ww, area_fg=area_fg, area_bg=area_bg, area_uk=area_uk)if i in self.out_indices:norm_layer = getattr(self, f'norm{i}')x_out = norm_layer(x_out)out = x_out.view(-1, H, W, self.num_features[i]).permute(0, 3, 1, 2).contiguous()out = self.shortcut[i+2](out)outs.append(out)return tuple(outs)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/721434.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vmware Fusion 13 安装CentOS、Ubuntu、Windows11虚拟机

Vmware Fusion 13 安装CentOS、Ubuntu、Windows11虚拟机 背景:每次安装都要到处找资源,现在一篇文章足以 文章目录 Vmware Fusion 13 安装CentOS、Ubuntu、Windows11虚拟机一、Mac中安装CentOS虚拟机1️⃣:准备镜像2️⃣:创建虚拟…

GitHub热榜第二的sora同款工具——DUSt3R

目录 Sora - 探索AI视频模型的无限可能 传送门: Sora - 探索AI视频模型的无限可能 随着人工智能技术的飞速发展,AI视频模型已成为科技领域的新热点。而在这个浪潮中,OpenAI推出的首个AI视频模型Sora,以其卓越的性能和前瞻性的技…

《低代码平台开发实践:基于React》读书心得与实战体验

低代码平台开发实践标题 🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 📘 一、引…

现代信号处理学习笔记(三)信号检测

通过观测数据判断信号是否存在,这一问题称为信号检测。 目录 前言 一、统计假设检验 1、信号检测的基本概念 2、信号检测理论测度 比率测度 概率测度 3、决策理论空间 二、概率密度函数与误差函数 1、概率密度函数 2、误差函数与补余误差函数 三、检测概…

工业镜头的重要参数之视场、放大倍率、芯片尺寸--51camera

今天来简单介绍下工业镜头中常用的参数中的三个: 1、视场 视场(FOV)也称视野,是指能被视觉系统观察到的物方可视范围。 对于镜头而言,可观察到的视场跟镜头放大倍率及相机芯片选择有关。因此需要根据被观察物体的尺寸&#xff…

史上最全的大数据开发八股文【自己的吐血总结】

自我介绍 我本硕都是双非计算机专业,从研一下开始学习大数据开发的相关知识,从找实习到秋招,我投递过100公司,拿到过10的offer,包括滴滴、字节、蚂蚁、携程、蔚来、去哪儿等大厂(岗位都是大数据开发&#…

快速上手:在 Android 设备上运行 Pipy

Pipy 作为一个高性能、低资源消耗的可编程代理,通过支持多种计算架构和操作系统,Pipy 确保了它的通用性和灵活性,能够适应不同的部署环境,包括但不限于云环境、边缘计算以及物联网场景。它能够在 X86、ARM64、海光、龙芯、RISC-V …

根据用户名称实现单点登录

一、参数格式 二、后端实现 Controller层 public class IAccessTokenLoginController extends BaseController {Autowiredprivate ISysUserService sysUserService;Autowiredprivate ISingleTokenServiceImpl tokenService;/*** 登录方法** return 结果*/PostMapping("/l…

器件选型【二极管,电感篇】

二极管篇: 一句话总结:二极管选型时主要考虑二极管的最大反向电压,反向电流,最高工作频率(由结电容决定),反向恢复时间 二极管的主要作用是防反接,续流 二极管结电容: 在高频电路中&#xff…

JeecgBoot Vue3前端项目性能优化按需加载方案

JeecgBoot vue3前端项目在 3.5.5 版本之前,的确存在很严重的性能问题,大家可以参考以下文档进行升级。 按需加载改造方法 1、全局注册地方去掉2、组件改成异步注册3、用不到的大组件可以删掉 【精简项目方案】 大组件 1、富文本 tinyme2、Markdown3、…

NVIDIA GTC 2024将回归线下

NVIDIA 宣布将于 3 月 18 日至 21 日在圣何塞会议中心举办 GTC 2024 大会。预计将有超 30 万人亲临现场或线上注册参会。NVIDIA 创始人兼首席执行官黄仁勋将于太平洋时间 3 月 18 日(星期一)下午 1 点,即北京时间 3 月 19 日(星期…

前端- 基础 表单标签 - 使用场景及组成

大家都有到银行去办理业务的时候,大多数情况下会填一些 纸质的表之类的东西如下图 而我们在网页中也会经常遇到 像现实生活中在银行填表那样的情景,如下图 : 上示就是 网页中的表单的使用场景了 表单标签 : 为什么需要表单 …

290. Word Pattern一个击败了100C++用户的代码

题目描述 Given a pattern and a string s, find if s follows the same pattern. Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in s. Example 1: Input: pattern “abba”, s “dog c…

吴恩达机器学习笔记:第5周-9 神经网络的学习1(Neural Networks: Learning)

目录 9.1 代价函数9.2 反向传播算法9.3 反向传播算法的直观理解 9.1 代价函数 首先引入一些便于稍后讨论的新标记方法: 假设神经网络的训练样本有𝑚个,每个包含一组输入𝑥和一组输出信号𝑦,𝐿…

【2024】使用Vuetifi搭建vue3+Ts项目,并使用tailwind.css

目录 使用Vuetifi搭建项目使用tailwind.css 只要跟着官方文档来就不会出错。 使用Vuetifi搭建项目 npm create vuetifyyarn create vuetifypnpm create vuetifybun create vuetify在终端运行一个就行,之后就可以选配置了。 使用tailwind.css 先运行: …

【数据结构】数组、双链表代码实现

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

Spring中最常用的11个扩展点

前言 我们一说到spring,可能第一个想到的是 IOC(控制反转) 和 AOP(面向切面编程)。 没错,它们是spring的基石,得益于它们的优秀设计,使得spring能够从众多优秀框架中脱颖而出。 除…

C++输入输出(I\O)

我们知道C是由C语言发展而来的,几乎完全兼容C语言,换句话说,你可以在C里面编译C语言代码。如下图: C语言是面向过程的语言,C在C语言之上增加了面向对象以及泛型编程机制,因此C更适合中大型程序的开发,然而C…

kafka(三)springboot集成kafka(1)介绍

一、相关组件介绍 1、pom&#xff1a; <dependencies><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.0.0</version></dependency> </dependencies> 2、k…

vulhub中Wordpress 4.6 任意命令执行漏洞复现

由于Mysql初始化需要一段时间&#xff0c;所以请等待。成功运行后&#xff0c;访问http://your-ip:8080/打开站点&#xff0c;初始化管理员用户名和密码后即可使用&#xff08;数据库等已经配置好&#xff0c;且不会自动更新&#xff09;。 发送如下数据包&#xff0c;可见/tmp…