在做数字人时,需要对采集的数据进行预处理,然后才能进行模型训练, 预处理常用的操作有:去背景 音频重采样 视频裁剪 音频特征提取等等,今天我们来分享一个自动化脚本: 对原图/视频进行人脸检测并根据目标尺寸以人脸为中心进行裁剪...对图片进行裁剪
图片的处理比较简单: 读取图片,进行人脸检测,根据un人脸中心点坐标和目标尺寸对原图进行裁剪
ini复制代码def get_face_coordinates(image):...,返回人脸中心点坐标
face_coords = get_face_coordinates(frame)
center_x, center_y = face_coords
#根据目标尺寸,计算出以人脸为中心点进行裁剪的起止坐标...对视频进行裁剪
如果是视频,想比较图片稍微复杂一些,
首先要分离音频和视频,
可以根据需要对音频按照目标采样率进行重采样
获取视频的第一帧,进行人脸关键点检测,作为后续所有帧的人脸坐标(所以采集的视频人脸进来不要动作太大...)
逐帧读取视频裁剪 获取裁剪后的帧
对把裁剪后的帧和音频重新生成视频作为后续流程的输入
ini复制代码#读取视频
video_capture = cv2.VideoCapture(inputFile)