FarsiDigits-synthetic
收藏资源简介:
这是一个合成的波斯(Farsi)数字数据集,包含30,000个64×64像素的图像,具有随机字体、位置、旋转和像素噪声,专为挑战ML/OCR泛化能力而设计。数据集旨在为波斯/阿拉伯数字提供一个类似于MNIST的数据集,但更具挑战性,适用于分类模型的训练和波斯OCR项目的基础。
This is a synthetic Persian (Farsi) digit dataset containing 30,000 64×64 pixel images with random fonts, positions, rotations, and pixel-level noise, specifically designed to challenge the generalization capabilities of machine learning (ML) and optical character recognition (OCR) systems. The dataset aims to provide a MNIST-like dataset for Persian/Arabic digits but with greater difficulty, suitable for training classification models and serving as a foundational resource for Persian OCR projects.
FarsiDigits-synthetic 数据集概述
数据集简介
FarsiDigits-synthetic 是一个合成的波斯语(Farsi)数字图像数据集,包含超过 30,000 张 64×64 像素的图像。该数据集专为挑战机器学习(ML)和光学字符识别(OCR)模型的泛化能力而设计。
关键特征
- 数字范围:包含数字 0 至 9,但数字 8 被有意省略以集中研究焦点。
- 字体多样性:每张图像使用 13 种随机波斯语/阿拉伯语字体(如 BCompset、BTitrBd 等)中的一种,使模型适应不同风格。
- 随机位置:数字被放置在随机位置(x 坐标范围:8-16,y 坐标范围:4-12),避免模型依赖固定位置。
- 随机旋转:图像被随机旋转 -15 至 +15 度,模拟真实世界的手写倾斜。
- 像素噪声:一半的图像添加了随机像素噪声(像素值范围 80-150),另一半为纯黑色(像素值 0),以增强模型对噪声条件的鲁棒性。
与 MNIST 数据集的差异
- 图像尺寸:MNIST 为 28x28 像素,本数据集为 64x64 像素,提供更多细节和更高复杂度。
- 数字类型:MNIST 为手写英文数字,本数据集为印刷体波斯语/阿拉伯语数字,并包含字体多样性和噪声。
- 样本数量:MNIST 包含 70,000 个样本,本数据集包含 30,000 个样本,紧凑但足以训练。
- 额外挑战:本数据集通过添加旋转、噪声和随机位置,更严格地测试模型的泛化能力。
模型性能
在训练前,使用 SparseRandomProjection(eps=0.2)将维度从 4,096 降至约 2,327 以保留结构。 测试的模型及其精确度(Precision)如下:
- Logistic Regression:约 91%
- SVC:约 89%
- KNN:约 94%
- RandomForestClassifier:最佳性能,达到 96% 的精确度(未使用 bootstrap,random_state=41)。
混淆矩阵以及精确度-召回率(Precision-Recall)曲线和 ROC 曲线包含在代码中(已注释以便执行)。
安装与设置
- 克隆仓库:
git clone https://github.com/yourusername/farsi-digits-dataset.git - 安装依赖:
pip install -r requirements.txt(包括 numpy、scikit-learn、PIL 和 matplotlib) - 生成数据集:运行主代码以创建
Farsi_numeric.csv文件。




