Jakub Klus: Doufám, že strojové vidění pozitivně ovlivní kvalitu našeho života | robot_dreams Czech
should_authorize_via_email
email.input_code tel.input_code
 
email.code_actual_for tel.code_actual_for
apply_exit_text
session_ended
to_homepage
Jakub Klus: Doufám, že strojové vidění pozitivně ovlivní kvalitu našeho života

Jakub Klus: Doufám, že strojové vidění pozitivně ovlivní kvalitu našeho života

Rozhovor s expertem na oblast computer vision z Thermo Fisher Scientific

Strojového vidění je dynamický obor computer science, který implementuje pokročilé algoritmy a strojové učení k analýze vizuálních dat. V rozhovoru s Jakubem Klusem, odborníkem na computer vision a vědcem ve společnosti Thermo Fisher Scientific, promluvíme nejen o klíčových aspektech této oblasti.

Jakub, lektor našeho kurzu Computer vision, pracuje v oblasti vývoje nových metod pro energiově disperzní rentgenovou spektroskopii. V oboru zpracování dat se pohybuje přes 10 let a jeho kariéra zahrnuje i práci v Innovatrics, kde pracoval na pozici Image Processing Engineer. V této roli praktikoval nejčistší formu image processing a computer vision a později se stal vedoucím oddělení Vizuální inspekce.

V rámci kurzu tě Jakub naučí základy programování v Pythonu, práci s knihovnami jako OpenCV a NumPy a ukáže, jak aplikovat pokročilé metody strojového vidění v reálných projektech.

V současné chvíli pracujete jako fyzik, a proto nás zajímá, jak s vaší prací souvisí strojové vidění?

Pracuji v pobočce, která se zabývá výrobou a vývojem elektronových mikroskopů. Oficiální název pozice je Scientist, a protože jsem vystudoval fyziku, v rámci naši pobočky překládáme tuto pozici jako fyzik. 

Jak souvisí strojové vidění s fyzikou? Mnohem více než si patrně myslíte. Základem strojového vidění je určitě programování samotné, věci jako programovací jazyky, binární informace a podobně. Jednotlivé metody strojového vidění a zpracování obrazu souvisí spíše s aplikovanou matematikou, pozorováním a popisem skutečností, což je fyzice velice blízké.

Jaké dovednosti jsou nezbytné, pokud se člověk chce profesně věnovat computer vision?

Chce-li se někdo živit pomocí strojového vidění, určitě se neobejde bez pokročilé znalosti programovacího jazyka. Dále je potřeba alespoň základní porozumění datové analýzy a znalost vysokoškolské matematiky.

Máte nějaké tipy pro začínající profesionály v oblasti strojové vidění, třeba jak začít, kde získávat informace atd.?

Strojové vidění a zpracování obrazu získalo v posledních asi 10 letech enormní publicitu, existuje nepřeberné množství online kurzů a stránek. V posledních pěti letech je pozornost věnována především umělé inteligenci a hlubokým neuronovým sítím, a tak se o strojovém vidění dovídáme nepřímo. Nicméně, mám-li doporučit jeden zdroj za všechny, pak www.fast.ai

Jaké nástroje a knihovny považujete za klíčové pro práci v oblasti strojové vidění?

Nejvíc klíčový je podle mě Python, ve strojovém vidění je potřeba opravdu mnoha vizualizací a datových analýz a ty se ve všech ostatních konvenčních jazycích provádějí docela krkolomně. 

Mezi knihovny pak patří typické data science knihovny pro Python. Na prvním místě je knihovna OpenCV, open-source knihovna, kde jsou implementovány všechny významné algoritmy za posledních více než 20 let. Pomocné knihovny jsou pak NumPy – numerická matematika, Matplotlib – vykreslování grafů a okrajově pandas pro zpracovávání datových souborů.

Jaké jsou hlavní výzvy při zpracování obrazů, s nimiž se setkáváte, a jak je překonáváte?

Nejtěžší je asi dokazování, že námi vytvořený algoritmus je dostatečně robustní. Tedy že neposkytne špatné závěry na základě vstupních dat. Od toho se odvíjí i problematika sběru testovacích dat, na té robustnost většinou stojí a v případech, kdy si nemůžeme být jistí, že na vstup nepřijde něco, co nás nepřekvapí, musíme počítat s tím, že náš software selže, a takovou situaci vyřešit adekvátním postupem. 

Nejlepší obranou je testovat, testovat, testovat. Posledním často skloňovaným problémem je nasazení řešení, při nasazování systémů strojového vidění můžeme uvažovat o všech druzích platforem, od cloudu po embedded zařízení typu Arduino. Taková škála zařízení nasazení v produkci dost komplikuje a je zřejmé, že všechny platformy neobsáhne jedna knihovna nebo jeden framework.

Vnímáte v rámci strojové vidění nějaká potenciální rizika, která je při zpracování obrazu potřeba brát v úvahu?

Rizika při samotném zpracování obrazu moc nevnímám, zde se jedná spíše o odstup signálu od šumu a vyvarování se zpracování falešné informace. Ale reálné systémy založené na strojovém vidění rizika určitě mají. 

Například při kontrole kolizí samořiditelného auta nechceme spustit nouzové brzdění v případech, kdy je signál vyvolán třeba odrazem slunce od nějakého vyleštěného předmětu. Jako další příklad mohu uvést systémy, které na základě kamerových snímků sledují nebo vyhledávají osoby. Takové systémy mohou být náchylné na určité externí faktory, jako například nošení brýlí nebo roušek. 

Navíc se najdou i lidé, kteří na tyto systémy záměrně útočí, ne nutně fyzicky, ale nosí masky, make-up, podvrhují fotografie a zkouší jiné metody, jak systém oklamat nebo zmást.

Jaké výzvy vnímáte při implementaci strojového vidění do aplikací?

V aplikacích se kombinují výše uvedené problémy. Je vhodné aplikace dělat tak, aby počítaly s podvrhy, aby své výsledky dokázaly vnitřně validovat. Z hlediska statistiky pak volíme kompromisy mezi závažností chyb. Například u hraničních kontrol je menší riziko, že neprávem nevpustíme běžného občana, než kdybychom omylem vpustili nežádanou osobu.

Proto volíme implementaci tak, aby k druhé zmíněné chybě došlo jen v jedné z několika milionů situací.

Jaké jsou výhody použití neuronových sítí pro strojové vidění?

Neuronové sítě jsou skvělé interpolátory. Jejich hlavní výhoda spočívá v tom, že v určité doméně jsou schopny pracovat s vysokou přesností. Tuto doménu si vštěpují při tréninku, kdy jsou jim představovány tisíce, miliony nebo miliardy snímků. Problémy nastávají, když taková množství snímků pro danou doménu nemáme. 

Jaké jsou aktuální trendy v strojové vidění a které se podle vás vyplatí sledovat?

Aktuální trendy určitě kopírují současný boom okolo generativních modelů. Největším průlomem poslední doby je použití tzv. „transformer“ vrstev. Tyto vrstvy jsou základními stavebními kameny modelů GPT. Transformery postupně pronikají zpět do sítí na zpracování obrazu, které byly dlouho vystaveny hlavně na konvolučních vrstvách.

Obor strojového vidění začal vznikat na přelomu 50. a 60. let minulého století. Jak vnímáte jeho vývoj a případně i budoucnost?

Vývoj strojového vidění vnímám velmi pozitivně, ačkoli se najdou i příklady zneužití vládou (kreditní systém v Číně), věřím, že v následujících letech bude mít ze strojového vidění lidstvo prospěch. 

Strojové vidění nás ovlivňuje i v situacích, kdy si toho téměř nejsme vědomi. Aktuálním příkladem je mistrovství Evropy ve fotbale, VAR (video assistant referee) je jedna z aplikací strojového vidění, která dokáže polarizovat i běžné lidi a zasáhnout do života milionů fanoušků fotbalu.

Doufám, že strojové vidění má schopnost zlepšit naši bezpečnost důstojným způsobem, bez velkého omezování osobní svobody. Výsledky strojového vidění lze také použít pro ulehčení celé řady činností a zjednodušení některých procesů.

Velkým tématem jsou autonomní vozidla. Jak tuto oblast vnímáte z pohledu strojového vidění?

V této oblasti strojové vidění postoupilo tak daleko, že se již rozvádí etické debaty typu, kdo je zodpovědný za způsobené nehody. V oblasti autonomního řízení dokonce existuje celá řada produktů založených na strojovém vidění. Nejslavnějším zástupcem je samozřejmě společnost Tesla, která přináší celou řadu automobilů s asistentem řízení na dálnici, asistentem parkování a míří na plně autonomní automobil. 

Myslím, že v tomto oboru je nejhorší právě různorodost podmínek, za kterých musí řešení fungovat. Je velký rozdíl kalifornská dálnice, kde je 350 dní v roce sucho a slunečno a česká dálnice, která je 100 dní v roce rozkopaná a působí na ni sníh, deště, náledí nebo mlhy.

V jakých oblastech/sektorech podle vás má strojového vidění do budoucna největší přínos?

Jednou z oblastí, kam by se mohlo strojové vidění rozšířit, je medicína. Medicína počítačovému zpracování odolává, protože každý snímek, každý pixel a každou skvrnu na radiogramu musí vyhodnotit lékař se zkušenostmi. Avšak v poslední době se ukazuje, že strojové vidění nemusí lékaře přímo nahradit, spíš by mu mělo asistovat a pomáhat lékařům s hledáním anomálií.

Vnímáte rozmach generativní AI jako přínos pro oblast strojového vidění?

Generativní AI je rozhodně přínosem pro strojové vidění, můžeme pomocí něj doplnit malé části informace, kterou nevidíme, například při odstraňování vad z obrazu můžeme pomocí generativní AI dopočítat chybějící informaci.

Více článků
Rozhovor se seniorním C++ vývojářem a architektem s více než 20 lety zkušeností v oboru.