Giter Site home page Giter Site logo

jttuboi / tensorflow_kana_recognizer Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 24.16 MB

This is a project made in Flutter for kana recognition by drawing the user's strokes using Tensorflow to recognize the drawn kana.

License: MIT License

Kotlin 0.22% Dart 47.40% Python 52.38%
flutter dart tensorflow2 python recognition recognizer kana hiragana katakana handwritten-character-recognition

tensorflow_kana_recognizer's Introduction

Tensorflow Kana Recognizer

This is a project made in Flutter for kana recognition by drawing the user's strokes using Tensorflow to recognize the drawn kana.

Important NoteAbout the projectTechnologiesLicense

Important Note

This project was abandoned. My intention for this project was to create a kana recognition system using Tensorflow to work on another larger Flutter project, but with the low number of correct responses in kana recognition, I decided to look for another way to recognize kana, because creating this algorithm didn't was my main focus.

The problem with this algorithm is that when drawing the は, the predictions came something like ば or even ぱ, reaching a recognition probability greater than 90%. With basic knowledge about Machine Learning, management of incompatible versions of tensorflow packages and low efficiency in training (algorithm takes time to run) using a virtual machine for Ubuntu, I couldn't find the real problem because I was generating this inconsistent information, so I decided to abandon this project.

As I studied and generated some knowledge, I decided to post here in case someone wants to reuse it, even if it was not a success for me.

About the project

The project makes it possible to draw a kana on the screen and tensorflow recognizes the drawing and predicts which kana you have written.

By drawing the strokes on the screen, it is able to generate the image, which is sent to the Tflite library, which recognizes which kana was drawn.

Scripts are written in python. It is numbered for the recommended order of execution.

Scripts 1, 2 and 3 are for extracting kanas from Japanese fonts and generating png images.

Scripts 4, 5 and 6 are for compressing the images, training and generating the database by Tensorflow.

I prepared the script to generate the database for hiragana and katakana, being 2 separate files, because when together they could give many false positives like the HE of hiragana and katakana.

The project was based on the Drawzo and the Hiragana recognizer app.

The algorithm for generating the Tensorflow database was based on Hiragana recognizer cnn.

To generate the images of the kanas to train the Tensorflow database, I used the same strategy as the project Hiragata ai, which used free fonts of Japanese letters, usually of the handwriting type.

Other data to train the Tensorflow database were taken from ELT. These data have restrictions for commercial use, so enter the site for more information if you want to use their data.

Technologies

Dart Flutter

Python Tensorflow FontForge Pillow scikit-image scikit-learn

License

The license is in accordance with MIT, however, while not mandatory, I would like you to cite that the code was based on this project.

tensorflow_kana_recognizer's People

Contributors

jttuboi avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.