consensus-labelling
收藏资源简介:
Telugu行图像三引擎OCR共识数据集。该数据集包含约244万张单行裁剪图像,来源于扫描的Telugu(泰卢固语)印刷书籍。每张图像由三个独立的OCR引擎(自定义Telugu CTC识别器、Tesseract、PaddleOCR)进行识别,并记录引擎间的一致性程度。数据字段包括:图像本身、每个引擎的预测文本、引擎间一致性等级(1-4,1表示三个引擎完全一致)、共识文本(当至少两个引擎一致时给出)、是否包含拉丁字母及其比例、以及每对引擎之间的差异度。该数据集旨在通过弱监督方式生成大量训练数据,无需人工标注。但需注意:这些标签未经人工验证,三个引擎的一致并不保证正确,因此不能用作基准评价,而应作为训练数据和筛选工具。用户可根据一致性等级灵活筛选数据(如只使用三个引擎完全一致的样本或至少两个引擎一致的样本)。数据集包含约244万个样本,均为灰度图像,高度64像素,宽度为8的倍数。
Telugu line image three-engine OCR consensus dataset. This dataset contains approximately 2.44 million single-line cropped images from scanned Telugu printed books. Each image is recognized by three independent OCR engines (custom Telugu CTC recognizer, Tesseract, PaddleOCR), and the degree of consistency among the engines is recorded. Data fields include: the image itself, each engines prediction text, inter-engine consistency level (1-4, where 1 indicates all three engines agree), consensus text (given when at least two engines agree), whether Latin characters are present and their proportion, and the divergence between each pair of engines. The dataset is intended to generate large amounts of training data through weak supervision without manual annotation. However, note that these labels are not manually verified; agreement among the three engines does not guarantee correctness, so it should not be used as a benchmark evaluation but as training data and a filtering tool. Users can flexibly filter data based on consistency levels (e.g., use only samples where all three engines agree or at least two engines agree). The dataset contains approximately 2.44 million samples, all grayscale images, with a height of 64 pixels and a width that is a multiple of 8.
数据集概述
数据集名称:Telugu line images with three-engine OCR consensus(泰卢固语行图像与三引擎OCR共识标注)
数据集地址:https://huggingface.co/datasets/harsha-desaraju/consensus-labelling
数据集规模:包含约 244万条 单行裁剪图像,来源于扫描的泰卢固语书籍,训练集大小约9.99 GB(下载大小约9.23 GB)。
任务类型:图像到文本(image-to-text)
语言:泰卢固语(te)为主,部分行含有拉丁字母(英语)。
标签:OCR、telugu、pseudo-labelling、weak-supervision
许可协议:other(其他)
核心内容
目的:泰卢固语几乎没有标注的OCR数据,本数据集通过三个OCR引擎(自研Telugu CTC模型、Tesseract、PaddleOCR)对大量扫描书籍行图像进行独立识别,利用引擎间的一致性生成弱监督训练标签,并提供人类审阅的优先级排序。
数据构成:每行图像为灰度图,高度64像素,宽度为8的倍数。每一行包含以下主要字段:
line_image:行裁剪图像file_name、page_number、image_width:来源信息(书籍PDF、页码、像素宽度)pred_model:自研Telugu CTC识别结果pred_tesseract:Tesseract识别结果pred_paddle:PaddleOCR识别结果tier(1–4,0为不可用行)与tier_reason:三引擎一致程度及一致情况说明consensus_text:三引擎达成一致的文本(全不一致时为空)has_english、english_frac:pred_model是否含拉丁字母及其比例disagree_model_tesseract、disagree_model_paddle、disagree_tesseract_paddle:每对引擎输出间的差异度(0–1)
分层(Tier)定义
| 层 | 含义 |
|---|---|
| 1 | 三引擎识别结果全部一致(最强信号) |
| 2 | Tesseract与PaddleOCR一致,自研模型不同 |
| 3 | 自研模型与PaddleOCR一致,Tesseract不同 |
| 4 | 自研模型与Tesseract一致,或三引擎全部不同 |
| 0 | 某引擎出错或所有识别为空(数量极少) |
注意:两个引擎对不可读行输出空结果 不计为一致,避免产生大量空字符串标注的tier 1。一致性比较经过了轻度归一化(标点折叠、空白压缩、去除不可见连接字符),因为泰卢固语存在码点不同但显示相同的序列,原始字符串相等会低估实际一致性。
早期抽样统计:在5万行样本中,约3%的行三引擎完全一致,约15%的行至少两个引擎一致。建议在实际使用中对全量数据重新计算。
使用建议
过滤示例(使用HuggingFace datasets库):
python ds = load_dataset("harsha-desaraju/consensus-labelling", split="train")
最严格:三引擎一致
gold = ds.filter(lambda r: r["tier"] == 1)
至少两引擎一致
usable = ds.filter(lambda r: r["consensus_text"] != "")
仅泰卢固语,不含英语
telugu = ds.filter(lambda r: not r["has_english"])
审阅队列:自研模型与PaddleOCR差异最大的前5000行
review = ds.sort("disagree_model_paddle", reverse=True).select(range(5000))
重要提示:
- 本数据集 不是人工验证的标签。三引擎一致仅表示“佐证”,不表示“正确”,识别器可能犯同样的错误,共识会将这些错误提升至tier 1。
disagree_*列 不是错误率,只反映引擎间的差异,并不代表与真实文本的距离。- 本数据集适合作为训练数据或分诊工具, 不适合作为基准测试集。评估模型性能请使用人工校验的数据集 telugu-line-ocr-bench。
局限性
- tier 1存在易偏差:三引擎一致的行通常更干净、更短、印刷更规范,仅用tier 1训练会使模型低估真实语料的难度。
has_english反映自研模型的判断(因其由pred_model派生)。- 领域单一:仅包含来自单一收藏的印刷泰卢固语书籍扫描,无手写、路牌或数字原生文本。
consensus_text已归一化,无法还原页面的精确标点。
数据来源
图像来源:telugu-book-line-images(从扫描的泰卢固语书籍PDF中分割出的行裁剪图像)。
构建工具:来自TeluguOCR仓库中的 pipelines/label/consensus_labelling.py。PaddleOCR仅运行识别模式,因为输入已是行级图像,若让其重新检测边界框在64px高的条带中会返回乱序的碎片。
引用信息
bibtex @misc{telugu_consensus_labelling, title = {Telugu line images with three-engine OCR consensus}, author = {Desaraju, Harsha}, year = {2026}, url = {https://huggingface.co/datasets/harsha-desaraju/consensus-labelling} }





