一文搞懂华为ML Kit数字人,超简单集成
一、数字人介绍
虚拟数字人是综合多模态AI能力,结合图像视觉、情绪生成、语音克隆、语义理解等多种AI技术,广泛应用于媒体新闻主播、金融客服、虚拟游戏等众多场景。
数字人在行业中的应用:
二、HMS ML Kit数字人
HMS ML Kit数字人是依托华为公司强大的图像处理、语音合成、声音克隆、语义理解等AI核心技术,全新推出的综合多模态AI能力。面向教育、新闻、多媒体制作企业,提供高质量、低成本、创新体验的内容创作模式。对比其他厂商数字人,HMS ML Kit数字人的优势明显:
支持超高清4K影院级效果
支持大屏展示,全身细节纹理均达到同等清晰度
生成与真实背景图像无缝融合,高清分辨率下无融合痕迹
嘴唇细节、口红反光分明、纹理清晰
牙齿清晰可见,齿缝纹理清晰真实
合成效果逼真度
真实还原牙齿(非贴图)、嘴唇、甚至口红反光细节。
真实还原面部光照、对比度、阴影、酒窝等细节。
嘴部皮肤生成纹理与真实纹理无缝对接。
相对3D主播,无动画生硬感。
三、HMS ML Kit数字人生成数字人视频展示
从上图中我们可以看到HMS ML Kit数字人超高清的真人视频效果,不仅口齿清晰,ML Kit数字人还对一些细节的掌控更加优秀:嘴唇细节、口红反光细节、更加真实的面部发音以及细致的面部光照效果。
四、HMS ML Kit数字人服务集成
4.1 服务集成过程
4.1.1 提交需要生成的文本信息
调用【定制文本转虚拟数字人视频接口】,将一些配置(config)和需要转化的文本(data)通过该接口传输至后端进行处理:首先,要对传输进来的data的文本字符长度进行校验,中文文本最大字符长度不得超过1000,英文文本单个字符长度不得超过3000,英文文本单词长度不得超过3000,对于传输进来的config做非空校验,然后将config和data提交,将文本文字转化为音频文件。
4.1.2 异步执行的定时任务
会有一个异步执行的定时任务处理提交的数据,调用TTS提供的算法,将文本文件转化为视频文件,并且将上一步得到的音频文件与视频文件合成起来。
4.1.3 查询文本是否转化成功
调用【文本转虚拟数字人视频结果查询接口】,实时查询异步执行的文本转视频是否已经执行完毕;如果执行完毕,将会返回一个生成视频的链接。
4.1.4 根据视频链接访问视频文件
根据【文本转虚拟数字人视频结果查询接口】所返回的视频链接,访问生成的视频文件。
4.2 服务集成的主要接口
4.2.1 定制文本转虚拟数字人视频接口
URL:
http://10.33.219.58:8888/v1/vup/text2vedio/submit
请求参数:
主要功能:
输入文本转换成虚拟数字人视频接口,此接口为异步接口,当前版本转换需要一定时间,采用离线方法,最终转换结果需要通过【文本转虚拟数字人视频结果查询接口】查询。如果提交的文本已经合成过,直接返回播放URL。
主要逻辑:
根据前端页面所传输的需要合成的文本数据data,根据config所提供的一些配置,将文本文字转化为音频文件。异步执行多线程,根据所提供的算法模型生成合乎发音的视频文件,然后将视频文件与音频文件合成起来,生成所需的数字人视频。如果提交的文本已经合成过,直接返回播放URL。
4.2.2 文本转虚拟数字人视频结果查询接口
URL:
http://10.33.219.58:8888/v1/vup/text2vedio/query
请求参数:
主要功能:
根据提交文本ID批量查询转换状态。
主要逻辑:
根据前端页面所传输的合成的文本数据ID列表,即textIds字段,查询所得到的视频文件合成的任务状态,将得到的状态结果存在集合,作为返回参数,插入到返回的请求当中。如果请求的文本已合成过,直接返回播放URL。
4.2.3文本转虚拟数字人视频批量下线接口
URL:
http://10.33.219.58:8888/v1/vup/text2vedio/offline
请求参数:
主要功能:
根据提交文本ID批量下线。
主要逻辑:
根据前端页面所传输的合成的文本数据ID数组,即textIds字段,对该数组内所有ID对应的视频进行下线设置,改变其状态为下线状态,同时删除视频文件,被下线的视频无法播放和观看。
4.3 HMS ML Kit数字人服务实现的主要功能
HMS ML Kit数字人服务的功能非常强大:
- 双语发音:由于目前系统支持中文发音和英文发音,可以传输中文文本和英文文本作为发音数据。
- 多个虚拟主播形象:支持不同虚拟主播发音,目前系统里配置了4名虚拟主播,分别为:中文女士发音,上海日报,英文女士发音,英文男士发音。
- 画中画视频播放:除了对虚拟主播的设置以外,视频播放支持画中画即小窗播放视频,在画中画模式播放视频时,视频窗口随屏幕移动,可以一边查看文本,一边播放视频,视频窗口还可以拖拽到任意位置,以至于不遮挡文本位置。
- 可调节的语速,音量,音调:可以满足不同需求的发音速度,发音音量以及发音音调。
- 多背景设置:可以设置不同的虚拟主播背景,目前系统内置了透明背景、绿幕、科技主题三种背景,还可以通过上传图片的方式自定义自己喜欢的背景进行设置。
- 字幕设置:系统可以自动配置字幕,可以设置中文字幕,英文字幕或者双语字幕。
- 多布局设置:可以由参数调节虚拟主播出现在屏幕当中的位置:左测,右侧,屏幕中间;以及调节虚拟主播人物大小和展示全身或半身。在选择虚拟主播出现在屏幕当中的位置为左边或者右边的时候,还可以设置台标和台标出现的位置,以及在视频当中显示需要播放的视频文件,做到视频画中画的效果,以还原真实的新闻播报的场景。
视频画中画展示:
五、结后语
作为一名开发者来说,在使用HMS ML Kit数字人生成一个视频之后,尤其是视频画中画的功能,令我叹为观止。这切切实实地还原了真实主播所处的新闻播报场景,不禁让人畅想,在完善化的数字人推行下,是否可以完全替代真人播报呢?
更详细的开发指南参考华为开发者联盟官网
https://developer.huawei.com/consumer/cn/hms/huawei-mlkit
原文链接: https://developer.huawei.com/consumer/cn/forum/topicview?tid=0202351501845870559&fid=18
作者:say hi
一文搞懂华为ML Kit数字人,超简单集成相关推荐
- 一文搞懂华为ML Kit拍照购,超简单集成
简介 华为HMS ML Kit提供拍照购服务,用户通过拍摄商品图片,在预先建立的商品图片库中在线检索同款或相似商品,返回相似商品ID和相关信息. 应用场景 使用摄像头设备从开发的购物APP当中捕捉产品 ...
- 一文搞懂华为的流程管理系统(附关键流程图)
官方网站 www.itilzj.com 文档资料: wenku.itilzj.com 前言: 任正非先生一直强调客户.流程与绩效是企业管理中最重要的三件事.事实上,华为导入咨询公司的一个重点就是&q ...
- python语言语句快的标记是什么_一文搞懂Python程序语句
原标题:一文搞懂Python程序语句 程序流 Python 程序中常用的基本数据类型,包括: 内置的数值数据类型 Tuple 容器类型 String 容器类型 List 容器类型 自然的顺序是从页面或 ...
- 一文搞懂HMM(隐马尔可夫模型)-Viterbi algorithm
***一文搞懂HMM(隐马尔可夫模型)*** 简单来说,熵是表示物质系统状态的一种度量,用它老表征系统的无序程度.熵越大,系统越无序,意味着系统结构和运动的不确定和无规则:反之,,熵越小,系统越有序, ...
- 一文搞懂如何使用Node.js进行TCP网络通信
摘要: 网络是通信互联的基础,Node.js提供了net.http.dgram等模块,分别用来实现TCP.HTTP.UDP的通信,本文主要对使用Node.js的TCP通信部份进行实践记录. 本文分享自 ...
- 【UE·蓝图底层篇】一文搞懂NativeClass、GeneratedClass、BlueprintClass、ParentClass
本文将对蓝图类UBlueprint的几个UClass成员变量NativeClass.GeneratedClass.BlueprintClass.ParentClass进行比较深入的讲解,看完之后对蓝图 ...
- 一文搞懂k近邻(k-NN)算法(一)
原文链接 一文搞懂k近邻(k-NN)算法(一) 前几天和德川一起在学习会上讲解了k-NN算法,这里进行总结一下,力争用最 通俗的语言讲解以便更多同学的理解. 本文目录如下: 1.k近邻算法的基本概念, ...
- 一文搞懂UART通信协议
目录 1.UART简介 2.UART特性 3.UART协议帧 3.1.起始位 3.2.数据位 3.3.奇偶校验位 3.4.停止位 4.UART通信步骤 1.UART简介 UART(Universal ...
- 一文搞懂:FT、DTFT、DFT、IDFT
一文搞懂:FT.DTFT.DFT.IDFT 写在前面 一切为了计算机的处理 推导步骤 总结 写在前面 近期重温了一下可爱的数字信号处理,又回想起当初被 FT.DTFT.DFT.IDFT 这几兄弟折腾的 ...
最新文章
- 特斯拉到底颠覆了什么?
- 微博 Docker 化混合云平台大剖析
- 使用富文本时修改时怎么回显数据_数据分析步骤繁琐?选对好工具,几步带你玩转数据分析...
- win10突然打开matlab闪退,win10上的应用打开会闪退,直接闪退
- vue控制台报错Duplicate keys detected: 'xxxx'. This may cause an update error.解决方案
- dj鲜生-07-静态文件的成功加载-用户注册的页面
- 20 ide配置快捷键补全提示 win
- Vant报错:[Vue warn]: Invalid prop: type check failed for prop “lazyLoad“. Expected Boolean, got String
- selenium模拟登陆LinkedIn
- win10默认壁纸_Win10瞬间审美爆炸,5分钟一键美化,不输万元Mac!
- python字母转换_python中字母与ascii码的相互转换
- esx linux 硬盘 扩容,ESX虚拟机添加新磁盘并扩容逻辑卷
- android-sdk下载安装
- 找各位数字之和为7的倍数的数
- 微信小程序实战 (WXSS:小程序版CSS、WXS:小程序版JavaScript)
- php多级审批功能,工作流定义:动态多级审批的应用场景?
- 微信H5页面前端开发,大多数人都会遇到的几个兼容性坑(转载)
- DirectShow --TEnumMediaType --GetMediaTypeDescription
- 浴室带除雾化妆镜触摸芯片-DLT8T10S
- 小程序记账小程序--日历组件开发
热门文章
- oracle19自动索引,Oracle 19c 新特性详解:自动索引(Automatic Indexing)的输出报告范例...
- Python爬虫和反爬虫的斗争
- centos8使用podman搭建vulhub
- 记不住的 rank函数
- C# 关于Lambda表达式
- ABAP 内表修改 MODIFY 和 MODIFY table 的区别
- 等价关系运算c语言大作业,离散数学C语言上机题.doc
- NVIDIA-XAVIER-NX 连接wifi、添加arm软件源、安装arm中文输入法、安装ros-melodic、nomachine远程控制界面、固定有线网卡静态ip
- 怎样用计算机设置隐私空间,华为手机的三种隐私设置,开放的秘密空间,永远不用担心女友检查手机!...
- 视频后期合成软件:Nuke 13 for Mac(支持m1) v13.0v3激活版