Skip to content

Commit d2e9784

Browse files
committed
Remove unused 'strict' parameter from detection and segmentation result classes and update label handling in tilers
1 parent 5b592bd commit d2e9784

File tree

5 files changed

+8
-7
lines changed

5 files changed

+8
-7
lines changed

model_api/python/model_api/models/result_types/detection.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ def __str__(self) -> str:
6262
self.scores,
6363
self.labels,
6464
self.label_names,
65-
strict=True,
6665
):
6766
x1, y1, x2, y2 = box
6867
repr_str += f"{x1}, {y1}, {x2}, {y2}, {label} ({name}): {score:.3f}; "

model_api/python/model_api/models/result_types/segmentation.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ def __str__(self) -> str:
5151
self.labels,
5252
self.label_names,
5353
self.masks,
54-
strict=True,
5554
):
5655
x1, y1, x2, y2 = box
5756
repr_str += f"{x1}, {y1}, {x2}, {y2}, {label} ({name}): {score:.3f}, {(mask > 0.5).sum()}; "
@@ -123,7 +122,6 @@ def __str__(self) -> str:
123122
self.label_names,
124123
self.masks,
125124
self.rotated_rects,
126-
strict=True,
127125
):
128126
x1, y1, x2, y2 = box
129127
(cx, cy), (w, h), angle = rotated_rect

model_api/python/model_api/models/utils.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ def get_contours(seg_result: RotatedSegmentationResult | InstanceSegmentationRes
4646
seg_result.masks,
4747
seg_result.scores,
4848
seg_result.label_names,
49-
strict=True,
5049
):
5150
contours, _ = cv2.findContours(
5251
mask,

model_api/python/model_api/tilers/detection.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,13 @@ def _merge_results(self, results: list[dict], shape: tuple[int, int, int]) -> De
112112

113113
merged_vector = np.mean(feature_vectors, axis=0) if feature_vectors else np.ndarray(0)
114114
saliency_map = self._merge_saliency_maps(saliency_maps, shape, tiles_coords) if saliency_maps else np.ndarray(0)
115+
label_names = [self.model.labels[int(label_idx)] for label_idx in detections_array[:, 0]]
115116

116117
return DetectionResult(
117118
bboxes=detections_array[:, 2:].astype(np.int32),
118119
labels=detections_array[:, 0].astype(np.int32),
119120
scores=detections_array[:, 1],
121+
label_names=label_names,
120122
saliency_map=saliency_map,
121123
feature_vector=merged_vector,
122124
)

model_api/python/model_api/tilers/instance_segmentation.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,16 +120,19 @@ def _merge_results(self, results, shape) -> InstanceSegmentationResult:
120120
saliency_map = self._merge_saliency_maps(saliency_maps, shape, tiles_coords) if saliency_maps else []
121121

122122
labels, scores, bboxes = np.hsplit(detections_array, [1, 2])
123-
resized_masks = []
124-
for mask, box in zip(masks, bboxes, strict=True):
123+
labels = labels.astype(np.int32)
124+
resized_masks, label_names = [], []
125+
for mask, box, label_idx in zip(masks, bboxes, labels, strict=True):
126+
label_names.append(self.model.labels[int(label_idx)])
125127
resized_masks.append(_segm_postprocess(box, mask, *shape[:-1]))
126128

127129
resized_masks = np.stack(resized_masks) if resized_masks else masks
128130
return InstanceSegmentationResult(
129131
bboxes=np.round(bboxes).astype(np.int32),
130-
labels=labels.astype(np.int32).squeeze(),
132+
labels=labels.squeeze(),
131133
scores=scores.squeeze(),
132134
masks=resized_masks,
135+
label_names=label_names if label_names else None,
133136
saliency_map=saliency_map,
134137
feature_vector=merged_vector,
135138
)

0 commit comments

Comments
 (0)