用途:把实拍人物从其真实环境中分割出来,叠加到替换素材上,并在人物前方放置道具,用于拍摄无法实拍、生成器又做不逼真的镜头(如人物在飞船、小丑车、月球上)。成败取决于源素材,应在拍摄前先确认素材条件。
依赖与用法:需先执行 pip install 'video-studio-engine[vision] @ https://github.com/scrollmark/social-skills/archive/refs/heads/master.tar.gz',再使用 video-studio composite_subject … 与 video-studio track_pointing …。两者均未随本技能打包,会导入 MediaPipe、NumPy、OpenCV 并在首次运行时下载模型文件;[vision] 是包中最重的附加项,缺少它则无法执行抠像、羽化遮挡接缝、手臂穿透与手势时序。指向语法见 video-formats。
对素材的要求:分割模型为自拍分割器,适用于单人、正面、上半身、对话距离。需单人且近侧手臂可见;与背景有色调分离;光线均匀、无运动模糊,固定机位;画面足够宽以便裁切;镜头要短,逐帧处理,几秒为工作单位。
合成要点:分层为背景→人物→道具→穿过道具伸出的前臂。--free-arm 将肘/腕/手周围的胶囊体与真实遮罩求交,只让身体像素前移。--travel、--flip-h、--flip-v 让人物与道具作为整体在静态背景上移动,镜像在位移之前发生。--scale 以人物为锚点。道具应粗糙手绘并带 alpha 通道,无 alpha 的 PNG 会被拒绝。合成前检查背景裁切。
指向:track_pointing analyze 输出事件(食指稳定停留的窗口),以画布比例外推指向位置;layers 将其转为朝向画面中心偏移的分镜层。素材决定布局,合成前应与用户核对事件列表并抽帧确认数量。不足半秒的停留按抖动丢弃,且只跟踪一只手。
限制:背景对比与机位运动决定成败,后期无法修复;干净矢量道具会暴露抠像瑕疵;不要盲信事件列表。