视频换脸的技术流程与参数选择
人脸检测与关键点对齐
换脸的第一步是在原始视频里定位人脸。系统按帧扫描画面,先框出人脸区域,再标出眼睛、鼻梁、嘴角共 68 个关键点,用于判断面部朝向与倾斜角度。关键点的位置决定了后续贴合是否自然:正脸镜头的关键点分布均匀,替换后五官位置容易对上;侧脸超过 60 度或脸部被头发、手掌遮挡时,关键点会缺失,系统转为插值推算,边缘偶尔出现轻微错位。因此在素材选择上,光线均匀、人脸占画面比例超过十分之一、遮挡较少的片段,成片质量通常更稳定。关键点数据在本地计算完成后才进入下一步,原始视频不会被拆成图片单独存储,处理链路上也只保留必要的坐标信息。
融合强度与肤色过渡处理
把目标人脸贴到原始画面上,需要解决颜色与边界两个问题。肤色差异来自拍摄设备的白平衡,系统会先统计源脸与目标脸在额头、两颊区域的像素均值,计算出一组色彩映射系数,再按系数调整整体色调。融合强度滑杆控制的是边缘过渡范围,数值偏高时边界模糊,肤色衔接顺滑但会丢失面部轮廓;数值偏低时轮廓清晰,边缘容易出现硬切口。一般建议从 0.6 开始试,观察一帧效果后再整段生成。嘴部与眼周区域会额外做一层遮罩,避免说话时牙齿与眼球被一起替换而显得突兀,遮罩范围也会随人脸角度动态收缩。
输出格式与二次剪辑衔接
成片导出时要考虑后续剪辑。平台默认输出 mp4 封装,编码为 h264,帧率与原始素材保持一致,音轨直接沿用不做重编。如果素材是竖屏手机拍摄,导出会保留原始分辨率,不强制裁切。二次剪辑时建议保留一份无压缩的 png 序列帧备份,方便在剪辑软件里重新调色;直接使用 mp4 反复导出的画面,经过多次编码后肤色会逐渐偏灰。另外,部分剪辑软件对可变帧率素材支持不佳,遇到音画不同步时,可先在平台内转成固定帧率再下载,转换过程不会改变画面内容,只统一时间基准。
昨天下午试着把一段 40 秒的片段换脸,排队等了大概两分钟,出来的成片五官位置对得上,音轨也没丢。
手机上传挺方便的,就是大文件下载偶尔要等一会儿。整体出来的效果比预期自然,边缘没看到明显接缝。
给同事做表情包用了一晚上,融合强度拉到 0.6 正好,牙齿不会被一起换掉,导出 png 尺寸也没变。
老片子画质差,先用修复再换脸,脸是清楚了但动作稍微有点拖影,可能原始素材帧率太低的关系。
漫展后台用平板操作,页面布局没乱,横屏竖屏都能预览。出来的角色扮相挺贴合,发出去有人问怎么做的。
公司培训要用旧直播回放,把主播脸换成虚拟形象,批量处理一次传了 6 条,排队一小时后全部下完。
老照片换脸效果不错,就是证件照那种小尺寸图片放大后有点糊,后来换了大图重新上传才好一些。
第一次用没找到参数面板在哪,翻了半天。功能本身没问题,建议把入口做得明显一点,新手容易绕路。
侧脸镜头试了好几次,最后按提示换了一段正脸为主的素材,成片干净很多。提示挺实在,不硬推。
处理记录能翻到一个月前的任务,回滚旧模型版本这个设计挺省事,不用重新调参数就能复现之前的效果。