我的问题是如何将加权最小二乘问题放入python解算器中。我正在尝试实现论文foundhere(PDF警告)中的方法。在文章的底部有一个关于这个问题的概述。你知道吗
具体来说,我想从以下最小化方程(本文中的19)开始:
latex formula can be found here:
\frac{min}{\Theta \epsilon M} \sum_{j=1}^{n} \sum_{i=1}^{m}(w(i,j))\left | \Psi(i,j)*\Theta (i,j) - I(i,j) \right |^{2}
它表示为加权最小二乘问题。w
、psi
和I
是我的知识,我正在尝试求解theta
。你知道吗
一开始我试着创建一个函数,它取θ,返回这个方程的和,和上面表达的一样。然后我把它传给scipy.optimize.最小二乘法,但优化后θ值始终保持不变。我试着实现一个雅可比矩阵,但是得到的和会爆炸成巨大的负值。当我用一个像素来表示图像时(我用一个像素来表示图像)。你知道吗
然后我意识到我几乎肯定误解了如何解决这个问题,需要一些帮助来解决它。我目前的代码如下:
def theta_solver(self, theta):
imshape = self.images.shape
sm = 0
for j in j_array:
for i in i_array:
w = self.get_w(i, j, theta)
psi = self.non_diff_smoothing(self.get_psi(i, j))
diff = psi*(theta[i, j]) - self.I[i, j]
res = w*(diff)
sm += res
return sm
def solve_theta(self, theta_guess):
res = scipy.optimize.least_squares(self.theta_solver, theta_guess)
有些事情告诉我,我在处理这个问题的方法上有点偏离了底线,我可以用一根手指来指出正确的方向。谢谢你的时间。你知道吗
问题概述:
这种特殊的视觉方法称为光度立体。通过使用不同光源拍摄多幅场景图像,我们可以创建该场景的三维重建。
其中一个问题是,照明中的1/r^2
衰减取决于与光源的距离,这意味着这不能通过正常的线性解决方案来解决。
本文提出的方法是一种求解近光立体光度的非线性方法。它有两个功能:
在这个问题上,我只想解方程的theta
元素,它可以通过加权最小二乘法来求解。你知道吗
原来我对这个问题想得太多了。这可以分解为Ax=b形式的简单线性解。在这种情况下,当查看误差方程时:
我们可以在均方根内把重量分配给各个部分。我们的等式是:
我们可以使用您最喜欢的线性解算器(即共轭梯度下降法)求解
相关问题 更多 >
编程相关推荐