Optical Character Recognition (OCR) - Computerphile

Поделиться
HTML-код
  • Опубликовано: 3 июл 2017
  • OCR isn't just about scanning documents and digitizing old books. Explaining how it can work in a practical setting is Professor Steve Simske (Honorary Professor at the University of Nottingham as well as Director & Chief Technologist at HP Labs' Security Printing Solutions)
    / computerphile
    / computer_phile
    This video was filmed and edited by Sean Riley.
    Computer Science at the University of Nottingham: bit.ly/nottscomputer
    Computerphile is a sister project to Brady Haran's Numberphile. More at www.bradyharan.com

Комментарии • 219

  • @JeaneAdix
    @JeaneAdix 7 лет назад +96

    More of this guy please. He's a genius

  • @srdjadzogaz286
    @srdjadzogaz286 7 лет назад +378

    now this is excellent video

    • @CumputersRULE
      @CumputersRULE 7 лет назад +1

      Was it just me or is the audio not synced with the video?

    • @chewyfruitloop
      @chewyfruitloop 7 лет назад +2

      PmMeInsteadOfReplyI'mSwitchingChannels looks like the start is repeated in the middle, but the audio is fine

  • @micmacha
    @micmacha Год назад +11

    This is probably the most fluid explanation of OCR that I've gotten, thank you!

  • @snowballeffect7812
    @snowballeffect7812 7 лет назад +80

    Excellent guest and video.

  • @retop56
    @retop56 7 лет назад +63

    This guy is a beast with mental math. Also I just tried this with the Google Translate app and it's incredible. It just translates text almost instantaneously. So cool!!!!!!!!!

    • @marcofuhrer3872
      @marcofuhrer3872 5 лет назад +3

      Well it looked fast paced, and the 3.85 is correct, but divided by 5 is not .79 . Otherwise very nice video with dense information.

    • @SuperYtc1
      @SuperYtc1 3 года назад +1

      A lot of the math is wrong/slightly off.

  • @AfonsodelCB
    @AfonsodelCB 7 лет назад +6

    the world needs more people like this man, able to explain so much in so little time

  • @karranz
    @karranz 6 лет назад +1

    it's amazing when you a video featuring someone that knows what he is talking about. Really masterful

  • @braggyaggie9750
    @braggyaggie9750 6 лет назад

    Love the detail, set of applications, and history in this video

  • @Flankymanga
    @Flankymanga 7 лет назад +2

    One of the best computerphile videos ever! Hats down... thank you!

  • @unbreakablefootage
    @unbreakablefootage 7 лет назад +66

    lool 0:06 i love how the word "Recognition" changes to "recognition" and then formats a little further

    • @RobertT1999
      @RobertT1999 7 лет назад +10

      unbreakable footage That's some mighty fine editing. I didn't even notice that until you said.

  • @RobertT1999
    @RobertT1999 7 лет назад

    I've always looked at OCR as a way to be able to recreate a text document that is printed out when a virtual copy doesn't exist rather than it being a form of compression. That's a very good way of looking at it.

  • @ThatManMelvin
    @ThatManMelvin 7 лет назад +4

    the further i get into my Computer Science study, the more of the content these videos i already understand and have implemented once or twice. shows me i actually learned some stuff in uni haha

  • @BlackHoleForge
    @BlackHoleForge 7 лет назад

    I appreciate all the little tid bits, and the basics of who did what, which let's us be where we are today.

  • @Rising_Pho3nix_23
    @Rising_Pho3nix_23 6 лет назад +1

    Break the image chunk into a 3x3 grid using pixel color and edge detection.
    Let's say I feed it an R. Using Row then Column and a grayscale to determine stroke density, I get a signature of {1,1,0.5}, {1,1,0.5}, {0.25,0,0.25}
    Row 1:
    Column1:
    1 = "BDEFMNPRSW"
    0.5 = "..."
    So once you go through the 4 possible grayscales of all 9 segments of the character (36 calculations), you can compute what the character is by asking "What characters fit into 90% of these arrays" This will accommodate handwriting and computer fonts. If more than 1 letter fits, use the zipf algorithm to determine the likelihood of a letter. (Zipf is the theory that the most common letter or word occurs twice as much as the 2nd most common. The 2nd most common occurs 3x as much as the 3rd most common and so on. This is universal across all languages, contexts and extends well beyond the scope of this application.)

  • @JustinWarkentin
    @JustinWarkentin 7 лет назад +11

    I like this guy, but I want to know so much more. Bring him back!

  • @AngryArmadillo
    @AngryArmadillo 7 лет назад

    Fantastic guest! We need more of him.

  • @sneaky_tiki
    @sneaky_tiki 7 лет назад +2

    No need to apologize for detailed explanations Mr. Simske :D

  • @simonstrandgaard5503
    @simonstrandgaard5503 6 лет назад +10

    Great walkthrough. OCR is hard.
    I wonder what self driving cars do to recognize signs and texts?

  • @_taylor_v
    @_taylor_v 7 лет назад +2

    This is a great video; he hit the perfect level of abstraction for this type of video. Going to check out the tesseract github repo, thanks!

  • @djaksonclebergoncalvesfilh9513
    @djaksonclebergoncalvesfilh9513 3 года назад

    My God, what a flawless class.

  • @steveregan7149
    @steveregan7149 7 лет назад +18

    This is really interesting, thank you for the video.

  • @user-fy5go3rh8p
    @user-fy5go3rh8p 3 года назад

    Best explanation so far, just perfect. Thank you!

  • @anywallsocket
    @anywallsocket 7 лет назад +6

    i just love how this CS dude chops up string theory in a way physicists themselves can't swallow.

  • @symbioticcoherence8435
    @symbioticcoherence8435 7 лет назад +157

    Wow, he was fast at dividing in his head there

    • @camillolukesch6217
      @camillolukesch6217 7 лет назад +9

      Symbiotic Coherence .83 not .82, please.

    • @MilanNedic94
      @MilanNedic94 7 лет назад +1

      Caught my attention, too!

    • @patrickssj6
      @patrickssj6 7 лет назад +8

      The /5 part? It's the same as /10 *2 which can be done pretty fast.

    • @oOBL4CKH4WKOo
      @oOBL4CKH4WKOo 7 лет назад +13

      3.85/5 = 0.77 and not 0.79

    • @xbronn
      @xbronn 7 лет назад +1

      yep thats important

  • @Nemorosum
    @Nemorosum 5 лет назад

    This video helped tremendously with a project I'm working on for work.

  • @XSpImmaLion
    @XSpImmaLion 7 лет назад

    Very nice explainer on an extremely complex subject to talk about with people who don't know how it works...

  • @1cheryl
    @1cheryl 6 лет назад

    Wonderful video... explains the subject very well. I could learn a lot from more videos like this!

  • @Htarlov
    @Htarlov 7 лет назад

    Great video.
    There are few more problems that good ocr engines solve:
    - what if characters are broken with gaps? how to connect those?
    - what if some characters are merged together like in hand writing?
    - problem of connecting words into lines of text, especially when it is not a scan with straight lines and there are maybe some gaps?
    - how to correct for perspective and rotation?
    Those problems add to the complexity of already uneasy task.

  • @marcmarc172
    @marcmarc172 7 лет назад +8

    High quality interview with only one bad string theory reference.

  • @DFPercush
    @DFPercush 7 лет назад +2

    I know there's only a certain level of detail you can get into in a 15 minute video, but I'm curious about the part where you come up with the numbers that say how well the characters match. That seems like the key to the whole thing.

  • @henrikwannheden7114
    @henrikwannheden7114 7 лет назад +1

    Wow! Excellent! More from this guy!

  • @Utkarshkharb
    @Utkarshkharb 3 года назад

    Very articulate and beautifully explained.

  • @felipeperilla
    @felipeperilla 5 лет назад +1

    Great video, guys. Thanks!
    I'd like to make a couple of questions. Is Abbyy the best option available to deal with OCR in Spanish? What about OCR for handwritten texts? Is there something already available? Should I better use Python and tesseract? I would very much appreciate your help.

  • @Stubrok
    @Stubrok 7 лет назад

    Great guest, great explanation, great vid, thanks.

  • @askmiller
    @askmiller 7 лет назад +1

    "I can see that very quickly that this is above .8 In fact it's .82"
    that was the most fascinating part of this whole video for me. This is edited right? There's no way he just found an average like that in under 5 seconds.

  • @louishuynh951
    @louishuynh951 4 года назад +1

    Great explanation! Best overall match score is actually .83 (not .82) but the point is clear anyhow.

  • @PrajwalSingh15
    @PrajwalSingh15 7 лет назад

    Perfect , Thanks for video on OCR

  • @ahmedal-attar2393
    @ahmedal-attar2393 5 лет назад

    tried to learn more about ocr this video got it all and short. the problem of tesseract since 3 years poor of resources... still my project stopped of that.. please advice on ocr-training

  • @mohamadhallak8644
    @mohamadhallak8644 3 года назад

    It is an awesome video, thank you very much.

  • @Integralsouls
    @Integralsouls 3 года назад

    tesseract, my fav band and now my project library

  • @MARQUITOSGUALACBA
    @MARQUITOSGUALACBA 5 лет назад

    Hi! This program don't recognice a numbers with background what do you recomend?

  • @RossumAI
    @RossumAI 2 месяца назад

    We love this video!

  • @gamesandstuffs
    @gamesandstuffs 10 месяцев назад

    Would OCR be suitable to put highlight a document requiring redaction due to confidentiality - ie. types of keywords being disclosed by human error?
    Cool stuffffff

  • @Shivampandey-cb2oq
    @Shivampandey-cb2oq 5 лет назад

    Thank you, man !
    you make it great!

  • @indiansoftwareengineer4899
    @indiansoftwareengineer4899 5 лет назад +1

    is there any library for handwriting character recognition(HCR) in python, which can give output of text from images provided or it can give output in real-time in video?

    • @t_kon
      @t_kon 5 лет назад

      You might want to combine both opencv and tesseract to get the text out from image/video.

  • @xilluminati
    @xilluminati 3 года назад

    He would make a great professor!

  • @Dunderkossanlol
    @Dunderkossanlol 4 года назад

    Does anyone have some good studies/theory resources to share on User Interaction with OCR or text extraction? Would be very thankful

  • @GregoryMcCarthy123
    @GregoryMcCarthy123 7 лет назад

    This guy knows his stuff!!!!!!

  • @igt3928
    @igt3928 7 лет назад

    Great episode

  • @Nexfero
    @Nexfero 7 лет назад

    OCR-A is the coolest looking font, you should go into fixed width verses proportional fonts

  • @parasjuneja7709
    @parasjuneja7709 5 лет назад

    excellent explanation sir

  • @ms.chin0556
    @ms.chin0556 5 лет назад

    hi sir, wer using ocr too to create coin value recognition using ocr, can you help us please wer using matlab but we don't know yet what to do

  • @hamidtavakolian7121
    @hamidtavakolian7121 3 года назад

    Excellent, thank you.

  • @RichardReikowsky9005
    @RichardReikowsky9005 3 месяца назад

    I got all the files and folders for tesseract opened, how to I install it from the list thanks in advance.

  • @HoD999x
    @HoD999x 7 лет назад +3

    i've been wondering how our brains can do it. contrary to what is explained here, i can read text even when its rotated or entirely upside down

  • @xanokothe
    @xanokothe 7 лет назад

    Excelent video!

  • @mariosactron7617
    @mariosactron7617 7 лет назад

    Wow this guy is fantastic!

  • @The141192
    @The141192 4 года назад

    Nice Explanation.
    I just have one question: Can the OCR extract data from different documents? Consider the case of Suppliers sending Delivery notes to the OEM plant, Each Supplier has different format, can OCR help to extract data from those delivery notes. Ofcourse the data to be extracted is always the same - for eg. - Order ID, Qty., Material etc.
    Thank You

    • @navneetkrc
      @navneetkrc 3 года назад

      Check solution by Nononets.
      That might be of some help.
      Anyways I feel that you need to provide a decent amount of training data.
      How to get training data, just have your important data from a data source and print/ pdf in different formats and here you have unlimited training data for each data type

  • @ChristopherSprance
    @ChristopherSprance 7 лет назад +2

    This guy sounds a lot like Will Forte. Great videos as always

    • @larskendall7101
      @larskendall7101 7 лет назад

      Christopher Sprance Hahaha I was thinking the exact same thing!

  • @sergheiadrian
    @sergheiadrian 7 лет назад

    I can certainly appreciate the complexity of the OCR, the font matching and all that, but 99.9% of the time, what I want from my OCR software is the raw text which I will then export into a word processor and sort it out myself.

  • @Coodude26
    @Coodude26 4 года назад

    very high quality video

  • @Cruzz999
    @Cruzz999 7 лет назад

    Would it be possible / worth the effort to have the OCR program look for common shapes that contain the text? Rectangles, for example, and use this in relation to the letters, as a method to fix letters that are otherwise skewed and difficult to read?

    • @mgord9518
      @mgord9518 Год назад

      Yes, but there's no guarantee that what appears to be a rectangle is actually one. If a document is photographed head-on and contains a trapezoid or diamond, the software might interpret them as rectangles, and unskewing the "rectangle" will skew the text, causing a negative effect.

  • @Dimiranger
    @Dimiranger 6 лет назад

    This guy speaks so eloquently, impressive.

  • @pwarelis
    @pwarelis 7 лет назад

    Give this man money so he can guide humanity forward

  • @Lostpanda123
    @Lostpanda123 7 лет назад

    Great tutor!

  • @Linkmat97
    @Linkmat97 7 лет назад +8

    Is there a video explaining the basic algorithm behind Shazam? If not, it should be an excellent video to watch.

    • @mystwalker479
      @mystwalker479 4 года назад

      Shazam just basically try to compare the recorded song and their music libraries. It checks if the recorded song has an accurate frequencies for atleast 5 seconds, and from there the program makes a final decision

  • @mystwalker479
    @mystwalker479 4 года назад

    But in a programmer's perspective, you'd have to read all the pixels from top to bottom. Single letters are easy to detect but what if it was a sentence? With one vertical scanned line of pixel you'd get different dots of different letters. How do we know the X and Ys each character has in order to get scanned individually?

  • @davidgoffredo1738
    @davidgoffredo1738 6 лет назад

    This guy's the real deal.

  • @scottwatschke4192
    @scottwatschke4192 7 лет назад

    Very educational.

  • @dangee1705
    @dangee1705 7 лет назад

    Can you do a video on elliptic curve cryptography? Thanks.

  • @mrsoapcarver
    @mrsoapcarver 5 лет назад

    Does it also recognize an object model if i use it like butterflies?

  • @tiagoandrade7945
    @tiagoandrade7945 Год назад

    amazing video explanation :)

  • @animenosekai_edit
    @animenosekai_edit 2 года назад +1

    Btw “stop” signs in France are also red with “STOP” written on them

  • @djdexcat
    @djdexcat 7 лет назад

    I spent all of last night setting up a PC game that was released exclusively in China. I took tons of pictures of option menus and the like with the Google Translate app to set it all up to my liking. And as soon as I needed a break from that, what do I see in my subscription box? This. What are the odds?

  • @y2ksw1
    @y2ksw1 7 лет назад

    I have coded a simple OCR engine which does right that 😊

  • @allie-ontheweb
    @allie-ontheweb 7 лет назад +1

    This OCR better be easier than that A-Level Unified Physics paper last week

  • @Tahgtahv
    @Tahgtahv 7 лет назад +1

    I'm suprised he didn't even mention image skew or rotation in the process. That's probably an important step in the process, but I'm not exactly sure if you'd do it before a (local) binarization, or during the pattern matching stage.

    • @allmycircuits8850
      @allmycircuits8850 7 лет назад

      In ScanTailor (one of programs for processing scans before putting them to OCR or converting to PDF/DJVU) there is first skew correction, then determining of working area and in the final step: otsu binarization. But actually for automatic skew correction image gets downsampled (say, from 300..600 dpi to 100 dpi) and binarized, because these algorithms usually use B/W as well, some pretty simple ideas, like finding lines which are all white (so they are between lines of text) which then turn to very dark overall (top and bottom of letters) etc.

  • @lemonfur1074
    @lemonfur1074 4 года назад

    My favourite font

  • @procactus9109
    @procactus9109 7 лет назад

    How far would you get if you put 3 letters through google and get the correct guess ?

  • @pranayreddy2728
    @pranayreddy2728 3 года назад

    just one request can we get subtitles for the videos , just to don't miss the important documentation names when they mention.

  • @SouravTechLabs
    @SouravTechLabs 7 лет назад

    Is "classifization" even a word? However, this was really an awesome video!!

  • @mennonis
    @mennonis 7 лет назад +27

    does this man experience the world at half speed? hes so fast

  • @MrNateSPF
    @MrNateSPF 7 лет назад +1

    I've got Optical Character Detection.
    That is I can tell if there's a character, but have no clue what it is.

  • @Holobrine
    @Holobrine 7 лет назад +3

    I'm more fascinated with machine learning OCR.

    • @DeathBean89
      @DeathBean89 7 лет назад

      What he demonstrated in the video is basically how it's done in "ML" OCR. Pre-process the data (thresholding), classification of the objects to their respective letters (through one of the machine learning algorithms that he mentioned -- SVM, deep learning, HMM, etc.), and then determine the word and the font once you have the letters (which may be done using population stats, as described in the video, or through some other ML algorithm if you want to get fancy).

  • @educationaltechnology8363
    @educationaltechnology8363 2 года назад

    inspiring!
    can this be done using a raspberry pie or similar

  • @kevindeland9079
    @kevindeland9079 4 года назад

    Great choice of green highway sign.
    “We were somewhere around Barstow, on the edge of the desert, when the drugs began to take hold.”

  • @MaGFarqui
    @MaGFarqui 6 лет назад

    Sometimes I dream I'm looking at something and I know there are letters in there and words but I just can't read them... and it's just so frustrating. I wish I had ocr built into my mind in those cases.

  • @peto348
    @peto348 7 лет назад

    I have never seen OCR that just works. I have tried tesseract-ocr on screenshots (with no rotation and distortion), and still too many words contain errors. Yes, Google translate is nice, but it can afford to guess what word you are looking at even if there are few wrongly recognized characters. Replace some letters with similar and it still shows translation. Or point it on random icons or noise on your screen. Clearly there is no text, but it still shows random guesses. So yes, google translate tries to match ocr results to words - which I consider cheating. If you want from OCR software to find mistakes and show what is really written, it won't know if it is mistake in text or wrong character recognition. Y0u Can cleariy see these nistakes and you can be sure that it's not problem of your in-head OCR.

  • @i.n.2899
    @i.n.2899 7 лет назад

    ty

  • @ELYESSS
    @ELYESSS 7 лет назад +35

    In France their stop signs says STOP

    • @plemli
      @plemli 7 лет назад +4

      ILYES "Arrêtez-vous" doesn't quite fit so well on a hexagonal roadsign. قف does.

    • @EebstertheGreat
      @EebstertheGreat 7 лет назад +6

      Apparently "stopper" is attested in French since 1792, obviously from the English "stop." But in Quebec, signs may read either "STOP" or "ARRÊT" (and in other parts of Canada, sometimes both are used on the same sign). Presumably the noun form is used because it is shorter than the verb "ARRÊTEZ".

    • @Ultrajuiced
      @Ultrajuiced 7 лет назад

      FYI there are also yield signs in Australia with YIELD written on them, while e.g. in most european countries these signs are just blank.

    • @roidestrolls4934
      @roidestrolls4934 6 лет назад

      yeah the guys who wanted to translate a STOP sign was a moron or it was just a sht example.

    • @ezzywizzy1049
      @ezzywizzy1049 4 года назад

      Je confirme.

  • @AxelWerner
    @AxelWerner 7 лет назад +9

    Well.. that is like "state of the art" OCR today. but what about back then in the early days of OCR, like en.wikipedia.org/wiki/Westminster_(typeface) when there where just one or two "fonts" , no cpu power at all , no machine learning and nothing but still had the needs to automate "reading" ?? how they did this "simple OCR" back then technically ? please go more into the history, the low level, the beginnings.

    • @marioprawirosudiro7301
      @marioprawirosudiro7301 6 лет назад +1

      I went to your Wikipedia page and found a link to this:
      en.wikipedia.org/wiki/Magnetic_ink_character_recognition
      Hopefully it sates your curiosity :)

  • @NikiDaDude
    @NikiDaDude 7 лет назад +1

    , hon hon hon

  • @mirnamohamed1080
    @mirnamohamed1080 4 года назад

    ❤️❤️

  • @syedkeyol
    @syedkeyol 5 лет назад +1

    Awesome information, even tho your pen scratching my brain 🧠

  • @geurra6559
    @geurra6559 7 лет назад +1

    The secret brother of Woody Harrelson? Great video btw!

  • @josedihego
    @josedihego 3 года назад

    Do you know Read4Me? It is for Android and iOs that is pretty decent and works entirely offline, no data plan or wifi needed. It saves time by allowing you use the extracted text in so many ways.

  • @Simon-nx1sc
    @Simon-nx1sc 6 лет назад

    but what if the image was taken from an angle?

  • @alexanderthestigpagel
    @alexanderthestigpagel 5 лет назад

    12:28 2 plus 2 is 4 minus 1 is 3 quik mafs

  • @AmlanjyotiSaikia
    @AmlanjyotiSaikia 7 лет назад

    We had to implement Otsu's method in MATLAB as part of our Introduction to Digital Image Processing course. It's a pretty nifty little algorithm.

  • @karlkastor
    @karlkastor 7 лет назад

    Awesome video! The way he speaks felt a bit like he was in a hurry, though.