Git Product home page Git Product logo

font_recognition-deepfont's Introduction

Font Recognition Using Deep Learning - DeepFont ( Adobe )

DeepFont Paper is a technique created by Adobe.Inc to detect font from images using deep learning . They published their work as a paper for the public . Inspiring their work , I converted their thesis to a working code .

alt text

Keypoints of DeepFont:
  • Its trained on AdobeVFR Dataset which contains 2383 Font Categories
  • Its Domain adapted CNN
  • Its Learning is based upon Model Compression

The work is splited into 4 steps :

  • Dataset: Since AdobeVFR Dataset datalink is huge in size and contains lot of font categories . We created custom dataset based upon required font patches using TextRecognitionDataGenerator github. The sample folder will be available in this repo.

  • Preprocessing of Dataset: Fonts are not like objects , to have to huge spatial information to classify their features . To identify very minute feature change deepfont used certain preprocessing techniques they are

    • Noise
    • Blur
    • Perpective Rotation
    • Shading (Gradient Illumination )
    • Variable Character Spacing
    • Variable Aspect Ratio
  • CNN Architecture: Unlike other image classification CNN network , they followed a new schema like two subnetworks,

    • Low Level Sub-Network : Learned from the composite set of synthetic and real-world data.
    • High Level Sub-Network : Learns a deep classifier from the low level features For more details and clarification have a read of their paper
  • Framework ( Keras ): As its prototyping , I used Keras to build the entire pipeline . Feel free to prototype in other frameworks.

                 Thanks to DeepFont Team for their amazing work
    

Copyright © 2021 Robin Reni. All rights reserved

font_recognition-deepfont's People

Contributors

robinreni96 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

font_recognition-deepfont's Issues

Library Versions

What are the versions of the libraries used? Doesn't work in current version. Thanks.

issue with training/testing partition

hey! I've been following your code, great work!

I assume you run all cells in order.

The only mistake I see is that, first, you apply the data augmentation technique, then, you split your data in train and test. This means that you may be adding an example on train set and its augmented version to the test set. This may lead to overestimated performance on your test set. You need to make sure that Train and Test sets are as independent as possible.

The easy fix is, fist split in train test, and then apply augmentation on both datasets.

Cu layers training unsupervised

As the paper said that Cu layers are train unsupervised in type CAE first, then they will be imported to the full models and freeze. Later, the Cs layers are trained. But in the notebook, I do not see that progress, may I misunderstand the paper or something that I may miss.
Thank you so much for your code

Does it work on the natural image test set?

Hi, I've tried to implement the DeepFont paper multiple times but I'm unable to reproduce the results. I was curious if you or anyone was able to get them font classifier to work on real / natural data, as opposed to the synthetic generated data. I was able to get good accuracy on the synthetic data fine.

Augmentation

Hi, thank you so much for the code. I see there are 4 types of augmentation in the code ("blur","noise","affine","gradient"). Are these two types of augmentations (Variable Character Spacing, Variable Aspect Ratio) implemented? Thanks!

Step by step guide to help users get Deep Font Recogition working.

Hello, I am not a computer science person, but I have interest in having an offline usable image to font detection app on my computer. If there was a instruction guide to show users how to setup this program, it would be very helpful.

For example, I have "Font_Rec(DeepFont).ipynb" opened inside Jupyter Notebook but I don't know what to do to get things going.
Where do I upload the unknown font image? And do I need to give the the program these libraries to get it working? My goal is to have an offline usable font detection app.
CopyQ TT2782

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.