Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
KÉPFELDOLGOZÁS SZAKTERÜLETI OKTATÁSA TEACHING IMAGE PROCESSING IN SPECIALIZATION
Vámossy Zoltán, Sergyán Szabolcs Budapesti Műszaki Főiskola, Neumann János Informatikai Kar Összefoglaló A BMF NIK jogelőd intézményében már 1995-ben elkezdődött a képfeldolgozás oktatása és kutatása. A korábbi választható tárgy után szakmodulokban jelent meg nagy súllyal ez a terület. Jelenleg már egy vonulatot képez, mert az Informatikai és automatizált rendszerek szakterület több tárgyában is központi szerepbe kerül. E tömb célja, hogy a hallgatók megismerkedjenek korszerű informatikai (XML, webes alkalmazások, szolgáltatások) és mérnöki fejlesztő technológiákkal (MATLAB, LabView, OpenCV), valamint a képfeldolgozás és gépi látás alapú automatizált rendszerek készítésével, az ezekhez szükséges elméleti és gyakorlati alapokkal. A szakterület jelentősen növeli a hallgatók programozási készségét is, mivel mindhárom félévben az elhangzó algoritmusokat folyamatosan implementálniuk kell. A gépi látás és automatizálás témakörben TDK csoportban is lehetősége van a hallgatóknak kiegészíteniük ismereteiket. Ekkor kiscsoportos munkában projektfeladatot készítenek. A legutóbbi Országos Tudományos Diákköri Konferenciákon hallgatóink számos kiemelkedő helyezést értek el.
Kulcsszavak Képfeldolgozás, gépi látás, projekt
Abstract Since 1995, the predecessor in title of BMF NIK has incorporated the teaching and research of image processing and computer vision into the curriculum. Students become acquainted with the theoretical background and the literature in the area of the up-to-date technologies (XML, web application, web services, and MATLAB, LabView, OpenCV) and the computer vision based system development. The specialization significantly improves the programming skills of the student as they have to implement continuously the taught image processing methods. The main emphasis, however, is on an optional application-oriented approach in scientific student group that requires the students to work on major team projects during three semesters in which they apply the theoretical knowledge to a specific application. After developing a detailed system specification, they implement and test their design in these lab courses. Several such student projects have been so successful that the results have been presented at international symposiums, exhibitions and conferences.
Keywords image processing, computer vision, project work
1
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
1. Bevezetés Intézményünkben már majd másfél évtizede elkezdődött a képfeldolgozás oktatása és kutatása. Korábban a Mesterséges intelligencia és a Robotika, majd a Grafika és képi adatbázisok szakterületen jelent meg nagy súllyal ez a témakör. Jelenleg az Informatikai és automatizált rendszerek (IAR) szakterületen folyik gépi látás, valamint képfeldolgozás oktatás. Az elméleti háttér elsajátítása mellet jelentős hangsúlyú a megismert algoritmusok folyamatos implementálása. A területhez TDK szervezésű hallgatói kutatási projektek is kapcsolódnak, amelyek opcionális lehetőséget biztosítanak a témakör mélyebb megismerésére, illetve konkrét rendszerek kifejlesztésére. A szerzők cikkükben bemutatják a szakterület tantárgyainak felépítését, a hallgatók által kifejlesztett programokat, a TDK projekteket és a hallgatók által elért eredményeket. 2. Informatikai és automatizált rendszerek szakterület képfeldolgozáshoz kapcsolódó tárgyai Az informatikus hallgatók a három szemeszteres Informatikai és automatizált rendszerek szakterülete elméleti és gyakorlati képzést is jelent. A tömb célja, hogy a hallgatók megismerkedjenek korszerű informatikai (XML, webes alkalmazások, szolgáltatások) és mérnöki fejlesztő technológiákkal (MATLAB, LabView, OpenCV), valamint a képfeldolgozás és gépi látás alapú automatizált rendszerek készítésével és az ehhez szükséges elméleti és gyakorlati alapokkal. A szakterület jelentősen növeli a hallgatók programozási készségét is. A képfeldolgozáshoz kapcsolódó kötelező szaktárgyi előadások és laborok az alábbiak: Tantárgy –
félév: 4.
5.
6.
összóra
Gépi látás és 3D robotmodellezés alapjai
301f
60
Mérnöki informatika korszerű fejlesztő eszközei
002f
30
Gépi látás
301v
60
A gépi látás és képfeldolgozás témakörei több tantárgyban megjelennek és az elődszakterülethez képest jelentősen kibővültek. Javarészt a (Forsyth, Ponce 2002; Gonzalez et al., 2004; Trucco, Verri 1998) irodalmak alapján a következőkben ismertetett tantárgyakban kerülnek bemutatásra. 2.1.
Gépi látás és 3D robotmodellezés alapjai
A Gépi látás és 3D robotmodellezés alapjai tantárgy keretében a hallgatók elsajátítják a gépi látás (képfeldolgozás) bevezető fogalmait, technikáit, a robotok és környezetük 3D-s modellezésének alapjait, valamint a grafikus megjelenítéshez szükséges egyes elemeket. A tantárgy tartalma:
Gépi látás alapfogalmak A látás alapjai, mintavételezés, kvantálás, digitális képek reprezentációi, képformátumok.
2
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
Elemi képfeldolgozási műveletek Pontműveletek (inverz számítás, geometriai transzformációk), két képes műveletek (aritmetikai és logikai funkciók). Színes képek kezelése Színmodellek, transzformációk a modellek között. Főtengelytranszformáció. Előfeldolgozási módszerek Zajelnyomás alapmódszerei (átlagoló szűrők), morfológiai algoritmusok (medián szűrő, erózió, dilatáció, opening, closing, kontúr és extrénum szűrők), hisztogramok számítása, hisztogram transzformációk, élesítés, időben történő kiegyenlítés és háttérkiegyenlítés. Normalizálás Normalizálás képtartományban és intenzítástartományban. Képiramisok Gauss piramis, Laplace piramis, alkalmazások. Élkiemelési módszerek (kontúrkeresés) Első- és másodrendű parciális deriváltakon alapuló módszerek és ezek javításai (Robert, Sobel, Kirsch, Prewitt, Robinson, Laplace operátorok), élvékonyítás, görbék illesztése kontúrpontokra (regressziós egyenes illesztése), Split and Merge módszer optimalizált illesztéshez. A robotmodellezés matematikai alapjai Robotosított rendszerek általános felépítése. Homogén koordináták és transzformációk, manipulátorok kinematikai kontrolegyenletei, Denavit-Hartenberg karleírás, derékszögű-, henger-, gömbkoordinátás és humanoid robotkarok modelljei, külső koordináták alkalmazása modellezésre: Euler szögek. A direkt és az inverz geometriai feladat A direkt feladat szimbolikus és numerikus megoldási lehetőségei, az inverz feladat megoldási módszerei: az inverz mátrixok módszere, részfeladatokra bontás, geometriai megfontolásokon alapuló megoldás, robotszimulátorok. Vizuális információ alkalmazása robotikai feladatokban Vizuális információ használata a relatív helyzet meghatározáshoz, kamera- és munkatér koordinátarendszerek kapcsolata, 3D-2D leképzési technikák. A laboratóriumi gyakorlatok témái:
A gyakorlatok egy részén a megismert képfeldolgozási algoritmusok kerülnek implementálásra MDI alkalmazásként. A megvalósított programrészek hatékonyságát profiler segítségével vizsgálják a hallgatók. A laborok másik felében egy adott robot mozgáslehetőségeinek szimulációs programját fejlesztik ki a diákok Denavit-Hartenberg módszer használatával. 2.2.
Mérnöki informatika korszerű fejlesztő eszközei
A Mérnöki informatika korszerű fejlesztő eszközei tárgy keretében a hallgatók elsajátítják a MATLAB fejlesztőkörnyezet használatát, jártasságot szereznek a MATLAB programozásában és az Image Processing Toolboxon, illetve az Image Acquisition Toolboxon alapuló fejlesztésben. A tantárgy tartalma:
3
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
MATLAB környezete Digitális képek ábrázolása Mátrixok, műveletek mátrixokkal Programozás MATLAB-ban A MATLAB grafikai megjelenítő eszközei Grafikus felhasználói felületek létrehozása és programozása MATLAB-ban Intenzitás transzformációk Szűrők használata tér- és frekvencia tartományban Színes képfeldolgozás Dilatáció és erózió Képek szegmentálása Image Acquisition Toolbox Kamera kalibráció
A félév során a hallgatók két zárthelyi dolgozat keretében adnak számot tudásukról, illetve egy otthon elkészített képfeldolgozással kapcsolatos feladatot is beadnak, melyet MATLABban készítenek el és grafikus felhasználói felülettel rendelkezik. Ízelítőül felsoroljuk néhány feladat témáját: Különböző éldetektáló algoritmusok használatának demonstrálása Canny éldetektor használatával „élláncok” előállítása Csontvázasítás Szürkeárnyalatos képek intenzitás transzformációinak bemutatása 2.3.
Gépi látás
A tantárgy célja: A tantárgy keretében a hallgatók elsajátítják a képfeldolgozás haladó technikáit, algoritmusait és gyakorlatot szereznek ezek számítógépes implementálásában. A félév második felében az alakfelismerés alapjai és algoritmusai a fő terület, illetve a hallgatók megismerkednek ipari képfeldolgozó eszközökkel. A fejlesztéshez használt kiegészítő eszközök: IPP, OpenCV A tantárgy tartalma:
Kamera kalibráció Kamerák modellezése. Belső és külső paraméterek, Kalibrálás Szegmentálási algoritmusok Binarizálás globális küszöbbel, additív binarizálás lokális küszöbértékekkel, Split and merge módszer régiókra, régiónövesztéses algoritmus, textúra jellemzők meghatározása, csontvázasítás. Képek feldolgozása frekvenciatartományban Fourier transzformálás egy és két dimenzióban, DFT, FFT, alul- és felüláteresztő szűrők, diszkrét koszinusz transzformáció. Élek felismerése Adott futam mentén élek keresése, subpixeles éldetektálás, élfelismerés és éliránymeghatározás SUSAN módszerrel, Hough transzformáció, élkövetési algoritmusok (lánckódolás, lánckódsimítás).
4
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
Alakjellemzők Alakleíró paraméterek, eltolásra, elforgatásra, skálázásra, affin transzformációkra invariáns mennyiségek, nyomatéki leírók és főtengelyek meghatározása, Fourier leírók. Objektumok azonosítása Mintaillesztés. Tulajdonság vektorok készítése, osztályozási módszerek. Waveletek Wavelet transzformáció jellemzői, waveletek használata. Sztereo képfeldolgozás Leíró modell, epipoláris geometria, összetartozó képpontok vizsgálata, diszparitás térképek. Mozgó képek feldolgozása Optical flow alapú módszerek (Horn, Schunk, Lukas-Kanade), piramis használata, apertúra probléma, mozgásdetektálás, mozgáskövetés. Képtömörítési módszerek, videóképek kezelése. Aktív kontúrok Energia minimalizációs görbe. Snake-ek használata szegmentáláshoz és követéshez. Képfeldolgozás alkalmazási területei OCR, dokumentáció feldolgozás, azonosító rendszerek, orvosi alkalmazások, képfeldolgozás alapú ipari minőségbiztosítás, robotlátási feladatok. Robotlátási feladatok Akadályelkerülés, térképezés, navigáció. Útjelzők használata a mozgás során. Gépi látás további alkalmazásai Arcok keresése képeken és arcfelismerés. Gesztusok vizsgálata. Emberek keresése képsorozatokon. Ujjnyomat alapú azonosítás. Más biometrikus rendszerek. Integrált képfeldolgozó rendszerek A laboratóriumi gyakorlatok témái:
A gyakorlatokon a megismert képfeldolgozási, gépi látási algoritmusok kerülnek implementálásra részben általános célú fejlesztő környezetek, részben az Intel IPP és OpenCV képfeldolgozó szoftverkönyvtárak felhasználásával, valamint a MATLAB Image Acquiring és Image Processing Toolbox használatával. 3. Eredmények – Sikeres képfeldolgozás projektek A legutóbbi Országos Tudományos Diákköri Konferenciákon az IAR szakos hallgatóink számos helyezést értek el. 2003-ban a két első, két második és két harmadik díjas munka közül öt dolgozat képfeldolgozás témájú volt, vagy alkalmazott gépi látási technikákat, és továbbfejlesztett változataik később hazai és nemzetközi konferenciákon is megjelentek (Bors et al., 2003; Kertész, Vámossy 2003; Vámossy et al., 2004, 2005). A 2005. évi konferencián a szakterületből két első, három második, két harmadik és két különdíjas projekt került ki, amelyek közül négy témája kapcsolódott a gépi látás területeihez és egy közülük nemzetközi konferencián is bemutatásra került (Szabó, Vámossy 2005). A legutóbbi, 2007-es OTDK-n első és harmadik helyezést elérő dolgozat is gépi látást használt. Mindkét munka továbbfejlesztett változata nemzetközi konferenciákon is bemutatásra került (Mornailla et al., 2006; Vámossy et al., 2007). A következőkben e két hallgatói projektet ismertetjük röviden.
5
Informatika a felsőoktatásban 2008
3.1.
Debrecen, 2008. augusztus 27-29.
Kézfelismerés jelbeszéd tanítás céllal
E projekt célja egy olyan alkalmazás elkészítése volt, amely a halláskárosultak, siketek által használt kézjelek számítógépes felismerését teszi lehetővé. A rendszer hardver eleme egy sztereo kamera. A kamera képen végzett objektumkeresést különböző módszerekkel végzi a rendszer annak érdekében, hogy heterogén környezetben is használható legyen. Ezért az alkalmazás különböző színterekben végez bőrszegmentálást, amit kiegészít egy önszerveződő (Kohonen) háló szintén szegmentálási céllal, valamint mozgásdetektálás. A gyors működés érdekében Gauss képpiramissal kerül meghatározásra a sztereo diszparitásszámítás és térbeli pozíció-meghatározás. A kéz gesztusok felismerése egy neuron hálózattal történik, melynek bemenetét a sztereo képen detektált objektumok jellemző pontjainak párosításából kapott vektorok alkotják, kimenete pedig egy háromdimenziós kézmodell paramétereit szolgáltatják. Az alkalmazás fejlesztése Visual C++ .Net 2.0-ás környezetben, valamint OpenCV, OpengGl és DirectX segéd könyvtárak felhasználásával történt.
Kéz modell ablak
Neurális hálózat tanítási beállítások Neurális hálózat
Képfeldolgozó alg.-ok
Szkeletonizáló algoritmus
Sztereó és Mintarögzítés ablak
Videó ablak
Sztereó algoritmus
Kamera / Videó függvények File I/O
Képformátum konvertálás Magasabb szintű rutinok
Vizuális megjelenítés
Alacsony szintű algoritmusok
Beállítások
1. ábra Jelbeszédet, ujj ABC-t felismerő és tanító rendszer
6
K o n f i g u r á l á s
Informatika a felsőoktatásban 2008
3.2.
Debrecen, 2008. augusztus 27-29.
Mobil robot navigációja PAL optikával
A munka célja egy olyan guruló mobil robot készítése volt, amely PAL-optika felhasználásával önálló, ütközésmentes navigációra képes: homogén vagy gyengén textúrázott közegben való akadálykerülést, sávkövetést végez és a környezeti jelek figyelembevételével azokra képes reagálni. Mozgása során bizonyos esetekben képes térkép készítésére is. A robot egy átalakított RC autómodell, melyre PAL-optikás wireless kamerát rögzítettünk. A vezérlő szoftver a PAL képből kap információt a környezetről. A 360°-os kameraképből kinyert adatokból a program automatikusan vezérli a robotot. A feldolgozási pipeline felépítésű: a kameráról beérkező képet az input modul szedi le a tuner egységről, innen a keretrendszer továbbítja azt az előfeldolgozó modul számára. Az előfeldolgozó a beérkező képen elvégzi a szükséges transzformációkat (kiterítés, illetve virtuális felülnézeti transzformáció), majd továbbadja a már feldolgozott képet a keretrendszeren keresztül a döntéshozó modulnak. Amennyiben e modul aktív (tehát nem kézi vezérlésen van a robot), úgy a programjának megfelelően meghozza a szükségesnek ítélt változtatást a robot mozgásában, és továbbítja azt a navigációs alrendszernek. A navigációs modul (Szénási, Jankó 2007) pedig a döntést (amelyet vagy a felhasználótól, vagy a vezérlő modultól kapta) átalakítja a megfelelő irányítókód-kombinációra, és soros porton keresztül kiküldi az átalakított távirányítónak. 4. Összefoglalás A képfeldolgozás gyakorlat orientált oktatása és e területen TDK tevékenység végzése a BMF Neumann Informatikai Karán nagy hagyományokkal bír, melynek sikerét mutatják a bemutatott projektek, az OTDK-n elért helyezések. Projekteken edződött hallgatóink évek óta részt vesznek a Summer School on Image Processing és az Intensive Programme on Computer Vision nyári egyetemeken is, ahol külföldi és hazai egyetemi és PhD hallgatókkal dolgozhatnak egy csapatban. Nagy örömünkre szolgál, hogy hallgatóink megálljuk helyüket ezeken a megmérettetéseken is. Irodalomjegyzék [1]
Bors, B., Horváth, R., Safranka, M., Vámossy, Z., (2003) CERBERUS Project, Human Verification: a Biometric Approach, In: IEEE International Conference on Computational Cybernetics, Siófok, August 29-31, 2003., (CD issue)
[2]
D. Forsyth, J Ponce (2002) Computer Vision – A Modern Approach, Prentice Hall Int.
[3]
R. C. Gonzalez, R. E. Woods, S. L. Eddins (2004) Digital Image Processing Using MATLAB, Pearson Prentice Hall
[4]
Kertész Cs., Vámossy Z. (2003): Steganograf, 2. Magyar Számítógépes grafika és geometria konferencia, Budapest, NJSZT-Grafgeo, Budapest, ISBN 963 420 766 9, 150–156.
[5]
Mornailla, L., Pekár, T. G., Solymosi, Cs. G., Vámossy, Z. (2006) Mobile Robot Navigation Using Omnidirectional Vision, in Proc. 15th International Workshop on Robotics in Alpe-Adria-Danube Region, June 15–17, 2006, Balatonfüred, Hungary, CD, ISBN 963 7154 48 5
7
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
[6]
Szabó, Zs, Vámossy, Z.(2005): Platform-independent AIBO Navigation through the Internet, SACI Timisoara
[7]
Szénási, S., Jankó, D., (2007) Internet-based decision-support system in the field of traffic safety on public road networks, 6th European Transport Congress, Budapest, Hungary, pp. 131–136
[8]
E. Trucco, A. Verri (1998) Introductory Techniques for Computer Vision, Prentice Hall Int.
[9]
Vámossy, Z., Molnár, A., Hirschberg, P., Tóth, Á., Máthé, B. (2003) Mobile Robot Navigation Projects at BMF NIK, In: International Conference in Memorian John von Neumann, December 12, 2003., Budapest, 209–219.
[10] Vámossy, Z., Molnár, A., Balázs, A., Pécskai, B., Supola, B., (2004) FOBOT, the Hexapod Walking Robot, 35th International Symposium on Robotics (IFR), Paris-Nord Villepinte, 23-26. March 2004., abstract: 15–16, (CD issue) [11] Vámossy, Z., Kladek, D., Fazekas, L. (2004) Environment mapping with laser-based and other sensors, In: IEEE International Workshop on Robot Sensing, ROSE 2004, Graz, ISBN: 0-7803-8297-8, 74–78. [12] Vámossy, Z., Tóth, Á., Hirschberg, P. (2004) PAL Based Localization Using Pyramidal Lucas-Kanade Feature Tracker, In: Simposium on Intelligent Systems, SISY 2004, Subotica, Serbia and Montenegro, 223–231. [13] Vámossy, Z., Tóth, A., Benedek, B. (2007) Virtual Hand – Hand Gesture Recognition System, in Proc. 5th International Symposium on Intelligent Systems and Informatics, Subotica, Serbia, 2007, pp. 97–102, ISBN 1-4244-1443-1, IEEE C. N.: 07EX1865C
8