中文检测的数据集:

清华的CTW,https://ctwdataset.github.io/ 但是数据集只存储在微云和google driver,微云空间受限不能完全保存,下载很麻烦

华科的MSRA TD5000,支持中英文的倾斜文本检测

http://www.iapr-tc11.org/mediawiki/index.php/MSRA_Text_Detection_500_Database_(MSRA-TD500)

MSRA TD5000分为图片和label,label表示方法是RBOX风格的,即

index, defficult label, x, y, width, height, theta

这里theta是弧度...

弧度就是角度的一种度量方式,是弧长与半径的比来计算。因此0表示0度,π表示180度,π/2表示90度。

python中,可以通过math.radius()来做角度和弧度的变换。

print(math.radians(90)) # 1.5707963267948966
print(math.radians(180)) # 3.141592653589793
print(math.radians(360)) # 6.283185307179586

一般深度学习算法,矩形框都是QUAD风格的,即:

x1,y1,x2,y2,x3,y3,x4,y4,text

通过Python代码进行坐标的变换:

def rotate(angle, x, y):"""基于原点的弧度旋转:param angle:   弧度:param x:       x:param y:       y:return:"""rotatex = math.cos(angle) * x - math.sin(angle) * yrotatey = math.cos(angle) * y + math.sin(angle) * xreturn rotatex, rotateydef xy_rorate(theta, x, y, centerx, centery):"""针对中心点进行旋转:param theta::param x::param y::param centerx::param centery::return:"""r_x, r_y = rotate(theta, x - centerx, y - centery)return centerx+r_x, centery+r_ydef rec_rotate(x, y, width, height, theta):"""传入矩形的x,y和宽度高度,弧度,转成QUAD格式:param x::param y::param width::param height::param theta::return:"""centerx = x + width / 2centery = y + height / 2x1, y1 = xy_rorate(theta, x, y, centerx, centery)x2, y2 = xy_rorate(theta, x+width, y, centerx, centery)x3, y3 = xy_rorate(theta, x, y+height, centerx, centery)x4, y4 = xy_rorate(theta, x+width, y+height, centerx, centery)return x1, y1, x2, y2, x3, y3, x4, y4

或者这样:

"""
This file is to change MSRA_TD500 dataset format to ICDAR2015 dataset format.MSRA_TD500 format: [index difficulty_label x y w h angle]ICDAR2015 format: [left_top_x left_top_y right_top_X right_top_y right_bottom_x right_bottom_y left_bottom_x left_bottom_y]"""import math
import cv2
import os# 求旋转后矩形的4个坐标
def get_box_img(x, y, w, h, angle):# 矩形框中点(x0,y0)x0 = x + w/2y0 = y + h/2l = math.sqrt(pow(w/2, 2) + pow(h/2, 2))  # 即对角线的一半# angle小于0,逆时针转if angle < 0:a1 = -angle + math.atan(h / float(w))  # 旋转角度-对角线与底线所成的角度a2 = -angle - math.atan(h / float(w)) # 旋转角度+对角线与底线所成的角度pt1 = (x0 - l * math.cos(a2), y0 + l * math.sin(a2))pt2 = (x0 + l * math.cos(a1), y0 - l * math.sin(a1))pt3 = (x0 + l * math.cos(a2), y0 - l * math.sin(a2))  # x0+左下点旋转后在水平线上的投影, y0-左下点在垂直线上的投影,显然逆时针转时,左下点上一和左移了。pt4 = (x0 - l * math.cos(a1), y0 + l * math.sin(a1))else:a1 = angle + math.atan(h / float(w))a2 = angle - math.atan(h / float(w))pt1 = (x0 - l * math.cos(a1), y0 - l * math.sin(a1))pt2 = (x0 + l * math.cos(a2), y0 + l * math.sin(a2))pt3 = (x0 + l * math.cos(a1), y0 + l * math.sin(a1))pt4 = (x0 - l * math.cos(a2), y0 - l * math.sin(a2))return [pt1[0], pt1[1], pt2[0], pt2[1], pt3[0], pt3[1], pt4[0], pt4[1]]def read_file(path):result = []for line in open(path):info = []data = line.split(' ')info.append(int(data[2]))info.append(int(data[3]))info.append(int(data[4]))info.append(int(data[5]))info.append(float(data[6]))info.append(data[0])result.append(info)return resultif __name__ == '__main__':file_path = '/home/ljs/OCR_dataset/MSRA-TD500/test/'save_img_path = '../dataset/OCR_dataset/ctpn/test_im/'save_gt_path = '../dataset/OCR_dataset/ctpn/test_gt/'file_list = os.listdir(file_path)for f in file_list:if '.gt' in f:continuename = f[0:8]txt_path = file_path + name + '.gt'im_path = file_path + fim = cv2.imread(im_path)coordinate = read_file(txt_path)# 仿照ICDAR格式,图片名字写做img_xx.jpg,对应的标签文件写做gt_img_xx.txtcv2.imwrite(save_img_path + name.lower() + '.jpg', im)save_gt = open(save_gt_path + 'gt_' + name.lower() + '.txt', 'w')for i in coordinate:box = get_box_img(i[0], i[1], i[2], i[3], i[4])box = [int(box[i]) for i in range(len(box))]box = [str(box[i]) for i in range(len(box))]save_gt.write(','.join(box))save_gt.write('\n')

参考博客:https://www.cnblogs.com/skyfsm/p/10054386.html

https://www.cnblogs.com/xing901022/p/9579935.html

MSRA-TD5000数据集使用相关推荐

  1. MSRA TD-500数据集

    Overview MSRA Text Detection 500 Database (MSRA-TD500) Cong Yao Huazhong University of Science and T ...

  2. 【今日CS 视觉论文速览】 27 Dec 2018

    今日CS.CV计算机视觉论文速览 Thu, 27 Dec 2018 Totally 70 papers Interesting: 荧光显微镜数据集FMD,提供了包含12000张真实荧光显微镜的照片.主 ...

  3. 【论文解读】利用高光谱图像对场景反射率进行有效估计(Efficient Estimation of Reflectance Parameters from Imaging Spectropy)

    文章目录 前言 摘要 Ⅰ. 介绍 Ⅱ. 估计反射参数的方法 A. 重建阴影因子 B. 表面反射率和镜面系数的计算 C. 光源功率谱计算 D. 光源方向 E. 将方法扩展到三色图像 Ⅲ. 实现方式 Ⅳ. ...

  4. 自然语言处理 - 二元语法与中文分词

    二元语法与中文分词 之前的一篇文章里(自然语言处理 - 分词初窥)中我们介绍并实现了基于词典的最大匹配分词方法.这种方法简单直观,且词典扩充很方便.但词典分词难以消除歧义,给定两种分词结果" ...

  5. paper code sota 方法

    Chinese Named Entity Recognition | Papers With Code 先看这个领域中在 公开数据集上的最佳方法,然后用这些方法做实验. 常见方法: IDCNN+CRF ...

  6. Swim-Transform V2:用于目标检测,视觉大模型不再是难题(附源代码)

    关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 论文地址:https://arxiv.org/pdf/2111.09883.p ...

  7. msra数据集_ACL2020 | 香侬科技提出使用Dice Loss缓解数据集数据不平衡问题

    论文标题:Dice Loss for Data-imbalanced NLP Tasks 论文作者:Xiaofei Sun, Xiaoya Li, Yuxian Meng, Junjun Liang, ...

  8. 继 Swin Transformer 之后,MSRA 开源 Video Swin Transformer,在视频数据集上SOTA

    关注公众号,发现CV技术之美 继上半年分享的『基于Transformer的通用视觉架构:Swin-Transformer带来多任务大范围性能提升』.『Swin Transformer为主干,清华等提出 ...

  9. MSRA-TD500数据集(MSRA Text Detection 500 Database)

    RRPN(<Arbitrary-Oriented Scene Text Detection via Rotation Proposals>)是文本检测中比较具有代表性的文章,文章地址:ht ...

最新文章

  1. linux目录都是什么意思,linux中的基本的目录结构都是什么意思,初学者都应该有印象-tmp是什么文件...
  2. vue --- vue-router
  3. java实现自动任务_Java实现定时任务的三种方法
  4. 互联网巨头布阵LoRaWAN,是又一春天还是不容乐观?
  5. 【转载】ArrayList 中数据删除 fail fast
  6. 【LeetCode】【HOT】287. 寻找重复数(抽象环形链表)
  7. WCF分布式开发常见错误(17):无法启动MSMQ服务
  8. PHP设计模式 之 单例模式(封装PDO)
  9. (转)招行开启零售银行智能投顾时代 尝试打造金融垂直自场景
  10. 封包(一)(雷电模拟器+ProxyDroid+查尔斯3.93+WPE)
  11. 软件工程基础 实验1《可行性研究与项目计划》
  12. iPhone4S使用红雪最新iOS5平刷和降级教程
  13. 『原创经典』标准日本语初级笔记完整版(1)
  14. 小米手机助手linux,小米手机助手怎么用?小米手机助手教程
  15. 深入java虚拟机(圣思园)
  16. 遗传算法和神经网络算法区别与联系
  17. 冰箱味道很臭?那你真的该学学这些除臭妙招
  18. 电子邮箱是什么?注册邮箱163、tom、qq等品牌有什么好处?
  19. 开放数据资产估值白皮书,首创“数据势能”估值模型【附下载链接】
  20. 【一文学会】vue.js入门到放弃

热门文章

  1. 基于知识图谱的智能问答方案
  2. [luogu p2440] 木材加工
  3. 大学各专业计算机专属表情包,是不是每个专业都有专属表情包?
  4. linux yum安装redis
  5. Android Froyo基于32 bit ubuntu 10.10编译问题
  6. Leetcode Proble 汇总四
  7. 案例3 淘宝点击关闭二维码
  8. 中医济世促醒汤-----发作性睡病
  9. 51nod 1431 快乐排队
  10. Linux常用命令实训题,初入Linux,M35作业第二弹,课后实验练习常用命令,牛刀小试...