예제 #1
0
        def rank(dist):
            r = cmc(dist, queryset.ids, testset.ids, queryset.cameras, testset.cameras,
                    separate_camera_set=False,
                    single_gallery_shot=False,
                    first_match_break=True)
            m_ap = mean_ap(dist, queryset.ids, testset.ids, queryset.cameras, testset.cameras)

            return r, m_ap
예제 #2
0
        def rank(dist):
            r = cmc(dist, self.queryset.ids, self.testset.ids, self.queryset.cameras, self.testset.cameras,
                    self.queryset.clothes, self.testset.clothes,
                    separate_camera_set=False,
                    single_gallery_shot=False,
                    first_match_break=True,
                    cloth_changing_settings=False)
            m_ap = mean_ap(
                dist, self.queryset.ids, self.testset.ids, self.queryset.cameras, self.testset.cameras,
                self.queryset.clothes, self.testset.clothes,
                cloth_changing_settings=False)

            return r, m_ap
예제 #3
0
    def evaluate(self):

        self.model.eval()

        print('extract features, this may take a few minutes')
        qf = extract_feature(self.model, tqdm(self.query_loader)).numpy()
        gf = extract_feature(self.model, tqdm(self.test_loader)).numpy()

        #########################   re rank##########################
        q_g_dist = np.dot(qf, np.transpose(gf))
        q_q_dist = np.dot(qf, np.transpose(qf))
        g_g_dist = np.dot(gf, np.transpose(gf))
        dist = re_ranking(q_g_dist, q_q_dist, g_g_dist)
        queryset = self.queryset
        testset = self.testset
        m_ap = mean_ap(dist, queryset, testset)

        print('[With    Re-Ranking] mAP: {:.4f}'.format(m_ap))

        #########################no re rank##########################
        dist = cdist(qf, gf)
        m_ap = mean_ap(dist, queryset, testset)

        print('[Without Re-Ranking] mAP: {:.4f}'.format(m_ap))