TextDetMetric: 计算文本检测算法指标工具

Text Detect Metric

PyPI SemVer2.0

整体框架
get_pred_txt.py
compute_metric.py
Text Detect Algorithm
pred_txt
TextDetMetric
Precision
Recall
H-mean
数据集上评测
  • 如果想要评测其他文本检测算法,需要将预测结果写入pre.txt中,格式为图像全路径\t检测框多边形坐标\t得分
    • ⚠️注意:图形全路径来自modelscope加载得到,只要保证txtjson在同一目录下即可。
    • 如下示例:
      C:\Users\xxxx\.cache\modelscope\hub\datasets\liekkas\text_det_test_dataset\master\data_files\extracted\f3ca4a17a478c1d798db96b03a5da8b144f13054fd06401e5a113a7ca4953491\text_det_test_dataset/25.jpg	[[[519.0, 634.0], [765.0, 632.0], [765.0, 683.0], [519.0, 685.0]]]	[0.8451064699863124]
      
  • 这里以ch_mobile_v2_det在文本检测测试集liekkas/text_det_test_dataset上的评测代码,大家可以以此类推。
  • 安装必要的包
    pip install modelscope==1.5.2
    pip install text_det_metric
    
  • 运行测试
    1. 运行get_pred_txt.py得到pred.txt
      import cv2
      from modelscope.msdatasets import MsDataset
      
      from ch_mobile_v2_det import TextDetector
      
      test_data = MsDataset.load(
          "text_det_test_dataset",
          namespace="liekkas",
          subset_name="default",
          split="test",
      )
      
      text_detector = TextDetector()
      
      content = []
      for one_data in test_data:
          img_path = one_data.get("image:FILE")
      
          print(img_path)
          img = cv2.imread(str(img_path))
          dt_boxes, scores, _ = text_detector(img)
          content.append(f"{img_path}\t{dt_boxes.tolist()}\t{scores}")
      
      with open("pred.txt", "w", encoding="utf-8") as f:
          for v in content:
              f.write(f"{v}\n")
      
    2. 运行compute_metric.py得到在该数据集上的指标
      from text_det_metric import DetectionIoUEvaluator
      
      metric = DetectionIoUEvaluator()
      
      # pred_path
      pred_path = "1.txt"
      mertric = metric(pred_path)
      print(mertric)
      
      # {'precision': 0.6926406926406926, 'recall': 0.8247422680412371, 'hmean': 0.7529411764705882}
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值