Rychlé a spolehlivé rozpoznávání českých bankovek, balených potravin a jiných objektů pomocí iPhonu

Aplikací pro rozpoznávání objektů a všeho možného i nemožného roste jako hub po dešti a jsou si mnohdy dost podobné, ale najdou se i takové, které něčím nenápadně vynikají. Jednou z nich je aplikace LookTel Recognizer pro iPhone a iPad, kterou je možné zakoupit zde přes App Store za 299 korun. V článku se dozvíte, pro co je tato aplikace užitečná a návod jak ji používat.

Zatímco se většina aplikací snaží rozeznávat objekty na obecné úrovni a dokážou vám poměrně spolehlivě říct, že telefonem míříte třeba na hrnek, kaktus nebo smějící se osobu, což byste poznali i hmatem nebo sluchem, tak už nerozumí tomu, že je to třeba právě váš oblíbený hrnek nebo sáček indického koření kurkuma.

LookTel Recognizer je ale aplikace, která vám dává svobodu naučit ji spolehlivě rozpoznávat konkrétní předměty na základě jejich vyfocení a přiřadit k nim vlastní popisky buď jako nahrávku vašeho hlasu, nebo jako text, jenž po takovém jejím jednorázovém výcviku VoiceOver přečte jednoduše a bez prodlevy poté, co telefon namíříte na některý naučený předmět.

Protože pro iPhone neexistuje aplikace, která by s takovouto lehkostí dokázala rozlišovat české bankovky jednu po druhé v cuku letu, tak se nabízí právě tato aplikace, kterou to lze naučit, není to nijak složité a funguje to skutečně perfektně.

Nebojte ale, aplikaci rozpoznávat české bankovky ručně učit nemusíte, Níže v kapitole “Import naučených českých bankovek” si ukážeme, jak rozpoznávání bankovek zprovoznit rychleji.

Vítané také je, že učení ani rozpoznávání objektů nevyžaduje připojení k Internetu. Aplikace samotná sice není počeštěna, ale moc textu neobsahuje, a co je důležité, objekty vám česky čteny budou.

Uveďme několik dalších příkladů, kdy se LookTel Recognizer může hodit, a kde se opravdu osvědčil:

  • Rozpoznávání balených potravin a jiného zboží: čajové krabičky, konzervy, jogurty, minerální vody, instantní pokrmy, čistící prostředky atd. nebo také přidání návodů na jejich přípravu do přidruženého popisku.
  • Rozpoznávání vašich dokladů a platebních či zákaznických karet, případně přečtení přidružených informací na nich jako jejich platnost.
  • Rozpoznávání osobních předmětů: cédéčka, šanony, desky a přiřazení třeba i dlouhých poznámek k nim.
  • Rozlišení oblečení jako svetry a košile stejného střihu ale jiného vzoru nebo podstatně odlišné barvy.

Jak náročná je práce s aplikací a přesnost rozpoznávání

Rozpoznávání bankovek nebo třeba čajových krabiček přímo u spíže a mnoha jiného zboží funguje dobře za všech světelných podmínek, neboť v případě nedostatku světla se automaticky zapne zcela dostačující osvětlovací dioda kamery. Aplikace si také poradí s různými úhly snímání a natočení bankovek, i pokud jsou zohýbané. Spolehlivě se mi dařilo bankovku drženou v ruce oproti různému pozadí rozpoznávat už od vzdálenosti asi deseti centimetrů až po zhruba půl metru. Rozpoznávání věcí, které mají velmi podobnou strukturu ale jen mírně odlišnou barvu, například rozlišení jednoduchého béžového svetru od světle šedého, ale už tak samozřejmé nebude.

Nicméně například košile klidně i jen s mírně odlišným vzorem nebo s různou barevnou kombinací mi šlo velmi dobře rozpoznávat přímo ve skříni, kde jsem je měl na ramínku pověšené za sebou, a jenom jsem je postupně odkrýval a aplikace je náležitě postupně hlásila, aniž bych je ze skříně vytahoval. Při učení jsem pořizoval fotky košilí s různobarevným vzorem, který byl vždy kostkovaný. Fotky jsem dělal ze vzdálenosti asi 15 až 20 centimetrů, čili zabíral jsem jen menší úsek kostkovaného vzoru, nikoliv celou košili, jednou při košili rozložené na posteli a jednou přímo při košili pověšené ve skříni, a v obou těchto případech to byly dostačující podmínky pro učení těchto košilí a jejich následné spolehlivé rozpoznávání.

Objekty zvládne aplikaci naučit bez pomoci i nevidomý. Pro každý objekt stačí poklepáním z hlavní obrazovky pořídit jednu fotku, v druhém kroku jen zadat vlastní popisek objektu a to je celé. Hned poté můžete stejným přímočarým procesem přidat další objekt, pokud tedy nechcete umět rozpoznávat více různých stran stejného objektu, což se musí řešit jako více nezávislých objektů.

Focení předlohy objektu myslím nevyžaduje ani přílišnou pečlivost, zručnost nebo speciální okolní podmínky, ale samozřejmě je tohle vše výhodou, obzvlášť pokud budete aplikaci učit rozpoznávat více podobných předmětů. Focení je určitě méně náročné než rozpoznávání textu pomocí OCR aplikací. Ale pokud byste přeci jen měli s následným rozpoznáváním některých naučených objektů potíže, tak o pomoc požádejte vidící osobu. Níže když tak uvádím pár tipů pro správné focení předmětů.

Začínáme s aplikací

Při prvním spuštění aplikace budete asi uvítáni nemilou hláškou, že tato aplikace nebude fungovat v budoucích verzích systému iOS, pokud ji vývojář neaktualizuje. Vzhledem k tomu, že poslední aktualizace aplikace je z poloviny roku 2013, tak je její osud nejistý. Snad by ale pomohlo obrátit se na vývojáře LookTel přes jeho email info@looktel.com nebo jiný z těchto kontaktů na jeho webu. Slibná zpráva ale je, že brzy by se měla objevit velmi podobná aplikace jiného vývojáře nazvaná EyeSense, která je zatím v testovacím provozu a kromě rozpoznávání naučených předmětů bude navíc umět hledat a rozpoznávat konkrétní lidi ve vašem okolí a jejich výrazy. .

Ale zpátky k aplikaci LookTel Recognizer. Další upozornění po jejím prvním spuštění si vyžádá přístup k fotoaparátu. Po jeho odsouhlasení vyběhne ještě jeden jednorázový dotaz, zda chcete zasílat vývojářům anonymní informace o používání aplikace pro účely jejího zlepšování, což potvrdíte tlačítkem Opt-In nebo zamítnete tlačítkem No Thanks.

Pak už se zobrazí hlavní obrazovka aplikace, na níž je těchto pět tlačítek:

  • Settings – Nastavení aplikace.
  • Library – Knihovna dříve naučených objektů.
  • Capture Image – Naučení nového objektu začínající pořízením jeho snímku.
  • Start Bar Code Scanning – Aktivace režimu čtení čárových kódů. Většinou se mi ale pomocí této doplňující funkce nepodařilo podle čárového kódu získat žádné informace o produktu. Je možné, že vývojáři už částečně přestali udržovat napojení na databázi produktů.
  • History – Historie dvaceti pěti naposledy rozpoznaných objektů.

Historie se hodí, pokud máte k objektu přiřazen dlouhý nebo složitý textový popisek, který nepochytíte, když ho aplikace po namíření na objekt přečte. Zde si jej můžete v klidu přečíst a pro jemnější čtení využít i rotor.

Pokud byste rádi hned vyzkoušeli učení a rozpoznávání vašich vlastních konkrétních předmětů, potravin nebo jiných věcí, tak zatím přeskočte následující kapitolu a kapitolu Organizace, úprava a export naučených objektů, a podívejte se rovnou jak na učení nových objektů.

Import naučených českých bankovek

Prozíravou funkcí aplikace je možnost exportovat vybrané objekty, které jste aplikaci naučili rozpoznávat, a podělit se tak o ně s dalšími uživateli, kteří si je mohou snadno importovat, aby je mohli rozpoznávat také. Anebo si takto naučené objekty můžete zazálohovat pro vlastní potřebu.

Soubor obsahující nejčastější české bankovky, konkrétně denominace 100, 200, 500, 1000 a 2000 korun jsem tedy umístil na tento odkaz. Je více způsobů, jak tento soubor s českými bankovkami načíst do aplikace.

  1. Jedním způsobem je navštívit zmíněný odkaz v Safari na iPhonu a poté poklepat na tlačítko “Otevřít v aplikaci Recognizer”. Anebo si tento soubor můžete stáhnout do počítače a pak poslat sami sově emailem, který následně otevřete na iPhonu a poklepáním na přílohu soubor nasdílíte do aplikace LookTel Recognizer volbou nazvanou “Zkopírovat do Recognizer”.
  2. Aplikace vás poté vyzve k zadání názvu nové kategorie, do níž chcete naučené bankovky uložit. Předvyplněný bude název “České bankovky”, můžete jej změnit nebo ponechat.
  3. Poklepáním na tlačítko Continue se bankovky uloží a zobrazí se jejich seznam v dané kategorii. Každá z pěti bankovek má nafocenou přední a zadní stranu, což musí být dva nezávislé naučené objekty, protože aplikace neumí seskupit více fotek pod jeden objekt. Dohromady je to tedy deset objektů. Objekty pro přední a zadní stranu bankovky mají stejný popisek, protože při rozpoznávání bankovky není důležité, jestli snímáte její přední nebo zadní stranu. Práci s kategoriemi a úpravou objektů včetně jejich popisku se budeme věnovat až v další kapitole.
  4. Tlačítkem Zpět v levém horním rohu se přesuňte do hlavní obrazovky aplikace. Tam by už aplikace měla hned sama začít rozpoznávat, takže můžete vytáhnout své hotovostní úspory a začít zkoušet.

Organizace, úprava a export naučených objektů

Z hlavní obrazovky aplikace se do knihovny naučených objektů dostanete tlačítkem Library v pravém horním rohu. Zobrazí se seznam kategorií objektů, kde je za názvem každé kategorie počet objektů k ní přiřazených.

První kategorie se jmenuje “All Items” a obsahuje úplně všechny naučené objekty. Pokud jste si podle výše uvedeného návodu nahráli české bankovky, tak kategorii, ke které jsou bankovky přiřazené, budete mít za kategorií “All Items”. Nicméně v kategorii “All Items” tyto bankovky najdete také, protože jsou v ní objekty i ze všech ostatních kategorií.

V levém dolním rohu je tlačítko Add, kterým případně můžete vytvořit kategorii novou, a tlačítkem History vedle něj zobrazíte seznam naposledy rozpoznaných objektů.

Poklepáním na nějakou kategorii se zobrazí seznam objektů k ní přiřazených a vedle každého objektu tlačítko Audio, kterým lze přehrát zvukový popisek, jestliže ho daný objekt má.

Názvem všech objektů v seznamu je ve výchozím stavu datum a čas jejich pořízení, což vám toho moc neřekne, ale v nastavení přístupném z hlavní obrazovky aplikace přes tlačítko Settings, a dále tlačítko “Display format”, je možné volbou Description zvolit, aby názvem objektů byl namísto data a času pořízení jejich textový popisek, pokud jej mají, následovaný číslem udávajícím pořadí pořízení objektu od nejnovějšího po nejstarší. V případě objektů, které nemají textový ale zvukový popisek, se při tomto nastavení však stále bude jako jejich název zobrazovat datum a čas pořízení a navíc se při najetí na ně ihned sám přehraje zvukový popisek. Doporučuji tedy tohle v nastavení aplikace přenastavit.

Mazání, přesouvání a kopírování objektů

Naučené objekty můžete smazat, přesunout nebo zkopírovat do jiné kategorie různými postupy. Jestliže chcete provést akci s více objekty, tak je to nejjednodušší takto:

  1. Vejděte do kategorie, kde se jeden nebo více požadovaných objektů nachází, a v dolní části obrazovky podle toho, co s nimi chcete provést, poklepejte na tlačítko Delete pro smazání, Move pro přesunutí, nebo Copy pro překopírování do jiné kategorie.
  2. Tím se dostanete do režimu, v němž nejdříve musíte požadované objekty poklepáním na každý z nich postupně jeden po jednom vybrat. VoiceOver ale bohužel nikterak odlišně neohlašuje objekty, které jste už vybrali a které ne, takže si pamatujte, na jaké klepete. Případně můžete v dolní části obrazovky použít tlačítko “Select all”, čímž vyberete všechny objekty v této kategorii.
  3. Vedle tlačítka “Select all” je tlačítko pojmenované podle akce, kterou jste před tím zvolili, tedy Delete, Move nebo Copy, a podle počtu vybraných objektů. Tímto tlačítkem provedete na vybraných objektech požadovanou akci. V případě akce přesouvání či kopírování se vás to poté zeptá na výběr cílové kategorie. V případě mazání v kategorii všech objektů (All Items) budete muset smazání vybraných objektů ještě potvrdit tlačítkem Yes, ale pokud mažete v nějaké jiné kategorii než “All Items”, tak budete dotázáni, zda vybrané objekty chcete smazat jen z této kategorie, zvolili byste tlačítko “Delete from this category only”, anebo z celé aplikace, zvolili byste tlačítko “Delete from the whole app”.

Jestliže chcete smazat pouze jeden objekt a z celé aplikace, tak to lze provést o něco rychleji, když na něj v kategorii objektů poklepete a otevřete takto jeho detail, kde v levém dolním rohu obrazovky bude tlačítko “Delete item”. Po poklepání na toto tlačítko bude potřeba smazání objektu ještě potvrdit tlačítkem Yes. Mimochodem vedle tlačítka “Delete item” je tlačítko Organize, kterým je možné tento objekt přiřadit k více kategoriím v jednom kroce.

Export naučených objektů

  1. Podobně jako předešlým postupem, avšak přes tlačítko Share, můžete vybrané objekty vyexportovat do souboru.
  2. Aplikace vás vyzve k zadání názvu balíčku s exportovanými objekty a dá vám na výběr, jestli chcete do exportu zahrnout také informace, kdy byly objekty vytvořeny, k jakým kategoriím jsou přiřazeny, kdy byly naposledy rozpoznány a kolikrát. Tuto možnost zvolíte tlačítkem “Share with properties”, anebo bez těchto informací, což zvolíte tlačítkem “Share without properties”. První volba má smysl, jestliže provádíte zálohu, a druhá při sdílení objektů jiným uživatelům.
  3. Poté aplikace připraví koncept emailové zprávy, ke které připojí soubor obsahující vyexportované objekty, takže jej hned můžete někomu nebo sami sobě poslat.

Přenastavení popisku objektu

Jak už bylo zmíněno, naučený objekt může mít přiřazen zvukový nebo textový popisek, případně oba dva. Výhody a chování každého z nich je vysvětleno v následující kapitole. Zvukový nebo textový popisek objektu můžete přidat, změnit nebo odebrat v detailu daného objektu otevřeném poklepáním na tento objekt v nějaké kategorii, přesněji takto:

  • Textový popisek nastavíte tlačítkem nacházejícím se přímo pod nadpisem “Text Description”.
  • Zvukový popisek přidáte nebo změníte tlačítkem Record a smažete jej tlačítkem Delete. Stávající popisek si můžete přehrát tlačítkem Play.

Učení nových objektů

Ve výchozím nastavení budete po vyfocení objektu, který chcete aplikaci naučit rozpoznávat, vyzváni k tomu, abyste k němu přiřadili nikoliv textový ale zvukový popisek nahraný vašim vlastním hlasem. Z následujících důvodů ale obecně doporučuji toto chování přenastavit spíše na vyžádání textového popisku.

  • Zvukový popisek se sice přidává o trochu snadněji. Díky funkci diktování textu je ale možné i textový popisek zadat velmi pohodlně a vyplatí se to kvůli jeho následujícím výhodám.
  • Textový popisek bude při rozpoznávání čten hlasem VoiceOveru, který si můžete přizpůsobit podle vašich potřeb, ale hlavně je tento hlas čistý, kdežto zvukový popisek v podobě nahrávky vašeho vlastního hlasu bude znečištěn šumem nebo hlukem z okolí.
  • Textový popisek můžete snadno později částečně poupravit, kdežto zvukový popisek v případě potřeby musíte nahrát celý znovu
  • Do textového popisku můžete překopírovat text odjinud, například seznam souborů na cédéčku, který bude přečten, když telefon na toto cédéčko namíříte, a který bude v klidu čitelný i pomocí rotoru také v historii naposledy rozpoznaných objektů.

Vyžadování textového popisku namísto zvukového při učení objektu lze nastavit následovně:

  1. Na hlavní obrazovce poklepejte na tlačítko Settings v levém horním rohu, čímž otevřete nastavení aplikace.
  2. Zde se nachází tlačítko “Enter Description using Audio”, které bude vybráno, pokud jste toto nastavení ještě neměnili, a říká, že při učení nových objektů k nim chcete přiřazovat zvukový popisek. Pokud tedy raději místo toho chcete přiřazovat popisek textový, tak poklepejte na tlačítko “Enter Description using Text”.

Toto nastavení se vztahuje jen na chvíli, kdy aplikaci učíte nový objekt. Zvukový nebo textový popisek je nezávisle na tom, co zde vyberete, možné kdykoliv k objektu později přidat, změnit jej nebo odebrat, jak je popsáno výše, ale pokud má objekt zároveň zvukový i textový popisek, tak bude při jeho rozpoznávání přehráván jen popisek zvukový.

Samotný postup, jak aplikaci naučit rozpoznávat nový předmět, je následující:

  1. Namiřte kameru zařízení na předmět a vyfoťte jej poklepáním na dominantní tlačítko “Capture Image” ve střední části hlavní obrazovky aplikace. Fotka se nepořídí okamžitě, nejprve vám aplikace anglicky možná vícekrát řekne, že máte kameru držet nehybně, a snímek se zachytí až po zvuku závěrky. Pod tlačítkem “Capture Image” se mimochodem zobrazuje právě snímaný obraz. Když by vám s učením objektů pomáhal někdo vidící a měl by vypnutý VoiceOver, tak snímek pořídí rovněž dvojím klepnutím na snímaný obraz.
  2. V závislosti na výše zmíněném nastavení bude následovat přiřazení zvukového nebo textového popisku, který ale můžete později kdykoliv změnit:
    • Pokud pro učení používáte zvukový popisek, tak se ozve anglickým hlasem, že máte popisek nahrát po zaznění pípnutí. Nahrávání se ukončí, když domluvíte, nebo poklepáním dvěma prsty.
    • Pokud pro učení používáte textový popisek, tak se zobrazí obrazovka, na níž můžete popisek zadat, přičemž textové pole by se mělo po chvíli aktivovat, takže poklepáním dvěma prsty můžete poté popisek nadiktovat. Pozor, možná tam bude ještě jedno víceřádkové textové pole, ale toto pole není použitelné a je to jakási chyba, takže jej neupravujte. Toto chybné pole nebude aktivní, přestože na něj bude po načtení obrazovky zaměřen kurzor VoiceOveru. Aktivní bude to správné druhé textové pole a diktování nebo zadávání textu z klávesnice by tedy mělo jít hned použít. Až popisek zadáte, tak poklepejte na tlačítko Done v pravém horním rohu.

Pokud po přidání popisku budete na objekt stále mířit kamerou, tak už možná aplikace začne tento objekt hned oznamovat, protože vás to přesune na hlavní obrazovku, na které už bude probíhat rozpoznávání.

Jestli má předmět více různě vypadajících stran, které chcete, aby aplikace dokázala rozpoznat, tak uvedený proces opakujte pro tyto jeho strany, anebo si můžete vymyslet nějaké pravidlo, třeba že čajové krabičky budete vždy rozpoznávat jen ze strany, kde se krabička otvírá.

Pokud by ale jeden záznam nestačil na spolehlivé rozpoznávání předmětu, což může být případ oblečení, tak klidně učení zopakujte i na stejné straně předmětu, ale třeba z trochu jiného úhlu.

Pár tipů pro správné focení předmětů

Následující tipy popisují ideální podmínky focení, většinou však nejsou nezbytné, ale závisí to na předmětu.

  • Zajistěte, aby byly předměty plně osvětleny a bez stínů, ale přímý sluneční svit vhodný není.
  • Předměty foťte na čistém, jednobarevném a rovném pozadí, například na jednobarevném stole nebo oproti bílé stěně.
  • Není nutné, aby byl celý předmět v záběru kamery a pokud víte, že má nějaký charakteristický rys a zapamatujete si, že se na něj poté při rozpoznávání máte zaměřit, tak vyfoťte klidně jen tuto část předmětu. Například některé polévkové sáčky jsou si velmi podobné, ale v určité části mají název polévky, kterým se odlišují, takže můžete zkusit vyfotit hlavně tento nápis z větší blízkosti.
  • Například bankovky nebo klasické krabičky od čaje je myslím vhodné fotit ze vzdálenosti asi 30 centimetrů, takže zhruba na výšku předloktí.

Naučené objekty ke stažení

Kdyby jste se chtěli podělit s nějakou zajímavou kolekcí naučených objektů, například skupiny jogurtů, koření, čajů nebo jiné zboží v konkrétním obchodním řetězci, tak mi vyexportovaný soubor s nimi můžete poslat na email adam.samec@gmail.com a já jej níže v seznamu případně uveřejním i pro ostatní. S vytvářením kolekcí naučených objektů ale mohou případně pomoci také ochotní vidomí majitelé této aplikace, kterým to jistě půjde více od ruky a zachytí přesnější snímky.



AppleiOSiPhonePočítačové viděníRozpoznávání objektůTutoriályVoiceOver


Adam Samec
Jako nevidomý se zajímám o asistivní technologie pro zrakově postižené. Pracuji jako lektor a tester přístupnosti v Tyflokabinetu Praha. Mým hlavním zaměstnáním je však pozice programátora, konzultanta a testera přístupnosti v Microsoftu. V článcích se zaměřuji především na produkty značky...