修改测试

This commit is contained in:
lee
2025-07-01 13:39:34 +08:00
parent 96a9445761
commit ed6a4144fa
8 changed files with 55 additions and 14 deletions

View File

@ -16,14 +16,14 @@ class YOLOv10DetectionPredictor(DetectionPredictor):
pass
else:
preds = preds.transpose(-1, -2)
bboxes, scores, labels = ops.v10postprocess(preds, self.args.max_det, preds.shape[-1]-4)
bboxes, scores, labels = ops.v10postprocess(preds, self.args.max_det, preds.shape[-1] - 4)
bboxes = ops.xywh2xyxy(bboxes)
preds = torch.cat([bboxes, scores.unsqueeze(-1), labels.unsqueeze(-1)], dim=-1)
mask = preds[..., 4] > self.args.conf
if self.args.classes is not None:
mask = mask & (preds[..., 5:6] == torch.tensor(self.args.classes, device=preds.device).unsqueeze(0)).any(2)
preds = [p[mask[idx]] for idx, p in enumerate(preds)]
if not isinstance(orig_imgs, list): # input images are a torch.Tensor, not a list
@ -31,6 +31,18 @@ class YOLOv10DetectionPredictor(DetectionPredictor):
results = []
for i, pred in enumerate(preds):
#### 不保存负样本predict的结果#######
# if pred.numel() == 0:
# continue
# print('pred >>> {}'.format(pred[:, 4]))
# if float(pred[:, 4][0]) < 0.1:
# continue
##################################
#####保存正样本predict漏检的结果######
# if pred.numel() != 0:
# if float(pred[:, 4][-1]) > 0.1:
# continue
##################################
orig_img = orig_imgs[i]
pred[:, :4] = ops.scale_boxes(img.shape[2:], pred[:, :4], orig_img.shape)
img_path = self.batch[0][i]