具有外内学习和单色瓶颈的图像修复——两阶段渐进式图像修复示例【CVPR 2021】

本文主要是介绍具有外内学习和单色瓶颈的图像修复——两阶段渐进式图像修复示例【CVPR 2021】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 🥇 版权: 本文由【墨理学AI】原创、在CSDN首发、感谢查阅
  • ❤️ 如果文章对你有帮助、欢迎一键三连
  • 🍖 该博文旨在大话图像修复,仅对该论文工作展开简单引入

文章目录

    • 📔 基础信息
    • 📕 环境搭建
    • 📗 源码测试
        • 🟧 第一阶段:Colorization
        • 🟨 第二阶段:Reconstruction
    • 📘 该论文效果图
        • 🔴 目标移除
        • 🔵 不规则 Mask 修复
        • 🟣 用户指导修复
    • 🚀🚀 文末专栏推荐部分 🚀🚀
    • ❤️ 人生苦短, 欢迎和墨理一起学AI 💜


📔 基础信息


  • Image Inpainting with External-internal Learning and Monochromic Bottleneck
  • 具有外内学习和单色瓶颈的图像修复
  • https://github.com/Tengfei-Wang/external-internal-inpainting
  • https://arxiv.org/abs/2104.09068

摘要翻译

尽管最近的修复方法已经证明了深度神经网络的显着改进,但在填充缺失区域时,它们仍然存在诸如钝结构和突然颜色之类的伪影。 为了解决这些问题,我们提出了一种具有单色瓶颈的外部内部修复方案,可帮助图像修复模型消除这些伪影。 在外部学习阶段,我们重建单色空间中缺失的结构和细节以减少学习维度。 在内部学习阶段,我们提出了一种新颖的内部颜色传播方法,采用渐进式学习策略来恢复一致的颜色。 大量实验表明,我们提出的方案有助于图像修复模型产生更多结构保留和视觉上引人注目的结果。

主要贡献可以总结为:

  • 据我们所知,我们是第一个将外部-内部学习方法引入深度图像修复的公司。它通过对大型数据集的训练从外部学习语义知识,同时充分利用单个测试图像的内部统计数据。
  • 我们设计了一个渐进式内部图像着色网络,在我们的案例中实现了出色的着色性能。
  • 我们将我们提出的方法推广到几个深度修复模型,并观察到在多个数据集上的视觉质量和模型泛化能力方面的明显改进。
  1. Conclusion

在本文中,我们提出了一种具有单色瓶颈的通用外部-内部学习修复方案。

它首先利用从大型数据集外部学习的语义知识重建单色,然后从单个测试图像内部恢复颜色。 与以前的方法相比,我们的方法可以产生更连贯的结构和视觉上更协调的颜色。

大量实验表明,我们的方法可以在几个主干模型上定性和定量地稳定改进。 我们方法的主要限制是推理速度。 由于着色需要额外的阶段,因此我们的方法比最先进的方法慢。

未来,我们计划进一步加速着色过程,并将提议的方案扩展到其他低级视觉任务,如超分辨率。


📕 环境搭建


依赖库很简洁

  • Python 3.6
  • Pytorch 1.6
  • Numpy

pytorch 安装 建议参考 – Linux下cuda10.0 安装 Pytorch和Torchvision|简记

conda create -n torch16 python=3.6.6conda activate torch16# CUDA 10.1
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -c pytorchpip install pillow==5.2.0pip install opencv-pythonpip install scikit-imagepip install scipypip install thop

📗 源码测试


当前,该代码十分简洁,参照 官方 readMe 直接运行即可

🟧 第一阶段:Colorization
git clone https://github.com/Tengfei-Wang/external-internal-inpainting.gitcd external-internal-inpaintingconda activate torch16

Colorization 【着色方法测试命令】

python main.py  --img_path images/input2.png --gray_path images/gray2.png  --mask_path images/mask2.png  --pyramid_height 3

输出如下

starting colorization. Scale 0
starting colorization. Scale 1
starting colorization. Scale 2

最佳效果如下

1-0

该阶段源码分析如下

1-1

🟨 第二阶段:Reconstruction

盲猜:这里的意思是,着色修复后的图像,替换其它 backbones【修复网络】的输入,能够取得更佳修复效果;官方暂未做进一步衔接说明,这里也就暂不具体展开测试了;


点滴拙见,望大佬指点

2-0


📘 该论文效果图


对图像修复详细分类有兴趣,可简单参考如下博文


Image inpainting based on deep learning - A review【图像修复 2021 最新综述】

🔴 目标移除

3-0

🔵 不规则 Mask 修复

这里莫名,提到了 交叉数据集评估 ???


直接理解:在 Places2 上训练得到的模型,在 DTD 数据集 上测试应用效果

3-4

🟣 用户指导修复

3-5


🚀🚀 文末专栏推荐部分 🚀🚀


  • 🎄如果感觉文章看完了不过瘾,还想更进一步,那么可以来我的其他 专栏 看一下哦~
  • ❤️ 图像风格转换 —— 代码环境搭建 实战教程【关注即可阅】!
  • 💜 图像修复-代码环境搭建-知识总结 实战教程 【据说还行】
  • 💙 超分重建-代码环境搭建-知识总结 解秘如何让白月光更清晰【脱单神器】
  • 💛 YOLO专栏,只有实战,不讲道理 图像分类【建议收藏】!
  • 🎄 个人整理的 Cuda 系列 Linux 安装教程【适合小白进阶】
  • 💜 ubuntu18给当前用户安装cuda11.2 图文教程 | 配置cuDNN8.1 |
  • 💜 Linux服务器下给当前用户安装自己的CUDA10.0
  • 💜 Linux下cuda10.0安装Pytorch和Torchvision——啥版本都能装
  • 💜 Linux 可以安装多个版本的Cuda 吗 | 给我一台新的服务器,我会怎么安排 Cuda
  • 💜 查看CUDA和cuDNN的版本号

❤️ 人生苦短, 欢迎和墨理一起学AI 💜


9-6


这篇关于具有外内学习和单色瓶颈的图像修复——两阶段渐进式图像修复示例【CVPR 2021】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/521713

相关文章

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF

MyBatis ResultMap 的基本用法示例详解

《MyBatisResultMap的基本用法示例详解》在MyBatis中,resultMap用于定义数据库查询结果到Java对象属性的映射关系,本文给大家介绍MyBatisResultMap的基本... 目录MyBATis 中的 resultMap1. resultMap 的基本语法2. 简单的 resul

Mybatis Plus Join使用方法示例详解

《MybatisPlusJoin使用方法示例详解》:本文主要介绍MybatisPlusJoin使用方法示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录1、pom文件2、yaml配置文件3、分页插件4、示例代码:5、测试代码6、和PageHelper结合6

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和