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
More of this guy please. He's a genius
its a must
now this is excellent video
Was it just me or is the audio not synced with the video?
PmMeInsteadOfReplyI'mSwitchingChannels looks like the start is repeated in the middle, but the audio is fine
This is probably the most fluid explanation of OCR that I've gotten, thank you!
Excellent guest and video.
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!!!!!!!!!
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.
A lot of the math is wrong/slightly off.
the world needs more people like this man, able to explain so much in so little time
it's amazing when you a video featuring someone that knows what he is talking about. Really masterful
Love the detail, set of applications, and history in this video
One of the best computerphile videos ever! Hats down... thank you!
lool 0:06 i love how the word "Recognition" changes to "recognition" and then formats a little further
unbreakable footage That's some mighty fine editing. I didn't even notice that until you said.
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.
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
I appreciate all the little tid bits, and the basics of who did what, which let's us be where we are today.
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.)
I like this guy, but I want to know so much more. Bring him back!
Fantastic guest! We need more of him.
No need to apologize for detailed explanations Mr. Simske :D
Great walkthrough. OCR is hard.
I wonder what self driving cars do to recognize signs and texts?
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!
My God, what a flawless class.
This is really interesting, thank you for the video.
Best explanation so far, just perfect. Thank you!
i just love how this CS dude chops up string theory in a way physicists themselves can't swallow.
Wow, he was fast at dividing in his head there
Symbiotic Coherence .83 not .82, please.
Caught my attention, too!
The /5 part? It's the same as /10 *2 which can be done pretty fast.
3.85/5 = 0.77 and not 0.79
yep thats important
This video helped tremendously with a project I'm working on for work.
Very nice explainer on an extremely complex subject to talk about with people who don't know how it works...
Wonderful video... explains the subject very well. I could learn a lot from more videos like this!
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.
High quality interview with only one bad string theory reference.
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.
Wow! Excellent! More from this guy!
Very articulate and beautifully explained.
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.
Great guest, great explanation, great vid, thanks.
"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.
Great explanation! Best overall match score is actually .83 (not .82) but the point is clear anyhow.
Perfect , Thanks for video on OCR
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
It is an awesome video, thank you very much.
tesseract, my fav band and now my project library
Hi! This program don't recognice a numbers with background what do you recomend?
We love this video!
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
Thank you, man !
you make it great!
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?
You might want to combine both opencv and tesseract to get the text out from image/video.
He would make a great professor!
Does anyone have some good studies/theory resources to share on User Interaction with OCR or text extraction? Would be very thankful
This guy knows his stuff!!!!!!
Great episode
OCR-A is the coolest looking font, you should go into fixed width verses proportional fonts
excellent explanation sir
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
Excellent, thank you.
I got all the files and folders for tesseract opened, how to I install it from the list thanks in advance.
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
Excelent video!
Wow this guy is fantastic!
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
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
This guy sounds a lot like Will Forte. Great videos as always
Christopher Sprance Hahaha I was thinking the exact same thing!
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.
very high quality video
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?
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.
This guy speaks so eloquently, impressive.
Give this man money so he can guide humanity forward
Great tutor!
Is there a video explaining the basic algorithm behind Shazam? If not, it should be an excellent video to watch.
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
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?
This guy's the real deal.
Very educational.
Can you do a video on elliptic curve cryptography? Thanks.
Does it also recognize an object model if i use it like butterflies?
amazing video explanation :)
Btw “stop” signs in France are also red with “STOP” written on them
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?
I have coded a simple OCR engine which does right that 😊
This OCR better be easier than that A-Level Unified Physics paper last week
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.
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.
My favourite font
How far would you get if you put 3 letters through google and get the correct guess ?
just one request can we get subtitles for the videos , just to don't miss the important documentation names when they mention.
Is "classifization" even a word? However, this was really an awesome video!!
does this man experience the world at half speed? hes so fast
I've got Optical Character Detection.
That is I can tell if there's a character, but have no clue what it is.
I'm more fascinated with machine learning OCR.
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).
inspiring!
can this be done using a raspberry pie or similar
Great choice of green highway sign.
“We were somewhere around Barstow, on the edge of the desert, when the drugs began to take hold.”
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.
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.
ty
In France their stop signs says STOP
ILYES "Arrêtez-vous" doesn't quite fit so well on a hexagonal roadsign. قف does.
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".
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.
yeah the guys who wanted to translate a STOP sign was a moron or it was just a sht example.
Je confirme.
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.
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 :)
, hon hon hon
❤️❤️
Awesome information, even tho your pen scratching my brain 🧠
The secret brother of Woody Harrelson? Great video btw!
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.
but what if the image was taken from an angle?
12:28 2 plus 2 is 4 minus 1 is 3 quik mafs
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.
Awesome video! The way he speaks felt a bit like he was in a hurry, though.