• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Skip Trie Matching for Real-Time OCR Output Error Correction on Android Smartphones
 

Skip Trie Matching for Real-Time OCR Output Error Correction on Android Smartphones

on

  • 768 views

 

Statistics

Views

Total Views
768
Views on SlideShare
487
Embed Views
281

Actions

Likes
0
Downloads
0
Comments
0

37 Embeds 281

http://vkedco.blogspot.com 85
http://www.vkedco.blogspot.com 48
http://vkedco.blogspot.in 31
http://reader.aol.com 16
http://www.vkedco.blogspot.in 12
http://vkedco.blogspot.sg 10
http://vkedco.blogspot.co.at 8
http://vkedco.blogspot.co.uk 8
http://vkedco.blogspot.fr 6
http://vkedco.blogspot.ca 5
http://vkedco.blogspot.mx 5
http://vkedco.blogspot.ru 4
http://translate.googleusercontent.com 4
http://www.vkedco.blogspot.fr 3
http://vkedco.blogspot.com.br 3
http://vkedco.blogspot.kr 3
http://vkedco.blogspot.de 3
http://www.vkedco.blogspot.kr 2
http://vkedco.blogspot.nl 2
http://vkedco.blogspot.jp 2
http://vkedco.blogspot.com.ar 2
http://vkedco.blogspot.hk 2
http://www.vkedco.blogspot.com.au 2
http://vkedco.blogspot.be 2
http://www.vkedco.blogspot.nl 1
http://vkedco.blogspot.fi 1
http://vkedco.blogspot.pt 1
http://vkedco.blogspot.com.es 1
http://vkedco.blogspot.co.il 1
http://vkedco.blogspot.ie 1
http://www.vkedco.blogspot.cz 1
http://www.vkedco.blogspot.ca 1
http://vkedco.blogspot.it 1
http://vkedco.blogspot.tw 1
http://www.feedly.com 1
http://vkedco.blogspot.ch 1
http://vkedco.blogspot.sk 1
More...

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Skip Trie Matching for Real-Time OCR Output Error Correction on Android Smartphones Skip Trie Matching for Real-Time OCR Output Error Correction on Android Smartphones Presentation Transcript

    • Skip Trie Matching forReal-Time OCR Output Error Correctionon Android SmartphonesVladimir Kulyukin Aditya VankaDepartment of Computer ScienceUtah State UniversityLogan, UT, USADICTAP 2013 www.vkedco.blogspot.com
    • Outline●Background– Motivation– Critical Barriers– Persuasive Nutrition Management System●Broader Context of Skip Trie Matching●Skip Trie Matching– Basic Steps and Examples– Big O Analysis and Evaluation– Limitations●Conclusionswww.vkedco.blogspot.comDICTAP 2013
    • Backgroundwww.vkedco.blogspot.comDICTAP 2013
    • Motivation●According to U.S. Department of Agriculture, U.S.residents have increased their caloric intake by 523calories per day since 1970●Mismanaged diets are estimated to account for 30-35%of cancer and diabetes cases●A major contributor to the increased caloric intake is theconsumers inability (and sometimes unwillingness) toread & understand nutrition labels●Nutrition information is rarely available to blind andvisually impaired individualswww.vkedco.blogspot.comDICTAP 2013
    • Critical Barriers●Manual nutrition intake recording is time-consuming anderror-prone, especially on smartphones●Automated, real-time nutrition information extraction &analysis is weak or nonexistent●Nutrition decision support– is not context-sensitive;– does not couple consumers with dieticians;– is not integrated with PHRs or ODLswww.vkedco.blogspot.comDICTAP 2013
    • Persuasive NUTrion Management System(PNUTS)www.vkedco.blogspot.comDICTAP 2013
    • Basic Principle of PNUTSVision-Based Nutrition Information Extraction, Recording & Analysis+Cloud-Based Context-Sensitive Nutrition Decision Supportwww.vkedco.blogspot.comDICTAP 2013
    • RoboCart ShopTalk ShopMobile I ShopMobile II PNUTSdd2003-052006-082008-102010-12 2013-NowR&D Road to PNUTSwww.vkedco.blogspot.comDICTAP 2013
    • PNUTS ArchitectureNutritionistCoachCloudConsumer/PatientInference Engine OCR Image Analysiswww.vkedco.blogspot.comDICTAP 2013
    • Broader Context of Skip Trie Matchingwww.vkedco.blogspot.comDICTAP 2013
    • Vision-Based Nutrition Information Extraction in PNUTSLineSegmentorNutritionLabelLocalizerTEXTImage Table LinesOCRwww.vkedco.blogspot.comDICTAP 2013
    • Two Approaches to OCR EnhancementOCR EnginePreprocess Images withComputer Vision Spellcheck OutputClaroz 290 Calorie8from Fact 28What if OCR Engine must be treated as black box?1 2www.vkedco.blogspot.comDICTAP 2013
    • Accuracy Evaluation●Two hundred images of nutrition label text chunks–●Three categories used to categorize accuracy:– Complete: OCRed characters are identical to image text– Partial: at least one OCRed character is missing ormisrecognized– Garbled: either empty string is returned or all OCRedcharacters are misrecognizedwww.vkedco.blogspot.comDICTAP 2013
    • OCR Engine Accuracy  Complete Partial GarbledTesseract on Device 146(73%) 36(18%) 18(9%)GOCR on Device 42(21%) 23(11.5%) 135(67.5%)Tesseract on Server 158(79%) 23(11.5%) 19(9.5%)GOCR on Server 58(28.99%) 56(28%) 90(45%)  Complete Partial GarbledTesseract on Device 146(73%) 36(18%) 18(9%)GOCR on Device 42(21%) 23(11.5%) 135(67.5%)Tesseract on Server 158(79%) 23(11.5%) 19(9.5%)GOCR on Server 58(28.99%) 56(28%) 90(45%)www.vkedco.blogspot.comDICTAP 2013
    • OCR Engine Speed in Milliseconds  Run 1 Run 2 Run 3 Run 4 Run 5 AVG/Sample AVG/ImageTesseract on Device 128238 101438 101643 109678 103205110439.6 552.1GOCR on Device 50349 47746 48964 52450 48247 49019.6 245Tesseract on Server 38958 38061 37850 9891 39032 38289.6 191GOCR on Server 21253 20842 20195 21182 20520 20763.3 103.8  Run 1 Run 2 Run 3 Run 4 Run 5 AVG/Sample AVG/ImageTesseract on Device 128238 101438 101643 109678 103205110439.6 552.1GOCR on Device 50349 47746 48964 52450 48247 49019.6 245Tesseract on Server 38958 38061 37850 9891 39032 38289.6 191GOCR on Server 21253 20842 20195 21182 20520 20763.3 103.8www.vkedco.blogspot.comDICTAP 2013
    • OCR Error Types●Error Classification (Kukich 1992)– Non-words: polassium vs. potassium– Read-words: fats vs. facts●State of the Art Error Correction:– N-Gram– Levenshtein Edit Distance (LED)– Both algorithms are implemented inApache Lucenewww.vkedco.blogspot.comDICTAP 2013
    • Skip Trie Matchingwww.vkedco.blogspot.comDICTAP 2013
    • Trie Data Structure●Tries are popular on mobile platformsfor word completion due to spaceefficiency●Worst-case lookup is O(n) where n is thelength of the input string●Efficient storage compared to hash tablewww.vkedco.blogspot.comDICTAP 2013
    • Skip Trie Matching●Skip Trie Matching (STM) algorithm is based onthe idea that the trie data structure can be usedto find closest dictionary matches to misspelledwords●It is assumed that the dictionary of words isstored as a trie●The only parameter in STM is the skip distance –a non-negative integer that defines the maximumnumber of misrecognized characters allowed in amisspelled wordwww.vkedco.blogspot.comDICTAP 2013
    • STM Basic Steps●Process the input string character by character●At the tries current node, find the child characterthat matches the inputs current character●If a match is found, recurse to that node andconsume the inputs character●If no match is found, recurse on each child nodeafter incrementing the skip distance and withoutconsuming the inputs current character●More details and pseudocode are in the paperwww.vkedco.blogspot.comDICTAP 2013
    • STM ExampleSuppose that the OCR engines recognizes thestring ACID as ACIR and the trie dictionary hasthe word ACID as a character path.www.vkedco.blogspot.comDICTAP 2013
    • STM Examplewww.vkedco.blogspot.comDICTAP 2013
    • STM Examplewww.vkedco.blogspot.comDICTAP 2013
    • STM Examplewww.vkedco.blogspot.comDICTAP 2013
    • STM Examplewww.vkedco.blogspot.comDICTAP 2013
    • Back to Big O Analysis●LED – O(m*n2), where n is the number ofentries in the dictionary and n is the size ofthe input●N-Gram – O(n), where n is the size of theinput if the dictionary is implemented as ahash with constant lookup●STM – O(nlog|Σ|), where |Σ| is the size of thealphabetwww.vkedco.blogspot.comDICTAP 2013
    • STM Limitations●Since STM is greedy, it cannot find allpossible suggestions (not a limitation if avocabulary is limited but a limitation ingeneral)●Current implementation finds matches onlyof the same length as the misspelled input●STM cannot correct read-word errorswww.vkedco.blogspot.comDICTAP 2013
    • Conclusions●On the tested samples OCRed withTesseract, STM ran faster and was moreaccurate than Apache Lucenesimplementations of N-GRAM & LED●On the tested samples, Tesseract was moreaccurate than GOCR●On the tested samples, GOCR ran faster thanTesseractwww.vkedco.blogspot.comDICTAP 2013