ISS Projekt - FAQ - 2010/11
Nejcastejsi chyby
- Jsou odevzdany vysledky ziskane na referencnim obrazku. Prosim ujistete se, ze zaslane vysledky jsou vyprodukovany na Vasem obrazku z obrazky_pod_stromecek/ !!!
- Je zaslana stara verze vysledku
- Je pouzit zipovaci program produkujici nerozbalitelny vystup. Prosim odevzdavejte soubory ZIP (nikoliv RAR, TGZ, atd atd), na windousech pouzivejte cokoliv standardniho (winzip, Windows commander, Servant Salamander, atd atd), na Linuxu zip
- v souboru reseni.txt nejsou konce radku, nebo tam jsou, ale divne (akceptuji pouze CR nebo CRLF), nebo je jich tam moc (nenechavejte volne radky!)
Diskuse z minulych let
1. dnes som zacal riesit projekt. Chcel by som sa spytat, v zadani je napisane, ze vysledky uvedene v reseni.txt maju byt na 3 desatinne cisla. Vo vzorovom rieseni su ale na 4 desatinne. Predpokladam, ze je uplne jedno na kolko desat. miest je uvedeny vysledok. Spravne?
v zadani je to jen ukazka, jak ma byt vystup formatovan. Mohou byt 4 desetinne mista, nejlepsi bude, kdyz tam okopirujete cely vysledek z Matlabu (nebo jineho prostredi, ve kterem projekt delate) s plnou presnosti.
2. Co sa tyka komentovania zdrojoveho kodu, staci strucny komentar, alebo treba vysvetlovat jednotlive postupy?
staci velmi strucny nebo i zadny.
3. projekt som dokoncil, otestoval a pri testovani vzoroveho obrazku a pri
porovnavani so vzorovym riesenim, som zistil, ze mnou spocitane hodnoty
sa lisia o stotiny ci desatiny (takze, aj absolutna hodnota rozdielov
obrazkov sa jemne lisi). Volnym okom to nie je na obrazkoch vidno.
...
Preto by som sa Vas chcel opytat, akym sposobom sa bude na tento fakt
prihliadat? Mam jednoznacne zle vysledky a mam ist do CVT si ich
prepocitat? Bohuzial pre nefunkcnost matlabu na merline, nie som schopny
momentalne urcit, ci to bude rozdielne, alebo nie.
pokud se hodnoty od referencnich vysledku lisi dale nez na 3. platne cifre, je to v poradku. Numericke hodnoty nevychazeji na ruznych architekturach (PC, Mac), operacnich systemech (Linux/Win/32bit/64bit) ani pri pouziti ruznych jazyku a knihoven presne stejne. Pri hodnoceni (jak obrazku, tak numerickych hodnot) nemam ve svych evaluacnich skriptech '==', ale pocitam s nekolikaprocentni toleranci. Pokud mate ovsem hodnoty uplne mimo, je Vas kod zrejme spatne a je duvod k debuggovani.
4. V zadani je psano, ze v archivu maji byt vsechny *.bmp soubory, ale ve vzorovem xlogin00.zip neni obsazen xlogin00.bmp - predpokladam, ze v odevzdavanem *.zip maji byt step1.bmp - step6.bmp a muj_login.bmp?
vas_login.bmp nemusite odevzdavat.
5.Dale bych se rad zeptal, zda muzu napsat solution.m jako skript pro Matlab, ktery se spusti a vsechno provede (vcetne vypisu do souboru) - jde mi o to, zda budete tyto skripty spoustet. Testoval jsem to na Merlinovi, tak snad je to v poradku.
Vase skripty nebudu spoustet (dostavam je bezne tak v 10ti ruznych programovacich a skriptovacich jazycich), jde jen o to, abych se v pripade nejasnosti byl schopen podivat do Vasich kodu, zda to dava smysl nebo je to uplna haluz a je jasne, ze Vam vysledky vyrobil kamarad.
5a. rád by som sa spýtal na jednú malú nejasnosť ohľadom odovzdania projektu. V popise obsahu odovzdávaného archívu nieje obsiahnutý originálny obrázok, ktorý som upravoval. Svoj skript mám dimenzovaný na adresovú štruktúru, ktorá mi vznikla pri tvorbe projektu a bez originálneho obrázku sa skript nespustí. Chcel by som sa opýtať, či sa skripty budú testovať aj na funkčnosť alebo len na podobnosť?
Viz minula odpoved.
6. Dale bych se rad zeptal ohledne krizove korelace zdrojovych textu - doufam, ze je povoleno pouzivat materily ze cviceni, kde se snad vsechny tyto ulohy resili, muzu tedy upravovat pouze zdrojove texty ze cviceni. Pokud to vsak takto udela vice studentu (coz predpokladam, ze se taky stane), jakym zpusobem bude odhalovano plagiatorstvi? Nerad bych byl oznacen za plagiatora, prestoze jsem projekt vypracovaval na zaklade povolenych materialu, ale muj zdrojovy text bude podobny jako jineho studenta.
Pouziti materialu ze cviceni je povoleno, dokonce velmi doporuceno! Je jasne, ze povolena "podobnost" Vasich kodu bude vetsi nez v pripade IZP apod.
6. rád bych se zeptal, zda-li při vypracování projektu můžeme počítat s pevnou velikostí obrázků (tj. vždy budeme pracovat s obrázkem 512x512), nebo mám vždy u obrázku testovat jeho rozměry.
v realnem zivote ne, ale v tomto projektu muzete pocitat s fixni velikosti.
7. (pro Ty, co se snazi sami programovat, nepouzivaji predvarene funkce Matlabu, atd.) ... při aplikaci filtru na obrázek jsem narazil na "problém":
Když má obrázek M řádků a N sloupců a filtr má m řádků a n sloupců, pak má výsledný obrázek M-m+1 řádků a N-n+1 sloupců.
Ze zadání je zřejmé, že obrázky po konvoluci mají stejnou velikost. Zbývá tedy otázka, zda pixely mimo obrázek nahradit 0, obrázek překlopit nebo aplikovat nějaký jiný postup. Poněvadž se výsledné obrázky budou pravděpodobně porovnávat nějakým skriptem, je jasné, že dle volby tohoto postupu by mohli být označeny za chybné. Jaký postup mám tedy zvolit, aby mé obrázky prošli hodnotícími testy?
Tato vec se da resit minimalne 3mi zpusoby
- okolo obrazku doplnite nulami.
- zopakujete pixely na okraji
- "flipnete" okraj obrazku, takze na okraji bude jeho zrcadlovy obraz.
- "smotate obrazek do valecku" a na okraj pouzijete pixely z druhe strany.
Pro projekt doporucuji drzet se toho, jak to dela Matlab:
help imfilter ...
- Boundary options
X Input array values outside the bounds of the array
are implicitly assumed to have the value X. When no
boundary option is specified, IMFILTER uses X = 0.
takze tam nasazejte nuly. V kazdem pripade sovnejte s mymi referencnimi obrazky.
8. protože jsem si již před odevzdáním kontroloval výsledky na vzorovém xlogin.bmp a vše mi sedělo (na merlinovi) začal jsem zjišťovat, proč mám 0 bodů a zjistil jsem, že obrázek, pro který jsem generoval výsledky pro odevzdání je z neznámého důvodu nahoře oříznutý (resp. je tam pouze černo), nevím, kde se stala chyba, protože jsem jej stahoval normálně z obrázků pod stromeček... Do přílohy dávám ukázku použitého (xmatya00_bad.bmp) a správného (xmatya00.bmp) obrázku spolu s opravenými výsledky (solution zůstává naprosto stejné) ...
... dostavam ruzne reklamace, ale tato je zajimava.
Pri cteni toho oriznuteho obrazku Matlab rve jak tur, ale uznavam, ze pokud jste projekt delal v noci polospici, nemusel jste si toho vsimnout. Skutecne nacte obrazek 512x512. Pri reseni je ale dobre nejen honit bezhlave skript, ale take se na obrazky DIVAT.
Pozdejsi diskuse se studentem ukazala, ze obrazek byl nacten a opet ulozen v Irfan View, ktery tam doplnil jakesi cerne okraje. Pouzivejte originalni obrazek!
9. ... Vase reseni ma bohu zel dalsi problem:
obrazky nemaji predepsanou velikost 512x512
I2 598x676 404248 uint8
Pro ukládání jsem namístio příkazu imwrite použil ikonku diskety u "Figure". To zřejmě způsobilo bílí rámeček kolem obrázku a tím pádem i větší velikost obrázku, nicméně vnitřek by měl být zachován. Upozorňuji na to proto že by se to mělo dát do zadání přístí rok, já osobně jsem vůbec nevěděl že se nesmí použít ikonka diskety.
Ukladani ikonkou diskety NEPOUZIVAT ! V Matlabu pouzivejte pouze imwrite. Pokud pouzijete cokoliv jineho, kontrolujter format zapsanych souboru.