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

some questions about rotation matrix and jacobian #28

Closed
Vijayue opened this issue Nov 15, 2021 · 2 comments
Closed

some questions about rotation matrix and jacobian #28

Vijayue opened this issue Nov 15, 2021 · 2 comments

Comments

@Vijayue
Copy link

Vijayue commented Nov 15, 2021

您好,感谢您一直在更新!

有一些关于旋转矩阵R和雅可比行列式J的问题不太懂想请教下:

  1. 11.5号update里使用rotation替换Jacobian,然后11号更新把这个划掉了,还增加了备注not working,代码里rotation的部分也删掉了,请问下是rotation matrix没有效果吗,所以还是用Jacobian?

  2. 最新的代码感觉不太像correct rotation matrix,感觉像是没有用,还是我看漏了...

还有一点关于free-view的想法想听下您的看法:

论文好像没有很详细解释为什么这样做就能够很好的free-view。表达意思更像是:能够控制yaw, pitch, roll的大小来操控free-view的程度,关键点旋转了 --> 达到free-view的效果,生成效果就依靠网络生成图像的能力吗?即使一些地方在source_image里可能没看到也能生成。

希望能得到您的回复~~辛苦~

@zhanglonghao1992
Copy link
Owner

@Vijayue

  1. rotation matrix是用了的,不然怎么可能在inference的时候用pitch yaw roll来控制headpose呢对吧~ 具体在model.py的209行:kp_rotated = torch.einsum('bmp,bkp->bkm', rot_mat, kp),利用rotation matrix改变key point的位置。 不work的是参照新版论文,直接用rotation matrix代替jacobian,我测试发现跟不用jacobian效果几乎一样。
  2. 新版本修正了之前rotation matrix计算方式的错误,具体是model.py和demo.py里的get_rotation_matrix函数。不过纵使之前的rotation matrix在计算上有问题,最后的模型效果并没有受到影响(还是可以按照理想的pitch yaw roll来旋转),应该是网络靠着显示的pitch yaw roll的约束自行修正了旋转方式。

通过控制pitch yaw roll来控制关键点,从而生成我们希望的headpose。生成效果确实就依靠Generator,存在大量的脑补(因为毕竟是one-shot),所以结果分辨率不高,有一些糊了的地方(比如眼睛/牙齿/耳朵)

@Vijayue
Copy link
Author

Vijayue commented Nov 17, 2021

感谢您百忙中详细的回答!明白了!

之前只看了commit日志的diffrent部分,把get_rotation_matrix这部分看漏了,抱歉麻烦您了......

@Vijayue Vijayue closed this as completed Nov 18, 2021
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

2 participants