书本模型逆映射最终章

0.前言

前一篇博文讲述了逆映射的原理以及先钱错误的原因,在这之后进行了缩放,最后进行了逆映射。在这个过程中,发现几个问题。

1)缩放应通过平移矩阵的tz去控制,而不是在得到坐标之后以缩放比例进行缩放。

2)在通过对坐标以一定比例进行缩放后,逆映射的结果非常差。

1.以比例缩放的逆映射结果

在以比例进行缩放,得到的逆映射结果


可以看到,整个曲线是弯曲的。

2.通过TZ进行缩放

刚开始的逆映射结果也是弯曲的。后来发现原因是对于tz的归一化发生了错误。

#label value can't in different num level, so normalized the more 1's label value; coeffLst[3] and coeffLst[4],x3 and x2;
def maxMinNormalization(num, isNormalTz):
    if isNormalTz:
        maxV = 161
        minV = 139
        return (num-minV)/(maxV-minV)
    else:
        maxV = 1.3
        minV = -1.48
        return (num-minV)/(maxV-minV)  

将最大值和最小值放反了,所以得到的值是错的。

3.逆映射的原理

相当于直线方程与平面的交点。求解一元三次方程。

m= 380

n = 0.5

        axCubeCoeff = a3_predict*dx/m**2
        bxCubeCoeff = ((3*a3_predict*n+a2_predict)/m)*dx
        cxCubeCoeff = ((3*a3_predict*n**2+2*a2_predict*n+a1_predict)*dx-dz)
        dxCubeCoeff = ((n**3*m*a3_predict+n**2*m*a2_predict+n*m*a1_predict+m*a0)*dx+ox*dz-oz*dx)
        x = shengjinSolution(axCubeCoeff, bxCubeCoeff, cxCubeCoeff, dxCubeCoeff)
        labuda = (x-ox)/dx
        y = oy + labuda*dy
        z = oz + labuda*dz

4.总结

通过求得的坐标,进行了透视形变,然后进行网络训练,接着是测试网络,最后是进行逆映射。

5.下一步任务

接下来要做的就是最关键的一步,取得真实的坐标点,进行实验。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值