This is probably the most fluid explanation of OCR that I've gotten, thank you!
@AfonsodelCB7 жыл бұрын
the world needs more people like this man, able to explain so much in so little time
@retop567 жыл бұрын
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!!!!!!!!!
@marcofuhrer38726 жыл бұрын
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.
@SuperYtc13 жыл бұрын
A lot of the math is wrong/slightly off.
@srdjadzogaz2867 жыл бұрын
now this is excellent video
@ComputersRULE7 жыл бұрын
Was it just me or is the audio not synced with the video?
@chewyfruitloop7 жыл бұрын
PmMeInsteadOfReplyI'mSwitchingChannels looks like the start is repeated in the middle, but the audio is fine
@snowballeffect78127 жыл бұрын
Excellent guest and video.
@karranz7 жыл бұрын
it's amazing when you a video featuring someone that knows what he is talking about. Really masterful
@ASHWIN75756 ай бұрын
Detailed explanation and couldn't expected anymore. I would like Professor Steve Simske to explain OCR again now. given the improvements in the field of Deep Learning
@ThatManMelvin7 жыл бұрын
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
@BlackHoleForge7 жыл бұрын
I appreciate all the little tid bits, and the basics of who did what, which let's us be where we are today.
@RobertT19997 жыл бұрын
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.
@unbreakablefootage7 жыл бұрын
lool 0:06 i love how the word "Recognition" changes to "recognition" and then formats a little further
@RobertT19997 жыл бұрын
unbreakable footage That's some mighty fine editing. I didn't even notice that until you said.
@Flankymanga7 жыл бұрын
One of the best computerphile videos ever! Hats down... thank you!
@simonstrandgaard55037 жыл бұрын
Great walkthrough. OCR is hard. I wonder what self driving cars do to recognize signs and texts?
@anywallsocket7 жыл бұрын
i just love how this CS dude chops up string theory in a way physicists themselves can't swallow.
@marcmarc1727 жыл бұрын
High quality interview with only one bad string theory reference.
@djaksonclebergoncalvesfilh95133 жыл бұрын
My God, what a flawless class.
@DFPercush7 жыл бұрын
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.
@JustinWarkentin7 жыл бұрын
I like this guy, but I want to know so much more. Bring him back!
@sneaky_tiki7 жыл бұрын
No need to apologize for detailed explanations Mr. Simske :D
@askmiller7 жыл бұрын
"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.
@Rising_Pho3nix_237 жыл бұрын
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.)
@Htarlov7 жыл бұрын
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.
@symbioticcoherence84357 жыл бұрын
Wow, he was fast at dividing in his head there
@camillolukesch62177 жыл бұрын
Symbiotic Coherence .83 not .82, please.
@MilanNedic947 жыл бұрын
Caught my attention, too!
@oOBL4CKH4WKOo7 жыл бұрын
3.85/5 = 0.77 and not 0.79
@xbronn7 жыл бұрын
yep thats important
@code-dredd7 жыл бұрын
BL4CKH4WK Close enough approximation for mental math, I'd say.
@steveregan71497 жыл бұрын
This is really interesting, thank you for the video.
@_taylor_v7 жыл бұрын
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!
@XSpImmaLion7 жыл бұрын
Very nice explainer on an extremely complex subject to talk about with people who don't know how it works...
@braggyaggie97507 жыл бұрын
Love the detail, set of applications, and history in this video
@pwarelis7 жыл бұрын
Give this man money so he can guide humanity forward
@felipeperilla6 жыл бұрын
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.
@AngryArmadillo7 жыл бұрын
Fantastic guest! We need more of him.
@gamesandstuffs Жыл бұрын
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
@Tahgtahv7 жыл бұрын
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.
@allmycircuits88507 жыл бұрын
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.
@Linkmat977 жыл бұрын
Is there a video explaining the basic algorithm behind Shazam? If not, it should be an excellent video to watch.
@mystwalker4795 жыл бұрын
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
@user-fy5go3rh8p4 жыл бұрын
Best explanation so far, just perfect. Thank you!
@HoD999x7 жыл бұрын
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
@Nemorosum6 жыл бұрын
This video helped tremendously with a project I'm working on for work.
@The1411924 жыл бұрын
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
@navneetkrc4 жыл бұрын
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
@mennonis7 жыл бұрын
does this man experience the world at half speed? hes so fast
@mystwalker4795 жыл бұрын
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?
@animenosekai_edit3 жыл бұрын
Btw “stop” signs in France are also red with “STOP” written on them
@louishuynh9515 жыл бұрын
Great explanation! Best overall match score is actually .83 (not .82) but the point is clear anyhow.
@ahmedal-attar23936 жыл бұрын
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
@indiansoftwareengineer48996 жыл бұрын
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_kon5 жыл бұрын
You might want to combine both opencv and tesseract to get the text out from image/video.
@RichardReikowsky90059 ай бұрын
I got all the files and folders for tesseract opened, how to I install it from the list thanks in advance.
@mrsoapcarver5 жыл бұрын
Does it also recognize an object model if i use it like butterflies?
@Nexfero7 жыл бұрын
OCR-A is the coolest looking font, you should go into fixed width verses proportional fonts
@ChristopherSprance7 жыл бұрын
This guy sounds a lot like Will Forte. Great videos as always
@larskendall71017 жыл бұрын
Christopher Sprance Hahaha I was thinking the exact same thing!
@Cruzz9997 жыл бұрын
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 Жыл бұрын
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.
@henrikwannheden71147 жыл бұрын
Wow! Excellent! More from this guy!
@Utkarshkharb3 жыл бұрын
Very articulate and beautifully explained.
@pranayreddy27283 жыл бұрын
just one request can we get subtitles for the videos , just to don't miss the important documentation names when they mention.
@ms.chin05566 жыл бұрын
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
@djdexcat7 жыл бұрын
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?
@Dimiranger7 жыл бұрын
This guy speaks so eloquently, impressive.
@Stubrok7 жыл бұрын
Great guest, great explanation, great vid, thanks.
@MARQUITOSGUALACBA6 жыл бұрын
Hi! This program don't recognice a numbers with background what do you recomend?
@1st_ProCactus7 жыл бұрын
How far would you get if you put 3 letters through google and get the correct guess ?
@sergheiadrian7 жыл бұрын
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.
@GregoryMcCarthy1237 жыл бұрын
This guy knows his stuff!!!!!!
@1cheryl7 жыл бұрын
Wonderful video... explains the subject very well. I could learn a lot from more videos like this!
@Dunderkossanlol5 жыл бұрын
Does anyone have some good studies/theory resources to share on User Interaction with OCR or text extraction? Would be very thankful
@allie-ontheweb7 жыл бұрын
This OCR better be easier than that A-Level Unified Physics paper last week
@Integralsouls4 жыл бұрын
tesseract, my fav band and now my project library
@peto3487 жыл бұрын
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.
@dangee17057 жыл бұрын
Can you do a video on elliptic curve cryptography? Thanks.
@josedihego4 жыл бұрын
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.
@educationaltechnology83633 жыл бұрын
inspiring! can this be done using a raspberry pie or similar
@AxelWerner7 жыл бұрын
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.
@marioprawirosudiro73017 жыл бұрын
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 :)
@Maisonier2 жыл бұрын
Now there are websites that detect the fonts of any image. Why don't you use this to start: detect the font. If it doesn't detect use the input of the user for some selections, then, start the OCR comparing with the font.
@khSoraya012 ай бұрын
can't believe that the video is 7 years old
@xilluminati4 жыл бұрын
He would make a great professor!
@alexanderthestigpagel6 жыл бұрын
12:28 2 plus 2 is 4 minus 1 is 3 quik mafs
@MrNateSPF7 жыл бұрын
I've got Optical Character Detection. That is I can tell if there's a character, but have no clue what it is.
@Simon-nx1sc7 жыл бұрын
but what if the image was taken from an angle?
@MaGFarqui7 жыл бұрын
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.
@davidgoffredo17387 жыл бұрын
This guy's the real deal.
@GroovingPict7 жыл бұрын
Why oh why is there still no OCR software that can even remotely adequately do Fraktur or other blackletter typefaces? Considering the amount of historic text there is in such typefaces, youd think this would be considered important by some to invest in. I know, I know, ABBYY had a dedicated blackletter version a while back, but it too was absolute shite at the job it was supposedly designed to do.
@RossumAI9 ай бұрын
We love this video!
@kevindeland90794 жыл бұрын
Great choice of green highway sign. “We were somewhere around Barstow, on the edge of the desert, when the drugs began to take hold.”
@ELYESSS7 жыл бұрын
In France their stop signs says STOP
@plemli7 жыл бұрын
ILYES "Arrêtez-vous" doesn't quite fit so well on a hexagonal roadsign. قف does.
@EebstertheGreat7 жыл бұрын
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".
@Blast-Forward7 жыл бұрын
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.
@roidestrolls49346 жыл бұрын
yeah the guys who wanted to translate a STOP sign was a moron or it was just a sht example.
@ezzywizzy10495 жыл бұрын
Je confirme.
@Holobrine7 жыл бұрын
I'm more fascinated with machine learning OCR.
@DeathBean897 жыл бұрын
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).
@mohamadhallak86443 жыл бұрын
It is an awesome video, thank you very much.
@sogwatchman7 жыл бұрын
Skip to 2:30 for the explanation
@misterhat58237 жыл бұрын
If those are probabilities, shouldn't they be multiplied instead of added?
@l0renzz07 жыл бұрын
Those are percents of matching for each letter. He wanted to get simple averages among all the letters for each font. So he added them.
@fleecemaster7 жыл бұрын
If you multiplied them, then if you happen to get one character come out as 0 due to an error or smudge say, then you would corrupt the whole data set, better to average them.
@pulykamell7 жыл бұрын
Mister Hat He calls them "figures of merit," not probabilities, so I'm assuming they're some sort of normalized score from 0-1, but not probabilities.
@fleecemaster7 жыл бұрын
You can still average probabilities, it just depends what your intentions are.
@PrajwalSingh157 жыл бұрын
Perfect , Thanks for video on OCR
@abraxis_6025 жыл бұрын
very high quality video
@igt39287 жыл бұрын
Great episode
@mariosactron76177 жыл бұрын
Wow this guy is fantastic!
@Rising_Pho3nix_237 жыл бұрын
The "T" could also be a fence post, not an actual letter at all. Just like an O could be a wedding ring, letter, number, uppercase, lowercase, doughnut. These things need to be considered when building this up around a camera. People like to play around with apps and find funny things to make them do. It would be halarious if an OCR dev knew about the O bug and when you showed it a picture of a doughnut instead of it showing a letter O, it said "yummy" :)
@parasjuneja77096 жыл бұрын
excellent explanation sir
@RandomNullpointer6 жыл бұрын
My ACR is having a hard time following up with what he's saying. (A is for Auditory)
@ACharmedEarthling5 жыл бұрын
Think you might need to change the C as well...
@amorphant7 жыл бұрын
Is that a young Ira Graves?
@Shivampandey-cb2oq6 жыл бұрын
Thank you, man ! you make it great!
@davidrubio.243 жыл бұрын
He felt that deep learning was too hard to explain, so he made a string theory analogy to help us understand.
@SouravTechLabs7 жыл бұрын
Is "classifization" even a word? However, this was really an awesome video!!
@hamidtavakolian71214 жыл бұрын
Excellent, thank you.
@geurra65597 жыл бұрын
The secret brother of Woody Harrelson? Great video btw!