「硬核实操」如何拥有一个自己的数字人模型
作者:京东健康 陈刚
一、前言
近年来,随着人工智能技术,VR,元宇宙等技术的发展,数字人(Digital Human)逐渐成为研究的热点之一,数字人是指通过计算机技术模拟出的具有人类外表,动作和语言能力的虚拟人物,具体可以应用到电影、游戏、虚拟现实、智能客服、带货主播等多个领域。
本文大致分为三个章节:
第一部分会介绍常用技术以及简介,以及自己用到构建一个自己虚拟数字人用到的3D引擎和三维软件
第二部分会详细描述生成细节,通过照片建模,创建模型,添加细节,添加表情,优化效果,接入场景,最终效果
第三部分总结本篇内容
从预见未来到遇见未来,让我们开始,向上吧技术人!!!
二、虚拟数字人技术
要聊需要那些技术,先聊需要那些步骤?
• 收集数据:首先需要收集自己的数据,包括照片、视频、声音等,这些数据将成为数字人的基础。
• 人脸检测:利用计算机视觉技术对照片进行处理,检测出其中的人脸。可以使用已有的人脸检测算法,例如OpenCV、Dlib等。
• 人脸识别:对于检测出来的人脸,需要利用人脸识别技术对其进行识别和分析,从而获取人脸的各种特征和信息。可以使用已有的人脸识别算法,例如FaceNet、VGGFace等。
• 3D建模技术:数字人是一种三维模型,因此需要掌握3D建模技术。这包括了掌握3D建模软件的使用,如Blender、Maya、ZBrush等。
• 优化细节:优化数字人的各种细节,包括皮肤纹理、发型、服装等,让数字人更加真实、生动。
• 材质和纹理制作技术:数字人需要具有逼真的材质和纹理,因此需要掌握材质和纹理制作技术。这包括了掌握材质和纹理制作软件的使用,如Substance Painter、Photoshop等。
• 动画制作技术:数字人需要具有动态的动作和表情,因此需要掌握动画制作技术。这包括了掌握动画制作软件的使用,如Unity、Unreal Engine等。
以下文字内容较多,先放一个自己建好的模型
1、收集数据或者生成图片
• Photoshop、相机:这部分忽略一下,哈哈哈
• Stable Diffusion:AI图像生成工具,一个基于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应用开发等。
部分软件图标
除了以上技术应该还有很多技术,欢迎大家热烈讨论和在评论区补充😏
三、构建一个自己的数字人—小陈
第一步 用自己的照片生成自己的头像模型
有以下三种办法
1、使用 https://avatarsdk.com/ 在线制作,这个H5是基于WebGL的OpenCV技术构建,可以传一张照片(高p的)生成头的模型,也可以生成头和身体模型。
为了不影响建模,一般选择秃头,导出数字人头部模型
2、使用Polycam软件应用上传生成导出
拍照时自己站着不要动,我们做数字人需要头就可以,拍照的仰角和俯角倾斜,拍40张左右即可
导入Blender进行对点云部分删除部分,分析建模,然后导出数字人头部模型
3、通过照片,格式工厂,在Metashape构建模型 对点云进行处理 导出数字人头部模型,原理是一样的
以上方式根据具体的需求来,第二三种方式更逼真。
第二步 导入模型到UE5中,并安装插件
安装 MetaHuman插件(数字人)、 Bridge插件(建模)、LiveLink插件(交互动作)。插件都装好后,重启虚幻引擎
1、导入我们第一步的模型,创建MetaHuman实体,并给实体命名,注意这个名字就是你数字人的名字
2、双击进入,面部选择网格体也就是我们第一步生成的头像模型,并给小人选择合适身体
继续点击提升帧,追踪活动帧,效果如下图
继续点击MetaHuman本体解算、网格体转MetaHuman。
3、在UE5中打开Bridge,登陆一下账号,只有logo的就是我们的小人了。忽略我设计的秃顶和爆炸头小陈
选中logo模型,点击START MHC进入MetaHuman Creator网页, https://metahuman.unrealengine.com/ 进一步加工我们的MetaHuman吧
第三步 调整你的数字人
对骨骼,肤色,头发,牙齿,身体,表情动作等进行调整,内容太丰富,建议自己尝试,放一个眼影小陈,和大胡子小陈
第四步 下载数字人并加载到虚幻引擎中
1、打开Bridge点击Down
2、添加小人到项目中后项目中多了一个MetaHuman的文件夹,移动到你的场景吧
3、最终效果图,只下载好了(网速不好)秃头小陈实在不好放大,下次做个好看的在更新下文章吧。
四、总结和畅想
本文介绍了如何打造一个数字人,描述业内常用的一些软件和技术栈,并实战打造一个以自己为模型构建的虚拟数字人,并详细描述了全过程。总的来说数字人具备了逼真的人类外貌、身体动作和语言能力的虚拟人物,不同的制作方法和技术可以实现不同的效果和应用,选择合适的方法和技术需要根据具体需求和项目情况来确定。
大家将就看完了,模型还是丑丑的😭,下一步持续提升,让数字人拥有智慧,拥有交互,拥有颜值(毕竟颜值才是正义)。
关于数字人如何创建和相关技术就介绍到这里啦,我也是刚入门,有不对的地方和需要补充的,欢迎大家指正,希望对大家所有帮助,也欢迎多多点赞收藏😎。
最后关于数字人的应用场景和结合实际的落地效果,大家有好的idea也可以一起讨论。
五、团队介绍
我们是互联网医疗服务团队,主要是在医药闭环流程中,承接医患两端服务平台,包括派单、问诊、处方等垂直领域业务,团队一直致力于在医疗行业中探索和应用各种新兴的科技手段。目前主要在医学对话,远程医疗、医学影像诊断等方面进行探索和尝试,相信可以为医生和患者带来更好的医疗服务体验。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【学习笔记】AI算法测试之浅谈
作者:京东物流李云敏 一、人工智能 1、人工智能(AI)是什么 人工智能,英文Artificial Intelligence,简称AI,是利用机器学习技术模拟、延伸和扩展人的智能的理论、方法、技术及应用的一门新的技术科学。 人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。 人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。 通俗的说,就是让机器可以像人类一样有智能,让机器看得懂、听得懂、会思考、能决策、能行动,实现原来只有人类才能完成的任务。 2、人工智能(AI)的本质 AI的本质是通过软件来实现特定的算法。 一个优秀的人工智能系统,应该具有三个方面的特征:知识运用的能力、从数据或经验中学习的能力、处理不确定性的能力。 知识运用能力 知识是智能体现的一个最重要的维度。听说看能力如果不考虑内容的深度,则仅仅是停留在感知智能的层面,只能与环境交互和获取环境的信息,其智能表现的空间非常有限。一个智能系统应...
- 下一篇
Low-Code,一定“low”吗?
作者:京东保险 吴凯 前言 低代码是一组数字技术工具平台,基于图形化拖拽、参数化配置等更为高效的方式,实现快速构建、数据编排、连接生态、中台服务。通过少量代码或不用代码实现数字化转型中的场景应用创新。本文将重点介绍低代码相关知识,包括低代码的定义与意义、相关概念、行业发展等,同时介绍京东的低代码工具,期望能帮助大家更好地认识与理解低代码。 一、低代码介绍 2014年,Forrester(著名研究咨询机构)提出“低代码”的术语,定义为“利用很少或几乎不需要写代码就可以快速开发应用,并可以快速配置和部署的一种技术和工具”。或者说是“(能力)多(出品)快(质量)好(功夫)省”。 这个定义体现出低代码的核心价值: 1、低代码开发平台能够实现业务应用的快速交付。低代码开发的重点是开发应用快,不像传统意义上仅仅是一个应用的开发,而是通过可视化的开发,达到“设计及交付”的目的,提高开发效率。 2、低代码开发平台能够降低业务应用的开发成本。低代码开发投入更低,主要体现在开发时间短,可以快速配置和部署,同时也更容易使非开发人员上手。 二、我们为什么用低代码 低代码可以降本增效,一方面低代码的出现避免...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路