diff --git a/deploy/configs/inference_cartoon.yaml b/deploy/configs/inference_cartoon.yaml index 97d84667b2cac0bffc74541f3f1e2d53ccd6fda8..bb08935a168db312c954dab5c84ea4c2347847a4 100644 --- a/deploy/configs/inference_cartoon.yaml +++ b/deploy/configs/inference_cartoon.yaml @@ -2,7 +2,7 @@ Global: infer_imgs: "./recognition_demo_data_v1.0/test_cartoon" det_inference_model_dir: "./models/ppyolov2_r50vd_dcn_mainbody_v1.0_infer/" rec_inference_model_dir: "./models/cartoon_rec_ResNet50_iCartoon_v1.0_infer/" - rec_nms_thresold: 0.1 + rec_nms_thresold: 0.05 batch_size: 1 image_shape: [3, 640, 640] diff --git a/deploy/configs/inference_logo.yaml b/deploy/configs/inference_logo.yaml index 6152e9cee5328c1516ccb796f2664bd1f665e929..0385387f62c7c4f73b8a9ae5d430e22584680dba 100644 --- a/deploy/configs/inference_logo.yaml +++ b/deploy/configs/inference_logo.yaml @@ -2,7 +2,7 @@ Global: infer_imgs: "./recognition_demo_data_v1.0/gallery/test_logo" det_inference_model_dir: "./models/ppyolov2_r50vd_dcn_mainbody_v1.0_infer/" rec_inference_model_dir: "./models/logo_rec_ResNet50_Logo3K_v1.0_infer/" - rec_nms_thresold: 0.3 + rec_nms_thresold: 0.05 batch_size: 1 image_shape: [3, 640, 640] diff --git a/deploy/configs/inference_product.yaml b/deploy/configs/inference_product.yaml index 1b3291406dc83ecef6c92b4f6e1e83ef9065404c..f75fee3e151028a4345b6ce728121deffd0a6ab4 100644 --- a/deploy/configs/inference_product.yaml +++ b/deploy/configs/inference_product.yaml @@ -2,7 +2,7 @@ Global: infer_imgs: "./recognition_demo_data_v1.0/test_product/daoxiangcunjinzhubing_6.jpg" det_inference_model_dir: "./models/ppyolov2_r50vd_dcn_mainbody_v1.0_infer" rec_inference_model_dir: "./models/product_ResNet50_vd_aliproduct_v1.0_infer" - rec_nms_thresold: 0.3 + rec_nms_thresold: 0.05 batch_size: 1 image_shape: [3, 640, 640] diff --git a/deploy/configs/inference_vehicle.yaml b/deploy/configs/inference_vehicle.yaml index a3dec869c0f9d9a3dce034cd9d267ca5df5daa1f..17f70abccd725363da58f54494627b13f450cb6a 100644 --- a/deploy/configs/inference_vehicle.yaml +++ b/deploy/configs/inference_vehicle.yaml @@ -2,7 +2,7 @@ Global: infer_imgs: "./recognition_demo_data_v1.0/test_vehicle/" det_inference_model_dir: "./models/ppyolov2_r50vd_dcn_mainbody_v1.0_infer/" rec_inference_model_dir: "./models/vehicle_cls_ResNet50_CompCars_v1.0_infer/" - rec_nms_thresold: 0.3 + rec_nms_thresold: 0.05 batch_size: 1 image_shape: [3, 640, 640] diff --git a/deploy/python/predict_system.py b/deploy/python/predict_system.py index 1683733616f2a27010f797fef96e133505035c75..3f5d63a812db6d0376abea04ed8242c65638d6bf 100644 --- a/deploy/python/predict_system.py +++ b/deploy/python/predict_system.py @@ -56,7 +56,7 @@ class SystemPredictor(object): }) return results - def nms_to_rec_results(self, results, thresh=0.3): + def nms_to_rec_results(self, results, thresh=0.1): filtered_results = [] x1 = np.array([r["bbox"][0] for r in results]).astype("float32") y1 = np.array([r["bbox"][1] for r in results]).astype("float32") @@ -66,22 +66,19 @@ class SystemPredictor(object): areas = (x2 - x1 + 1) * (y2 - y1 + 1) order = scores.argsort()[::-1] - while order.size > 0: i = order[0] xx1 = np.maximum(x1[i], x1[order[1:]]) - yy1 = np.minimum(y1[i], y1[order[1:]]) + yy1 = np.maximum(y1[i], y1[order[1:]]) xx2 = np.minimum(x2[i], x2[order[1:]]) - yy2 = np.maximum(y2[i], y2[order[1:]]) + yy2 = np.minimum(y2[i], y2[order[1:]]) w = np.maximum(0.0, xx2 - xx1 + 1) h = np.maximum(0.0, yy2 - yy1 + 1) inter = w * h ovr = inter / (areas[i] + areas[order[1:]] - inter) - inds = np.where(ovr <= thresh)[0] order = order[inds + 1] - filtered_results.append(results[i]) return filtered_results diff --git a/deploy/utils/draw_bbox.py b/deploy/utils/draw_bbox.py index 6810f1fda5475a4e8a7518156e0a833966154393..8246fbf43e5e2da8fb2130e2b4dca8549bcc9629 100644 --- a/deploy/utils/draw_bbox.py +++ b/deploy/utils/draw_bbox.py @@ -28,7 +28,8 @@ def draw_bbox_results(image, draw = ImageDraw.Draw(image) font = ImageFont.truetype(font_path, 20, encoding="utf-8") - color = (0, 255, 0) +# color = (0, 255, 0) + color = (0, 102, 255) for result in results: # empty results @@ -40,9 +41,10 @@ def draw_bbox_results(image, th = 20 tw = int(len(result["rec_docs"]) * 20) + 60 start_y = max(0, ymin - th) - draw.rectangle( - [(xmin + 1, start_y), (xmin + tw + 1, start_y + th)], - outline=color) + +# draw.rectangle( +# [(xmin + 1, start_y), (xmin + tw + 1, start_y + th)], +# outline=color) draw.text((xmin + 1, start_y), text, fill=color, font=font)