Minták automatikus osztályba sorolása a mintát leíró jellemzők alapján. Típusok: felügyelt és felügyelet nélküli tanuló eljárások

Hasonló dokumentumok
Példák jellemzőkre: - minden pixelérték egy jellemző pl. neurális hálózat esetében csak kis képekre, nem invariáns sem a megvilágításra, sem a geom.

Az objektum leírására szolgálnak. Mire jók? Sokszor maga a jellemző az érdekes: Tömörítés. Objektumok csoportosítására

Szürke árnyalat: R=G=B. OPENCV: BGR Mátrix típus: CV_8UC3 Pont típus: img.at<vec3b>(i, j) Tartomány: R, G, B [0, 255]

Szürke árnyalat: R=G=B. OPENCV: BGR Mátrix típus: CV_8UC3 Pont típus: img.at<vec3b>(i, j) Tartomány: R, G, B [0, 255]

11. Alakzatjellemzők. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

Él: a képfüggvény hirtelen változása. Típusai. Felvételeken zajos formában jelennek meg. Lépcsős

Egy (k) küszöb esetén [0, 1] intenzitástartományt feltételezve (v 2 v 2 ):

KÉPFELDOLGOZÁS. 10. gyakorlat: Morfológiai műveletek, alakjellemzők

6. Modell illesztés, alakzatok

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Térbeli transzformációk, a tér leképezése síkra

Lényege: valamilyen szempont szerint homogén csoportok képzése a pixelekből. Amit már ismerünk:

GPU Lab. 14. fejezet. OpenCL textúra használat. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

8. Pontmegfeleltetések

7. Régió alapú szegmentálás

Digitális képek szegmentálása. 5. Textúra. Kató Zoltán.

Láthatósági kérdések

Gyakorló feladatok adatbányászati technikák tantárgyhoz

Éldetektálás, szegmentálás (folytatás) Orvosi képdiagnosztika 11_2 ea

Számítási feladatok a Számítógépi geometria órához

Számítógépes Grafika SZIE YMÉK

Egybevágósági transzformációk. A geometriai transzformációk olyan függvények, amelyek ponthoz pontot rendelnek hozzá.

Egyenes mert nincs se kezdő se végpontja

Képfeldolgozás. 1. el adás. A képfeldolgozás m veletei. Mechatronikai mérnök szak BME, 2008

Gépi tanulás. Féligellenőrzött tanulás. Pataki Béla (Bolgár Bence)

INFORMATIKA javítókulcs 2016

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Geometria III.

Transzformációk síkon, térben

Képszegmentáló eljárások. Orvosi képdiagnosztika 2018 ősz

Készítette:

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Kétdimenziós alakelemzés. Digitális képelemzés alapvető algoritmusai. Alakelemzés feladatai. Kétdimenziós alakelemzés tárgyai. Csetverikov Dmitrij

Koordináta-geometria feladatgyűjtemény

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

Koordináta-geometria feladatok (emelt szint)

Geometria 1 összefoglalás o konvex szögek

Adatbányászati szemelvények MapReduce környezetben

Képrekonstrukció 9. előadás

3. Szűrés képtérben. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

Matematika szóbeli érettségi témakörök 2016/2017-es tanév őszi vizsgaidőszak

Loványi István vizsgakérdései kidolgozva (béta)

Érettségi feladatok Koordinátageometria_rendszerezve / 5

Közösség detektálás gráfokban

Felvételi tematika INFORMATIKA

Rendszámfelismerő rendszerek

Gépi tanulás a gyakorlatban. Bevezetés

BME MOGI Gépészeti informatika 18. Grafika, fájlkezelés gyakorló óra. 1. feladat Készítsen alkalmazást az = +

Matematika 11 Koordináta geometria. matematika és fizika szakos középiskolai tanár. > o < szeptember 27.

11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi.

Érettségi feladatok: Koordináta-geometria 1/5

Transzformációk. Grafikus játékok fejlesztése Szécsi László t05-transform

Számítógépes Grafika mintafeladatok

10. Koordinátageometria

4. Jellemző pontok kinyerése és megfeleltetése

Babeş Bolyai Tudományegyetem, Kolozsvár Matematika és Informatika Kar Magyar Matematika és Informatika Intézet

Egyszerű példaprogramok gyakorláshoz

Színes képek feldolgozása

MATEMATIKA HETI 5 ÓRA

Bevezetés a programozásba. 9. Előadás: Rekordok

(Solid modeling, Geometric modeling) Testmodell: egy létező vagy elképzelt objektum digitális reprezentációja.

A médiatechnológia alapjai

Adatelemzés és adatbányászat MSc

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

10. gyakorlat Struktúrák, uniók, típusdefiníciók

IV. Felkészítő feladatsor

Koordináta geometria III.

Digitális képfeldolgozás gyakorlat, Nappali tagozat 2018/2019 őszi félév, Beadandó feladat

Hajder Levente 2017/2018. II. félév

Képfeldolgozás Szegmentálás Osztályozás Képfelismerés Térbeli rekonstrukció

Példa keresztmetszet másodrendű nyomatékainak számítására

Statisztikai eljárások a mintafelismerésben és a gépi tanulásban

Eredmények, objektumok grafikus megjelenítése 3D felületek rajzoló függvényei

Feladatok Házi feladat. Keszeg Attila

Koordináta-geometria feladatgyűjtemény (A feladatok megoldásai a dokumentum végén találhatók)

20. tétel A kör és a parabola a koordinátasíkon, egyenessel való kölcsönös helyzetük. Másodfokú egyenlőtlenségek.

: 1 4 : 1 1 A ) B ) C ) D ) 93

A KLT (Kanade Lucas Tomasi) Feature Tracker Működése (jellegzetes pontok választása és követése)

5. 3D rekonstrukció. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

2. ELŐADÁS. Transzformációk Egyszerű alakzatok

Koordinátageometria. , azaz ( ) a B halmazt pontosan azok a pontok alkotják, amelynek koordinátáira:

Statisztika - bevezetés Méréselmélet PE MIK MI_BSc VI_BSc 1

Transzformációk. Szécsi László

2. Pont operációk. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

Máté: Számítógépes grafika alapjai

Programozási technológia I. 1. beadandó feladatsor

NULLADIK MATEMATIKA ZÁRTHELYI

Fotogrammetriai munkaállomások szoftvermoduljainak tervezése. Dr. habil. Jancsó Tamás Óbudai Egyetem, Alba Regia Műszaki Kar

Önálló labor beszámoló Képek szegmentálása textúra analízis segítségével. MAJF21 Eisenberger András május 22. Konzulens: Dr.

x = cos αx sin αy y = sin αx + cos αy 2. Mi a X/Y/Z tengely körüli forgatás transzformációs mátrixa 3D-ben?

Grafikonok automatikus elemzése

BME MOGI Gépészeti informatika 6.

Koordináta-geometria alapozó feladatok

Képrekonstrukció 6. előadás

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK EMELT SZINT Koordinátageometria

Mit lássunk élnek? Hol van az él? Milyen vastag legyen? Hol

Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében

A távérzékelt felvételek tematikus kiértékelésének lépései

Kérdés Lista. A Magyarországon alkalmazott rajzlapoknál mekkora az oldalak aránya?

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt!

Átírás:

Minták automatikus osztályba sorolása a mintát leíró jellemzők alapján Típusok: felügyelt és felügyelet nélküli tanuló eljárások Különbség: előbbinél szükséges egy olyan tanulóhalmaz, ahol ismert a minták besorolása utóbbi automatikus módon képezi az osztályokat Mai óra: felügyelet nélküli tanítás

Ideális esetben a minták olyan leírói, amelyek értékei az azonos osztályba tartozó mintákra nézve hasonlóak, a különböző osztályba tartozó mintáknál pedig nem. Alapvető kategóriák: Intenzitásérték, színezet Textúraleírók Alakleírók Előbbiek az objektumok szegmentálásra is alkalmasak lehetnek Utóbbi esetben abból indulunk ki, hogy az objektum már megvan

LBP (local binary pattern) + hisztogram GLCM: (graylevel co-occurrence matrix) szürkeskálás együttes előfordulási mátrixra épülő (Harlick) jellemzők HOG: Gradiens-irány hisztogram szűrőrendszer Haar jellemzők Szűrőrendszerek(ből számolt jellemzők) HOG Haar

Kiindulási pont: a leírni kívánt objektum Például: körvonal, maszk, maszk alatti képrész Terület: contourarea(kontúr, orientáció); Kerület: arclength(kontúr, zárt-e); Befoglaló téglalap: boundingrect(kontúr); Minimális területű befoglaló téglalap: RotatedRect minarearect(kontúr); Befoglaló ellipszis: RotatedRect fitellipse(kontúr) Befoglaló kör: minenclosingcircle(inputarray kontúr, Point2f& kp, float& sugar);

konvex burok kerülete konvexitás = objektum kerülete cv::convexhull(contour, convhull, false, true ); cirkularitás = terület kerület 2 vagy 4π terület kerület 2 (körre maximális) kompaktság = kerület2 terület vagy 4 terület π átmérő vagy 4π terület átmérő átmérő = max d(p, q) p,q C ekvivalensköratmerő = 2 terület π C: kontúr szálhossz = 0.25(kerület + kerület 2 16 terület) szálszelesség = 0.25(kerület kerület 2 16 terület) excentricitás = főtengely hossza melléktengely hosza Tengelyek meghatározása pl. a befoglaló ellipszis alapján vagy a leghosszabb obj-n belüli szakaszt véve főtengelynek, és arra merőleges leghosszabbat melléktengelynek.

OpenCV-ben Moments m = moments( kép/kontúr, bináris-e?); //bináris-e a kép (kontúrnál alap) Bináris-e: NEM I(x,y) a világosságkód érték, x, y a kép koordinátái Bináris-e: IGEN x, y csak az objektumpontok koordinátái, I (x,y) = 1-nek tekintve Jellemzők: m.mpq, ahol pq: 00, 10, 01, 11, 20, 02, 21, 12, 30, 03 A p+q-adrendű térbeli (geometriai) momentum számítása m pq = x p y q I(x, y) x y Súlypont számítása: C(x, y) = m 10 m 00, m 01 m 00 (Bináris képnél a koordináták átlaga, szürkeskálásnál az intenzitásértékkel súlyozott átlaga)

OpenCV-ben Moments m = moments( kép, bináris-e); //bináris-e: maszk vagy kép Bináris-e: NEM I(x,y) a világosságkód érték, x, y a kép koordinátái Bináris-e: IGEN x, y csak az objektumpontok koordinátái, I (x,y) = 1-nek tekintve Jellemzők: m.mupq, ahol pq: 11, 20, 02, 21, 12, 03, 30 A p+q-adrendű centrális momentum számítása mu pq = (x x) ҧ p (y തy) q I(x, y) x y

OpenCV-ben Moments m = moments( kép, bináris-e); Bináris-e: NEM I(x,y) a világosságkód érték, x, y a kép koordinátái Bináris-e: IGEN x, y csak az objektumpontok koordinátái, I (x,y) = 1-nek tekintve Jellemzők: m.nupq, ahol pq: 11, 20, 02, 21, 12, 30, 03 A p+q-adrendű normalizát centrális momentum számítása mu pq nu pq = 1 + (p + q)/2 mu pq a p+q-ad rendű centrális momentum

OpenCV-ben Moments m = moments( kép, bináris-e); double hu[7]; HuMoments humoments(m, hu); //bináris-e: maszk vagy kép //momentumok tárolására //HU momentumok számítása Normalizált centrális momentumokból számolhatók Affin transzformációkra invariáns (skálázás, forgatásra, ) (digitális világ: az eredeti és az elfogatott/skálázott obejektum HU momentumai különbözhetnek) A tulajdonságaiból következően hasznos pl. ha a felismerendő alakzat forgatás invariáns ne használd, ha a felismerendő alakzatnak fontos a mérete, orientációja

A minták besorolása automatikus módon kialakított osztályokba előre meghatározott jellemzők alapján Előfeldolgozás: minden mintának meghatározzuk a jellemzővektorát (az egyedi jellemzőkből álló n dimenziós vektor) ha szükséges szűrjük, normalizáljuk az adatokat Kmeans K darab középpontok választása ( pl. véletlenszerűen, vagy a priori ismeret alapján vektor) Ciklus, amíg van (érdemi) változás (és az iterációk száma egy határ alatt van): minták besorolása a legközelebbi klaszterbe: a klaszterközéppontot leíró vektor és a mintát leíró vektor távolsága alapján klaszterközéppontok újraszámítása

Olvass be egy képet színesbe Konvertáld át CV_32F-be convertto Konvertáld át CIE Lab színtérbe (lab kép) cvtcolor A képpontokat leíró jellemzők a L, a, b értékek lesznek, tehát a három csatornás, kep.rows kep.cols méretű mátrixból kell egy 1 csatornás, kep.rows*kep.cols 3-as mátrixot gyártani: Mat data = lab.reshape(1, kep.rows*kep.cols) A reshape függvénynek a csatornák (1) és a sorok számát (kep.rows*kep.cols) adatuk meg, az oszlopot automatikusan számolja.

Hozz létre egy kritériumot, ami megadja, hogy hány iteráció után, milyen változás alatt álljon le a K-közép eljárás. Pl: TermCriteria krit( TermCriteria::Type::EPS TermCriteria::Type::MAX_ITER, 100, 0.001); Végezd el a klaszterezést: kmeans( InputArray data, // a jellemzőmátrix int k, // a klaszterek maximális száma InputOutputArray bestlabels, // véletlen középpontnál ez sima üres Mat. TermCriteria krit, //a leállási feltétel int attempt, // kísérletek száma int flag, // inicializálási mód, pl. KmeansFlags::KMEANS_RANDOM_CENTERS, OutputArray centers=noarray() // a klaszterek középpontjai );

A jellemzőmátrix i. sorához a bestlabels.at<int>(i) adja meg a klaszterindexet. A klaszterindexből megkapható a klaszterközépponthoz tartozó jellemzővektor, ami jelen esetben egy CIE Lab beli színvektor (a klaszterre "jellemző" szín): center.at<vec3f>( bestlabels.at<int>(i) ) A jellemzőmátrix i. sora a kép (i / kep.cols, i % kep.cols) pontjához tartozik. ( vs. mátrix sorfolytonos ábrázolása ) Hozz létre egy CV_32FC3, az eredeti képpel azonos képet Járd be a címkéket ( for(int i = 0; i<bestlabels.rows, ++i ) Az eredménykép megfelelő pontjához rendelt hozzá a klaszterre jellemző színt. Konvertáld vissza a képet RGB-be: convertto Konvertáld vissza a képet a [0, 255] tartományra. cvtcolor

Használj egy olyan képet, amelyen többféle textúra látható. Pl.: https://arato.inf.unideb.hu/szeghalmy.szilvia/kepfeld/img/texture.png Töltsd le a az alábbi kódrészletet, mely egy szűrőbankot valósít meg https://arato.inf.unideb.hu/szeghalmy.szilvia/kepfeld/kod/features.zip A MaximumResponse8 függvényét fogjuk használni: Az ábrán egy sorban lévő szűrők egymás elforgatottjai, ezek közül csak annak a szűrőnek az eredményét használjuk, amelyik a maximális választ adja. A függvény szürkeskálás képet vár és 8 képet ad vissza egy vektorban. vector<mat> dest;

Hozz létre egy megfelelő méretű jellemzőmátrixot: sorok száma: összes képpont száma oszlopok száma: 8 ( ha az eredeti kép színes, csatornánként végrehajtva a szűrést 24 jellemzőt is használhatsz ) típus: CV_32F Töltsd fel a mátrix sorait a pixelekhez tartozó jellemzőkkel: Az eredeti kép (x, y) pontjához tartozó jellemzővektort az MR8 által adott eredményképeken lévő (x, y) értékekből kell összeállítanod. Hívd meg a korábbihoz hasonló módon a kmeans függvényt. A klaszter középpontok jelen esetben nem érdekesek.

Megjelenítés Hozz létre egy eredeti képpel azonos méretű képet (CV_8UC3) Hozz létre egy legalább K méretű Vec3b tömböt és töltsd fel véletlenszerű színekkel. Járd be a kmeans által megadott címkéket (korábban bestlabels) Ha a címke értéke [0, K[ tartományba esik, akkor rendeld hozzá a megfelelő képponthoz a címkének megfelelő színt. Egyébként rendelj hozzá tiszta feketét.