TencentARC / MotionCtrl

MotionCtrl: A Unified and Flexible Motion Controller for Video Generation
https://wzhouxiff.github.io/projects/MotionCtrl/
Apache License 2.0
1.15k stars 66 forks source link

video length #19

Open Asianfleet opened 3 months ago

Asianfleet commented 3 months ago

Is there any way to increase the video seconds? Is it currently only possible to generate 1 second videos?

flysssss commented 2 months ago

Maybe the Input tensor shape is fixed。when i change the num_frames from 14 to 25 in yaml file,Error in background is Shape mismatch, can't divide axis of length 28 in chunks of 25。

Asianfleet commented 2 months ago

Maybe the Input tensor shape is fixed。when i change the num_frames from 14 to 25 in yaml file,Error in background is Shape mismatch, can't divide axis of length 28 in chunks of 25。

can "axis of length 28" be changed to 50?

flysssss commented 2 months ago

我生成了2s的视频,但是我不清楚它的原理是什么 首先我更换了SVD的模型,改成svd_xt 然后修改config_motionctrl_cmcm.yaml文件里面的 num_frames: 25 num_steps: 30 max_scale: 3.0 min_scale: 1.5 然后是app.py文件里面n = 16改成n = 25,for循环也要改掉;num_frames = 25 num_steps = 30 然后并不是每次都会生成成功,在报错时重启服务,前端gradio页面不刷新,直接点生成,会生成2s的视频。但是帧率默认是10不清楚原因。

flysssss commented 2 months ago

https://github.com/TencentARC/MotionCtrl/assets/100752067/9dca1356-8535-461d-acfd-0f72f6060006

flysssss commented 2 months ago

当我第一次生成成功时,修改图片或者相机控制参数后台就会报错,RuntimeError: Sizes of tensors must match except in dimension 2. Expected size 25 but got size 16 for tensor number 1 in the list. 但是当我重启服务后,继续按照前端刚刚报错的相关参数去生成,它就会生成成功。

flysssss commented 2 months ago

生成报错是因为 camera poses选择Provided Complex Camera Poses,如果是Basic Camera Poses是可以连续生成成功的,Custom Camera Poses选择Basic Camera Poses也是可以的。生成视频帧率固定10的原因是因为在motionctrl_cmcm_gradio.py里面写死了。

Asianfleet commented 2 months ago

ok,多谢回复

HaoZhang990127 commented 2 months ago

当增加帧数生成的视频长度大于1s之后,感觉1s之后的视频会和这里生成的这个女生的视频一样,后半段不太运动而且会变得稍微糊一些,请问这收到训练数据的影响吗?请问调整哪个参数可以改善这一点呢?

https://github.com/TencentARC/MotionCtrl/assets/82072471/10b8b703-9972-4cea-99af-00eb3acd0b72

ppppps commented 1 month ago

可以生成大于14帧的,设置一下参数就行了。下面这个片段是设置了24帧,fps为6时的情况,总长度4s,模式为zoom in。出现的问题是预测14帧之后的内容由于模型没有训练过,就无法按照固定的模式生成frame,感觉想用的话还得微调一下。

ppppps commented 1 month ago

https://github.com/TencentARC/MotionCtrl/assets/36150346/cc1a6a9d-b237-4d9e-9da7-f63b562b5da6

kyrie111 commented 1 month ago

可以生成大于14帧的,设置一下参数就行了。下面这个片段是设置了24帧,fps为6时的情况,总长度4s,模式为zoom in。出现的问题是预测14帧之后的内容由于模型没有训练过,就无法按照固定的模式生成frame,感觉想用的话还得微调一下。

你好 请问您具体是修改了哪些参数呢 需要修改camera pose的json文件吗

ppppps commented 1 week ago

可以生成大于14帧的,设置一下参数就行了。下面这个片段是设置了24帧,fps为6时的情况,总长度4s,模式为zoom in。出现的问题是预测14帧之后的内容由于模型没有训练过,就无法按照固定的模式生成frame,感觉想用的话还得微调一下。

你好 请问您具体是修改了哪些参数呢 需要修改camera pose的json文件吗

超参数要改。pose的json文件也需要改,把里面姿态个数增加到和帧数一致。