MISF:Multi-level Interactive Siamese Filtering for High-Fidelity Image Inpainting 论文解读与感想

article/2025/9/30 22:34:37

深度学习模型被广泛应用于各种视觉任务的同时,似乎传统的图像处理方式已经被人们渐渐遗忘,然而很多时候传统图像处理方式的稳定性和可解释性依然是深度学习模型所不能达到的。本文是CVPR2022的一篇将传统与深度相结合进行inpainting的文章。

在图像inpainting任务中,目前的深度学习模型主要面临两个问题:
1、由于是数据驱动模型,因此深度学习模型在进行inpainting时几乎都是依赖先前的训练数据。这使得其往往忽略了图像相邻像素的之间的平滑性这一基本但是极其重要的先验信息。
2、依然由于数据驱动,因此深度学习模型会对训练的图像和mask有记忆性,这导致其对不同图像以及mask会有泛化性问题。
在传统图像inpainting模型中,预测核模型是一类非常经典且有效的模型(其基本思想是一个像素点通过一个像素点周围的像素进行加权更新得到新的像素点),并且其不会受到上面两个问题的困扰。为此作者企图将预测核的方式引入到深度学习模型中,此外,相比较于传统模型,深度学习模型有着更深层次的图像特征的概念,因此作者将其进一步从图像等级的预测核推广到特征等级的预测核。

对于一个缺失图像 I I I,经典的预测核模型可以表示为 I ^ = I ⊙ K \hat{I} = I \odot K I^=IK,其中 K ∈ R H × W × N 2 K \in R^{H \times W \times N^2 } KRH×W×N2是一个预测核矩阵,具体的,对于位置为 p p p的像素点,其工作原理为:
在这里插入图片描述
可以看到,预测核就是对目标像素点周围一定范围内的像素点进行线性加权。传统的 K K K通常都是人为设定的,这显然不好,因此作者在这里提出通过一个预测网络 φ ( . ) \varphi(.) φ(.)来预测 K K K:
K = φ ( I , M ) K = \varphi(I,M) K=φ(I,M)。于是就有了第一个流程图
在这里插入图片描述
尽管这种方式在缺失率低时有一定效果,但是缺失率稍微大一点,这种方式就没法用了,这是因为预测核的组合范围(对标深度学习中的感受野)非常有限,信息无法传递到远离缺失边界的内部。为此,作者考虑了感受范围更广的特征层面,进行特征层面的预测核估计。首先为了得到图像特征,作者预设了一个自编码网络,其编码-解码表示如下:
在这里插入图片描述
在这里插入图片描述
紧接着作者仿照图像层面的预测核获得方式,用网络来获得预测核:
在这里插入图片描述
对第 F l F_l Fl层中间特征,作者通过专属的网络来获得预测核 K l K_l Kl作用到其上
在这里插入图片描述
于是就有了第二个流程图:
在这里插入图片描述
通过这种方式解决了第一种流程难以应对大缺失率的问题,但是其依然存在一些问题:
1、理论上对多层特征都进行滤波显然效果会更明显,然而每一个核的获得都要通过一个专属的网络,计算量大。
2、每个核之间的特征不能共享,使得先前的优势(已经预测的特征)无法传递下去。
为此作者提出了一种交互的渐进式预测方法,通过一个网络的不同尺度的输出来预测不同尺度的核,并且在这个过程中更新后的图像特征会传递到核预测流程,帮助接下来的核预测:
在这里插入图片描述
其中 E j E_j Ej是第j个尺度的预测核的特征, F j F_j Fj是第j个尺度的图像特征,第j+1个尺度的预测核通过融合两个特征后,经过一层单独的卷积获得,于是就有了第三个流程:
在这里插入图片描述
这么做除了可以大大降低计算量,个人认为还有几种显而易见的好处:
1、降低了核预测流程的难度,使其可以预测的更加准确以及预测的更加和当前图像相关
2、稳定了整个训练过程

实验部分的话主要有两点:
在这里插入图片描述
第一点是消融部分的表2对上面三种流程进行了性能比较,并且右半部分说明了滤波核添加的位置越深效果越好。

在这里插入图片描述
第二点是消融部分的图7。其主要表达了在自编码的过程中修复的特征在经过滤波前(绿色)和经过滤波后(红色)与真实图像的特征的相关性。可以看出仅仅是经过了一层滤波,其效果就非常明显。

本人目前 烟台大学 数学与信息科学学院 研二在读,主要感兴趣的方向为:底层视觉处理,对比学习,因果推断,多模态等。感兴趣的小伙伴可以+V:w13375533677 共同进步!!!


http://chatgpt.dhexx.cn/article/gCdS764f.shtml

相关文章

Siamese系列文章

说明 在学习目标追踪方面,慢慢读懂论文,记录论文的笔记,同时贴上一些别人写的非常优秀的帖子。 文章目录 说明综述类型笔记SiamFC笔记 SiamRPN笔记 DaSiamRPN笔记 SiamRPN笔记复现 SiamDW笔记 SiamFC笔记 UpdateNet笔记 SiamBAN笔记 SiamMa…

SiamRPN阅读笔记:High Performance Visual Tracking with Siamese Region Proposal Network

这是来自商汤的一篇文章 发表在CVPR2018上 论文地址 目录: 文章目录 摘要1.引言2.相关工作2.2 RPN2.3 One-shot learning 3.Siamese-RPN framework3.1 孪生特征提取子网络3.2 候选区域提取子网络3.3 训练阶段:端到端训练孪生RPN 4. Tracking as one-sho…

【度量学习】Siamese Network

基于2-channel network的图片相似度判别 一、相关理论 本篇博文主要讲解2015年CVPR的一篇关于图像相似度计算的文章:《Learning to Compare Image Patches via Convolutional Neural Networks》,本篇文章对经典的算法Siamese Networks 做了改进。学习这…

【论文阅读】Learning to Rank Proposals for Siamese Visual Tracking

Learning to Rank Proposals for Siamese Visual Tracking:2021 TIP 引入 There are two main challenges for visual tracking: 首先,待跟踪目标具有类不可知性和任意性,关于目标的先验信息很少。 其次,仅仅向跟踪器…

深度学习笔记-----多输入网络 (Siamese网络,Triplet网络)

目录 1,什么时候需要多个输入 2,常见的多输入网络 2.1 Siamese网络(孪生网络) 2.1 Triplet网络 1,什么时候需要多个输入 深度学习网络一般是输入都是一个,或者是一段视频切片,因为大部分的内容是对一张图像或者一段…

Siamese networks

Siamese Network 是一种神经网络的架构,而不是具体的某种网络,就像Seq2Seq一样,具体实现上可以使用RNN也可以使用CNN。Siamese Network 就像“连体的神经网络”,神经网络的“连体”是通过共享权值来实现的(共享权值即左…

Siamese Network理解(附代码)

author:DivinerShi 文章地址:http://blog.csdn.net/sxf1061926959/article/details/54836696 提起siamese network一般都会引用这两篇文章: 《Learning a similarity metric discriminatively, with application to face verification》和《 Hamming D…

详解Siamese网络

摘要 Siamese网络用途,原理,如何训练? 背景 在人脸识别中,存在所谓的one-shot问题。举例来说,就是对公司员工进行人脸识别,每个员工只给你一张照片(训练集样本少),并且…

Siamese网络(孪生网络)

1. Why Siamese 在人脸识别中,存在所谓的one-shot问题。举例来说,就是对公司员工进行人脸识别,每个员工只有一张照片(因为每个类别训练样本少),并且员工会离职、入职(每次变动都要重新训练模型…

Siamese网络(孪生神经网络)详解

SiameseFC Siamese网络(孪生神经网络)本文参考文章:Siamese背景 Siamese网络解决的问题要解决什么问题?用了什么方法解决?应用的场景: Siamese的创新Siamese的理论Siamese的损失函数——Contrastive Loss损…

8.HttpEntity,ResponseEntity

RequestBody请求体,获取一个请求的请求体内容就不用RequestParam RequestMapping("/testRequestBody")public String testRequestBody(RequestBody String body){System.out.println("请求体: "body);return "success";}只有表单才有…

使用restTemplate进行feign调用new HttpEntity<>报错解决方案

使用restTemplate进行feign调用new HttpEntity<>报错解决方案 问题背景HttpEntity<>标红解决方案心得Lyric&#xff1a; 沙漠之中怎么会有泥鳅 问题背景 今天才知道restTemplate可以直接调用feign&#xff0c;高级用法呀&#xff0c;但使用restTemplate进行feign调…

HttpClient 源码详解之HttpEntity

HttpClient 源码详解 之HttpEntity 1. 类释义 An entity that can be sent or received with an HTTP message. Entities can be found in some requests and in responses, where they are optional. There are three distinct types of entities in HttpCore, depending on …

System.Net.Http.HttpClient

本文主要是介绍如何用HttpClient请求带参数的服务&#xff0c;请求服务为某翻译API 直接上源码 1.添加using System.Net;的引用 using System.Net; 2.使用HttpClient发送请求 public static async void Fanyin_HttpClient(string fromString) {Console.WriteLine($"F…

ResponseEntity类和HttpEntity及跨平台路径问题

1. 简介 使用spring时&#xff0c;达到同一目的通常有很多方法&#xff0c;对处理http响应也是一样。本文我们学习如何通过ResponseEntity设置http相应内容、状态以及头信息。 ResponseEntity是HttpEntity的扩展&#xff0c;添加一个HttpStatus状态代码。在RestTemplate和Con…

RestTemplate发送HTTP、HTTPS请求

前面我们介绍了如何使用Apache的HttpClient发送HTTP请求,这里我们介绍Spring的Rest客户端(即:RestTemplate) 如何发送HTTP、HTTPS请求。注:HttpClient如何发送HTTPS请求,有机会的话也会再给出示例。 声明:本人一些内容摘录自其他朋友的博客&#xff0c;链接在本文末给出&#…

HttpEntity的用法

关于HttpEntity的用法 HttpEntity表示http的request和resposne实体&#xff0c;它由消息头和消息体组成。 从HttpEntity中可以获取http请求头和回应头&#xff0c;也可以获取http请求体和回应体信息。HttpEntity的使用&#xff0c;与RequestBody 、ResponseBody类似。 HttpEnti…

关于HttpEntity的用法

关于HttpEntity的用法 HttpEntity表示http的request和resposne实体&#xff0c;它由消息头和消息体组成。从HttpEntity中可以获取http请求头和回应头&#xff0c;也可以获取http请求体和回应体信息。 HttpEntity的使用&#xff0c;与RequestBody 、ResponseBody类似。HttpEntit…

查询MySQL数据库中表结构的几种方法

mySQL: 方法一、二、三&#xff1a;是在本数据库中查询。 /** 方法一 **/ show columns from activity_station; /** 方法二 **/ desc activity_station; describe activity_station;/** 方法三 **/ show create table activity_station;方法四是在统计数据库中查询。 informa…

mysql 表结构查询的SQL语句

1、查看表结构 desc student;2、查看表的DDL语句 show create table student;3、查看列的结构信息 select column_name,data_type,column_comment,column_key,extra,character_maximum_length,is_nullable,column_default from information_schema.columns where table_sch…