A képfelismerés a számítógépes látás egyik legintenzívebben kutatott területe. Az elmúlt évtizedben a mélytanulási módszerek gyökeres változást hoztak abban, ahogyan az algoritmusok a vizuális adatokat értelmezik: az emberi pontosságot megközelítő vagy azt meghaladó rendszerek jöttek létre számos gyakorlati területen.
A képosztályozás alapjai
A képosztályozás feladata egyszerű: az algoritmusnak meg kell mondania, hogy egy képen milyen kategóriájú tárgy vagy jelenet látható. A bemenet egy pixel-mátrix, a kimenet egy vagy több osztálycímke, például „kutya", „autó" vagy „parkoló".
A modern képosztályozók döntő többsége konvolúciós neurális hálózaton (CNN) alapul. A hálózat első rétegei egyszerű él- és sarokdetektáló mintázatokat tanulnak meg, a mélyebb rétegek pedig egyre összetettebb vizuális jellemzőket — formákat, textúrákat, végül teljes objektumstruktúrákat — kódolnak.
Az ImageNet Large Scale Visual Recognition Challenge (ILSVRC) verseny 2012-es fordulóján az AlexNet architektúra 15,3%-os top-5 hibaaránnyal nyert — a második helyezettnél mintegy 10 százalékponttal jobban. Ez az eredmény széles körű figyelmet irányított a mélytanulási megközelítések felé.
Objektumdetektálás: helyzetmeghatározás is
Az objektumdetektálás a képosztályozásnál összetettebb feladat: az algoritmusnak nem csupán azt kell megállapítania, hogy mi látható a képen, hanem azt is, hol — azaz körülhatárolási mezőkkel (bounding box) kell jelölnie az egyes tárgyakat.
A terület fejlődése az ún. kétfázisú detektorokkal indult, amelyek közül az R-CNN és utódai (Fast R-CNN, Faster R-CNN) a legismertebbek. Ezek a rendszerek először jelölt területeket azonosítanak a képen, majd osztályozzák az egyes jelölteket.
Egyfázisú detektorok
A valós idejű alkalmazásokban az egyfázisú detektorok terjedtek el. A YOLO (You Only Look Once) architektúra egyetlen hálózati menetben, egyidejűleg végzi a lokalizációt és az osztályozást. Az SSD (Single Shot MultiBox Detector) hasonló elveket követ, de eltérő léptékeken dolgozza fel a jellemzőket.
A YOLO különböző verziói folyamatosan javuló pontossággal és sebességgel jelentek meg. A YOLOv8 (2023) például közepesen teljesítő GPU-n is több tíz képkockát dolgoz fel másodpercenként, ami kamerákon alapuló valós idejű alkalmazások számára megfelelő.
ResNet és a maradék összeköttetések
A nagyon mély hálózatok tanítása hagyományosan problémás volt az eltűnő gradiensek miatt: minél mélyebb a hálózat, annál nehezebb a korai rétegeket hatékonyan frissíteni a visszaterjesztés során.
A ResNet (Deep Residual Networks) architektúra ezt az úgynevezett skip connection (maradék összeköttetés) mechanizmussal kezeli: a bemenetet közvetlenül hozzáadja a néhány réteggel mélyebb kimenethez. Ez lehetővé tette 100-nál több rétegből álló hálózatok stabil tanítását, és az ImageNet versenyen a hibaarányt 3,57%-ra csökkentette — az emberi teljesítménnyel összemérhető szintre.
EfficientNet és a skálázhatóság
Az EfficientNet architektúra egy szisztematikus skálázási módszert vezet be, amely a hálózat mélységét, szélességét és a bemeneti felbontást egyidejűleg optimalizálja. Az EfficientNetB7 például a korábbi, hasonló pontosságú modelleknél lényegesen kevesebb számítási erőforrást igényel.
Magyarországi alkalmazási példák
A hazai ipari és közlekedési szektorban több területen alkalmazzák a képfelismerési technológiákat. Ipari összeszerelésnél kamerarendszerek ellenőrzik az alkatrészek helyes pozicionálását és a felületi hibákat. Közlekedési kameráknál rendszámtábla-felismerő rendszerek (ANPR) azonosítják a járműveket az autópályákon és parkolókban.
Az egészségügyi képdiagnosztika területén a budapesti kórházakban is folynak kísérletek CT- és röntgenfelvételek gépi segéddiagnosztikájára, bár ezek klinikai bevezetése lassabb folyamat, mint az ipari alkalmazásoké.
Összefoglalás
A képfelismerés és az objektumdetektálás mára érett technológiák: stabil, nyílt forráskódú könyvtárak (OpenCV, PyTorch, TensorFlow) állnak rendelkezésre, és az előre betanított modellek szabadon letölthetők. A terület fejlődése jelenleg elsősorban a kisebb adatmennyiségből való tanulás (few-shot learning), a hatékonyabb architektúrák és az értelmezhetőség (explainability) irányába mutat.