|
1 |
| -# DaKanji-ML |
2 |
| -This repository contains all machine learning models used in DaKanji. <br/> |
3 |
| -For every model there is a separate folder. |
| 1 | +# DaKanji Single Kanji CNN |
4 | 2 |
|
5 |
| -| folder name | description | |
6 |
| -| :--------------: | :-------------------------------------------------: | |
7 |
| -| single_kanji_cnn | CNN which can detect single hand written characters | |
| 3 | +This CNN can recognize a single character (Kanji, Hiragana, Katakana). |
| 4 | +A list of all supported characters can be found [here](./labels.txt). |
8 | 5 |
|
9 |
| -If you are interested in using one of the models visit their folder. |
10 |
| -Every folder has more details on the model itself. |
| 6 | +## Training |
| 7 | + |
| 8 | +To generate the data necessary to train this CNN, the [single_kanji_data_gen notebook](single_kanji_data_gen.ipynb) is used. |
| 9 | +The training can than be done with the [single_kanji_cnn_training notebook](single_kanji_cnn_training.ipynb). |
| 10 | + |
| 11 | +## Inference |
| 12 | + |
| 13 | +In the releases section pretrained model weights can be found. Also a TensorFlow lite model is available. |
| 14 | + |
| 15 | +**Input:** |
| 16 | +The input should be a *grayscale, 8-bit* image of *any scale*. |
| 17 | + |
| 18 | +**Output:** |
| 19 | +A one-hot-vector containing the class probabilities (lines up with `labels.txt`). |
11 | 20 |
|
12 | 21 | ## Setup development environment
|
| 22 | + |
13 | 23 | install all dependencies:
|
14 |
| -``` |
| 24 | + |
| 25 | +``` python |
15 | 26 | python -m pip install wheel
|
16 | 27 | python -m pip install -r requirements.txt
|
17 | 28 | ```
|
| 29 | + |
18 | 30 | Now you should follow model specific setup steps.
|
19 | 31 | For this look at the README for the model you are interested in.
|
20 | 32 |
|
| 33 | +## Credits |
| 34 | + |
| 35 | +The data on which the neural network was trained on was kindly provided by [ETL Character Database](http://etlcdb.db.aist.go.jp/obtaining-etl-character-database) |
| 36 | + |
| 37 | +[The KanjiVG dataset](https://kanjivg.tagaini.net/) was used to generate "handwritten" kanjis |
| 38 | +Papers: |
| 39 | + |
| 40 | +* [EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks](https://arxiv.org/abs/1905.11946) |
| 41 | +* [Recognizing Handwritten Japanese Characters Using Deep Convolutional Neural Networks](http://cs231n.stanford.edu/reports/2016/pdfs/262_Report.pdf) |
| 42 | +* [A neural framework for online recognition of handwritten Kanji characters](https://www.researchgate.net/publication/327893142_A_neural_framework_for_online_recognition_of_handwritten_Kanji_characters) |
| 43 | +* [Online Handwritten Kanji Recognition Based on Inter-stroke Grammar](https://www.researchgate.net/publication/4288187_Online_Handwritten_Kanji_Recognition_Based_on_Inter-stroke_Grammar) |
0 commit comments