Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

头部视频如何更自然的贴回身体 #81

Open
hnsywangxin opened this issue Feb 21, 2024 · 8 comments
Open

头部视频如何更自然的贴回身体 #81

hnsywangxin opened this issue Feb 21, 2024 · 8 comments

Comments

@hnsywangxin
Copy link

请问用nerf得到的头部视频,如何再贴回身体上,使得贴合效果更加自然,试了泊松融合和拉普拉斯感觉效果都不是很好,会存在断层

@WuCongfeng
Copy link

You can try to recognize the face of the original video (half body or full body), and then also recognize the face of the 512 video, and scale it to the same size as the original video (the video to be pasted with the face); Then align and overlay it, and then mask it. This is my case: https://www.bilibili.com/video/BV1E1421f7zY/?spm_id_from=333.999.0.0
可以尝试采用识别原始视频(半身或全身)的人脸,然后将512的视频也同样识别人脸,并缩放至与原视频(要贴脸的视频)大小一致;然后对齐叠加贴上,再做蒙版处理即可。这是我的案例:https://www.bilibili.com/video/BV1E1421f7zY/?spm_id_from=333.999.0.0

@laishujie
Copy link

You can try to recognize the face of the original video (half body or full body), and then also recognize the face of the 512 video, and scale it to the same size as the original video (the video to be pasted with the face); Then align and overlay it, and then mask it. This is my case: https://www.bilibili.com/video/BV1E1421f7zY/?spm_id_from=333.999.0.0 可以尝试采用识别原始视频(半身或全身)的人脸,然后将512的视频也同样识别人脸,并缩放至与原视频(要贴脸的视频)大小一致;然后对齐叠加贴上,再做蒙版处理即可。这是我的案例:https://www.bilibili.com/video/BV1E1421f7zY/?spm_id_from=333.999.0.0

人脸对齐之后在使用蒙板处理,脸不会抖动吗?我之前尝试时会有抖动才放弃对齐换脸方案

@WuCongfeng
Copy link

对齐人脸主要出现问题,1、如果1帧对1帧,2帧对2帧是肯定会抖动的,那么可以采用先对齐第一帧,后面的都对齐第一帧的坐标;但如果只对齐人脸会出现另外的问题,比如说话是,原视频是张嘴,而推理视频是闭嘴的时候,原视频的下巴就会过长,所有通常情况下,可以考虑识别人脸后扩大人脸区域做蒙版,就基本上可以解决这些问题了。

@laishujie
Copy link

laishujie commented Feb 28, 2024

对齐人脸主要出现问题,1、如果1帧对1帧,2帧对2帧是肯定会抖动的,那么可以采用先对齐第一帧,后面的都对齐第一帧的坐标;但如果只对齐人脸会出现另外的问题,比如说话是,原视频是张嘴,而推理视频是闭嘴的时候,原视频的下巴就会过长,所有通常情况下,可以考虑识别人脸后扩大人脸区域做蒙版,就基本上可以解决这些问题了。

对齐之后使用,后面都使用第一帧的坐标?应该不行把,当你回帖的时候会出现问题把. 不知道你是使用什么方式人脸对齐后贴回的. 我这的做法是, 我说下伪代码

# 
align_frame : 源视频帧帧
nerf_frame : 推理视频帧
# 获取到对齐人脸,还原矩阵
align_source_frame , inverse_matrix_source = face_alignment_frame(align_frame)
align_nerf_frame ,     inverse_matrix_nerf= face_alignment_frame(nerf_frame)
# 换脸
align_swap_frame = swap(align_source_frame,align_nerf_frame)
# 复原
final_frame = restore(align_swap_frame,align_source_frame,inverse_matrix_source)

这就是我的逻辑,如果后面一直使用align_source_frame的矩阵复原会对不齐吧?一般情况使用人脸对齐会使用矩阵矫正图像吧.对气后每帧的复原矩阵都会存在差异.
除非不经过人脸对齐.生成两个区域做蒙版,并集扩大人脸区域,才有可能一直使用,这种情况下当头部运动有大动作就会产生不自然现象

@hnsywangxin
Copy link
Author

对齐人脸主要出现问题,1、如果1帧对1帧,2帧对2帧是肯定会抖动的,那么可以采用先对齐第一帧,后面的都对齐第一帧的坐标;但如果只对齐人脸会出现另外的问题,比如说话是,原视频是张嘴,而推理视频是闭嘴的时候,原视频的下巴就会过长,所有通常情况下,可以考虑识别人脸后扩大人脸区域做蒙版,就基本上可以解决这些问题了。

对齐第一帧的人脸是指所有的landmark都对齐到第一帧?那岂不是头动不了了

@xiao-keeplearning
Copy link

人脸贴回时头部会有忽大忽小情况,有人遇到过么,是如何解决的

@fg1813042793
Copy link

将脸部或者加颈步贴回去时,如果原始视频中有摆头动作,会有重复部分,这个你们有解决方法吗,如果提前修改原始帧中贴合部分中的一些像素确实能做到,但是无法找到合适 的算法来重置原始图片中贴合部分的像素

@hnsywangxin
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants