Friday, August 21, 2009

Robust OCR in video

I used the "Robust OCR dataset" below to make a system for reading runner bibs in video. Standard ML techniques give fairly good results without much tweaking -- AdaBoost with stumps to go through all connected components (in thresholded image) and generate potential candidates, SVM/Gaussian kernel to classify those candidates into digits. Here's a screenshot and a video of this system in action.

Video

16 comments:

hr0nix said...

Are black rectangles false positives from AdaBoost?

Yaroslav Bulatov said...

Kind of, rectangles are initial candidates generated by AdaBoost. I found it to be more robust to consider top 50 candidates regardless of their score, and then use some heuristics to filter out ones not related to bibs

Alex said...

Yaroslav, I was wondering if the OCR was happening in realtime or in post processing of the video? It appears the video is a little slow motion, was that because OCR wasn't as accurate at normal speeds?

Jai Pillai said...

Impressive results. I am wondering whether you are using all the frames in the video, or just one good frame? In the former case, how are you integrating the results from each frame?

Yaroslav Bulatov said...

Alex: it's not real time
Jai: you mean how do I determine which bibs occur in the video? I just return bib numbers which occur in more than k frames (k hand-tuned, 40 seems to be OK)

M P Divecha said...

Hi,
I am working on a similar problem (here: http://stackoverflow.com/questions/6794372/localization-of-numbers-within-a-complex-scene-image). Can you give me some tips on how you did this?
I have never used boosting before, so I would like to know how did you train the classifiers? Is there any dataset availble?
Your help in this regard will be highly appreciated :-)

Thanks.

ghk said...

Ярослав, здравствуйте,

А выкладывали ли вы код или более подробное описание вашего алгоритма? Очень интересный подход, хотелось бы почитать подробнее. Спасибо!

ben said...

It is important to reach more recipients.
phone girls London

draj said...

thanks for sharing this blog,try this blog too...
Seo Internship in Bangalore
Smo Internship in Bangalore
Digital Marketing Internship Program in Bangalore

Thi Lan said...

Useful article, thank you for sharing the article!!!

Website bloggiaidap247.com và website blogcothebanchuabiet.com giúp bạn giải đáp mọi thắc mắc.

john said...

Great Article
IEEE final year projects on machine learning


JavaScript Training in Chennai

Final Year Project Centers in Chennai



JavaScript Training in Chennai

NewMovie said...

Thank for sharing
ufabet
ทางเข้า ufa88
ufa slot

aiviviu said...

Thanks for Sharing This Article.It is very so much valuable content.
combo di da lat
combo di da nang

combo di nha trang

combo di phu quoc

combo di quy nhon

Geek Info said...

How to take money from credit card without charges

Kisan card how to apply

How to Activate Kotak Credit card

Fastag Kotak Mahindra Bank

Baroda Rajasthan Kshetriya Gramin Bank Net Banking

Sbi Online balance enquiry

Bank of Baroda credit card

Andhra bank balance enquiry

How to generate OTP for HDFC credit card

CIF number SBI Cheque book

Bextol said...

The depth of credit information index for Romania 7, which means that information is mostly sufficient and very detailed; accessibility is not a problem. According to credit rating agency S&P, Romania has a BBB credit score, and expectations of this rating are stable. According to credit rating group Fitch, Romania has a credit rating score of BBB-, and the expectations of this rating are stable. According to credit rating group Moody's, Romania has a Baa3 credit rating score, and expectations of this rating are stable. http://www.confiduss.com/en/jurisdictions/romania/economy/

eleqtriki gamodzaxebit said...

Kind of, rectangles are initial candidates generated by ელექტრიკი გამოძახებით AdaBoost. I found it to be more robust to consider top 50 candidates regardless of their score, and then use some heuristics to filter out ones not related to bibs