dataset.py 文件源码

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

项目:crossingNet 作者: melonwan 项目源码 文件源码
def normRotation(self, tmpSkel = None, refPtIdx = None):
        '''tmpSkel: normalize every palm pose to the tmpSkel pose (template skeleton)
           refPtIdx: indexes of joints on the palm
        '''
        if tmpSkel is None:
            tmpSkel = self.frmList[0].norm_skel

        if refPtIdx is None:
            refPtIdx = self.refPtIdx
        refIdx = []
        for idx in refPtIdx:
            refIdx += [idx*3, idx*3+1, idx*3+2]

        keep_list = set(range(3*self.skel_num)).\
            difference(set(refIdx+range(self.centerPtIdx, self.centerPtIdx+3)))
        keep_list = list(keep_list)

        temp = tmpSkel[refIdx].copy()
        temp.shape = (-1,3)

        for frm in self.frmList:
           model = frm.norm_skel[refIdx] 
           model.shape = (-1,3)

           R = np.zeros((3,3), np.float32)
           for vt, vm in zip(temp, model):
               R = R + np.dot(vm.reshape(3,1), vt.reshape(1,3))

           U,s,V = svd(R, full_matrices=True) 
           R = np.dot(V.transpose(), U.transpose())
           frm.quad = Quaternion(R)
           frm.norm_skel.shape = (-1,3)
           frm.norm_skel = np.dot(R,frm.norm_skel.transpose())
           frm.norm_skel = frm.norm_skel.flatten('F')
           # frm.norm_skel = frm.norm_skel[keep_list]
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号