TLDR:

我正在传播2个数据集:

  • Kannada-MNIST数据集:28x28灰度图像:60k 训练集 | 10k测试集

  • Dig-MNIST:28x28灰度图像:10240(1024x10)(见下图)

虽然这些数字符号是坎纳达(Kannada)语言,但是Kannada-MNIST数据集是为了替代MNIST数据集。

此外,我正在分发一个用同一种语言(主要是该语言的非本地用户)编写的10k个手写数字的额外数据集Dig-MNIST,可以用作额外的测试集。

资源列表:

  • GitHub?: https://github.com/vinayprabhu/Kannada_MNIS

  • Kaggle?: https://www.kaggle.com/higgstachyon/kannada-mnist

  • ArXiv? : https://arxiv.org/pdf/1908.01242.pdf

如果您在同行评审的论文中使用Kannada-MNIST,我们希望将其引用为:

Prabhu, Vinay Uday. “Kannada-MNIST: A new handwritten digits dataset for the Kannada language.” arXiv preprint arXiv:1908.01242 (2019)..

Bibtex:

@article{prabhu2019kannada,
  title={Kannada-MNIST: A new handwritten digits dataset for the Kannada language},
  author={Prabhu, Vinay Uday},
  journal={arXiv preprint arXiv:1908.01242},
  year={2019}
}

介绍:

坎纳达语是印度卡纳塔克邦的官方行政语言,全球有近6000万人。此外,根据印度宪法第344(1)和351条,坎纳达语是印度22种预定语言之一。该语言是使用官方的坎纳达语脚本编写的,该脚本是Brahmic家族的元音附标文字,其起源可追溯到Kadamba脚本(公元325-550)。

不同的符号用于表示语言中的数字0-9,这些数字与当今世界许多地方流行的现代阿拉伯数字不同。与其他一些古老的数字系统不同,这些数字在卡纳塔克邦的日常生活中被大量使用,如下图所示,这些数字在车辆牌照上的普遍使用说明了这一点:

下图捕获以下现代字体中字体变化的MNIST化效果图:Kedage, Malige-i, Malige-n, Malige-b, Kedage-n, Malige-t, Kedage-t, Kedage-i, Lohit-Kannada, Sampige 和 Hubballi-Regular.

数据集策划:

Kannada-MNIST:

在印度班加罗尔招募了65名志愿者,他们是该语言的母语使用者和日常使用者。每位志愿者填写一张有着32×40网格的A3纸。每张A3纸包含每个数字的128个实例,我们假设它足够大以捕获大多数自然志愿者的字体的变化。使用Konica Accurio-Press-C6085扫描仪以600点/英寸的分辨率扫描得到了65张4963×3509的png图像。

Dig-MNIST:

我们招募了8名年龄在20到40岁之间的志愿者,这些志愿者在32×40格的纸上写坎纳达数字,所有人都用Z-Grip系列黑色墨水或者Zebra钢笔写在商业的Mead Cambridge Quad写字板上。写字板的参数为8–1/2" x 11",四边形,白色,80页/画本。然后我们使用戴尔-S3845cdn扫描仪进行扫描,扫描仪设置如下:

  • 输出颜色:灰度

  • 原始类型:文本

  • 变淡/加深:加深+3

  • 大小:自动检测

用于书写数字的纸张尺寸缩小了(US-letter与A3)使得扫描图像(.tif)更小,均约为1600×2000。

与MNIST比较:

1:平均像素强度分布

2:形态属性

3:PCA分析

4:UMAP可视化

一些分类基准点:

我使用标准的MNIST-cnn体系结构来获得一些基本的准确度基准(参见下图)

(a) Kannada-MNIST训练集的训练以及Kannada-MNIST测试集的测试

(b) Kannada-MNIST训练集的训练以及Dig-MNIST上的测试

向机器学习社区开放挑战

我们向整个机器学习社区提出以下开放的挑战

  • 当使用Kannada-MNIST对在MNIST上预训练的CNN进行再训练时,描述遗忘的特性。我们注意到,Kannada-MNIST中3和7的字形与MNIST中2的字形非常相似。

  • 对使用字体[1]生成的纯合成数据进行训练,并进行增强,以实现Kannada-MNIST和Dig-MNIST数据集的高准确度。

  • 跨不同的语言的来复制本文中描述的过程,特别是印度里的语言。

  • 至于Dig-MNIST数据集,我们看到一些志愿者违反了网格的边界,因此一些图像要么只有部分字形或者笔划,要么从外观上可以说是它们可能属于两个不同类别中的任何一个。关于这些图像,值得看看我们是否可以设计一个分类器,将分配的softmax质量分配给候选类。

  • 我们共享原始扫描图像背后的主要原因是促进对自动分割算法的研究,该算法将解析来自网格的各个数字图像,这可能反过来导致数据集的升级版本拥有更高质量的图像。

  • 通过训练Kannada-MNIST数据集并在Dig-MNIST数据集上进行测试而无需借助图像预处理来实现MNIST级的准确度。

[1]: Prabhu, Vinay Uday, Sanghyun Han, Dian Ang Yap, Mihail Douhaniaris, Preethi Seshadri, and John Whaley. “Fonts-2-Handwriting: A Seed-Augment-Train framework for universal digit classification.” arXiv preprint arXiv:1905.08633 (2019). [ https://arxiv.org/abs/1905.08633 ]

欢迎关注磐创博客资源汇总站:

http://docs.panchuang.net/

欢迎关注PyTorch官方中文教程站:

http://pytorch.panchuang.net/

Kannada-MNIST:一个新的手写数字数据集的更多相关文章

  1. 吴裕雄 python 神经网络——TensorFlow 循环神经网络处理MNIST手写数字数据集

    #加载TF并导入数据集 import tensorflow as tf from tensorflow.contrib import rnn from tensorflow.examples.tuto ...

  2. MNIST手写数字数据集

    下载python源代码之后,使用: import input_data mnist = input_data.read_data_sets('MNIST_data/',one_hot=True) 下载 ...

  3. keras实现mnist手写数字数据集的训练

    网络:两层卷积,两层全连接,一层softmax 代码: import numpy as np from keras.utils import to_categorical from keras imp ...

  4. 吴裕雄 PYTHON 神经网络——TENSORFLOW 无监督学习处理MNIST手写数字数据集

    # 导入模块 import numpy as np import tensorflow as tf import matplotlib.pyplot as plt # 加载数据 from tensor ...

  5. Tensorflow学习练习-卷积神经网络应用于手写数字数据集训练

    # coding: utf-8 import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data mn ...

  6. TensorFlow实战之Softmax Regression识别手写数字

         关于本文说明,本人原博客地址位于http://blog.csdn.net/qq_37608890,本文来自笔者于2018年02月21日 23:10:04所撰写内容(http://blog.c ...

  7. KNN 算法-实战篇-如何识别手写数字

    公号:码农充电站pro 主页:https://codeshellme.github.io 上篇文章介绍了KNN 算法的原理,今天来介绍如何使用KNN 算法识别手写数字? 1,手写数字数据集 手写数字数 ...

  8. mnist手写数字识别——深度学习入门项目(tensorflow+keras+Sequential模型)

    前言 今天记录一下深度学习的另外一个入门项目——<mnist数据集手写数字识别>,这是一个入门必备的学习案例,主要使用了tensorflow下的keras网络结构的Sequential模型 ...

  9. 基于TensorFlow的MNIST手写数字识别-初级

    一:MNIST数据集    下载地址 MNIST是一个包含很多手写数字图片的数据集,一共4个二进制压缩文件 分别是test set images,test set labels,training se ...

随机推荐

  1. 算发帖&mdash;&mdash;俄罗斯方块覆盖问题一共有多少个解

    问题的提出:如下图,用13块俄罗斯方块覆盖8*8的正方形.   那么一共可以有多少个解呢?(若通过旋转.翻转一个解而得到的新解,则两个解视为同一个解)   首先,求解的问题,已经在上一篇帖子里完成 算 ...

  2. Visual studio2019配置OPENCV 时属性管理器中没有Microsoft.Cpp.x64.user的解决办法

    方法一:重新下载Visual studio2017,再次打开2019就会出现Microsoft.Cpp.x64.user,感觉有些麻烦,也占电脑空间,推荐方法二. 方法二:与方法一原理相同,下载201 ...

  3. STL迭代器的使用、正向、逆向输出双向链表中的所有元素

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  4. bootstrapValidator验证的remote中data属性里获取select一直是默认值

    budgetEditionNo:{ message:'版本号输入不正确' , validators:{ notEmpty:{ message:'版本号不能为空,请填写' } , remote:{ ur ...

  5. vuex和localStorage,全局变量的区别

    vuex是状态管理,是为了解决跨组件之间数据共享问题的,一个组件的数据变化会映射到使用这个数据的其他组件当中.如果刷新页面,之前存储的vuex数据全部都会被初始化掉. localStorage是H5提 ...

  6. 【设计思想】MVC模式

    MVC 模式 MVC 模式(三层架构模式) MVC模式(Model-View-Controller, MVC): 是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图( ...

  7. 搭建Java开发环境之配置环境变量

    前言 初学Java不久的二胖在搭建Java开发环境一步就遇到问题,他不由得感叹:万事开头难啊!但感叹之后它还是鼓足了劲去努力解决它,二胖在电脑上Google了一番,最终环境是搭建成功了,但他心中对&q ...

  8. 在ES批量插入数据超时时自动重试

    当我们使用ES批量插入数据的时候,一般会这样写代码: from elasticsearch import Elasticsearch,helpers es =Elasticsearch(hosts=[ ...

  9. 干货来啦。Flask框架看这一篇就够了,关注不迷路,Jeff带你看源码。开发技术时时更新

    目录 一.初识Flask 1.1 什么是flask? 1.2 为什么要有flask? 二.Flask快速启动 三.Flask四剑客 三.flask的配置文件 可以配置的属性 四.flask路由 4.1 ...

  10. kafka启动报错"A broker is already registered on the path /brokers/ids/1"解决方案

    问题 kafka挂掉后,启动报错日志如下 [2020-03-19 17:50:58,123] FATAL Fatal error during KafkaServerStartable startup ...