warp.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:inverse-compositional-STN 作者: ericlin79119 项目源码 文件源码
def vec2mtrx(opt,p):
    O = util.toTorch(np.zeros([opt.batchSize],dtype=np.float32))
    I = util.toTorch(np.ones([opt.batchSize],dtype=np.float32))
    if opt.warpType=="translation":
        tx,ty = torch.unbind(p,dim=1)
        pMtrx = torch.stack([torch.stack([I,O,tx],dim=-1),
                             torch.stack([O,I,ty],dim=-1),
                             torch.stack([O,O,I],dim=-1)],dim=1)
    if opt.warpType=="similarity":
        pc,ps,tx,ty = torch.unbind(p,dim=1)
        pMtrx = torch.stack([torch.stack([I+pc,-ps,tx],dim=-1),
                             torch.stack([ps,I+pc,ty],dim=-1),
                             torch.stack([O,O,I],dim=-1)],dim=1)
    if opt.warpType=="affine":
        p1,p2,p3,p4,p5,p6,p7,p8 = torch.unbind(p,dim=1)
        pMtrx = torch.stack([torch.stack([I+p1,p2,p3],dim=-1),
                             torch.stack([p4,I+p5,p6],dim=-1),
                             torch.stack([O,O,I],dim=-1)],dim=1)
    if opt.warpType=="homography":
        p1,p2,p3,p4,p5,p6,p7,p8 = torch.unbind(p,dim=1)
        pMtrx = torch.stack([torch.stack([I+p1,p2,p3],dim=-1),
                             torch.stack([p4,I+p5,p6],dim=-1),
                             torch.stack([p7,p8,I],dim=-1)],dim=1)
    return pMtrx

# convert warp matrix to parameters
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号