{"id":469,"date":"2025-11-06T21:11:34","date_gmt":"2025-11-06T20:11:34","guid":{"rendered":"https:\/\/ics.science.upjs.sk\/ano\/?page_id=469"},"modified":"2025-11-06T21:29:40","modified_gmt":"2025-11-06T20:29:40","slug":"domace-zadania-2025-bez-navodu","status":"publish","type":"page","link":"https:\/\/ics.science.upjs.sk\/ano\/domace-zadania-2025-bez-navodu\/","title":{"rendered":"Dom\u00e1ce zadania 2025 bez n\u00e1vodu"},"content":{"rendered":"<p><em>Vyberte si dve \u00falohy \u2013 za ich vyrie\u0161enie m\u00e1te o stupe\u0148 lep\u0161iu zn\u00e1mku (za predpokladu \u00faspe\u0161n\u00e9ho zvl\u00e1dnutia sk\u00fa\u0161ky).<\/em><\/p>\n<h2>B1:\u00a0 Dopravn\u00e9 zna\u010dky (<a href=\"https:\/\/classroom.github.com\/a\/54xLmHsO\">LINK na github classroom<\/a>)<\/h2>\n<p>Cie\u013e: klasifikova\u0165 krajinu pod\u013ea dopravnej zna\u010dky zobrazuj\u00facej maxim\u00e1lu povolen\u00fa r\u00fdchlos\u0165<br \/>\nVstup: obr\u00e1zok z google street view<br \/>\nV\u00fdstup: ozna\u010den\u00e1 kruhov\u00e1 zna\u010dka a klasifikovanie<\/p>\n<p>Chceme sa sna\u017ei\u0165 o klasifik\u00e1ciu do dvoch tried. V repozit\u00e1ri n\u00e1jdete dva obr\u00e1zky \u2013 uk\u00e1\u017eku zna\u010diek, ktor\u00e9 sa \u013eahko rozozn\u00e1vaj\u00fa \u2013 \u0160panielsko (\u010derven\u00fd okraj, biele vn\u00fatro) a \u0160v\u00e9dsko (\u010derven\u00fd okraj, \u017elt\u00e9 vn\u00fatro). M\u00f4\u017eete si vybra\u0165 aj in\u00e9 dve krajiny. Tieto vybran\u00e9 maj\u00fa v\u00fdhodu, \u017ee okolo \u010derven\u00e9ho okraju nie je tenk\u00fd okraj inej farby a z\u00e1rove\u0148 s\u00fa dobr\u00e9 rozpoznate\u013en\u00e9. Alternat\u00edvou je pou\u017ei\u0165 in\u00fd typ zna\u010diek (napr. modr\u00e1 ozna\u010duj\u00faca prik\u00e1zan\u00fd smer a pod.)<\/p>\n<p>Aplikujte Hough transform\u00e1ciu na n\u00e1jdenie kruhov a vymyslite klasifik\u00e1tor \u2013 podmienku, na z\u00e1klade ktorej sa ur\u010d\u00ed o ak\u00fd typ zna\u010dky ide. Je to jedno, \u010do pou\u017eijete \u2013 \u010di nejak\u00fa reprezent\u00e1ciu farieb vo vn\u00fatri kruhu a pod. Aj ne\u00faspe\u0161n\u00fd pokus o klasifik\u00e1ciu je v poriadku.<\/p>\n<p>Pridajte si vlastn\u00e9 obr\u00e1zky a vysk\u00fa\u0161ajte to na nich. M\u00f4\u017eete vysk\u00fa\u0161a\u0165 aj nie priamy poh\u013ead na zna\u010dku ale trochu zboku. Odpor\u00fa\u010dam si vytvori\u0165 tr\u00e9novaciu a testovaciu mno\u017einu &#8211; teda nastavujte parametre a met\u00f3dy na nejak\u00fdch obr\u00e1zkoch a potom to overte na in\u00fdch obr\u00e1zkoch a zap\u00ed\u0161te zhodnotenie.<\/p>\n<h2>B2:\u00a0 Ma\u013eovan\u00e9 kr\u00ed\u017eovky (<a href=\"https:\/\/classroom.github.com\/a\/WnUE2mmw\">LINK na github classroom<\/a>)<\/h2>\n<p>Vstupn\u00fdm obr\u00e1zkom je fotografia zatia\u013e nevyrie\u0161enej ma\u013eovanej kr\u00ed\u017eovky. Cie\u013eom je identifikova\u0165 mrie\u017eku a \u010d\u00edsla a n\u00e1sledne z toho vytvori\u0165 digit\u00e1lnu verziu kr\u00ed\u017eovky. Na rozpozn\u00e1vanie \u010d\u00edsel existuj\u00fa met\u00f3dy (zalo\u017een\u00e9 na strojovom u\u010den\u00ed, pr\u00edpadne template matching) a tie\u017e na n\u00e1jdenie \u010diar existuj\u00fa sp\u00f4soby (Hough transform\u00e1cia na detekciu \u010diar, LSD algoritmus) \u2013 t\u00e1to \u00faloha nie je prioritn\u00e9 na \u010diary a \u010d\u00edsla (ale nebr\u00e1nim v\u00e1m pou\u017ei\u0165 to).<\/p>\n<p>Obr\u00e1zky s\u00fa vyfoten\u00e9 telef\u00f3nom a z\u00e1merne s\u00fa niektor\u00e9 hor\u0161ej kvality (osvetlenie, rozostrenie a pod.). V t\u00fdchto pr\u00edpadoch detekcia \u010diar nemus\u00ed by\u0165 ide\u00e1lna a jednoduch\u0161ie by mohlo by\u0165 aplikova\u0165 t\u00fato detekciu na bin\u00e1rnom obraze.<\/p>\n<p>Va\u0161ou \u00falohou je zo zadan\u00e9ho obr\u00e1zka vytvori\u0165 bin\u00e1rny obr\u00e1zok, kde v najlep\u0161om pr\u00edpade bud\u00fa bielou farbou zobrazen\u00e9 \u010diary a \u010diernou v\u0161etko ostatn\u00e9. \u00daloha je to n\u00e1ro\u010dn\u00e1, pok\u00faste sa o \u010do najlep\u0161\u00ed v\u00fdsledok. Postup si m\u00f4\u017eete vybra\u0165 \u013eubovo\u013en\u00fd. Nieko\u013eko tipov:<\/p>\n<ul>\n<li>zmena rozl\u00ed\u0161enia \u2013 \u010dasto je vhodnej\u0161ie pracova\u0165 s obr\u00e1zkom v men\u0161om rozl\u00ed\u0161en\u00ed. M\u00f4\u017eete si obr\u00e1zky zmen\u0161i\u0165 manu\u00e1lne alebo pomocou pr\u00edkazu resize v opencv.<\/li>\n<li>preprocessing \u2013 \u00faprava jasu, vyhladenie histogramu, aplik\u00e1cia nejak\u00e9ho\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Kernel_(image_processing)\">filtra<\/a>\u00a0(pozrite sharpen)<\/li>\n<li>zmena na bin\u00e1rny obr\u00e1zok \u2013 thresholding, canny detektor<\/li>\n<li>postprocessing \u2013 dilat\u00e1cia, er\u00f3zia (porozm\u00fd\u0161\u013eajte nad tvarom \u0161trukt\u00farneho elementu)<\/li>\n<\/ul>\n<p>M\u00f4\u017eete si zvoli\u0165 \u013eubovo\u013en\u00fa strat\u00e9giu, napr.:<\/p>\n<ul>\n<li>vybra\u0165 si najjednoduch\u0161\u00ed obr\u00e1zok. Vysk\u00fa\u0161a\u0165 kombin\u00e1ciu met\u00f3d, ktor\u00e9 daj\u00fa najlep\u0161\u00ed v\u00fdsledok. N\u00e1sledne to otestova\u0165 aj na zlo\u017eitej\u013e\u0161\u00edch vstupoch. Pr\u00edpadne upravi\u0165 postup.<\/li>\n<li>vybra\u0165 si niektor\u00fd scen\u00e1r (napr. zl\u00e9 osvetlenie) a \u0161peci\u00e1lne sa venova\u0165 tomuto pr\u00edpadu.<\/li>\n<li>od za\u010diatku sk\u00fa\u0161a\u0165 postup, ktor\u00fd bude fungova\u0165 na viacer\u00fdch pr\u00edpadoch<\/li>\n<\/ul>\n<p>Cie\u013eom je pripravi\u0165 obr\u00e1zok na n\u00e1sledn\u00fa detekciu \u010diar, resp. urobi\u0165 prahovanie. P\u00f4vodn\u00fd z\u00e1mer tejto \u00falohy v minulosti bolo na precvi\u010denie obsahu zo za\u010diatku semestra (morfol\u00f3gia, filtrovanie) a nie detekciu \u010diar. M\u00f4\u017eete si v\u0161ak zvoli\u0165 vlastn\u00fa cestu, \u010do vysk\u00fa\u0161a\u0165. Aj ne\u00faspe\u0161n\u00e9 pokusy s\u00fa v poriadku.<\/p>\n<p>Vo v\u00fdsledku ozna\u010dte, s ktor\u00fdm obr\u00e1zkom ste pracovali najviac. V\u00fdsledn\u00e1 met\u00f3da nech je spusten\u00e1 na v\u0161etk\u00fdch obr\u00e1zkoch (aj ke\u010f to dosiahne nedobr\u00fd v\u00fdsledok). V\u00fdstupn\u00e9 obr\u00e1zky odovzdajte spolu s k\u00f3dom a reportom.<\/p>\n<h2>B3:\u00a0 Puzzle (<a href=\"https:\/\/classroom.github.com\/a\/ju7zPP0D\">LINK na github classroom<\/a>)<\/h2>\n<p>Cie\u013eom tejto \u00falohy je vysk\u00fa\u0161a\u0165 si r\u00f4zne sp\u00f4soby ako sa dopracova\u0165 k segment\u00e1cii obr\u00e1zku. Hlavn\u00e1 \u00faloha je n\u00e1js\u0165 jednotliv\u00e9 k\u00fasky puzzle na obr\u00e1zku.<\/p>\n<p>Prioritne si vyberte jeden z obr\u00e1zkov v repozit\u00e1ri a na \u0148om vysk\u00fa\u0161ajte r\u00f4zne met\u00f3dy. Nakoniec spustite svoje rie\u0161enie na v\u0161etk\u00fdch obr\u00e1zkoch.<\/p>\n<p>V\u00fdstupom pre ka\u017ed\u00fa fotku nech je \u010diernobiely obr\u00e1zok, ktor\u00fd bude ma\u0165 v ide\u00e1lnom pr\u00edpade bielou farbou ozna\u010den\u00e9 hranice jednotliv\u00fdch dielikov a \u010diernou v\u0161etko ostatn\u00e9. Alternat\u00edvne ak to bude vhodnej\u0161ie, tak m\u00f4\u017eete zakresli\u0165 v\u00fdsledok do p\u00f4vodn\u00e9ho obr\u00e1zka. \u00daloha nie je jednoduch\u00e1 a nepredpoklad\u00e1m, \u017ee sa podar\u00ed z\u00edska\u0165 ide\u00e1lny v\u00fdstup. Pok\u00faste sa o \u010do najlep\u0161ie rie\u0161enie.<\/p>\n<p>Zop\u00e1r tipov, \u010do m\u00f4\u017eete vysk\u00fa\u0161a\u0165 (samozrejme aj \u010doko\u013evek mimo tohto zoznamu):<\/p>\n<ul>\n<li>preprocessing obr\u00e1zka \u2013 zmena rozl\u00ed\u0161enia (cv.resize), filtrovanie, konvol\u00facia, rozostrenie<\/li>\n<li>canny edge detector<\/li>\n<li>matematick\u00e1 morfol\u00f3gia \u2013 er\u00f3zia, dilat\u00e1cia, otvorenie, zatvorenie<\/li>\n<li>pou\u017eitie vhodnej konvolu\u010dnej masky \u2013 laplacian, sharpen<\/li>\n<li>kont\u00fary<\/li>\n<li>grabcut resp. in\u00e1 forma klastrovania<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Vyberte si dve \u00falohy \u2013 za ich vyrie\u0161enie m\u00e1te o stupe\u0148 lep\u0161iu zn\u00e1mku (za predpokladu \u00faspe\u0161n\u00e9ho zvl\u00e1dnutia sk\u00fa\u0161ky). B1:\u00a0 Dopravn\u00e9 zna\u010dky (LINK na github classroom) Cie\u013e: klasifikova\u0165 krajinu pod\u013ea dopravnej&hellip;<\/p>\n","protected":false},"author":22,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-469","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ics.science.upjs.sk\/ano\/wp-json\/wp\/v2\/pages\/469","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ics.science.upjs.sk\/ano\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ics.science.upjs.sk\/ano\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ics.science.upjs.sk\/ano\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/ics.science.upjs.sk\/ano\/wp-json\/wp\/v2\/comments?post=469"}],"version-history":[{"count":3,"href":"https:\/\/ics.science.upjs.sk\/ano\/wp-json\/wp\/v2\/pages\/469\/revisions"}],"predecessor-version":[{"id":474,"href":"https:\/\/ics.science.upjs.sk\/ano\/wp-json\/wp\/v2\/pages\/469\/revisions\/474"}],"wp:attachment":[{"href":"https:\/\/ics.science.upjs.sk\/ano\/wp-json\/wp\/v2\/media?parent=469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}