Számítógépes látórendszerek - Ellenőrző kérdések: Detektálás, Osztályozás
Mit jelent a detektálás/lényegkiemelés, illetve az osztályozás? Milyen nehézségekkel kerülünk szembe az egyes feladatok esetén?
Objektumfelismerés
Cél: Valamilyen szempontból fontos részletek megragadása. Általában bonyolultabb, mint egy képjellemző
Detektálás/lényegkiemelés
Bonyolultabb, érdekes képrészletek, objektumok azonosítása.
Tipikus példák:
- OCR (Optical Character Recognition)
- Arcfelismerés
- Markerek felismerése
Osztályozás
Cél: A képen különböző objektum kategóriák detektálása. Általános kategóriák (ember, szék, autó, stb.), nem konkrét objektumok
Nehézség
- Az egyes kategóriákon belül nagy variáció → Nehéz a releváns jellemzők megragadása.
- Különböző nézőpont
- Transzformáció
Ismertesse a template matching algoritmust! Milyen transzformációk esetén biztosít invarianciát az algoritmus?
Template matching
Template: A keresett objektumról referenciakép. Kernel helyett használjuk.
Transzformációk
- Megvilágítás
- A kereszt-korreláció se az additív, se a multiplikatív megvilágítás változásra sem invariáns!
- Megoldás: Normalizáljuk a pixelértékeket!
- Vonjuk le az átlagos intenzitást
- És osszuk el őket a varianciájukkal
- Skála
- Nincs skálainvariancia!
- Template piramissal azért megoldható...
- Elforgatás
- Nincs elforgatás invariancia!
- Több, előre elforgatott template
Mit jelent a gépi tanulás?
Milyen típusai és tipikus feladatai vannak?
Mi az a bináris klasszifikációs probléma és hogyan terjeszthető ki nem bináris esetre?
Mit jelent a lineáris szétválaszthatóság?
Gépi tanulás
A mesterséges intelligencia egy fajtája. Explicit programozás nélkül old meg bizonyos feladatokat.
Típusai
- Felügyelt tanulás (Supervised Learning): A tanítást példák alapján csináljuk → Az algoritmus ismeri a tanító példákra adandó helyes választ.
- Felügyelet nélküli tanítás (Unsupervised Learning): Itt is vannak példák, de a helyes válasz nem ismert.
- Megerősítéses tanulás (Reinforcement Learning): A működés során döntések sorozatát kell meghozni, de visszajelzés csak a sorozat végén lehetséges. Pl.: Járművezetés, Sakk
Feladatok
- Felügyelt tanulás
- Osztályozás: Bináris/több állapotú címke eltalálása
- Regresszió: Folytonos érték megbecslése
- Felügyelet nélküli tanulás
- Reprezentációk tanulása
- Klaszterezés (Clustering)
- Dimenzió redukció
- PCA – Főkomponens Analízis (Principal Component Analysis)
- Mély Tanulás (Deep Learning)
- Autoencoder, RBM (Restricted Boltzmann Machine) DBN (Deep Belief Networks)
- Reprezentációk tanulása
Bináris osztályozás
Cél: Egy olyan becslő elkészítése, amely az adatvektorok alapján képes azok címkéit meghatározni.
- A becslő struktúrájáról mi döntünk
- A paramétereit tanulás segítségével határozzuk meg
Nem bináris eset
Építkezzünk bináris osztályozókból! Stratégiák:
- 1 vs. mindenki más típusú osztályozók
- 1 vs. 1 típusú osztályozók: szavazásos módszer
Ismertesse a kNN algoritmust!
K Nearest Neighbor – k legközelebbi szomszéd Az osztályozandó példához legközelebb eső k tanító adatot vesszük figyelembe Az ő címkéjük alapján dönt az algoritmus az adott problémáról.
Ismertesse a Bayes hálók működését!
- Irányított körmentes gráf
- Csomópontok: Változók (Valószínűségi)
- Élek: Változók közti ok-okzati kapcsolatok (Feltételes eloszlásfüggvény)
Működés
Új adat (bizonyíték) érkezik → A háló sűrűségfüggvényeit frissíteni kell! A csomópontok üzennek egymásnak (mindkét irányban): Belief Propagation
Ismertesse a percepton/neuron algoritmust! Hogyan terjeszthető ki nemlineáris esetre?
Ismertesse a Support Vector Machine (SVM) algoritmust!
Hogyan terjeszthető ki nemlineáris esetre?
Support vector
Azok a vektorok, amelyek távolsága az elválasztó hipersíktól pont a rés mértéke
- Mindig legalább kettő SV van – a sík két oldalán
- Miért? Mert különben a síkot arrébb lehet mozgatni, hogy mindkét vektortól ugyanolyan távolságra legyen → a rés növekedni fog.
Tanuló algoritmus
Az elválasztó hipersíkot nem a normálvektorával és az origótól vett távolsággal, hanem a support vektorok segítségével írja le. Maximális résű elválasztó síkot talál
Mi a klaszterezés, mire jó?
Ismertessen klaszterező algoritmusokat!
Mi az erős és a gyenge hozzárendelés, és hogyan kapcsolódik az egyes algoritmusokhoz?
Klaszterezés
- Felügyelet nélküli tanulási módszer
- Feladat: Adott egy halmaz. Szedjük őket részhalmazokra (klaszterekre), úgy, hogy az valamilyen szempontból optimális legyen Minden klaszternek sorszáma van → Ez lesz az adat címkéje.
Algoritmusok
- k-Means:
- Vegyünk fel k db pontot (ezek lesznek a középpontok) véletlenszerűen
- A konvergenciáig:
- Minden pontot rendeljünk hozzá ahhoz a klaszterhez, amelyik középpontjához a legközelebb van
- A klaszterek új középpontja legyen a hozzá tartozó pontok átlaga
- Mixture of Gaussians (MoG)
- A pontok eloszlását képzeljük el k db normális eloszlás összegeként
- Határozzuk meg ezeket az eloszlásokat a maxmimum likelihood elv segítségével
Mutassa be a főkomponens analízis (PCA) algoritmust!
PCA - Principal Component Analysis
T.F.H.: A változóink nagyjából normális eloszlásúak, 0 középértékkel
- Keressük azokat az irányokat, amerre a legnagyobb a szórás.
- Az így definiált új változók függetlenek lesznek.
Cél: Keressük meg azt a bázistranszformációt, ami a standard bázisban felírt adatokat a főkomponensek által meghatározott bázisba viszi.
Mi a mély tanulás és mire jó? Mutassa be a legfontosabb mély tanuló struktúrákat!
2015-ben nem kell!
Ismertesse a Bag of Words osztályozó algoritmus működési elvét!
Milyen előnyei és hátrányai vannak más módszerekkel szemben?
Bag of Words
Minden dokumentum egy zsák, amiben szavak találhatóak. A szavak előfordulása, vagy sűrűsége alapján következtetünk a dokumentum témájára.
Lépései
- Vizuális szavak keresése
- Vizuális szótár építése
- Az egyes képek osztályozása
Hátránya
- Képeket osztályozunk: Jelen van / nincs jelen típusú válasz
- Vizuális szavak leírása
- Csak a jelenlétről van információnk
- A pozíció nem szerepel sehol
- A BoW nem túl jó lokalizációs (detektálás) feladatra