A-Z | 0-9 Handwritten Character Recognition Crop Tool Using Python | Complete Tutorial (English)

Sdílet
Vložit
  • čas přidán 16. 11. 2021
  • In this tutorial you will learn to implement a real time 'A-Z and 0-9 Handwritten Character Recognition Crop Tool' using Python and related modules such as Tensorflow, Keras, OpenCV and Numpy. This tutorial
    has covered with 3 main sections such as Data Pre-processing, CNN Architecture and Real Time Application Implementation.
    In data pre-processing we are going to merge two datasets, which consist of both A-Z handwritten characters and 0-9 handwritten digits respectively. Then the individual merged dataset is going to be fed in to our CNN and we are going to pick the best model which will be created at the end of our model training phase. Then we are going to embed our trained CNN model to real time character cropping application and go through with interesting results.
    Chapters/Sections
    =================
    00:01:52 - Data Pre-processing
    00:27:00 - CNN Architecture
    00:40:00 - Real Time Crop Tool Application
    Download the project
    ==================
    Github:
    github.com/Sinsank/A-Z-0-9-Ha...
    Google Drive: drive.google.com/drive/folder...
    References
    ==========
    Kaggle A-Z handwritten dataset: www.kaggle.com/sachinpatel21/...
    MNIST dataset: yann.lecun.com/exdb/mnist/
    Social Media
    ===========
    Facebook: / sintax.tech.blog
    Linkedin: / sineth-sankalpa-9aa4331ab
    Subscribe 'The Sineth' and hit on the bell icon.
    / @thesineth
    Thanks for watching ❤

Komentáře • 68

  • @TheSineth
    @TheSineth  Před 2 lety +4

    00:01:52 - Data Pre-processing
    00:27:00 - CNN Architecture
    00:40:00 - Real Time Crop Tool Application

  • @washiniranasinghe3856
    @washiniranasinghe3856 Před 2 lety

    speechless සිනේ!
    ශුභ අනාගතයක්! ❤️❤️

  • @hemruchamuditha1867
    @hemruchamuditha1867 Před 2 lety

    Proud of you bro ♥️♥️

  • @shyamalikannangara8665

    ජය වේවා 🔥

  • @YAKAHUB
    @YAKAHUB Před 2 lety

    niyamai sir.....

  • @lksaho8312
    @lksaho8312 Před 2 lety +2

    Thanks 😊

  • @kavishkavinojwijewardhana146

    ආඩම්බරයි සහෝුදරයා...

  • @dilshanoshada
    @dilshanoshada Před 2 lety

    Nice ❤️

  • @harshakatawala7603
    @harshakatawala7603 Před 2 lety

    💪💪ජය වේවා

  • @kavindraweerasinghe6804

    Super bro❤️

  • @cr7shorts450
    @cr7shorts450 Před 3 měsíci

    tq bro❤

  • @d1m1y42
    @d1m1y42 Před 2 lety

    ❤️🔥

  • @thiwankamanohara8854
    @thiwankamanohara8854 Před 2 lety

    ❤️

  • @shanukapramodya9986
    @shanukapramodya9986 Před 2 lety

    brh❤️

  • @ashinibotheju6916
    @ashinibotheju6916 Před 2 lety

    👍🤗

  • @karanrathi7073
    @karanrathi7073 Před 9 měsíci

    While training the model it is giving error like ValueError: Data cardinality is ambiguous: x sizes: 88490
    y sizes: 353960
    Make sure all arrays contain the same number of samples

  • @nethramandari3611
    @nethramandari3611 Před 2 lety

    😎😎🍃

  • @user-br3zr9md2h
    @user-br3zr9md2h Před rokem

    how to dowload the training and testing labels?

  • @tanishkakatiyar8568
    @tanishkakatiyar8568 Před 11 měsíci

    can you please tell the learning rate of this model

  • @79-surajyadav26
    @79-surajyadav26 Před rokem +1

    Sir, can you please explain the use of line 10 of code i.e digit_target+=26 ,,, I'm unable to figure out use of that line

    • @TheSineth
      @TheSineth  Před rokem

      Basically we are adding 26 to each and every label of digit dataset. Since we are appending a handwritten digit dataset to the handwritten character dataset, the final label of character dataset should be 25. (From A to Z there are 26 letters) From Z to onwards there should be digit labels. Digit label dataset should be started with label 26. But the original digit dataset labels are initialized from 0. That should be initialized from 26. That's why it is adding 26 to each label present in the digit dataset.
      Hope you have been cleared with the doubt.

  • @shradhanwitamukherjee8894
    @shradhanwitamukherjee8894 Před 7 měsíci

    In the application code I am getting this error in last
    NameError: name 'setup_display' is not defined
    Please help

  • @bujhas9954
    @bujhas9954 Před 2 lety

    Can you tell me what are the packages that needs to be download to run this project?

    • @TheSineth
      @TheSineth  Před 2 lety +1

      (Roughly)
      Tensorflow
      Keras
      Numpy
      Pandas
      OpenCV
      Scikit learn

  • @jean-pierreayoub1049
    @jean-pierreayoub1049 Před 2 lety

    hello, i want to ask you if you can help me when writing a character directly recognize it and not crop it

    • @TheSineth
      @TheSineth  Před 2 lety +1

      You have two options. First one is you can train your OCR model by passing images with their bounding rectangle co-ordinates. In here you have to go through all the images in the dataset and find out the x,y,w,h co-ordinate points of each and every image present. And finally you can train out your CNN pipeline according to the need.
      The second option is going through the approach of transfer learning. Using transfer learning means train a pre-trained CNN according to our need.

  • @jeelvaghani7751
    @jeelvaghani7751 Před 2 lety

    Bro I am getting error at the last part of application
    -------> cv2.setMouseCallback(window_name, mouse_click_event)
    error : OpenCV(4.1.2) /io/opencv/modules/highgui/src/window_QT.cpp:714: error: (-27:Null pointer) NULL window handler in function 'cvSetMouseCallback'
    above is the error I get
    please reply me what can I do now
    I was trying in google colab
    Plz help me as fast as possible

    • @TheSineth
      @TheSineth  Před 2 lety

      Did you google it and have a try?

  • @aaaqaaaa2720
    @aaaqaaaa2720 Před 2 lety +1

    Can use this code for word recognition ?

  • @shounakjindam1624
    @shounakjindam1624 Před 2 lety

    Bro I am getting the error of unable to allot 1.3 GB of space. Kindly look into this

    • @TheSineth
      @TheSineth  Před 2 lety

      This is because of lack of space of your current RAM to load your dataset perfectly. Try to upload your dataset into a google drive and train your CNN using Google Colab if you have no any chance to continue your training progress with another computer.

  • @gopunikhil3518
    @gopunikhil3518 Před 2 lety

    bro where is the training dataset(numpy train dataset and labels)

    • @TheSineth
      @TheSineth  Před 2 lety

      You have to downoad the dataset and locate in your project directory or any local location of your computer. Then copy out the location url and paste it inside implementation.

    • @user-br3zr9md2h
      @user-br3zr9md2h Před rokem

      Do you got it? Can I know how to download the test and train labels

  • @kavipriyaravikumar5136

    I am not able to load the A-Z CSV file in my notebook. What to do

    • @TheSineth
      @TheSineth  Před rokem

      Hi,
      If you have already downloaded the CSV, all you need to do is correctly specify the respective file path and get executed.

    • @kavipriyaravikumar5136
      @kavipriyaravikumar5136 Před rokem

      Now it shows data mismatch in some some columns even though I type .astype('float')

    • @TheSineth
      @TheSineth  Před rokem +1

      @@kavipriyaravikumar5136 Checkout this: www.rasgoml.com/feature-engineering-tutorials/how-to-handle-data-type-mismatch-in-pandas

  • @jean-pierreayoub1049
    @jean-pierreayoub1049 Před 2 lety

    can I contact you to help me build the project on my desktop ?

  • @manikandansreedharan5359

    Bro how i will contact you to help me build the project.

    • @TheSineth
      @TheSineth  Před 2 lety

      Send me a dm via whatsapp (+94 77 3283048)

  • @moccottonmo1637
    @moccottonmo1637 Před rokem

    can i use my own dataset?

    • @TheSineth
      @TheSineth  Před rokem

      Yes you can. But the CNN architecture should be customized according to the distribution of your dataset.

  • @35_khanzaid76
    @35_khanzaid76 Před 2 lety

    how do i run through ur git code directly

    • @TheSineth
      @TheSineth  Před 2 lety

      First download the repository of project materials from the github (link is in the description). Then you can execute your downloaded application successfully. Keep in mind to download and install all the required module packages/libraries before the execution.

    • @35_khanzaid76
      @35_khanzaid76 Před 2 lety

      @@TheSineth thanks mann ❤️❤️

  • @nikitasingh8818
    @nikitasingh8818 Před 2 lety +1

    Application ko close karne ke liye ham kis button ka use karenge

    • @TheSineth
      @TheSineth  Před 2 lety +1

      @@nikitasingh8818 Can you please send this message again in English ?

    • @TheSineth
      @TheSineth  Před 2 lety +1

      Escape key

    • @nikitasingh8818
      @nikitasingh8818 Před 2 lety +1

      @@TheSineth Do you have a report of this project, we have to do it for college.

    • @nikitasingh8818
      @nikitasingh8818 Před 2 lety +1

      @@TheSineth okky 😊

    • @nikitasingh8818
      @nikitasingh8818 Před 2 lety +1

      @@TheSineth thank you so much

  • @vyshnavireddy3341
    @vyshnavireddy3341 Před rokem

    Can you send the soft copy

    • @TheSineth
      @TheSineth  Před rokem

      Checkout the description to download all the project materials. BTW you can convert jupyter notebooks into pdf format.

  • @nethramandari3611
    @nethramandari3611 Před 2 lety

    👩‍💻🥺

  • @meriyemelhajoui4083
    @meriyemelhajoui4083 Před rokem

    i got this problem :
    plt.imshow(shuffled_data[i].reshape(28, 28), interpolation="nearest", cmap="gray")
    9 plt.show()
    TypeError: 'NoneType' object is not subscriptable

  • @rashiniranathunga8631
    @rashiniranathunga8631 Před 2 lety

    ❤️