Optičko prepoznavanje znakova (OCR) revolucionisalo je način na koji poslovni svet automatizuje obradu dokumenata. Međutim, kvalitet i preciznost ove tehnologije nisu uvek dovoljni za svaku primenu. Što je dokument složeniji, to OCR postaje manje precizan. To je posebno tačno za inženjerske crteže. Iako standardne OCR tehnologije možda nisu idealne za ovu svrhu, postoje drugi načini da se postignu ciljevi obrade dokumenata uz pomoć OCR tehnologije. U nastavku ću istražiti nekoliko održivih rešenja kako biste dobili opštu predstavu, bez ulaska u previše tehničkih detalja.
Izazovi prepoznavanja inženjerskih crteža
Kada je reč o tehničkim crtežima, OCR tehnologija se suočava sa poteškoćama u razumevanju značenja pojedinačnih tekstualnih elemenata. Tehnologija može pročitati tekst, ali ne razume njegovo značenje. Postoji niz prilika koje inženjeri i proizvođači mogu razmotriti ako je automatsko prepoznavanje tehničkog dokumenta pravilno konfigurisano. Evo najznačajnijih izazova koji se javljaju:
Da bi se postigla analiza kompleksnih tehničkih dokumenata, inženjeri moraju trenirati AI modele. Baš kao i ljudi, AI modelima je potrebno iskustvo i obuka da bi razumeli ove crteže.
Jedan od izazova prepoznavanja planova i inženjerskih crteža je da softver mora razumeti kako da razdvoji različite poglede crteža. To su različiti delovi crteža koji daju osnovnu ideju o njegovom rasporedu. Razdvajanjem pogleda i razumevanjem kako se odnose jedan prema drugom, softver može izračunati okvir oko crteža.
Ovaj proces može uključivati nekoliko izazova:
- Pogledi se mogu preklapati
- Pogledi se mogu oštetiti
- Oznake mogu biti ekvidistantne prema dva pogleda
- Pogledi se mogu ugnijezditi
Odnos između pogleda je još jedan mogući problem. Morate razmotriti da li je pogled ravni deo dijagrama, okrenuti deo, blok ili nešto drugo. Pored toga, mogu postojati i drugi problemi kao što su povezane mere, nedostajuće oznake, implicitno definisane visine putem referenci na standard, ili drugi problemi.
Važno je napomenuti da generičko OCR (optičko prepoznavanje znakova) ne može pouzdano razumeti tekst u crtežima koji je okružen grafičkim elementima poput linija, simbola i oznaka. Zbog ovoga, moramo dublje istražiti OCR sa mašinskim učenjem, što će biti korisnije za ovu primenu.
Prethodno obučeni i prilagođeni OCR modeli
Na tržištu ne nedostaje softvera za OCR, ali ne sav softver može biti obučen ili modifikovan od strane korisnika. Kao što smo naučili, obuka može biti neophodna za analizu vaših inženjerskih crteža. Međutim, postoje OCR alati koji su namenjeni za ove vrste crteža.
Prethodno obučeni alati za OCR
Evo nekoliko uobičajenih opcija za prepoznavanje OCR-a inženjerskih crteža:
- ABBYY FineReader: Ovaj raznovrsni softver za tumačenje crteža nudi OCR tehnologiju sa sposobnostima prepoznavanja teksta. Podržava različite formate slika, zadržavanje rasporeda, izvoz podataka i integracije.
- Adobe Acrobat Pro: Osim što pruža mogućnost uređivanja, pregleda i upravljanja PDF-ovima, Acrobat vam omogućava skeniranje OCR dokumenata i crteža, izdvajanje teksta i pretragu. Podržava različite jezike i omogućava korisnicima konfiguraciju opcija.
- Bluebeam Revu: Još jedna popularna PDF aplikacija, Bluebeam Revu nudi OCR tehnologije za izdvajanje teksta iz inženjerskih crteža.
- AutoCAD: Kratica za Computer Aided Design, AutoCAD podržava OCR dodatke za tumačenje crteža i pretvaranje ih u editable CAD elemente.
- PlanGrid: Ovaj softver uključuje tumačenje OCR-a za crteže već prilikom izlaska iz kutije. Pomoću ove funkcije možete da učitate slike crteža, a zatim izvučete, organizujete, indeksirate i pretražujete tekst.
- Textract: Ova cloud-based AWS opcija omogućava OCR analizu dokumenata i izdvajanje elemenata kao što su tabele iz dokumenata. Takođe može prepoznati elemente sa crteža i pruža API-je za integraciju sa drugim aplikacijama.
- Butler OCR: Pružajući developerima API-je za izdvajanje dokumenata, Butler OCR kombinuje mašinsko učenje sa ljudskom recenzijom kako bi poboljšao tačnost prepoznavanja dokumenata.
Prilagođena OCR rešenja
Ako tražite prilagođena OCR rešenja koja se mogu obučiti da postignu bolje automatsko izdvajanje podataka iz inženjerskih crteža i prilagode se vašem specifičnom formatu podataka, evo nekoliko popularnih opcija:
Tesseract: Ovaj fleksibilni, open-source OCR engine koji održava Google može se obučiti na prilagođenim podacima kako bi prepoznao karaktere i simbole specifične za crteže.
OpenCV: Open-Source Computer Vision Library može se kombinovati sa OCR alatima poput Tesseract-a kako biste izgradili prilagođena tumačka rešenja. Njegove funkcije obrade slika i analize mogu poboljšati tačnost OCR-a na inženjerskim crtežima kada se pravilno koriste.
Osim ovih alata, takođe je moguće nezavisno razvijati prilagođene modele mašinskog učenja. Korišćenjem modela za obuku na označenim skupovima podataka i okvira kao što su TensorFlow ili PyTorch, ova rešenja mogu se fino podešavati kako bi prepoznala specifične elemente crteža i postigla veću tačnost za potrebe organizacije.
Prethodno obučeni modeli nude praktičnost i jednostavnost upotrebe, ali možda neće biti jednako efikasni u tumačenju inženjerskih crteža kao prilagođena rešenja. Ove prilagođene solucije takođe zahtevaju dodatne resurse i stručnost za razvoj i održavanje.
Prilagođena rešenja zahtevaju dodatne finansijske resurse i radnu snagu za razvoj. Preporučio bih da započnete sa dokazom koncepta (PoC) kako biste potvrdili tehničke mogućnosti i minimalnim proizvodom (MVP) kako biste proverili percepciju tržišta projekta pre nego što preterano investirate u prilagođeno OCR rešenje.
Proces implementacije OCR modula za čitanje inženjerskih crteža
Najbolje mesto za početak izgradnje OCR softvera za inženjerske crteže bilo bi analiziranje dostupnih open-source alatki. Ako iscrpite opcije open-source alatki, možda ćete morati razmotriti closed-source opcije sa integracijom API-ja.
Izgradnja OCR rešenja od nule je nepraktično jer zahteva ogroman skup podataka za obuku. Ovo je teško i skupo prikupiti i zahteva mnogo resursa za obuku modela. U većini slučajeva, fino podešavanje postojećih modela trebalo bi da zadovolji vaše potrebe.
Proces od ovog trenutka izgleda otprilike ovako:
- Razmotrite zahteve: trebate razumeti kakve vrste inženjerskih crteža vaša aplikacija treba da obradi i kakve funkcionalnosti su potrebne da biste postigli taj cilj.
- Snimanje slika i preprocesiranje: razmislite o uređajima koje planirate koristiti za snimanje slika. Dodatni koraci preprocesiranja mogu biti potrebni kako biste poboljšali kvalitet rezultata. To može uključivati obilazak, promenu veličine, smanjenje šuma i još mnogo toga.
- Integracija OCR-a: razmislite o OCR engine-u koji će najbolje raditi sa vašom aplikacijom. OCR biblioteke imaju API-je koji omogućavaju vašoj aplikaciji da izvuče tekst iz snimljenih slika. Važno je razmotriti open-source OCR rešenja radi uštede troškova. API-ji trećih strana mogu biti nepouzdani u pogledu cene tokom vremena ili izgubiti podršku.
- Prepoznavanje i obrada teksta: zatim je vreme da implementirate logiku za obradu i prepoznavanje teksta. Neki mogući zadaci koje možete razmotriti u ovom koraku su čišćenje teksta, prepoznavanje jezika ili bilo koje druge tehnike koje mogu pružiti jasnije rezultate prepoznavanja teksta.
- Korisnički interfejs i iskustvo: važno je imati korisnički interfejs koji je jednostavan za korišćenje kako bi korisnik efikasno mogao koristiti aplikaciju za snimanje slika i pokretanje OCR-a. Rezultati treba da budu prikazani korisniku na način koji je lako razumljiv.
- Testiranje: temeljno testirajte aplikaciju kako biste osigurali njenu tačnost i upotrebljivost. Korisnički povratni podaci su ključni za ovaj proces.
Zaključak
Pred izazovima stvaranja OCR softvera za kompleksne inženjerske crteže, organizacije imaju niz opcija na raspolaganju za pristup problemu. Od različitih prethodno obučenih modela do prilagodljivih alatki za kreiranje personalizovanih rešenja, preduzeća mogu pronaći načine za efikasnu analizu, indeksiranje i pretragu crteža i drugih kompleksnih dokumenata. Sve što je potrebno je malo domišljatosti, kreativnosti i vremena da se izradi rešenje koje zadovoljava njihove potrebe.