proarc / proarc

ProArc - The Production and Archiving System
GNU General Public License v3.0
15 stars 9 forks source link

Přidání funkce korekce OCR s využitím PERO OCR #1393

Open zabak opened 2 years ago

zabak commented 2 years ago

Na dnešním workshopu projektu PERO jsme domluvili přidání nového upload API do webové verze PERO OCR https://github.com/DCGM/pero_ocr_web/issues/70 .

Cílem je umožnit v ProArcu v rámci editace metadat korekce OCR. Workflow: na vstupu se předpokládá dokument včetně OCR (lze vytvořit přes PERO OCR API). Při editaci metadat bude uživateli umožněno přes volbu "vylepšit OCR" předat vybrané stráky do webové verze PERO OCR, tam provést nové OCR (například i s vybráním nového modelu - use case: starý tisk, kde jsou dvě rukopisné stránky - celý se udělá textovým modelem, ty dvě stránky je potřeba udělat rukopisným), ručně opravit výsledek a opravené OCR stáhnout zpět do editovaného dokumentu.

Další use-case (reálný, z KNAV): digitalizuji staré tisky, OCR titulních listů chci ale mít zcela správně = je potřeba manuální korekce OCR).

Na straně PERO OCR web se vytvoří účet pro danou instalaci ProArcu a každý operátor si tam vytvoří svůj účet. Při volání API se autentizuje účtem pro tu instanci ProArcu a pošle jako parametr e-mail = login daného operátora a název dokumentu (nebo uuid, čárový kód...) - ten slouží pro orientaci operátora. PERO OCR převezme obrázky a vrátí id úlohy. Do budoucna možná v api přibudou parametry na přímé spuštění OCR (volba modelu apod), zatím ale toto v API nebude.

Po uploadu vybraných obrázků (a kontrole přes status API, pokud bude existovat na straně PERO OCR) uvidí operátor link do PERO OCR (využije se Id úlohy vrácené při uploadu obrázků). Vedle bude další volba, pro stažení hotových OCR souborů (zase přes Id úlohy). Toto bude zašedlé, dokud nebudou výsledné OCR k dispozici. Operátor se proklikne do PERO OCR, tam spustí OCR dle svých požadavků, provede korekturu a vrátí se do ProArcu, kde vyvolá stažení hotového OCR. To se stáhne a nahradí se jím stávající OCR soubory pro dané stránky.

zabak commented 2 years ago

Prosím všechny o vyjádření k tomuto návrhu

zabak commented 2 years ago

Patří do klienta - https://github.com/proarc/proarc-client/issues/131. Zde zavírám.

zabak commented 2 years ago

Znovuotevírám, přidám sem volání API pro PERO OCR web:

curl "$SERVER_URL/ocr_api/new_document/test_document/someone@somewhere.com,someone@somewhere.com" --request POST --header "api-key: $API_KEY"   # tohle vrací DOCUMENT_ID, adresy doporučuji zaměnit za skutečné uživatele :)

curl $SERVER_URL/ocr_api/upload_image/$DOCUMENT_ID --request POST --header "api-key: $API_KEY" -F file=@00000003.jpg

curl $SERVER_URL/ocr_api/list_documents --request GET --header "api-key: $API_KEY"

curl $SERVER_URL/ocr_api/document_images/$DOCUMENT_ID --request GET --header "api-key: $API_KEY"

curl  $SERVER_URL/ocr_api/get_results/text/$DOCUMENT_ID/$IMAGE_ID --request GET --header "api-key: $API_KEY"
curl  $SERVER_URL/ocr_api/get_results/page/$DOCUMENT_ID/$IMAGE_ID --request GET --header "api-key: $API_KEY"
curl  $SERVER_URL/ocr_api/get_results/alto/$DOCUMENT_ID/$IMAGE_ID --request GET --header "api-key: $API_KEY"

curl  $SERVER_URL/ocr_api/delete_document/$DOCUMENT_ID --request POST --header "api-key: $API_KEY"
ZdenkaSera commented 10 months ago

7.9. - zde volat PERO bez automaticky spouštěného editoru alta.

kerschfilip commented 9 months ago

@zabak @erikamirova na poslední schůzce navrhl @SykoraLukas trochu jiné řešení, než o kterém jsme původně mluvili. Můžete na to kouknout, jestli je to za vás OK?

Nově navrhnuté řešení:

zabak commented 9 months ago

Tohle řešení má jedinou navýhodu, ale zato velkou. Není tam jak dát zpětnou vazbu aby se PERO mohlo zlepšovat.

25. 9. 2023 v 16:22, kerschfilip @.***>:

@zabak https://github.com/zabak @erikamirova https://github.com/erikamirova na poslední schůzce navrhl @SykoraLukas https://github.com/SykoraLukas trochu jiné řešení, než o kterém jsme původně mluvili. Můžete na to kouknout, jestli je to za vás OK?

Nově navrhnuté řešení:

V ProArcu bude tlačítko na vytvoření nového ALTO/OCR, tím se data pošlou do PERO, z PERA se rovnou vrátí do ProArcu (nebude možné upravovat OCR ve web aplikaci v rámci PERA). Uživatel ale bude moct vstoupit z ProArcu do ALTO OCR editoru (který se vyvíjí při Krameriovi) a upravit si data ručně v něm. — Reply to this email directly, view it on GitHub https://github.com/proarc/proarc/issues/1393#issuecomment-1733813462, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGGEELLH6HKC375BODRGC3X4GHTDANCNFSM5GPFJLVA. You are receiving this because you were mentioned.

SykoraLukas commented 7 months ago

Implementováno. Na Klientovi je potřeba dořešit volání a stavy v procesech.

Nutná konfigurace

# (4.1.1) Generator OCR
import.ocr_generator.processor=peroCmd
processor.peroCmd.exec=python3
processor.peroCmd.arg=/opt/pero/pero-ocr.py
processor.peroCmd.timeout=1800000
processor.peroCmd.key=*****
ZdenkaSera commented 1 month ago

Do řádku konfigurace "processor.peroCmd.key=*****" se doplňuje klíč (token) přidělený správcem služby PERO Text k doladění/doplnění po lokálních testech v KNAV