论文精读(保姆级解析)——DiFaReli: Diffusion Face Relighting

news2024/12/22 19:45:19

前言

  该论文发表在2023年ICCV上,主要针对人像重打光问题提出了一种新的方法,下面给出论文和项目链接:

  • paper
  • github

在这里插入图片描述

摘要

  提出了一种针对单张图像的重打光方法,作者提到针对非漫反射光照的处理比较困难,早期的工作主要是假设朗勃表面,简化了光照模型,或者引入估计3D人脸形状,反照率,阴影等。这种早期的方法容易估计的不准确,并且需要大量的光照训练数据。于是,作者试图绕开这种精确估计内在参数的方法,提出了一种只需要在2D图像上训练的方法。
关键思想:

  1. 通过利用条件扩散模型DDIM解码解缠光照信息和其他的面部信息,这些信息都是直接通过离线模型进行估计的。
  2. 提出了一种新颖的调节技术,使用渲染的阴影参考来空间调制DDIM,简化了光和几何之间复杂相互作用的建模。

引言

  重打光的应用非常广泛。。。

  重打光面部图像需要建模几何、材质和光照之间的复杂交互,这些物理相互作用在2D图像中并不固有,难以准确估计。早期方法多假设简化模型,难以处理复杂光照。最新方法利用多视图、多光照数据,提出了预测表面法线、反照率及阴影图的重打光pipeline。最近的一些方法旨在通过神经网络预测阴影映射来专门建模投射阴影或通过估算几何形状的物理光线追踪绘制阴影地图。这些方法都是先分解光照信息,然后再与阴影一起渲染输出。缺点是光照参数很难正确估计。如输入的图像要去除阴影,但是参数估计的时候并不是去除,会直接代入后面影响估计。并且眼睛,耳朵这些特征很难处理。
  本文引入了一种替代的方法,不依赖精确地内在分解,并且可以在2D数据集上进行训练,不需要依赖3D数据和多视图数据、真实光照数据,只需要几个离线的估计器即可。主要思路如下:

  1. 编码输入的图像为一个特征向量,然后解缠光照信息和其他信息,然后,对特征向量中的光编码进行修改并解码。

难点在于如何解缠光照信息和其他的信息(如面部信息),使得解码后的阴影直接影响光照而不影响其他的信息?关键思想如下:

  1. 利用条件隐式扩散模型结合一种新的条件技术来完成,通过在2D数据集上训练的生成模型隐式地学习光照交互

  主要思路依赖于DDIMDiffAEDDIM 具有确定性的逆过程,DiffAE可以将图像编码为有意义的语义编码,并将编码的语义与其他的随机信息解缠,通过修改语义编码,从而实现对语义属性的操作。借鉴到重打光任务,把光照信息解缠处理,对光照信息进行操作,实现对图像的重打光。但是,又与自动发现语义属性并将其编码为潜在编码的DiffAE不同,作者提出的方法需要明确且可解释的光编码,以方便用户进行照明操作。于是需要引入光照信息,但是有没有真实的光照信息。

  于是,为了解决没有光照真值情况下的重打光问题,引入了DECA估计器。将光照信息编码为SH系数,并依靠条件DDIM解码并学习此过程中解耦的光照系数。不同于之前的工作,这里的SH光照并不直接渲染输出阴影(SH能力有限,难以表达出复杂的阴影),只是用来条件化一个生成过程,该过程学习复杂的阴影先验以再现真实的2D人脸图像。为了在重光照中保持输入的身份,还将面部形状和人脸识别模型的深度特征等属性作为条件输入给DDIM

  作者引入的另一个关键的组件是为DDIM设计的新颖条件化技术,不同于DiffAE或者其他的扩散模型将SH视为全局,非空间条件向量,作者使用已知的SH方程渲染一个阴影参考,将其输入到另一个称为调制器的网络中,该网络计算DDIM的逐层空间调制权重。这种条件化技术有助于保留阴影参考中的空间信息,并提供易于学习的条件信号,因为阴影参考中的像素强度与输出的RGB像素更直接相关。

  通过提出的新颖框架,投射阴影的可见性也可以通过一个简单的修改来建模:向DDIM添加一个指示投射阴影“程度”的条件标量,在测试的时候通过修改这标量来控制阴影的大小。由于本文的基于扩散的框架没有直接在物理图像形成模型中使用该标志或形状和SH参数,因此可以容忍这些参数的不精确估计,并且不会显著影响打光效果。

  本文的方法能够生成高度可信且照片级的结果,并且能够有效地增强或减弱投射阴影。此外,还能够以高保真度还原原始面部细节,而使用神经网络预测法线贴图的方法很难做到这一点。进行了定性和定量评估,并在标准基准测试集Multi-Pie上实现了当前最佳性能。简而言之,贡献如下:

  1. 基于条件DDIM的最先进的面部照明框架,可产生逼真的阴影,而不需要准确的内在分解或3D和照明地面真相。
  2. 一种新的调节技术,将从估计的光线和形状参数渲染的阴影参考转换为分层空间调制权重。

3 方法

在这里插入图片描述

给定输入的人脸图像,在目标照明条件下重新打光该图像,该条件由球面谐波系数和表示可见投射阴影“程度”的附加标量描述。

3.1 背景

为了更好地说明本文的方法,先给出DDIMDiffAE的背景介绍:

  • DDIM:一种扩散模型的变体,不同于标准的扩散模型,DDIM使用非马尔科夫链推断过程,该过程依赖一个条件分布, q ( x t − 1 ∣ x t , x 0 ) q(x_{t-1} \mid x_t, x_0) q(xt1xt,x0),除了 x t x_t xt之外,还依赖于 x 0 x_0 x0为条件。值得注意的是,该过程是可逆的,可以从 x 0 − x T x_0-x_T x0xT,也可以从 x T − x 0 x_T-x_0 xTx0
  • DiffAEDiffAE表示图像编码生成 x T x_T xT中很少含有输入图像 x 0 x_0 x0的语义信息,并建议在DDIM的增加一个单独的图像编码器预测可学习的潜在变量 z z z作为条件。通过联合训练图像编码器和DDIM,编码的 z z z捕捉有意义的语义,而通过反转DDIM的确定性生成过程推断出的 x T x_T xT 捕捉未在 z z z中编码的其他信息,如随机变化。结果生成的潜在编码 ( z , x T ) (z, x_T) (z,xT) 也可以使用相同的条件DDIM近乎完美地解码回输入图像。通过修改语义潜在变量 z z z并解码新的 ( z ′ , x T ) (z^{\prime}, x_T) (z,xT)DiffAE 可以操作真实输入图像的语义属性——这一思路启发了作者的工作。

3.2 方法

  本文方法的思路是将输入图像编码为一个特征向量,该向量将光照信息与输入图像的其他信息分离开来。然后,通过修改特征向量中的光照编码,并使用条件DDIM对结果向量进行解码,生成重光照图像(如下图)。这个过程类似于DiffAE执行属性操作的方式;然而,本文的任务需要良好解耦且可解释的光照编码,以便用户进行光照操作。
  为了解决这个问题,作者使用现成的估计器将输入图像编码为光线、形状和相机编码,以及人脸嵌入、阴影标量和背景图像
在这里插入图片描述

3.3 编码器

  对输入图像进行编码:
f = ( l , s , c a m , ζ , c , b g ) f = (l,s,cam,\zeta,c,bg) f=(l,s,cam,ζ,c,bg)
其中:

  • l l l:二阶球谐光照系数
  • s s s:参数化的面部形状
  • c a m cam cam:正交相机参数
  • ζ \zeta ζ:基于ArcFace的深度特征
  • c c c:可见投射阴影的标志
  • b g bg bg:背景像素

l , s , c a m l,s,cam l,s,cam

  • 通过DECA进行估计,同时DECA还能预测出反照率(没有使用,论文中作者说没用)。为了光照编码 l l l,作者直接使用来自 DECASH 系数,每个 RGB通道包含 9 个系数。DECA3D 人脸形状基于 FLAME 模型参数,作为具有身份形状、姿态和表情的三种线性基的混合形状,它们各自的系数记为 β \beta β θ \theta θ ψ \psi ψ。人脸形状编码 s s s是组合后的 ( β , θ , ψ ) ∈ R ∣ β ∣ + ∣ θ ∣ + ∣ ψ ∣ (\beta, \theta, \psi) \in \mathbb{R}^{|\beta| + |\theta| + |\psi|} (β,θ,ψ)Rβ+θ+ψDECA 假设正交投影,并用各向同性缩放和 2D 平移来建模相机姿态。本文将缩放和平移参数组合成 c a m ∈ R 1 + 2 \mathbf{cam} \in \mathbb{R}^{1+2} camR1+2。注意,本文没有使用预测的反照率图,因为 DECA 的反照率估计可能不可靠,并且我们通过经验发现它是不必要的。

ζ \zeta ζ

  • ArcFace估计人脸深度特征进行身份编码

c c c

  • 投射阴影编码,训练了一个模型来从人脸图像中估计 c c c,并固定了这个预训练的估计器。为此,作者手动标记了大约 1000 张人脸图像,使用二进制标志指示是否可见投射阴影。按照 DiffAE提出的技术,首先使用 DiffAE 的预训练编码器将每张人脸图像映射到一个具有语义意义的潜在编码码 z z z,然后训练一个基于z的逻辑回归分类器去预测标志。 c c c然后被计算为逻辑回归的 logit 值。如DiffAE所示,这种技术有助于减少获得良好准确性所需的训练样本数量, c c c也可以通过其他方式估计,例如使用卷积神经网络(CNN)。

b g bg bg

  • 背景编码,为了在重打光过程中固定背景,使用输入图像的背景对DDIM条件化,背景区域通过人脸分割算法检测。

3.4 DDIM解码器和调制网络

  DDIM用于将输入的特征向量(已经修改过光照信息)解码为输入图像的新编码,即在训练时,DDIM将噪声映射为原始图像;在重光照时,通过反向生成过程将原始图像映射为重光照图像。这种调节涉及到另一个称为调制器网络的网络,它将光、形状和相机编码转换为DDIM解码器的空间调制权重。DDIM的组成结构为基于UNet的一堆残差结构和自注意力机制,本文的区别在于:

  • 1)UNet 前半部分每个残差块的输出将被调制器网络的信号调制;
  • 2)使用自定义的自适应组归一化。我们的调制器网络与 DDIM 的 UNet 前半部分架构相同,但不共享权重。

3.5 条件DDIM解码器

  在条件向量上调节扩散模型可以通过各种方式完成,例如通过自适应群体归一化或基于注意的机制。在本文的问题中,光照信息被明确地编码为SH系数,并且它们与3D形状(特别是表面法线)的交互可以通过SH光照方程精确建模。本文的想法是通过渲染目标光照的面部阴影参考来简化已知交互的建模。该参考的主要目的是以空间对齐的方式传达目标光照和阴影信息,而不是几何形状或确切的阴影强度。以下部分详细介绍了这种“空间”条件化技术以及用于其他编码的标准非空间条件化技术。

3.5.1 空间条件

  这种技术用于光照、形状、相机和背景编码 ( l , s , c a m , b g ) (l, s, cam, bg) l,s,cam,bg。给定面部形状 s s s,首先使用 FLAME 模型的三个线性基将其转换为三角网格,并移除网格中的耳朵、眼球、脖子和头皮,只保留面部区域(见网络框图)。移除这些部分是因为它们通常不准确且难以正确估计(例如,被头发遮挡的耳朵)。本文假设一个恒定的灰色反照率 (0.7, 0.7, 0.7) 并在由 c a m cam cam 描述的相机姿态下渲染此网格,使用标准的 S H SH SH 光照方程计算表面颜色 l l l
  然后,这个阴影参考 R R R,它显示了在目标光照下输入人物的形状和姿态的阴影面部,被与背景图像 b g bg bg连接并传递给Modulator网络。用 m i ∈ R H i × W i × D i m_i ∈ R^{H_i×W_i×D_i} miRHi×Wi×Di表示Modulator网络中每个残差块i的输出,用 o i ∈ R H i × W i × D i o_i ∈ R^{H_i×W_i×D_i} oiRHi×Wi×Di表示相同DDIM的前半部分中对应残差块的输出。在DDIM中,作者将每个残差块的输出 o i o_i oi替换为 o i ′ o_i^\prime oi,并将其作为网络中后续层的输入:
o i ′ = o i ⊙ t a n h ( m i ) o_i^\prime = o_i \odot tanh(m_i) oi=oitanh(mi)
这种调节技术允许阴影图像 R R R和背景保持其空间结构,并促进生成的局部调节,因为它们在空间上与输入对齐(例如,它们的面部部分和背景在相同的位置)。

3.5.2 非空间调节技术

  非空间条件化。该技术被用于 ( s , c a m , ξ , c ) (s, cam, ξ, c) s,cam,ξ,c。在这种技术中,除了通过阴影参考间接使用外,直接使用 s , c a m s,cam s,cam也是有帮助的。作者使用基于自适应组归一化(AdaGN)(借鉴某个扩散模型中的方法),用于这些编码以及标准扩散模型训练中的时间嵌入γ(t),其中γ是一个正弦编码函数。给定输入特征图 h j ∈ R H j × W j × D j h_j ∈ R^{H_j×W_j×D_j} hjRHj×Wj×Dj,计算:
A d a G N j ( h j , s , c a m , c , t ) = k j ( t j s G N ( h j ) + t j b ) AdaGN_j(h_j,s,cam,c,t) = k_j(t_j^{s}GN(h_j)+t_j^{b}) AdaGNj(hj,s,cam,c,t)=kj(tjsGN(hj)+tjb)
其中: k j = M L P j 3 ( C o n c a t ( s , c a m , ζ , c ) ) ∈ R D j k_j=MLP_j^{3}(Concat(s,cam,\zeta,c))\in R^{D_j} kj=MLPj3(Concat(s,cam,ζ,c))RDj是一个基于SiLU激活函数的三层,MLP的输出, ( t i s , t j s ) (t_i^{s},t_j^{s}) tistjs是一个基于SiLU的单层输出,GN是一个标准的组归一化。作者使用自己的AdaGN来代替原始架构中的所有AdaGN,这些AdaGN出现在整个UNet中。

3.6 训练

  联合训练DDIM解码器(参数化为噪声预测网络 ϵ θ ϵ_θ ϵθ)和调制器网络 M ϕ ( l , s , c a m , b g ) M_ϕ(l, s, cam, bg) Mϕ(l,s,cam,bg),使用标准的扩散训练方法。这里作者将框图中的MLP视为DDIM的一部分。采用简化的、重新加权的变分下界版本,使用 ε \varepsilon ε参数化:
L s i m p l e = E t , x 0 , ε ∥   ε θ ( x t , t , M p h i , s , c a m , ζ , c ) − ε ∥ 2 2 L_{simple} = E_{t,x_0,\varepsilon}\|\ \varepsilon_{\theta}(x_t,t,M_{phi},s,cam,\zeta,c)- \varepsilon \|_2^2 Lsimple=Et,x0,ε εθ(xt,t,Mphi,s,cam,ζ,c)ε22

其中, ϵ θ \epsilon_{\theta} ϵθ 被训练用于预测给定图像 x 0 x_0 x0时加入的噪声 ϵ ∼ N ( 0 , I ) \epsilon \sim \mathcal{N}(0, I) ϵN(0,I),在 ( α t ) x 0 + ( 1 − α t ) ε \sqrt(\alpha_t)x_0+\sqrt(1-\alpha_t)\varepsilon ( αt)x0+( 1αt)ε。我们定义 α t \alpha_t αt ∏ s = 1 t − β s \prod_{s=1}^{t} - \beta_s s=1tβs,其中 β t \beta_t βt是一个高斯扩散处理( q ( x t ∣ x t 1 ) = N ( ( 1 − β t ) x t − 1 , β t I ) q(x_t|x_{t_1})=\N(\sqrt(1-\beta_t)x_{t-1},\beta_tI) qxtxt1=N(( 1βt)xt1βtI))时间 t t t时的噪声级别。本文中作者使用了总步数1000步(更标准的扩散模型步数一致)。作者在训练的时候并没有将 x T x_T xT反转回 x 0 x_0 x0

3.7 重打光

  首先根据图像编码公式 f f f将输入图像编码为特征向量 f f f,然后然后从输入图像从 x 0 x_0 x0开始,通过在条件 f f f上的DDIM的确定性生成过程反向生成 x T = 1000 x_T=1000 xT=1000:
x t + 1 = α t + 1 g θ ( x t , t , f ) + 1 − α t + 1 ϵ θ ( x t , t , f ) x_{t+1} = \sqrt{\alpha_{t+1}} g_\theta (x_t , t, f) + \sqrt{1-\alpha_{t+1}} \epsilon_\theta (x_t, t, f) xt+1=αt+1 gθ(xt,t,f)+1αt+1 ϵθ(xt,t,f)
其中, g θ g_\theta gθ表示预测的 x 0 x_0 x0,它是从 ε θ \varepsilon_\theta εθ重新参数化而来的,并计算如下:

g θ ( x t , t , f ) = 1 α t ( x t − 1 − α t ( ε θ ( x t , t , f ) ) ) g_\theta(x_t,t,f) = \frac{1}{\sqrt{\alpha_t}}(x_t-\sqrt{1-\alpha_t}(\varepsilon_\theta(x_t,t,f))) gθ(xt,t,f)=αt 1(xt1αt (εθ(xt,t,f)))

  在获得 x T x_T xT后,将SH光照编码 l l l和投射阴影标志 c c c修改为目标 l ′ l^{\prime} l c ′ c^{\prime} c,这些可以手动设置或通过使用 DECA 的投射阴影估算器从参考光照图像中推断出来。然后,使用方程 x t + 1 x_{t+1} xt+1的反向过程从 x T x_T xT开始解码修改后的以生成最终输出。从获取 x T x_T xT的反向过程是再现输入图像高频细节的关键。如 DiffAE所示,DDIM 将在噪声图中编码任何未被条件特征向量 f f f捕获的信息。这些信息包括高频细节,如头发纹理或皮肤纹理。
  为了应对图像的背景过亮或者过暗的问题,作者对DDIM进行了改进,通过计算 DDIM 生成逆向过程 ( x 0 → x T ) (x0→xT) x0xT中每个 x t x_t xt和从逆向噪声 x T x_T xT自我解码得到的 x t x_t xt之间的均值像素差异来缓解这个问题。

4 实验

  • 训练数据集:Multi-PIE
  • 评估指标:DSSIMLPIPSMSE

4.1 定量比较

在这里插入图片描述

以上就是对本篇论文的解读,如有任何问题欢迎留言,批评指正!

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

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

相关文章

三星AI产品发布会精彩回顾

2024年7月10日,三星在其新品发布会上,重磅发布了一系列围绕AI技术的创新产品。此次发布会不仅展示了三星在AI领域的深耕和探索,还在硬件设计、用户体验和生态系统构建上全面对标苹果。本文将详细回顾此次发布会的内容,解析三星如何…

从“Hello,World”谈起(C++入门)

前言 c的发展史及c能干什么不能干什么不是我们今天的重点,不在这里展开,有兴趣的朋友可以自行查阅相关资料。今天我们主要是围绕c的入门程序,写一个“hello,world”,并且围绕这个入门程序简单介绍一下c和c的一些语法&…

事务的学习

一、什么是事务 事务 是一组操作的集合,是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销请求,这些操作要么同时成功,要么同时失败 一组操作集合,不可分割,一起向系统提交/…

7.2 AQS原理

AQS 原理 概述 全称是 AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架。 特点: 用 state 属性来表示资源的状态(分独占模式和共享模式),子类需要定义如何维护这个状态,控制如何获取锁和…

Clion 使用gdbserver调试FreeSWITCH源码

1.准备环境 window安装clion安装好gdb、ssh、已经编译好的freeswitch可执行文件的docker镜像2.配置clion Settings -> Tools ->SSH Configurations Settings-Build, Execution, Deployment-Toolchains(其实设不设置都行,用默认也行的) Settings-Build, Execution, Depl…

JVM内存配置错误导致的线上服务问题

1.现象 大量用户反映不能正常使用服务,导致用户无法进行下一步工作。 2.检查 因为是休息日,初步听到这个消息的时候怀疑是自己的锅。一是因为项目刚刚进行了重构;二是对MySQL数据进行了迁移,并且对待迁移的旧数据进行了数据分析…

【qt】如何读取文件并拆分信息?

需要用到QTextStream类 还有QFile类 对于文件的读取操作我们可以统一记下如下操作: 就这三板斧 获取到文件名用文件名初始化文件对象用文件对象初始化文本流 接下来就是打开文件了 用open()来打开文件 用readLine()来读取行数据 用atEnd()来判断是否读到结尾 用split()来获取…

LabVIEW中modbusTCP怎样才能和profibusDP通信?

在LabVIEW中,Modbus TCP和Profibus DP是两种不同的工业通信协议,要实现这两者之间的通信,可以采用网关设备进行协议转换,或者通过一个中间设备(如PLC)进行数据桥接。以下是实现此通信的一些方法&#xff1a…

王牌站士Ⅵ--人工智能集成商的崛起

前言 系统集成商 (SI) 具有独特的优势,可以利用 GenAI 的变革力量。通过综合各种数据并重新定义客户获取见解和采取行动的方式,SI 可以发展成为AI 集成商,彻底改变企业的运营方式和与技术的互动方式,当然,还可以保留长…

[人工智能]对未来建筑行业的影响

作者主页: 知孤云出岫 目录 引言1. 人工智能在建筑行业的应用场景1.1 设计阶段1.2 施工阶段1.3 运营和管理 2. 关键技术2.1 机器学习2.2 计算机视觉2.3 自然语言处理2.4 大数据分析 3. 实际案例分析3.1 案例1:利用GAN生成建筑设计方案3.2 案例2:利用计算…

在ROS中控制机器人运动

一、安装Arbotix 输入指令:sudo apt install ros-noetic-arbotix 找到下载的文件:roscore,roscd arbotix 安装好后,不需要按照教程里面的操作,复制进工作空间。 二、在config中建立配置文件,control.yaml # 该文件…

了解并缓解 IP 欺骗攻击

欺骗是黑客用来未经授权访问计算机或网络的一种网络攻击,IP 欺骗是其他欺骗方法中最常见的欺骗类型。通过 IP 欺骗,攻击者可以隐藏 IP 数据包的真实来源,使攻击来源难以知晓。一旦访问网络或设备/主机,网络犯罪分子通常会挖掘其中…

给 「大模型初学者」 的 LLaMA 3 核心技术剖析

编者按: 本文旨在带领读者深入了解 LLaMA 3 的核心技术 —— 使用 RMSNorm 进行预归一化、SwiGLU 激活函数、旋转编码(RoPE)和字节对编码(BPE)算法。RMSNorm 技术让模型能够识别文本中的重点,SwiGLU 激活函…

敏捷开发笔记(第10章节)--Liskov原则(LSP)

目录 1:PDF上传链接 10.1 Liskov替换原则(LSP) 10.2 一个违反LSP的简单例子 10.6 启发式规则和习惯用法 10.7 结论 1:PDF上传链接 【免费】敏捷软件开发(原则模式与实践)资源-CSDN文库 OCP背后的主要机制是抽象(abstraction…

CSS【详解】边框 border,边框-圆角 border-radius,边框-填充 border-image,轮廓 outline

边框 border border 是以下三种边框样式的简写: border-width 边框宽度 —— 数值 px(像素),thin(细),medium(中等),thick(粗)border-style 边框线型 —— none【默认值…

数据库MySQL下载安装

MySQL下载安装地址如下: MySQL :: Download MySQL Community Server 1、下载界面 2、点击下载 3、解压记住目录 4、配置my.ini文件 未完..

整洁架构SOLID-里氏替换原则(LSP)

文章目录 定义LSP继承实践正例反例 LSP软件架构实践反例 小结 定义 1988年,Barbara Liskov在描述如何定义子类型时写下了这样一段话: 这里需要的是一种可替换性:如果对于每个类型是S的对象o1都存在一个类型为T的对象o2,能使操作T…

树莓派PICO使用INA226测量电流和总线电压(1)

TI的INA226是一款不错的16位电流测量芯片,拥有非常高的性价比,而且测量精度能够覆盖我们大多数的应用场景,INA226的接线也比较简单,通过I2C读取数据会稍微麻烦一点。 INA226可以在淘宝上直接买开发板,非常的便宜&#…

本地部署,去除动漫图像背景Anime Remove Background

目录 摘要 引言 深度学习在动漫角色中的应用 1.​U-Net 2.Mask R-CNN 3.ISNet 模型 4.MODNet 模型 5.InSPyReNet 模型 本地部署 运行效果 测验结果​ Tip: 摘要 动漫图像背景去除是一项在图像处理和计算机视觉领域具有重要应用的技术,广泛应用于…

「Pytorch」roLabelImg 图像异常旋转 bug

在进行Yolo-obb 模型训练的时候需要标注旋转框,roLabelImg 是比较推荐的一款旋转框标注工具,既可以标注正常的矩形框,还可以标注旋转框 roLabelImg Github 地址:https://github.com/HumanSignal/labelImg 但是在使用过程中遇到了…