A cv4sensorhub témában folyamatosan számos önálló labor, szakdolgozat, diplomaterv, TDK és PhD téma várja a lelkes jelentkezőket. A témaválasztáshoz két fő irány áll rendelkezésre:
- Ha úgy általában tetszik valamelyik alkalmazás a bal oldali listáról, írj és megbeszéljük, hogy azon belül éppen milyen fejlesztési lehetőségek vannak. (Ötlet mindig több van, mint kapacitás. :) )
- Az alábbi listában olyan témafelvetések szerepelnek, melyre most per pillanat kifejezetten keresünk embereket. De fontos, hogy nem csak ezekre lehet jelentkezni. Ha a témakör tetszik, kitaláljuk, hogyan lesz win-win mindenkinek.
A témák itteni leírása mellett még érdemes megnézni az alkalmazások saját oldalait, valamint a demó videókat a publikációk és média oldalon.
Az összes témára igaz, hogy
- Felhasználói felület fejlesztése mikroszkóp felvételek elemzésére UWP alapokon
- GrainAutLine: mikroszkópfelvételek szegmentációja és elemzése
- Szemcse osztályozási módszerek fejlesztése machine learning alapokon
- Útburkolati repedések azonosítása
Felhasználói felület fejlesztése mikroszkóp felvételek elemzésére UWP alapokon
Jelenleg számos alkalmazásunk célja mikroszkóp felvételek vagy azok sorozatának elemzése. A mostani alkalmazások WPF alapúak, viszont ideje lenne nulláról megtervezni és elkészíteni hozzájuk egy state-of-the-art, UWP alapokon felépülő, MVVM architektúrát követő és unit tesztelhető felhasználói felületet.
A cv4sensorhub rendszer jelenleg egy viszonylag egyszerű adatmodellt és számos azokon dolgozó műveletet tartalmaz. A user interface feladata (1) az adatmodell (képek, polygonok, pontok) megjelenítése és a metaadataik alapján történő színezése, valamint (2) az egyes műveletek alkalmazásfüggő megjelenítése (toolbar, ribbon), a paramétereiknek a beállíthatósága. Erre jelenleg is van egy xaml alapú megoldás, amit újra lehet hasznosítani, de akár nulláról is lehet tervezni egy újat.
A projekt során fontos a tesztelhetőség (mivel igen sokan dolgoznak egyszerre a rendszeren), a kényelmes használhatóság nem csak informatikusok számára, valamint az újrahasznosíthatóság, hogy ugyanazt a kódbázist tudjuk használni az egyes külső kutatócsoportok számára készített alkalmazásokban.
Amit tanulhatsz vele:
- UWP, Prism technológiák használata (A Prism bevonása még függőben van.)
- MVVM architektúra mellett felhasználói felület tesztelhetőségének megoldása
- Néha teljesítménykritikus megjelenítés (pl. 30 db 3000x3000 pixeles kép, felettük összesen 10.000 kis polygonnal, amik reagálnak az egér áthaladására és kattintásra)
- Egy nagyon sokféle kutató által használt szoftvercsoport fejlesztése során felmerülő, néha egész szokatlan igények kezelése, megoldása
GrainAutLine: mikroszkópfelvételek szegmentációja és elemzése
GrainAutLine alkalmazás részletei itt.
A GrainAutLine témakörben jelenleg két fő fejlesztési irány van, ezekről olvashatsz a következőkben.
Pala csiszolatok elemzése (cross-nicol felvétel sorozatok szegmentációja)
A pala csiszolatok elemzése alapvetően egy képszegmentációs folyamat, azonban van neki egy olyan érdekessége, hogy egy mintáról egy képsorozat készül és minden képen más irányítottságú szemcsék jelennek meg. (Az un. cross-nicol felvételek polarizációs szűrők segítségével kihasználják, hogy az egyes szemcsék eltérően viselkednek eltérő irányú fény hatására, így ezt kihasználva sokkal könnyebb meghatározni a szemcsék határait.)
Célunk az ELTE geológusaival közösen olyan mérések automatizálása, melyeket kézzel vagy nagyon időigényes, vagy különlegesen nehéz elvégezni, tudományos értéke azonban nagy lenne. (Ilyen például egy szemcseméret eloszlás, amit kézzel meghatározni igencsak macera.)
(A pala csiszolat kép Lőrincz Kingától származik, köszönet érte!)
Külső partnerek: ELTE, Kőzettan-Geokémiai Tanszék
Amit tanulhatsz vele:
- Speciálisabb mikroszkóp felvételek tulajdonságai
- Képszegmentáció (foltokra bontás) olyan esetekben, amikor több információnk van, mint amennyit egy hagyományos képszegmentációs algoritmus fel tud használni.
Homokkő csiszolatok elemzése: szemcsék szomszédjai
Ebben a témában homokkő csiszolatokat vizsgálunk. Restaurációs szempontból ha egy homokkő nagyon porózus, akkor nem alkalmas például régi épületek hiányos faragványainak pótlására, mert hamar elmálik. Képelemzési módszerekkel próbáljuk meg minél automatizáltabb formában megmondani egy mintáról, hogy az mennyire málékony. Ebben szerepe van a szemcsék szomszédjainak számának, de könnyen lehet, hogy az érintkezési felületek nagyságának is. Ez még aktív kutatás kérdése.
Külső partnerek: Materialprüfungsanstalt Universität Stuttgart, ELTE Űrkutatási és Geofizikai Tanszék, ELTE Kőzettan-Geokémiai Tanszék
Szemcse osztályozási módszerek fejlesztése machine learning alapokon
Számos alkalmazásunkban lenne szükségünk egy olyan tanuló megoldásra, mely néhány tanító példa alapján képes osztályozni a képen található szemcséket, például szín, mintázat vagy alakzat alapján. Ehhez többek között már jól bevált osztályozási módszereket lehet használni, mint például a Bayes döntés, Maximum Likelihood (ML) döntés, Support Vector Machine (SVM), döntési fa építés például information gain alapokon, valószínűségi hálók, legközelebbi szomszéd stb.
Ennek a témának a célja ezeknek a módszereknek a megismerése és a legígéretesebbeknek az integrációja a cv4sensorhub keretrendszerbe. (Jelentős részüket az általunk intenzíven használt OpenCV függvénykönyvtár támogatja.)
Nagyjából bejelölt szemcsehatárok automatikus pontosítása
Amikor egy mikroszkóp felvételen a felhasználónak ki kell javítania egy szemcsehatárt, mert azt az automatikus megoldás hibásan ismerte fel, akkor a javítás idejét nagyban lecsökkenti, ha nem pixel pontosan kell javítani, hanem csak úgy nagyjából, egy elegáns egér mozdulattal. Ehhez lehet rajzolni egy vastag vonalat (az alábbi képen a fekete vonallal határolt terület), mely lefedi a helyes megoldást, de sok felesleget is tartalmaz. Képmorfológiai műveletként ezt a vonalat elvékonyítjuk úgy, hogy lehetőleg csak olyan részek maradjanak meg, amik az eredeti képen is sötétek, viszont ez nem okozhatja a vonal szakadását. Ha elszakadna, akkor meg kell elégedni néhány a kelleténél világosabb pixel meghagyásával is. Így alakul ki a szaggatott vonallal jelzett vonal. Ezt hívják ismuth-aware erosionnak.
Amiket tanulhatsz vele:
- Alacsony szintű képmanipulációs módszerek és magas szintű, felhasználói eszközök összekapcsolása
- A cv4s adatmodell flexibilis használata
Útburkolati repedések azonosítása
Az alábbi képen egy a Q épület előtt lévő útburkolat részlet látszik a jobb szélen. Középen az Adaptive Double Threshold Segmentation eredménye, mint gyors kísérlet, bal szélen pedig az azonosított polygonok, valamint a repedés részletei egyelőre kézzel kijelölve.
A feladat az ilyen képek feldolgozásának minél jobb automatizálása. A megoldásra váró részfeladataink:
- Küszöbszintek minél automatikusabb beállítása a fényviszonyoknak és a kép jellemzőinek megfelelően. (Például nem mindig lesz a repedés a világosabb.)
- További képszegmentációs eljárások kipróbálása, hátha azok szebb eredményeket adnak.
Amiket tanulhatsz vele:
- Képfeldolgozási alapok OpenCV segítségével, C# környezetben
- Thresholding módszerek felhasználása, küszöbszintek automatikus, például hisztogram alapú meghatározása.
- Háttér eltávolítási módszerek (például nagyobb blokkméretre számolt átlagos színtől való eltérés).
- Pixel szintű kiértékelések, polygonon belüli távolságok mérése, egyéb statisztikák kinyerése