【论文解析】笔触渲染生成 前沿工作梳理

最近的一些工作梳理

2023年 Stroke-based Neural Painting and Stylization with Dynamically Predicted Painting Region

2022年Im2Oil: Stroke-Based Oil Painting Rendering with Linearly Controllable Fineness Via Adaptive Sampling

文章目录

  • 1 Stroke-based Neural Painting
    • 1.1 主要贡献/动机
    • 1.2 方法及其相关内容
    • 1.3 代码部分解析
  • 2 im2Oil
    • 2.1 主要贡献,动机
    • 2.2 核心方法/结构
      • 2.2.1 计算概率密度图
      • 2.2.2 搜索画笔参数
      • 2.2.3 绘制
  • 3 Paint transformer
    • 3.1 主要贡献 动机
    • 3.2 核心组成结构
  • 4 Rethinking Style Transfer: From Pixels to Parameterized Brushstrokes

1 Stroke-based Neural Painting

1.1 主要贡献/动机

主要是提出了自适应绘图区域~

1.2 方法及其相关内容

先训练笔触渲染器,再训练painer画什么,再训练自适应器

1.3 代码部分解析

图像经过sample

  • sample

    • 生成一个全零的画布
    • 迭代40次
      • 每次将target(目标图像)和当前画布canvas送入net_g(ResNet网络)得到画笔参数
      • 将画笔参数送到param2stroke_G网络中得到前景图foregrounds(论文公式中的 I s I_s Is)和alphas(二进制的遮掩图 M s M_s Ms) C t + 1 = I s ∗ M s + C t ∗ ( 1 − M s ) C_{t+1}=I_s*M_s+C_t*(1-M_s) Ct+1=IsMs+Ct(1Ms)
      • 然后得到现在的 C t + 1 C_{t+1} Ct+1​ 迭代进行进行5次(感觉画5笔)
    • 如果global_step为10的整数倍
      • 计算原图和画布的mse损失,并保存图片
        • 原图三张target[:3]
        • 当前画布三张canvas[:3]
        • 前景图foreground[:3]
  • 从缓冲区弹出

    • 和上面同样的内容
  • 将得到的数据canvas和真实数据true_canvas(正态分布)送入鉴别器

    • D_fake和D_real

2 im2Oil

将该类问题不看做像素级别的近似,而是自适应采样问题,结果具有更高的保真度

2.1 主要贡献,动机

主要在于自适应的画笔位置采样,在不同纹理复杂度的区域改变笔画大小和密度

我们使用输入图像对总共 K 个像素进行采样作为 Anchor。接下来,我们在每个锚点中搜索并生成单个油笔划Oil Stroke,表示为 { S 1 , S 2 , S 3 , . . . , S k S_1,S_2,S_3,...,S_k S1,S2,S3,...,Sk}。在渲染过程中,获得的笔画在画布上逐个放置。最终,所有的笔画都构成了最终结果油画

2.2 核心方法/结构

自适应锚采样,在不同纹理复杂度的区域改变笔画大小和密度

2.2.1 计算概率密度图

第一步 计算概率密度图 I p I_p Ip Ip大的更可能被采用做锚点

一般来说,纹理复杂的区域(高频)往往伴随着显著的梯度变化,而纹理光滑的区域(低频)通常具有较小的梯度。

​ 方法可以根据输入图像的全局纹理复杂度和超参数最大采样概率自动确定定制数

锚点的分布应该尽可能接近概率密度图,所以采用了Voronoi算法 K均值算法

P m a x 和 P m i n P_{max}和P_{min} PmaxPmin​ 控制分布的最大最小密度

在这里插入图片描述

2.2.2 搜索画笔参数

  • 确定画笔的方向,遵循边的切线,使用ETF向量场

  • 画笔的颜色就是锚点的颜色

  • 确定画笔的宽 高和参数

    • 将原图转换为HSV color space

在这里插入图片描述

2.2.3 绘制

笔画长度裁剪机制。具有复杂纹理的区域用密集锚点采样,用小笔画绘制,而纹理光滑的区域用稀疏锚点采样,用大笔画绘制。显然,大笔画更有可能导致错误,而小笔画通常更准确。鉴于此,我们根据笔画的面积大小对它们进行排序,并将它们从最大到最小(贪婪策略)绘制。

3 Paint transformer

与以前的方法不同,在本文中,作者将任务制定为集合预测问题,并提出了一种新颖的基于 Transformer 的框架

我们将神经绘画制定为渐进式笔画预测过程

在每一步,我们并行预测多个笔画,以前馈方式最小化当前画布和目标图像之间的差异

3.1 主要贡献 动机

主要贡献:

1 基于 Transformer 的框架,引入DETR,比较新颖的笔触预测框架

2 脱离直接的图片计算损失,定义了新的过程

3.2 核心组成结构

笔画预测器和笔画渲染器

笔画预测器

​ 给一个目标图像 I t I_t It 和中间画布 I c I_c Ic 生成一组参数来确定当前笔画集 S r S_r Sr

然后

​ 笔画渲染器根据 S r S_r Sr生产笔画图像加到 I c I_c Ic上得到 I r I_r Ir

在这里插入图片描述

整个训练过程中,只有笔画预测器可以训练

提出了一种新的自训练管道,它利用随机合成的笔画,训练过程中每次迭代中,我们首先随机采样前景笔画 S f S_f Sf 和一个后景 S b S_b Sb

然后将 S f S_f Sf 送入笔画渲染器

4 Rethinking Style Transfer: From Pixels to Parameterized Brushstrokes

提出了一种通过优化参数化笔触而不是像素对图像进行风格化的方法,并进一步引入一个简单的可微渲染机制。

在这里插入图片描述

从笔触参数空间中找到高效且可微的映射到像素域中

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【海博】雅思该怎么考?

文章目录 考试类型 考试内容 考试形式 备考资源 考试报名 考试成绩 考试类型 学术类(A类)适用于:出国留学申请本科,研究生及以上学位,或获得专业资质。学术类考试评估考生的英语水平是否满足进行大学或研究生学习…

【C语言】文件操作(1)

为什么使⽤⽂件? 如果没有⽂件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运⾏程序,是看不到上次程序的数据的,如果要将数据进⾏持久化的…

Sylar C++高性能服务器学习记录07 【协程模块-知识储备篇】

早在19年5月就在某站上看到sylar的视频了,一直认为这是一个非常不错的视频,由于本人一直是自学编程,基础不扎实,也没有任何人的督促,没能坚持下去,每每想起倍感惋惜。恰逢互联网寒冬,在家无事&a…

vim 插件01:插件管理神器pathogen

1、pathogen简介 Vim 插件 pathogen 是一款历史比较悠久的 Vim 插件管理器。Pathogen 的主要功能是提供一种模块化的方式来管理和加载 Vim 插件。说人话:vim是一款管理各类插件的插卡,使用它会让插件的安装和使用非常方便。 以下是 Pathogen 的主要特点…

【大模型应用篇5】应对裁员潮,突发奇想,打造“收割offer”智能体.......

前段时间飞书大裁员, 不禁让人感到危机四伏,加上《【大模型应用篇4】普通人构建智能体的工具》之前文章介绍了普通人打造智能体的工具, 这节课就带大家利用字节产品coze构建“程序员智能体”, 方便应对裁员,随时做好找工作的准备.打造一款面试智能体,方便各位程序员面试, 这个智…

错误代码126:加载d3dcompiler_43.dll失败,分享多种解决方法

在正常使用电脑的过程中,当我尝试启动并运行一款心仪的游戏时,系统却突然弹出一个令人困扰的错误提示“错误代码126:加载d3dcompiler_43.dll失败”,它会导致游戏无法正常运行。为了解决这个问题,我经过多次尝试和总结,…

22年全国职业技能大赛——Web Proxy配置(web 代理)

前言:原文在我的博客网站中,持续更新数通、系统方面的知识,欢迎来访! 系统服务(22年国赛)—— web Proxy服务(web代理)https://myweb.myskillstree.cn/114.html 目录 RouterSrv …

OGG extract进程占据大量虚拟内存导致服务器内存异常增长分析

现象 oracle服务器一节点内存,一个月来持续升高,近一月上涨10%左右。 问题分析 OS内存使用情况 使用内存最大的10个进程如下,PID为279417占用最大的内存。 查询279417,发现是ogg相关进程。 发现ogg的extract进程占用了大量的虚拟内…

软件测试(Web自动化测试)(二)

一.Selenium WebDriver的基本应用 (一)安装浏览器驱动 1.关闭浏览器的自动更新功能 以Windows7(64位)操作系统为例,讲解如何关闭Chrome浏览器的自动更新。首先按下快捷键“WinR”,打开运行对话框&#x…

【备战软考(嵌入式系统设计师)】02-计算机指令

指令集 我们计算机要执行程序,本质上是执行一条条的指令,而指令是从指令集中取出的,目前常见的指令集有CISC(Complex Instruction Set Computer,复杂指令集)和RISC(Reduced Instruction Set Co…

2024最新智慧医疗智慧医院大数据展示,医院数据采集概况、医院指标分析、医院就诊趋势分析等。源代码免费下载。

系列文章目录 【复制就能用1】2分钟玩转轮播图,unslider的详细用法 【复制就能用2】css实现转动的大风车,效果很不错。 【复制就能用3】2分钟自己写小游戏:剪刀石头布小游戏、扫雷游戏、五子棋小游戏 【复制就能用4】2024最新智慧医疗智慧医院大数据…

c++并查集

文章目录 前言一、并查集1、并查集原理2、并查集实现3、并查集应用1.省份数量2.等式方程的可满足性 前言 一、并查集 1、并查集原理 在一些应用问题中,需要将n个不同的元素划分成一些不相交的集合。开始时,每个元素自成一个单元素集合,然后…

应急行业的智能安全帽(高端)

前面介绍了低端、中端安全帽,接着再讲讲高端安全帽。做高端安全帽的企业非常少,估计一只手都数的出来。确实也和智能安全帽这个领域体量有关系,并且他有一个新的“劲敌”——智能眼镜从其他领域瓜分原属于他的市场,这些都是题外话…

SpringBoot引入Layui样式总是出现404

一般出现Layui样式文件如css,js404的错误 解决方案 (1)首先将其中的静态资源下载resources/static中 (2)在启动类中重写方法 package com.gq.booksystem;import org.mybatis.spring.annotation.MapperScan; import …

【ETAS CP AUTOSAR工具链】RTE层基本概念与开发流程

本篇文章续接上篇文章【ETAS CP AUTOSAR工具链】基本概念与开发流程,继续按上篇文章描述的ETAS CP工具链进行开发的基本框架,讲述了“RTE集成与配置”这部分的基本概念与开发流程。 RTE(Runtime Environment)处于应用层与基础软件…

【Godot4.2】自定义Todo清单类 - myTodoList

概述 在写myList类的时候,就想到可以写一个类似的Todo清单类。 基础思路 本质还是在内部维护一个数组,在其基础上进行增删改查操作的封装为了方便存储数据,编写一个自定义内置类TodoItem,内部数组就变成了Array[TodoItem]类型的…

Git | 远程操作

Git | 远程操作 文章目录 Git | 远程操作0、分布式版本控制系统概念1、创建远程仓库2、克隆远程仓库https方式ssh方式 3、推送至远程仓库4、本地拉取远程仓库5、配置Git忽略特殊文件给命令配置别名 6、标签管理创建标签操作标签 0、分布式版本控制系统概念 Git是一个分布式版本…

Git--分布式版本控制系统

目录 一、理解分布式版本控制系统二、远程仓库三、克隆远程仓库四、向远程仓库推送五、拉取远程仓库六、配置Git七、给命令配置别名八、创建标签九、操作标签 一、理解分布式版本控制系统 我们⽬前所说的所有内容(⼯作区,暂存区,版本库等等&a…

24深圳杯AC题完整思路+可执行代码+参考论文!!!!

比赛题目的完整版思路可执行代码数据参考论文都会在第一时间更新上传的,大家可以参考我往期的资料,所有的资料数据以及到最后更新的参考论文都是一次付费后续免费的。注意:(建议先下单占坑,因为随着后续我们更新资料数…

three.js 学习笔记 | 光线投射技术 - 包围盒(碰撞检测)

文章目录 three.js 学习笔记光线投射技术实现3D场景交互事件 THREE.Raycaster坐标系的转换案例:选中的模型变为红色 包围盒Box3 - 碰撞检测AABB包围盒辅助器Box3Helper案例1:创建AABB包围盒/包围球computeBoundingBox与boundingBox 搭配使用,…