Strojové učenie, úloha 2
Riešenie odovzdať do: 8.5.2009
Bodový zisk: 0-5% (0% = odovzdané a odsúhlasené riešenie)
Vašou úlohou v tomto cvičení bude natrénovať klasifikátor
na vami zvolený druh ovocia. Server images.google.com ponúka
stovky obrázkov pre každý druh ovocia, príklad:
http://images.google.com/images?q=pineapple.
Vaša množina obrázkov teda bude obsahovať rôzne druhy ovocia
i iné obrázky a cieľom je napísať program, ktorý dostane na vstupe
konkrétny obrázok a na výstupe určí, či ide o ten jeden vybratý druh ovocia
(samozrejme, že neočakávame 100% úspešnosť).
V tejto úlohe klasifikáciu riešte pomocou metódy support vector
machines a použite nejakú hotovú knižnicu, napr.
SVMlight.
Vaše obrázky popíšte pomocou
niekoľkých predvypočítaných čŕt/atribútov, ktoré si vhodne zvolíte - napr. zastúpenie odtieňov niektorej
farby (využitím histogramu), parametre mnohouhoľníkov
nájdených v obrázku po detekcii hrán, hustota hrán alebo čiar v obrázku a pod.
Tieto parametre môžete nájsť pomocou funkcií knižnice OpenCV (alebo podobnej), ktorá umožní obrázok načítať
zo súboru a údaje vhodne predspracovať (CvLoadImage, cvThreshold, cvFloodFill, cvFindContours, cvApproxPoly, atď). V prípade ťažkostí sa zamerajte na zjednodušenú množinu obrázkov (napr. clipart obrázky).
- Vyberte si jeden druh ovocia, ktorý budete trénovať (váš klasifikátor bude rozpoznávať, či dané ovocie na obrázku je alebo nie je).
- Napíšte program v ľubovoľnom jazyku napr. v C++, príp. skript, ktorý natrénuje klasifikátor na základe množiny obrázkov v trénovacej množine, ktorú vytvoríte z obrázkov ovocia podľa serveru images.google.com.
- Navrhnite a popíšte vhodnú sadu atribútov pre tento problém.
- Napíšte program alebo skript, ktorý načíta jeden obrázok, klasifikátor vytvorený vaším programom a vypíše, či daný obrázok patrí do natrénovaného druhu ovocia. Pomocou tohto programu otestujte svoju metódu na celej testovacej množine a výsledok vyhodnotťe.
- Úlohu budete riešiť pomocou metódy support vector machines, navrhnite
a popíšte použitý kernel.
- Otestujte svoju implementáciu na testovacej množine obrázkov a popíšte svoje výsledky.
Vaše riešenie bude obsahovať:
- Všetky zdrojové kódy programov, ktoré ste použili
- Popis vášho riešenia s dokumentáciou s odkazmi na knižnice/nástroje, ktoré ste použili
- Trénovaciu a testovaciu množinu obrázkov
Riešenie sa odovzdáva elektronickou poštou s prílohou (ZIP) poslaním na adresu: petrovic
fmph.uniba.sk.