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

news2024/11/18 3:22:11

最近的一些工作梳理

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.coloradmin.cn/o/1621297.html

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

相关文章

string 类以及模拟实现

𝙉𝙞𝙘𝙚!!👏🏻‧✧̣̥̇‧✦👏🏻‧✧̣̥̇‧✦ 👏🏻‧✧̣̥̇:Solitary_walk ⸝⋆ ━━━┓ - 个性标签 - :来于“云”的“羽球人”。…

【NLP】大语言模型基础之GPT

大语言模型基础之GPT GPT简介1. 无监督预训练2. 有监督下游任务微调 GPT-4体系结构1. GPT-4的模型结构2. GPT-4并行策略3. GPT-4中的专家并行GPT-4的特点 参考连接 以ELMo为代表的动态词向量模型开启了语言模型预训练的大门,此后,出现了以GPT和BERT为代表…

vue中web端播放rtsp视频流(摄像头监控视频)(海康威视录像机)

一、ffmpeg安装​​​​​​ ffmpeg下载 https://ffmpeg.org/download.html找ffmpeg-release-essentials.zip点击下载,下载完解压ffmpeg.exe 程序运行 二、配置ffmpeg环境变量 添加成功后验证是否生效任意地方打开cmd窗口输入 ffmpeg 打印如下表示成功 三、node…

使用IOPaint实现图片擦除路人

IOPaint 是一个免费的开源的 inpainting/outpainting 工具,由最先进的 AI 模型提供支持。 IOPaint 中使用各种模型来修改图像: 擦除:删除任何不需要的物体、缺陷、水印、人物。修复:对图像的特定部分进行修改、添加新对象或替换…

synchronized的底层原理

目录 介绍 实现原理 对象头 Monitor(监视器) 锁升级 偏向锁 轻量级锁 重量级锁 锁的优缺点 介绍 synchronized 是 Java 中的关键字,它用于锁定代码块或方法,以确保同一时刻只有一个线程可以进入被锁定的部分。这在多线程…

OpenCompass 大模型评测实战——作业

OpenCompass 大模型评测实战——作业 一、基础作业1.1、使用 OpenCompass 评测 internlm2-chat-1_8b 模型在 C-Eval 数据集上的性能1.1.1、安装基本环境1.1.2、解压数据集1.1.3、查看支持的数据集和模型1.1.4、启动评测 二、进阶作业2.1、将自定义数据集提交至OpenCompass官网 …

WPS表格,怎样保留每个人的最近日期的那一行数据?

方法很多,这里演示使用排序删除重复项 来完成。具体操作如下: 1. 选中数据区域中任意一个单元格,注意要么全选数据区域,要么只选一个单元格 2. 点击数据选项卡,排序,自定义排序, 在弹出对话框…

Java | Leetcode Java题解之第42题接雨水

题目&#xff1a; 题解&#xff1a; class Solution {public int trap(int[] height) {int n height.length;if (n 0) {return 0;}int[] leftMax new int[n];leftMax[0] height[0];for (int i 1; i < n; i) {leftMax[i] Math.max(leftMax[i - 1], height[i]);}int[] …

单例设计模式c++

什么是单例模式&#xff1f; 单例模式指在整个系统生命周期里&#xff0c;保证一个类只能产生一个实例&#xff0c;确保该类的唯一性。 单例模式分类 单例模式可以分为懒汉式和饿汉式&#xff0c;两者之间的区别在于创建实例的时间不同&#xff1a; 懒汉式&#xff1a;指系…

德国激荡50年的荆棘之路

财通证券表示&#xff0c;过去50年见证了德国如何走出财政泥沼、以保守的货币政策稳步前行&#xff0c;见证了“专精特新”带来的全球竞争力&#xff0c;也见证了产业转型缓慢导致的增长动能缺失。 过去50年&#xff0c;德国经济经历了一段跌宕起伏的发展史&#xff0c;这辆曾…

2024五一萌趣嘉年华主题展活动策划案

2024五一国宝大作战 萌趣嘉年华熊猫滚滚来野主题展活动策划案-53P 活动策划信息&#xff1a; 方案页码&#xff1a;53页 文件格式&#xff1a;PPT 方案简介&#xff1a; 活动思路&#xff1a; 五一马上就要到了~再加上全民关注的对象--大熊猫&#xff01;&#xff01; 这…

SpringCloud系列(14)--Eureka服务发现(Discovery)

前言&#xff1a;在上一章节中我们说明了一些关于服务信息的配置&#xff0c;在本章节则介绍一些关于Discovery的知识点及其使用 1、Discovery是什么&#xff0c;有什么用 Discovery&#xff08;服务发现&#xff09;是eureka的功能和特性&#xff0c;有时候微服务可能需要对外…

【MATLAB源码-第31期】基于matlab的光通信中不同调制方式的误码率对比。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. 光通信&#xff1a; 光通信是一种利用光波传输信息的技术。它使用光信号作为信息的载体&#xff0c;通过调制光波的特性来传输数据&#xff0c;通常利用光纤作为传输介质。光通信具有高带宽、低延迟和大容量等优点&#…

PE结构(二)PE头字段说明

PE头字段 DOS头 PE标记 标准PE头 可选PE头 我们今天分析一下PE头字段中所有重要成员的含义 DOS头 DOS头中我们需要去分析的是如下两个成员&#xff1a; 1.WORD e_magic&#xff1a;MZ标记&#xff0c;用于判断是否为可执行文件&#xff0c;即如果显示4D 5A&#xff0c;…

Centos7 安装zabbix agent2并测试与zabbix server的连通性

目录 1、实验环境 2、yum在线安装 2.1 查看agent2 rpm包&#xff0c;找到合适的rpm包 2.2 rpm安装 2.3 配置zabbix_agent2.conf 2.4启动agent2服务并将其加入到开机启动项中 3、配置防火墙放行10050端口&#xff0c;允许10050/tcp端口的入站流量。 4、在zabbix-server机…

云南旅游攻略

丽江景点 Day1 ——丽江古城 丽江古城是一个充满文化和历史的地方&#xff0c;拥有丰富的景点和活动。 推荐游玩&#xff1a; 参观标志性建筑&#xff1a;大水车是丽江古城的标志性建筑&#xff0c;可以在这里拍照留念。 探索中心广场&#xff1a;四方街是古城的中心&#xf…

从未如此清晰:了解SVG格式的终极解读!

图像质量对页面非常重要——扭曲和缩放变形的标志、图标或照片会使页面看起来粗糙和不协调&#xff0c;这个问题只会因为响应设计而复杂。访问者通过桌面机和智能手机查看应用程序&#xff0c;因此无论使用什么设备&#xff0c;图像都应该进行优化。如果有一个数字格式可以让图…

共享单车数据分析与需求预测项目

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 项目背景 自动自行车共享系统是传统自行车租赁的新一代&#xff0c;整个会员、租赁和归还过程都变得自动化。通过这些系统&#xff0c;用户可以…

SpringCloud系列(13)--Eureka服务名称修改和服务IP显示

前言&#xff1a;在上一章节中我们把服务提供者做成了集群&#xff0c;而本章节则是一些关于服务信息的配置&#xff0c;这部分知识对集群整体影响不大&#xff0c;不过最好还是掌握&#xff0c;毕竟万一有用到的地方呢 1、修改服务的名称 有时候我们想要修改服务的名称&#…

Linux网络-DHCP原理与配置

目录 一.DHCP工作原理 1.了解DHCP服务 1.1.使用DHCP的好处 1.2.DHCP的分配方式 2.DHCP的租约过程 2.1.DHCP工作原理 2.2.DHCP交互过程 二.DHCP服务器的配置 1.关闭防火墙 2.检查并且安装DHCP有关软件包 3.查看系统的配置文件 3.1.设置参数 4.修改网络 4.1.修改虚…