Erlo

「硬核」实操如何拥有一个自己的数字人模型

2023-04-07 16:31:07 发布   156 浏览  
页面报错/反馈
收藏 点赞

作者:京东健康 陈刚

一、前言

近年来,随着人工智能技术,VR,元宇宙等技术的发展,数字人(Digital Human)逐渐成为研究的热点之一,数字人是指通过计算机技术模拟出的具有人类外表,动作和语言能力的虚拟人物,具体可以应用到电影、游戏、虚拟现实、智能客服带货主播等多个领域。

本文大致分为三个章节:

  1. 第一部分会介绍常用技术以及简介,以及自己用到构建一个自己虚拟数字人用到的3D引擎和三维软件

  2. 第二部分会详细描述生成细节,通过照片建模,创建模型,添加细节,添加表情,优化效果,接入场景,最终效果

  3. 第三部分总结本篇内容

从预见未来到遇见未来,让我们开始,向上吧技术人!!!

二、虚拟数字人技术

要聊需要那些技术,先聊需要那些步骤?

收集数据:首先需要收集自己的数据,包括照片、视频、声音等,这些数据将成为数字人的基础。

• 人脸检测:利用计算机视觉技术对照片进行处理,检测出其中的人脸。可以使用已有的人脸检测算法,例如OpenCV、Dlib等。

人脸识别:对于检测出来的人脸,需要利用人脸识别技术对其进行识别和分析,从而获取人脸的各种特征和信息。可以使用已有的人脸识别算法,例如FaceNet、VGGFace等。

3D建模技术:数字人是一种三维模型,因此需要掌握3D建模技术。这包括了掌握3D建模软件的使用,如Blender、Maya、ZBrush等。

• 优化细节:优化数字人的各种细节,包括皮肤纹理、发型、服装等,让数字人更加真实、生动。

• 材质和纹理制作技术:数字人需要具有逼真的材质和纹理,因此需要掌握材质和纹理制作技术。这包括了掌握材质和纹理制作软件的使用,如Substance Painter、Photoshop等。

动画制作技术:数字人需要具有动态的动作和表情,因此需要掌握动画制作技术。这包括了掌握动画制作软件的使用,如Unity、Unreal Engine等。

以下文字内容较多,先放一个自己建好的模型

1、收集数据或者生成图片

• Photoshop、相机:这部分忽略一下,哈哈哈

Stable DiffusionAI图像生成工具,一个基于Latent Diffusion Models(潜在扩散模型,LDMs)的文图生成(text-to-image)模型,生成图片的原理是通过模拟稳定扩散过程并生成相应的数据,然后将数据可视化展示为图片,以帮助用户更好地理解实验结果和数据特征

ChatGPT:OpenAI团队ChatGPT-4O开发了一种新的技术,使ChatGPT也可以生成图片。这种技术被称为DALL·E(即“Drawing Artificially with a Learned Language Model and a Encoder”),它结合了语言模型和图像编码器的能力,能够根据给定的文本描述生成对应的图片。

2、人脸检测和识别

OpenCV:是一个用于计算机视觉的开源库,它提供了许多常用的计算机视觉算法和工具,如图像处理、特征提取、物体检测、人脸识别、跟踪等。OpenCV支持多种编程语言,包括C++、Python等。

Dlib:是一个C++库,它提供了用于机器学习、图像处理、计算机视觉等领域的算法和工具。其中最知名的功能是人脸识别,它基于深度学习和传统的计算机视觉技术,并提供了人脸对齐、人脸特征提取等功能。

FaceNet:是由Google开发的一个深度学习算法,用于将人脸图像转换为高维向量表示,从而实现人脸识别。FaceNet使用了三个主要组件:卷积神经网络、三元组损失函数和在线学习方法,这些组件使得FaceNet能够在大规模人脸识别任务中达到很高的准确率。

VGGFace:是由牛津大学的研究团队开发的人脸识别算法,它基于深度卷积神经网络,并使用了许多卷积层和池化层来提取人脸图像的特征。VGGFace包含了两个模型:VGGFace和VGGFace2,其中VGGFace是一个较早的模型,而VGGFace2是一个新的模型,它在大规模人脸识别任务中具有更好的性能。

3、3D建模技术

Blender:是一个用于三维建模、动画、渲染和交互式应用程序开发的开源软件。它支持多种三维对象的创建和编辑,包括多边形网格、NURBS曲线、体积网格等,并提供了丰富的材质和纹理编辑器,可以帮助用户创建出逼真的场景和角色。

Metashape:前身为PhotoScan)是一个用于三维重建和地形建模的商业软件。它可以根据照片生成高精度的数字模型,并提供了多种渲染选项和工具,如纹理映射、贴图、相机校准等。Metashape还可以将生成的模型导出到其他软件中进行后续处理和应用。

Maya:是一款专业级的三维建模和动画软件,广泛用于电影、电视、游戏等领域。它提供了丰富的建模和动画工具,包括多边形网格、NURBS曲线、动力学仿真、粒子系统等,并支持多种渲染引擎,如Arnold、V-Ray等。

ZBrush:是一款专业级的数字雕刻软件,用于创建高精度的三维模型和角色。它提供了多种绘画和雕刻工具,包括多边形建模、纹理映射、雕刻笔刷等,并支持实时预览和交互式渲染。

LayaAir:是一个用于Web、移动和小游戏开发的HTML5引擎。它提供了多种功能和工具,如3D渲染、物理引擎、GUI编辑器等,可以帮助用户创建出高效、高质量的Web应用和游戏。LayaAir还支持多种开发语言,包括JavaScript、TypeScript等。

4、动画制作技术

Unity3D:Unity3D是一款实时3D互动内容创作和运营平台,支持多种平台和设备,包括PC、移动设备、虚拟现实和增强现实等。Unity3D提供了强大的编辑器和工具,支持C#和UnityScript等多种编程语言,可用于游戏开发、AR/VR应用开发等。

Unreal Engine: Unreal Engine是一款由Epic Games开发的3D游戏引擎,同样支持多种平台和设备,包括PC、主机、移动设备、VR和AR等。Unreal Engine提供了强大的编辑器和工具,支持C++和蓝图等多种编程方式,可用于游戏开发、建筑可视化、虚拟展览等。

CryEngine:CryEngine是一款由Crytek开发的3D游戏引擎,同样支持多种平台和设备,包括PC、主机、移动设备、VR和AR等。CryEngine提供了强大的编辑器和工具,支持C++和Lua等多种编程方式,可用于游戏开发、建筑可视化、虚拟展览等。

Godot:Godot是一款免费、开源的3D游戏引擎,支持多种平台和设备,包括PC、移动设备、Web和VR等。Godot提供了强大的编辑器和工具,支持GDScript和C#等多种编程语言,可用于游戏开发、AR/VR应用开发等。

部分软件图标

除了以上技术应该还有很多技术,欢迎大家热烈讨论和在评论区补充

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认