找回密码
 欢迎注册
楼主: dianyancao

[求助] 关于两个对应的非刚体变换的2D点集的匹配,使用Thin Plate Spline,求助

[复制链接]
 楼主| 发表于 2012-5-21 22:01:58 | 显示全部楼层
(m13+m11*ax1+m12*ay1-bx1)^2+(m13+m11*ax2+m12*ay2-bx2)^2+(m13+m11*ax3+m12*ay3-bx3)^2+(m13+m11*ax4+m12*ay4-bx4)^2+(m23+m21*ax1+m22*ay1-by1)^2+(m23+m21*ax2+m22*ay2-by2)^2+(m23+m21*ax3+m22*ay3-by3)^2+(m23+m21*ax4+m22*ay4-by4)^2
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-5-22 17:08:49 | 显示全部楼层
好凌乱啊。 我都没了方向
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-5-23 08:39:58 | 显示全部楼层
本帖最后由 dianyancao 于 2012-5-23 10:27 编辑 化简后的形式如下,c[]为已知数,求该式关于 {m11, m12, m13}的最小值不知道如何下手,凌乱中... Minimize[c1*m11^2 + c2*m12^2 + c3*m13^2 + c4*m11*m12 + c5*m11*m13 + c6*m12*m13 + c7*m11 + c8*m12 + c9*m13 + c10, {m11, m12, m13}]
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-5-24 09:12:30 | 显示全部楼层
原来很简单,这个问题好像叫最小2乘解,直接配方就可以了 结果:
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-5-24 09:16:48 | 显示全部楼层
附上Mathematica的代码
  1. f[m11, m12, m13] =
  2. c1*m11^2 + c2*m12^2 + c3*m13^2 + c4*m11*m12 + c5*m11*m13 +
  3. c6*m12*m13 + c7*m11 + c8*m12 + c9*m13 + c10
  4. rt = {t1, t2, t3}
  5. r = {x11, x12, x13}
  6. {x11, x12, x13}
  7. mm1 = CoefficientList[f[m11, m12, m13], m11]
  8. r[[1]] = (mm1[[2]]/(2*mm1[[3]]))
  9. rt[[1]] = -(mm1[[2]]/(2*mm1[[3]]))^2*mm1[[3]] + mm1[[1]]
  10. mm2 = CoefficientList[rt[[1]], m12]
  11. r[[2]] = (mm2[[2]]/(2*mm2[[3]]))
  12. rt[[2]] = -(mm2[[2]]/(2*mm2[[3]]))^2*mm2[[3]] + mm2[[1]]
  13. mm3 = CoefficientList[rt[[2]], m13]
  14. r[[3]] = (mm3[[2]]/(2*mm3[[3]]))
  15. rt[[3]] = -(mm3[[2]]/(2*mm3[[3]]))^2*mm3[[3]] + mm3[[1]]
  16. Solve[{m11 + r[[1]] == 0, m12 + r[[2]] == 0, m13 + r[[3]] == 0}, {m11,
  17. m12, m13}]
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-5-25 07:41:44 | 显示全部楼层
遇到一个新问题,如果是采用矩阵元 1-范数即取绝对值,得到的结果形如: 如何计算该式的最小值呢,用分类讨论貌似很低效
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-24 11:15 , Processed in 0.028108 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表