参数名称 | 说明 |
---|---|
src_images | 源图像或图像序列。可为单张图像或多个连续帧。 |
motion_link | 表情模型指针数组。用于命令模式下引用历史表情。 |
driving_images | 驱动图像帧序列,用于表情和姿态驱动。通常来自视频帧或提取帧序列。 |
Advanced Live Portrait (PHM)
节点功能:用于生成动态图像,通过指定一些控制参数,能够对静态图像进行实时表情和动作的修改与生成,支持通过命令、视频驱动或单独表情控制来驱动图像变化。
输入参数
输出参数
参数名称 | 说明 |
---|---|
images | 返回动画后的人脸图像序列。 |
控件参数
参数名称 | 说明 |
---|---|
retargeting_eyes | 控制眼部表情的跟随程度,0 表示不跟随,1 表示完全跟随驱动帧。通常设置为 0.5~1.0,用于自然眼动表现。 |
retargeting_mouth | 控制嘴部表情的跟随程度。控制说话或表情动作的同步度。 |
crop_factor | 控制源图像裁剪区域大小。影响人脸定位区域大小,需匹配源图比例。 |
turn_on | 控制是否启用节点逻辑。为 False 时返回空,跳过计算。 |
tracking_src_vid | 是否对源图序列进行动态追踪。适用于源图是视频帧时,避免位移偏差。 |
animate_without_vid | 在无驱动帧时,是否根据指令动画执行。 |
command | 多行指令,格式为 idx=change:keep。控制表情过渡,每行指定变化帧数与保持帧数。 |
如下,通过导入一个驱动视频来控制源图人物表情生成表情迁移视频。
以下是retargeting_eyes值为0和0.5的表情变化,从图像帧中可以看到,值越大,人物眼睛动作幅度越大。retargeting_mouth参数也是一样(嘴的变化)
以下是crop_factor分别为1.5和2.5的图像帧,从图片上看起来区别不大,但使用ImageCompare节点比较一下,还是有细微的区别的。值越小,人物脸部在整个画面中的占比更大。
turn_on设置为false后,该节点不会起作用,如下图,下面其实也是运行了的,但是没出现图片。
接下来使用command命令控制表情,下面文本框中填入了1=1:10 2=5:10。
其中1 = 1:10代表用第一个motion_link中的用动作改变一帧,然后下一个动作在10帧后开始,2=5:10代表用第二个motion_link用的动作改变5帧,下一个动作在10帧后开始。它这里并不是说5帧内一定要完成这个动作,还是循序渐进的过程,只是从这开始发生变化,并还要根据驱动视频的表情走的。
0 = 2:50则并没有根据motion_link中的表情发生变化,因为索引0则代表源图中的表情。如果是3 = 2:50则会报错,因为这里只有两个motion_link。
1 = 2:0,末尾是0,则代表使用第一个motion_link中的表情持续到最后。
当animate_without_vid开启后,不连接驱动视频,也能生成动画视频。