-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
3d20ec2
commit 4b1f256
Showing
15 changed files
with
32 additions
and
16,080 deletions.
There are no files selected for viewing
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,43 @@ | ||
# DaKanji-ML | ||
This repository contains all machine learning models used in DaKanji. <br/> | ||
For every model there is a separate folder. | ||
# DaKanji Single Kanji CNN | ||
|
||
| folder name | description | | ||
| :--------------: | :-------------------------------------------------: | | ||
| single_kanji_cnn | CNN which can detect single hand written characters | | ||
This CNN can recognize a single character (Kanji, Hiragana, Katakana). | ||
A list of all supported characters can be found [here](./labels.txt). | ||
|
||
If you are interested in using one of the models visit their folder. | ||
Every folder has more details on the model itself. | ||
## Training | ||
|
||
To generate the data necessary to train this CNN, the [single_kanji_data_gen notebook](single_kanji_data_gen.ipynb) is used. | ||
The training can than be done with the [single_kanji_cnn_training notebook](single_kanji_cnn_training.ipynb). | ||
|
||
## Inference | ||
|
||
In the releases section pretrained model weights can be found. Also a TensorFlow lite model is available. | ||
|
||
**Input:** | ||
The input should be a *grayscale, 8-bit* image of *any scale*. | ||
|
||
**Output:** | ||
A one-hot-vector containing the class probabilities (lines up with `labels.txt`). | ||
|
||
## Setup development environment | ||
|
||
install all dependencies: | ||
``` | ||
|
||
``` python | ||
python -m pip install wheel | ||
python -m pip install -r requirements.txt | ||
``` | ||
|
||
Now you should follow model specific setup steps. | ||
For this look at the README for the model you are interested in. | ||
|
||
## Credits | ||
|
||
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) | ||
|
||
[The KanjiVG dataset](https://kanjivg.tagaini.net/) was used to generate "handwritten" kanjis | ||
Papers: | ||
|
||
* [EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks](https://arxiv.org/abs/1905.11946) | ||
* [Recognizing Handwritten Japanese Characters Using Deep Convolutional Neural Networks](http://cs231n.stanford.edu/reports/2016/pdfs/262_Report.pdf) | ||
* [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) | ||
* [Online Handwritten Kanji Recognition Based on Inter-stroke Grammar](https://www.researchgate.net/publication/4288187_Online_Handwritten_Kanji_Recognition_Based_on_Inter-stroke_Grammar) |
File renamed without changes.
Oops, something went wrong.