Internetsko opisivanje slika (Online image describer)

  • Autor: Larry Wang
  • NVDA kompatibilnost: od 2018.3 do 2020.2
  • Preuzmi razvojnu verziju

Cilj ovog dodatka je dodavanje mehanizama za prepoznavanje slika na NVDA.

Postoje dvije vrste mehanizama: OCR i opisivanje slika.

OCR izdvaja tekst iz slike.

Opisivanje slika opisuje vizualne značajke slike u tekstualnom obliku, kao što su opći opis, vrsta boje orijentira i tako dalje.

Za upotrebu ovog dodatka potrebna je internetska veza, budući da se usluge opisivanja slika nalaze na internetu.

U ovom dodatku nazivamo ih „Mehanizmi”.

Postoje tri vrste mehanizama za ovaj dodatak.

  • Internetski OCR mehanizam
  • Internetski mehanizam za opisivanje slika
  • Windows 10 OCR mehanizam (bez internetske veze)

Također moraš odabrati izvor slike za prepoznavanje.

  • Trenutačni navigacijski objekt
  • Trenutačni prednji prozor
  • Cijeli ekran
  • Podaci slike ili datoteka iz međuspremnika
  • Staza datoteke slike ili URL adresa slike iz međuspremnika

Tipkovnički prečaci

Nakon biranja ove vrste, prepoznavanje se može pokrenuti jednom gestom.

NVDA+Alt+P Izvršava prepoznavanje prema postavkama izvora i vrste mehanizma. Tada čita rezultate. Kad se pritisne dvaput, otvara virtualni dokument rezultata.

Postoje četiri dodatne geste koje nisu dodijeljene. Dodijeli ih prije upotrebe.

Prođi kroz razne vrste mehanizama za prepoznavanje.

Prođi kroz razne vrste izvora za prepoznavanje.

Prekini trenutačno prepoznavanje

Ova gesta može biti korisna, ako ti se čini da predugo čekaš i želiš prekinuti prepoznavanje.

Također ponekad ne želiš da te poruke prepoznavanja ometaju, jer moraš pregledati neke poruke koje su pristigle nakon pokretanja prepoznavanja.

Prikaži prethodni rezultat u virtualnom dokumentu rezultata.

Iako postoji funkcija za kopiranje rezultata u međuspremnik, podaci o položaju znakova ne mogu se sačuvati, stoga je ova gesta dodana, kako bi se riješio taj problem.

Za korisnike koji preferiraju geste u prethodnim verzijama, postoje i četiri stare geste koje nisu dodijeljene.

Preporučujemo koristiti novu gestu i zamijeniti vrstu mehanizma prema vlastitim potrebama.

Prepoznaje trenutačni navijgacijski objekt s internetskim OCR mehanizmom. Tada čita rezultate. Kad se pritisne dvaput, otvara virtualni dokument rezultata.

Prepoznaje sliku u međuspremniku s internetskim OCR mehanizmom. Tada čita rezultate. Kad se pritisne dvaput, otvara virtualni dokument rezultata.

Prepoznaje trenutačni navigacijski objekt. Tada čita rezultate. Kad se pritisne dvaput, otvara virtualni dokument rezultata.

Prepoznaje sliku u međuspremniku. Tada čita rezultate. Kad se pritisne dvaput, otvara virtualni dokument rezultata.

Konfiguracija mehanizma

Moguće je odabrati mehanizme za prepoznavanje i detaljno ih podesiti u kategroiji „Internetsko opisivanje slika” u dijalogu postavki NVDA čitača.

Autor dodatka ima registriran račun s besplatnom API kvotom i postavio je proxy poslužitelja na www.nvdacn.com, kako bi se ovaj dodatak lakše testirao.

Preporučujemo registrirati vlastiti ključ kao što je opisano u priručnicima mehanizama.

Sljedeća postavke primijenjuju se za sve mehanizme.

  • Kopiraj rezultat prepoznavanja u međuspremnik: ako je aktivirano, tekst rezultata prepoznavanja kopirat će se u međuspremnik nakon prepoznavanja.
  • Prikaži tekstualnu poruku za rezultat teksta: ako je aktivirano, tekst rezultata prepoznavanja prikazat će se u skočnom prozoru, umjesto govora ili brajične poruke.
  • Zamijeni učinak ponavljajućih gesta s neponavljajućim: virtualni dokument s rezultatima standardno se prikazuje samo, ako se dvaput pritisne odgovarajuća gesta. Ako to često koristiš, ovu opciju možeš postaviti tako, da moraš samo jednom pritisnuti za prikazivanje rezultata.
  • Omogući detaljnjije zapisivanje u svrhu uklanjanja pogrešaka: neki su zapisi ključni za uklanjanje pogrešaka, ali utječu na performanse i zauzimaju puno prostora. Uključi ovo samo, ako autor dodatka ili NVDA programer to izričito zatraže.
  • Vrsta proxyja: vrsta korištenog proxy poslužitelja. Ako ne znaš što je proxy, ostavi sve kako je.
  • Adresa proxyja: potpuna URL adresa proxy poslužitelja. Ako ne znaš što je proxy, ostavi sve kako je. Ako odlučiš koristiti proxy, tvoj će se proxy verificirati prije spremanja. Nakon potvrde prikazat će se rezultat.

Sljedeće postavke znače isto u svim mehanizmima. Opiši ih ovdje kako bi se uštedio prostor.

  • Vrsta pristupa API sučelju: ovo kontrolira način pristupa odgovarajućim krajnjim točkama API-ja.

    • Ako odabereš „Koristi javnu kvotu”, koristit ćeš besplatnu kvotu na registriranom računu autora dodatka.
    • Ako odabereš „Koristi vlastiti API ključ”, ovaj će dodatak koristiti kvote s tvog vlastitog računa.
  • APP ID, API ključ ili tajni API ključ: ako želiš koristiti kvotu tvog vlastitog računa, potreban je odgovarajući token za pristup. Neki mehanizmi trebaju samo API ključ.\ Neki mehanizmi trebaju dva tokena. Ovi vrijede samo, ako odabereš „koristi vlastiti API ključ” u vrsti API pristupa.

Na kvalitetu i točnost rezultata utječu mnogi faktori.

  • Modeli i tehnike koje pružatelja mehanizma koristi
  • Kvaliteta poslanih slika
  • Je li navigacijski objekt sakriven iza nećeg drugog
  • Rezolucija ekrana

Opisivanje slika na internetu

Ovdje su dostupna tri mehanizma.

Microsoft Azure analizator slika

Ovaj mehanizam izdvaja razne vizualne funkcije na temelju sadržaja slike.

Mehanizam postoji samo na engleskom jeziku. Ako želiš opis na drugim jezicima, koristi Microsoft Azure opisivač slika.

Vizualne funkcije ukljućuju:

  • Odrasli – otkriva je li slika pornografske prirode (prepoznaje golotinju ili seksualni čin). Otkriva se i seksualno sugestivan sadržaj.
  • Brendovi – otkriva različite brendove/marke unutar slike, uključujući približno mjesto. Argument „Brandovi” dostupan je samo na engleskom jeziku.
  • Kategorije – kategorizira sadržaj slike prema sistematici koja je određena u dokumentaciji.
  • Boja – određuje istaknutu boju, dominantnu boju i je li slika crno-bijela.
  • Opis – opisuje sadržaj slike u obliku rečenica u podržanim jezicima.
  • Lica – otkriva lica. Ako lica postoje, izračunava koordinate, spol i dob.
  • Vrsta slike – otkriva, radi li se o klipart slici ili crtežu.
  • Objekti – otkriva različite predmete unutar slike, uključujući približno mjesto. Argument „Objekti” dostupan je samo na engleskom jeziku.
  • Oznake – označava sliku detaljnim popisom riječi povezanih sa sadržajem slike.

Neke funkcije pružaju i dodatne pojedinosti:

  • Poznate osobe – prepoznaje poznate osobe, ako se otkriju u slici.
  • Orijentiri – prepoznaje orijentire, ako se otkriju u slici.

Opisivanje slika s Microsoft Azure

Ovaj mehanizam generira opis slike na ljudski razumljivom jeziku u obliku rečenica. Opis se temelji na zbirci oznaka sadržaja, koje operacija također šalje natrag.

Za svaku sliku moguće je stvoriti više opisa. Opisi su poredani prema ocjeni pouzdanosti.

Postoje dvije postavke za ovaj mehanizam.

  • Jezik: jezik na kojem će usluga slati opis slike. Standardni jezik je engleski.
  • Maksimalan broj prijedloga: maksimalan broj predloženih opisa koji se šalje natrag. Standardna vrijednost je 1.

Internetski OCR

Internetski mehanizmi zahtijevaju upotrebu i prisutnost sljedećih usluga.

https://www.nvdacn.com

https://ocr.space/ocrapi

https://azure.microsoft.com/en-us/services/cognitive-services/

http://ai.qq.com

http://ai.baidu.com

http://ai.sogou.com/

https://intl.cloud.tencent.com

Mehanizmi

Dostupno je pet mehanizama.

Tencent Cloud OCR

Ovaj API omogućuju Tencent Cloud i Aceessibility Research Association, s kvotom od 15.000 na dan.

Ovaj mehanizam podržava 19 jezika.

  • Kinesko-engleski miks
  • Japanski
  • Korejski
  • Španjolski
  • Francuski
  • Njemački
  • Portugalski
  • Vijetnamski
  • Malajski
  • Ruski
  • Talijanski
  • Nizozemski
  • Švedski
  • Finski
  • Danski
  • Norveški
  • Mađarski
  • Tajlandski
  • Latinski

Slijede postavke za ovaj mehanizam.

  • Jezik: Jezik teksta za prepoznavanje. Standardno je postavljeno automatsko otkrivanje jezika.

OCR space

Ovo je naplativ API s besplatnom kvotom, a pruža ga OCR Space

Podržava 24 jezika

  • Arapski
  • Bugarski
  • Kineski (pojednostavljeni)
  • Kineski (tradicionalni)
  • Hrvatski
  • Češki
  • Danski
  • Nizozemski
  • Engleski
  • Finski
  • Francuski
  • Njemački
  • Grčki
  • Mađarski
  • Korejski
  • Talijanski
  • Japanski
  • Poljski
  • Portugalski
  • Ruski
  • Slovenski
  • Španjolski
  • Švedski
  • Turski

Slijede postavke za ovaj mehanizam:

  • Jezik: jezik teksta za prepoznavanje. Standardno je postavljen engleski jezik.
  • Otkrivanje položaja slike: ako je uključeno, API automatski ispravno rotira sliku.
  • Skaliranje slike radi bolje kvalitete: ako je uključeno, API izvršava neka interna povećavanja. Ovo može značajno poboljšati OCR rezultat, posebice pri skeniranje PDF dokumenata s niskom rezolucijom.
  • Optimiranje prepoznavanja tablica: ako je uključeno, logika OCR-a osigurava da se rezultat obrađenog teksta uvijek vraća redak po redak. Ova sklopka preporučuje se za prepoznavanje tablica, računa, obradu računa i za sve druge vrste ulaznih dokumenata koji imaju tabličastu strukturu.

Ako želiš koristiti vlastiti ključ, moraš odrediti i API ključ.

Vlastit besplatani API ključ možeš dobiti putem registracije na OCR space

Slijedi jednostavan priručnik za upotrebu.

Pronađi poveznicu „Registriraj se za besplatan API ključ”.

Pritisni poveznicu i naći ćeš obrazac koji moraš ispuniti.

U obrazac se moraju upisati sljedeći podaci

  • Email adresa
  • Ime
  • Prezime
  • Na koji način misliš koristiti OCR API?

Ispuni obrazac i pošalji ga. Možda ćeš morati odgovoriti i captcha provjeru

Tada ćeš dobiti email s potvrdom

U emailu pronađi poveznicu pod nazivom „Da, pretplati me na ovu listu”. Pristupi toj vezi i uskoro ćeš primiti API ključ putem emaila.

Microsoft Azure OCR

Ovaj mehanizam koristi OCR API u Microsoft Azure Cognitive Services Computer Vision.

Podržava 24 jezika, uključujući

  • Kineski (pojednostavljeni)
  • Kineski (tradicionalni)
  • Češki
  • Danski
  • Nizozemski
  • Engleski
  • Finski
  • Francuski
  • Njemački
  • Grčki
  • Mađarski
  • Talijanski
  • Japanski
  • Korejski
  • Norveški
  • Poljski
  • Portugalski
  • Ruski
  • Španjolski
  • Švedski
  • Turski
  • Arapski
  • Rumunjski
  • Srpski (ćirilica)
  • Srpski (latinica)
  • Slovački

Slijede postavke za ovaj mehanizam:

  • Jezik: jezik teksta za prepoznavanje. Standardno je postavljeno automatsko otkrivanje jezika.
  • Otkrivanje položaja slike: ako je uključeno, API automatski ispravno rotira sliku.

Ako koristiš vlastiti ključ, za korištenje Microsoft Computer Vision API-ja nabavi ključ za pretplatu pomoću ispod navedene poveznice:

  1. korak: Otvori račun na Azure web stranici

Imaj na umu da ključ mora biti izrađen za Computer Vision API. Prvi gumb „Nabavi API ključ” na koji naiđeš jednotipkastim kretanjem. Trenutačno Microsoft pruža mogućnost izrade probnog ključa za 7 dana. Za produljenje probe možeš se prijaviti i za besplatan azure račun. Za prijavu je potrebna kreditna kartica. Ako već imaš račun za pretplatu, ovaj korak možeš preskočiti.

  1. korak: Implementiraj kognitivne usluge (Cognitive Services)

Sada imaš azure račun.

Najprije se prijavi na Azure portalu

Pričekaj poruku „Portal je spreman, prijavljen/a si na azure portalu”.

Pronađi poveznicu „Svi resursi” nakon gumba „Sve usluge” i aktiviraj je.

Pričekaj poruku „Blade Svi resursi su spremni”. Fokus će biti na okviru za uređivnje. Zatim pritisni šift tabulator, u izborniku pronađi stavku „Dodaj” i aktiviraj je.

Pričekaj poruku „Pretraži Marketplace”, utipkaj „Cognitive Services” i pritisni strelicu prema dolje.

Pričekaj poruku „Popis opcija Cognitive Services jedna od pet”, zatim pritisni enter.

Pričekaj poruku „Blade Cognitive Services je spremna”, pritisni tabulator ili b za pronalaženje gumba zvan „Stvori”, aktiviraj ga.

Pričekaj poruku „Blade Stvori je spremno”. Fokus će biti na okviru za uređivnje. Upiši ime za ovaj resurs. Ime tvog resursa smije sadržavati samo alfanumeričke znakove, podvlake i crtice, a ne smije završiti s podvlakom ili crticom.

Biram NVDA_OCR.

Pritisni tabulator za prijelaz na padajući izbonik „Pretplate”. Polje izbornika obično možeš ostaviti kakvo je.

Pritisni tabulator za prijelaz na padajući izbonik „Lokacija”. Odaberi jednu blizu tvoje trenutačne lokacije.

Svakako je zapamti, jer je taj podatak potreban u konfiguraciji mehanizma.

Pritisni tabulator za prijelaz na padajući izbonik „Cijene paketa”. Obično je besplatan paket poput F0 dostatan. Ako nije, možeš odabrati jedan drugi paket nakon što pročitaš detalje o cijenama na poveznici „Vidi detalje o cijenama”.

Pritisni tabulator za prijelaz na okvir za uređivanje zvan „Stvori novu grupu resursa”. Ako nemaš nijednu grupu resursa, stvori jednu grupu. Pritisni tabulator za pronalaženje gumba „Stvori novu”.

Zatim pritisni tabulator za prijelaz na gumb „Stvori” i stvori ovaj resurs.

Pričekaj poruku „Implementacija uspjela”.

Zatim pronađi gumb „Idi na resurs”. Ponekad je potrebno otići gore i aktivirati gumb „Obavijesti”, prije nego što je moguće pronaći gumb „Idi na resurs”.

Pričekaj poruku „Blade brzo pokretanje je zauzeto”.

Pronađi poveznicu koja se zove „ključevi” i aktiviraj je.

Pričekaj poruku „Blade upravljanje ključevima je spremno”.

Pronađi okvir za uređivanje koji se zove „ključ 1” ili „ključ 2”). Sadržaj tog okvira za uređivanje je API ključ koji je potreban u konfiguraciji mehanizma. Pritisni kontrol-C i kopiraj ga za konfiguriranje mehanizma

Tada možeš ispuniti ove dvije postavke, koje su potrebne, ako koristiš svoj vlastiti API ključ.

  • Azure regija resursa: regija koju odabereš za implementaciju usluga Cognitive Services na Azure portalu.
  • API ključ: ključ koji dobiješ nakon uspješnog implementiranja Cognitive Services na Azure portalu, preporučuje se KLJUČ 2.

Baidu OCR

Ovo je također naplativ API s besplatnom kvotom, a pruža ga Baidu.

Baidu OCR podržava 10 jezika, uključujući

  • Kinesko-engleski miks
  • Engleski
  • Portugalski
  • Francuski
  • Njemački
  • Talijanski
  • Španjolski
  • Ruski
  • Japanski
  • Korejski

This engine can also get position of every character

Here are its settings:

  • Get position of every character allows you to do more precise operation on some inaccessible application. Enabling this will make recognition slightly slower.

  • Use Accurate API: if is enabled will use a different endpoint. That accurate endpoint takes longer time but has higher quality and (If you use your own API key its price is also higher).

It has four endpoints with separate quota limit.

  • Basic OCR without any information about text location. Currently 50000 times a day.
  • Basic OCR with information about text location. Currently 500 times a day.
  • Accurate OCR without any information about text location. Currently 500 times a day.
  • Accurate with information about text location. Currently 50 times a day.

If you press the gesture which only read result, you are using endpoints without any information about text location.

If you press the gesture which shows an result viewer, you are using endpoints with information about text location.

Though it provides a quite generous free quota, its website is Chinese only and not quite accessible.

Tencent AI OCR

Ovaj se API može besplatno koristiti, s ograničenjem od oko dva upita u sekundi.

Ako želiš zaobići ograničenje, možeš registrirati vlastiti API ključ. Web stranica ovog API-ja samo je na kineskom i nije sasvim dostupna.

U dokumentu nema podataka o jezičnoj podršci. Prema mojem testu, podržani su kineski i engleski i njihova mješavina.

Ne postoji dodatna konfiguracija za ovaj API.

Dnevnik promjena

0.19

0.18

  • Compatible with python3
  • Introduce the concept of recognition source type and engine type to reduce gesture usage.
  • Add a new unassigned gesture to cycle through different recognition source types.
  • Add a new unassigned gesture to cycle through different recognition engine types.
  • Add a new gesture to recognize according to image source and engine type setting.
  • Add a new unassigned gesture to show previous result in a virtual result document.

0.17

  • Fixed following issues:

    • Jump directly to panel when switch to onlineImageDescriber in settings dialog
    • Fix wrong description in azure analyzer

0.16

  • Add a cancel recognition gesture
  • Fixed following issues:

    • CheckListBox state change not announced
    • Swap the effect of repeated gesture not working in online image describer

0.15

  • Add an option to pop up a window containing message instead of speech or braille message for text results
  • Change checkboxes for visual features in Microsoft Azure Image Analyzer into a CheckBoxList.
  • Fix following issues:

    • Cannot load jpg image file from clipboard
    • Result document object do not show up after recognition.
    • Position in result document objects are not reliable if image is resized internally.
    • Result from Microsoft Azure Image Describer is in the same line which makes it hard to navigate around.

0.14

  • Fixed some bugs:

    • Cannot use your own API key in Microsoft Azure engines
    • Cannot get text result if there is a braille display

0.13

  • Make sure that the add-on works when reloading the plug-ins without restart (NVDA+Control+F3)

0.12

  • Fixed browse mode message of Microsoft Azure Image Describer
  • The accent color is now represented as NVDA colour descriptions.
  • Improved result format of Microsoft Azure Image Analyser
  • Improve document according to review comments
  • Fixed gesture inconsistency.
  • Control+Shift+NVDA for clipboard while NVDA+ALT for navigator object
  • Fix missing imageInfo error while recognizing.

0.11

  • Added image description capability
  • Change addon summary to online image describer

0.10

  • Fix error using user's own API key in sougou API.
  • Fix unknown panel issue by adding settings to supportedSettings

0.9

  • Fix double press gesture no effect issue.
  • Revised document to reflect changes in code.
  • Clarified what kind of clipboard image is supported and how to copy image for recognition.
  • Fixed the clipboard recognition cannot open result viewer issue.
  • Added support to recognize copied local image file path in clipboard.

0.8

  • Added friendly notice if recognition result is empty.
  • Fixed another place do not work well with non ascii config path

0.6

  • Added proxy settings for people with access of Internet behind a specific proxy.
  • Added several general options.
  • Fix Unicode decode error due to sending Unicode URL to urllib3.

0.5

  • Fix Unicode error if OCR engine upload image file directly instead of base64 encode.
  • Change gesture of recognizing clipboard to Control+Shift+NVDA+R since NVDA+Shift+R is used in Word and Excel to define row headers in tables, or to delete the definitions when pressed twice.

0.4

  • Fix installation error when config path contains non-ascii characters
  • Change gesture to avoid collision with golden cursor.
  • Change default engine to Microsoft azure because it can detect text language automatically.

0.3

  • Add detail documentation on how to get API key of Microsoft Azure OCR
  • Fix issue about new installation.
  • Removed auto OCR since this feature is problematic and may confuse with online engines. Auto OCR will be a separate addon, when it is stable enough.