def get_feature(self, img, state):
        '''
        利用图片和当前关键点计算特征,多次使用并且 直接用了类的参数所以 创建一个类方便修改
        :param img:
        :param state:
        :return:
        '''

        return get_hog_feature(img, label_to_landmark(state),
                               self.feature_block,
                               self.block_size)  # (4-1)*(4-1)*9*4*12 =3888
Exemple #2
0
 def compute_strid(self,img, state, decent_map):
     '''
             输入单张图片 和 标注 利用计算出来的每一步方向求出每一步的步伐
             :param imgs:
             :param state:
             :param decent_map:
             :return:
             '''
     phi = get_hog_feature(img, label_to_landmark(state),self.feature_block)  # (4-1)*(4-1)*9*4*12 =3888
     phi = np.array(phi)
     phi_one = np.ones(phi.shape)
     A = np.hstack((phi, phi_one))
     A = np.mat(A)
     return np.dot(A, decent_map)
Exemple #3
0
    def compute_strid(self,img, state, decent_map):
        '''
        输入单张图片 和 标注 利用计算出来的每一步方向求出每一步的步伐
        :param imgs:
        :param state:
        :param decent_map:
        :return:
        '''
        R = decent_map
        phi = get_hog_feature(img, label_to_landmark(state))  # (4-1)*(4-1)*9*4*12 =3888
        phi = np.array(phi)
        A = phi-self.avg_phi_star

        return np.dot(A, R)
Exemple #4
0
    def compute_strid_batch(self,imgs, states, decent_map):
        '''
        输入多张图片 和 标注 利用计算出来的每一步方向求出每一步的步伐
        :param imgs:
        :param state:
        :param decent_map:
        :return:
        '''
        R = decent_map
        phi = [get_hog_feature(imgs[idx], label_to_landmark(states[idx]))for idx in range(len(imgs))]  # (4-1)*(4-1)*9*4*12 =3888
        phi = np.array(phi)
        train_phi_star = [self.avg_phi_star for idx in range(len(imgs))]
        train_phi_star = np.array(train_phi_star)
        A = phi-train_phi_star

        return np.dot(A, R)
Exemple #5
0
 def get_phis(self,imgs,label):
     phi_star = [get_hog_feature(imgs[idx], label_to_landmark(label[idx]),self.feature_block) for idx in
                 range(len(imgs))] # (4-1)*(4-1)*9*4*12 =3888
     phi_star = np.array(phi_star)
     return phi_star