190 likes | 351 Views
Vài điểm về nhận dạng text và object. OCR trên văn bản. Công nghệ đã trưởng thành từ lâu , ở Việt Nam cũng gần 20 năm . Các sản phẩm commercial (ABBYY, Nuance… ) có độ chính xác cao , support nhiều thứ tiếng . Có hệ thống open source như Tesseract. OCR trên ảnh.
E N D
OCR trênvănbản • Côngnghệđãtrưởngthànhtừlâu, ở Việt Nam cũnggần 20 năm. • Cácsảnphẩm commercial (ABBYY, Nuance… ) cóđộchínhxáccao, support nhiềuthứtiếng. • Cóhệthống open source nhưTesseract.
OCR trênảnh • Mộtsốvấnđềphátsinh: • Chấtlượnghìnhảnh. • Lẫnráctừ background. • Ítchữ, hệthống dictionary correction khólàmviệc. • Cácbướcxửlý:
Text detection & localization • Ảnh CGI tươngđốidễ, cáchệthống top end đạt ~80% precision, ~90% recall tùymức aggressive. • Ảnhtựnhiênkhóhơn: ánhsáng, phảnchiếu, perspective distortion, compression artefact. • Pháthiện text theocụmchữ: dựavàovịtrítươngđối, so sánhkíchthước, mứcđộđồngnhấttrongmộtsố parameter. • Pháthiện text theochữlẻ: độtươngphảntrên edge map, contour đóngkín, độdàycủanét.
Text detection & localization • Dùng OCR tạichỗđểhỗtrợ. • Dùng tracking trong video đểpháthiện text, loạibỏkếtquảrác. • Điềuchỉnhtốcđộvsđộchínhxácdựatrênsốlượng parameter.
Text enhancement • Điềuchỉnhđộsáng, tươngphản (standard). • Loạibỏ background. • Sửachữbịđứthoặcnhòe (bằng filter đơngiản).
Dùng OCR đểphânloạivănbản • Dùng keyword và rule đểpháthiệncác element cơbản: tênngười, địachỉ, sốtiền, ngàytháng, khối text… • Xếpthứtựcác element cơbảntheovịtrívàtầnsốtrênvănbản. • Train classifier đểphânloại: thư, form, hóađơn, bàibáokhoahọc…
Tìmkiếmvànhậndạng object bằng visual word • Bốnvấnđề: phânloại (classification), nhậndạng (recognition), tìmkiếm (detection), địnhvị (segmentation). • Khácbiệtvới face recognition: • Mỗiloại object cócấutrúchìnhhọcriêng, thuậttoánphảitựnắmbắtđượccấutrúcnày. • Mộtsốloại object rấtđadạng (ghế, giày… ).
Tìmkiếmvànhậndạng object bằng visual word • Cácloại classifier: • Binary classifier. • Multiclass classifier (cóthểghéptừcác binary classifier). • One-class classifier (dùngchonhậndạng).
Visual word • Khi extract các feature từảnh, tacần cluster các feature gầngiốngnhauthànhmột visual word đểtăngđộổnđịnhchoviệcphânloại. • Dùngmộttậphợpảnhmẫucóđủcácloại feature. • Extract feature (SIFT, dense SIFT, OSID, GLOH, SURF…) từcácảnhmẫu. • Cluster các feature nàylại, mỗi cluster làmột visual word. • Trongthựctếthườngdùngtừ 1000 – 4000 cluster. • Saunàykhiphântíchảnh, mỗi feature sẽứngvới visual word gầnnhất.
Object classification • Cácbướccơbản: • Extract feature từảnh. • Dựng descriptor từcác visual word. • Train classifier. • Phânloại. • Nếu feature nhạycảmvớiloạibiếnđổinào, tacần normalize biếnđó (scale, luminosity…). • Descriptor cầndiễntảcấutrúchìnhhọccủaobject.
Spatial pyramid • Chiaảnhthànhcáclưới 1x1, 2x2, 4x4… rồi extract các visual word trêntừng ô lưới. • Danhsách visual word củamỗi ô đượcđếmvàomột histogram, rồinốilạithành descriptor. • Cóthểdùngbấtcứloại classifier nàotrêncác descriptor, phổbiếnnhấtlà SVM. • Cáchnàynhanhvàđơngiản, nhưngkhôngổnđịnhkhi object bịxoaygóchoặcdịchchuyển.
Hidden Markov Model • Cácvisual word đượcxếptheovịtrítrongảnh, descriptor củamỗiảnhlàmộtchuỗinày. • Mỗi descriptor tínhlàmột observation sequence từ Hidden Markov Model. • Train model từtậphợpcác descriptor củamộtloại object, theothuậttoáncủa Levinson. • Phânloạiảnhbằngcáchtínhxácsuất descriptor củaảnhđượcquansáttừmỗi model đã train.
Hybrid HMM system • Bắtđầutừmột universal background model, đạidiệnchotrườnghợptổngquát. • Vớimỗi descriptor ta train lạiuniversal background model chophùhợpvới observation sequence đó, kếtquảlàmột HMM mới. • Hai HMM đượccoilàxanhaunếukhoảngcáchKullback-Leibler divergence lớn. • KL divergence khôngphảilà metric, nhưngtrongtrườnghợpnàytacóthểtínhtoánmột metric gầnvớinó.
Hybrid HMM system • Nhưvậymỗi HMM mớicóthểcoinhưmộtđiểmtrongkhônggian metric đểđưavàobàitoánphânloại. • Tronghệthốngnày, HMM chủyếusửdụngđểmôtảcấutrúchìnhhọccủa object. • Cóthểápdụngcácthủthuậtphânloạitrongkhônggian metric. • Khithêmdữliệu training, chỉcầntrain phầnHMM củadữliệumới. • Tuynhiênmỗiảnhđưavàophânloạiđềucầntrain HMM riêng.
Object recognition • Phươngánđơngiảnlàdùng object classification vớimột background class. • Tùytheoloại object đểđiềuchỉnh background class. • Cácmẫu object cóthểphảichiathànhnhiều sub-class, tùytheogócđộ, ánhsáng, màusắc… đểtránhnhậnnhầm (false positive).
Object detection • Tìmgiátrịcựcđạicủa decision function trongảnh (phầnảnhcóxácsuấtcaonhấtlàmẫu object). Nếugiátrịnàycaohơnmộtmức • Dùng search window: • Tốcđộnhanh, độchínhxácvừaphải. • Cầnướclượngkíchthướcvàtỷlệcủa object (cóthểướclượngtừdữliệu training). • Branch-and-bound: • Đảmbảochínhxác “tuyệtđối”. • Bound function phảiviếttay, tùytheo decision function củabộphận classifier. • Khôngđảmbảođượcthờigianchạy, cóthểrấtchậm.
Object detection • Efficient subwindow search (C.H. Lampert): • Mộthìnhthức branch-and-bound dànhriêngchotìmkiếmảnh. • Chạyrấtnhanhvới SVM classifier nếu descriptor là scale invariant. • Nếuphải normalize descriptor thìthuậttoánnàyíttácdụng.
Object segmentation • Tìmcác local maximum của decision function, đểtìmhếtcácmẫu object trênhình. • Cóthểdùngthuậttoánkhácđểđiềuchỉnhranhgiớicủa object tìmđược.