ocr测试数据集
收藏魔搭社区2025-12-22 更新2025-06-14 收录
下载链接:
https://modelscope.cn/datasets/tf4444/ocr_test_dataset
下载链接
链接失效反馈官方服务:
资源简介:
license: Apache License 2.0
#用户自定义标签
tags:
- 印刷版图片ocr识别
configs:
- config_name: default
data_files:
- split: train
path: "ocr_train_dataset.zip"
- split: test
path: "ocr_test_dataset.zip"
---
<!--- 以上YAML section提供属性/tags描述--->
<!--- 以下为markdown格式的dataset描述--->
## 数据集描述
数据集用于OCR识别。
### 数据集简介
提供对于数据集的介绍,支持单行的印刷体文字识别。
### 数据集支持的任务
该数据集支持的训练任务是OCR,以及相关benchmark结果。
## 数据集的格式和结构
### 数据格式
对数据的格式进行描述,包括数据的schema,以及提供必要的数据样本示范。
如果数据集内含多个子数据集的话,每个字数据集都应该提供相对应的数据格式描述。
### 数据集加载方式
通过代码范例等方式,提供数据集通过git/SDK进行加载和使用的详细说明。
### 数据分片
数据集可以被切分成`train/test/validation`的数据分片,以便于训练和测试模型。您可以通过编辑README.md中的configs标签,来配置自定义数据分片。
您可以使用configs标签,对数据集的自定义分片进行描述。其中,config_name为分片的名称,即子数据集的名称;data_files为该子数据集的数据文件分片,包括split和path两个属性,
分别表示数据集的划分和数据文件的路径。
## 数据集生成的相关信息
import lmdb
import cv2
import os
import random
def create_lmdb(lmdb_path, image_files, data_folder):
# 确保lmdb_path目录存在
if not os.path.exists(lmdb_path):
os.makedirs(lmdb_path)
# 创建LMDB环境
env = lmdb.open(lmdb_path, map_size=1 * 1024 * 1024 * 1024) # 1 G
with env.begin(write=True) as txn:
num_samples = len(image_files)
# 写入样本数量
txn.put('num-samples'.encode(), str(num_samples).encode())
for i, image_file in enumerate(image_files):
# 构造对应的标签文件名
label_file = image_file.replace('.png', '.txt')
# 读取图像并编码
image_path = os.path.join(data_folder, image_file)
image = cv2.imread(image_path)
image = cv2.imencode('.png', image)[1].tobytes()
# 读取标签内容
label_path = os.path.join(data_folder, label_file)
with open(label_path, 'r', encoding='utf-8') as f:
label = f.read()
# 写入图像和标签
txn.put(f'image-{i + 1:09d}'.encode(), image)
txn.put(f'label-{i + 1:09d}'.encode(), label.encode())
env.close()
def split_dataset(data_folder, test_ratio=0.2):
# 获取图像文件列表
image_files = [f for f in os.listdir(data_folder) if f.endswith('.png')]
random.shuffle(image_files)
# 按比例划分训练集和测试集
split_index = int(len(image_files) * (1 - test_ratio))
train_files = image_files[:split_index]
test_files = image_files[split_index:]
return train_files, test_files
# 示例数据
data_folder = './imageslabels' # 存储图像和标签文件的文件夹
# 划分数据集
train_files, test_files = split_dataset(data_folder, test_ratio=0.2)
# 创建训练集LMDB
train_lmdb_path = './train_lmdb'
create_lmdb(train_lmdb_path, train_files, data_folder)
# 创建测试集LMDB
test_lmdb_path = './test_lmdb'
create_lmdb(test_lmdb_path, test_files, data_folder)
### 原始数据
描述原始数据的来源以及数据的初步收集是如何进行的,是否经过归一化等处理流程。
### 数据集标注
该数据集是否包含标注,若有的话,相关信息描述。
#### 标注过程
标注是通过什么方式实现的,流程如何。
#### 标注者
标注者相关信息,尤其是当标着和原始数据提供者有所区别时。
## 数据集版权信息
数据集相关的版权信息,授权使用的场景和用户。是否开源,以及采用哪个开源协议等等。
## 引用方式
数据集是否有相关联的文章,以及如果在研究论文中要引用该数据集是否有推荐的引用格式等等。
## 其他相关信息
该数据集可能包含的个人和敏感信息,使用数据集需要考虑的相关背景;
数据集可能包含的社会意义以及其中可能包含的bias信息和可能的局限性等等。
支持的模型:ocr,印刷体中文
许可证:Apache许可证2.0
# 用户自定义标签
标签:
- 印刷版图片光学字符识别 (Optical Character Recognition, OCR)
配置项 (configs):
- 配置名称:default
数据文件:
- 划分类型:train
文件路径:"ocr_train_dataset.zip"
- 划分类型:test
文件路径:"ocr_test_dataset.zip"
---
<!--- 以上YAML段用于提供数据集属性与标签描述 --->
<!--- 以下为markdown格式的数据集说明文档 --->
## 数据集概述
本数据集用于光学字符识别 (Optical Character Recognition, OCR) 任务。
### 数据集简介
本数据集面向单行印刷体文字识别任务,以下为数据集的详细说明。
### 支持任务
本数据集支持OCR训练任务及相关基准测试 (benchmark) 结果产出。
## 数据集格式与结构
### 数据格式
本部分将对数据集的格式进行说明,包括数据的模式 (Schema),并提供必要的数据样本示例。若数据集包含多个子数据集,则需为每个子数据集分别提供对应的格式描述。
### 数据集加载方式
本部分将通过代码示例等形式,详细说明如何通过Git或软件开发工具包 (Software Development Kit, SDK) 加载并使用本数据集。
### 数据分片
本数据集可被划分为`train`(训练集)、`test`(测试集)与`validation`(验证集)三类数据分片,以适配模型训练与测试需求。用户可通过编辑README.md文件中的configs标签 (configs),自定义配置数据分片规则:configs标签可用于描述自定义分片的相关配置,其中配置名称 (config_name) 为分片名称,即子数据集的标识;数据文件 (data_files) 为对应子数据集的数据文件分片配置,包含划分类型 (split) 与路径 (path) 两个属性,分别用于指定数据集划分类型与数据文件路径。
## 数据集生成相关信息
以下为用于生成数据集的Python代码示例,其中使用了Lightning内存映射数据库 (Lightning Memory-Mapped Database, LMDB) 与OpenCV库:
python
import lmdb
import cv2
import os
import random
def create_lmdb(lmdb_path, image_files, data_folder):
# 确保lmdb_path目录存在
if not os.path.exists(lmdb_path):
os.makedirs(lmdb_path)
# 创建LMDB环境
env = lmdb.open(lmdb_path, map_size=1 * 1024 * 1024 * 1024) # 1 G
with env.begin(write=True) as txn:
num_samples = len(image_files)
# 写入样本数量
txn.put('num-samples'.encode(), str(num_samples).encode())
for i, image_file in enumerate(image_files):
# 构造对应的标签文件名
label_file = image_file.replace('.png', '.txt')
# 读取图像并编码
image_path = os.path.join(data_folder, image_file)
image = cv2.imread(image_path)
image = cv2.imencode('.png', image)[1].tobytes()
# 读取标签内容
label_path = os.path.join(data_folder, label_file)
with open(label_path, 'r', encoding='utf-8') as f:
label = f.read()
# 写入图像和标签
txn.put(f'image-{i + 1:09d}'.encode(), image)
txn.put(f'label-{i + 1:09d}'.encode(), label.encode())
env.close()
def split_dataset(data_folder, test_ratio=0.2):
# 获取图像文件列表
image_files = [f for f in os.listdir(data_folder) if f.endswith('.png')]
random.shuffle(image_files)
# 按比例划分训练集和测试集
split_index = int(len(image_files) * (1 - test_ratio))
train_files = image_files[:split_index]
test_files = image_files[split_index:]
return train_files, test_files
# 示例数据
data_folder = './imageslabels' # 存储图像和标签文件的文件夹
# 划分数据集
train_files, test_files = split_dataset(data_folder, test_ratio=0.2)
# 创建训练集LMDB
train_lmdb_path = './train_lmdb'
create_lmdb(train_lmdb_path, train_files, data_folder)
# 创建测试集LMDB
test_lmdb_path = './test_lmdb'
create_lmdb(test_lmdb_path, test_files, data_folder)
### 原始数据
本部分将说明原始数据的来源、初步收集流程,以及是否经过归一化等预处理步骤。
### 数据集标注
本部分将说明数据集是否包含标注信息,若包含则详细描述相关标注内容。
#### 标注流程
本数据集的标注实现方式与具体流程如下。
#### 标注主体
本部分将说明标注者的相关信息,尤其当标注者与原始数据提供者并非同一主体时。
## 数据集版权声明
本部分将说明数据集的相关版权信息、授权使用场景与适用对象,以及是否开源、采用的开源协议等内容。
## 引用规范
本部分将说明数据集是否关联相关学术论文,以及若在研究论文中引用本数据集时的推荐引用格式等内容。
## 其他相关说明
本部分将说明数据集可能包含的个人信息与敏感信息,以及使用数据集时需考量的相关背景;同时涵盖数据集可能具备的社会意义、潜在偏差 (bias) 信息与局限性等内容。本数据集支持的模型为OCR,适配印刷体中文文本。
提供机构:
maas
创建时间:
2024-07-27
搜集汇总
数据集介绍

背景与挑战
背景概述
该数据集是一个专门用于OCR(光学字符识别)任务的测试数据集,主要支持单行印刷文本的识别,特别是中文印刷文本。它提供了标准的数据格式和结构,包括可分割的训练、测试和验证集,并包含数据加载方法的示例代码,适用于OCR模型训练和基准测试。
以上内容由遇见数据集搜集并总结生成



