Skip to content

Commit

Permalink
restructured project
Browse files Browse the repository at this point in the history
  • Loading branch information
CaptainDario committed Aug 28, 2021
1 parent 3d20ec2 commit 4b1f256
Show file tree
Hide file tree
Showing 15 changed files with 32 additions and 16,080 deletions.
File renamed without changes.
41 changes: 32 additions & 9 deletions README.md
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.
Loading

0 comments on commit 4b1f256

Please sign in to comment.