目录
一、什么是形象克隆
二、形象克隆的技术原理
三、形象克隆的发展现状
四、形象克隆的未来趋势
五、形象克隆的应用场景
六、形象克隆简单代码案例
Python 实现数字人形象克隆
Scratch 实现角色克隆效果(以猫为例)
JavaScript 实现 Scratch 编程中的角色克隆与移动
七、形象克隆的框架有哪些
一、什么是形象克隆
形象克隆是利用人工智能技术,对人类的行为、声音、形象等方面进行复制或克隆的技术。
具体来说,通过深度学习和生成对抗网络等先进技术,收集大量数据进行训练,从而实现对真实人类的模拟。例如,在语音克隆方面,可将文字序列转换成音韵序列生成相似语音。如腾讯智影,用户上传一些音、视频后,可生成自己的数字人形象(外形和音色),还能用于 “逼真” 的文字播报。其中声音克隆是在线录制一段真人语音,经 “腾讯智影” AI 训练后可以得到与本人音色一致的声音模型。克隆好的声音模型,音色、语调、语言习惯可以与真人本人高度一致,届时只需要输入文字即可生成对应音频。
在图像生成方面,利用生成对抗网络生成与目标人物相似的图像或视频。比如电子发烧友网报道的 AI 克隆技术,其原理主要是通过人工智能技术来模拟和复制真实人类的行为、思维和表情等。具体而言,AI 克隆技术通常涉及到深度学习和生成对抗网络(GAN)等先进的人工智能技术。首先,AI 克隆技术需要收集大量的数据,包括文本、语音、图像等,用于训练人工智能模型。然后,通过深度学习算法,人工智能模型可以学习到数据的内在规律和特征,从而实现对真实人类行为的模拟。在图像生成方面,生成对抗网络(GAN)可以用于生成与目标人物尽可能相似的图像或视频。GAN 包含两个部分:生成器和判别器。生成器的任务是生成与目标人物相似的图像或视频,而判别器的任务是判断生成的图像或视频是否与目标人物相似。通过不断优化和调整生成器和判别器,可以逐渐提高生成图像或视频的质量和逼真度。
形象克隆技术在多个领域都有广泛的应用。在娱乐和艺术方面,AI 克隆技术可以用来生成逼真的人类声音、图像和视频,这在电影制作、游戏开发、音乐制作等领域中非常有用。例如,AI 可以用于制作虚拟角色、模拟人类行为和表情,提高电影和游戏的真实感和沉浸感。此外,AI 克隆技术也可以用于虚拟现实和增强现实,提供更加丰富和多样的娱乐体验。在语音助手和智能客服方面,AI 克隆技术可以用来创建智能语音助手,模拟人类的声音和语言,提供更加个性化和高效的服务。例如,语音助手可以帮助用户查询信息、安排日程、控制智能家居等,提高人们的生活质量和便利性。在教育和培训方面,AI 克隆技术可以用来创建智能导师和模拟现实世界的场景,为学生和教育者提供更好的学习体验。例如,AI 可以模拟现实世界的场景,让学生在实际操作之前先进行模拟练习。此外,AI 也可以用于生成个性化的学习计划和资源,提高学生的学习效果。在虚拟人和替身方面,AI 克隆技术可以用来创建虚拟人物形象,模拟人类的行为和表情。例如,在电影制作中,AI 可以用于生成逼真的虚拟角色和场景;在线教育领域,AI 可以用于创建智能教师形象,提供更加个性化和高效的学习体验。在语音克隆和虚拟主播方面,AI 克隆技术可以用来复制人类的声音特征,生成与目标人物相似的语音。这可以应用于语音合成、语音识别等领域,例如语音助手、智能客服等。此外,AI 克隆技术也可以用于制作虚拟主播,模拟人类主播的行为和语言,提供更加个性化和高效的服务。
二、形象克隆的技术原理
- 声音克隆:声音克隆是让 AI 算法通过大模型理解素材中每句话的含义,识别声音从而克隆相似的声音生成声音模型。具体来说,顾客提供 “复活” 对象的声音素材后,AI 会花费 2 - 5 天的时间进行处理。例如在南宁的一些人工智能机构,工作人员会将这些声音素材输入到特定的算法模型中,让模型理解每句话的语义,从而精准地识别出声音特征,并以此为基础克隆出相似的声音,最终生成声音模型。这种声音模型在音色、语调、语言习惯等方面可以与真人本人高度一致,例如市民陈先生通过商家将去世多年的父亲 “复活” 成 AI 人后,发现其声音与父亲生前几乎一模一样。
- 形象克隆:形象克隆是通过 AI 技术将逝者照片由人工进行筛选,抓取五官信息实现声音与五官的联动。这个过程通常需要 1 - 3 天时间完成。工作人员会对逝者照片进行仔细筛选,利用先进的 AI 技术精准抓取五官信息,使得生成的数字人形象在眨眼、口型与声音匹配、摇头等动作方面能够与声音完美联动,呈现出更加逼真的效果。比如在广西天能人工智能应用技术服务有限公司推出的 “再现亲人” 业务中,就会通过这样的方式为顾客打造出高度还原的数字人形象。
- 思想克隆:思想克隆是通过底层大模型建立基础思维,再输入家人对于逝者生前的人生经历、家庭关系、生活习惯、性格描述等信息,让 AI 模拟已故亲人的思想,并可通过聊天不断学习。这一阶段需要 2 - 4 天完成。首先,利用底层大模型构建基础思维框架,然后家人提供关于逝者的详细信息,AI 会根据这些信息模拟逝者的思想。在后续的使用过程中,还可以通过聊天的方式让数字人不断学习,使其更加贴近逝者的思维方式。例如硅基智能创始人司马华鹏提出的数字永生三个阶段中,就包括了思想克隆这一重要环节,实现形象和思想的全面 AI 化,为用户提供更加真实的交互体验。
三、形象克隆的发展现状
1.成本下降:
大模型的出现使得虚拟人制作成本大幅下降。在大模型之前,虚拟人的制作成本高昂,2022 年通常是一对一定制,价格从上万元到几十万不等。例如某知名酒业公司花费近 60 万元用于机场大屏的虚拟人广告,但落地效果不尽如人意。而如今,大模型已经作为一种生产能力渗入到整个虚拟人制作的产业链中,制作成本从之前的十万级下降到千元左右。国内最早一批布局 AI 数字人的「硅基智能」,其数字人形象克隆产品上线时统一定价为 8000 元,目前市场上售价参差不齐,从几百到几千不等。新的一年,硅基智能还在思考进一步降低成本,走全新的商业模式。此外,由于云端大模型技术的赋能,克隆一次形象的成本从原来的上万元下降至几块钱,让每一个普通商家拥有专属数字人成为可能。
虚拟人直播和短视频制作成本也大幅降低。以虚拟人直播为例,传统直播间搭建成本动辄几万到上百万,包括场地、设备、人力和维护等成本。而虚拟人直播间可以节省至少一半上述成本,如传统直播间对摄像头标准较高,虚拟人直播间只需要普通摄像头,甚至纯虚拟人直播连摄像头都不要,一个主机即可。从人力成本来看,传统直播间最低配置三人团队每月薪酬支出较高,而虚拟人直播则完全不需要人力成本。同时,虚拟人随时加班 24 小时拉满都可以,人的管理成本高且离职率高。虚拟人直播和短视频制作成本降低了 98%,为商家降本增效。
2.技术提升:
大模型改变了传统建模方法,让虚拟人的面部细节更逼真。过去虚拟人 3D 建模依靠 CG 技术,现在大模型使用视频大模型的制作工具,通过算法高效生成 3D 模型,提高了虚拟人的面部细节和面部表情、唇形的同步效果,使虚拟人在说话时看起来更自然。例如,出门问问的 “奇妙元” 数字人视频与直播平台,在文字、图像、声音等生成能力基础上,为视频内容创作者提供形式新颖、生动有趣的作品。
大模型增强了虚拟人的交互能力。根据 IDC 咨询,虚拟人的自动化水平可分为 L1 - L5 阶段,目前我们正处于 L3 - L4 的中间阶段,在直播间或者虚拟人互动的设备中,用户通过文字就能与虚拟人进行实时交流和对话,以用来介绍产品、替用户解决问题等等。相对智能化的虚拟人已能实现直播互动,其技术原理在于企业事先建立的模板库或知识库,一旦在直播中触发相应关键词,虚拟人就能实时调取里面的内容进行回答。但目前这项技术还不够成熟,有用户反馈在直播间问问题,过十分钟虚拟人才会回复。
3.市场混乱:
年初,起死回生的虚拟人开始疯狂找落地场景。2023 年,大模型 “救活” 了虚拟人行业,在元宇宙快速遇冷后,大模型为虚拟人技术带来了深刻影响,解决了成本高昂、制作周期缓慢、门槛过高等问题,让虚拟人能够真正开始规模化落地,融合进产业。
年中,代理商涌入直播间割韭菜。闻到商机的代理商们,带着成千上万虚拟人涌进直播间,开始披着技术的外衣疯狂割韭菜,这导致企业客户一时间对虚拟人望而却步。
年底,市场回归冷静,产业链分工逐渐清晰。当泡沫逐渐消失、技术逐渐成熟后,整个市场开始回归冷静,产业链开始分化,上中下游的分工慢慢清晰,各行各业也不再追求形式而开始真正思考虚拟人究竟能带来什么。
四、形象克隆的未来趋势
- 更加智能化:随着人工智能技术的不断发展,克隆数字人直播系统将更加智能化。通过对用户行为和喜好的深入分析,系统能够为用户提供更加精准的个性化推荐。例如,根据用户的观看历史、点赞记录等数据,推荐符合用户兴趣的虚拟形象和直播内容。同时,智能算法还可以不断学习和优化,提高推荐的准确性和满意度,为用户带来更加优质的直播体验。
- 跨平台兼容:未来,克隆数字人直播系统将支持更多的直播平台。这意味着用户可以在不同的平台上享受到相同的虚拟形象和互动体验,无需担心平台限制。无论是在抖音、快手等短视频平台,还是在淘宝、京东等电商平台,用户都可以使用自己的克隆数字人进行直播。这种跨平台兼容性将极大地拓展用户的直播范围,提高数字人的曝光度和影响力。
- 虚拟现实融合:形象克隆技术将与虚拟现实技术进一步结合,为用户提供更加沉浸式的直播体验。用户可以通过虚拟现实设备,进入一个虚拟的直播场景,与克隆数字人进行更加真实的互动。例如,在虚拟演唱会中,用户可以与虚拟歌手一起唱歌、跳舞,感受身临其境的音乐盛宴。此外,虚拟现实技术还可以为用户提供更加丰富的视觉效果,让直播更加生动有趣。
五、形象克隆的应用场景
- 娱乐艺术:形象克隆技术在娱乐艺术领域有着广泛的应用。在电影制作中,通过形象克隆技术可以生成逼真的虚拟角色,模拟人类行为和表情,提高电影的真实感和沉浸感。例如,利用 AI 克隆技术,可以制作出与真人演员极为相似的数字人角色,为电影增添更多奇幻色彩。在游戏开发领域,形象克隆技术可以创造出更加生动的游戏角色,让玩家获得更好的游戏体验。音乐制作方面,形象克隆技术可以用于生成虚拟歌手,为音乐创作带来新的可能性。
- 语音助手和智能客服:智能客服机器人利用形象克隆技术中的语音克隆功能,创建出智能语音助手,模拟人类声音和语言,为用户提供个性化高效服务。例如,通过对大量语音数据的学习,智能客服机器人可以准确理解用户的问题,并以自然流畅的语音进行回答。同时,根据用户的语言习惯和历史交互数据,提供个性化的服务解决方案,提高用户满意度。
- 教育和培训:形象克隆技术在教育和培训领域发挥着重要作用。通过创建智能导师和模拟现实场景,为学生和教育者提供更好的学习体验。例如,利用数字人克隆技术,可以打造出与真实教师相似的智能教师形象,为学生提供个性化的学习指导。同时,通过模拟现实世界的场景,让学生在实际操作之前先进行模拟练习,提高学习效果。此外,还可以根据学生的学习情况生成个性化的学习计划和资源,满足不同学生的需求。
- 虚拟人和替身:在电影制作和在线教育领域,形象克隆技术可以创建虚拟人物形象。在电影制作中,虚拟人物可以为观众带来全新的视觉体验。在线教育领域,智能教师形象可以提供个性化高效服务。例如,在电影中,通过形象克隆技术生成的虚拟角色可以与真人演员互动,增加电影的趣味性和观赏性。在在线教育中,虚拟教师可以根据学生的问题实时调整教学内容和方式,提高教学效率。
- 直播行业:数字人直播系统可降低成本、提高效率,实现 24 小时不间断直播。与传统直播方式相比,数字人直播系统具有诸多优势。首先,克隆数字人直播系统可以根据主播的需求打造个性化的虚拟形象,提高主播的辨识度,让观众更容易记住。其次,数字人直播系统可以降低直播成本,避免因主播身体不适或其他原因无法进行直播的困扰。此外,虚拟形象可以进行唱歌、跳舞等表演,增加直播的趣味性。数字人直播系统还可以应用于各种直播场景,如游戏直播、教育直播、购物直播等,为直播行业带来更多的发展机遇。
六、形象克隆简单代码案例
实现目标:
1.Python 实现数字人形象克隆:
将输入的视频和音频提供给 Wav2Lip 算法。
使用 Python 从 wav2lip 生成的视频中提取帧。
所提取的帧提供给 Real-ESRGAN 算法以提高质量。
最后使用 ffmpeg 将高质量帧与原始音频一起转换为视频,最终生成高质量的嘴唇同步视频。
2.Scratch 实现角色克隆效果:
猫被点击克隆,按下空格键删除克隆体。
通过控制、循环、运动、克隆、删除克隆等操作,实现角色的动态效果。
3.JavaScript 实现 Scratch 编程中的角色克隆与移动:
飞机角色:通过键盘四个方向键实现对飞机进行控制,改变飞机的坐标位置,并通过改变造型实现动态效果。
云角色:通过克隆模式,随机选择不同的造型并实现从右到左的移动,增加交互体验效果。
小鸟角色:周期克隆出新的小鸟角色的克隆体,并对克隆体造型进行选择,在飞行过程中进行造型切换实现飞动的效果。
Python 实现数字人形象克隆
首先确保你已经安装了 moviepy
(用于视频帧提取与合成)、pysubs2
(处理字幕文件,若不需要字幕功能可省略)以及相关依赖,Wav2Lip
和 Real-ESRGAN
假设你已经按照其官方指南配置好环境并可正常调用。
import os
import subprocess
from moviepy.editor import VideoFileClip
# 输入视频与音频路径,根据实际情况修改
input_video = "input_video.mp4"
input_audio = "input_audio.wav"
output_folder = "wav2lip_output"
# 调用 Wav2Lip 算法生成初步视频,命令需根据你的实际安装情况调整
wav2lip_cmd = f"python inference.py --checkpoint_path checkpoint.pth --face {input_video} --audio {input_audio} --outfile {output_folder}/temp_video.mp4"
subprocess.run(wav2lip_cmd, shell=True)
# 从 Wav2Lip 生成的视频中提取帧
video_clip = VideoFileClip(f"{output_folder}/temp_video.mp4")
frames_folder = f"{output_folder}/frames"
os.makedirs(frames_folder, exist_ok=True)
for i, frame in enumerate(video_clip.iter_frames()):
frame_path = os.path.join(frames_folder, f"frame_{i}.png")
video_clip.save_frame(frame_path, t=i/video_clip.fps)
# 调用 Real-ESRGAN 算法提高帧质量,同样命令依实际调整
real_esrgan_cmd = f"python inference_realesrgan.py -n RealESRGAN_x4plus -i {frames_folder} -o {frames_folder}_enhanced"
subprocess.run(real_esrgan_cmd, shell=True)
# 使用 ffmpeg 将高质量帧与原始音频合成为最终视频
final_output = "final_video.mp4"
ffmpeg_cmd = f"ffmpeg -framerate {video_clip.fps} -i {frames_folder}_enhanced/frame_%d.png -i {input_audio} -c:v libx264 -pix_fmt yuv420p {final_output}"
subprocess.run(ffmpeg_cmd, shell=True)
上述代码完成了利用 Wav2Lip
生成初步的唇形同步视频,接着提取帧、用 Real-ESRGAN
提升帧质量,最后用 ffmpeg
结合原始音频生成高质量成品视频。代码中的命令行调用部分,你需根据实际算法的安装路径、参数要求精准调整,确保程序正常运行。
Scratch 实现角色克隆效果(以猫为例)
Scratch 是图形化编程平台,操作直观。以下简述实现逻辑,你可在 Scratch 编辑器中直接拖拽积木块搭建程序:
- 当绿旗被点击:
- 选择 “事件” 分类积木,拖出 “当绿旗被点击” 积木放在脚本区开头。
- 克隆猫:
- 从 “控制” 分类找到 “克隆 [角色名称]” 积木(这里是猫),连接到 “当绿旗被点击” 之后,实现程序启动就克隆一只猫。
- 处理克隆体的点击删除:
- 在 “侦测” 分类选取 “当角色被点击” 积木,嵌套一个 “如果... 那么” 积木(来自 “控制” 分类),条件判断里使用 “碰到鼠标指针?”(侦测分类),若满足,则在 “那么” 分支里使用 “删除此克隆体” 积木(控制分类)。
- 按下空格键删除克隆体:
- 从 “事件” 分类拖出 “当按下空格键” 积木,后面接上 “重复执行” 积木(控制分类),在重复执行内部放置 “碰到鼠标指针?” 与 “删除此克隆体” 积木组合,用于持续检测并删除碰到鼠标指针的克隆体。
JavaScript 实现 Scratch 编程中的角色克隆与移动
这里我们以 HTML5 Canvas 和 JavaScript 模拟 Scratch 的简单交互效果,假设已经在 HTML 页面引入了合适的 Canvas,且页面加载完成后脚本开始执行。以下是示例代码框架:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Scratch-like Clone and Move</title>
</head>
<body>
<canvas id="gameCanvas" width="800" height="600"></canvas>
<script>
const canvas = document.getElementById('gameCanvas');
const ctx = canvas.getContext('2d');
// 飞机相关变量
let planeX = 400;
let planeY = 300;
const planeSpeed = 5;
const planeImages = ['./plane1.png', './plane2.png']; // 不同造型图片路径,自行替换
let planeImageIndex = 0;
// 云相关变量
const clouds = [];
const cloudSpeed = 2;
const cloudImages = ['./cloud1.png', './cloud2.png'];
// 小鸟相关变量
const birds = [];
const birdSpeed = 3;
const birdImages = ['./bird1.png', './bird2.png'];
// 加载图片资源函数
function loadImages(sources, callback) {
const images = {};
let loadedImages = 0;
for (let key in sources) {
const img = new Image();
img.onload = function () {
images[key] = img;
loadedImages++;
if (loadedImages === Object.keys(sources).length) {
callback(images);
}
};
img.src = sources[key];
}
return images;
}
// 键盘事件处理函数(飞机移动)
function handleKeyDown(event) {
switch (event.keyCode) {
case 37: // 左箭头
planeX -= planeSpeed;
break;
case 38: // 上箭头
planeY -= planeSpeed;
break;
case 39: // 右箭头
planeX += planeSpeed;
break;
case 40: // 下箭头
planeY += planeSpeed;
break;
}
}
// 主游戏循环
function gameLoop() {
requestAnimationFrame(gameLoop);
ctx.clearRect(0, 0, canvas.width, canvas.height);
// 绘制并移动飞机
const planeImg = images['plane' + (planeImageIndex % planeImages.length)];
ctx.drawImage(planeImg, planeX, planeY);
planeImageIndex++;
// 处理云克隆与移动
clouds.forEach((cloud, index) => {
const cloudImg = images['cloud' + (Math.floor(Math.random() * cloudImages.length))];
ctx.drawImage(cloudImg, cloud.x, cloud.y);
cloud.x -= cloudSpeed;
if (cloud.x < -cloudImg.width) {
clouds.splice(index, 1);
}
});
// 处理小鸟克隆与移动
birds.forEach((bird, index) => {
const birdImg = images['bird' + (Math.floor(Math.random() * birdImages.length))];
ctx.drawImage(birdImg, bird.x, bird.y);
bird.x += birdSpeed;
if (bird.x > canvas.width) {
birds.splice(index, 1);
}
});
}
// 页面加载完成后执行
window.addEventListener('load', function () {
const imageSources = {
'plane1': planeImages[0],
'plane2': planeImages[1],
'cloud1': cloudImages[0],
'cloud2': cloudImages[1],
'bird1': birdImages[0],
'bird2': birdImages[1]
};
loadImages(imageSources, function (images) {
document.addEventListener('keydown', handleKeyDown);
gameLoop();
});
});
</script>
</body>
</html>
这段 JavaScript 代码实现了简易的类似 Scratch 角色克隆与移动效果:
- 飞机控制:通过监听键盘
keydown
事件,依据不同方向键改变飞机的X
、Y
坐标,同时切换飞机造型展示动态飞行。 - 云角色:云克隆体随机选用造型,按设定速度从右向左移动,移出画布左侧后移除克隆体,维持画面动态云朵飘动效果。
- 小鸟角色:周期克隆新小鸟,随机挑选造型,向右飞行,超出画布右侧边界则删除克隆体,模拟小鸟群飞动场景。
代码中的图片路径需替换为真实可用的图片资源,且可按需调整速度、坐标、造型切换逻辑等细节,让效果更贴合实际需求。注意,这仅是基础框架,若拓展更多交互功能,如碰撞检测、角色间交互,还需进一步补充代码逻辑。
七、形象克隆的框架有哪些
形象克隆的框架主要包括以下几个方面:
1.技术框架
声音克隆:通过大模型理解素材含义,识别声音特征并克隆相似声音生成声音模型。例如南宁的人工智能机构利用特定算法模型,让 AI 花费 2 - 5 天处理声音素材,精准识别声音特征,生成与真人高度一致的声音模型。
形象克隆:通过 AI 技术筛选逝者照片,抓取五官信息,实现声音与五官联动。工作人员需 1 - 3 天完成照片筛选和五官信息抓取,使生成的数字人形象在动作方面与声音完美联动。
思想克隆:利用底层大模型建立基础思维,输入家人提供的逝者信息,让 AI 模拟已故亲人的思想,并可通过聊天不断学习。此阶段需 2 - 4 天,为用户提供更加真实的交互体验。
2.应用框架
娱乐艺术:在电影制作中生成逼真虚拟角色,提高电影真实感和沉浸感;在游戏开发中创造生动游戏角色;在音乐制作中生成虚拟歌手。
语音助手和智能客服:创建智能语音助手,模拟人类声音和语言,为用户提供个性化高效服务,根据用户历史交互数据提供个性化解决方案。
教育和培训:创建智能导师和模拟现实场景,为学生和教育者提供更好的学习体验,生成个性化学习计划和资源。
虚拟人和替身:在电影制作和在线教育领域创建虚拟人物形象,为观众带来全新视觉体验,提供个性化高效服务。
直播行业:数字人直播系统可降低成本、提高效率,实现 24 小时不间断直播,打造个性化虚拟形象,增加直播趣味性,应用于各种直播场景。
3.平台框架
2023 中国国际智能产业博览会中,新华三集团展场展示的 AIGC 魔盒,让参观者体验通过自己形象生成的数字虚拟人,可广泛应用于直播场景、智能人工服务、文化传播、教育领域等。通过数字人和 AIGC 技术的结合,为用户带来全新的数字化交流方式,更加智能和高效地进行信息交互传达。
博客园提到的青否数字人克隆系统源码,提供无限的自定义选项,可实现一键生成短视频、数字人克隆源码应用广泛,包括交互式数字人带来沉浸式交互体验、数字人直播带货赋能京东电商等。
以刘强东为原型的 AI 数字人 “采销东哥” 在京东直播带货,引发广泛关注,展示了数字人在电商领域的应用潜力。
未来发展框架
更加智能化:通过对用户行为和喜好的深入分析,为用户提供更加精准的个性化推荐,智能算法不断学习和优化,提高推荐准确性和满意度,为用户带来更优质的直播体验。
跨平台兼容:未来克隆数字人直播系统将支持更多直播平台,用户可在不同平台享受相同的虚拟形象和互动体验,拓展直播