Tesseractなどで使用できる手書き文字データセット

# 概要

Tesseractなどで使用できる手書き文字データセットについてまとめ

# (1) MINST: 数字の手書き文字データセット

http://yann.lecun.com/exdb/mnist/

[The MNIST database（Modified National Institute of Standards and Technology database）](http://yann.lecun.com/exdb/mnist/)（以下、MNIST）は、「0」～「9」の手書き数字の画像データセットである


## (1-1) 説明

MNISTは、データがきれいに整形されているので「高い精度が出やすい」という特長がある（逆に言うと、MNISTでは精度が高すぎて、機械学習の手法間で精度を比較したい場合には使いづらいという欠点がある）。

[フォーマット定義](http://yann.lecun.com/exdb/mnist/)を参考に独自形式で読み込むことも可能だが、[scikit-learn](https://scikit-learn.org/stable/modules/generated/sklearn.datasets.fetch_openml.html#sklearn.datasets.fetch_openml)、[PyPI](https://pypi.org/project/emnist/)、[TensorFlow（tf.keras）／Keras](https://www.tensorflow.org/api_docs/python/tf/keras/datasets/mnist/load_data)、[TensorFlow](https://www.tensorflow.org/datasets/catalog/overview?hl=ja)、[PyTorch](https://pytorch.org/docs/stable/torchvision/datasets.html#mnist)でそれぞれデータセットが用意されているのでそちらを用意したほうが良い。

利用方法：https://www.atmarkit.co.jp/ait/articles/2001/22/news012.html

||１文字あたり個数|クラス数|合計|
|--|--:|--:|--:|
|画像とラベル|訓練データ：6,000<br>テストデータ：1,000|10|70,000|

> ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204150/38952907-f4fe-d78b-600f-44d2080db371.png)

引用元：https://www.atmarkit.co.jp/ait/articles/2001/22/news012.html

## (1-2) ライセンス

このデータセットは著作権はYann LeCun氏らが保有するが、基本的に自由に使用できる（※ライセンスは指定されていない。MNISTデータセットを提供するリポジトリが複数存在するが、基本的にCC（Creative Commons）の「[パブリック・ドメイン・マーク](https://creativecommons.org/publicdomain/mark/1.0/deed.ja)」もしくは「[CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/deed.ja)」ライセンスなどで提供されている）。

> データセットを引用する際に使える情報
> 作成者： Yann LeCun, Corinna Cortes and Christopher J.C. Burges.
> タイトル： THE MNIST DATABASE of handwritten digits
> 公開日： Nov, 1998
> 論文： [Y. Lecun, L. Bottou, Y. Bengio and P. Haffner, "Gradient-based learning applied to document recognition," in Proceedings of the IEEE, vol. 86, no. 11, pp. 2278-2324, Nov. 1998, doi: 10.1109/5.726791.](https://ieeexplore.ieee.org/document/726791)
> URL： http://yann.lecun.com/exdb/mnist/

引用元：https://www.atmarkit.co.jp/ait/articles/2001/22/news012.html

## (1-3) 参考
- https://www.atmarkit.co.jp/ait/articles/2001/22/news012.html

# (2) QMINST: 数字の手書き文字データセット

https://github.com/facebookresearch/qmnist

[QMNISTデータセット](https://github.com/facebookresearch/qmnist)（以下、QMNIST）は、数字「0～9」（10文字）といった手書き数字の画像データセットである

## (2-1) 説明

QMNISTは、MNISTの改良版／再構築版として作られたサブセットである。MNISTの代わりとして、主に画像認識を目的としたディープラーニング／機械学習の研究などで使われることが想定される

中身の画像データやラベルはMNISTデータセット（以下、MNIST）とほぼ同じであるが、テストデータが1万件から6万件に増やされたこと、ラベルにオリジナルのNISTに関する情報が付加されたこと、が異なる。

[フォーマット定義](http://yann.lecun.com/exdb/mnist/)を参考に独自形式で読み込むことも可能だが、[PyTorch](https://pytorch.org/docs/stable/torchvision/datasets.html#qmnist)でデータセットが用意されているのでそちらを用意したほうが良い。Tensorflowは現在準備中

利用方法：https://www.atmarkit.co.jp/ait/articles/2009/28/news024.html


||１文字あたり個数|クラス数|合計|
|--|--:|--:|--:|
|画像とラベル|訓練データ：6,000<br>テストデータ：6,000|10|120,000|

> ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204150/56487254-d8a1-3786-1c84-7435fd9f7b07.png)

引用元：https://www.atmarkit.co.jp/ait/articles/2010/14/news023.html

## (2-2) ライセンス

このデータセットは、基本的に自由に使用できる（※BSDライセンス。厳密には[公式リポジトリ](https://github.com/facebookresearch/qmnist)を参照）

> データセットを引用する際に使える情報
作成者： Chhavi Yadav and Léon Bottou
タイトル： Cold Case: The Lost MNIST Digits
カンファレンス： Advances in Neural Information Processing Systems 32 (NIPS 2019)
公開日： 2019
URL： http://arxiv.org/abs/1905.10498

引用元：https://www.atmarkit.co.jp/ait/articles/2010/14/news023.html

## (2-3) 参考
- https://www.atmarkit.co.jp/ait/articles/2010/14/news023.html

# (3) Emnist: 英字、および数字の手書き文字データセット

https://www.nist.gov/itl/products-and-services/emnist-dataset

2017年に[NISTが公開したデータセット](https://www.nist.gov/itl/products-and-services/emnist-dataset)

英数字の手書き文字データセット。元の[MNIST](https://www.atmarkit.co.jp/ait/articles/2001/22/news012.html)は手書き文字の数字となるが、英字（大文字小文字）が追加されたデータセットも存在する

## (3-1) 説明

QMNISTは、MNISTの改良版／再構築版として作られたサブセットである。10種類の手書き数字に加えて、26種類の手書きアルファベット文字（大文字／小文字）のデータセットとなっている。

[フォーマット定義](http://yann.lecun.com/exdb/mnist/)を参考に独自形式で読み込むことも可能だが、[PyPI](https://pypi.org/project/emnist/)、[TensorFlow](https://www.tensorflow.org/datasets/catalog/emnist)、[PyTorch](https://pytorch.org/docs/stable/torchvision/datasets.html#emnist)でそれぞれデータセットが用意されているのでそちらを用意したほうが良い。

また注意点として、元々のEMNISTデータセットでは画像の行列が逆になっており、そのまま画像化すると文字が横に寝た状態になることである。これを回避して人間が見やすいように表示するには行列の転置（transpose）を行う必要がある（tf.transpose()関数、NumPyのtranspose()、[reshape(, order="F"など](http://may46onez.hatenablog.com/entry/2016/01/20/121511)）

利用方法：https://www.atmarkit.co.jp/ait/articles/2009/28/news024.html

|データセット名|説明|1文字あたり個数|クラス数|合計|
|--|--|--:|--:|--:|
|Balanced Dataset|すべて均等にデータがある。小文字は大文字と被るcijklmopsuvwxyzを省いたもの|2,800|47|131,600|
|By_Merge Dataset|Balanced Datasetのデータ多くしたもの。一文字ずつのサンプル数は異なる。小文字は大文字と被るcijklmopsuvwxyzを省いたもの|文字により異なる|47|814,255|
|By_Class Dataset|小文字もすべてある。英語26字*2+数字10=62文字すべて揃うことになる|文字により異なる|62|814,255|
|Letters Dataset|大文字英語のみのデータセット。5,600サンプル/字とサンプル数も多め|5,600|26|145,600|
|MNIST Dataset|元のMNISTと互換性のある手書き数字のみ。7,000サンプル/字|7,000|10|70,000
|Digits Dataset|元のMNISTと互換性のある手書き数字のみ。サンプル数が多い。28,000サンプル/字|28,000|10|280,000|

> ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204150/4c86669f-3ceb-a56c-b07b-196149e53216.png)

引用元：https://arxiv.org/abs/1702.05373

## (3-2) ライセンス

> このデータセットは、基本的に自由に使用できる（※ライセンスは指定されていない。厳密には公式ページを確認してほしい）。公式ページによると「下記のように論文を引用してください」と記載されている。
> Cohen, G., Afshar, S., Tapson, J., & van Schaik, A. (2017). EMNIST: an extension of MNIST to handwritten letters. Retrieved from http://arxiv.org/abs/1702.05373
> 
> 引用情報を以下にまとめておく。
> 作成者： Gregory Cohen, Saeed Afshar, Jonathan Tapson, and André van Schaik
> タイトル： EMNIST: an extension of MNIST to handwritten letters
> 公開日： 2017年2月17日（初版）／2017年5月1日（第2版）
> URL： http://arxiv.org/abs/1702.05373

## (3-3) 参考

- https://www.atmarkit.co.jp/ait/articles/2009/28/news024.html
- https://arxiv.org/abs/1702.05373v1
  - データセット構造
https://kumitatepazuru.hatenablog.com/entry/2020/07/25/mnist%E3%81%AE%E9%80%B2%E5%8C%96%E7%B3%BB%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88emnist
- http://may46onez.hatenablog.com/entry/2016/01/20/121511
  - matlab形式の転置についての説明
- https://jp.mathworks.com/help/deeplearning/ug/data-sets-for-deep-learning.html
- https://qiita.com/mbotsu/items/ac17f962eb4ab9fb37fd
- https://qiita.com/aki_abekawa/items/c2b94187f2ba7dc56993

# (4) ETLCDB:日本語の手書き文字データセット

http://etlcdb.db.aist.go.jp/?lang=ja

「ETL文字データベース」は手書きまたは印刷の英数字、記号、ひらがな、カタカナ、教育漢字、ＪＩＳ第１水準漢字など、 約１２０万の文字画像データを収集した日本語の手書き文字データセット

## (4-1) 参考

日本語ということもあり情報は少ないですが、Pythonでの利用方法は以下をご参照ください。

**公式（画像、およびラベル）**

http://etlcdb.db.aist.go.jp/file-formats-and-sample-unpacking-code?lang=ja

**画像、ラベル、およびkerasでの学習例**

https://qiita.com/Cyber_Hacnosuke/items/c121cfd1945a3174bc84


|データセット名|説明|1文字あたり個数|クラス数|合計|
|--|--|--:|--:|--:|
|[ETL1](http://etlcdb.db.aist.go.jp/specification-of-etl-1?lang=ja)|自由手書|-|99<br>数字：10<br>英大文字：26<br>特殊文字：12<br>カタカナ：51|141,319|
|[ETL2](http://etlcdb.db.aist.go.jp/?page_id=1721)|印刷|-|2184<br>（漢字，ひらがな，カタカナ，英数字，記号）|52,796|
|[ETL3](http://etlcdb.db.aist.go.jp/specification-of-etl-3)|常用手書|-|48<br>数字：10<br>英大文字：26<br>特殊文字：12|9,600|
|[ETL4](http://etlcdb.db.aist.go.jp/?page_id=3223)|自由手書|-|ひらがな：51|6,120|
|[ETL5](http://etlcdb.db.aist.go.jp/specifications-of-etl-5)|常用手書|-|カタカナ：51|10,608|
|[ETL6](http://etlcdb.db.aist.go.jp/etlcdb/etln/etl6/etl6.htm)|常用手書|-|114<br>カタカナ：46<br>数字：10<br>英大文字：26<br>特殊文字：32|157,662|
|[ETL7L](http://etlcdb.db.aist.go.jp/?page_id=3383)、[ETL7S](http://etlcdb.db.aist.go.jp/?page_id=3383)|常用手書|-|48<br>ひらがな：46<br>半濁点・濁点：2|16,800|
|[ETL8G](http://etlcdb.db.aist.go.jp/?page_id=2461)、[ETL8B2](http://etlcdb.db.aist.go.jp/?page_id=2461)|手書|-|956<br>教育漢字：881<br>ひらがな：75|152,960|
|[ETL9G](http://etlcdb.db.aist.go.jp/?page_id=1711)、[ETL9B](http://etlcdb.db.aist.go.jp/?page_id=1711)|手書|-|3036<br>JIS第１水準漢字：2965<br>ひらがな：71|607,200|

> ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204150/28f05cad-ad88-2760-e98e-6c559e60dc8d.png)

引用元：http://etlcdb.db.aist.go.jp/?lang=ja

## (4-2) ライセンス

研究用途に限り、無料で使用することができる。商用使用を目的とする場合は条件について[問い合わせが必要](http://etlcdb.db.aist.go.jp/download-request?lang=ja)となる

## (4-3) 参考

- https://qiita.com/Cyber_Hacnosuke/items/c121cfd1945a3174bc84

# (5) KMINST:日本語崩し字の画像データセット

http://codh.rois.ac.jp/kmnist/index.html.en

https://github.com/rois-codh/kmnist

KMNISTは、機械学習コミュニティで最も有名なデータセットであるMNISTデータセットの代わりに、Kuzushiji Datasetから転用されたデータセット


## (5-1) 詳細

目的別に、Kuzushiji-MNIST、Kuzushiji-49、Kuzushiji-Kanjiの3種類のデータセットがある

MNISTからKMNISTに変更するだけで使用することができる。

|データセット名|説明|説明|1文字あたり個数|クラス数|合計|
|--|--|--|--:|--:|--:|
|Kuzushiji-MNIST|Kuzushiji-MNIST is a drop-in replacement for the MNIST dataset (28x28 grayscale, 70,000 images), provided in the original MNIST format as well as a NumPy format. Since MNIST restricts us to 10 classes, we chose one character to represent each of the 10 rows of Hiragana when creating Kuzushiji-MNIST.|Kuzushiji-MNISTは、MNISTデータセット(28x28グレースケール、70,000画像)を簡単に置き換えることができ、オリジナルのMNISTフォーマットとNumPyフォーマットで提供されます。MNISTでは10クラスに制限されているため、Kuzushiji-MNISTを作成する際には、ひらがなの10列をそれぞれ表す1文字を選びました。|7,000|10|70,000|
|Kuzushiji-49|As the name suggests, Kuzushiji-49 has 49 classes (28x28 grayscale, 270,912 images), is a much larger, but imbalanced dataset containing 48 Hiragana characters and one Hiragana iteration mark.|Kuzushiji-49は、その名の通り49クラス（28x28グレースケール、270,912画像）で、48のひらがな文字と1つのひらがな反復記号を含む、はるかに大規模な、しかし不均衡なデータセットです。|不均一|49|270,912|
|Kuzushiji-Kanji|Kuzushiji-Kanji is an imbalanced dataset of total 3832 Kanji characters (64x64 grayscale, 140,426 images), ranging from 1,766 examples to only a single example per class.|Kuzushiji-Kanjiは、合計3832個の漢字（64x64グレースケール、140,426画像）からなるアンバランスなデータセットで、クラスごとに1,766例から1例しかないものまであります|1-1766|3832|140,426|

> ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204150/5f5c0738-6b6c-8e69-01e7-82ada4867cc2.png)

引用元：http://codh.rois.ac.jp/kmnist/index.html.en

## (5-2) ライセンス

"KMNIST Dataset"(作成：[ROIS-DS Center for Open Data in the Humanities (CODH)](https://codh.rois.ac.jp/)）は、"Kuzushiji Dataset"(作成：[National Institute of Japanese Literature](https://www.nijl.ac.jp/pages/cijproject/) 他)から転用されたもので、[Creative Commons Attribution Share-Alike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/)の下でライセンスされている

**データセットを引用する際に使える情報**

"KMNIST Dataset" (created by CODH), adapted from "Kuzushiji Dataset" (created by NIJL and others), doi:10.20676/00000341

## (5-3) 参考

- https://github.com/rois-codh/kmnist


# (6) パブリックドメインOCR学習用データセット（令和3年度OCRテキスト化事業分）

:::note
本データセットは手書き文字ではないようだが、OCRの機能向上に使用できると思われる。
:::

NDL-Labが[令和3年度にLINE株式会社に委託して実施](https://lab.ndl.go.jp/data_set/ocr/r3_line/)したデジタル化資料のOCRテキスト化事業において、OCRモデルの性能改善のために作成した機械学習用データセットのうち、著作権保護期間の満了した資料から作成されたデータセットです。

2022年4月末現在、2,713画像分を公開している。

https://lab.ndl.go.jp/news/2022/2022-04-25/

https://lab.ndl.go.jp/data_set/ocr/r3_line/

https://github.com/ndl-lab/pdmocrdataset-part1