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

news2024/12/23 19:28:21

Text Detect Metric

PyPI SemVer2.0

  • 该库用于计算PrecisionRecallH-mean三个指标,用来评测文本检测算法效果。与魔搭-文本检测测试集配套使用。
  • 指标计算代码参考:PaddleOCR 和 DB

整体框架

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}
      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/790797.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

账号列表的删除编辑提交

<template><div><plan title"账号列表"><!-- selection-change"handleSelectionChange"添加这个属性就是点击可以得到你想要的value值 --><el-tablestyle"width: 100%":data"list"selection-change"h…

Service Mesh之Istio基础入门

技术背景 分布式服务治理 所谓分布式服务治理就是对服务不断增长的复杂度的管控和管理&#xff1b;管控及管理包含网络拓扑变动、网络延时、通信安全、API网关、服务注册和发现、服务熔断容错、服务超时重试、服务部署、数据调用、分布式链路追踪等等&#xff1b; 服务治理历程…

JMeter(八):响应断言详解

响应断言 :对服务器的响应进行断言校验 (1)应用范围: main sample and sub sample, main sample only , sub-sample only , jmeter variable 关于应用范围,我们大多数勾选“main sample only” 就足够了,因为我们一个请求,实质上只有一个请求。但是当我们发一个请求时,…

Linux6.14 Docker Compose容器编排

文章目录 计算机系统5G云计算第四章 LINUX Docker Compose容器编排一、Compose概述1.Docker Compose 的概述2.Docker Compose 三大的概念 二、部署过程1.Docker Compose 环境安装2.YAML 文件格式及编写注意事项3.Docker Compose配置常用字段4.Docker Compose 常用命令5.Docker …

【C语言】常见的内存操作函数

目录 前言&#xff1a;1.memcpymemcpy函数介绍memcpy函数的模拟实现 2.memmovememmove函数介绍memmove函数的模拟实现 3.memcmp4.memset 前言&#xff1a; 紧接字符串函数&#xff0c;接下来介绍内存函数~~ ———————————————————— 1.memcpy memcpy函数介…

索尼移动硬盘数据丢失怎么办?索尼移动硬盘如何恢复数据

咨询案例&#xff1a;“我刚买的索尼移动硬盘&#xff0c;里面存了超多我的宝贝照片和视频。突然有一天&#xff0c;我发现这些数据全都不见了&#xff01;心凉了半截&#xff0c;我该怎么办&#xff1f;” ——索尼移动硬盘是一种常用的存储设备&#xff0c;它具有大容量、便携…

微软亚研院提出模型基础架构RetNet或将成为Transformer有力继承者

作为全新的神经网络架构&#xff0c;RetNet 同时实现了良好的扩展结果、并行训练、低成本部署和高效推理。这些特性将使 RetNet 有可能成为继 Transformer 之后大语言模型基础网络架构的有力继承者。实验数据也显示&#xff0c;在语言建模任务上&#xff1a; RetNet 可以达到与…

视频内存过大如何压缩变小?这个压缩方法了解一下

在日常生活中&#xff0c;不管是日常随手拍的视频还是在工作中遇到的视频文件&#xff0c;在编辑处理的时候&#xff0c;如果视频的内存过大&#xff0c;不仅会占用很大的内存&#xff0c;在传送的时候也会花费很长时间&#xff0c;这时候将视频给压缩一下就可以很好的解决这一…

直播程序源码开发建设:洞察全局,数据统计与分析功能

在信息时代的浪潮席卷下&#xff0c;直播程序源码平台成为了信息时代下的优秀产物之一&#xff0c;通过直播程序源码平台&#xff0c;人们既可以去获取信息、收获快乐&#xff1b;又可以开启一个随时随地&#xff0c;一台智能手机就可以做的工作&#xff0c;直播工作&#xff0…

ResMLP:具有数据效率训练的图像分类前馈网络

文章目录 ResMLP: Feedforward networks for image classification with data-efficient training摘要本文方法代码实验结果 ResMLP: Feedforward networks for image classification with data-efficient training 摘要 我们提出了ResMLP&#xff0c;一个完全建立在多层感知…

Windows系统创建新用户

1、以管理员身份启动cmd 2、开启administrator管理员账户 输入命令&#xff1a; net user Administrator /active:yes 3、切换到administrator用户 点击账户头像可以看见 4、创建新用户 WinR 键打开dos窗口输入&#xff1a;control userpasswords2 在弹出的“用户账户”中点…

区间预测 | MATLAB实现基于QRF随机森林分位数回归多变量时间序列区间预测模型

区间预测 | MATLAB实现基于QRF随机森林分位数回归多变量时间序列区间预测模型 目录 区间预测 | MATLAB实现基于QRF随机森林分位数回归多变量时间序列区间预测模型效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现基于QRF随机森林分位数回归多变量时间序列区间…

MFC CList 类的使用

MFC提供CList 类&#xff1b; 类CList支持可按顺序或按值访问的非唯一对象的有序列表&#xff1b;CList 列表与双链接列表行为相似&#xff1b; 类型POSITION的变量是列表的关键字&#xff1b;可使用POSITION变量作为循环因子来顺序遍历列表&#xff0c;作为书签来保存位置&am…

深度学习推理和训练

优化和泛化 深度学习的根本问题是优化和泛化之间的对立。 • 优化&#xff08;optimization&#xff09;是指调节模型以在 训练数据 上得到最佳性能&#xff08;即机器学习中的学习&#xff09;。 • 泛化&#xff08;generalization&#xff09;是指训练好的模型在 前所未…

Python 面向对象(一)(成员方法、类和对象)

初识对象 生活中数据的组织 学校开学&#xff0c;要求学生填写自己的基础信息&#xff0c;一人发一张白纸&#xff0c;让学生自己填 改为登记表&#xff0c;打印出来让学生自行填写&#xff1a; 程序中数据的组织 在程序中简单使用变量来记录学生信息 使用变量记录数据太乱了…

Python怎么将图片转换成base64编码

目录 什么是base64编码 Base64编码的特点 Base64编码的应用 Python怎么将图片转换成base64编码 什么是base64编码 Base64编码是一种将二进制数据转换为ASCII字符的编码方式。它是由MIME&#xff08;Multipurpose Internet Mail Extensions&#xff09;规范定义的&#xff0…

CAD转PDF怎么从彩色变成黑白?这个小技巧要掌握

CAD文件&#xff0c;也被称为CAD文档或CAD绘图文件&#xff0c;是一种专用的计算机辅助设计文件格式。它通常用于表示二维或三维设计图形和相关的几何属性。CAD文件可以在计算机辅助设计软件中打开和编辑。 通常由一个或多个图层组成&#xff0c;每个图层可以包含不同的颜色、线…

day37回溯算法

1.什么是回溯算法 回溯就是递归问题&#xff1a; 解决组合问题&#xff08;无顺序&#xff09;&#xff0c;切割问题&#xff0c;子集问题&#xff0c;排列问题&#xff08;顺序&#xff09; 所有的回溯可以抽象为一棵树&#xff1a;树 宽度就是for循环大小 树深度就是回溯 vo…

HCIP——OSPF基础

OSPF基础 一、OSPF基础二、OSPF的区域划分三、OSPF的数据包hello包数据库描述包DBD包链路状态请求包LSR包链路状态更新包LSU包链路状态确认包LSAck包 四、OSPF的状态机五、OSPF的工作过程六、链路状态型的路由生成过程七、条件匹配五、OSPF数据包头部八、OSPF的接口网络类型 一…

C++的六大“天选之子“之“构造“与“析构“

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶 &#x1f43b;推荐专栏2: &#x1f354;&#x1f35f;&#x1f32f;C语言进阶 &#x1f511;个人信条: &#x1f335;知行合一 &#x1f…