今天总结代码, 想推导下透视投影下如何迭代求解3DMM的系数, 不经意间竟然发现如果给定Pose, 3DMM的系数竟然能够线性求解, 我很吃惊(透视投影不应该是非线性的吗?), 于是记录下来,经验证似乎没问题,验证代码如下:



带’的是乘上了R.

import numpy as np
import cv2 as cvR = cv.Rodrigues(np.array([2, 1, 3.0]))[0].astype(np.float32)
t3d=np.array([3, 5, 100], dtype=np.float32)nV = 30
dims = 20
E=np.random.rand(nV, 3, dims).astype(np.float32)
V=np.random.rand(nV, 3).astype(np.float32)def comp_x(x):S=V + E.dot(x)TS=S.dot(R.T) + t3d dst = TS[:, :2] / TS[:, 2:] return dst def solve_x(dst):V_ = V.dot(R.T) + t3d E_ = (R.dot(E.transpose(1, 0, 2).reshape(3, -1)).reshape(3, nV, dims)).transpose(1, 0, 2).reshape(-1, dims)A=np.zeros((2*nV, dims), dtype=np.float32)b=np.zeros(2*nV, dtype=np.float32)for i in range(nV):A[i*2:i*2+2] = E_[i*3:i*3+2] - dst[i].reshape(2, 1).dot(E_[i*3+2].reshape(1, -1))b[i*2:i*2+2] = dst[i].reshape(-1)*V_[i, 2] - V_[i, :2] AtA=A.T.dot(A)Atb=A.T.dot(b)x = np.linalg.inv(AtA).dot(Atb)return xdef pt_x(x): p(x.astype(np.int32))x=(np.random.rand(dims)*10).astype(np.int32).astype(np.float32)
dst =  comp_x(x)x_ = solve_x(dst)dst_ = comp_x(x_)pt_x(x)
pt_x(x_)p( np.sum((dst_ - dst)**2))

透视投影中3DMM系数的求解相关推荐

  1. 单纯形法的计算机方法的实现,线性规划问题中单纯形法的计算机求解.pdf

    线性规划问题中单纯形法的计算机求解 维普资讯 焦作工学院学报 (自然科学版),第 21卷,第 6期,2002年 11月 JournalofJiaozuoInstituteofTechnology(Na ...

  2. 个人对于《信号与系统》中利用“奇异函数平衡原理”求解系统响应的过程梳理及结果的理解

    写在前头:本人只是一名普通的大二学生,这个学期刚学习<信号与系统>(郑君里第三版),对于书本中突然出现的"奇异函数平衡原理/奇异函数系数平衡"这个知识点,一直搞不清楚( ...

  3. Lecture_2_4 线性回归中的系数,衡量了什么?

    1.beta系数的含义 比如做Y与X1.X-1的回归,X1为解释变量中的一个变量,X-1是除X的其他解释变量组. (1)当我们回归Y与X-1,能得出Y中能由X-1部分变动解释的部分(黑线),剔除了黑线 ...

  4. matlab中solver函数_Simulink求解器(Solver)相关知识

    更多精彩内容参见专业MATLAB技术交流平台--MATLAB技术论坛http://www.matlabsky.com 1.变步长(Variable-Step)求解器 可以选择的变步长求解器有:ode4 ...

  5. 3D人脸模型建模工具,用于人脸建模,3DMM系数匹配

    TF_FLAME.rar_人脸建模_3dMM_其他下载-pudn.com 3DMM进行人脸重建中的配准方法 3DMM下载地址 GitHub - YadiraF/face3d: Python tools ...

  6. 利用Python中的fealpy包求解泊松方程

    针对温度场模型利用fealpyfealpyfealpy包求解泊松方程 问题重述: 泊松方程: △u=∂2u∂x2+∂2u∂y2=f\bigtriangleup u = \frac{\partial^2 ...

  7. KMP算法中的next数组求解

    KMP算法是在模式串的next数组基础上进行的,如何求解next数组就成了关键. next数组的求解和主串无关,只与模式串自身相关. 则next[j]= -1, 当j=0时 Max {k|0<k ...

  8. 极大似然函数求解_关于极大似然估计的学习(附Matlab中mle函数的求解)

    冒泡~是新的一周辣~温故而知新一下极大似然估计(真是很不容易了) 极大似然估计的基本思想 什么是极大似然?官方上的较清楚的解释是:利用已知的样本的结果,在使用某个模型的基础上,反推最有可能导致这样结果 ...

  9. matlab符号计算中提取,[matlab]符号表达式中的系数提取问题

    今天遇到一个问题: expr = x*y*z 如何将y*z作为一个整体,然后求出其的系数x 首先映入眼帘的是matlab中的coeffs函数 但是使用 coeffs(expr,y*z); 结果 Err ...

  10. 结构方程模型中的系数为负数,如何理解?

    经常遇到一些朋友问,我用Amos.Mplus等软件做结构方程模型时系数出现负数,怎么办,是不是我的模型有错误?在此,我们总结一下结构方程模型中出现负数的几种情况及其含义. 第一,路径系数(或协方差)出 ...

最新文章

  1. php.ini不见了,php.ini找不到
  2. 动画-animation
  3. 【刷算法】LeetCode- 两数之和 1
  4. linux 设备驱动之8250串口驱动分析
  5. 凸优化第七章统计估计 7.3最优检测器设计及假性检验
  6. 记一次VS2015安装/卸载以及编译给定程序
  7. 史诗级中日韩新字体诞生:思源黑体(Source Han Sans)
  8. 微电子专业想投身数字IC设计方向,在硕士阶段应该怎么学习?
  9. 什么是mysql 的冗余备份_什么是数据库中的“数据冗余”?
  10. 计算机脚本发生错误,我的电脑开机后显示当前页面的脚本发生错误?
  11. 小说大纲模板在计算机的哪里,如何撰写小说大纲
  12. python使用selenium爬取dell官网驱动(一):获取遍历各驱动的下载网址
  13. LSTM Networks应用于股票市场探究
  14. jieba分词(1):入门案例
  15. fer2013的csv文件转换为ImageNet格式(以图片格式保存在各自类别的文件夹中)
  16. UE4家装系统工程源码/内含模型/材质/模型拖拽
  17. stm32呼吸灯c语言程序,STM32使用PWM控制LED呼吸灯效果
  18. 二维码制作(QRCode)
  19. java list 分组数量_java8 集合 多字段 分组 统计个数代码
  20. 10000以内素数表(代码块)

热门文章

  1. PASCAL VOC数据集分析及下载、解压
  2. 2005/2006/2007/2008/2009/2010/2012/2013/2014/2015/2016/2017/2018/2019/2020高德poi 一级类别 二级类别
  3. moodle 中文文件名无法打开和下载问题
  4. linux终端怎么设置monaco,Ubuntu中使用Monaco字体美化
  5. windows驱动开发 DDK/WDK/WDM/WDF区别
  6. .Net·使用ILSpy反编译exe或dll文件保存为项目结构
  7. 桌面总是弹出计算机内存不足,Win10提示计算机的内存不足请保存文件并关闭这些程序怎么办...
  8. Premiere视频导出格式
  9. 虚幻引擎C++开发学习(三)
  10. 怎样快速做个 BI 系统