示例#1
0
 def test_errors_for_bbox_wrong_size(self):
     with self.assertRaises(ValueError) as cm:
         next(submission_loader.gen_img_pboxes([{
             'label_probs': [0.1, 0.1, 0.1, 0.1, 0.2],
             'bbox': [12, 14, 55]
         }], [list(range(5)), list(range(5))], num_classes=5, img_idx=13, sequence_name='test.json'))
     self.assert_contains_indexes(cm, 'test.json', 13, 0)
     with self.assertRaises(ValueError) as cm:
         next(submission_loader.gen_img_pboxes([{
             'label_probs': [0.1, 0.1, 0.1, 0.1, 0.2],
             'bbox': [12, 14, 55, 46, 47]
         }], [list(range(5)), list(range(5))], num_classes=5, img_idx=13, sequence_name='test.json'))
     self.assert_contains_indexes(cm, 'test.json', 13, 0)
示例#2
0
 def test_errors_for_non_positive_definite_cov(self):
     with self.assertRaises(ValueError) as cm:
         next(submission_loader.gen_img_pboxes([{
             'label_probs': [0.1, 0.1, 0.1, 0.1, 0.2],
             'bbox': [12, 14, 55, 46],
             'covars': [[[1, 2], [2, 1]], [[1, 0], [0, 1]]]
         }], [list(range(5)), list(range(5))], num_classes=5, img_idx=13, sequence_name='test.json'))
     self.assert_contains_indexes(cm, 'test.json', 13, 0)
     with self.assertRaises(ValueError) as cm:
         next(submission_loader.gen_img_pboxes([{
             'label_probs': [0.1, 0.1, 0.1, 0.1, 0.2],
             'bbox': [12, 14, 55, 46],
             'covars': [[[1, 0], [0, 1]], [[1, 2], [2, 1]]]
         }], [list(range(5)), list(range(5))], num_classes=5, img_idx=13, sequence_name='test.json'))
     self.assert_contains_indexes(cm, 'test.json', 13, 0)
示例#3
0
 def test_doesnt_normalize_underestimate(self):
     det = next(submission_loader.gen_img_pboxes([{
         'label_probs': [0.1, 0.1, 0.1, 0.1, 0.2],
         'bbox': [12, 14, 55, 46],
         'covars': [[[0, 0], [0, 0]], [[0, 0], [0, 0]]]
     }], [list(range(5)), list(range(5))], num_classes=5))
     expected_list = np.zeros(len(class_list.CLASSES), dtype=np.float32)
     expected_list[0:5] = [0.1, 0.1, 0.1, 0.1, 0.2]
     self.assertNPEqual(expected_list, det.class_list)
示例#4
0
 def test_reorders_label_probs(self):
     det = next(submission_loader.gen_img_pboxes([{
         'label_probs': [0.1, 0.2, 0.3, 0.4],
         'bbox': [12, 14, 55, 46],
         'covars': [[[0, 0], [0, 0]], [[0, 0], [0, 0]]]
     }], [[2, 1, 3], [0, 2, 3]], num_classes=4))
     expected_list = np.zeros(len(class_list.CLASSES), dtype=np.float32)
     expected_list[2] = 0.1
     expected_list[1] = 0.3
     expected_list[3] = 0.4
     self.assertNPEqual(expected_list, det.class_list)
示例#5
0
 def test_builds_detection_instances(self):
     img_dets = [{
         'label_probs': [0.1, 0.1, 0.1, 0.3, 0.4],
         'bbox': [12, 14, 55, 46],
         'covars': [[[0, 0], [0, 0]], [[0, 0], [0, 0]]]
     }, {
         'label_probs': [0.8, 0.05, 0.05, 0.05, 0.05],
         'bbox': [21, 81, 87, 112],
         'covars': [[[15, 5], [5, 21]], [[100, 0], [0, 5]]]
     }, {
         'label_probs': [0.2, 0.1, 0.3, 0.1, 0.3],
         'bbox': [3, 6, 13, 121]
     }]
     dets = list(submission_loader.gen_img_pboxes(img_dets, [list(range(5)), list(range(5))], num_classes=5))
     self.assertEqual(len(img_dets), len(dets))
     for idx in range(len(img_dets)):
         self.assertIsInstance(dets[idx], data_holders.DetectionInstance)
         expected_list = np.zeros(len(class_list.CLASSES), dtype=np.float32)
         expected_list[0:5] = img_dets[idx]['label_probs']
         self.assertNPEqual(expected_list, dets[idx].class_list)
示例#6
0
 def test_returns_empty_generator_for_no_detections(self):
     gen = submission_loader.gen_img_pboxes({}, [[0], [0]])
     self.assertIsInstance(gen, types.GeneratorType)
     dets = list(gen)
     self.assertEqual(dets, [])