→ Feis: 所以你知道 Levenberg–Marquardt 在幹嘛嗎? 08/13 18:26
→ Feis: Wiki 講的你都知道了 ? 08/13 18:26
→ Feis: 如果知道的話應該就是用 update 迭代而已 08/13 18:36
→ wohc: 大概知道,就是一直修正誤差直到最佳化 08/13 22:48
→ wohc: 本來想自己寫的,無奈腦袋不好看了兩天還不是很懂 08/13 22:48
→ wohc: 只好先用opencv來試試看 08/13 22:51
→ Feis: 那 Jacobian 會填嗎? 08/13 22:52
→ wohc: 會的,之前有試過自己寫GaussNewton 08/13 22:53
→ Feis: 那你還缺甚麼? 08/13 23:10
→ Feis: 或者你看一下 stitching 裡面怎麼用的? 08/13 23:13
→ wohc: 我主要是想知道參數接口代表的意義 08/13 23:17
→ Feis: 文件不是有寫? 就目前的位置跟 Jacobian 還有目前的誤差 08/13 23:19
→ Feis: (你要 fit 的參數們, Jacobian, 目前的誤差們) 08/13 23:20
→ wohc: 嗯,謝謝,我明天再試看看。最終目的我還是得自己寫一個出來 08/13 23:22
→ Feis: 要 fit 的參數你的例子就是 a1, b1, c1, a2, b2, c2 08/13 23:22
→ Feis: 誤差們就看你有幾個資料點就有幾個誤差 08/13 23:23
→ wohc: 謝謝,update()的我大概知道,CvLevMarq solver(),這裡頭的 08/13 23:26
→ Feis: 裡面的你用不到阿? @@ 08/13 23:26
→ wohc: 三個參數? 該為何? param 是我要先自行定義一組初始值嗎? 08/13 23:27
→ Feis: 沒錯啊. 這是 LM 阿阿阿. 初始值最重要. 重開 Wiki ~ 08/13 23:28
→ wohc: 了解,明天再試看看了。其實我很想call matlab就一了百了 08/13 23:30
→ Feis: 就 call 阿. 這種事情我也做過 08/13 23:31
→ Feis: 另一個選擇是 sparseLM 08/13 23:31
→ wohc: 只是因為某種因素,只能自己寫一個出來 08/13 23:31
→ Feis: 原理很簡單. 但是不好刻. sprase 的會想自殺 08/13 23:32
→ wohc: 高斯牛頓比較簡單,只是效果不是很好 (Jt*J).inv*Jt*r 08/13 23:35
→ Feis: 感覺 dense 難度差不多阿. 08/13 23:36
→ Feis: 就是一堆矩陣相乘而已. 效率瓶頸 08/13 23:37
→ wohc: 難度就差在我一個寫得出來一個寫不出來 08/13 23:37
→ Feis: 本質上就是多乘上一個 Jacobian 的轉置而已 08/13 23:38
→ Feis: 只是牛頓法可以當作沒矩陣這回事 08/13 23:39