25.10.2019

foto Petr Bravenec

Petr Bravenec
+420 777 566 384
petr.bravenec@hobrasoft.cz

Historické ohlédnutí

Pokrok ve vývoji software a dostupnost stále výkonnějších počítačů umožňuje dělat věci, které byly dříve těžko představitelné. Když jsem začínal programovat ve svém prvním zaměstnání mzdy na počítači SMEP, používali jsme Redap (Relační databázový procesor) a Fortran. Pamatuji si z dnešního pohledu úsměvnou příhodu: přišel zadavatel—šéf a povídá: "Když mzdová účetní zadává nového zaměstnance, mělo by to zkontrolovat, jestli nezadává duplicitní osobní číslo". Hned jak za šéfem zaklaply dveře, vyprskli jsme s kolegou smíchy, protože taková kontrola by znamenala vést samostatnou tabulku pouze s osobními čísly, kvůli rychlosti ji pokud možno držet v paměti, a spoléhat se na stroj, že udrží konzistenci tabulek se zaměstnanci a s osobními čísly navzdory všem haváriím, které se během dne na počítači SMEP přihodily. Způsob, jakým bych to řešil, sice byl už tehdy jasný, ale s tehdejší technikou prakticky nerealizovatelný. A i kdybych měl k dispozici mnohem výkonnější a spolehlivější stroj, než byl tehdejší SMEP, v ruce jsem držel stále jen Redap a Fortran, poměrně tupé nástroje, a celou manipulaci s daty bych si musel naprogramovat sám.

Dneska je taková kontrola naprostou samozřejmostí a zajišťuje ji samotný databázový stroj, vývojář se nemusí prakticky o nic starat. Unikátní osobní číslo by dnes bylo vlastností dat a sebevětší snaha mzdové účetní dostat do databáze jedno osobní číslo dvakrát by se nesetkala s úspěchem.

(Už podruhé jsem použil termín "mzdová účetní". Doufám, že nedostanu pokutu za diskriminaci, jako se to přihodilo jedné firmě v Rožnově pod Radhoštěm. Jeden nikdy neví, kdy a za co se do něj obuje nějaký byrokrat, který se v životě dokázal pouze pohodlně usadit v závětří hladové zdi úřadu a placený je za házení klacků do špic.)

Ve sci-fi literatuře však už v té době existovaly počítače, jako je třeba známý HAL-9000. Pro takový počítač by bylo triviálně snadné, aby mi po mém příchodu do práce zapnul pracovní počítač a popřál mi dobré ráno – HAL-9000 se koukal na svět kamerou a posádku kosmické lodi rozeznával podle obličejů. Na začátku devadesátých let šlo ale skutečně o sci-fi. Nikdo si nedokázal představit, jak by to počítače mohly dělat a jak výkonné by musely být. Ta myšlenka byla takové sci-fi, že kdyby za námi v té době s takovým požadavkem šéf přišel, automaticky bychom to považovali za žert a zasmáli bychom se všichni společně.

No a bác ho. Před deseti lety jsem na PC experimentoval s OpenCV při rozeznávání obličejů na obrázku. Výsledkem byl pouze označený obličej na výstupním obrázku, ale rozeznávání identity obličeje bylo pro mě nedostupné. Kdyby za mnou někdo přišel s požadavkem, aby jej počítač poznal, pozdravil a zapnul mu jeho pracovní počítač, asi bych se mu taky od srdce zasmál. Jednak neexistovalo moc lidí, kteří by věděli, jak na to, a jednak neexistoval levný, výkonný a nízkopříkonový hardware.

Rozeznávání obličeje s Jetson Nano

Minulý týden jsem si koupil na hraní NVIDIA Jetson. Po připojení kamery bylo otázkou dvou odpolední, abych zprovoznil jednoduché rozeznávání obličejů. Aplikaci jsem nakrmil daty o osádce naší kanceláře a načetl jsem i fotografie dětí. Dětem se aplikace obzvlášť líbí. Naopak už je to horší – aplikaci se děti nelíbí, velice často si je plete. Ostatní obličeje ale aplikace rozeznává s naprostou bravurností. Celý počítač má příkon zhruba 10 wattů. Dovedu si představit, že by mi mohl takový počítač běžet v kanceláři non-stop a obstarávat některé rutinní záležitosti založené na rozeznávání obličeje a gest:

  • gesto "pracuji se sbíječkou" mi zapne počítač, pracovní lampu nad stolem a zapíše mě do docházkového systému,
  • gesto "papá" osvětlení naopak vypne, zapíše odchod do docházky a za posledním odchozím zapne poplašný systém,
  • na děti nemusí reagovat nijak, pouze by mohlo potlačit poplach u poplašného systému,
  • ostatní návštěvy v doprovodu osádky kanceláře může ignorovat,
  • ostatní návštěvy bez doprovodu může rovnou zastřelit.

Praktickou ukázku nakonec můžu ukázat rovnou:

Díky hotové knihovně je celá aplikace velice jednoduchá. Pro praktické nasazení v kanceláři, případně u zákazníka, samozřejmě potřebuje aplikace množství dalších úprav – napojení na databázi rozeznávaných osob, napojení na informační systém, který bude nějakým způsobem reagovat na detekované osoby a podobně. Takové rozšíření aplikace už však znamená jen poměrně rutinní práci, jakou se zabývají denně milióny vývojářů posledních několik tisíc let.

Hobrasoft s.r.o. | Kontakt