【论文精读】HumanNeRF

目录

  • Abstract
  • 1.Introduction
  • 2.Related work
    • Human specific rendering
    • Neural radiance fields
    • Human-specific neural rendering
    • Concurrent work
  • 3.Representing a Human as a Neural Field
    • Canonical volume
    • Skeletal motion
    • Non-rigid motion
    • Pose correction
  • 4.Optimizing a HumanNeRF
    • 4.1 Volume rendering
    • 4.2 Delayed optimization of non-rigid motion field
    • 4.3 Loss and ray sampling
  • 5.Results
    • 5.1 Evaluation dataset
    • 5.2 Optimization details
    • 5.3 Evaluation method
    • 5.4 Comparisons
    • 5.5 Ablation studies
  • 6.Discussion
    • Limitations
    • Conclusion

今天读的是CVPR 2022 oral的一篇文章,文章由UW和Google合作,旨在使用NeRF基于单目视频渲染合成运动的人体。

项目地址:https://grail.cs.washington.edu/projects/humannerf/

Abstract

引入了一种自由视点渲染方法——HumanNeRF。它适用于人类进行复杂身体运动的单目视频。该方法可以在任何帧暂停视频,并从任意新的摄像机视点甚至是该特定帧和身体姿势的完整 360 度摄像机路径渲染主体。这项任务特别具有挑战性,因为它需要合成身体的细节,从输入视频中可能不存在的各种角度看,以及合成精细的细节,如布料褶皱和脸部细节。我们的方法优化了人在规范 T 姿势中的体积表示,与运动场相一致,该运动场通过向后扭曲将估计的规范表示映射到视频的每一帧。运动场被分解为由深度网络产生的骨骼刚性和非刚性运动。文章展示了性能改进和在随意的场景中移动人类的单目视频的渲染示例。

1.Introduction

给定一个人类运动的视频,我们想要在任何帧暂停并能够360度旋转在任何角度观察这个视频里的表演者。这个问题长期以来都是一个挑战,因为它需要合成一些摄像机完全没有涉及到的角度,并且还需要合成诸如衣服折叠、头发摆动、复杂肢体运动等等细节。
先前的工作可以在拥有小心拍摄的多个视图的情况下合成新视角,但在人类的合成上表现不好,因为人类的动作包含非刚体运动。针对人类的合成会把SMPL模板当作先验条件,这虽然有助于限制运动空间,但也会在服装和复杂运动中引入 SMPL 模型未捕获的伪影。最近,可变形的 NeRF 方法对于小的变形表现良好,但不适用于像跳舞这样的大的全身运动。
我们创造了一种名为 HumanNeRF 的方法,该方法将运动的人的视频作为输入,并在使用现成的估计器提取每帧 3D 姿势后,优化人体的典型体积 T-pose和通过backward warping将估计的规范体积映射到每个视频帧的motion field。运动场结合了骨骼刚性运动和非刚性运动,每一个都以体积表示。标准体积和运动场源自视频本身,并针对大的身体变形进行了优化,端到端训练,包括 3D 姿势细化,无需模板模型。在测试时,我们可以在视频中的任何帧暂停,并根据该帧中的姿势,渲染生成从任何角度来看的体积表示。
我们展示了各种示例的结果:现有的实验室数据集、我们在实验室外捕获的视频以及从 YouTube 下载的内容。我们的方法在数值上优于最先进的方法,并产生显着更高的视觉质量。

2.Related work

自由视点渲染的物理特性涉及对几何和表面属性进行建模,然后从新的相机视图进行渲染。但是,仍然很难重新创建复杂的几何形状和微妙的照明效果。 另外,基于图像的渲染提供了基于图像域中给定视图集的新视图,并在过去几十年中进行了大量研究。

Human specific rendering

Kanade 等人的工作是对人类自由视点渲染的最早研究之一。,它引入了一个配备相机的圆顶来恢复深度图和网格,通过重投影和混合不同的视图来渲染新的视图,以解决由于遮挡引起的网格空洞。 后来,Matusik 等人从对象的轮廓中重建了一个visual hull,并通过仔细选择没有辅助几何表示的像素来渲染它。 Carranza等人使用参数化的身体模型作为先验并组合无标记运动捕捉和依赖于视图的纹理。紧接着的工作带来了非刚性变形、纹理扭曲以及基于体积或球体的各种表示。Collet等人和Guo等人建立了一个系统和pipeline来生成高质量的视频中的移动人物。这些基本都依赖多个视角的视频和昂贵的采集装置,但我们想用简单的单目相机来达到这个效果。

Neural radiance fields

神经辐射场使得高质量渲染成为可能。文章将会把提出的方法与一些动态和可变形NeRF进行了对比。

Human-specific neural rendering

Lingjie 等人的工作从预先捕获的身体模型开始,学习对时间相关的动态纹理进行建模并强制执行时间连贯性。Martin-Brualla等人训练了一个 UNet 来改善体积捕获引入的artifacts。 Pandey 等人的后续工作通过半参数学习将所需输入帧的数量减少到单个 RGBD 图像。Wu和Peng等人探索了使用嵌入点云(来自 MVS)或 reposed mesh vertices(来自SMPL),并学习了一个随附的基于 UNet 或 NeRF 的神经渲染器。Zhang等人将场景分解为背景和表演者,并用分离的 NeRF 表示它们,从而实现场景编辑。除了自由视点渲染,还有另一个相关的活跃研究领域,专注于 2D或 3D 中的人类移动重定位。我们的方法与那些的主要区别在于,我们将包含复杂人体运动的单目视频作为输入,并可以进行高质量 3D 渲染。

Concurrent work

Xu等人的工作能够同时学习隐式几何以及图像的外观, 他们主要关注多视图设置,其中有一些简单的人体运动(A-pose)单目视频示例。 Su等人使用过度参数化的 NeRF 来严格转换 NeRF 特征,以优化身体姿势,从而进行最终渲染。 非刚性运动没有显式建模,所以渲染质量不高。 Noguchi等人发现了类似的方法但效果也不够理想。

3.Representing a Human as a Neural Field

我们将一个移动的人物表达为 F c F_{c} Fc,转换为观察的姿势下能看到的样子 F o F_{o} Fo
在这里插入图片描述
其中 F c : x − > ( c , σ ) F_{c}:x->(c,\sigma) Fcx>(c,σ)表示位置 x x x和颜色 c c c体积密度 s i g m a sigma sigma T : ( x 0 , p ) − > x c T:(x_{0},p)->x_{c} T:(x0,p)>xc定义了一个motion field,把点从观察空间映射回canonical space,由观察姿态 p = ( J , Ω ) p=(J,\Omega) p=(J,Ω)引导,其中 J J J包含 K K K个标准3D联合位置, Ω = { w i } \Omega=\{w_{i}\} Ω={wi}是表示为轴角向量的local joint rotations。
我们通过将运动场分解为两部分来处理具有复杂变形的复杂人体运动:
在这里插入图片描述
其中 T s k e l T_{skel} Tskel表示skeleton驱动的变形,基本上就是逆linear-blend skinning, T N R T_{NR} TNR从骨架驱动的变形开始,并对其产生偏移 Δ x Δx Δx。实际上, T s k e l T_{skel} Tskel提供由标准skinning驱动的粗略变形,而 T N R T_{NR} TNR 提供更多非刚性效果,比如由于服装的变形。
对于野外图像,我们使用现成的 3D 身体+相机姿势估计器。 由于姿势估计的不准确,我们还求解了一个姿势校正函数 P p o s e ( p ) P_{pose} (p) Ppose(p),它可以更好地解释观察结果,并将这种改进应用于骨架驱动的变形,即,我们将 T s k e l ( x , p ) T_{skel} (x, p) Tskel(x,p) 替换为 T s k e l ( x , P p o s e ( p ) ) T_{skel}(x, P_{pose} (p)) Tskel(x,Ppose(p)) 。整体架构如下图所示:
在这里插入图片描述

Canonical volume

我们把canonical volume F c F_{c} Fc表示为具有MLP的连续场,在给定点 x x x 的情况下输出颜色 c c c 和密度 σ \sigma σ
在这里插入图片描述
其中y是和NeRF当中一模一样的位置编码方式。

Skeletal motion

我们计算了骨骼形变 T s k e l T_{skel} Tskel作为一种逆向linear blend skinning,将观察空间中的点映射到规范空间:
在这里插入图片描述
其中 w 0 i w^{i}_{0} w0i是第 i i i个骨骼的混合权重, R i R_{i} Ri t i t_{i} ti是旋转和平移,将骨骼的坐标从观察映射到规范空间。 R i R_{i} Ri t i t_{i} ti 可以从 p p p 显式计算,我们的目标是针对 w i o w^{o}_{i} wio 进行优化。
在实践中,我们通过将 K 个混合权重存储为一组体积 w c i ( x ) {w_{c}^{i} (x)} wci(x) 来求解在规范空间中定义的 w c i w_{c}^{i} wci,从中导出观察权重为:
在这里插入图片描述
求解规范空间中的一组权重体积 w c i ( x ) {w_{c}^{i} (x)} wci(x),而不是观察空间中的 N N N w o i ( x ) {w_{o}^{i} (x)} woi(x)(对应于 N N N 个输入图像),可以导致更好的泛化,因为它避免了过拟合。
我们将 w c i ( x ) {w_{c}^{i} (x)} wci(x)的集合打包成具有 K 个通道的单个volume W c ( x ) W_{c} (x) Wc(x)。 我们没有使用 MLP 对 W c W_{c} Wc 进行编码,而是出于两个原因选择显式体积表示:(1) 等式 5 表明需要 K K K 个 MLP 评估来计算每个 w o i ( x ) w_{o}^{i} (x) woi(x),这对于优化是不可行的(在我们的工作中 K = 24 K = 24 K=24); (2) 通过三线性插值重新采样的具有有限分辨率的显式体积提供了平滑度,有助于以后对优化进行正则化。 在实践中,在优化过程中,我们不是直接求解 W c W_{c} Wc ,而是求解从随机(恒定)潜在代码 z 生成体积的 CNN 的参数 θ s k e l θ_{skel} θskel
在这里插入图片描述
我们还添加了一个通道,一个背景类,并将 W c W_{c} Wc 表示为具有 K + 1 K + 1 K+1 个通道的volume。然后,我们将channel-wise的 softmax 应用于 CNN 的输出,在通道之间执行统一分区。然后可以使用等式5的分母来近似相似度 f ( x ) f (x) f(x)(作为主体的一部分),其中 f ( x ) = f (x) = f(x)=
在这里插入图片描述
f ( x ) f (x) f(x) 接近于零时,我们很可能在远离主体的自由空间中,我们将在体绘制期间使用它。
优化混合权重的主意其实并不新颖,相似的方法在human modeling上也有被使用过。

Non-rigid motion

我们使用非刚体运动 T N R T_{NR} TNR作为骨骼驱动的运动的一个偏移量 Δ x \Delta x Δx,比如: ∆ x ( x , p ) = T N R ( T s k e l ( x , p ) , p ) ) ∆x(x, p) = T_{NR} (T_{skel} (x, p), p)) x(x,p)=TNR(Tskel(x,p),p))。为了获取细节,我们使用MLP来表示 T N R T_{NR} TNR
在这里插入图片描述
其中,我们再一次使用了位置编码,并将 MLP 设置在 Ω Ω Ω 上,身体姿势 p p p 的joint angles。

Pose correction

身体的姿态 p = ( J , Ω ) p= (J, \Omega) p=(J,Ω)如果通过图片估算的话经常是不准的。为了解决这个问题,我们使用这个方法对pose进行更新:
在这里插入图片描述
我们将关节 J J J 固定并优化关节角度的相对更新, Δ Ω = ( Δ ω 0 , . . . , Δ ω K ) ΔΩ = (Δω_{0} , ..., Δω_{K} ) ΔΩ=(Δω0,...,ΔωK),然后将其应用于 Ω Ω Ω 以获得更新的旋转向量。
根据经验,我们发现,不直接针对 ∆ Ω ∆Ω Ω 进行优化,而是求解 MLP 的参数 θ p o s e θ_{pose} θpose,该 MLP 生成以 Ω Ω Ω 为条件的 ∆ Ω ∆Ω Ω 会导致更快的收敛:
在这里插入图片描述
通过这种姿势校正,我们可以将从观察空间扭曲到规范空间的方程重写为:
在这里插入图片描述

4.Optimizing a HumanNeRF

在本节中,我们描述了我们最小化的总体目标函数、我们的体积渲染过程、我们如何规范优化过程、具体的损失函数细节和光线采样方法。
HumanNeRF objective
给定一些视频帧 { I 1 , I 2 , . . . , I N } \{I_{1},I_{2},...,I_{N}\} {I1,I2,...,IN},身体姿态 { p 1 , p 2 , . . . , p N } \{p_{1},p_{2},...,p_{N}\} {p1,p2,...,pN}和相机 { e 1 , e 2 , . . . , e N } \{e_{1},e_{2},...,e_{N}\} {e1,e2,...,eN},我们要解决的问题是:
在这里插入图片描述
其中L是loss函数, Γ \Gamma Γ是体积渲染器,我们最小化所有网络参数 Θ = { θ c , θ s k e l , θ N R , θ p o s e } Θ = \{θ_{c} , θ_{skel} , θ_{NR} , θ_{pose} \} Θ={θc,θskel,θNR,θpose}的loss。 F c F_{c} Fc 由参数 θ c θ_{c} θc 确定,而从观察空间到规范空间的变换 T T T 依赖于参数 θ s k e l θ_{skel} θskel θ N R θ_{NR} θNR θ p o s e θ_{pose} θpose

4.1 Volume rendering

我们使用的渲染神经场的方式如下,对于一条射线 r r r,采样 D D D个样本,那么期望颜色 C ( r ) C(r) C(r)可以被表示为:
在这里插入图片描述
其中 Δ t i \Delta t_{i} Δti是第 i i i i + 1 i+1 i+1个采样点之间的间距。
当近似前景概率 f ( x ) f (x) f(x) 较低时,我们进一步扩大 α i α_{i} αi 的定义:
在这里插入图片描述
我们应用了NeRF提出的stratified sampling。 我们不使用hierarchical sampling,因为可以从他们的 3D 身体姿势估计对象的bounding box。 然后我们只对box内的点进行采样。

4.2 Delayed optimization of non-rigid motion field

当一次求解等式11中的所有网络参数时,我们发现优化的骨架驱动和非刚性运动没有解耦,对象的一部分骨骼运动由非刚性运动场建模,这是由于将非刚性运动过拟合到了输入图像。 于是,在渲染看不见的视角时就会质量下降。
我们通过管理优化过程来解决问题。 具体来说,我们在优化开始时禁用非刚体运动,然后以coarse to fine的方式将它们恢复。 为了实现这一点,对于非刚性运动 MLP,我们将截断的 Hann window应用于其位置编码的频带,以防止过度拟合数据,随着优化的进行增加窗口大小。 继 Park 等人之后,我们定义了位置编码的每个frequency band j 的权重:
在这里插入图片描述
其中 α ∈ [ 0 , L ) α ∈ [0, L) α[0,L)定义了窗口的宽度, L L L是位置编码中频带的总个数。接着,我们定义了 α α α 作为优化迭代的函数:
在这里插入图片描述
其中 t t t是当前的迭代, T s T_{s} Ts T e T_{e} Te是超参,定义了何时启用非刚体运动优化,何时使用位置编码的full frequency bands。我们从位置编码中删除了位置标识,但并不影响性能。通过这种方式,我们可以设置 α = 0 \alpha=0 α=0,来完全地禁用非刚体运动优化。

4.3 Loss and ray sampling

我们使用 MSE 损失来匹配像素级外观和感知损失 LPIPS,以提供对轻微错位和阴影变化的鲁棒性,并改善重建中的细节。我们的最终loss函数是这两个loss之和。我们使用 λ = 2 \lambda=2 λ=2并选择VGG作为LPIPS的backbone。
Patch-based ray sampling
如果像在NeRF中所做的那样,对随机射线样本进行训练,并不能最大限度地减少我们的损失,因为 LPIPS 使用卷积来提取特征。因此,我们在图片上取 G G G H × H H×H H×H大小的patch,然后在每个patch中渲染总共 G × H × H G×H×H G×H×H个光线。将渲染的patch与输入图像上相同位置的patch进行比较。我们在实验中使用 G = 6 G=6 G=6 H = 32 H=32 H=32

5.Results

5.1 Evaluation dataset

在ZJU-MoCap,自己拍的视频和YouTube下载的视频上进行了测试。对ZJU-Mocap,选择了6个物体,采用由相机1拍摄的照片训练,用另外22个相机来测试。数据集直接提供了相机参数、人体姿态和语义分割结果,所以可以直接使用。对于自己采集的视频和网上下载的视频,使用SPIN得到近似的相机参数和人体姿态,自动分割前景物体,然后手动调整分割结果。并且我们把视频帧resize了以保证物体高度大概在500像素。

5.2 Optimization details

一些参数的设置。

5.3 Evaluation method

在这里插入图片描述
我们的方法适用于静态或移动的单个摄像机; 我们专注于使用静态相机和移动主体的结果,这是最自然的捕捉人表现的方法。

5.4 Comparisons

我们发现HyperNeRF在我们的实验当中不能产生有意义的新视角合成,这有可能是因为它依赖于多个视角(移动的相机)来构建三维模型。对于静态相机和移动的物体,它无法恢复有意义的深度图所以看起来是在记忆输入图片而非从输入图片泛化合成新图片。我们发现人物运动剧烈的时候HyperNeRF也无法正常工作了。
在这里插入图片描述
定量地来说,如表1所示,HumanNeRF 在所有主题和所有指标下都优于Neural body,除了 PSNR指标在主题 393上的数值(已知有利于平滑结果的指标)。 感知度量 LPIPS 的增益尤其显着,平均提高了近 40%。 对于ZJU-MoCap这个数据集,HumanNeRF 的视觉质量明显优于 Neural Body。 即使在完全未观察到的视图上,我们的方法也能够产生类似于基本事实的高保真细节,而Neural body往往会产生更模糊的结果。 自拍视频和 YouTube 视频的结果也显示了使用 HumanNeRF 进行的始终如一的高质量重建。

5.5 Ablation studies

做了一些消融实验。
表 3 说明,对于 ZJU-MoCap 数据,仅skeletal deformation就足以显着改善Neural body。 添加非刚性变形可提供更多收益。 (为此数据集提供了准确的姿势,因此我们没有在此处对姿势优化器执行消融。)
在这里插入图片描述
图 6 直观地显示了对于野外数据,考虑非刚性运动以及对看不见的视图进行姿势校正的重要性。
在这里插入图片描述
图 7 显示了delayed optimization对于解耦骨骼变形和非刚性变形的重要性。 当解耦得不好时,对新视图的泛化要差得多,如图 8 所示。
在这里插入图片描述
在这里插入图片描述

6.Discussion

Limitations

当视频中未显示身体的一部分时,方法会出现artifacts。 姿势校正改善了图像对齐,但如果初始姿势估计较差或图像包含运动模糊等强伪影,则可能会失败。 我们假设非刚性运动是姿势相关的,但这并不总是正确的(例如,由于风或动态主体运动后的跟进导致衣服移动)。 我们还假设了漫射的照明,因此当对象上的点旋转时,外观不会发生显着变化。 最后,对于随意采集的视频,我们依靠人工干预来纠正分割错误。 这些限制为未来的工作指明了一系列有趣的途径。

Conclusion

HumanNeRF为单目视频中的移动人物的自由视角渲染生成了最先进的结果。 我们通过仔细建模身体姿势和运动以及规范优化过程来展示这种具有挑战性的场景的高保真结果。 我们对运动中的人类进行建模,并最终从随意的捕捉中实现完全逼真的、自由视角的人物渲染。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GAN论文精读以及基础讲解

GAN精读论文:Neurips-2014-Generative Adversarial Nets 根据李沐老师的讲解加上笔者个人的理解做的一个笔记,希望能够对想了解GAN的求学者有所帮助! 一、标题、作者、期刊 论文的标题名为Generative Adversarial Nets,中文解释…

我在工作群和ChatGPT聊了会天,找到了升职加薪的新思路

ChatGPT 大火! 我们知道,基于 AIGC 的 ChatGPT 可以整合信息并“回复”给我们所需的很多类答案,比如写论文、作诗、画画,不过现在,ChatGPT 已经从火出圈的现象级 AI 应用,迅速被更多开发者融入到更多产品工…

容联七陌:ChatGPT大模型能力为智能客服带来新方向

科技云报道原创。 近几个月来,大众对ChatGPT预期的持续走高,也影响到了智能客服领域公司的命运。 一方面,ChatGPT的出现为智能客服场景带来了更加“智能”的可能性;但另一方面,有人认为ChatGPT完全可以替代现有的智能…

ChatGPT爆火之后,视觉研究者坐不住了?谷歌将ViT参数扩大到220亿

本文来源 机器之心 编辑:泽南 视觉模型有很大的提升空间,研究者们在以往的 LLM 中学到经验教训,认为扩展是一个很有前途的方法。来自谷歌的研究者将 ViT 扩展到 22B 参数量,这是迄今为止报道的最大的视觉主干。 与自然语言处理类…

Android之Android studio实现智能聊天机器人

Android实现智能聊天机器人 最近在做项目中,突然来了灵感,要做一个聊天机器人.聊天机器人在很多大型App上都有使用,比如QQ群里的QQ小冰,淘宝京东等App上在没有人工客服之前会有机器人跟你聊天,根据你发的问题关键词,向你推荐一些答案,可以省下很多人工的时间以及减小服务器的压…

图像复原之维纳滤波

基本原理 图像复原是图像处理的重要组成部分,由于图像在获取和传输过程中通常不可避免的要受到一些噪声的干扰,因此在进行其他图像处理以及图像分析之前,应该尽量将图像复原到其原始真实状态。图像复原的关键问题是在于建立退化模型。图像退…

图像复原

1图像复原的而理论模型 定义:在成像过程中,由于成像系统各种因素的影响,可能使获得的图像不是真实景物的完善影像。图像在形成、传播和保存过程中使图像质量下降的过程,称为图像退化。图像复原就是重建退化的图像,使其…

UBI.city白皮书发布与空投领取方法

在经历了至少5次的全面推翻与重构后,UBI.city的方案终于可以发布了。 UBI.city简介 UBI.city是去中心化组织的动态治理协议,白皮书可在官网 www.ubi.city 中查阅。 随着The DAO在2016年募集了1170万枚ETH(价值约2.45亿美元)&am…

WhatsApp被禁用操作教程|实操WhatsApp解封的过程|2023三月

我是上周被WhatsApp被禁用了,按照网上的方法,点击Support提交,会自动跳转一个邮件,发送到WhatsApp官方,我满心欢喜地等待解封,以为会像大家说的那样,第二天可以解封。 就是点击那个 支持 提交了…

微信网页版解封方法

最近,微信又推出了网页版的【文件传输助手】,也就是说,无需登录客户端的微信,即可进行文件或图片的传输。 网址是 https://filehelper.weixin.qq.com网址巨长,咋一看,又长又难记,玩个锤子 经…

微信小程序-获取用户头像信息以及修改用户头像

这里主要用到button的open-type功能&#xff0c;官网已有说明&#xff1a; 给button设置open-type"chooseAvatar"&#xff0c;来使bindchooseavatar方法生效&#xff0c;在bindchooseavatar指定的函数中获取用户的头像信息 <button open-type"chooseAvata…

小程序中新版本的获取用户头像与昵称:bind:chooseavatar

前言&#xff1a; 自从微信官方把获取用户昵称与头像的功能改动以后&#xff0c;给我们开发和用户的操作又增加了很多负担&#xff0c;但是没办法&#xff0c;只能使用最新的使用方法了。 小程序用户头像昵称获取规则调整公告 新版实现效果&#xff1a; 注意&#xff0c;真机…

关于QQ群头像以及微信讨论组头像的工具类

QQ群头像以及微信讨论组头像工具类介绍 介绍&#xff1a; 由于段时间公司项目需求&#xff0c;在翻了网上很多代码后发现&#xff0c;很多人用的是自定义View的办法来实现此类头像的效果&#xff0c;但是&#xff0c;这样一来就必须改变项目中原有的控件&#xff0c;而且当需要…

桌面宠物!

电脑桌宠&#xff1a; 天选姬 下载地址&#xff1a;https://www.asus.com.cn/supportonly/FA506QR/HelpDesk_download/ 选择系统&#xff0c;点击软件程序下的查看更多&#xff0c;选择天选姬桌面大鹅&#xff08;Desktop Goose&#xff09; 下载地址&#xff1a;https://wwu.…

微信小程序最新调用用户头像以及昵称

众所周知&#xff1a;微信小程序开发是面对“公告”编程&#xff0c;小程序的api更新迭代之快&#xff0c;让人叫苦不堪&#xff0c;&#xff0c;&#xff0c; 最近开发小程序项目时&#xff0c;获取用户头像和昵称的方式发生了很大的改变&#xff1a; 它居然绑定到一个 butt…

微信小程序新版头像昵称API [保存用户头像到服务器]

根据微信官方文档的说法&#xff0c;2022年10月之后&#xff0c;原本的获取昵称和头像的api&#xff0c;也就是wx.getUserProfile和wx.getUserInfo将停止支持&#xff0c;在那之后发布和更新的小程序必须停止使用这两个api。 这两个api获得的用户头像均为一个url&#xff0c;指…

相片怎么变成漫画头像?分享个好用的处理工具

①.首先我们在电脑上打开任意浏览器&#xff0c;搜索进入改图在线做图页面。进入之后&#xff0c;可以看到上方的导航栏中有“去玩特效”这个导航&#xff0c;点击这里或者首页推荐工具下方的“照片特效”进入即可。 ②.进入照片特效页面后&#xff0c;这里有很多中卡通人脸特效…

taro小程序用户头像昵称获取

微信发布《小程序用户头像昵称获取规则调整公告》之后&#xff0c;无法再使用getUserProfile获取用户头像和昵称&#xff0c;因此小程序官方提供了头像昵称填写功能来完善个人资料。 对button添加open-type"chooseAvatar" bind:chooseavatar"onChooseAvatar&qu…

聊天截图厚码也不安全,大神写了算法分分钟给你还原

金磊 发自 凹非寺量子位 | 公众号 QbitAI 讲个恐怖的故事。 早上跟同事在微信闲谈&#xff0c;聊起了一位女同事最近的变化。 结果他反手就把文字打上马赛克&#xff0c;截图丢进了群里&#xff1a; 还欠欠儿地补了一刀&#xff1a; XXX&#xff0c;他说你坏话了呦~ 万万没想到…

深度对话三维家 | 4万亿市场,家装设计会诞生AIGC首个杀手级赚钱应用吗?

2022年&#xff0c;ChatGPT的火爆登场&#xff0c;超级烧钱的AI大模型赛道随即进入“千模大战”&#xff0c;“战况”惨烈异常。 时间来到2023年年中&#xff0c;AIGC热度不减&#xff0c;虽然创业者还在汹涌入局。究竟如何使用AIGC技术&#xff1f;AIGC技术可以在哪些场景率先…