Ipari képfeldolgozás

Lépcső- és ajtófelismerés videófelvételeken

Első mérföldkő

  1. 1. SZAKIRODALOM FELDOLGOZÁSA
    1. 1.1. BEVEZETÉS
    2. A feladat alapötlete egy SSIP konferenciás Zernike momentumokat használó feladat megoldásán alapul [1], a célfeladat ki lett bővítve, mivel nemcsak a képek csoportba sorolását kell elvégezni, hanem videófelvételen külön-külön meg kell címkézni az egyes ajtókat illetve a lépcsőket. A problémával külön-külön több publikáció is megjelent [1-10], ezért a problémát két részre bontva oldjuk meg külön foglalkozunk az ajtó és a lépcső detektálásokkal, valószínűleg az eltérő geometriai paraméterek miatt nincs jelen a szakirodalomban a két detektálás egyidejű megoldása. A probléma egyébként a robotnavigációs terület egyik sokat kutatott területe, több publikáció is megjelent ajtó detektálással foglal-kozó robot navigációs rendszerekről [2 - 7] illetve lépcső detektálással foglalkozó navigációs rendszerekről [8-10], éppen ezért is választottuk ezt a témát, mint mérnökinformatikus mesterképzéses hallgatók. A szakirodalomban lévő publiká-ciók alapján a 90%-os detektálási hatékonyság már jónak mondható.

    3. 1.2. ELŐFELDOLGOZÓ MŰVELETEK
    4. A szakirodalomban található cikkek a képeken az alábbi képfeldolgozó műveletek végzik el:

      • videó képkockákra való bontása
      • él detektálás ( Canny éldetektorral)
      • Hough transzformáció
      • képátméretezés
      • küszöbértékes szűrés

      A küszöbérték szűrés a későbbi felhasználástól függően történik, sok esetben egyszerű bináris képpé alakítják az előfeldolgozás során a képes, egyes algoritmusok azonban a kép részletes eloszlást is figyelembe veszik,aminek elő-nye a több információ,hátránya pedig a nagyobb számítási igény.

    5. 1.3. AJTÓ DETEKTÁLÁS SORÁN FIGYELEMBE VETT PARAMÉTEREK
      1. 1.3.1. OLDALAK ARÁNYA
      2. Az ajtók ezenkívül meghatározott vertikális és horizontális arány intervallummal rendelkeznek, amely több információ kiegészítve jól felhasználható a detektálásukra. [5, 7]

      3. 1.3.2. FALTÓL VALÓ ELTÉRÉS
      4. A faltól való megkülönböztetésre hisztogram alapú módszereket is használnak. Ezenkívül egyes esetekben kihasznál-ható, hogy az ajtó nem párhuzamos a fal felülettel, hanem a tokozási kialakítás függően egy kicsit bentebb vagy kintebb helyezkedik el, szerencsés esetekben a tok és a küszöb vonala is detektálható [5].

      5. 1.3.3. KILINCS
      6. Speciális geometriai adatként figyelembe lehet venni, hogy minden ajtó rendelkezik kilinccsel. Kétféle alapvető kilincs típust különböztethetünk meg a kerek alakú körkilincs, illetve a fogantyúval rendelkező szögletes. Ezek a különböző kilincsek detektálhatóak egy adott ROI-n belül [2].

  2. 1.4. LÉPCSŐ DETEKTÁLÁS
    1. 1.4.1. OLDALAK ARÁNYA
    2. A lépcsők jól lehatárolható vertikális és horizontális arány intervallummal rendelkeznek, ami további információkkal ki-egészítve jól felhasználható a detektálásukra. [4] Egy lépcsőtől mindenképpen elvárható, hogy a szélessége mindképpen nagyobb legyen, mint a magassága és a mélysége.

    3. 1.4.2. LÉPCSŐFOKOK PÁRHUZAMOSSÁGA
    4. A lépcsőktől elvárható, hogy a lépcsőfokok egymással párhuzamosak legyenek, és a valóságban általában közelítőleg azonos mélységgel rendelkeznek [4,8].

    5. 1.4.3. LÉPCSŐFOKOK TÉRBELI ELHELYEZKEDÉSE
    6. A lépcsőktől elvárható, hogy a valóságban azonos magasságúak legyenek, tehát a lépcső szegletekre illeszthető legyen egy állandó meredekségű görbe (egyenes). Ezenkívül az egyes lépcső fok hisztogramjaiból is nyerhető ki a lépcsőfokokra vonatkozó információ, amelyből a lépcső iránya is meghatározható. [9]

  3. 2. VÁLASZTOTT MÓDSZEREK
    1. 2.1. IMPLEMENTÁCIÓ OPENCV-BEN
    2. Az áttekintett szakirodalom alapján az egyik lehetséges választott módszer folyamatábrája a következő:

      1.ábra: Algoritmus folyamatábrája.

      Egyes megoldások nemcsak az adott kép geometriáját vesznek figyelembe, hanem egy tanító adatbázis alapján határoz-zák meg a szegmentálásnál használt paraméterek értékeit [1, 3, 5, 10], ha nem kapunk elég jó eredményt, akkor ilyen statisztika vizsgálatokkal, illetve a paraméterek megfelelő súlyozással kiegészítjük az algoritmust.

      Az ajtónál a kilincs és a tokozás illetve a lépcsőfokok térbeli elhelyezkedésének figyelembevételétől eltekintünk abban az esetben, ha a használatuk során nem kapunk jobb eredményt vagy pedig azok nélkül is jó eredményt kapunk a tesz-teken.

    3. 2.2. MEGOLDÁS MATLAB-BAN, CNN SEGÍTSÉGÉVEL
    4. A fentebb említett képfeldolgozást használó módszer mellett a szakirodalmak alapján szem előtt tartunk egy olyan módszert is, mely a gépi tanulást (deep learning) használja a címkék létrehozásához. A megoldás során a tanuló algo-ritmusok közül CNN-t (convolutional neural network), azaz konvolúciós neurális hálót használnánk.

      Ehhez a MATLAB-hoz elérhető „Deep Learning for Computer Vision with MATLAB” példát vennénk alapul. A módszer során elengedhetetlen egy kellő számú tanuló adatbázis, mely mintaképeket tartalmaz különböző ajtó- illetve lépcső változatokról. Ezek alapján taníthatjuk az algoritmusunkat. Elérhető egy kellően nagy méretű (1,2 millió címkézett nagyfelbontású kép, 1000 kategóriában) képi adatbázis, az ImageNet, melyet az általunk készített képekkel kibővíthe-tünk, és felhasználhatjuk a megoldás során.

      Segítségünkre lehet továbbá a [12]-es szakirodalomban bemutatott MatConvNet, mely szintén hasonló feladatot való-sít meg.

      Amennyiben a neurális hálós megoldás túlzottan erőforrásigényes lenne, úgy a döntéshez használhatunk döntési fát is.

  4. 3. VÁLASZTOTT MÓDSZEREK KÖLTSÉGTERVE
    1. 3.1. HARDVER KÖLTSÉG
    2. A módszerek egyike sem igényli különleges hardver eszköz beszerzését. A mindennapokban használt kamerák, fényké-pezőgépek, mobiltelefon kamerák által készített felvételek a célnak megfelelnek.

    3. 3.2. SZOFTVER KÖLTSÉG
    4. Az implementációhoz használt OpenCV a 3 pontos (revidiált) BSD licenszt használ, a licenc részletes leírása az alábbi linken található:
      http://opencv.org/license.html

      Az operációs rendszerként használt Ubuntu illetve a használt c++ fordító pedig GNU GPL és GNU LPGL licenszek alá esnek, részletes információ:
      https://www.ubuntu.com/about/about-ubuntu/licensing

      A MATLAB-os megoldás során a költségtervbe bele kell foglalnunk a MATLAB szoftver árát, mely egyetemi hallgatók-nak 35 EUR áron érhető el, ugyanakkor a standard verzió 2000 EUR:
      https://www.mathworks.com/pricing-licensing.html?prodcode=ML&intendeduse=comm