Laboratorij za sistemsko programsko opremo Inštitut za računalništvo ROSUS 2024 - Računalniška obdelava slik in njena uporaba v Sloveniji 2024 Zbornik 18. strokovne konference Urednik Božidar Potočnik Marec 2024 Naslov ROSUS 2024 - Računalniška obdelava slik in njena uporaba Title v Sloveniji 2024 ROSUS 2024 - Computer image processing and its application in Slovenia 2024 Podnaslov Zbornik 18. strokovne konference Subtitle Proceedings of the 18th Professional Conference Urednik Božidar Potočnik Editor (Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko) Recenzija Aleš Holobar Review (Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko) Simon Dobrišek (Univerza v Ljubljani, Fakulteta za elektrotehniko) Tehnični urednik Jan Perša Technical editor (Univerza v Mariboru, Univerzitetna založba) Oblikovanje ovitka Gašper Sedej Cover designer (Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko) Grafične priloge Viri so lastni, razen če ni navedeno drugače. Graphic material Avtorji prispevkov in Potočnik (urednik), 2024 Konferenca Strokovna konferenca ROSUS 2024: Conference Računalniška obdelava slik in njena uporaba v Sloveniji 2024 Datum in kraj konference Conference date & location 21. marec 2024, Maribor, Slovenija Programski odbor Aleš Holobar, Damjan Zazula, Boris Cigale, Marjan Mernik, Peter Program comit e Peer, Tomaž Tomažič, Martin Šavc, Slobodan Ribarić, Vojko Flis, Saša Divjak, Stanislav Kovačič, Zdravko Kačič, Aleš Leonardis, Simon Dobrišek, Vitomir Štruc, Franc Solina, Andrej Šoštarič, Franjo Pernuš, Jure Skvarč, Božidar Potočnik Organizacijski odbor Gašper Sedej, Jurij Munda, Uroš Mlakar, Matjaž Divjak, Martin Organization comitte Šavc, Danilo Korže, Nina Murks, Matej Kramberger, Leon Kutoš, Aleš Holobar, Božidar Potočnik Založnik Univerza v Mariboru Publihed by Univerzitetna založba Slomškov trg 15, 2000 Maribor, Slovenija https://press.um.si, zalozba@um.si Izdajatelj Univerza v Mariboru Issued by Fakulteta za elektrotehniko, računalništvo in informatiko Koroška cesta 46, 2000 Maribor, Slovenija https://feri.um.si, feri@um.si Izdaja Edition Prva izdaja Vrsta publikacije Publication type E-knjiga Dostopno na Available at https://press.um.si/index.php/ump/catalog/book/859 Izdano Published Maribor, marec 2024 © Univerza v Mariboru, Univerzitetna založba Besedilo/ Text University of Maribor, University Press © Avtorji in Potočnik, 2024 To delo je objavljeno pod licenco Creative Commons Priznanje avtorstva-Deljenje pod enakimi pogoji 4.0 Mednarodna. / This work is licensed under the Creative Commons At ribution-ShareAlike 4.0 International License. Uporabnikom se dovoli reproduciranje, distribuiranje, dajanje v najem, javno priobčitev in predelavo avtorskega dela, če navedejo avtorja in širijo avtorsko delo/predelavo naprej pod istimi pogoji. Za nova dela, ki bodo nastala s predelavo, je tudi dovoljena komercialna uporaba. Vsa gradiva tretjih oseb v tej knjigi so objavljena pod licenco Creative Commons, razen če to ni navedeno drugače. Če želite ponovno uporabiti gradivo tretjih oseb, ki ni zajeto v licenci Creative Commons, boste morali pridobiti dovoljenje neposredno od imetnika avtorskih pravic. https://creativecommons.org/licenses/by-sa/4.0/ CIP - Kataložni zapis o publikaciji Univerzitetna knjižnica Maribor 004.932(497.4)(082)(0.034.2) STROKOVNA konferenca ROSUS (konferenca) (18 ; 2024 ; Maribor) ROSUS 2024 [Elektronski vir] : računalniška obdelava slik in njena uporaba v Sloveniji 2024 : zbornik 18. strokovne konference : [21. marec 2024, Maribor, Slovenija] / urednik Božidar Potočnik. - 1. izd. - E-zbornik. - Maribor : Univerza v Mariboru, Univerzitetna založba, 2024 Način dostopa (URL): https://press.um.si/index.php/ump/catalog/book/859 ISBN 978-961-286-837-6 (PDF) doi: 10.18690/um.feri.1.2024 COBISS.SI-ID 188298243 ISBN 978-961-286-837-6 (pdf) 978-961-286-838-3 (mehka vezava) DOI https://doi.org/10.18690/um.feri.1.2024 Cena Price Brezplačni izvod Odgovorna oseba založnika prof. dr. Zdravko Kačič, For publisher rektor Univerze v Mariboru Citiranje Potočnik, B. (ur.). (2024). ROSUS 2024 - Računalniška obdelava Attribution slik in njena uporaba v Sloveniji 2024: zbornik 18. strokovne konference. U niverza v Mariboru, Univerzitetna založba. doi: 10.18690/um.feri.1.2024 POKROVITELJI ROSUS 2024 http://rosus.feri.um.si ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE B. Potočnik (ur.) Kazalo Predgovor Foreword 1 Božidar Potočnik VABLJENA PREDAVANJA 3 Inovativna vloga tehnologij prepoznavanje obraza, video analitike in senzorike v današnji praksi The Innovative Role of Face Recognition, Video Analytics and Sensor 5 Technologies in Today’s Practice Janez Zabukovec Biometrija in varstvo osebnih podatkov: kako na tehnologijo 1 gleda zakonodaja? Biometrics and Personal Data Protection: Legal Perspective 9 Ana Antunićević DOPOLDANSKA IN POPOLDANSKA SEKCIJA Industrijske aplikacije, medicinske in biomedicinske aplikacije, študentske aplikacije, drugo 23 Demonstracijska celica za prikaz globokega učenja v praktičnih aplikacijah 2 Demonstration Cel for Showcasing Deep Learning in Practical Applications 25 Domen Tabernik, Peter Mlakar, Jakob Božič, Luka Čehovin Zajc, Vid Rijavec, Danijel Skočaj Gradnja konvolucijskih nevronskih mrež za razvrščanje slik z uporabo evolucijskih algoritmov 3 Building Convolutional Neural Networks for Image Classification Using 37 Evolutionary Algorithms Uroš Mlakar Zaznavanje podvodnih objektov z uporabo generativnih 4 modelov Detection of Underwater Objects Using Generative Models 49 Sandra Rodríguez Domínguez, Janez Perš ii KAZALO . Introductory Computer Vision Teaching Materials for VET Education 5 Uvodni učni materiali računalniškega vida za strokovno srednješolsko izobraževanje 61 Vasja Lev Kirn, Žiga Emeršič, Gregor Hrastnik, Nataša Meh Peer, Peter Peer Aplikacija računalniškega vida za reševanje Rubikove kocke v 6 realnem času Computer Vision Application for Solving a Rubik’s Cube in Real-Time 71 Jan Šuklje, Peter Peer, Bojan Klemenc Sprotna analiza slik vozil z metodami globokega učenja v ogrodju Flutter 7 Computer Vision Application for Solving a Rubik’s Cube in Real-Timeinstantaneous Vehicle Image Analysis With Deep Learning Methods With 81 Flut er Framework Aleksandr Shishkov, Stevanče Nikoloski Ustvarjanje ponarejenih videoposnetkov s pomočjo difuzijskih 8 modelov Creating Fake Videos Using Diffusion Models 97 Bine Markelj, Peter Peer, Borut Batagelj Spektralni odziv dveh hiperspektralnih kamer za izbor končnih 9 članov UXO Spectral Response of Two Hyperspectral Cameras for Uxo Endmember Selection 111 Milan Bajić, Božidar Potočnik ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE B. Potočnik (ur.) Spoštovani! BOŽIDAR POTOČNIK predsednik konference ROSUS 2024 Po sedemnajstih konferencah ROSUS 2006–2023 s konferenco ROSUS 2024 nadaljujemo promoviranje ekonomske koristi računalniške obdelave slik in računalniškega vida na področjih industrije, biomedicine in drugih poslovnih procesov. Vezi, ki smo jih na prejšnjih konferencah stkali med raziskovalci, razvijalci, ponudniki rešitev ter uporabniki, želimo dodatno okrepiti, ob tem pa nuditi možnosti sklepanja novih sodelovanj in svetovanja pri razreševanju konkretnih poslovnih oziroma raziskovalnih problemov. Glavni poudarek namenjamo aplikacijam s področja računalniške obdelave slik, ki so že integrirane oziroma pripravljene za integracijo v poslovne procese. Demonstrirali bomo, da avtomatska obdelava v industriji lahko zaradi svoje natančnosti in hitrosti prinaša velike ekonomske koristi, hkrati pa nakazali, da takšne aplikacije nudijo nove priložnosti za uveljavitev na trgu visokih tehnologij. Ne smemo pozabiti še na možnost diskusije ter predstavitev konkretnih problemov in potreb, ki se porajajo pri uporabnikih, s katerimi bomo računalniško obdelavo slik in njeno koristnost še bolj približali avditoriju. Naj sklenemo uvodne misli s prisrčno zahvalo Javnemu skladu Republike Slovenije za podjetništvo, ki v okviru konference ROSUS 2024 predstavlja zanimive finančne instrumente za spodbujanje prenosa tehnoloških rešitev v podjetniško sfero. Iskreno se zahvaljujemo tudi podjetju Audax za sprejem pokroviteljstva konference. Izpostaviti želimo še medijske 2 ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024 . pokrovitelje revijo IRT3000, revijo Svet elektronike in revijo Avtomatika + elektronika, ki so intenzivno promovirali konferenco ROSUS 2024 ter pomen strojnega vida v slovenskem prostoru. VABLJENA PREDAVANJA INOVATIVNA VLOGA TEHNOLOGIJ ISBN 978-961-286-837-6 PREPOZNAVANJE OBRAZA, VIDEO ANALITIKE IN SENZORIKE V DANAŠNJI PRAKSI JANEZ ZABUKOVEC STELKOM d.o.o., Trzin, Slovenija janez.zabukovec@stelkom.si Na svetovnem trgu je veliko število ponudnikov biometrije oz. Ključne besede: biometrija, programske opreme za prepoznavanje obraza, vendar je med njimi razpoznava obrazov, veliko razlik. Podjetje Stelkom ima dolgoletnega partnerja NEC industrija, video analitika, Japonska, ki je eden izmed vodilnih svetovnih podjetij na tem senzorski sistemi področju. Prvi program za prepoznavo obrazov so na tržišču testirali davnega leta 1989. V kasnejših letih od 2009 do danes so bili vsako leto nagrajeni in priznani s strani NIST kot številka 1 na svetu. V nadaljevanju Vam podrobneje predstavimo njihove najnovejše dosežke. Stelkom je tudi integrator številnih partnerjev video analitike. V nadaljevanju predstavljamo uporabnost te tehnologije v današnjem življenju ter nekoliko povežemo z ostalimi senzorikami ter VMS centralnim sistemom upravljanja. ISBN 978-961-286-837-6 THE INNOVATIVE ROLE OF FACE RECOGNITION, VIDEO ANALYTICS AND SENSOR TECHNOLOGIES IN TODAY’S PRACTICE JANEZ ZABUKOVEC STELKOM d.o.o., Trzin, Slovenia janez.zabukovec@stelkom.si Keywords: On the global market, there are many providers of biometrics or biometrics, face recognition, facial recognition software, but there are several differences industry, between them. Stelkom company has a long-standing partner, video analytics, sensor systems NEC Japan, which is one of the world's leading companies in this field. The first facial recognition solution was tested on the market way back in 1989. In subsequent years, from 2009 to the present, they were awarded every year and recognized by NIST as number One in the world. We present their latest achievements in more detail in this sequel. Stelkom is also an integrator for many video analytics partners. We also present the usefulness of this technology in today's life and somewhat connect it with other sensors and the VMS central management system. J. Zabukovec: Inovativna vloga tehnologij prepoznavanje obraza, video analitike in senzorike v današnji praksi 7. 1 Uvod Pametni sistemi za video analitiko lahko prepoznajo spol, starost in določene telesne značilnosti uporabnikov infrastrukture, obenem pa prek kompleksnih algoritmov razumejo vedenjske vzorce in kretnje ter se nanje avtomatsko odzovejo. Slika 1: Stelkom Vir: splet, odprt dostop. Za upravitelje in odločevalce lahko takšni sistemi ustvarjajo dodano vrednost tudi pri zagotavljanju optimalne uporabniške izkušnje na podlagi objektivnih podatkov: videonadzorni sistem pretvorijo v orodje za spremljanje poslovnih informacij (Business Inteligence). 8 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . BIOMETRIJA IN VARSTVO OSEBNIH DOI https://doi.org/ 10.18690/um.feri.1.2024.1 PODATKOV: KAKO NA TEHNOLOGIJO ISBN 978-961-286-837-6 GLEDA ZAKONODAJA? ANA ANTUNIĆEVIĆ Consilium ius d.o.o., Ljubljana, Slovenija ana@consilium.si V tem prispevku se avtorica osredotoča na vzpostavitev nove Ključne besede: varstvo osebnih podatkov, zakonodaje s področja varstva osebnih podatkov tako na ravni zakonodaja, Evropske Unije (GDPR) kot tudi na ravni Slovenije (ZVOP-2) in GDPR, ZVOP-2, njen vpliv na obdelavo osebnih podatkov v okviru biometrične biometrija tehnologije. DOI https://doi.org/ BIOMETRICS AND PERSONAL DATA 10.18690/um.feri.1.2024.1 ISBN PROTECTION: LEGAL PERSPECTIVE 978-961-286-837-6 ANA ANTUNIĆEVIĆ Consilium ius d.o.o., Ljubljana, Slovenia ana@consilium.si Keywords: In this paper, the author focuses on the establishment of new personal data protection, legislation, legislation in the field of personal data protection both at the GDPR, European Union level (GDPR) and at the Slovenian level ZVOP-2, biometrics (ZVOP-2) and its impact on the processing of personal data in the context of biometric technology. A. Antunićević: Biometrija in varstvo osebnih podatkov: kako na tehnologijo gleda zakonodaja? 11. 1 Uvod V današnjem času na praktično vseh področjih beležimo hiter razvoj digitalizacije. Ti tehnološki preboji odpirajo vrata novim načinom komunikacije, poslovanja, obdelave in shranjevanja množice podatkov, ki je bila mnogoterim še pred kratkim nepredstavljiva. Vendar pa ta digitalna revolucija prinaša tudi nove izzive; eden takšnih je tudi varovanje zasebnosti in varstvo osebnih podatkov. Kot odgovor na večje spremembe v družbi, se je pojavila zakonodaja, ki do določene mere ureja uporabo tehnologije ter določa varnostne mehanizme, s katerimi se dviguje nivo varstva zasebnosti. Razvoj zakonodaje v takšnih trenutkih je ključen, tako z vidika zagotavljanja varnosti kot tudi razvoja tehnologije, ki jo zakonodaja ureja. Pri pripravi takšne zakonodaje pa je pomembno, da je fleksibilna in dovolj odprta, saj se mora prilagajati spreminjajočim se potrebam in tehnološkim inovacijam. Hkrati pa se je potrebno zavedati dejstva, da zakonodaja vedno nastaja kot odgovor na nastale razmere, kar neizogibno vodi v dejstvo, da po sprejemu in vpeljavi takšne zakonodaje, velikokrat dobimo občutek, da je »zastarela« še preden smo jo sploh uporabili. Okoliščine še dodatno otežuje zares bliskovit razvoj tehnologije, ki smo mu priča v zadnjem času. V takšnih okoliščinah je nastala Splošna uredba o varstvu osebnih podatkov1 (v nadaljevanju tudi samo GDPR), s katero je Evropska Unija poskusila uokviriti obdelavo osebnih podatkov. Čeprav morda GDPR na prvi vtis deluje predvsem na področju spleta in z njim povezanih velikanov kot sta Google in Meta, pa lahko ob bolj podrobnem pregledu, hitro ugotovimo, da ureditev obdelave osebnih podatkov, ki jo določa GDPR, posega tudi v poslovne procese in razvoj ter uporabo določenih tehnologij, kamor sodi tudi biometrija, o kateri bomo govorili v tem prispevku. 1 UREDBA (EU) 2016/679 EVROPSKEGA PARLAMENTA IN SVETA z dne 27. aprila 2016 o varstvu posameznikov pri obdelavi osebnih podatkov in o prostem pretoku takih podatkov ter o razveljavitvi Direktive 95/46/ES (Splošna uredba o varstvu podatkov. Dostopno na: https://eur-lex.europa.eu/legal-content/SL/TXT/PDF/?uri=CELEX:32016R0679. 12 ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024 . 2 Pogled na obdelavo osebnih podatkov skozi določila GDPR in slovenskega Zakona o varstvu osebnih podatkov 2.1 Sprejem GDPR in Zakona o varstvu osebnih podatkov Evropska unija je leta 2016 sprejela Splošno uredbo o varstvu osebnih podatkov2 (GDPR), ki je nadomestila do sedaj veljavno Direktivo 95/94/ES. Po sprejemu GDPR je nastopil 2 letni vacatio legis3, ki je omogočal državam članicam kot tudi zavezancem in upravičencem po GDPR, čas, da se seznanijo z novo zakonodajo in jo ustrezno implementirajo. Po poteku tega obdobja, je GDPR stopila v veljavo, kar se je zgodilo 25.5.2018. Na tej točki je pomembno poudariti, da je GDPR Uredba EU, kar pomeni, da gre za zavezujoč pravni akt, ki velja neposredno v vseh državah članicah EU, brez da bi bil potreben kakršenkoli prenos s sprejemom nacionalne zakonodaje. Ravno neposredna uporabljivost pa je ključna razlika med Uredbo EU (kot je GDPR) in Direktivo EU (kot je bila Direktiva 95/46/ES, ki jo nadomešča GDPR). Direktiva EU namreč določa cilje oz. začrta smernice, ki se jih morajo države članice držati, vendar pa jo mora vsaka država članica prenesti v svoj nacionalni pravni red. Upoštevajoč zgoraj napisano direktiva prinese manj poenoteno zakonodajo na ravni EU, saj imajo države članice pri prenosu direktive več manevrskega prostora, medtem ko pri Uredi EU vsebinsko odstopanje ni mogoče – države članice se morajo v celoti ravnati skladno z besedilom uredbe; ločeno pa lahko obravnavajo določene tematike, ki niso del uredbe ali pa določene tematike obravnavajo bolj ali manj rigorozno kot specifična uredba (vendar znotraj meja, ki jih začrta uredba). Sprejem GDPR je bil torej velik preskok za Evropsko Unijo, saj je določila s področja varstva osebnih podatkov do sedaj urejala direktiva, medtem ko ima GDPR status Uredbe in s tem močno dviguje unifikacijo prava držav članic EU na področju varstva osebnih podatkov in zasebnosti. 2 Kot zgoraj. 3 Gre za obdobje, ki sledi sprejetju zakona (in objavi v uradnem glasilu), vendar pred uveljavitvijo zakona. To obdobje zavezancem, ki jih zakon zavezuje omogoča, da se prilagodijo na izvajanje nove zakonodaje (npr. sprejmejo nove ukrepe, prilagodijo poslovne procese ipd.). A. Antunićević: Biometrija in varstvo osebnih podatkov: kako na tehnologijo gleda zakonodaja? 13. Po sprejemu, vendar zlasti po uveljavitvi GDPR je sledila evforija urejanja skladnosti z GDPR v slovenskem gospodarskem prostoru. Vendar se je začetna evforija, ki so jo spremljale predvsem ogromne količine e-sporočil tipa »ostanite z nami«, kmalu polegla. GDPR pa je bila v Sloveniji razglašena za brezzobega tigra. Kaj točno se je zgodilo? Da bi razumeli, zakaj je GDPR v Sloveniji »obvisela v zraku« in zakaj ni bilo mogoče izreči nobene globe, si je potrebno pogledati razliko med materialnim in procesnim zakonom. Medtem ko materialni zakon določa pravice in obveznosti v zvezi z določeno vsebino (oz. materijo), kot je npr. varstvo osebnih podatkov, pa procesni zakon ureja postopke in načine izvrševanja materialnih zakonov. Če povedano apliciramo na naš primer: GDPR je sama po sebi materialni predpis (zakon oz. uredba), zato za svojo polno uveljavitev potrebuje procesni zakon, ki ga Slovenija vse do leta 2023 ni sprejela. S sprejemom Zakona o varstvu osebnih podatkov4 (v nadaljevanju tudi samo ZVOP-2) je Slovenija dobila procesni del kot tudi nekatere materialne dopolnitve, ki podrobneje opredeljujejo določila GDPR. Eno izmed takšnih področij je tudi področje biometrije, o katerem bomo pisali v tem prispevku. 2.2 Osnove varstva osebnih podatkov po GDPR in ZVOP-2 Preden se spustimo v podrobno obravnavo biometrije in biometričnih osebnih podatkov, se je potrebno seznaniti z osnovami varstva osebnih podatkov po veljavni zakonodaji. Ključen pojem, ki nikakor ni tako enoznačen kot zveni, je namreč osebni podatek. GDPR določa, da osebni podatek: » pomeni katero koli informacijo v zvezi z določenim ali določljivim posameznikom (v nadaljnjem besedilu: posameznik, na katerega se nanašajo osebni podatki); določljiv posameznik je tisti, ki ga je mogoče neposredno ali posredno določiti, zlasti z navedbo identifikatorja, kot je ime, identifikacijska številka, podatki o lokaciji, spletni 4 Zakon o varstvu osebnih podatkov, UL RS; št. 003-02-22024-4. Dostopno na: https://www.uradni-list.si/glasilo-uradni-list-rs/vsebina/2022-01-4187?sop=2022-01-4187. 14 ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024 . identifikator, ali z navedbo enega ali več dejavnikov, ki so značilni za fizično, fiziološko, genetsko, duševno, gospodarsko, kulturno ali družbeno identiteto tega posameznika«5. Hitro vidimo, da je definicija splošna in predvsem zelo široka. Če jo na kratko povzamemo, lahko zaključimo, da je osebni podatek katerakoli informacija (ali sklop informacij), na podlagi katere je posameznik določljiv. Ne gre torej za standard določenosti; tj. da je posameznik v celoti identificiran (tipičen primer določenosti je npr. kombinacija imena, priimka in naslova, ki velikokrat privedejo do določenosti posameznika), temveč določljivosti, kar pomeni, da na skupek različnih informacij določi posameznika. Informacijski pooblaščenec je v svoji infografiki pripravil določene tipske kategorije osebnih podatkov, in sicer osebne podatke uvršča v naslednje kategorije: − Identifikacijski podatki (ime in priimek, EMŠO, davčna številka, IP naslov ipd.), − Kontaktni podatki (telefonska številka, e-mail, naslov ipd.), − Transakcijski podatki (podatki o nakupih, zdravstvenih storitvah, podatki o uporabi spleta, lokacijski podatki ipd.) in − Statusni podatki (podatki o zdravju, premoženju, željah, preferencah, izobrazbi, spolu, poklicu ipd.). 6 Prav tako je zelo širok pojem obdelave osebnih podatkov, ki po GDPR vključuje katerokoli operacijo na osebnih podatkih, kot so: hramba, posredovanje, spreminjanje, uničenje in izbris. 7 5 Člen 4, I. odstavek, UREDBA (EU) 2016/679 EVROPSKEGA PARLAMENTA IN SVETA z dne 27. aprila 2016 o varstvu posameznikov pri obdelavi osebnih podatkov in o prostem pretoku takih podatkov ter o razveljavitvi Direktive 95/46/ES (Splošna uredba o varstvu podatkov. Dostopno na: https://eur-lex.europa.eu/legal-content/SL/TXT/PDF/?uri=CELEX:32016R0679. 6 Povzeto po Infografiki Informacijskega pooblaščena, ki je dostopna na: https://www.ip-rs.si/fileadmin/user_upload/Pdf/infografike/Infografika%20-%20osebni%20podatki2.pdf. 7 Člen 4, II. odstavek, UREDBA (EU) 2016/679 EVROPSKEGA PARLAMENTA IN SVETA z dne 27. aprila 2016 o varstvu posameznikov pri obdelavi osebnih podatkov in o prostem pretoku takih podatkov ter o razveljavitvi Direktive 95/46/ES (Splošna uredba o varstvu podatkov. Dostopno na: https://eur-lex.europa.eu/legal-content/SL/TXT/PDF/?uri=CELEX:32016R0679. A. Antunićević: Biometrija in varstvo osebnih podatkov: kako na tehnologijo gleda zakonodaja? 15. 2.3 Zakonitost obdelave osebnih podatkov Na podlagi GDPR je obdelava osebnih podatkov zakonita, kadar poteka na ustrezni pravni podlagi in za vnaprej opredeljen, jasno določen, zakonit in javno objavljen namen. Pravne podlage, na katerih je možna obdelava osebnih podatkov, so določene v 6. členu GDPR in so taksativno naštete, kar pomeni, da smo dolžni pravno podlago izbrati v okviru tega člena. GDPR določa naslednje pravne podlage: − Zakon, − Soglasje, − Pogodbeno razmerje, − Zaščita življenjskih interesov, − Zaščita javnega interesa (izvajanje javne oblasti) in − Zakoniti interesi. 8 Preden se v praksi izvede obdelavo osebnih podatkov, je torej potrebno opredeliti: (1) zakaj bomo to obdelavo izvajali (namen obdelave) in (2) na kateri pravni podlagi se bo takšna obdelava izvajala (določitev pravne podlage). Pri sami izvedbi je potrebno paziti še na obveznost informiranja posameznikov (13. in 14. člen GDPR) in spoštovanje načel GDPR (5. člen GDPR), kjer je potrebno izpostaviti zlasti načelo transparentnosti in načelo minimizacije podatkov; slednje je ključno pri določanju obsega osebnih podatkov, ki jih potrebujemo, da dosežemo namen, ki smo si ga zadali. 3 Ureditev biometrije v Sloveniji V tem prispevku se bomo osredotočili na ureditev obdelave biometričnih osebnih podatkov, skladno z ZVOP-2, ki velja v Sloveniji. 8 Člen 6, UREDBA (EU) 2016/679 EVROPSKEGA PARLAMENTA IN SVETA z dne 27. aprila 2016 o varstvu posameznikov pri obdelavi osebnih podatkov in o prostem pretoku takih podatkov ter o razveljavitvi Direktive 95/46/ES (Splošna uredba o varstvu podatkov. Dostopno na: https://eur-lex.europa.eu/legal-content/SL/TXT/PDF/?uri=CELEX:32016R0679. 16 ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024 . Področje biometrije, v okviru GDPR velja za posebnost, saj GDPR v 9. členu določa, da smejo države članice uvesti dodatne pogoje in omejitev, kadar gre za obdelavo biometričnih podatkov9. Kot odgovor na to določilo, se je slovenski zakonodajalec odločil za bolj podrobno opredelitev obdelave biometričnih podatkov znotraj ZVOP-2, ki si jo bomo pogledali v tem delu prispevka. Ločeni ureditvi biometrije je posvečeno 4. poglavje ZVOP-2 z naslovom »Obdelava osebnih podatkov z uporabo biometrije in genskih podatkov«10. Preden pa se posvetimo vsebini poglavja, je potrebno določiti kaj biometrija sploh je in zakaj jo obravnavamo v okviru varstva osebnih podatkov. 3.1 O biometriji »Biometrija je eden izmed načinov ugotavljanja oz. preverjanja identitete«, povzame definicijo biometrije Informacijski pooblaščenec in nadaljuje, da gre pri biometriji za preverjanje identitete na podlagi neke vedenjske oz. telesne značilnosti, ki je lastna samo tej osebi11. Pri biometričnih sistemih ločimo verifikacijo in identifikacijo. Pri verifikaciji gre za sistem preverja ali je oseba zares tista, za katero se izdaja. Gre torej za preverbo biometričnega vzorca z vzorcem, ki se nahaja v bazi. 12 Pri identifikaciji pa gre za prepoznavo posameznika, na podlagi podatkovne baze, ki je v sistemu. 13 Ne glede na to ali gre za verifikacijo ali identifikacijo pa za obdelavo osebnih podatkov potrebujemo biometrične značilnosti, kot so: obraz, prstni odtis, DNA, očesna mrežnica, hoja, glas in drugi14. Te biometrične značilnosti predstavljajo tudi biometrične osebne podatke, kadar govorimo o obdelavi osebnih podatkov. 9 Člen 9, IV. Odstavek, UREDBA (EU) 2016/679 EVROPSKEGA PARLAMENTA IN SVETA z dne 27. aprila 2016 o varstvu posameznikov pri obdelavi osebnih podatkov in o prostem pretoku takih podatkov ter o razveljavitvi Direktive 95/46/ES (Splošna uredba o varstvu podatkov. Dostopno na: https://eur-lex.europa.eu/legal-content/SL/TXT/PDF/?uri=CELEX:32016R0679. 10 4. poglavje, 10 Zakon o varstvu osebnih podatkov, UL RS; št. 003-02-22024-4. Dostopno na: https://www.uradni-list.si/glasilo-uradni-list-rs/vsebina/2022-01-4187?sop=2022-01-4187. 11 Povzeto po: https://www.ip-rs.si/varstvo-osebnih-podatkov/obveznosti-upravljavcev/prijava-biometrijskih-ukrepov/. 12 MATJAŠEC, Matjaž, 2018, Metode biometričnega overjanja: sistematičen pregled literature [na spletu]. Magistrsko delo. Maribor: Univerza v Mariboru. [Dostopano 19 februar 2024]. Pridobljeno s: https://dk.um.si/IzpisGradiva.php?lang=slv&id=70945, stran 6. 13 Kot zgoraj. 14 MATJAŠEC, Matjaž, 2018, Metode biometričnega overjanja: sistematičen pregled literature [na spletu]. Magistrsko delo. Maribor: Univerza v Mariboru. [Dostopano 19 februar 2024]. Pridobljeno s: https://dk.um.si/IzpisGradiva.php?lang=slv&id=70945, stran 8. A. Antunićević: Biometrija in varstvo osebnih podatkov: kako na tehnologijo gleda zakonodaja? 17. Kljub temu, da biometrične značilnosti temeljijo na unikatnih značilnostih, ki so vezane na posameznika, pa je potrebno opozoriti, da biometrija ni 100% natančna, saj se pri delovanju zanaša na določeno mero verjetnosti (medtem ko na drugi strani uporaba gesla zagotavlja 100% učinkovitost, saj je geslo lahko le pravilno ali napačno – ne more pa biti npr. pravilno s 96% verjetnostjo). 15 Preden se torej odločimo za uporabo biometričnih ukrepov, je torej smiselno, da dobro premislimo, ali je tak ukrep res najprimernejši. 3.2 Ureditev biometrije v ZVOP-2 Tako kot je bilo predstavljeno zgoraj, se tudi ZVOP-2 opira na dva načina prepoznave biometrijskih značilnosti in sicer na identifikacijo in avtentikacijo. ZVOP-2 ureja biometrične ukrepe v členih 81 – 84 pri čemer v 81. členu najdemo splošne prepovedi, kot npr. prepoved povezovanja zbirk biometričnih osebnih podatkov z drugimi zbirkami16. V nadaljevanju pa ZVOP-2 predpisuje način uporabe biometričnih ukrepov, pri čemer deli uporabo biometrije na zasebni in javni sektor. 3.2.1 Biometrični osebni podatki Ker ta prispevek temelji na biometričnih osebnih podatkih, si bomo ogledali še ali gre pri biometričnih podatkih vedno tudi za osebne podatke ali obstajajo kakšne izjeme, ko lahko biometrične podatke uporabljamo, ne da bi šlo za obdelavo osebnih podatkov. Pogosto je v okviru uporabe biometrije omenjeno, da »ne gre za obdelavo osebnih podatkov«, saj se za prepoznavo uporabljajo zgolj »predloge« (tj. zapis vzorca v digitalni obliki) in ne izvirni osebni podatek (npr. prstni odtis). Tako na evropski kot na slovenski ravni je sprejeto stališče, da digitalni zapis biometričnih značilnosti (t.i. » template« ali predloga) predstavlja osebni podatek na enak način kot surovi zapis biometrične značilnosti. 15 Smernice španskega nadzornega organa za varstvo osebnih podatkov; 14 misunderstandings with regard to biometric identification and authentication, dostopno na https://www.aepd.es/documento/nota-equivocos-biometria-en.pdf. 16 Člen 81, III. Odstavek, Zakon o varstvu osebnih podatkov, UL RS; št. 003-02-22024-4. Dostopno na: https://www.uradni-list.si/glasilo-uradni-list-rs/vsebina/2022-01-4187?sop=2022-01-4187. 18 ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024 . Takšno stališče je sprejeto na podlagi (zgoraj opredeljenega) koncepta osebnega podatka. Videli smo, da je neka informacija osebni podatek, kadar je na podlagi te informacije posameznik določljiv (in ne nujno določen). Prav tako smo v tem prispevku pisali, da je namen biometrije prepoznava posameznika glede na njegove distinktivne značilnosti. Upoštevajoč navedeno, bo obdelava podatkov z biometričnimi podatki vedno predstavljala obdelavo osebnih podatkov, saj je njihov prvotni namen prepoznava (in s tem tudi določljivost) posameznika. Glede na navedeno, je potrebno za uporabo biometrije spoštovati določila GDPR in ZVOP-2. 3.2.2 Ureditev v zasebnem sektorju Uporabo v zasebnem sektorju določa 83. člen, ki pravi, da je obdelava biometričnih podatkov dovoljena le, » kadar je to nujno potrebno za opravljanje dejavnosti, za varnost ljudi, varnost premoženja, varovanje tajnih podatkov ali varovanje poslovnih skrivnosti«17. Dodatno je v zasebnem sektorju uporaba biometrije dopustna tudi » zaradi varstva točnosti identitete svojih strank«18. Tudi v tem primeru zakon določa omejitve, na podlagi katerih je takšna raba mogoča, kadar je to nujno potrebno zaradi opravljanja dejavnost oz. varnosti (kot opredeljeno zgoraj), kadar takšno obdelavo posebej določa pogodba ali pa kadar je bila pridobljena privolitev stranke. Zgornja dva odstavka opredeljujeta pravno podlago in namene obdelave, ki jih je potrebno določiti pri uporabi biometrije. Kot vidimo, je nabor pravnih podlag ozek, saj ZVOP-2 določa, da je obdelava biometričnih osebnih podatkov dovoljena samo na podlagi zakona. Nekoliko širši nabor je zgolj v primeru, da gre za točnost identitete strank, kjer lahko upravljavec osebnih podatkov izbira med pravnimi podlagami: zakon, pogodbeno razmerje in privolitev posamične stranke. 17 Člen 83, I. odstavek, Zakon o varstvu osebnih podatkov, UL RS; št. 003-02-22024-4. Dostopno na: https://www.uradni-list.si/glasilo-uradni-list-rs/vsebina/2022-01-4187?sop=2022-01-4187. 18 Člen 83, II. odstavek, 18 Zakon o varstvu osebnih podatkov, UL RS; št. 003-02-22024-4. Dostopno na: https://www.uradni-list.si/glasilo-uradni-list-rs/vsebina/2022-01-4187?sop=2022-01-4187. A. Antunićević: Biometrija in varstvo osebnih podatkov: kako na tehnologijo gleda zakonodaja? 19. Prav tako je ozek in vnaprej opredeljen tudi nabor namenov obdelave, ki jim lahko služijo biometrični ukrepi; kot je to razvidno iz zgornjih odstavkov, gre za namene: varovanja (ljudi, premoženja) ali pa varstva točnosti identitete stranke. V zasebnem sektorju je omogočena tudi raba biometričnih ukrepov, skladno s 3. odstavkom, 83. člena ZVOP-2. V tem primeru gre za izjemo, ki omogoča uporabo biometričnih osebnih podatkov za druge namene, v kolikor takšna obdelava poteka pod izključnim nadzorom stranke ali pod njeno izključno oblastjo in omogoča stranki, da izrecno dovoli obdelavo teh podatkov. Prav tako mora biti takšna obdelava potrjena s strani nadzornega organa za potrjevanje, o čemer bomo pisali v ločenem poglavju. Najbolj zanimiva pojma v zgornjem odstavku sta gotovo »izključni nadzor« in »izključna oblast«, ki ju bo morala napolniti pravna praksa. Do sedaj pa se lahko opremo na mnenje Informacijskega pooblaščenca, ki pravi, da bo potrebno oba pojma razlagati »v smislu spodbujanja načela vgrajenega in privzetega varstva osebnih podatkov19«, ki ga uvaja GDPR. Zgornje načelo je potrebno razlagati na način, da je potrebno za dosego ciljev upoštevati metode, ki čim manj posegajo v zasebnost posameznika in spodbujajo visok nivo varstva osebnih podatkov. Informacijski pooblaščenec navaja, da je eden takih ukrepov tudi » preprečitev hrambe podatkov v centraliziranih zbirkah pri upravljavcu, temveč omogočanje hrambe na medijih ali napravah, ki so pod nadzorom posameznika (npr. mobilni telefon, USB ključki ipd.)20«. V primeru, da se upravljavec odloči za tak pristop, mu za vpeljavo ni potrebno pridobiti pozitivne odločbe Informacijskega pooblaščenca (opis tega postopka se nahaja spodaj), kar nekoliko olajša postopek sprejemanja biometričnih ukrepov v organizaciji. 19 Mnenje Informacijskega pooblaščenca; št. 07121-1/2024/128, z dne 5.2.2024, dostopno na: https://www.ip-rs.si/mnenja-zvop-2/potrjevanje-obdelav-biometri%C4%8Dnih-op-1707898494. 20 Kot zgoraj. 20 ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024 . 3.2.3 Postopek uvedbe biometrije v zasebnem sektorju Postopek, kako se uvede biometrične ukrepe, je prav tako opredeljen v ZVOP-2, in sicer od 4. do 8. odstavka 83. člena. Upravljavec je dolžan še pred začetkom obdelave biometričnih osebnih podatkov o tem obvestiti zaposlene in z zaposlenimi izvesti predhodno posvetovanje o sorazmernosti obdelave. Naslednji korak je posredovanje opisa nameravanih obdelav in razlogov za uvedbo Informacijskemu pooblaščencu. Pri Informacijskem pooblaščencu so pripravili obrazec, ki ga lahko uporabijo upravljavci. Po prejemu vseh informacij, bo Informacijski pooblaščenec v roku 2 mesecev odločil o dovoljenosti uporabe biometrije. Upravljavec sme vpeljati biometrične ukrepe šele po prejemu pozitivne odločbe s strani Informacijskega pooblaščenca. 3.2.4 Biometrija v javnem sektorju Podobno kot v zasebnem sektorju se tudi biometrija v javnem sektorju lahko določi z zakonom, in sicer »če je to nujno potrebno za varnost ljudi, varnost premoženja, varovanje tajnih podatkov, identifikacijo pogrešanih ali umrlih posameznikov ali za varovanje poslovnih skrivnosti, teh namenov pa ni mogoče doseči z milejšimi sredstvi«21. Prav tako je v javnem sektorju omogočena tudi izjema, ki dopušča obdelavo biometričnih osebnih podatkov, »kadar so dejanja obdelave akreditirana in kadar se obdelava izvaja pod izključnim nadzorom ali izključno oblastjo posameznika ter mu omogoča, da izrecno dovoli obdelavo teh podatkov«22. Prav tako ZVOP-2 določa nekaj dodatnih izjem, ki pa so namenjene izpolnjevanju mednarodnih obveznosti ali pa identifikaciji v okviru postopka izdaje sredstev elektronske identifikacije. 21 Člen 82, I. odstavek, Zakon o varstvu osebnih podatkov, UL RS; št. 003-02-22024-4. Dostopno na: https://www.uradni-list.si/glasilo-uradni-list-rs/vsebina/2022-01-4187?sop=2022-01-4187. 22 Člen 82, II. odstavek, Zakon o varstvu osebnih podatkov, UL RS; št. 003-02-22024-4. Dostopno na: https://www.uradni-list.si/glasilo-uradni-list-rs/vsebina/2022-01-4187?sop=2022-01-4187. A. Antunićević: Biometrija in varstvo osebnih podatkov: kako na tehnologijo gleda zakonodaja? 21. 3.3 Akreditacija Kot je bilo že omenjeno v zgornjih poglavjih, je kot pogoj za uporabo biometrije omenjena tudi akreditacija posamične biometrijske rešitve. Skladno z ZVOP-2 bi morala slovenska akreditacija pričeti z delovanjem 1.1.2024, vendar do danes akreditacija še ni bila vzpostavljena. Vprašanja, kot so: katero telo bo skrbelo za akreditacijo, kakšen bo postopek in nenazadnje tudi kakšna bo cena takšne akreditacije, tako v času priprave tega prispevka ostajajo neodgovorjena. V vmesnem obdobju pa se je pri uporabi biometričnih rešitev potrebno opreti na 2. odstavek 121. člena, ki vzpostavlja domnevo, da so vsa »dejanja obdelave upravljavcev in obdelovalcev, ki morajo po določbah tega zakona za dejanja obdelave pridobiti certifikat, ta skladna z merili iz mehanizma potrjevanja«23. 4 Zaključno Obdelava osebnih podatkov postaja čedalje bolj kompleksna tema, kjer je prisotno vsakodnevno tehtanje med zmožnostjo tehnologije in posegom v zasebnost posameznika. GDPR, kot temeljni predpis s področja varstva osebnih podatkov, postavlja pravni okvir, znotraj katerega morajo upravljavci in obdelovalci vzpostaviti ustrezne mehanizme in varovalke, ki bodo omogočali varno obdelavo osebnih podatkov. V tem prispevku je bila podrobneje predstavljena tudi ureditev biometrije v slovenski zakonodaji. V tem primeru je Slovenija specifična v primerjavi z drugimi državami članicami, naša ureditev pa močno odstopa tudi od ureditve GDPR, ki specifičnih določb o biometriji nima. Čeprav je v primerjavi s prejšnjim (in sedaj neveljavnim) Zakonom o varstvu podatkov (ZVOP-1), sedaj uporaba biometrije širša, še posebej za zasebni sektor, pa lahko trdimo, da je manevrski prostor za biometrične rešitve v slovenskem prostoru relativno ozek. 23 Člen 121, II. Odstavek, Zakon o varstvu osebnih podatkov, UL RS; št. 003-02-22024-4. Dostopno na: https://www.uradni-list.si/glasilo-uradni-list-rs/vsebina/2022-01-4187?sop=2022-01-4187. 22 ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024 . Na tej točki je potrebno izpostaviti izjemo, ki jo omogoča ZVOP-2, kjer se lahko upravljavci, ki želijo uporabiti biometrijo, izognejo potrjevanju takšne rešitve pri Informacijskem pooblaščencu, v kolikor jim uspe zagotoviti, da so vsa dejanja obdelave osebnih podatkov pod izključnim nadzorom ali izključno oblastjo posameznika, čigar podatke se obdeluje. Tukaj v ospredje prihajata dve načeli, ki ju je vzpostavila GDPR, in sicer t.i. »privacy by design« in »privacy by default«, ki naj upravljavcem služita kot smernici pri vzpostavitvi biometričnih ukrepov brez odločbe Informacijskega pooblaščenca. Svoj košček v biometričnem mozaiku pa bo dodala tudi akreditacija, ki bo določala, kako široko se bodo odprla vrata za uporabo biometrije in nenazadnje tudi kako visok bo prag (tako z vidika tehnologije kot tudi z vidika stroškov postopka akreditacije), ki ga bo potrebno prestopiti za rabo takšne tehnologije. V luči povedanega torej lahko zaključimo, da ostaja uporaba biometrije v Sloveniji visoko regulirana, vendar pa je, v primerjavi s prej veljavnim zakonom, prišlo do vidnih premikov k dostopnosti tovrstne tehnologije. Viri in literatura UREDBA (EU) 2016/679 EVROPSKEGA PARLAMENTA IN SVETA z dne 27. aprila 2016 o varstvu posameznikov pri obdelavi osebnih podatkov in o prostem pretoku takih podatkov ter o razveljavitvi Direktive 95/46/ES (Splošna uredba o varstvu podatkov. Dostopno na: https://eur-lex.europa.eu/legal-content/SL/TXT/PDF/?uri=CELEX:32016R0679; Zakon o varstvu osebnih podatkov, UL RS; št. 003-02-22024-4. Dostopno na: https://www.uradni-list.si/glasilo-uradni-list-rs/vsebina/2022-01-4187?sop=2022-01-4187; Infografika Informacijskega pooblaščena, ki je dostopna na: https://www.ip-rs.si/fileadmin/user_upload/Pdf/infografike/Infografika%20-%20osebni%20podatki2.pdf; MATJAŠEC, Matjaž, 2018, Metode biometričnega overjanja: sistematičen pregled literature [na spletu]. Magistrsko delo. Maribor: Univerza v Mariboru. [Dostopano 19 februar 2024]. Pridobljeno s: https://dk.um.si/IzpisGradiva.php?lang=slv&id=70945; Smernice španskega nadzornega organa za varstvo osebnih podatkov; 14 misunderstandings with regard to biometric identification and authentication, dostopno na: https://www.aepd.es/documento/nota-equivocos-biometria-en.pdf. Mnenje Informacijskega pooblaščenca; št. 07121-1/2024/128, z dne 5.2.2024, dostopno na: https://www.ip-rs.si/mnenja-zvop-2/potrjevanje-obdelav-biometri%C4%8Dnih-op-1707898494. DOPOLDANSKA IN POPOLDANSKA SEKCIJA Industrijske aplikacije Medicinske in biomedicinske aplikacije Študentske aplikacije Drugo DEMONSTRACIJSKA CELICA ZA DOI https://doi.org/ 10.18690/um.feri.1.2024.2 PRIKAZ GLOBOKEGA UČENJA V ISBN 978-961-286-837-6 PRAKTIČNIH APLIKACIJAH DOMEN TABERNIK, PETER MLAKAR, JAKOB BOŽIČ, LUKA ČEHOVIN ZAJC, VID RIJAVEC, DANIJEL SKOČAJ Univerza v Ljubljani, Fakulteta za računalništvo in informatiko, Ljubljana, Slovenija domen.tabernik@fri.uni-lj.si, pm4824@student.uni-lj.si, jakob.bozic@gmail.com, luka.cehovin@fri.uni-lj.si, vid.rijavec@fri.uni-lj.si, danijel.skocaj@fri.uni-lj.si V zadnjih letih so metode globokega učenja postale ključno orodje Ključne besede: demonstracijska celica, za reševanje raznolikih praktičnih izzivov. Kljub temu pa potencial globoko učenje, takih metod pogosto ostaja slabo razumljiv širši javnosti zaradi integracija algoritmov, praktične aplikacije, pogostega ločevanja razvoja in demonstracije algoritmov od klasifikacija, dejanskih praktičnih problemov, ki jih algoritmi naslavljajo. V tem detekcija anomalij, štetje polipov, članku predstavljamo demonstracijsko celico, ki združuje strojno prometni znaki, in programsko opremo ter algoritme globokega učenja, detekcija vogalov tekstilnih izdelkov omogočajoč enostavno prikazovanje delovanja teh metod v različnih aplikativnih domenah. Celica vključuje kamere, grafični vmesnik in pet demonstracijskih programov, ki demonstrirajo klasifikacijo lesenih desk, detekcijo površinskih anomalij, štetje polipov, detekcijo prometnih znakov in detekcijo vogalov tekstilnih izdelkov. Implementiran modularni pristop omogoča enostavno integracijo različnih algoritmov globokega učenja. Sistem omogoča boljše razumevanje in uporabo teh metod v praktičnih scenarijih ter prispeva k razvoju inovativnih rešitev na področju globokega učenja. DOI https://doi.org/ DEMONSTRATION CELL FOR 10.18690/um.feri.1.2024.2 ISBN SHOWCASING DEEP LEARNING IN 978-961-286-837-6 PRACTICAL APPLICATIONS DOMEN TABERNIK, PETER MLAKAR, JAKOB BOŽIČ, LUKA ČEHOVIN ZAJC, VID RIJAVEC, DANIJEL SKOČAJ University of Ljubljana, Faculty of Computer and Information Science, Ljubljana, Slovenia domen.tabernik@fri.uni-lj.si, pm4824@student.uni-lj.si, jakob.bozic@gmail.com, luka.cehovin@fri.uni-lj.si, vid.rijavec@fri.uni-lj.si, danijel.skocaj@fri.uni-lj.si Keywords: In recent years, deep learning methods have become a crucial tool demonstration cell, deep learning, for solving diverse practical challenges. However, their potential algorithm integration, often remains poorly understood by a broader audience due to a practical applications, classification, separation between development and demonstration of anomaly detection, algorithms and actual problems being solved by those algorithms. polyp counting, traffic signs, In this article, we introduce an innovative demonstration cel that grasp point detection combines hardware, software, and deep learning algorithms, enabling easy showcasing of these methods in various application domains. The cell includes cameras, a graphical interface, and five demonstration programs that demonstrate the classification of wooden boards, detection of surface anomalies, counting of polyps, recognition of traffic signs, and detection of corners on towels and cloths. The implemented modular approach al ows for the straightforward integration of different deep learning algorithms. The system enhances understanding and application of these methods in practical scenarios, contributing to the development of innovative solutions in the field of deep learning. D. Tabernik et al.: Demonstracijska celica za prikaz globokega učenja v praktičnih aplikacijah 27. 1 Uvod Metode globokega učenja so v zadnjih letih postale izredno močno orodje za reševanje raznolikih praktičnih problemov. Navkljub temu pa je njihova demonstracija širši publiki pogosto težavna, saj se razvoj in demonstracija algoritmov vršita povsem ločeno od končnih sistemov, kjer taki algoritmi dejansko rešujejo praktične probleme. Zaradi tega širša publika pogosto spregleda potencial takih algoritmov za uporabo v aplikativnih domenah. V ta namen smo ustvarili demonstracijsko celico s katero lahko enostavno prikažemo delovanje najnovejših metod globokega učenja v kontekstu različnih praktičnih problemov. Celica sestoji iz ohišja, kamer, strojne opreme, programske opreme za njen nadzor ter iz vrsto demonstracijskih programov z algoritmi globokega učenja. Glavni cilj pri zasnovi celice je bila enostavna uporaba na eni strani ter na drugi strani enostavna integracija različnih vrst algoritmov globokega učenja, ki so pogosto razviti za raziskovalne namene ter zahtevajo specifično programsko okolje za pravilno delovanje. V ta namen je bilo razvito posebno programsko ogrodje skupaj s petimi različnimi demonstracijskimi programi, kjer vsak rešuje specifičen praktičen problem ter jih je mogoče demonstrirati na realnih predmetih postavljenimi v celico. 2 Opis sistema Demonstracijska celica je sestavljena iz ohišja, strojne opreme ter namensko ustvarjenje programske opreme za poganjanje poljubnih metod globokega učenja v demonstracijskem načinu. 2.1 Ohišje in strojna oprema Celotna demonstracijska celica obsega 60 x 60 x 120 cm veliko ogrodje sestavljeno iz ALU profila, ki je razdeljeno na dva prekata: i) glavni demonstracijski prekat ter ii) manjši prekat višine 20 cm za strojno opremo na dnu celice. Na vrhu celice se nahajajo nosilci za montažo senzorjev, ki so usmerjeni navzdol, ter 6 programsko nadzorovanih LED luči. Celica vsebuje 12MP kamero Al ied Vision Alvium 1800 U-1240c za zajem slik ter Kinect Azure za zajem slik z globinsko informacijo, sočasno pa omogoča enostavno montažo dodatnih kamer z nosilci pritrjenimi na ALU profile. Prekat za strojno opremo vsebuje modul za napajanje in nadzor luči ter majhen 28 ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024 . glavni računalnik, sestavljen iz procesorja Intel Core i5-11600KF 3.90GHz, 16 GB pomnilnika ter grafične enote NVIDIA GeForce RTX 3060 z 12GB pomnilnika. Celica vsebuje še 24' LCD zaslon na dotik za upravljanje in vizualizacijo demonstracijskih programov. Celotna demonstracijska celica je prikazana na Sliki 1. Slika 1: Demonstracijska celica. Vir: lasten. 2.2 Programska oprema Pri razvoju programske opreme smo zasledovali dva pomembna cilja: i) enostavno uporabo z zaslonom na dotik, ter ii) enostavno integracijo različnih vrst demonstracijskih programov. V ta namen smo razvili namenski grafični vmesnik enostaven za upravljanje na dotik, ter celotno programsko okolje zasnovali modularno na osnovi sistema vsebnikov. Sistem je tako razdeljen na: i) grafični vmesnik z modulom za upravljanje z demonstracijskimi programi, ii) na podsistem za zajem in prenos slik, i i) na posamezne demonstracijske programe, ter iv) na komunikacijski podsistem. Arhitektura programske celice je prikazana na Sliki 2. D. Tabernik et al.: Demonstracijska celica za prikaz globokega učenja v praktičnih aplikacijah 29. Vsak od štirih podsistemov je implementiran v svojem vsebniku, s čimer povsem zamejimo odvisnosti od knjižnic na vsak podsistem. Tak pristop primarno razrešuje problem odvisnosti knjižnic pri različnih demonstracijskih programih, kjer je lahko vsak program implementiran na različen način in z uporabo različnih programskih jezikov in orodij. Na primer, prvi demonstracijski program je lahko implementiran v programskem jeziku Python z ogrodjem PyTorch 1.9, ki zahteva knjižnico CUDA 10, medtem ko je drugi program lahko implementiran v jeziku C++ z ogrodjem TensorFlow v2, ki zahteva knjižnico CUDA 11. Ker je v našem sistemu vsak demonstracijski program implementiran v svojem vsebniku, pa tako povsem izločimo potrebo po sočasni prisotnosti med seboj nekompatibilnih knjižnic. V praksi implementiramo vse podsisteme z orodjem Docker. Slika 2: Programska arhitektura demonstracijske celice. Vir: lasten. Podsistem za zajem in prenos slik je prav tako implementiran v ločenem vsebniku Docker. Tako omogočimo enostavno uporabo različnih tipov kamer, ki zahtevajo vsak svoje gonilnike ter ogrodja. Za demonstracijsko celico smo implementirali dva vsebnika: i) vsebnik za prenos slik iz senzorja Al ied Vision Alvium 1800, ter ii) vsebnik za prenos slik iz senzorja Kinect Azure. Prvi omogoča zajem RGB slik, medtem ko drugi omogoča zajem RGB-D slik ter dodatno tudi informacijo iz inercijskega senzorja. 30 ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024 . Kamere, demonstracijski programi ter podsistem za upravljanje demonstracijskih programov z grafičnim vmesnikom med seboj komunicirajo preko dodatnega komunikacijska podsistema. Komunikacija je mogoča na podlagi vzorca objavi-naroči (ang. publish-subscribe), podobno kot pri sistemu ROS. Komunikacijski podsistem smo implementirali v ločenem Docker vsebniku z odprtokodno knjižnico echolib1, ki je prenosljiva ter lahka implementacija protokola objavi-naroči. Posameznimi podsistemi tako komunicirajo med seboj preko različnih tem (npr. tema za prenos slik, tema za prenos rezultatov za prikaz, tema za nadzor demonstracijskega programa preko grafičnega vmesnika, itd.). Tak način komuniciranja omogoča tudi sočasen prenos slik iz več kamer, kjer lahko vsaka kamera prenaša slike na svoji temi, nato pa se demonstracijski program odloči katero kamero bo uporabil. Pomemben del predstavlja tudi podsistem z grafičnim vmesnikom ter modulom za upravljanje z demonstracijskimi programi. Grafični vmesnik smo zasnovali na podlagi odprtokodne knjižice2, ki omogoča uporabo ogrodja OpenGL preko programskega jezika Python. Sam grafični vmesnik je relativno preprost ter primarno omogoča preklapljanje med posameznimi demonstracijskimi programi. Preklapljanje med demonstracijskimi programi nadzira modul za upravljanje z demonstracijskimi programi, ki je implementiran v programskem jeziku Python. Na vsako zahtevo po prikazu specifičnega demonstracijskega programa tako modul požene in ustavi posamezne vsebnike z demonstracijskimi programi. 2.2 Implementacija demonstracijskega programa Posamezen demonstracijski program ter njegov grafični vmesnik sta implementirana ločeno od preostalih podsistemov. S tem omogočimo enostavno dodajanje novih algoritmov. Glavni del programa predstavlja aplikacija, ki se avtomatsko požene ob zagonu vsebnika, ter se mora preko komunikacijskega podsistema echolib povezati s kamerami ter z grafičnim vmesnikom. V vsebniku se tako izvede priklop na zajem in prenos slik iz specifičnega senzorja ter ustrezna obdelava slik, kar se nato pošlje v glavni grafični vmesnik za izris na zaslon. Del tega procesa je tudi prikaz slike ter rezultatov detekcij, ki se izvede že znotraj demonstracijskega vsebnika ter tako omogoča enostavno integracijo različnih obdelav in prikazov rezultatov. 1 https://github.com/vicoslab/echolib 2 https://github.com/petermlakar/opengl_gui D. Tabernik et al.: Demonstracijska celica za prikaz globokega učenja v praktičnih aplikacijah 31. Del demonstracijskega programa je tudi grafični vmesnik za nadzor posameznih funkcij procesiranja (npr. gumb za zagon detekcije, nastavitev upragovanja, itd.), ki pa ni implementiran znotraj demonstracijskega vsebnika, ampak se dinamično vključi v glavni grafični vmesnik ob zagonu programa. Zaradi tega poteka komunikacija med grafičnim vmesnikom za demonstracijski program ter njegovim zajemom in procesiranjem slik preko komunikacijskega podsistema echolib. 3 Demonstracijski programi Predstavljen sistem je bil zasnovan za enostavno integracijo različnih demonstracijskih programov za prikaz delovanja algoritmov globokega učenja. Implementirali smo pet spodaj opisanih programov. 3.1 Klasifikacija lesenih desk Demonstracijski program predstavlja praktičen primer klasifikacije lesenih desk v kakovostne razrede, ki je bil predstavljen v (Muhovič, Tabernik, & Skočaj, 2020). Za model smo izbrali nevronsko mrežo EfficientNet-B4, ki smo jo naučili za razlikovanje med 10 različnimi tipi lesenih površin (primeri na Sliki 3). Za učenje smo uporabili 290 slik zajetih na istem demonstracijskem sistmu (29 slik za vsako kategorijo) ter učili model za 200 epoh z optimizatorjem Adam ter funkcijo izgube binarne prečne entropije. Slika 3: Deset kategorij kakovosti lesa. Vir: lasten. Pri napovedovanju (ter tudi pri učenju) se iz slike predhodno izreže posamezno desko z enostavnim upragovanjem (ozadje je vedno črne barve) ter poravna in poveča na velikost 1512 x 536 pikslov. Grafični vmesnik demonstracijskega programa vsebuje gumb za izvedbo klasifikacije, ter prikaz rezultata v obliki segmentacije posamezne deske ter številko razpoznanega razreda deske (Slika 5). 32 ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024 . Klasifikacijski program je implementiran v programskem okolju Python z ogrodjem PyTorch v1.7.1 ter knjižnico CUDA v11.2 in CuDNN v8 na osnovi sistema Ubuntu 18.04. 3.2 Detekcija površinskih anomalij Za demonstracijo nenadzorovanih metod detekcije površinskih anomalij, kjer model učimo na izključno dobrih primerih, smo izbrali metodo DREAM (Zavrtanik, Kristan, & Skočaj, 2021), ter jo aplicirali na detekcijo anomalij na ploščicah. Metoda DRAEM, predstavlja rekonstrukcijski tip nenadzorovanih metod učenja normalnega izgleda, kjer se z arhitekturo kodirnik-dekodirnik izvede rekonstrukcijo slike, nato pa z dodatnim diskriminativnim kodirnik-dekodirnikom, naučenim na sintetičnih napakah, poskuša detektirati odstopanja od normalnega izgleda, t.j., anomalije. Za učenje smo pripravili 300 slik ploščic brez napak, ter model učili 50 epoh z optimizatorjem Adam. Slika 4: Detekcija anomalij na ploščicah. Levo: dober primer, desno: anomalija (verjetnost anomalije v oklepajih). Vir: lasten. Pri napovedovanju (ter tudi pri učenju) se iz slike predhodno izreže posamezno ploščico z enostavnim upragovanjem ter poravna in poveča na velikost 480 x 480 pikslov. Grafični vmesnik demonstracijskega programa vsebuje gumb za izvedbo detekcije, ter prikaz rezultata v obliki segmentacije posamezne ploščice ter indikator prisotnosti anomalije v obliki barve segmentacije, kot je prikazano na Sliki 4 (rdeča – anomalija, zelena – brez anomalije). Detektor anomalij je implementiran v programskem okolju Python z ogrodjem PyTorch v1.7.1 ter knjižnico CUDA v11.2 in CuDNN v8 na osnovi sistema Ubuntu 18.04. D. Tabernik et al.: Demonstracijska celica za prikaz globokega učenja v praktičnih aplikacijah 33. 3.3 Štetje polipov Za demonstracijski program smo implementirali tudi model PoCo (Zavrtanik, Vodopivec, & Kristan, 2020) za štetje polipov. Metoda PoCo temelji na arhitekturi U-Net, ter je sestavljena iz kodirnika in dekodirnika, ter vmesnimi povezavami. Metoda šteje polipe na podlagi segmentacije, kjer se okoli polipov segmentira krog v odvisnosti od velikosti polipov, nato pa se z pomočjo transformacije razdalje detektira in prešteje prekrivajoče se polipe z uporabo konsenza razdalij (ang. distance consensus points). Model je bil naučen na 37 slikah s 32.685 označenimi polipi. Slika 5: Demonstracija klasifikacije lesa (levo) ter štetja polipov (desno) Vir: lasten. Ker se objekti naravno nahajajo le v morju, le teh ni mogoče fizično prikazati na demonstratorju, zato za demonstracijo delovanja prikažemo natisnjeno sliko s zajetimi polipi. Pri napovedovanju se zato iz slike odstrani ozadje z enostavnim upragovanjem ter sliko s polipi poravna in poveča na velikost 2080 x 1470 pikslov. Grafični vmesnik demonstracijskega programa vsebuje gumb za izvedbo štetja, ter prikaz rezultata v obliki številke detektiranih polipov (Slika 5). Program za štetje polipov je implementiran v programskem okolju Python z ogrodjem TensorFlow v2.6.2 ter knjižnico CUDA v11.2 in CuDNN v8 na osnovi sistema Ubuntu 18.04. 3.4 Detekcija prometnih znakov Implementirali smo tudi demonstracijski program za prikaz algoritma detekcije prometnih znakov predstavljenim v (Tabernik & Skočaj, 2019). Detektor sloni na metodi Faster/Mask R-CNN (He, Gkioxari, Dollár, & Girshick, 2017), naučeni za 34 ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024 . detekcijo 200 različnih kategorij prometnih znakov. Model je bil naučen na podatkovni množici s preko 5.000 slik zajetih na slovenskih cestah, ki vsebuje preko 10.000 označenih prometnih znakov. Za hrbtenico smo vzeli arhitekturo ResNet50, ki omogoča izvajanje v realnem času. Model je bil učen 95 epoh, kjer so bile slike zmanjšane, tako da je bila najmanjša stranica velika 840 pikslov. Slika 6: Detekcija prometnih znakov. Vir: lasten. Grafični vmesnik demonstracijskega programa vsebuje gumb za izvedbo detekcije, ter prikaz rezultata v obliki očrtanih pravokotnikov okoli prometnih znakov. Dodatno izrišemo tudi zaznano kategorijo v obliki slike tipičnega predstavnika te kategorije, kot je to prikazano na Sliki 6. Program napovedovanja je implementiran v programskem okolju Python z ogrodjem Detectron in Caffe2 ter knjižnico CUDA v11.1 in CuDNN v8 na osnovi sistema Ubuntu 16.04. 3.5 Detekcija vogalov brisač in krp Implementirali smo tudi demonstracijski program za detekcijo vogalov brisač in krp, ki se lahko uporablja kot detektor točk prijema za robotske aplikacije. Za detekcijo kotnih robov smo aplicirali model CeDiRNet (Tabernik, Muhovič, & Skočaj, 2023), ki sloni na dvostopenjski arhitekturi z regresijo smernih vektorjev na prvi stopnji, ter lokalizacijo točk na drugi stopnji. Metoda je bila naučena na preko 5.000 učnih slikah s prikazanimi brisačami v raznolikih konfiguracijah ter svetlobnimi pogoji. Naučena metoda vsebuje tudi možnost uporabe globinske informacije zato za ta demonstracijski program omogočamo uporabo tako navadne RGB kamere ( Al ied Vision) kot tudi RGB-D kamere ( Kinect Azure). V ta namen grafični vmesnik poleg D. Tabernik et al.: Demonstracijska celica za prikaz globokega učenja v praktičnih aplikacijah 35. gumba za zagon detekcije vsebuje tudi opcijo za izbiro vira kamere. Rezultat detekcije prikažemo v obliki detektiranih točk, dodatno pa prikažemo tudi smer, ki določa potencialen kot pristopa za robotsko roko, kot je to prikazano na Sliki 7. Detektor vogalov je implementiran v programskem okolju Python z ogrodjem PyTorch v1.13.1 ter knjižnico CUDA v11.7 in CuDNN v8 na osnovi sistema Ubuntu 20.04. Slika 7: Detekcija vogalov na brisači. Vir: lasten. 4 Zaključek V članku smo predstavili demonstracijsko celico, ki omogoča preprost prikaz delovanja metod globokega učenja v različnih praktičnih aplikacijah. Celica, ki združuje strojno in programsko opremo, ponuja modularno okolje za enostavno integracijo različnih algoritmov globokega učenja. Z izvedbo petih demonstracijskih programov, ki segajo od klasifikacije do detekcije, demonstracijska celica ponuja vpogled v uporabo globokega učenja v resničnih scenarijih. Razviti sistem prispeva k širšemu razumevanju potenciala in praktične uporabe metod globokega učenja, kar odpira vrata inovativnim rešitvam v različnih aplikacijskih domenah. S tem članek spodbuja nadaljnje raziskave in razvoj za praktično demonstracijo metod globokega učenja v aplikativnih domenah. Zahvala To delo je bilo delno podprto s strani raziskovalnih projektov ARIS J2-3169 (MV4.0) in J2-4457 (RTFM), kot tudi s strani raziskovalnega programa P2-0214. 36 ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024 . Viri in literatura He, K., Gkioxari, G., Dolár, P., & Girshick, R. (2017). Mask R-CNN. (str. 2961–2969). International Conference on Computer Vision. Muhovič, J. N., Tabernik, D., & Skočaj, D. (2020). O klasifikaciji slik v ne-enolično določljive razrede. (str. 355-358). Zbornik devetindvajsete mednarodne Elektrotehniške in računalniške konference ERK 2020. Tabernik, D., & Skočaj, D. (2019). Deep Learning for Large-Scale Traffic-Sign Detection and Recognition. IEEE Transactions on Intel igent Transportation Systems. Tabernik, D., Muhovič, J. N., & Skočaj, D. (2023). Lokalizacija in ocenjevanje lege predmeta v treh prostostnih. Zbornik dvaintridesete mednarodne Elektrotehniške in računalniške konference ERK 2023. Zavrtanik, V., Kristan, M., & Skočaj, D. (2021). DRAEM -- A discriminatively trained reconstruction embedding for surface anomaly detection. International Conference on Computer Vision. Zavrtanik, V., Vodopivec, M., & Kristan, M. (2020). A segmentation-based approach for polyp counting in the wild. Engineering Applications of Artificial Intel igence. GRADNJA KONVOLUCIJSKIH DOI https://doi.org/ 10.18690/um.feri.1.2024.3 NEVRONSKIH MREŽ ZA ISBN 978-961-286-837-6 RAZVRŠČANJE SLIK Z UPORABO EVOLUCIJSKIH ALGORITMOV UROŠ MLAKAR Univerza v Mariboru, Fakulteta za elektrotehniko računalništvo in informatiko, Maribor, Slovenija uros.mlakar@um.si Globoke nevronske mreže so bile uspešno aplicirane že na Ključne besede: evolucijski algoritem, mnogih področjih obdelave slik. Uspešnost mreže je vedno globoka mreže, pogojena z njeno arhitekturo, ki pogosto zahteva ročno razvrščanje slik, generiranje globokih mrež, oblikovanje strokovnjaka z bogatim strokovnim znanjem. Takšen optimizacija pristop je lahko v realnem svetu zamuden, morda tudi neizvedljiv, predvsem zaradi primanjkljaja izkušenj načrtovalcev oz. njihovega znanja. V tem članku smo predstavili postopek avtomatskega iskanja topologije globoke nevronske mreže v aplikaciji razvrščanja slik. Iskanje ustrezne topologije smo preslikali v optimizacijski problem, ki ga rešujemo z algoritmom diferencialne evolucije. Algoritem smo testirali nad podatkovnima zbirkama CIFAR10 in AffectNet. Dobljeni rezultati so obetavni in odpirajo novo mlado razsikovalno področje načrtovanja globokih mrež brez predhodnega ekspertnega znanja. DOI https://doi.org/ BUILDING CONVOLUTIONAL 10.18690/um.feri.1.2024.3 ISBN NEURAL NETWORKS FOR IMAGE 978-961-286-837-6 CLASSIFICATION USING EVOLUTIONARY ALGORITHMS UROŠ MLAKAR University of Maribor, Faculty of Electrical Engineering and Computer Science, Maribor, Slovenia uros.mlakar@um.si Keywords: Deep neural networks have already been successful y applied in evolutionary algorithm, deep networks, many areas of image processing. The success of a network is image classification, always conditioned by its architecture, which requires manual generating deep networks, optimization design with expert knowledge. In the real world, such an approach can be time-consuming, perhaps even unfeasible, mainly due to the lack of experience of users or of their knowledge. In this paper, we presented the process of automatical y finding the topology of a deep network in an image classification application. We mapped the search for a suitable topology into an optimization problem, which is solved using the differential evolution algorithm. We tested the algorithm on the CIFAR10 and AffectNet datasets. The obtained results are promising and open up a new young research field of designing deep networks without prior expert knowledge. U. Mlakar: Gradnja konvolucijskih nevronskih mrež za razvrščanje slik z uporabo evolucijskih algoritmov 39. 1 Uvod Globoke nevronske mreže (angl. Deep Neural Networks - DNN), ki so temelj globokega učenja (cite), so se v zadnjih letih izkazale uspešne pri različnem naboru aplikacij, kjer so največ uporabljene pri razvrščanju slik (He, 2016) (Huang, 2017), procesiranju naravnega jezika, prepoznavanju govora (Zhang, 2017) in drugih. Njihova pomembna lastnost je sposobnost prepoznavanja in učenja pomembnih lastnosti vhodnih podatkov, brez predhodnega ročnega oblikovanja značilnic. V splošnem uspešnost DNN pogojujeta dva vidika in sicer zasnova arhitekture ter pripadajoče uteži. Šele ko sta oba hkrati v optimalnem stanju, lahko pričakujemo obetavno delovanje DNN. Optimalne uteži se pogosto pridobijo s postopkom učenja: z uporabo zvezne funkcije izgube za merjenje razlik med dejanskim in želenim izhodom, nato pa se za minimiziranje izgube pogosto uporabljajo algoritmi, ki temeljijo na gradientnem spustu. Ko je izpolnjen pogoj za zaključek učenja, ki je običajno število učnih iteracij, lahko algoritem pogosto najde dober nabor uteži (LeCun, 2015). Takšen postopek je v praksi zelo priljubljen predvsem zaradi učinkovitosti in se ga največ uporablja za optimizacijo uteži, čeprav gre zgolj za algoritme lokalnega iskanja. Po drugi strani pa iskanje optimalnih arhitektur ni mogoče neposredno formulirati z zvezno funkcijo, ne obstaja pa tudi eksplicitna funkcija za merjenje procesa iskanja optimalne arhitekture. Obetavne arhitekture, ki dosegajo dobre rezultate večinoma razvijejo strokovnjaki z obširnim domenskim strokovnim znanjem. Primer takšnih arhitektur so npr. VGG (Zisserman, 2015), ResNet (Sun, 2015) in DenseNet (Weinberger, 2018). Vse omenjene modele konvolucijskih nevronskih mrež (angl. Convolutional Neural Networks - CNN) so ročno zasnovali raziskovalci z bogatim znanjem s področja nevronskih mrež in obdelave slik. Pogosto se dogaja, da v praksi večina končnih uporabnikov nima takšnega znanja. Poleg tega so arhitekture DNN/CNN pogosto odvisne tudi od reševanega problema. Če se porazdelitev vhodnih podatkov spremeni, je treba arhitekturo ustrezno spremeniti. Proces iskanja arhitektur globokih mrež (angl. Neural Architecture Search - NAS), katerega cilj je avtomatizacija načrtovanja arhitekture globokih nevronskih mrež, je opredeljen kot obetaven način za reševanje zgoraj navedenih izzivov. Matematično lahko NAS modeliramo kot optimizacijski problem: 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑛𝑛(𝐴𝐴∈𝛬𝛬) = 𝛤𝛤�𝐴𝐴, 𝐷𝐷𝑢𝑢č𝑛𝑛𝑛𝑛, 𝐷𝐷𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢š𝑛𝑛𝑛𝑛𝑢𝑢𝑛𝑛� (1) 40 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . V enačbi (1) je 𝛬𝛬 iskalni prostor vseh potencialnih arhitektur, 𝛤𝛤( ) pa meri uspešnost posamezne arhitekture, ki je naučena z učno množico 𝐷𝐷𝑛𝑛𝑡𝑡𝑛𝑛𝑡𝑡𝑛𝑛. Načeloma je NAS težek optimizacijski problem, postavljen pred več izzivov, kot so kompleksne omejitve, diskretne predstavitve, dvonivojske strukture, računske zahtevnosti in številna nasprotujoča si merila. Algoritmi NAS se nanašajo na optimizacijske algoritme, ki so posebej zasnovani za učinkovito in uspešno reševanje problema, ki ga predstavlja enačba (1). NAS algoritme lahko glede na uporabljen optimizacijski algoritem delimo v 3 kategorije: − Algoritmi, ki temeljijo na učenju z okrepitvijo (angl. Reinforcement Learning -LR) (Kaelbling, 1996), − Algoritmi, ki temeljijo na gradientu in − Evolucijski algoritmi (Back, 1997). Algoritmi, ki uporabljajo RL, pogosto zahtevajo ogromno grafičnih kartic že za preprostejše probleme razvrščanja slik. Algoritmi, ki temeljijo na gradientu, so sicer bolj učinkoviti od algoritmov, ki temeljijo na RL, vendar pogosto najdejo slabše arhitekture zaradi neustreznega razmerja skaliranja za optimizacijski algoritem. Dodatno je pri načrtovanju teh algoritmov potrebno že precej ekspertnega znanja za učinkovito reševanje problema. V tretjo skupino spadajo pa evolucijski algoritmi, ki temeljijo na populaciji rešitev in simulirajo razvoj vrste ali obnašanje populacije v naravi. Sposobni so poiskati rešitev problema tudi kadar matematična oblika kriterijske funkcije ni na voljo. Ta skupina algoritmov ja za problem NAS sicer zelo zanimiva, vendar je podobno kot pristop z RL precej računsko požrešna. V zadnjih nekaj letih se v literaturi pojavlja kar nekaj pristopov načrtovanja arhitektur globokih mrež z uporabo evolucijskih algoritmov na različnih področjih, kar nakazuje na očitno pomanjkanje ekspertnega znanja. V tem članku bomo predstavili algoritem diferencialne evolucije (angl. Differential Evolution - DE), ki spada v skupino evolucijskih algoritmov. Uporabili ga bomo za iskanje optimalne arhitekture CNN za izbran problem razvrščanja slik. Pri tem ne bomo uporabljali domenskega ekspertnega znanja. U. Mlakar: Gradnja konvolucijskih nevronskih mrež za razvrščanje slik z uporabo evolucijskih algoritmov 41. 2 Diferencialna evolucija Diferencialna evolucija (DE) je stohastični populacijski algoritem, ki se uporablja za reševanje zveznih in tudi diskretnih problemov (Mlakar, 2017) (Brest, 2006). Navkljub svoji enostavnosti je izredno učinkovit pri reševanju realnih problemov. Temelji na matematičnem modelu, ki uporablja razlike vektorjev. DE algoritem razvija in spreminja populacijo vektorjev skozi generacije, pri čemer gre vsak vektor skozi niz evolucijskih operatorjev, vključno z mutacijo, križanjem in selekcijo. Populacijo v okviru algoritma DE lahko matematično zapišemo kot (Mlakar U. , 2019): 𝑥𝑥(𝑔𝑔) (𝑔𝑔) (𝑔𝑔) 𝑡𝑡 = �𝑥𝑥(𝑡𝑡,1),… , 𝑥𝑥(𝑡𝑡,𝐷𝐷)�,za 𝑎𝑎 = 1, … , 𝑁𝑁𝑁𝑁, (2) kjer je D dimenzija reševanega problema, Np je pa velikost populacije. Algoritem DE v prvem koraku izvede operator mutacije, nato pa mutiran vektor križa. Predlaganih je bilo že precej različnih mutacij, vendar se v algoritmu DE najpogosteje še vedno uporablja metoda “rand/1”, ki jo matematično definiramo kot (Mlakar U. , 2019): 𝑣𝑣(𝑔𝑔) (𝑔𝑔) (𝑔𝑔) (𝑔𝑔) 𝑡𝑡 = 𝑥𝑥𝑡𝑡 + 𝐹𝐹 �𝑥𝑥 − 𝑥𝑥 �. (3) 1 𝑡𝑡2 𝑡𝑡3 V enačbi (3) so 𝑎𝑎 1, 𝑎𝑎 2 in 𝑎𝑎 3 naključno generirane celoštevilske vrednosti na intervalu [1, 𝑁𝑁𝑁𝑁], F je skalirni faktor na intervalu [0,1], 𝑣𝑣(𝑔𝑔) 𝑡𝑡 pa je mutiran vektor. Dobljen mutiran vektor 𝑣𝑣(𝑔𝑔) (𝑔𝑔) 𝑡𝑡 je v drugem koraku križan z originalnim vektorjem 𝑥𝑥𝑡𝑡 , kjer kot rezultat dobimo poskusni vektor. Križanje matematicno zapišemo kot (Mlakar U. , 2019): 𝑣𝑣(𝑔𝑔), č𝑒𝑒𝑎𝑎𝑎𝑎𝑛𝑛𝑒𝑒(0,1) ≤ 𝐶𝐶𝑎𝑎𝑎𝑎𝐶𝐶𝑎𝑎𝐶𝐶 = 𝐶𝐶 𝑢𝑢(𝑔𝑔) 𝑡𝑡,𝑗𝑗 𝑡𝑡𝑛𝑛𝑛𝑛𝑟𝑟, 𝑡𝑡,𝑗𝑗 = � (4) 𝑥𝑥(𝑔𝑔) 𝑡𝑡,𝑗𝑗 , 𝑠𝑠𝑎𝑎𝑠𝑠𝑒𝑒𝑎𝑎. 42 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . V enačbi (4) je verjetnost križanja Cr definirana na intervalu [0,1]. Dodatni pogoj 𝐶𝐶 = 𝐶𝐶 (𝑔𝑔) 𝑡𝑡𝑛𝑛𝑛𝑛𝑟𝑟, kjer je 𝐶𝐶𝑡𝑡𝑛𝑛𝑛𝑛𝑟𝑟 = 𝑎𝑎𝑎𝑎𝑛𝑛𝑒𝑒(0, 𝐷𝐷), zagotavlja, da bo poskusni vektor 𝑢𝑢𝑡𝑡 od originalnega različen vsaj v enem elementu. S tem preprečimo izdelavo enakih posameznikov in posledično ne izgubljamo časa z ocenjevanjem rešitve, ki smo jo že ocenili. V zadnjem koraku evolucijskega procesa poskusni vektor tekmuje z originalnim v postopku selekcije. Vektor, katerega funkcija uspešnosti je boljša, je izbran za preživetje v naslednjo generacijo. Matematično operator selekcije zapišemo kot (Mlakar U. , 2019): 𝑢𝑢(𝑔𝑔), č𝑒𝑒𝑒𝑒 �𝑢𝑢(𝑔𝑔)� ≤ 𝑒𝑒 �𝑥𝑥(𝑔𝑔)� , 𝑥𝑥(𝑔𝑔+1) 𝑡𝑡 𝑡𝑡 𝑡𝑡 𝑡𝑡 = � (4) 𝑥𝑥(𝑔𝑔) 𝑡𝑡 , 𝑠𝑠𝑎𝑎𝑠𝑠𝑒𝑒𝑎𝑎. 3 Algoritem diferencialne evolucije za reševanje problema NAS Največji izziv pri uporabi evolucijskih algoritmov za reševanje problem kot je NAS, je učinkovita in smiselna predstavitev posameznika v populaciji. V literaturi so pojavljata predvsem dva načina, in sicer predstavitev na podlagi plasti, ter predstavitev na podlagi blokov. Pri prvem so osnovni elementi v kodirnem prostoru kodiranja osnovne plasti, kot so npr. kovolucijske ali polno povezane. Pri tem načinu se pojavlja težava ogromnega iskalnega prostora, saj poskušamo zakodirati veliko količino informacij. Skoraj zagotovo bom s tem kodiranjem porabili tudi več časa, da najdemo primerno rešitev, predvsem zato, ker je težje sestaviti dobro delujočo DNN/CNN zgolj z osnovnimi sloji. S takim kodiranjem zagotovo ne moremo poiskati oz. najti mreže, ki je po topologiji podobna Resnet-u. Pri drugem načinu kodiranja, pa so osnovni gradniki v iskalnem prostoru bloki, ki so se že izkazali kot primerni v drugih tipih mrež. S tem načinom kodiranja sicer lahko pohitrimo postopek iskanja optimalne mreže, vendar potrebujemo že nekaj ekspertnega znanja, saj moramo izbrati takšne bloke, ki bodo ustrezali reševanemu problemu. V tem delu smo izbrali srednjo pot, kjer smo kombinirali obe predstavitvi. Vsaka rešitev v populaciji algoritma DE predstavlja globoko arhitekturo, ki jo je potrebno ustrezno preslikati iz iskalnega prostora v prostor rešitev. To preslikavo naredimo z ustreznimi preslikovalnimi funkcijami, s katerimi zagotovimo pravilnost zapisa arhitekture in jo s tem pripravimo na učenje. Delovanje preslikovalnih funkcij je determinstično, saj se določena vrednost v določenih mejah iz iskalnega prostora U. Mlakar: Gradnja konvolucijskih nevronskih mrež za razvrščanje slik z uporabo evolucijskih algoritmov 43. vedno preslika v enak sloj. Vsak sloj nosi s seboj v prostoru rešitev tudi dodatne informacije, ki so potrebne za pravilno preslikavo. Globina arhitekture mreže je odvisna od dimezije rešitve v iskalnem prostoru. Vsaka dimenzija torej predstavlja gradnik mreže, ki je lahko osnovni sloj ali pa sestavljen blok. V tem delu smo uporabili naslednje osnovne sloje: − Konvolucijski sloj, − Polno povezan sloj (angl. Fully-Connected layer) in − Združevalni sloj (angl. Pooling layer), − Izpustni sloj (angl. Dropout layer) ter naslednje bloke: − Rezidualni blok (angl. Resnet Block), kot je uporabljen v ResNet arhitekturi in − Gost blok (angl. Dense Block), kot je uporabljen v DenseNet arhitekturi. Konvolucijski sloj ima v prostoru rešitev dodano število uporabljenih filtrov, polno povezan sloj nosi informacije o številu nevronov ki jih vsebuje, združevalni sloj pa definira še tip združevanja (maksimalno ali povprečno). Izpustni sloj nosi informacije o odstotku povezav, ki jih bo ignoriral. Oba uporabljena bloka sta zaradi manjšanja velikosti iskalnega prostora in posledično računske zahtevnosti nespremenljiva. 4 Eksperimentalno okolje V tem poglavju bomo opisali eksperimentalno okolje, v katerem so tekli vsi eksperimenti v okviru tega dela. Za testiranje predlaganega algoritma DE za iskanje optimalnih globokih arhitektur, smo uporabili podatkovni zbirki CIFAR10 (Hinton, 2009) in AffectNet (Mollahosseini, 2019). Podatkovna zbirka CIFAR10 se pogosto pojavlja pri validaciji rezultatov globokih mrež, ne glede na izbran pristop gradnje mreže. Vsebuje 60000 slik, ki jih je možno razvrstiti v 10 razredov. Vsaka slika je velikosti 32 x 32 slikovnih elementov v barvnem prostoru RGB. Na drugi strani pa podatkovna zbirka Affectnet vsebuje približno 440000 slik, ki vsebuje slike obraznih 44 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . izrazov, ki jih je možno razvrstiti v 8 razredov. V tej podatkovni zbirki so slike velike 96 x 96 slikovnih elementov, tudi v barvnem prostoru RGB. Slika 1: Vzorci slik iz podatkovne zbirke AffectNet. Vir: lasten Za potrebe validacije predlaganega algoritma na problemu NAS smo podatkovno zbirko razdeliti na učno in testno množico. CIFAR10 ima sicer ti množici že strogo definirani, kjer se v učni množici nahaja 50000 slik, v testni pa 10000. Pri podatkovni zbirki AffectNet smo delitev morali narediti sami. Razdelitev smo opravili v razmerju 90 % za učno množico in 10 % za testno. Razdelitev smo naredili na nivoju števila obraznih izrazov. Dodatno smo pri delitvi zagotovili, da se slike, ki so bile izbrane za učno množico, niso pojavile hkrati še v testni. Za potrebe učenja in zagotavljanja generalizacije naučene mreže, smo dodatno iz učne množice izvzeli 20 % podatkov, ki smo jih uporabili za validacijsko množico. Ta se je uporabljala za ovrednotenje kriterijske funkcije, ko je arhitektura končala z učenjem na učni množici po določenem številu epoh. Ko je algoritem zaključil z iskanjem, smo najboljšo najdeno arhitekturo testirali na testni množici. Uspešnost razvrščanja nad testno množico je tudi končni rezultat najdene mreže. Parametre algoritma, kot so velikost populacije, število generacij, začetna dimenzija problema, število epoh in velikost paketa smo nastavljali eksperimentalno. Hkrati smo spreminjali tudi dovoljene gradnike v arhitekturah. Za učni algoritem smo izbrali algoritem Adam s privzetimi nastavitvami v knjižnici Keras. Ker gre za računsko težek problem, smo algoritem, napisan v programskem jeziku python, prilagodili za izvajanje na superračunalniku Vega, kjer smo poskrbeli za sočasno ovrednotenje celotne populacije na trenutno razpoložljivih virih. U. Mlakar: Gradnja konvolucijskih nevronskih mrež za razvrščanje slik z uporabo evolucijskih algoritmov 45. 5 Rezultati V tem poglavju bomo predstavili rezultate eksperimentalnega dela. Cilj eskperimentov je bil pokazati, da je možno z algoritmom DE najti smiselne arhitekture za izbran problem razvrščanja slik, brez posredovanja ekspertnega znanja iskalnemu algoritmu. Dodatno smo želeli še preveriti, kako velikost učne množice vpliva na uspešnost iskanja optimalne arhitekture. Ker spada algoritem DE med stohastične algoritme, smo ga za vsako kombinacijo parametrov zagnali 5 krat. V Tabeli 1 so zbrani rezultati za podatkovno zbirko CIFAR10, v Tabeli 2 pa rezultati za AffectNet. Stolpec gradniki v obeh tabelah opisuje dovoljene sloje in bloke v zagonu algoritma. V zadnjih dveh stolpcih je zapisana povprečna napaka razvrščanja in standardni odklon petih zagonov nad validacijsko in testno množico. Naj še poudarimo, da se je algoritem pri določenih kombinacijah parametrov ujel v lokalni optimum, zato teh rezultatov ne poročamo. Tabela 1: Rezultati algoritma DE nad podatkovno zbirko CIFAR10. . Gradniki1 ce en. učne noži im poh ap. na l. ap. na st. Vel. Pop G % m D #E Vel. paketa N va N te P,C,S,D,F,B 20 20 0,4 30 100 128 20,99 (3,3) 7,44 (2,3) P,C,S,D,F,B 20 20 0,4 40 100 128 24,75 (2,4) 9,56 (1,4) P,C,D,F,B 20 20 0,4 40 50 64 19,99 (3,6) 10,53 (2,7) P,C,S,D,F,B 20 20 0,4 30 100 128 21,79 (5,5) 9,35 (3,3) P,C,D,F,B 20 20 0,8 40 100 128 15,2 (4,3) 9,04 (2,6) P,C,D,F,B 20 20 0,8 50 100 128 17,4 (6,1) 10,79 (1,1) P,C,D,F,B 20 20 0,8 60 100 128 15,32 (2,1) 9,46 (0,8) P,C,D,F,B 20 20 0,8 70 100 128 17,44 (3,8) 11,61 (2,2) P,C,S,D,F,B 20 20 0,8 20 100 128 19,8 (3,9) 9,64 (1,6) P,C,S,D,F,B 20 20 1 30 10 128 38,59(5,8) 14,63 (3,4) P,S,F,B 20 30 1 10 50 64 12,44 (1,6) 8,3 (0,4) P,S,F,B 20 40 1 10 10 128 25,9 (3,1) 10,57 (2,2) P,S,F,B 20 40 1 10 10 64 20,93 (3,4) 9,29 (1,1) P,S,F,B 20 40 1 15 10 128 27,34 (1,3) 12,62 (2,2) P,S,F,B 20 40 1 15 30 128 16,25 (4,3) 10,25 (2,5) P,S,F,B 20 40 1 15 30 256 24,27 (3,9) 11,94 (3,1) 1 P-Združevalni sloj; C-Konvolucijski sloj; F-Polno povezan sloj; D-Izpustni sloj; S-Rezidualni blok; B-Gost blok 46 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . Tabela 2: Rezultati algoritma DE nad podatkovno zbirko AffectNet. . Gradniki ce en. učne noži im poh ap. na l. ap. na st. Vel. Pop G % m D #E Vel. paketa N va N te P,S,F,C,D 20 20 0,1 10 20 128 33,02 (2,4) 52,35 (3,3) P,S,F,B 20 20 0,18 5 10 256 34,10 (3,8) 56,68 (4,1) P,S,F,B 20 20 0,19 10 10 128 29,18 (5,2) 50,55 (2,4) Iz Tabele 1 lahko razberemo, da dobimo najboljši rezultat, ko se uporabljamo pretežno enostavne sloje in celotno podatkovno zbirko v procesu učenja. Tukaj smo dosegli najnižjo napako pri 8,3 %. V tem primeru je imel algoritem tudi več časa za samo optimizacijo s 600 ovrednotenji kriterijske funkcije, kar pa sicer v splošnem ne zagotavlja boljših rezultatov. Ugotovili smo tudi, da velikost učne množice nima večjega vpliva na rezultate, saj so napake razvrščanja pri vseh variantah velikosti zelo podobne (< 2 %), se pa računska zahtevnost zagotovo zmanjša. V literaturi najboljše metode iz družin evolucijskih algoritmov na podatkovni zbirki CIFAR10 dosegajo napake manjše tudi od 5 %, kjer pa z določenimi omejitvami algoritma manjšajo iskalni prostor. S tem seveda tudi vnašajo ekspertno znanje v reševanje problema, čemu smo mi skušali izogniti. Na podatkovni zbirki AffectNet smo dosegli najnižjo napako razpoznave pri 50,55 %, na približno 19 % učnih podatkov. Pri večjih velikostih učne množice, se je algoritem velikokrat ujel v lokalni optimum, prav tako se je večala računska zahtevnost. V literaturi se za to zbirko rezultati najboljših metod gibljejo pod 40 % napake, kjer so pa izbrane arhitekture vedno ročno načrtovane (Zhang, 2017). Glede na velikost uporabljene učne množice, je naš rezultat na tej podatkovni zbirki sprejemljiv. 6 Zaključek V članku smo predstavili algoritem diferencialne evolucije za iskanje optimalnih topologij globokih nevronskih mrež na problemu razvrščanja slik. Algoritem smo preizkusili nad dvema podatkovnima zbirkama za razvraščanje slik. Rezultati so pokazali, da je možno z uporabo evolucijskega algoritma razviti oz. poiskati globoko U. Mlakar: Gradnja konvolucijskih nevronskih mrež za razvrščanje slik z uporabo evolucijskih algoritmov 47. mrežo, ki dosega primerljive rezultate s stanjem tehnike brez uporabe poglobljenega ekspertnega znanja. V prihodnosti bomo algoritem preizkusili še na drugih podatkovnih zbirkah, ga skušali izboljšati v smislu računske zahtevnosti, kjer bi lahko uporabili prenosno učenje. Med drugim bomo še poskušali optimizirati parametre učnega algoritma, ki ima velik vpliv na potek učenja. Viri in literatura Back, T. a. (1997). Handbook of evolutionary computation. Release. Brest, J. a. (2006). Self-adapting control parameters in differential evolution: A comparative study on numerical benchmark problems. IEEE transactions on evolutionary computation, 646-657. He, K. a. (2016). Deep residual learning for image recognition. Proceedings of the IEEE conference on computer vision and pattern recognition, (str. 770-778). Hinton, A. K. (2009). Learning multiple layers of features from tiny images. Toronto: Toronto, ON, Canada. Pridobljeno iz http://www.cs.toronto.edu/~kriz/cifar.html Huang, G. a. (2017). Densely connected convolutional networks. Proceedings of the IEEE conference on computer vision and pattern recognition, (str. 4700-4708). Kaelbling, L. P. (1996). Reinforcement learning: A survey. Journal of artificial intelligence research, 237-285. LeCun, Y. a. (2015). Deep learning. Nature, 436-444. Mlakar, U. a. (2017). Multi-objective differential evolution for feature selection in facial expression recognition systems. Expert Systems with Applications, 129-137. Mol ahosseini, A. a. (2019). AffectNet: A Database for Facial Expression, Valence, and Arousal Computing in the Wild. IEEE Transactions on Affective Computing, 18-31. Sun, K. H. (2015). Deep Residual Learning for Image Recognition. arXiv. Weinberger, G. H. (2018). Densely Connected Convolutional Networks. arXiv. Zhang, Y. a. (2017). Very deep convolutional networks for end-to-end speech recognition. 2017 IEEE international conference on acoustics, speech and signal processing (ICASSP), (str. 4845-4849). Zisserman, K. S. (2015). Very Deep Convolutional Networks for Large-Scale Image Recognition. arXiv, 2015. O avtorju Uroš Mlakar je leta 2019 dokotoriral na Univerzi v Mariboru. Trenutno je izvoljen v naziv docent za področje računalništvo na Fakulteti za elektrotehniko in računalništvo v laboratoriju za sistemsko programsko opremo. Sodeloval je že pri pripravi več kot 30 znanstvenih revijalnih in konferenčnih člankov. Njegovi raziskovalni interesi vključujejo evolucijsko računanje, podatkovno rudarjenje in obdelavo slik. Med drugim je tudi recenzent pri mnogih priznanih mednarodnih revijah. 48 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . ZAZNAVANJE PODVODNIH DOI https://doi.org/ 10.18690/um.feri.1.2024.4 OBJEKTOV Z UPORABO ISBN 978-961-286-837-6 GENERATIVNIH MODELOV SANDRA RODRÍGUEZ DOMÍNGUEZ,1,2 JANEZ PERŠ2 1 Universidad Politécnica de Madrid, Madrid, Španija sandra.rodriguez.dominguez@alumnos.upm.es 2 Univerza v Ljubljani, Fakulteta za elektrotehniko, Ljubljana, Slovenija sandra.rodriguez.dominguez@alumnos.upm.es, janez.pers@fe.uni-lj.si V podvodnih okoljih predstavljajo spremenljiva osvetlitev, Ključne besede: globoke nevronske mreže, motnost vode in biološka raznolikost občutne ovire, zaradi katerih detekcija objektov, tradicionalne metode računalniškega vida ne delujejo dobro. Tudi augmentacija, generativni modeli , učljive metode delujejo le, če uporabimo dovolj raznoliko zbirko podvodni posnetki podatkov, ki vsebuje vso pričakovano variabilnost podvodnega sveta. Zaradi narave samega podvodnega okolja pa je to lahko težavno, drago ali celo nemogoče, vsekakor pa zahteva veliko delovnih ur za označevanje objektov v učni množici. Ta problem smo naslovili z razvojem nove metodologije, ki na podlagi izjemno majhnega nabora sintetično generiranih slik objektov (10 v našem primeru) in večjega nabora ozadij brez objektov zanimanja (nekaj 100 slik) izdela učno bazo poljubne velikosti, primerno za učenje globokih metod zaznavanja objektov, ki ne zahteva nobenega ročnega označevanja. V našem primeru smo metodologijo uporabili za detekcijo ribe Acanthurus leucosternon, katere podobo za učenje smo generirali s pomočjo orodij DALL-E in Stable Diffusion. Naučen model smo preizkusili na realnih posnetkih tropskih koralnih grebenov z algoritmom zaznavanja objektov YoloV8, pri čemer dosežemo F1=0.6, ne da bi algoritem videl eno samo realistično sliko objekta v času učenja. DOI https://doi.org/ DETECTION OF 10.18690/um.feri.1.2024.4 ISBN UNDERWATER OBJECTS USING 978-961-286-837-6 GENERATIVE MODELS SANDRA RODRÍGUEZ DOMÍNGUEZ,1,2 JANEZ PERŠ2 1 Universidad Politécnica de Madrid, Madrid, Spain sandra.rodriguez.dominguez@alumnos.upm.es 2 University of v Ljubljana, Faculty of Electrical Engineering, Ljubljana, Slovenia sandra.rodriguez.dominguez@alumnos.upm.es, janez.pers@fe.uni-lj.si Keywords: In underwater environments, variable lighting, water turbidity, deep neural networks, object detection, and biodiversity present significant obstacles that cause augmentation, traditional computer vision methods to perform poorly. Even generative models, underwater images learning-based methods only work if one uses a sufficiently diverse dataset that contains all the expected variability of the underwater world. However, due to the nature of the underwater environment itself, this can be difficult, expensive or even impossible, and it certainly requires many man-hours to annotate objects in the training dataset. We addressed this problem by developing a new methodology that, based on an extremely smal set of synthetical y generated object images (10 in our case) and a larger, diverse set of backgrounds without objects of interest (a few 100 images), produces a training dataset of arbitrary size, suitable for training deep object detection methods, without the need for any manual annotation. In our case, we used the methodology to detect the fish Acanthurus leucosternon, whose training images were generated using DALL-E and Stable Diffusion tools. We tested the learned training on real images of tropical coral reefs with the YoloV8 object detection algorithm, achieving F1=0.6 without the algorithm seeing a single realistic image of the object during learning. S. Rodríguez Domínguez, J. Perš: Zaznavanje podvodnih objektov z uporabo generativnih modelov 51. 1 Uvod Podvodna okolja, bogata z biotsko raznovrstnostjo in kompleksnostjo, predstavljajo pomembne izzive za zaznavanje in identifikacijo objektov. Metode računalniškega vida pod vodo se uporabljajo v različne namene, vključno z raziskovanjem morskih virov (Han, 2020), podvodno navigacijo (Xie, 2018), podvodnim videonadzorom (Shkurti, 2012), ocenjevanjem populacij morskih vrst, preučevanjem ekosistemov, ohranjanjem morskih vrst, ribolovom, odkrivanjem neeksplodiranih ubojnih sredstev pod vodo in podvodno arheologijo. Zaradi pomanjkanja osvetlitve, motnosti vode in raznolikosti oblik, barv ter velikosti morskih organizmov tudi moderni algoritmi globokega učenja odpovedo, razen če jim damo na voljo zelo raznoliko učno bazo slik, ki vsebuje vse možne variacije v podvodnem okolju. Po drugi strani pa je podvodno okolje v primerjavi s kopnim bistveno bolj nevarno tako za ljudi kot za robote (Aldhaheri, 2022). Zajem raznolikih podatkov, ki bi omogočali obsežno učenje globokih modelov je torej drag, dolgotrajen in nevaren, če pa gre za redko videne živalske ali rastlinske vrste pa sploh nemogoč. V tem članku smo se problema lotili z uporabo generativnih modelov za izdelavo slik na podlagi tekstovnih opisov, kot jih poznamo iz orodij DALL-E (Ramesh, 2021) in Stable Diffusion. Osnovna ideja našega pristopa je v tem, da uporabimo majhno bazo segmentiranih slik pridobljenih z enim od teh orodij, potem pa izvedemo ekstremno augmentacijo: slike objektov transformiramo tako geometrijsko kot barvno, jih postavimo na naključno mesto v naključno izbrani sliki ozadja brez objektov, in jim dodamo šum. Posebnost našega pristopa je, da zaradi specifike podvodnega okolja izvedemo prenos svetlobnega vira iz slike ozadja na objekt, kar zahteva obsežno, vendar avtomatsko predobdelavo slik ozadja, s katero ocenimo parametre osvetlitve. 2 Sorodna dela V razvoju algoritmov za detekcijo objektov so konvolucijske nevronske mreže (CNN) pokazale izjemno učinkovitost pri prepoznavanju in lokalizaciji objektov na slikah. Uporaba nevronskih mrež se je razširila tudi na podvodne aplikacije (Villon, 2016; Yang, 2020) z uporabo mrež Yolo in Faster RCNN. Avtorji so se ukvarjali 52 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . tudi s prilagoditvijo algoritmov na podvodno okolje, vključno z uporabo generativnih modelov in tehnik obnavljanja slik (Wang, 2020; Chen, 2020; Liu, 2020). 3 Metodologija Predlagana metoda sloni na naslednjih komponentah: − Model globoke nevronske mreže za detekcijo ali segmentacijo objektov. V našem primeru smo uporabili mrežo YoloV81. − Večje število (npr. nekaj 100) slik ozadja, ki pa morajo vsebovati vso pričakovano raznolikost morskega okolja. Anotacije niso potrebne, z izjemo potrditve, da na slikah ni objektov, ki jih hočemo detektirati. − Manjše število (npr. 10) slik objekta, pridobljenih z generativnimi slikovnimi modeli (v našem primeru DALL-E 2 in Stable Diffusion), ter segmentacijske maske za vsako sliko. Ker je število slik majhno, je potreben vložek dela za pridobitev mask zanemarljiv. 3.1 Ocena svetlobnega vira slik ozadja Ocena svetlobnega vira (angl. illuminant) je korak, pri katerem ocenimo, kakšne transformacije kanalov RGB slike so potrebne, da iz slike raznolikih, živih barv (slika 𝐴𝐴), dobimo sliko, ki je barvno in svetlostno čimbolj podobna sliki ozadja (𝐵𝐵), ki jo imamo pred sabo. Z drugimi besedami, oceniti želimo parametre funkcije, ki nam iz slike 𝐴𝐴 naredi sliko, ki je naj čimbolj barvno podobna B: 𝐵𝐵 ≈ 𝑒𝑒(𝐴𝐴; 𝜃𝜃1, 𝜃𝜃2, . . . , 𝜃𝜃12) (1) Določitev parametrov 𝜃𝜃1. .𝜃𝜃12 je optimizacijski problem, pri katerem optimiziramo kriterijsko funkcijo podobnosti med sliko 𝑒𝑒(𝐴𝐴; 𝜃𝜃1, 𝜃𝜃2, . . . , 𝜃𝜃12) in sliko 𝐵𝐵. 𝜃𝜃1, 𝜃𝜃2, . . , 𝜃𝜃12 = argmin 𝜃𝜃 𝑒𝑒�𝐵𝐵, 𝑒𝑒(𝐴𝐴; 𝜃𝜃1, 𝜃𝜃2, . . , 𝜃𝜃12)� (2) 1, 𝜃𝜃2, . . , 𝜃𝜃12 1 https://docs.ultralytics.com/ S. Rodríguez Domínguez, J. Perš: Zaznavanje podvodnih objektov z uporabo generativnih modelov 53. pri čemer so parametri 𝜃𝜃1..𝜃𝜃12 parametri splošne linearne preslikave za vsakega od kanalov slike 𝐴𝐴: 𝐵𝐵red = 𝜃𝜃3 + 𝜃𝜃4−𝜃𝜃3 (𝐴𝐴 �𝐴𝐴 𝜃𝜃 red − 𝜃𝜃1) 𝐵𝐵green = 𝜃𝜃5 + 𝜃𝜃6−𝜃𝜃5 green − 𝜃𝜃7� (3) 2−𝜃𝜃1 𝜃𝜃8−𝜃𝜃7 𝜃𝜃 𝐵𝐵 10 − 𝜃𝜃9 blue = 𝜃𝜃9 + ( 𝜃𝜃 𝐴𝐴blue − 𝜃𝜃11) 12 − 𝜃𝜃11 Razdalja d je kar razdalja Bhattacharaya med barvnima, 3D histogramoma slik 𝐴𝐴 in 𝐵𝐵: 𝑒𝑒𝐵𝐵ℎ𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑎𝑎ℎ𝑛𝑛𝑡𝑡𝑎𝑎𝑎𝑎𝑛𝑛(ℎ𝐴𝐴, ℎ𝐵𝐵) = −𝐶𝐶𝑛𝑛�∑𝑡𝑡 �ℎ𝐴𝐴(𝑎𝑎) ⋅ ℎ𝐵𝐵(𝑎𝑎)� (4) Optimizacijski postopek izvedemo za vsako sliko ozadja posebej, pri čemer za sliko 𝐴𝐴 uporabimo eno sliko ozadja, ki je lepih, živih barv. V trenutni implementaciji uporabimo optimizacijo z metodo simpleksov, ki ne potrebuje gradientov kriterijske funkcije (Lagarias, 1998). Postopek je časovno potraten, vendar ga je treba za vsako sliko ozadja izvesti le enkrat, shranjene parametre 𝜃𝜃1. .𝜃𝜃12 pa lahko seveda uporabimo večkrat 3.2 Prenos svetlobnega vira Ocenjene parametre 𝜃𝜃1, 𝜃𝜃2, . . . , 𝜃𝜃12 shranimo in jih lahko kadarkoli uporabimo za to, da na poljubno sliko živih barv prenesemo svetlobni vir z uporabo enačb (2). Slika 1: Učinek prenosa svetlobnega vira Vir: lasten 54 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . Primeri slik 𝐴𝐴, 𝐵𝐵 ter transformirane slike 𝑒𝑒(𝐴𝐴;𝜃𝜃1,𝜃𝜃2,...,𝜃𝜃12) so prikazani na sliki 1. Od leve proti desni vidimo vhodno sliko živih barv, sliko ozadja, kjer je osvetlitev močno v prid modrozeleni barvi in na skrajni desni rezultat po prenosu osvetlitve iz druge slike na prvo sliko. 3.3 Generiranje slik objektov Za generiranje slik objektov smo uporabili orodji DALL-E (verzijo 2) in Stable Diffusion. Optimalne poizvedbe se razlikujejo od orodja do orodja. DALL-E 2 deluje dobro s prostim tekstom, Stable diffusion pa potrebuje ključne besede. Za naš primer ribe Acanthurus leucosternon dobimo dobre rezultate orodja DALL-E 2 s preprosto poizvedbo » powder blue tang on black background«, ki nam da štiri slike ribe na črnem ozadju. Slike je potrebno segmentirati od črnega ozadja, kar lahko izvedemo relativno enostavno s poljubnim risarskim programom, ki omogoča izrezovanje poligonov. Ugotovili smo, da se avtomatska segmentacija (ozadje je črno) ne splača. Slika 2: Naravna slika ribe Acanthurus leucosternon in trije generirani primerki. Vir: lasten S. Rodríguez Domínguez, J. Perš: Zaznavanje podvodnih objektov z uporabo generativnih modelov 55. Slika 2 prikazuje primer naravne slike ribe in tri sintetično generirane primerke. Po vrsti od leve zgoraj desno in navzdol: naravna slika, rezultat DALL-E 2, rezultat Stable Diffusion, rezultat DALL-E 3 (Microsoft Bing image creator). 3.4 Generiranje učne množice Vsako sliko iz učne baze generiramo po naslednjem postopku: 1. Naključno izberemo sliko ozadja in preberemo shranjene parametre osvetlitve 𝜃𝜃1, 𝜃𝜃2, . . . , 𝜃𝜃12 2. Naključno izberemo sliko objekta, preberemo tudi binarno segmentacijsko masko. 3. Sliko objekta zmanjšamo na velikost, ki smo jo določili naključno. 4. Na sliko objekta prenesemo osvetlitev ozadja po formulah (3) 5. Z enakomerno verjetnostjo izberemo kot rotacije v območju od -45º do - 45º in sliko objekta ter masko rotiramo. 6. Z verjetnostjo 1/8 sliko objekta prezrcalimo po višini in z verjetnostjo 1/2 po širini. 7. Naključno z verjetnostjo 1/2 izberemo ali bomo sliko »stisnili« po višini, enako po širini. Koeficient zmanjšanja širine ali višine izberemo naključno med 0.2 in 0.8. 8. Naključno izberemo amplitudo naključnega belega šuma in ga prištejemo sliki objekta. 9. Z Gaussovim filtrom zgladimo prej binarno sliko maske in z glajeno masko uteženo sliko objekta prilepimo na naključno izbrano lokacijo v sliki ozadja 10. Iz transformacij, ki smo jih izbrali v prejšnjih točkah generiramo sintentično anotacijo objekta na sliki. 4 Eksperimenti in rezultati Za eksperiment smo uporabili zasebno podatkovno zbirko s posnetki tropskih morij iz treh različnih lokacij (Rdeče morje, Karibi, Indijski ocean). 56 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . 4.1 Testna množica V zbirki smo označili odseke, kjer ni bilo vidne ribe Acanthurus leucosternon in tiste odseke, kjer je bila riba prisotna. Na ta način smo pridobili veliko množico slik ozadja ter primerno veliko testno množico, ki smo jo ročno anotirali. 4.2 Učna množica Po postopku iz poglavja 3.4 smo generirali učno množico 10.000 učnih slik s pripadajočimi anotacijami in jo razdelili na 6000 učnih slik in 4000 validacijskih slik. Edini označeni objekt na slikah je bila riba Acanthurus leucosternon. Ni nas motilo, če so bile na slikah ozadja tudi ribe drugih vrst. Nekaj učnih slik prikazuje slika 3. Slika 3: Štiri od slik iz sintetično generirane učne baze Vir: lasten S. Rodríguez Domínguez, J. Perš: Zaznavanje podvodnih objektov z uporabo generativnih modelov 57. 4.3 Učenje detektorja objektov Uporabili smo že prednaučeno arhitekturo YoloV8x, ki smo jo na učni bazi samo doučili z enorazrednimi anotacijami (razred »riba«, ki je predstavljal ribo Acanthurus leucosternon). Uporabili smo privzete parametre učenja. 4.4 Rezultati Uporabili smo knjižnico Ultralytics YoloV8 in vanjo vgrajena orodja za analizo uspešnosti detektorja objektov. Opazovali smo natančnost (ang. precision), priklic (ang. recal ) in mero F1. Mere so odvisne od praga zaupanja (angl. confidence threshold), ki se giblje med 0 in 1, zato jih prikazujemo v obliki grafikonov (sliki 4 in 5) . Vse mere so bile izračunane na podlagi predpisanega praga Jaccardovega indeksa 0.5 (ang. Intersection over Union, IoU). Tako učenje kot testiranje smo izvajali na slikah velikosti 512x512 slikovnih elementov. Na večini od 1464 testnih slik ni bilo rib, tako da je bilo v testni množici 345 rib. Slika 4: Rezultati: natančnost (precision) in priklic (recal ) na realni testni množici, prikazana glede na prag zaupanja. Vir: lasten 58 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . Slika 5: Rezultati: mera F1 in krivulja natančnost/priklic na realni testni množici Vir: lasten 5 Zaključek Pokazali smo, da so generativni slikovni modeli, tudi v obliki splošno in brezplačno dostopnih orodij, presenetljivo koristen pripomoček za generiranje velikih količin učnih podatkov. Naši rezultati na sicer omejenem problemu detekcije tropske ribe v okolju koralnih grebenov kažejo, da je mogoče doseči mero F1 ki presega 0.6 (ob priklicu in natančnosti 0.6), kar je izrazito dober rezultat, če upoštevamo, da algoritem med učenjem ni videl nobene realistične slike opazovane ribe, testiran pa je bil samo na realističnih slikah. Viri in literatura Han, M., Lyu, Z., Qiu, T., & Xu, M. (2020). A review on inteligence dehazing and color restoration for underwater images. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 50, 1820-1832, doi: 10.1109/TSMC.2017.2788902. Xie, K., Pan, W., & Xu, S. (2018). An underwater image enhancement algorithm for environment recognition and robot navigation. Robotics, 7, 14. doi: doi.org/10.3390/robotics7010014 Shkurti, F., Xu, A., Meghjani, M., Higuera, J. C. G., Girdhar, Y., Giguère, P., et al. (2012). Multi-domain monitoring of marine environments using a heterogeneous robot team. In Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst, 1747-1753. doi: 10.1109/IROS.2012.6385685. Aldhaheri, S., De Masi, G., Pairet, È., & Ardón, P. (2022). Underwater Robot Manipulation: Advances, Challenges and Prospective Ventures. OCEANS 2022 – Chennai doi:10.1109/OCEANSChennai45887.2022.9775489 S. Rodríguez Domínguez, J. Perš: Zaznavanje podvodnih objektov z uporabo generativnih modelov 59. Ramesh, A., Pavlov, M., Goh, G., Gray, S., Voss, C., Radford, A., Chen, M., & Sutskever, I. (2021). Zero-Shot Text-to-Image Generation. arXiv:2102.12092 [cs.CV]. doi: 10.48550/arXiv.2102.12092 Yang, H., Liu, P., Hu, Y., & Fu, J. (2020). Underwater object recognition based on yolov3. ICUS 2021, doi: 10.1109/ICUS52573.2021.9641489 Wang, Z., Liu, C., Wang, S., Tang, T., Tao, Y., Yang, C., Li, H., Liu, X., & Fan, X. (2020). UDD: An underwater open-sea farm object detection dataset for underwater robot picking. 2020. Chen, X., Lu, Y., Wu, Z., Yu, J., & Wen, L. (2020). Reveal of Domain Effect: How Visual Restoration Contributes to Object Detection in Aquatic Scenes. arXiv:2003.01913 [cs.CV]. doi: 10.48550/arXiv.2003.01913 Liu, H., Song, P., & Ding, R. (2020). Towards domain generalization in underwater object detection. 2020. ICIP 2020. doi: 10.1109/ICIP40778.2020.9191364. Lagarias, J. C., Reeds, J. A., Wright, M. H., & Wright, P. E. (1998). Convergence Properties of the Nelder-Mead Simplex Method in Low Dimensions. SIAM Journal of Optimization, 9(1), 112-147. 60 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . INTRODUCTORY COMPUTER DOI https://doi.org/ 10.18690/um.feri.1.2024.5 VISION TEACHING MATERIALS FOR ISBN 978-961-286-837-6 VET EDUCATION VASJA LEV KIRN,1 ŽIGA EMERŠIČ,1 GREGOR HRASTNIK,1 NATAŠA MEH PEER,2 PETER PEER1 1 University of Ljubljana, Faculty of Computer and Information Science, Ljubljana, Slovenia vk3843@student.uni-lj.si, ziga.emersic@fri.uni-lj.si, gregor.hrastnik@scv.si, peter.peer@fri.uni-lj.si 2 School center Velenje, Velenje, Slovenia natasa.mehpeer@scv.si Rapidly advancing development of artificial intelligence Keywords: computer vision, technologies, including deep learning techniques in the field of Python notebook, computer vision, has encouraged the need for early education object detection, teaching material, about artificial intelligence in schools. This paper briefly describes segmentation the development of a computer vision curriculum, part of the AIM@VET (Artificial Intelligence Modules for Vocational Education and Training) EU project, targeting VET high-school students. The introductory materials presented in this paper are structured in three main teaching units (TUs), covering object detection and image segmentation. Each TU consists of eight tasks and a final assignment, totaling approximately 10 hours of classroom work. The course material, prepared in both traditional learning materials and in Python notebooks, combines theoretical concepts with practical coding exercises, with separate teacher and student versions. Materials rely on interactive tools and open-source libraries such as OpenCV, facilitating hands-on learning and immediate application of computer vision concepts. DOI https://doi.org/ UVODNI UČNI MATERIALI 10.18690/um.feri.1.2024.5 ISBN RAČUNALNIŠKEGA VIDA ZA 978-961-286-837-6 STROKOVNO SREDNJEŠOLSKO IZOBRAŽEVANJE VASJA LEV KIRN,1 ŽIGA EMERŠIČ,1 GREGOR HRASTNIK,1 NATAŠA MEH PEER,2 PETER PEER1 1 Univerza v Ljubljani, Fakulteta za računalništvo in informatiko, Ljubljana, Slovenija vk3843@student.uni-lj.si, ziga.emersic@fri.uni-lj.si, gregor.hrastnik@scv.si, peter.peer@fri.uni-lj.si 2 Šolski center Velenje, Velenje, Slovenija natasa.mehpeer@scv.si Ključne besede: Hitro napredujoč razvoj tehnologij umetne inteligence, vključno računalniški vid, Python notebook, s tehnikami globokega učenja na področju računalniškega vida, je detekcija objektov, spodbudil potrebo po zgodnjem izobraževanju o umetni učna gradiva, segmentacija inteligenci v šolah. Ta članek na kratko opisuje razvoj učnega načrta za računalniški vid, ki je del projekta EU AIM@VET (Artificial Intelligence Modules for Vocational Education and Training), namenjen srednješolcem poklicnega izobraževanja in usposabljanja. Uvodna gradiva, predstavljena v tem dokumentu, so strukturirana v treh glavnih učnih enotah, ki pokrivajo zaznavo objektov in segmentacijo slik. Vsak TU je sestavljen iz osmih nalog in zaključne naloge v skupnem okvirnem obsegu 10 ur izvajanja v učilnici. Gradivo je pripravljeno v tradicionalnih učnih gradivih in v zvezkih Python, združuje teoretične koncepte s praktičnimi vajami kodiranja z ločenimi različicami za učitelje in učence. Gradivo temelji na interaktivnih orodjih in odprtokodnih knjižnicah, kot je OpenCV, ki olajšajo praktično učenje in takojšnjo uporabo konceptov računalniškega vida. V. L. Kirn et al.: Introductory Computer Vision Teaching Materials for VET Education 63. 1 Introduction The field of computer vision (CV) has rapidly evolved from its inception in the mid-20th century, undergoing significant advancements in the late 20th and early 21st centuries. Initially relying on handcrafted techniques, Computer Vision (CV) has witnessed a transformative leap with the introduction of deep learning methods, leading to ful y automated and efficient approaches (IBM, 2023). CV now plays a crucial role in various real-world applications, from aiding medical image interpretation to enhancing surveil ance systems and contributing to autonomous vehicles' success (Jahne, 2000, Janai, 2020). As digitalization becomes more prevalent, applications like consumer-grade facial detection are already integrated into daily life. Recognizing the growing importance of CV education, this paper addresses the development and implementation of a CV course within the AIM@VET project, Aimed primarily at 16 to 20-year-old high-school students. Development was also a part of the diploma thesis (Kirm Lev, 2024). The CV course comprises of three modules, focusing on fundamental CV concepts through practical tasks, as already presented in (Emeršič, 2023). Here, we specifical y present three teaching units (TUs) within the second module, covering Object Detection and Segmentation. Key objectives of this work include responding to the need for CV education, targeting a specific age group, and developing TUs with tasks and assignments for effective learning. The coursework is presented digital y through Python notebooks, offering an interactive learning experience. AIM@VET project, funded by the European Union aims to prepare the next generation for the increasing relevance of AI in the social and economic aspects of the future. It consists of the following groups and contents: (I) Spanish group: University of Coruña and Integrated Professional Training Center Rodolfo Ucha Piñeiro, focused on the robotics module, (II) Portuguese group: University of Minho and Caldas das Taipas Secondary School, focused on the ambient intel igence module, (III) Slovenian group: University of Ljubljana (UL) and School center Velenje (SCV), focused on the computer vision module. 64 ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024 . 1.1 Instructional Approaches to Computer Vision & Development Traditional teaching methods in various fields, including computer science, often rely on textbooks for theoretical knowledge. However, practical understanding of programming and implementation, especial y in areas like object detection and image segmentation, is essential in computer vision (CV). This course adopts an interactive approach using Python notebooks, consisting of eight tasks and a two-part assignment in each teaching unit (TU) to cover specific CV topics. Introducing CV to high-school students is crucial due to its rapid growth, and providing hands-on experiences with visible outcomes, such as detecting edges in an image, can stimulate interest. The use of Python notebooks offers a visual and practical learning experience, enhancing student engagement and fostering further exploration in computer science (AIM@VET, 2023). While CV is traditionally a higher-level topic in university studies, presenting it effectively can serve as an entry point for high-school students in their programming journey. Real-world applications like facial recognition make CV intriguing and relatable. The AIM@VET project aligns with modern teaching tools, utilizing Python Notebooks, like other online programming courses and initiatives like the AI+ project (AI Plus, 2023). AIM@VET builds on the insights gained from AI+, focusing on specialized AI education for secondary school students. The project continues the project-based learning approach with a hands-on emphasis and real-world tasks (Emeršič, 2023, AIM@VET, 2023). 2 Created Materials This work encompasses the development of three Teaching Units (TUs), each consisting of 8 tasks and a final two-part assignment, totaling 30 hours of course content. Tasks, designed for both teachers and students as Python notebooks, progressively build on each other within a TU and logical y connect between TUs, ensuring a comprehensive understanding of CV by the course's end. Each task has two versions – one for students without exercise answers and less pre-written code, and one for teachers containing solutions. Corresponding course documents for each TU, initial y in MS Word and later converted to LaTeX, provide a standardized structure for easy access. These documents outline the course plan, V. L. Kirn et al.: Introductory Computer Vision Teaching Materials for VET Education 65. background knowledge, and practical exercises, aiding teachers in guiding students through the material. The first TU focuses on object detection fundamentals, covering basic image manipulation and introducing hand-crafted algorithms, laying the groundwork for further TUs, as shown in the exceprt from the materials, shown in Figure 1 and Fitgure 2. Figure one show a section from the PDF materials provided to the students, and Figure 2 shows an example of a Python code that students need to improve and run. Teaching unit 1 consist of two activities: − Activity 1 Preparation for object detection: Learn to make simple object detection using templates, Bounding Box Techniques and Perform face detection, Image processing necessary for detection, Feature Extraction, and Image Pyramids. − Activity 2 Object detection: Object Detection using Sliding Windows, Object Detection using Selective Search, Real-Life Examples of Object Detection, Evaluating Object Detection Algorithms, Assignment: Creating Simple Object Detection Algorithm Figure 1: Excerpt from the materials covering the required knowledge needed for the succcessful completion of the tasks in the TU. Source: own 66 ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024 . TU2 explores deep learning-based object detection, emphasizing modern approaches. It guides students through configuring and training the YOLOv5 deep learning model. TU2 consist of three activities, which contain: − Activity 1 Introduction into deep learning: Introduction to Deep Learning-Based Object Detection, Popular Object Detection Models, Image processing necessary for detection, Setting up Environment and Dataset Preparation. − Activity 2 Training detection model: Configuring the configuration files of YOLOv5 and understanding its architecture, Training the model using the custom dataset, Exploring the essential hyperparameters and optimizing them for improved model performance. − Activity 3 Evaluating and improving detection: Testing the trained model on test image set and evaluating its performance, Assignment: Deep Learning Object Detection Algorithm. TU3 shifts to image segmentation, covering fundamentals, techniques, and notable algorithms. It consists of three activities: − Activity 1 Introduction into image segmentation: Introduction to image segmentation, Overview of image segmentation techniques, Image pre-processing for image segmentation. − Activity 2 Implementing image segmentation algorithms: Image segmentation using thresholding, Image segmentation using region growing, Clustering for image segmentation, Image segmentation using watershed. − Activity 3 Evaluating and improving segmentation: Evaluating image segmentation algorithms, Assignment: Image segmentation algorithms. 3 Evaluation and Adaptation of Course Materials Teaching materials underwent adjustments during the creation of TUs 1, 2, and 3 for the second learning module. Feedback from a focus group and project coordination prompted structural changes. V. L. Kirn et al.: Introductory Computer Vision Teaching Materials for VET Education 67. Figure 2: Teaching material example Source: own Initial y, tasks in each Teaching Unit (TU) were outlined, adhering to the project's requirements. Ongoing collaboration with SCV al ows for feedback and adjustments, presenting a snapshot of the current course version in this paper. In response to initial feedback from SCV, the course structure was revised, materials simplified, TU shortened. The last two tasks were replaced by a comprehensive two-part assignment, fostering a more cohesive learning experience. Students sequentially complete tasks, building foundational knowledge, and then apply it independently in the final assignment, enhancing practical understanding. The first adjustment involved creating two versions of each task: one for teachers with complete examples and solutions, and one for students with omitted solutions. This adaptation fosters critical thinking in students while aiding teachers in guiding them through tasks. The second adjustment separated theoretical content from Python notebooks, relocating it to a standardized course document. This change facilitated a more collaborative classroom environment, al owing teachers to effectively convey theoretical knowledge. 68 ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024 . The third adjustment reduced tasks in each TU from 10 to 8, with a final assignment covering two lessons. This shift aimed to focus on a smal er set of topics, ensuring a more cohesive learning experience. Feedback from a focus group suggested simplifying content for high school students, leading to adjustments in task difficulty and the incorporation of simple exercises. Further feedback influenced changes to TU2, emphasizing step-by-step training of the YOLOv5 model, making the content more engaging and practical. After materials were used at SCV, additional corrections were made to the materials, forming the final versions of the TUs. However, the ongoing development incorporates received feedback, aiming to create a more accessible and engaging course for both students and teachers. 4 Conclusion This paper presents computer vision teaching materials, designed for students that are new to programming, and it introduces them fundamentals of AI techniques in computer vision. The course employs Python notebooks, emphasizing interactivity and engagement, al owing students to learn by doing and teachers to guide effectively. Aligned with AIM@VET's goal of early AI education, this course targets young students, fostering interest through interactive learning. The adaptable structure facilitates future additions and revisions. Ongoing collaboration with SCV students ensures active adjustments, making the course responsive to student needs. The development is ongoing until 2025, combining meaningful chal enges and positive student feedback, promising a valuable resource for AI education. The course's expansion, coupled with AIM@VET's broader efforts, aims to equip students with essential AI knowledge, supporting their future studies and work. References IBM. "What is computer vision? " Pridobljeno iz: https://www.ibm.com/topics/computer-vision (2023). V. L. Kirn et al.: Introductory Computer Vision Teaching Materials for VET Education 69. Jahne, B., & Haußecker, H. "Computer vision and applications". Academic Press, 2000, pp. 609–660. (2000) Janai, J, et al. "Computer vision for autonomous vehicles: Problems, datasets and state of the art". Foundations and Trends® in Computer Graphics and Vision 12.1–3 (2020), pp. 1–53. (2020) Kirm Lev, V. "Teaching Units for a Computer Vision Course", Diplomsko delo, Pridobljeno iz: https://repozitorij.uni-lj.si/IzpisGradiva.php?id=153473. (2024). Emeršič, Ž., Hrastnik, G, Meh, N., Peer, P. "Adapting VET Education to Labor Market Needs with Focus on Artificial Intelligence and Computer Vision", ROSUS 2023 (2023) AIM@VET. "Guidelines". Pridobljeno iz: https://aim4vet.udc.es/backgroud/ (2023). AI Plus. "AI Plus". Pridobljeno iz: https://aipudc.azurewebsites.net/ (2023). 70 ROSUS 2024 - RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024 . APLIKACIJA RAČUNALNIŠKEGA VIDA DOI https://doi.org/ 10.18690/um.feri.1.2024.6 ZA REŠEVANJE RUBIKOVE KOCKE V ISBN 978-961-286-837-6 REALNEM ČASU JAN ŠUKLJE, PETER PEER, BOJAN KLEMENC Univerza v Ljubljani, Fakulteta za računalništvo in informatiko, Ljubljana, Slovenija sukljejan@gmail.com, peter.peer@fri.uni-lj.si, bojan.klemenc@fri.uni-lj.si Rubikova kocka je ena najbolj znanih igrač, tako za mlade kot tudi Ključne besede: računalniški vid, za starejše ljudi. Za začetnike je precej velik zalogaj, zato smo se Rubikova kocka, odločili narediti aplikacijo, ki jo novincem pomaga rešiti. obogatena resničnost, Python, Primarno namen same aplikacije ni učenje reševanja Rubikove OpenCV kocke, saj se uporabnik z njeno uporabo ne uči, temveč samo dela Prispevek temelji na: gibe, ki jih aplikacija pokaže. Njen cilj je pomagati, saj če se Šuklje, J. (2022). Aplikacija nekomu zaplete pri reševanju kocke, si lahko z aplikacijo pomaga računalniškega vida za reševanje Rubikove kocke v in kocko vrne v prvotno rešeno stanje. Kar izstopa pri tej aplikaciji realnem času: diplomsko delo, Univerza v Ljubljani, v primerjavi z drugimi orodji za reševanje Rubikove kocke, je Fakulteta za računalništvo uporaba kamere kot ključnega elementa. Namesto omejevanja in informatiko. Ljubljana. uporabnika na 2D ali 3D grafični prikaz kocke, ki je lahko precej zamudna, ta aplikacija izkoristi kamero, ki omogoča uporabo toka videa kot podlago uporabniškega vmesnika. Uporabnik v realnem času vidi navodila za reševanje Rubikove kocke, kar olajša in pospeši celoten proces reševanja. DOI https://doi.org/ COMPUTER VISION 10.18690/um.feri.1.2024.6 ISBN APPLICATION FOR SOLVING A 978-961-286-837-6 RUBIK’S CUBE IN REAL-TIME JAN ŠUKLJE, PETER PEER, BOJAN KLEMENC 1 University of Ljubljana, Faculty of Computer and Information Science, Ljubljana, Slovenia sukljejan@gmail.com, peter.peer@fri.uni-lj.si, bojan.klemenc@fri.uni-lj.si Keywords: The Rubik's cube is one of the most wel -known toys, both for computer vision, Rubik's cube, young and older people. For beginners, it can be quite augmented reality, chal enging, so we decided to create an application that helps Python, OpenCV them solve it. The main purpose of the application is not to teach solving the Rubik's cube, as users don't learn from it but only The proceedings is based perform the moves shown by the application. Its goal is to assist on: Šuklje, J. (2022). Aplikacija if the user gets stuck while solving the cube – the user can use the računalniškega vida za reševanje Rubikove kocke v realnem času: application to return it to the original solved state. What stands bachelor's thesis, University out in this application compared to other tools for solving the of Ljubljana, Faculty Computer and Information Rubik's Cube is the use of the camera as a key element. Instead Science. Ljubljana. of limiting the user to a 2D or 3D graphical representation of the cube, which can be quite time-consuming, this application utilizes the camera, al owing video stream to be the user interface. The user receives instructions for solving the Rubik's cube in real time, which makes the entire process of solving this chal enging game easier and faster. J. Šuklje, P. Peer, B. Klemenc: Aplikacija računalniškega vida za reševanje Rubikove kocke v realnem času 73. 1 Uvod Rubikova kocka že dolgo časa navdušuje kot igrača, ki testira naš um in zabava ljudi vseh generacij. Medtem ko nekateri uživajo v zapletenih obratih in vrtenju ploskev kocke, se drugi borijo s prepoznavanjem njenih kompleksnosti. Zavedajoč se potrebe po pomoči pri reševanju te ikonične uganke, smo razvili aplikacijo v Pythonu, ki izkorišča tehnike računalniškega vida in knjižnico OpenCV, katere prvo javno različico je podjetje Intel dalo v uporabo pod licenco BSD (sedaj Apache) leta 2000 (Kaehler & Bradski, 2016). Aplikacija uporabnikom zagotovi intuitivno in interaktivno rešitev tako, da uporablja kamero za vodenje skozi postopek reševanja. Namen prispevka je predstaviti razvoj in funkcionalnost inovativnega reševalca Rubikove kocke. Predstavili bomo problemsko domeno, postopek analize vizualnih podatkov v realnem času, ki vključuje zajemanje videa s kamero, zaznavanje kocke in njenih barv ter izračun rešitev Rubikove kocke, kakor tudi implementacijo uporabniškega vmesnika s pomočjo prikaza nad videom. Osredotočili se bomo na tehnične vidike aplikacije, kot so orodja, ki smo jih uporabili za obdelavo vizualnih podatkov, pridobljenih s kamero. Poleg tega bomo predstavili različne funkcije, vgrajene v aplikacijo, ki uporabnikom pomagajo pri procesu reševanja. 2 Pregled področja 2.1 Rubikova kocka Rubikova kocka je priljubljena 3D uganka, sestavljena iz manjših kock, ki so različne barve. Lahko jo manipuliramo s premikanjem njenih ploskev v različnih smereh. Ko so vsi kvadrati na vseh posameznih ploskvah enake barve, pomeni da je kocka rešena. Za opisovanje premikov Rubikove kocke smo uporabili najpogosteje uporabljeno notacijo (Ferenc, 2023), v kateri se posameznim stranem Rubikove kocke priredi specifična črka. 74 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . 2.1 Sorodna dela Priljubljenost Rubikove kocke je privedla do tega, da jo ljudje rešujejo na različne načine. Medtem ko so nekateri stremeli k hitrim rešitvam, so drugi iskali izzive v nekonvencionalnih metodah, ki presegajo standardne pristope. Eden od pristopov, ki ga je uporabilo podjetje OpenAI, je uporaba robotske roke za reševanje kocke (Akkaya, et al., 2019). S tem so demonstrirali prenosljivost računalniškega modela, treniranega samo v simulaciji, na fizično manipulacijo. Spet drug pristop, ki temelji na globokem spodbujevalnem učenju in iskanju, prikaže algoritem, ki lahko reši kocko v različnih okoljih brez zanašanja na človeško znanje (Agostinel i, McAleer, Shmakov, & Baldi, 2019). Delo, ki je najbolj podobno naši implementaciji, tudi uporablja kamero za prikaz uporabniškega vmesnika, namenjeno pa je le prikazovanju napredka reševanja Rubikove kocke in ne samem reševanju (Ajisaka, et al., 2020). Podoben študentski projekt je tudi diplomska naloga Simona Gerholda (Gerhold, 2014), ki se osredotoča na razvoj interaktivne in vizualizacijo Rubikove kocke. 3 Zajem videa Za zajemanje videa smo uporabili mobilni telefon, na katerem je bila naložena aplikacija IP Webcam1. Nato smo dodali URL toka videa kot parameter naši aplikaciji za reševanje Rubikove kocke. Za zajem slik iz toka videa smo uporabili knjižnico OpenCV in implementirali razred VideoCaptureAsync, ki deluje asinhrono, kar pripomore k hitrosti delovanja. Ta razred omogoča učinkovito branje slik iz videoposnetka, kar izboljša obdelavo videoposnetkov. Tolerance za oddaljenost in orientacijo kocke so velike, zato ni potrebno natančno nastavljati stojala za mobilni telefon. 4 Zaznavanje Rubikove kocke Za zaznavanje Rubikove kocke smo uporabili knjižnico OpenCV in Python. S pomočjo knjižnice OpenCV smo obdelali vhodno sliko, izluščili ključne informacije in se osredotočili na prepoznavo devetih posameznih kvadratov na kocki. Zatem 1 https://play.google.com/store/apps/details?id=com.pas.webcam&hl=en_US J. Šuklje, P. Peer, B. Klemenc: Aplikacija računalniškega vida za reševanje Rubikove kocke v realnem času 75. smo poskušali ustvariti zunanji pravokotnik, ki popolnoma obdaja te kvadrate in pove, ali je bila kocka uspešno zaznana. Če je kocka uspešno zaznana, na naslednji sliki video toka uporabimo masko za pospešeno zaznavanje. 4.1 Zaznavanje barvnih kvadratov Za zanesljivo identifikacijo kvadratov Rubikove kocke je uporabljen niz postopkov, ki vključujejo Gaussovo zameglitev, Cannyjev detektor robov, iskanje kontur, optimizacijo kontur s funkcijo approxPolyDP ter filtriranje kontur glede na število točk, površino, konveksnost in kotne lastnosti. Gaussova zameglitev se uporablja za zmanjšanje šuma in pridobivanje bolj konsistentnih podob kvadratov. Cannyjev detektor robov omogoča natančno identifikacijo robov v sliki. Iskanje kontur se izvaja s funkcijo cv2.findContours(), nato pa se uporablja funkcija approxPolyDP za optimizacijo kontur z manjšim številom mejnih točk. Filtriranje kontur se izvaja glede na število točk, površino, konveksnost in kotne lastnosti. Prekrivanje med kvadrati se odstrani, zagotavljajoč, da ostanejo samo relevantni kvadrati za nadaljnjo analizo. Slika 1: Prikaz postopka zaznavanja barvnih kvadratov Vir: lasten 76 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . Slika 1 prikazuje začetno sliko, identifikacijo robov z Cannyjevim detektorjem, nato zaznane robove po optimizaciji kontur in na koncu vseh devet zaznanih kvadratov po končni filtraciji. Ta celoten postopek omogoča zanesljivo zaznavanje barvnih kvadratov Rubikove kocke, bolj podroben opis lahko najdete v (Šuklje, 2023). 4.2 Nepravilno število kvadratov Po izvedbi filtriranja se lahko pojavi situacija, kjer imamo lahko več ali manj kot devet kvadratov, ki so ključni za prepoznavo Rubikove kocke. Če ostane manj kot devet takšnih kvadratov, postopek prekinemo in čakamo na naslednjo sliko. To se običajno zgodi, ko na sliki ni Rubikove kocke ali je prikazan le del nje. Nasprotno, če imamo več kot devet kvadratov, najprej identificiramo srednji kvadrat, obdan s tremi ali več sosednjimi kvadrati na vseh štirih straneh. Nato znotraj slike poiščemo osem najbližjih kvadratov temu srednjemu kvadratu, da pridemo do končnih devetih kvadratov. To se zgodi v primerih, ko je ozadje Rubikove kocke polno drugih kvadratnih objektov, ki so tudi zaznani kot kvadrati. 4.3 Indikator celotne Rubikove kocke Da bi se prepričali, ali vsi kvadrati tvorijo eno skupno kocko, uporabimo dodaten postopek, kjer jih poskušamo očrtati s še enim kvadratom, primer je razviden na sliki 2. Oglišča tega novega kvadrata določimo glede na položaj manjših štirih kvadratov, ki se nahajajo v ogliščih zaznane kocke. Slika 2: Očrtanje devetih kvadratov Vir: lasten J. Šuklje, P. Peer, B. Klemenc: Aplikacija računalniškega vida za reševanje Rubikove kocke v realnem času 77. Če ima kvadrat z rdečim robom dovolj podobne dolžine vseh štirih stranic ter notranje kote, ki so dovolj podobni pravim kotom, smo lahko skoraj prepričani, da smo zaznali Rubikovo kocko. 4.4 Maskiranje nadaljnjih zaznavanj Če uspešno zaznamo Rubikovo kocko na eni sliki, lahko pričakujemo, da se bo na naslednji sliki nahajala na približno istem mestu. To omogoča optimizacijo obdelave slik z izbrisom ali zakrivanjem delov slike, ki so dovolj oddaljeni od zaznane kocke. Uporaba strategije maskiranja zmanjša obremenitev računalniških virov, še posebej, če se uporabi natančen Cannyjev detektor robov. Med zajemanjem slik je pomembno upoštevati hitrost premikanja kocke in razdaljo le-te od kamere. Primer maskiranja je prikazan na sliki 3. Slika 3: Maskiranje izvorne slike Vir: lasten 5 Zaznavanje barv Zaznavanje barv je ključno pri reševanju Rubikove kocke, zato je pomembno, da to opravimo natančno in zanesljivo v različnih svetlobnih pogojih. Analiza vsakega kvadrata se izvaja s preverbo, ki ugotovi prevladujočo barvo. V knjižnici OpenCV je uporabljen barvni prostor BGR, vendar za olajšano analizo barv uporabljamo barvni prostor HSV, v katerega prevladujočo barvo tudi pretvorimo. Barvni prostor HSV omogoča ločevanje odtenkov, nasičenosti in svetlosti, kar olajša obdelavo in primerjavo barv med seboj. 78 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . S poskušanjem smo prepoznavali, katerim barvam pripadajo vrednosti v modelu HSV. S postopnim testiranjem smo izboljševali pretvorbo in zagotovili, da ni bila preveč občutljiva na različne svetlobne pogoje. Trenutno delovanje sistema za prepoznavanje barv poteka zelo dobro, izjema so zelo slabi svetlobni pogoji. 6 Algoritem za reševanje Rubikove kocke Algoritem Kociemba z dvema fazama (Kociemba, 1992) se izkaže kot izjemno zmogljiva in učinkovita metoda za reševanje zapletene uganke, kot je Rubikova kocka. To inovativno metodo je razvil Herbert Kociemba v zgodnjih 2000-ih letih. Metoda se je hitro uveljavila kot ena izmed najbolj naprednih tehnik za premagovanje izziva sestavljanja te priljubljene ugankarske igrače. Ena izmed najbolj opaznih prednosti tega algoritma je sposobnost, da kocko reši v manj potezah v primerjavi z mnogimi drugimi metodami. Omogoča hitro reševanje celo najzahtevnejših konfiguracij kocke v razumnem časovnem okviru. 7 Uporabniški vmesnik Uporabnik na začetku sledi navodilom, ki mu povedo, kako in v katerem vrstnem redu mora prvotno zaznati vse strani Rubikove kocke. S tem pridobimo vse kvadrate in njihove barve, ki jih potrebujemo za iskanje gibov, ki vodijo do rešene kocke. Ko je to urejeno, se uporabniku na videu začnejo prikazovati navodila, kako Rubikovo kocko premikati, da bo prišel do končnega rešenega stanja. Slika 4: Prikaz puščice za potreben premik Vir: lasten J. Šuklje, P. Peer, B. Klemenc: Aplikacija računalniškega vida za reševanje Rubikove kocke v realnem času 79. Ker smo želeli narediti kar se da enostaven uporabniški vmesnik, smo se odločili, da bo prikaz potrebnih gibov prikazan samo s puščicami na sami kocki v realnem času (slika 4). Tako si lahko uporabnik zlahka predstavlja, kaj mora narediti. Po vsakem gibu, ki ga naredi uporabnik, se preveri, ali je bil gib pravilno narejen. Če je bil napačen, se celotno zaznavanje prekine, uporabnik pa mora zopet začeti znova in še enkrat pokazati vse strani Rubikove kocke. Za boljšo predstavo o delovanju je primer uporabe objavljen na omrežju Youtube (Šuklje, 2023)(Šuklje, 2023). 8 Rezultati Število potez, potrebnih za rešitev Rubikove kocke, je ključna mera, ki je odvisna od učinkovitosti algoritma in od tega, kako dobro je kocka premešana. Algoritem išče rešitve v največ dvajsetih potezah, kar se je izkazalo kot optimalno, saj se rešitev običajno najde hitro. Hitrost in odzivnost aplikacije sta zadovoljivi, brez zaznavnih kjučnih zakasnitev pri prikazu slike. Teste smo izvedli na namiznem računalniku, ki ima procesor AMD Ryzen 7 2700 in na prenosniku z procesorjem AMD Ryzen 5 5500U, v obeh primerih je aplikacija delovala brez problemov, razlike v odzivnosti med njima nismo opazili. Primerjava s hitrostjo prikaza surovega videa kaže minimalno razliko v zakasnitvi, kar kaže na dobro optimizacijo aplikacije. Ker aplikacija omogoča samodejno zaznavanje barv in prikaz navodil na videu kocke, zmanjšuje tveganje za napake, saj uporabniku ni potrebno ročno vnašati vseh 54 barv kvadratov, med reševanjem same kocke pa napačno izveden gib pomeni prekinitev delovanja. Aplikacijo so preizkusile štiri odrasle osebe in tudi dva otroka stara sedem let, rezultati pa so pokazali, da je aplikacija uporabna tako za starejše kot tudi za mlajše uporabnike. Vsi odrasli so uspešno rešili kocko v nekaj minutah, medtem ko so otroci potrebovali malo dlje, saj so si sprva težko predstavljali katero stran kocke gledajo, ampak ko so to ugotovili, jim je kocko uspelo rešiti. 80 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . 9 Zaključek Najzahtevnejši del pri razvoju aplikacije je bilo razvijanje samega sistema za zaznavanje Rubikove kocke. Opravili smo številne iteracije, pri čemer smo vsakič uporabili drugačen pristop k prepoznavanju kocke. Stalnica pri tem je bila uporaba knjižnice OpenCV. Uporaba aplikacije je preprosta in hitrejša v primerjavi z drugimi podobnimi rešitvami, kar smo potrdili z uspešnim preizkusom med družinskimi člani in prijatelji, ki niso znali sestaviti Rubikove kocke. S pomočjo aplikacije so vsi uspeli rešiti Rubikovo kocko v le nekaj minutah. Med razvojem in testiranjem aplikacije smo zaznali nekaj točk, kjer bi lahko izvedli izboljšave. Ključna izboljšava bi bila povečanje natančnosti pri prepoznavanju Rubikove kocke na kamerah nižje kakovosti. Testiranje z vgrajeno kamero v prenosniku je razkrilo, da se detekcija poslabša v slabših razmerah zaradi omejenega kontrasta slike in večjega šuma. Dodatna izboljšava v prihodnosti bi omogočila uporabnikom, da Rubikovo kocko zaznajo in identificirajo v poljubnem vrstnem redu med prvo fazo zajemanja vseh strani kocke. Literatura Agostinelli, F., McAleer, S., Shmakov, A., & Baldi, P. (2019). Solving the Rubik’s cube with deep reinforcement learning and search. Nature Machine Intel igence, 1, 356–363. Ajisaka, S., Hara, S., Matsuchi, M., Luo, S., Yoshida, S., Xie, H., & Miyata, K. (2020). Learning rubik's cube through user operation history. Nicograph International (NicoInt), str. 43–46. Akkaya, I., Andrychowicz, M., Chociej, M., Litwin, M., McGrew, B., Petron, A., and others. (2019). Solving rubik's cube with a robot hand. arXiv preprint arXiv:1910.07113. Ferenc, D. (2023). Rubik’s cube notation. Pridobljeno 1.2.2024: https://ruwix.com/the-rubiks-cube/notation/ Gerhold, S. (2014). Razvoj interaktivne Rubikove kocke: diplomsko delo, Univerza v Ljubljani, Fakulteta za računalništvo in informatiko. Ljubljana. Kaehler, A., & Bradski, G. (2016). Learning OpenCV 3: computer vision in C++ with the OpenCV library. O'Reil y Media, Inc. Kociemba, H. (1992). Rubik's Cube Twophas eSolver. Pridobljeno 1.2.2024: https://github.com/hkociemba/RubiksCube-TwophaseSolver Šuklje, J. (2023). Aplikacija računalniškega vida za reševanje Rubikove kocke v realnem času: diplomsko delo, Univerza v Ljubljani,Fakulteta za računalništvo in informatiko. Ljubljana. Šuklje, J. (2023). Computer vision application for solving a Rubik’s cube in real-time. 1.2.2024: https://www.youtube.com/watch?v=qAvpx65JOVI SPROTNA ANALIZA SLIK VOZIL Z DOI https://doi.org/ 10.18690/um.feri.1.2024.7 METODAMI GLOBOKEGA UČENJA V ISBN 978-961-286-837-6 OGRODJU FLUTTER ALEKSANDR SHISHKOV,1,3 STEVANČE NIKOLOSKI2,3 1 Univerza v Mariboru Fakulteta za elektrotehniko, računalništvo in informatiko, Maribor, Slovenija aleksandr.shishkov@student.um.si 2 Univerza v Novem mestu Fakulteta za ekonomijo in informatiko, Novo mesto, Slovenija stevance.nikoloski@uni-nm.si 3 Result d.o.o., Ljubljana, Slovenia aleksandr.shishkov@student.um.si, stevance.nikoloski@uni-nm.si V članku raziskujemo integracijo modela MobileNetV3 v ogrodju Ključne besede: MobileNetV3, Flutter, osredotočajoč se na napredno klasifikacijo slik Flutter, avtomobilov. Preučujemo večplasten pristop, ki vključuje klasifikacija slik, fino prilagajanje, uporabo raznolikih podatkovnih zbirk, fino prilagajanje modela globoko učenje ter njegovo brezhibno implementacijo v mobilno aplikacijo. S poudarkom na izboljšanju uporabniške izkušnje smo ustvarili tri specializirane modele z visoko stopnjo natančnosti (97%), ki prepoznajo ustrezne slike, klasificirajo tip slike (vozilo, armaturna plošča ali dokument) ter določajo stran avtomobila (spredaj, levo, desno, zadaj). Rezultati kažejo izjemno hitrost in odzivnost aplikacije, pri čemer MobileNetV3 zagotavlja natančno klasifikacijo v le 60 ms, kar prispeva k izjemni učinkovitosti celotnega sistema. DOI https://doi.org/ INSTANTANEOUS VEHICLE 10.18690/um.feri.1.2024.7 ISBN IMAGE ANALYSIS WITH DEEP 978-961-286-837-6 LEARNING METHODS WITH FLUTTER FRAMEWORK ALEKSANDR SHISHKOV,1,3 STEVANČE NIKOLOSKI2,3 1 University of Maribor Faculty of Electrical Engineering and Computer Science, Maribor, Slovenija aleksandr.shishkov@result.si 2 University of Novo mesto Faculty of Economics and Informatics, Novo mesto, Slovenia stevance.nikoloski@uni-nm.si 3 Result d.o.o., Ljubljana, Slovenia aleksandr.shishkov@result.si, stevance.nikoloski@uni-nm.si Keywords: The article explores the integration of the MobileNetV3 model MobileNetV3, Flutter, into the Flutter framework, focusing on advanced image image classification, classification of vehicles. We examine a multi-faceted approach fine-tuning, deep learning that includes the use of diverse datasets, fine-tuning the model, and seamlessly implementing it into a mobile application. With an emphasis on enhancing the user experience, we have created three specialized models with a high level of accuracy (97%), capable of recognizing appropriate images, classifying the type of image (vehicle, dashboard, or document), and determining the side of the vehicle (front, left, right, rear). The results demonstrate exceptional speed and responsiveness of the application, with MobileNetV3 providing precise classification in just 60 ms, contributing to the overal efficiency of the system. A. Shishkov, S. Nikoloski: Sprotna analiza slik vozil z metodami globokega učenja v ogrodju Flut er 83. 1 Uvod Umetna inteligenca in globoko učenje sta revolucionirala našo sposobnost optimizacije in avtomatizacije raznovrstnih nalog. Eden od zanimivih izzivov na tem področju je klasifikacija slik. Naloga strojnega učenja, ki je temu namenjena se imenuje večciljna klasifikacija (angl. Multi-label classification), pri čemer za vsak nov klasifikacijski objekt, model vrača vrednosti med 0 in 1 za vsako posamezno kategorijo, odvisno od izračunane verjetnosti, da je v novem klasifikacijskem objektu prepoznana posamezna kategorija (de Carvalho & Freitas, 2009). V tem članku se bomo posvetili uporabi večciljnega klasifikacijskega modela MobileNetV3 (Qian et al., 2021). Osredotočili se bomo na njegovo uporabo pri validaciji ustreznih slik, klasifikaciji v treh različnih kategorijah, kot so armaturna plošča, vozilo ali dokument ter klasifikaciji strani avtomobilov, pri čemer bomo vodili skozi postopek integracije naučenega modela v aplikacijo, zgrajeno na ogrodju Flutter (Singh & Bhadani, 2020). MobileNetV3 predstavlja vrhunski klasifikacijski model naučen s konvolucijskimi nevronskimi mrežami (CNN). Medtem ko obstaja več algoritmov strojnega učenja za klasifikacijo slik, kot so logistično regresijo, odločitvena drevesa, naključni gozdovi ipd., smo se odločili za uporabo CNN, saj raziskava v področju strojnega učenja modele CNN izloči kot najbolj zanesljivi, saj pričakujemo visoko stopnjo natančnosti modela za klasifikacijo slik (Wang et al., 2021). Podatki predstavljajo temeljno komponento sodobnega sveta. V našem članku bomo podrobno opisali postopek pridobivanja podatkov, nato pa razkrili, kako smo jih skrbno obdelali, upoštevajoč specifične potrebe našega projekta. Pri tem smo se srečali z raznolikimi izzivi, ki smo jih sistematično naslovili in premagali, kar je ključno za zagotavljanje kakovostnih rezultatov našega modela. Slednje smo dosegli, ko smo skupaj s slikami, ki smo jih pridobili preko naše aplikacije vključili še slike iz zunajnih relevantnih virov. Pomembno je poudariti, da uspešno obvladovanje podatkovne faze prispeva k celotni zanesljivosti in natančnosti modela ter posledično izboljšuje uporabniško izkušnjo. Z našim pristopom k pridobivanju in obdelavi podatkov želimo bralcem ponuditi vpogled v kompleksnost ter pomembnost pravilnega ravnanja s podatki v procesu razvoja in izpopolnjevanja modelov umetne inteligence. 84 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . MobileNetV3, ki deluje kot naš osnovni model, gre skozi proces fino prilagajanja (fine-tuning), da bi izboljšal svojo učinkovitost pri specifičnem opravilu klasifikacije strani avtomobilov. Ko je model enkrat prilagojen, sledi ključen korak brezhibne integracije v aplikacijo Flutter (Singh, 2020). Poglobili se bomo v zapletenosti te integracije, poudarili korake, ki smo jih sprejeli, da bi model brez težav vključili v arhitekturo aplikacije. 2 Metodologija Kot osnovni programski jezik smo izbrali Python, ki velja za klasično izbiro pri globokem in strojnem učenju (angl. deep learning in machine learning). Pomagala nam je knjižnica TensorFlow (Pang et al., 2020), s katero smo naučili in testirali model, obdelali podatki ter konvertirali naučeno model v format TensorFlow Lite, optimiziran za uporabo na mobilnih napravah. 2.1 Priprava podatkov Na začetku našega projekta smo imeli v mislih razvoj modela za napoved strani vozila. Zato smo se odločili uporabiti nabor podatkov CompCars (Yang et al., 2015), ki predstavlja obsežno kolekcijo slik avtomobilov in njihovih delov. Naša prvotna zahteva je bila, da morajo biti slike avtomobilov v naboru podatkov označene glede na stran vozila, kot so spredaj, levo, desno ali zadaj. Na žalost smo ugotovili, da ta zbirka ne vsebuje potrebnih označb. Z namenom, da bi ohranili učinkovitost projekta, smo se soočili z izzivom, saj bi ročno označevanje kar 136 tisoč slik predstavljalo nerealno obsežno opravilo. Zato smo sprejeli odločitev, da poskusimo drug nabor podatkov, ki bi ustrezal našim zahtevam. Posledično smo se odločili tudi klasificirati kategorijo slik, ki jih lahko uporabnik posname, in sicer ali gre za armaturno ploščo, vozilo ali dokument. Za ta namen smo uporabili slike iz produkcijskega strežnika, saj projekt že deluje približno dve leti in vsebuje zadostno količino slik. Prednost te izbiri je v tem, da posebne lastnosti in format teh slik bo povečata točnost modela, ker so podatki za treniranje in za nadaljnjo uporabo podobni. Te surove slike so za naš primer zelo ustrezne, vendar sploh niso označene in zato smo se lotili dodatnega označevanja. A. Shishkov, S. Nikoloski: Sprotna analiza slik vozil z metodami globokega učenja v ogrodju Flut er 85. Za ta namen smo razvili aplikacijo z grafičnim vmesnikom (GUI), ki omogoča ročno klasifikacijo slik. Pri razvoju smo mislili na povečanje hitrosti ročne klasifikacije, zato smo implementirali klasifikacijo z uporabo hitrih tipk (angl. hotkeys) in dinamično izbiro kategorij in map slik. Ta rešitev je poenostavila ročni postopek klasifikacije slik in zagotovila ustvarjanje prilagojenega podatkovnega nabora iz surovih slik. Takrat smo že začeli delati z MobileNetV3, in na srečo ta model ni zahteval velikega nabora podatkov pri finem prilagajanju in prav tako ni bilo vpliva na točnosti. Zato smo označili manj slik in trenirali model na majhnem naboru podakov, preostali slike pa smo označili že z uporabo modela. Prav tako smo za implementacijo funkcionalnosti validacije morali pripraviti dve kategoriji v naboru podatkov: ustrezne in neustrezne slike. Kot ustrezne slike smo uporabili slike iz prejšnjega nabora podatkov, medtem ko smo za neustrezne slike uporabili nabor podatkov iz spletne strani Kaggle (Sinha, 2024), ki vsebuje več odprtodostopnih slik poljubnih kategorij. Smo ustvarili tri vrste podatkovnih zbirk za učenje modela za klasifikacijo strani avtomobila, model za klasifikacijo tipa slik in validacijski model. Za vsako kategorijo imamo med 3000 in 5000 slik, pri čemer pri treniranju uravnotežimo količino. Kljub velikemu številu slik lahko pri finem prilagajanju dejansko uporabimo manjše število, saj razlika v točnosti ni tako velika. Smo dosegli natančnost več kot 90% ali 95% pri 100 slikah na kategorijo. 2.3 Naloga strojnega učenja Naloga modela strojnega učenja je vključevala predvsem večciljno klasifikacijo vrste slike, tj. dodelitev slike v določeno kategorijo iz nabora različnih kategorij. Za izpolnitev te naloge smo razvili arhitekturo modela, ki temelji na MobileNetV3 in je bila fino prilagojena specifičnim zahtevam našega projekta. Enoten model je bil oblikovan za izvajanje natančnih napovedi, pri čemer smo se osredotočili na prilagajanje končnih slojev glede na značilnosti naših podatkov. S tem smo ustvarili model, ki je sposoben učinkovito klasificirati slike v različne kategorije, kar je ključno za uspešno izvajanje naše aplikacije. 86 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . 2.3.2 Večciljna klasifikacija Večciljna klasifikacija (angl. multi-label classification) je algoritem strojnega učenja, ki se uporablja za napoved več kot ene kategorije oz. oznake za dano vhodno instanco (de Carvalho & Freitas, 2009). V primeru večciljne klasifikacije imamo opravka s posebnim izzivom, imenovanim binarna relevantnost (Szymański & Kajdanowicz, 2017; Binary Relevance, 2024). Ta koncept se nanaša na napovedovanje verjetnost prisotnosti posamezne kategorije na vhodni sliki, pri čemer model vrača vrednosti med 0 in 1. Kot prag napovedane vrednosti se pogosto nastavlja 0.5, da lahko določimo, ali slika spada v posamezno kategorijo ali ne. Ta pristop omogoča osredotočanje na posamezne kategorije neodvisno ena od druge, kar je ključno pri nalogah, kjer želimo ločeno obravnavati več kategorij za dano instanco. Slika 1 prikazuje nabor slik, opisanih z vizualnimi značilnostmi, izluščenimi iz slik, kot so število črt različnih tipov (ukrivljene, horizontalne, diagonalne itd.), in ciljne atribute, ki označujejo prisotnost (T) ali odsotnost (⊥) objektov različnih tipov. Slika 1: Ilustrativni primer podatkovne zbirke z večciljno klasifikacijo. Vir: lasten A. Shishkov, S. Nikoloski: Sprotna analiza slik vozil z metodami globokega učenja v ogrodju Flut er 87. 2.4 Globoko učenje Globoko učenje (angl. deep learning) predstavlja področje strojnega učenja, ki se osredotoča na uporabo kompleksnih umetnih nevronskih mrež z več plastmi, znanih kot globoke nevronske mreže (LeCun et al., 2015). Glavni cilj globokega učenja je avtomatsko pridobivanje in predstavljanje kompleksnih vzorcev v podatkih. Ključna značilnost tega pristopa je njegova sposobnost samodejnega učenja hierarhičnih in abstraktnih značilnosti iz podatkov na različnih ravneh kompleksnosti. V primerjavi s tradicionalnimi metodami strojnega učenja, kjer so modeli običajno plitvi, globoko učenje omogoča učenje predstavitev podatkov na več ravneh. To omogoča boljše zajemanje in razumevanje hierarhične strukture podatkov. Temeljni gradniki globokih nevronskih mrež vključujejo vhodni sloj, skrite sloje in izhodni sloj. Skriti sloji igrajo ključno vlogo, saj omogočajo modelu, da samodejno izpelje značilnosti iz podatkov na bolj abstraktnih ravneh, kar vodi do učinkovitega reprezentiranja kompleksnih vzorcev. Ključna pomankljivost modele globokega učenja je njihova interpretivnost. Zato so modele globokega učenja imenujejo tudi »black-box« modele. Vendar so zelo uporabni in aplikativni zaradi njihove velike natančnosti. 2.4.1 Konvolucijska nevronska mreža Konvolucijska nevronska mreža (angl. Convolutional Neural Network ali CNN) je vrsta nevronske mreže zasnovana obdelave podatkov, ki imajo strukturo mreže, kot so slike (O'Shea & Nash, 2015). CNN se pogosto uporablja v nalogah računalniškega vida, kot so klasifikacija slik, detekcija objektov in segmentacija slik. Glavna značilnost CNN je uporaba konvolucijskih plasti, ki omogočajo učinkovito prepoznavanje lokalnih vzorcev v vhodnih podatkih. Pri tradicionalnih algoritmih strojnega učenja za večciljno klasifikacijo se pomembne značilke izbirajo v predpripravi podatkov in postanejo vhodni podatki v učnem procesu. Po drugi strani pa je ključna prednost konvolucijske nevronske mreže v tem, da namesto ročnega izbiranja značilk iz vhodnih podatkov v fazi predpriprave podatkov, model samodejno izpelje pomembne značilke s pomočjo konvolucijskih plasti, kar poteka skozi proces, imenovan inženiring značilk (ang. feature engineering), ki je vključen v samem učnem procesu. Konvolucijske plasti 88 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . uporabljajo jedra (filtri), ki se pomikajo po vhodnih podatkih in izvajajo konvolucijo, kar omogoča prepoznavanje lokalnih vzorcev, kot so robovi, teksture in oblike (Slika 2) (Siebel & Rice, 2019). Poleg konvolucijskih plasti CNN običajno vključuje tudi plasti združevanja (pooling), ki zmanjšajo dimenzionalnost podatkov in povečajo prejemanje globalnih značilnosti. CNN ima običajno tudi polno povezane sloje, ki se uporabljajo za končno klasifikacijo ali regresijo. Zaradi njihove uspešnosti pri obdelavi slik in drugih mrežnih podatkov so CNN postale ključna tehnologija na področju računalniškega vida. Pri prvih poskusih smo probali zgraditi modelo z lastno napisano arhitekturo, podobno kot v dokumentaciji TensorFlow-a (TensorFlow, 2024), ki je vsebovala več slojev in je bila prazna. Po treniranju in prilagojenju parametrov modela nismo dosegli točnosti več kot 65%. Zato smo prenehali z uporabo tega modela in začeli iskati že modele naučene na velikem datasetu. V našem primeru model za napoved več kategorij sledi naslednji arhitekturi: na vhodu sprejme podatke sliki z ločljivostjo 224 na 224 pikslov, slika je v RGB formatu. Uporablja se MobileNetV3 kot osnovni model, ki je že predhodno treniran in ima lastne uteži. Sledi skrit sloj Dense, ki ga nadalje treniramo. Končno, kot izhod služi zadnji sloj Dense, ki ima N enot, kjer je N število kategorij v naboru podatkov, kot je prikazano na Slika 2. Input Layer input: (224, 224, 3) MobileNetV3 output: (1001) Hidden Layer: Dense output: (224, 224, 3) Output Layer: Dense output: ( N) Slika 2: Arhitektura modela za večciljno klasifikacijo. Vir: lasten. A. Shishkov, S. Nikoloski: Sprotna analiza slik vozil z metodami globokega učenja v ogrodju Flut er 89. 2.4.2 MobileNetV3 MobileNetV3 je model nevronske mreže, zasnovan za klasifikacijo slik in druge naloge v področju računalniškega vida (Qian et al., 2021). Gre za tretjo iteracijo MobileNet modelov, ki so znani po svoji sposobnosti doseganja visoke natančnosti klasifikacije ob hkratni ohranitvi nizke računske zahtevnosti. Glavni cilj MobileNetV3 je izboljšati učinkovitost in natančnost predhodnih modelov. Model uporablja arhitekturo nevronske mreže, ki vključuje konvolucijske plasti, aktivacijske funkcije, plasti normalizacije po serijah (angl. Batch Normalization), in globalno povprečenje. Značilnost MobileNetV3 je tudi uporaba blokov Inverted Residuals, ki omogočajo boljše zajemanje informacij in povečanje zmogljivosti. MobileNetV3 je bil posebej zasnovan za mobilne naprave in aplikacije z omejenimi računskimi viri, kjer je pomembno ohraniti ravnovesje med natančnostjo in hitrostjo delovanja. Zato je priljubljen v aplikacijah, ki zahtevajo hitro obdelavo slik ob minimalni porabi energije. 2.5 Uporabniški primeri Sedaj, ko imamo arhitekturo modela na osnovi MobileNetV3, lahko te modele treniramo z različnimi podatki. V našem primeru želimo ustvariti tri različne modele, vsakega posebej treniranega na ločenih datasetih, z namenom uporabe v specifičnih situacijah. 2.5.1 Validacijski model Validacijski model se osredotoča na napovedovanje ustreznosti slike in vrača vrednosti med 0 in 1. Pri odločanju o ustreznosti uporabljamo prag, v našem primeru je to 0.5, kar predstavlja koncept binarne relevantnosti. Ta model je posebej prilagojen, kadar želimo napovedati le eno kategorijo. 2.5.2 Model za klasifikacijo tipa slike V tem primeru imamo tri kategorije, in sicer armaturno ploščo, vozilo in dokumente. Model vrne verjetnost za vsako kategorijo, kar predstavlja klasičen primer večciljni klasifikacije. 90 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . 2.5.3 Model za klasifikacijo strani avta V tej situaciji imamo štiri kategorije, ki predstavljajo različne strani avtomobila, spredaj, levo, desno, zadaj. Model prav tako vrne verjetnost za vsako kategorijio, kar predstavlja še en primer večciljne klasifikacije. 2.6 Treniranje modelov V Jupyter notebook smo implementirali fino prilagajanje, podporo spremembam parametrov, spremembo datasetov, prikazovanje rezultatov treniranja, testiranje, shranjevanje modela in konvertacijo v format TensorFlow Lite. Učili smo modele na lokalnih računalnikih, opremljenih z NVIDIA GPUjev in podporo za CUDA. S pravilnimi nastavitvami TensorFlow zazna GPU in trenira nanj. V tem primeru je celoten proces zelo hiter, in en model se lahko izuči v 5 do 10 minutah. Naš pristop omogoča tudi prilagajanje parametrov, kjer lahko izbiramo med velikostjo osnovnega modela (small ali large) ter vrednostjo za depth multiplier (0.75 ali 1). Vsi naši modeli so bili trenirani z uporabo modela small in depth multiplier 0.75, saj nismo zaznali bistvenih razlik med drugimi kombinacijami. Nato sledi izbira dataseta in razdelitve, kjer smo določili 70% za učni nabor in 30% za validacijo. Število epoh smo nastavili na 10. Uporabili smo Adam optimizer in Binary Crossentropy loss za model enojne klasifikacije (validacijski model), medtem ko smo za večciljno klasifikacijo uporabili Sparse Categorical Crossentropy. 2.7 Postavitev modela v mobilno aplikacijo Naša aplikacija je napisana na platformi Flutter, okviru za izdelavo večplatformskih aplikacij. Flutter ima repozitorij paketov, kje razvijalci lahko dodelijo svojo kodo. Za delo z Tensorflow modeli smo se odločili uporabiti paket tflite_flutter (Flutter, 2024), ki prinaša številne prednosti. Ena izmed njih je hitrost, saj paket uporablja kompilirano C kodo, kar prispeva k izjemni učinkovitosti pri obdelavi slikovnih napovedi. A. Shishkov, S. Nikoloski: Sprotna analiza slik vozil z metodami globokega učenja v ogrodju Flut er 91. Z uporabo tega paketa in osnov objektno orientiranega programiranja smo ustvarili vmesnik, kjer lahko enostavno dodamo model in ga uporabimo v aplikaciji. Ta pristop nam zelo olajša delo, saj imamo tri različne modele z različnimi kategorijami. Pri izdelavi vmesnika smo pazili na pravilen prenos slikovnih podatkov v model, saj mora biti enak kot pri učenju. Zato smo poudarili testiranje pretvorbe sliki v vhodne podatke. Preverjali smo, ali je pretvorjena slika enaka sliki pri učenju, če so bile originalno podane. Model uporabimo pri fotografiranju sliki avtomobila. Ko uporabnik klikne na gumb, aplikacija posname sliko, jo spremeni v pravo velikost in konvertira v vektor pikslov. Ta vektor je vhod za naš model, ki nam vrne rezultat inference. Ta model nam omogoča izboljšanje uporabniškega vmesnika v dveh situacijah. Prvič, validira sliko in preveri, ali je ustrezna; če ne, obvesti uporabnika. Če je slika ustrezna, jo klasificira, doda oznako in prikaže v uporabniškem vmesniku. 3 Rezultati Po uspešnem učenju modela na osnovi MobileNetV3 in izvedbi fino prilaganja za klasifikacijo slik smo dosegli opazen napredek v več pogledih. Rezultati učenja treh modelov so ustrezno prikazani na Slika 4, Slika 5 in Slika 6. Slika 4: Grafični prikaz rezultatov validacijskega modela. Vir: lasten. 92 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . Slika 5: Grafični prikaz rezultatov modela za klasifikacijo tipa slike. Vir: lasten. Slika 6. Grafični prikaz rezultatov modela za klasifikacijo strani vozila. Vir: lasten. 3.1 Implementacija modelov v mobilni aplikaciji Dodana funkcionalnost klasifikaciji v mobilni aplikaciji je bistveno izboljšala izkušnjo uporabnika. Uporabniki lahko zdaj enostavno fotografirajo avtomobile in prejmejo takojšnjo klasifikacijo, ki vključuje informacije o ustreznosti slike (Slika 7), tipu slike (vozilo, armaturna plošča ali dokument) (Slika 8) ter strani avtomobila (spredaj, levo, desno, zadaj). Napoved ne vpliva na hitrost in odzivnost aplikaciji, ker MobileNetV3 je optimiziran za mobilni napravi in srednja napoved je dolg 60 ms. A. Shishkov, S. Nikoloski: Sprotna analiza slik vozil z metodami globokega učenja v ogrodju Flut er 93. Slika 7. Slika iz mobilne aplikaciji, primer Slika 8. Slika iz mobilne aplikaciji, primer preverjanja ustreznosti sliki. klasificiranja vrste sliki. Vir: lasten. Vir: lasten. 4 Zaključek V tem članku smo uspešno predstavili uporabo modela MobileNetV3 za klasifikacijo slik v mobilni aplikaciji, zgrajeni v ogrodju Flutter. Razvili smo tri različne modele za klasifikacijo avtomobilskih slik glede na ustreznost, tip slike in stran avtomobila. Pomemben poudarek smo namenili pridobivanju in obdelavi podatkov, ki sta ključna koraka pri razvoju modelov umetne inteligence. S sistematičnim pristopom smo premagali izzive, povezane z označevanjem slik in ustvarili kakovosten podatkovni nabor za učenje. 94 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . MobileNetV3 se je izkazal kot učinkovit model za klasifikacijo slik, saj dosega visoko natančnost ob ohranjanju nizke računske zahtevnosti. Rezultati učenja modelov so bili obetavni, kar kaže na uspešnost našega pristopa. Implementacija modelov v mobilno aplikacijo je prinesla izboljšanje uporabniške izkušnje pri klasifikaciji avtomobilskih slik v realnem času. Hitrost delovanja modela MobileNetV3 je omogočila odzivno in učinkovito uporabo v mobilni aplikaciji. Skupno gledano smo s tem projektom potrdili potencial uporabe umetne inteligence, zlasti globokega učenja, v praksi. Kombinacija zmogljivega modela, ustrezno pripravljenih podatkov ter integracije v uporabniški vmesnik mobilne aplikacije odpira vrata za različne aplikacije v industriji, kjer je klasifikacija slik ključnega pomena. Viri in literatura Binary Relevance (31.1.2024). Pridobljeno iz Scikit-multilearn: http://scikit.ml/api/skmultilearn.problem_transform.br.html (2024). de Carvalho, A. C. & Freitas, A. A. "A tutorial on multi-label classification techniques". Foundations of Computational Intelligence Volume 5: Function Approximation and Classification, (2009): 177-195. Flutter. (31. 1. 2024). tflite_flutter. Pridobljeno iz Pub.dev: https://pub.dev/packages/tflite_flutter (2024) LeCun, Y., Benagio, Y. & Hinton, G. "Deep learning". Nature (2015): 436-444. Nikoloski, S. "Structured Output Prediction and Modeling Soil Functions". Doctoral Dissertation. Jozef Stefan International Postgraduate School, Ljubljana Slovenia (2020). O'Shea, K. & Nash, R. "An introduction to convolutional neural networks". arXiv preprint arXiv:1511.08458 (2015). Pang, B., Nijkamp, E. & Wu, Y.N. "Deep learning with Tensorflow: A review". Journal of Educational and Behavioral Statistics (2020): 227-248. Qian, S. N. (2021). "MobileNetV3 for Image Classification". 2021 IEEE 2nd International Conference on Big Data, Artificial Intel igence and Internet of Things Engineering (ICBAIE) (str. 490-497). IEEE. Siebel, T. & Rice, C. "Digital Transformation: Survive and Thrive in an Era of Mass Extinction". New York: Rosetta Books (2019). Singh, A. & Bhadani, R. "Mobile Deep Learning with TensorFlow Lite, ML Kit and Flutter: Build scalable real-world projects to implement end-to-end neural networks on Android and iOS". Packt Publishing Ltd (2020). Sinha, A. "Image Dataset". Pridobljeno iz Kaggle: https://www.kaggle.com/datasets/starktony45/image-dataset (2024). Szymański, P. & Kajdanowicz, T. "A scikit-based Python environment for performing multi-label classification". ArXiv preprint arXiv:1702.01460 (2017). TensorFlow. "Image classification". Pridobljeno iz TensorFlow: https://www.tensorflow.org/tutorials/images/classification (2024). A. Shishkov, S. Nikoloski: Sprotna analiza slik vozil z metodami globokega učenja v ogrodju Flut er 95. Wang, P., Fan, E. & Wang, P. "Comparative analysis of image classification algorithms based on traditional machine learning and deep learning". Pattern Recognition Letters (2021): 61-67. Yang, L., Luo, P., Change, L.C. & Tang, X. "A large-scale car dataset for fine-grained categorization and verification". Proceedings of the IEEE conference on computer vision and pattern recognition (2015): 3973-3981. 96 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . USTVARJANJE PONAREJENIH DOI https://doi.org/ 10.18690/um.feri.1.2024.8 VIDEOPOSNETKOV S POMOČJO ISBN 978-961-286-837-6 DIFUZIJSKIH MODELOV BINE MARKELJ, PETER PEER, BORUT BATAGELJ Univerza v Ljubljani, Fakulteta za računalništvo in informatiko, Ljubljana, Slovenija bm9928@student.uni-lj.si, peter.peer@fri.uni-lj.si, borut.batagelj@fri.uni-lj.si V članku predstavimo postopke in tehnike generiranja globoko Ključne besede: ponarejeni videoposnetki, ponarejenih videoposnetkov ali krajše globokih ponaredkov (angl. globoki ponaredki, deepfakes). To so videoposnetki, pri katerih je prišlo do globoko učenje, nevronska mreža, manipulacij s tehnikami globokega učenja. Taki videoposnetki difuzijski modeli, predstavljajo velik problem pri širjenju lažnih novic, politični stabilna difuzija propagandi, uničevanju podobe posameznikov, izdelavi Prispevek temelji na: pornografskih vsebin, izsiljevanju itd. V članku opišemo Markelj, B.(2023), Ustvarjanje ponarejenih podatkovno zbirko FaceForensics++ in predstavimo lastno videoposnetkov s pomočjo difuzijskih modelov za metodo za potencialno izdelavo podzbirke omenjene baze z razširitev zbirke za odkrivanje uporabo najnovejših generativnih difuzijskih modelov. ponarejenih videoposnetkov: diplomsko delo, Univerza Uporabljene postopke eksperimenta predstavimo in analiziramo v Ljubljani, Fakulteta za njihovo kvaliteto in uspešnost. Komentiramo tudi smiselnost računalništvo in informatiko. uporabe in nevarnost, ki jo predstavljajo ponarejeni videoposnetki, izdelani z difuzijskimi modeli. DOI https://doi.org/ CREATING FAKE VIDEOS USING 10.18690/um.feri.1.2024.8 ISBN DIFFUSION MODELS 978-961-286-837-6 BINE MARKELJ, PETER PEER, BORUT BATAGELJ University of Ljubljana, Faculty of Computer Science and Informatics, Ljubljana, Slovenia bm9928@student.uni-lj.si, peter.peer@fri.uni-lj.si, borut.batagelj@fri.uni-lj.si Keywords: In the article we present techniques and procedures for generating fake video, deepfake, deepfake videos. These are videos that were subjected to deep learning, manipulations with deeplearning techniques. Such videos neural network, diffusion models, represent a major problem in the spread of fake news, political stable diffusion propaganda, destruction of individual's public image, production The proceedings is based of pornographic content, extortion, etc. In the article we describe on: Markelj, B.(2023), deepfake database FaceForensics++. We also present our own Ustvarjanje ponarejenih method for potential creation of a subset of the mentioned videoposnetkov s pomočjo difuzijskih modelov za razširitev database using the latest generative diffusion models. We describe zbirke za odkrivanje ponarejenih multiple techniques, that we used and tested in our experiment videoposnetkov: bachelor's thesis, University of and analyse their quality and success. We also comment on the Ljubljani, Faculty of utility and danger posed by fake videos generated by diffusion Computer Science and Informatics. models. B. Markelj, P. Peer, B. Batagelj: Ustvarjanje ponarejenih videoposnetkov s pomočjo difuzijskih modelov 99. 1 Uvod V zadnjih letih vse več slišimo o umetni inteligenci in njenih hitrih in impresivnih napredkih. Orodja generativne umetne inteligence, kot so veliki jezikovni modeli (GPT-3.5 GPT-4, PaLM2), postajajo vse bolj uporabljena, kvalitetna in sofisticirana. Velik napredek generativne umetne inteligence pa je bil v zadnjem času dosežen tudi na področju generiranja slikovnih medijev. Slike in videoposnetki predstavljajo enega izmed najbolj razširjenih in zaupanja vrednih načinov širjenja informacij. Napredki v umetni inteligenci in razvoj na področju generativnih nasprotniških mrež omogočajo izdelavo zelo prepričljivih ponarejenih videoposnetkov (angl. deepfake), ki postajajo vse boljši in jih danes s prostim očesom praktično ne moremo več ločiti od avtentičnih videoposnetkov. Danes lahko ponarejene posnetke ustvarimo z zelo naprednimi spletnimi orodji, za katera ne potrebujemo veliko tehničnega znanja. Zato vedno pogosteje prihaja do zlorab. Ocenjujejo, da je velika večina ponarejenih videoposnetkov uporabljena za izdelavo pornografskih vsebin, lažnih novic, zlorabo identitete itd. (Markelj, 2023). Večina trenutnih ponarejenih videoposnetkov je narejenih z uporabo globokih nevronskih mrež. Največkrat sta uporabljeni 2 tehniki: samokodirniki (angl. autoencoders) in generativne nasprotniške mreže (angl. generative adversarial network, GAN). Velik napredek na področju generativnih nevronskih mrež predstavljajo difuzijski modeli ter njihova uporaba za generiranje slikovnih medijev. Zato se bo naš članek osredotočil na njihovo uporabnost in tveganje pri ustvarjanju ponarejenih videoposnetkov (Markelj, 2023). Zaradi vseh nevarnosti, ki jih ti posnetki predstavljajo, se nam zdi pomembno, da se metode in podatkovne zbirke za prepoznavanje in identifikacijo ponarejenih videoposnetkov ves čas razvijajo in izboljšujejo. Zato predlagamo nov postopek uporabe modelov stabilne difuzije, ki bi lahko služil za kasnejšo izdelavo podzbirke že obstoječe podatkovne zbirke ponarejenih videoposnetkov FaceForensics++ (FF++) (Rössler et al., 2022). Med raziskavo področja difuzijskih modelov smo 100 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . odkrili več različnih tehnik in načinov za pridobitev ponarejenih videoposnetkov, ki jih v nadaljevanju tudi predstavimo in analiziramo. 2 Pregled področja 2.1 Generiranje ponarejenih videoposnetkov Večina ponarejenih videoposnetkov je ustvarjenih z uporabo generativnih nasprotniških mrež – GAN in samokodirnikov. Tehnike generiranja ponarejenih videoposnetkov v grobem delimo v 2 glavni skupini: zamenjava obraza ter uprizoritev obraza (Yu et al., 2020). Pri zamenjavi obraza algoritem izvede menjavo obraza med prvotno in ciljno osebo, pri čemer ohranja obrazno mimiko in izraz. To je zelo popularna tehnika zaradi različnih dostopnih spletnih orodij, ki omogočajo hiter dostop do dobrih rezultatov. Uprizoritev obraza pa vključuje prenos obraznih mimik in pozicije obraznih točk prvotne osebe na ciljno osebo. Program zajame mimiko, globino ter osvetlitev obraza, kar omogoča prenos obraznih mimik in značilnih točk (angl. facial landmarks). 2.2 Odkrivanje ponarejenih videoposnetkov V grobem poznamo 2 načina prepoznavanja ponarejenih videoposnetkov: 1. Klasične metode, ki temeljijo na predprocesiranju vhoda, luščenje značilk (angl. feature extraction) in klasifikaciji. Algoritmi iščejo zabrisane robove, artefakte itd. 2. Metode globokega učenja, za katere so značilni sočasno učenje, luščenje značilk in njihova klasifikacija. V ta namen se uporabljajo konvolucijske nevronske mreže oz. CNN in vizualne transformatorje (Zhang et al., 2022), ki kot vhod lahko sprejmejo vizualne medije. Za zaznavo ponarejenih posnetkov je ključnega pomena upoštevanje časovne komponente (Gu et al., 2021). B. Markelj, P. Peer, B. Batagelj: Ustvarjanje ponarejenih videoposnetkov s pomočjo difuzijskih modelov 101. 2.3 Podatkovna zbirka ponarejenih videoposnetkov FaceForensics++ V našem članku smo se osredotočili na videoposnetke iz zbirke FaceForensics++ ali krajše FF++ (Rössler et al., 2022). To je ena najbolj citiranih in uporabljenih zbirk na področju odkrivanja ponarejenih videoposnetkov. Pogosto je uporabljena kot merilo uspešnosti algoritmov za odkrivanje obraznih manipulacij. Sestavljena je iz 1000 originalnih posnetkov, nad katerimi so avtorji uporabili 5 različnih tehnik manipulacije: FaceSwap, Deepfakes, Face2Face, Neural Textures in FaceShifter. Posnetki te zbirke so nam služili kot osnova za naše delo. 3 Teoretično ozadje in metodologija Zaradi napredkov v raziskovanju tehnik globokega učenja (angl. deep learning) in razvoja arhitekure konvolucijskih nevronskih mrež – CNN, ki omogočajo obdelavo vizualnih podatkov, je področje ustvarjanja in raziskovanja globokih ponaredkov doživelo velik razcvet in popularnost. Najbolj uporabljani tehniki generiranja ponarejenih videoposnetkov sta: 1. Variacijski samokodirniki – VAE Ti združujejo glavne lastnosti klasičnih samokodirnikov ter verjetnostnih modelov za generacijo novih podatkov z vnaprej naučenimi značilnostmi (npr. obraz). 2. Generativne nasprotniške mreže – GAN So posebna vrsta generativnih modelov. Sestavljene so iz dveh nevronskih mrež (generator in diskriminator), ki med učenjem med seboj tekmujeta in se tako hkrati izboljšujeta. Po koncu učenja generatorska mreža generira realistične slike (npr. obrazov). Najnovejši in zato za nas najzanimivejši in aktualni generativni modeli pa so difuzijski modeli. 102 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . 3.1 Difuzijski modeli Difuzijski modeli so sposobni generiranja visoko kvalitetnih in realističnih slik iz šuma in vodenja z besedilom ali sliko (Rombach et al., 2022}. Za razliko od tehnologij, ki temeljijo na GAN, difuzijski modeli generirajo sliko v več korakih, pri čemer ohranjajo njene dimenzije skozi iteracije. Ti modeli se naučijo zadeti porazdelitev podatkov z obračanjem postopka večkoračnega procesa šumenja (angl. noise process). Iz šuma generirajo kompleksne in realistične vzorce in dosegajo primerljive oz. boljše rezultate kot modeli GAN in VAE. Difuzijski modeli torej vsebujejo dva glavna procesa: 1. Difuzijski proces naprej (angl. forward diffusion process) To je proces, ki vhodni sliki v korakih dodaja Gaussov šum. Na koncu vrne sliko, ki je le še šum s standardno normalno razporeditvijo -- šum s povprečno vrednostjo 0 in enotsko varianco. Ker je proces dodajanja šuma vnaprej določen, se ga model ne uči, uporaben je za učenje obratnega difuzijskega procesa. 2. Obratni difuzijski proces (angl. reverse diffusion process) Difuzijski proces obrnemo. Začnemo s sliko šuma, ki jo v korakih rekonstruiramo nazaj v realistično sliko – odstraniti moramo šum iz difuzijskega procesa naprej. Postopek poteka v iteracijah in ga nadzoruje model nevronske mreže. Naloga mreže je, da v vsaki iteraciji napove šum, ki je bil sliki dodan pri difuzijskem procesu naprej v prejšnji iteraciji. Oba difuzijska procesa sta še vizualno prikazana v(Raya, 2023). Pogosta arhitekturna implementacija generativnih difuzijskih modelov je mreža U-net (Ronneberger et al., 2015), ki vsebuje več zaporednih konvolucijskih in združevalnih slojev ter sloje povečanja vzorčenja (angl. upsampling layer) in preskočne povezave (angl. skip connections). Difuzijski modeli so zaradi visoke kvalitete generiranih slik v zadnjem času postali zelo priljubljeni. Za naše delo bomo uporabljali stabilno difuzijo, ki jo podrobneje opišemo v poglavju 3.3. B. Markelj, P. Peer, B. Batagelj: Ustvarjanje ponarejenih videoposnetkov s pomočjo difuzijskih modelov 103. 3.2 Modeli LoRA Modeli LoRA oz. prilagoditveni modeli nizkega ranga (angl. low rank adaptation model) se uporabljajo za potrebe manjših prilagoditev, uglaševanja (angl. fine tuning) in domenske prilagoditve velikih modelov. Dosegajo dobre rezultate dodajanja znanja velikim modelom z relativno malim številom učnih primerov ter kratkim časom učenja. Model lahko naučimo koncepta, stila slike, predmeta ali pa osebe. Model LoRA plastem navzkrižne pozornosti velikega modela z obtežitvijo dodaja matrike nizkega ranga. Ideja izhaja iz matrične faktorizacije na osnovi ranga, kjer matriko predstavimo kot produkt dveh manjših matrik, kar občutno zmanjša število parametrov in s tem čas učenja. 3.2.1 Postopek učenja identitete V članku želimo odkriti najboljši način generiranja prepričljivih ponarejenih videoposnetkov z uporabo generativnih difuzijskih modelov. Glavni problem takih videoposnetkov, predstavlja povezanost med sličicami, ki tvorijo videoposnetek. Zato za generiranje sličic potrebujemo nekakšno podlago, ki bo služila vodenju sistema, da bodo zaporedne sličice karseda povezane. Kot podlago smo vzeli obstoječ video iz podatkovne zbirke FF++ in ga razdelili na posamezne sličice. Nato smo iz sličic drugega videa model LoRA naučili generiranja te osebe. Tako smo difuzijski proces omejili, da v celotnem posnetku ohranja identiteto iste osebe. Osnovni potek je prikazan na Sliki 2. Model LoRA torej doseže, da difuzijski model generira sličice, na katerih je ves čas ista oseba. Pripravo učnega seta za modele LoRA smo avtomatizirali. Razvili smo poseben program, ki iz videa avtomatsko izlušči zahtevano število sličic, ki so si med seboj čim bolj različne, in jih na koncu še dodatno obdela. Slikam v učni mapi je pred učenjem potrebno dodati istoimenske besedilne datoteke, ki opišejo, kaj je na sliki. Algoritem tako med učenjem ve, na kaj mora biti pozoren in se nauči povezav med videnim in napisanim. 104 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . Slika 2: Struktura osnovne ideje: iz sličic videa 383.mp4 s pomočjo modela LoRA naučimo identiteto, video 866.mp4 uporabimo za podlago končnega videa. Model identitete model_383.safetensors apliciramo na podlago. Dobimo video identitete modela 383 na videoposnetku 866.mp4, imenovan 866_383.mp4 (spodaj desno). Vir: lasten. Za LoRA učenje je pomembna tudi vnaprej predpisana struktura učne mape, množica regularizacijskih slik, število korakov učenja in optimalni parametri učenja modela, ki smo jih pridobili z daljšim eksperimentiranjem. 3.3 Stabilna difuzija Model stabilne difuzije je generativni difuzijski model izdan leta 2022 (Rombach et al., 2021). Naučen je bil na več milijardah slik in na podlagi tekstovnih navodil oz. poziva (angl. prompt) in/ali slike ustvari novo realistično sliko. Stabilna difuzija ima več možnosti generiranja: besedilo v sliko (angl. txt2img), slika v sliko (angl. img2img) in slikovna vrisava (angl. image inpainting). Arhitektura sistema stabilne difuzije ima 3 glavne komponente (Slika 3): 1. Kodirnik besedila, ki difuzijski proces dodatno usmerja z upoštevanjem besedilnega ukaza (zakodiranega v latentni prostor). 2. Nevronska mreža tipa U-net je glavni del sistema, ki na podlagi besedilnega navodila in latentnega šuma obrne difuzijski proces, tako da v vsakem koraku čim bolj natančno predvidi šum, ki ga mora B. Markelj, P. Peer, B. Batagelj: Ustvarjanje ponarejenih videoposnetkov s pomočjo difuzijskih modelov 105. odstraniti za generacijo slike. Odstranjevanje šuma poteka v latentnem prostoru, kar zaradi manjših dimenzij znatno pohitri postopek generiranja. 3. Slikovni samokodirnik, ki je zadolžen za kodiranje in dekodiranje slike iz začetnega prostora v latentno predstavitev in nazaj. Slika 3: Prikaz osnovne arhitekture stabilne difuzije, osrednji del predstavlja difuzijski proces z mrežo U-net, prehajanje med levim in srednjim delom predstavlja delovanje slikovnega kodirnika. Na desni strani so prikazani načini omejevanja nastale slike – besedilno navodilo, slika itd. Vir: (Rombach, 2022). 3.3.1 Naš postopek Stabilna difuzija nam pred generiranjem omogoča izbiro velikega števila različnih parametrov, ki vplivajo na končno generirano sliko. Parametri in njihov vpliv so opisani v Tabeli 1. Videoposnetek generiramo kot serijo zaporednih sličic, ki jih na koncu sestavimo skupaj v zaključen videoposnetek. Največji izziv pri povezavi posebej zgeneriranih sličic v video predstavlja časovna povezanost med njimi. Slaba konsistenca med posameznimi sličicami lahko povzroči nenaravni efekt preskakovanja (angl. flickering). V ta namen smo uporabili orodja izboljšave, kot so: EbSynth Beta, ki šum odpravlja s stiliziranjem posnetka po vodilnih sličicah in razširitev Abysz-LAB-Ext, ki odstrani šum, utripanje ter normalizira barve. 106 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . Tabela 1: Glavni parametri generiranja in njihov vpliv na sliko PARAMTER VPLIV NA GENERIRANO SLIKO poziv besedilno navodilo, opis željene končne slike negativni poziv besedilno navodilo, stvari, ki jih ne želimo na sliki slika slika, po kateri želimo, naj se končna slika ravna metoda vzorčenja algoritem vzorčenja, uporabljen pri generaciji slike koraki vzorčenja število korakov, ki jih izvede izbrana metoda vzorčenja dimenzije slike širina in višina končne slike število serij koliko serij končnih slik bo zgeneriranih velikost serije število zgeneriranih končnih slik v eni seriji lestvica CFG stopnja prileganja končne slike pozivu stopnja odpravljanja hrupa stopnja prilagajanja končne slike vhodni naključno seme naključno število, ki vpliva na začetni šum Za glavno ''podlago'' smo vzeli sličice obstoječega pristnega videoposnetka iz podatkovne zbirke FF++ in osebi na posnetku zamenjali obrazno identiteto z naučenim modelom LoRA. Uporaba obstoječega posnetka je nujna za generiranje realističnih videoposnetkov, saj nam le-ta služi kot nekakšen skelet in vodilo, po katerem se nov ponarejeni video ravna. Eden najpomembnejših mehanizmov nadzora generiranja sličic je razširitev kontrolnih mrež (angl. controlnet) (Zhang et al., 2023). To so posebne nevronske mreže, ki procesu generiranja dodajo dodatne omejitve in pogoje. Uporabne so za maskiranje slik, omejitev robov, sledenje obraznim mimikam, itd. (Slika 4, levo). Za izdelavo obraznih mask za način vrisovanja smo uporabili razširitev batch-face-swap, ki na posamezni sliki zazna obraz in na njegovem mestu naredi poljubno veliko masko (slika 4, desno). Slika 4: Levo: prikaz izdelanih map kontrolnih mrež različnih predprocesorjev. Desno: prikaz obrazne maske. Vir: lasten B. Markelj, P. Peer, B. Batagelj: Ustvarjanje ponarejenih videoposnetkov s pomočjo difuzijskih modelov 107. 4 Eksperiment Najprej predstavimo eksperiment treniranja modelov LoRA. Nato opišemo tudi potek in proces eksperimentiranja generiranja ponarejenih videoposnetkov s stabilno difuzijo, ter analiziramo dobljene rezultate. 4.1 Priprava modelov LoRA Za učenje uporabnega modela LoRA potrebujemo dovolj raznoliko učno množico slik, ki osebo, ki jo želimo z modelom zajeti, predstavi v več različnih pozicijah, na različnem ozadju in iz različnih zornih kotov. Ker je pri uporabi enega samega videoposnetka to lahko velika omejitev, smo v ta namen razvili program, ki avtomatsko iz videoposnetka pobere ključne sličice in uvede umetno raznolikost. Ugotovili smo, da je optimalno število sličic za učenje identitete 25. Program najprej izbere vse ključne okvirje s pomočjo orodja f mpeg. Nato naključno izbere preostale sličice, kriterij izbire je, da zajame optimalno razmerje raznolikih sličic. To doseže z obrazno analizo, kjer na vsaki sličici poišče vse glavne obrazne točke s pomočjo knjižnice mediapipe in klasificira ali ima oseba zaprte/odprte oči in usta. Ustrezno razmerje tako različnih slik nam kasneje omogoča uprizoritev govorjenja in raznolikih izrazov obraza. Na koncu naključnim fotografijam dodamo še odstranimo ozadje s pomočjo modela rembg in jih še dodatno obrežemo. S tem še povečamo raznolikost in dinamičnost učne množice. Med procesom učenja smo vsak model unikatno poimenovali in dodali večjo regularizacijsko množico slik (okoli 200). Datoteke opisov slik smo zgenerirali z globokim modelom BLIP. Optimalne rezultate smo dobili z 9 ponovitvami učne in 1 ponovitvijo regularizacijske množice, 10 epohami učenja ter serijo velikosti 1. Celotno optimalno učenje modela tako poteka v okoli 2200 korakih. 4.2 Generiranje lažnih videoposnetkov Trenutno izdelava prepričljivih videoposnetkov z difuzijo zaradi same novosti tehnologije še vedno predstavlja izziv. Hkrati naši ciljni posnetki vedno prikazujejo govorjenje, ki je za replikacijo z difuzijskimi modeli zelo zapleteno. Prav zato smo k delu pristopili zelo eksperimentalno in s pomočjo spletnih virov in različnih 108 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . razširitev in programov preizkusili in ustvarili čim več različnih pristopov. Najprej le na kratko opišemo prvotne načine, ki pa so nas končno pripeljali do našega najuspešnejšega načina, ki ga tudi podrobneje analiziramo in komentiramo. 4.2.2 Predhodni eksperimenti Sprva smo želeli z načinom img2img generirati celotne sličice, ne le obrazni del. Za ohranjanje premikov in poze oseb smo uporabili več kombinacij kontrolnih mrež. Rezultat smo nato dodatno izboljšali z posebno skripto, ki uporabi kot dodatno vodilo generiranja še prejšnje slike. Kasneje smo preizkusili še uporabo orodja za stiliziranja po vodilnih sličical – EbSynth Beta. Za izboljšanje enakosti med sličicami smo sličice generirali v obliki mreže 25 sličic, ki so bile tako bolj enotne. Ker omenjeni eksperimenti niso dali zadovoljivih rezultatov, smo se osredotočili na način generiranja z vrisovanjem, kjer menjamo le obrazno identiteto osebe. Ta način smo združili z orodjem EbSynth Beta. Generirali smo vsako deseto sličico videoposnetka in jih v orodju združili s še dodatnim zamikanjem sličic in navzkrižnim bledenjem (angl. crossfade). Rezultati omenjenih tehnik, še niso bili dovolj prepričljivi (zabrisani robovi, nenaravno premikanje ust, degradacija barv, itd.), služili pa so nam, kot podlaga za naslednji postopek. 4.2.2 Najuspešnejši postopek generiranja in analiza rezultatov Najprej za vsako sličico ciljnega videoposnetka z razširitvijo batch-face-swap pridobimo obrazno masko ustrezne velikosti. Nato z vrisovanjem poiščemo optimalne nastavitve generiranja sličic in kombinacije kontrolnih mrež. Izbira pravih kontrolnih mrež in njihovih obtežitev predstavlja enega izmed ključnih korakov. Med najpomembnejše kontrolne mreže, ki dajejo najboljše rezultate, spadajo: − Kontrolni mreži OpenPose in MediaPipeFace, ki skrbita za zajem ključnih obraznih točk in mimik med govorjenjem. − Kontrolna mreža TemporalNet, ki je ključnega pomena za doseganje časovne konsistence. To dosega z uporabo konteksta vseh prej zgeneriranih sličic. − Kontrolna mreža Tile, ki pomaga pri popravljanju barv – izenačitev kožnega odtenka novo generiranega obraza in ciljnega obraza. − Kontrolna mreža Inpaint, ki pri vrisovanju poskrbi za glajenje robov maske B. Markelj, P. Peer, B. Batagelj: Ustvarjanje ponarejenih videoposnetkov s pomočjo difuzijskih modelov 109. Proces iskanja optimalnih parametrov je lahko zaradi raznolikih videoposnetkov lahko zelo dolgotrajen in nekoliko drugačen ob vsakem generiranju. Enake parametre generiranja in kombinacije kontrolnih mrež nato uporabimo nad vsemi sličicami ciljnega posnetka ter tako na vsako nanesemo novo identiteto z modelom LoRA. Končno posamezne sličice združimo v ponarejeni videoposnetek. Nato z uporabo razširitve Abysz-LAB-Ext še dodatno odstranimo zadnje sledove šuma, utripanja ter izvedemo še končno barvno normalizacijo. Celoten postopek prikažemo na Sliki 5. Ponarejeni videoposnetek ustvarjen z zgoraj opisanim postopkom ima visoko časovno konsistenco, minimalno prisotnostjo utripanja in visoko kvaliteto. Smo mnenja, da proces predstavlja mejnik na področju generiranja ponarejenih posnetkov z difuzijskimi modeli in daje rezultate, ki so enakovredni oz. celo presegajo obstoječe tehnike ponarejanja videoposnetkov v bazi FF++. Vizualno primerjavo prikažemo na Sliki 5. Slika 5: Levo: prikaz celotnega poteka generiranja ponarejenega videoposnetka. Desno: vizualna primerjava generiranih istoležnih sličic z našim postopkom in tehnikami v zbirki FF++. Vir: lasten 110 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . 5 Zaključek in nadaljnje delo V članku smo pokazali več načinov generiranja prepričljivih ponarejenih videoposnetkov z difuzijo ter osvetlili teoretično ozadje. Vendar pa problematika generacije ponarejenih videoposnetkov z difuzijskimi modeli še zdaleč ni dokončno raziskana. Pokazali smo, da naša metoda daje rezultate, ki po kakovosti presegajo trenutne tehnike manipulacij. Predvidevamo pa, da bo zaradi hitrega razvoja področja prišlo do vedno boljših načinov manipulacij z difuzijo in bodo taki posnetki v bližnji prihodnosti predstavljali veliko nevarnost. Prav zaradi hitrega napredovanja v razvoju tehnologije se nam zdi pomembno, da se čim več raziskav posveti področju odkrivanja ponarejenih videoposnetkov nastalih z novimi tehnikami difuzijskih modelov. Izdelava dobre podatkovne zbirke takih manipulacij nam lahko pomaga, da ostanemo v koraku s časom z napadalci, ki bi difuzijsko tehnologijo lahko uporabljali v zle namene. Pomemben naslednji korak bi bila avtomatizacija procesa generiranja posnetkov in izdelava celotne zbirke takih posnetkov, ki bi služili za učenje algoritmov za odkrivanje manipulacij z difuzijo. Viri in literatura MARKELJ, BINE, 2023, Ustvarjanje ponarejenih videoposnetkov s pomočjo difuzijskih modelov za razširitev zbirke za odkrivanje ponarejenih videoposnetkov [na spletu]. Diplomsko delo. Pridobljeno s: https://repozitorij.uni-lj.si/IzpisGradiva.php?lang=slv&id=149326 Andreas Rössler in sod. “FaceForensics++: Learning to Detect Manipulated Facial Images”. V: International Conference on Computer Vision (ICCV). 2019. Peipeng Yu in sod. “A Survey on Deepfake Video Detection”. V: IET Biometrics 10.6 (2021), str. 607–624. doi: https://doi. org / 10 . 1049 / bme2 . 12031. eprint: https : / / ietresearch . onlinelibrary . wiley . com / doi / pdf / 10 . 1049 / bme2 . 12031. url: https://ietresearch.onlinelibrary.wiley.com/doi/abs/10.1049/bme2.12031. Daichi Zhang in sod. Deepfake Video Detection with Spatiotemporal Dropout Transformer. 2022. arXiv: 2207.06612 [cs.CV]. Zhihao Gu in sod. Spatiotemporal Inconsistency Learning for DeepFake Video Detection. 2021. arXiv: 2109.01860 [cs.CV]. Robin Rombach in sod. High-Resolution Image Synthesis with Latent Diffusion Models. 2021. arXiv: 2112.10752 [cs.CV]. Robin Rombach in sod. High-Resolution Image Synthesis with Latent Diffusion Models. 2022. arXiv: 2112.10752 [cs.CV]. Gabriel Raya in Luca Ambrogioni. Diffusion Models Seminar. url: https://diffusionmodels.nl/ (pridobljeno 25. 8. 2023). Olaf Ronneberger, Philipp Fischer in Thomas Brox. U-Net: Convolutional Networks for Biomedical Image Segmentation. 2015. arXiv: 1505.04597 [cs.CV]. Lvmin Zhang. Controlnet - Official implementation of Adding Conditional Control to Text-to-Image Diffusion Models. url: https://github.com/lllyasviel/ControlNet (pridobljeno 30. 8. 2023). SPECTRAL RESPONSE OF TWO DOI https://doi.org/ 10.18690/um.feri.1.2024.9 HYPERSPECTRAL CAMERAS FOR ISBN 978-961-286-837-6 UXO ENDMEMBER SELECTION MILAN BAJIĆ,1 BOŽIDAR POTOČNIK2 1 Zagreb University of Applied Sciences, Department of IT and Computer Sciences, Zagreb, Croatia mbajic@tvz.hr 2 University of Maribor, Faculty of Electrical Engineering and Computer Science, Institute of Computer Science, Maribor, Slovenia bozidar.potocnik@um.si There is currently no recommended procedure for acquiring Keywords: hyperspectral camera, endmembers in hyperspectral target detection when targets are spectral response, larger than a single pixel. What is the best approach when multiple unexploded ordnances (UXO), cameras are available for a dataset construction? This study endmember selection, examines the differences between hyperspectral cameras Specim mortar mine hiperspektralna kamera, IQ and Specim Imspector V9 that recorded the same surfaces spektralni odziv, under the same lighting conditions. A white balance card and a neeksplodirana ubojna sredstva (UXO), mortar mine are considered. As calibration procedures for izbira končnih članov, minometna mina cameras differ, raw data without processing are compared, and the same wavelength range is chosen. Clear differences are noticed between the spectra of the two cameras. Final y, guidelines for selecting statistical y reliable endmembers and constructing an endmember dataset are provided based on the obtained results. DOI https://doi.org/ SPEKTRALNI ODZIV DVEH 10.18690/um.feri.1.2024.9 ISBN HIPERSPEKTRALNIH KAMER ZA 978-961-286-837-6 IZBOR KONČNIH ČLANOV UXO MILAN BAJIĆ,1 BOŽIDAR POTOČNIK2 1 Tehničko Veleučilište u Zagrebu, Katedra za IT in računalništvo, Zagreb, Hrvaška mbajic@tvz.hr 2 Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Inštitut za računalništvo, Maribor, Slovenija bozidar.potocnik@um.si Ključne besede: Trenutno ni priporočenega postopka za pridobivanje končnih hiperspektralna kamera, spektralni odziv, članov pri hiperspektralnem zaznavanju tarč, kadar so tarče večje neeksplodirana ubojna od enega piksla. Kateri je najboljši pristop, ko je za konstruiranje sredstva (UXO), izbira končnih članov, nabora podatkov na voljo več kamer? Ta študija preučuje razlike minometna mina med hiperspektralnima kamerama Specim IQ in Specim Imspector V9, ki sta posneli iste površine pod enakimi svetlobnimi pogoji. Upoštevana sta bela kalibracijska kartica in minometna mina. Ker se postopki umerjanja za kameri razlikujejo, se primerjajo neobdelani surovi podatki in izbere se enako območje valovnih dolžin. Opazne so jasne razlike med spektroma obeh kamer. Nazadnje na podlagi dobljenih rezultatov podajamo smernice za izbiro statistično zanesljivih končnih članov in izdelavo podatkovne zbirke končnih članov. M. Bajić, B. Potočnik: Spectral Response of Two Hyperspectral Cameras for UXO Endmember Selection 113. 1 Introduction Hyperspectral image data comprises of a set of coherent images that represent intensities across different wavelength bands. These images consist of a set of pixels, also known as voxels, containing two-dimensional spatial details (with m rows and n columns) and spectral information across K wavelengths. Typical y, they are referred to by various terms such as three-dimensional hyperspectral cube (shortly, hypercube), data cube, data volume, spectral cube, or spectral volume. Such data can provide insights into a tested material's physical and chemical properties. The information includes physical and geometric aspects like size, orientation, shape, colour, and texture. An unprocessed hyperspectral image consists of interconnected sub-images, each depicting the intensity and spatial arrangement of the examined object at a specific wavelength. These individual spatial images can be extracted from the hypercube at any wavelength within the entire spectral sensitivity range of the system. Consequently, a hyperspectral image denoted as I(x, y, l) can be understood either as an independent spatial image I(x, y) at each wavelength (l) or as a spectrum I(l) at every pixel (x, y). Each pixel in the hyperspectral image encapsulates a spectrum specific to its position, serving as a unique fingerprint for characterizing the composition of that pixel. Hyperspectral imaging captures spatial y distributed spectral responses at the pixel level, allowing for a flexible selection of regions of interest on a target object with variable sizes and locations. For instance, extracting two pixels from distinct compositional locations in the hypercube would result in different spectral signatures, each showcasing unique fingerprints associated with their respective compositions. These resulting spectra act as fingerprints facilitating the characterization of the chemical composition at each pixel, thereby providing valuable insights into the material under examination (ElMasry & Sun, 2010). Many hyperspectral cameras are available in the market. Usual y, there are no serious problems if endmembers and studied material are observed with the same camera. However, several questions arise if endmembers are col ected with one camera and studied material with another. Unexploded ordnances (UXO) are present in more than sixty countries around the world. For instance, UXO from World War I are stil discovered when archaeological excavation or construction works are performed (National University of Public Service, Hungary & Ember, 2021)(Roberts & Williams, 1995). Consequences of explosions in ammunition storage areas, especial y in densely 114 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . populated regions, have had a significant humanitarian impact, leading to fatalities, injuries, environmental harm, displacement of communities, and disruption of livelihoods in more than 100 countries. Accidental detonations of ammunition warehouses rank among the most powerful explosions ever documented (Ammunition Storage Area Explosions – EOD Clearance, 2021). While UXOs buried in the ground are not suitable for hyperspectral detections, those on the surface can be very wel detected (Bajić et al., 2013) (Bajić & Bajić, 2021). In the evaluation article of Behmann et al. (Behmann et al., 2018), the Specim IQ camera was compared to the Specim V10E. The conclusions from this study can help us understand what problems might arise if one camera is used to select the endmembers and another to detect the materials studied. However, the evaluation article’s faulty assumption is that the IQ camera uses other principle for acquisition of images and not the ‘push broom’ technique. However, when we tested the IQ camera, we tried it handheld, but the obtained image (cube) was very distorted. A workflow that we were able to track on the IQ camera screen indicated that it is a line scanner in a box. With the availability of similar two hyperspectral cameras as in Behmann’s case, i.e., the Specim IQ and older Specim Imspector V9 cameras, we would like to highlight the problem of correct selection of endmembers in hyperspectral detection of targets larger than one pixel. It should be emphasized that the IQ delivers very fast and has a user-friendly workflow, which makes the limitations of technology unnoticeable. Thus, in our study, we will conduct a similar experiment as in the above evaluation article and, simultaneously, report gained experiences with both hyperspectral cameras. 2 Materials and methods The first sensor used in our research is Specim Imspector V9 (see Figure 1a). It is a hyperspectral prism-grating imaging spectrograph, which has a spectral range of 430-900 nm, with a spectral resolution of 7 nm, and possible 1024 channels. It is a very good instrument but require longer post processing for creation of hyperspectral cube. Raw data are col ected in lines, Figure 1b, and, afterwards, data need to be calibrated (see Figure 1c). M. Bajić, B. Potočnik: Spectral Response of Two Hyperspectral Cameras for UXO Endmember Selection 115. a b c Figure 1: A hyperspectral push-broom sensor provides real hyperspectral data, while complex processing is needed to produce a calibrated hyperspectral cube. a) Hyperspectral line scanner, b) data are col ected in scan lines, which need parametric geocoding, and c) hyperspectral cube needs calibration. Source: own Another sensor used in this study is Specim IQ. It is a portable carry-on hyperspectral camera that contains features needed for hyperspectral data capturing, data processing, and result visualization. It covers wavelengths between 400 and 1000 nm. It has 204 spectral bands. Image resolution is 512 x 512 pixels, while spectral resolution is 7 nm. Data output is stored in 12-bit format. A full Field Of View (FOV) is 31 x 31 degrees, whereat FOV at 1 m is 0.55 x 0.55 m. It supports WiFi and GPS. The camera has 32 GB SD memory card. Figure 2: Handheld hyperspectral imaging camera Specim IQ. Source: own 116 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . In our study, the Specim Imspector V9 and Specim IQ hyperspectral cameras are compared by measuring UXO on Friday 11th of February 2024. A white balance card and a mortar mine were chosen for measurements (see Figure 3). Raw values from the Specim Imspector V9 line scanner and Specim IQ are presented in al subsequent figures. Figure 4 depicts measurements for the white balance card. On y axis, there are sensor digital output values (digital numbers) that need to be calibrated to get standardized measures of radiance or reflectance. A wavelength is denoted on x axis. It should be stressed that a wavelength range of IQ camera is cut to match a range of V9 camera. Three squares in Figure 3 denote locations, where a material was sampled (measured). Black square denotes a location on the white balance card, while the red and blue squares denote locations on a green and grey part of the mortar mine (UXO). The values shown in the graphs were determined by averaging the pixels within the square at particular wavelength. Figure 3: Mortar mine and white balance card. A red rectangle denotes a green part, while a blue rectangle denotes a grey part of mortar mine. Three squares (red, blue and black) denote an approximate location, where a material was measured. Source: own M. Bajić, B. Potočnik: Spectral Response of Two Hyperspectral Cameras for UXO Endmember Selection 117. We used white balance card delivered with Specim IQ camera to test spectral response of both sensors. Lighting conditions were the same for both cameras. Sensor output values by the same wavelengths differ, of course, because an exposure time is not the equal for both cameras (see Figure 4). Stronger amplitudes are always noticed by V9 camera. The range of wavelengths between 530 nm and 630 nm is very interesting, because the V9 output stays almost constant. Higher amplitudes are noticed for wavelengths between 730 nm and 830 nm by V9 compared to IQ camera as well. Figure 4: Uncalibrated outputs of Specim IQ (orange) and Specim Imspector V9 (blue) hyperspectral cameras by measuring the white balance card. Source: own We measured the mortar mine in the next experiments. First, the green part of the mortar mine was selected. This is a pretty realistic scenario, described also in (Ammunition Storage Area Explosions – EOD Clearance, 2021) about ammunition depot explosions. One can expect to find al kind of UXOs in grass or other green surroundings. Thus, it important to see whether we would be able to separate the mine from the environment characterized by vegetational jump around wavelength 700 nm. Figure 5 depicts outputs for both tested hyperspectral cameras. 118 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . Figure 5: Uncalibrated outputs of Specim IQ (orange) and Specim Imspector V9 (blue) hyperspectral cameras by measuring the green part of the mortar mine. Source: own Figure 6: Uncalibrated outputs of Specim IQ (orange) and Specim Imspector V9 (blue) hyperspectral cameras by measuring the grey part of the mortar mine Source: own M. Bajić, B. Potočnik: Spectral Response of Two Hyperspectral Cameras for UXO Endmember Selection 119. Hyperspectral sensors are passive devices, relying on spectral response rather than on chemical properties of the materials. Thus, it is important by endmembers selection to inspect also colour variations within the same object. Our test subject (mine) was new, with no traces of use or rust. Therefore, we wanted to check if sensors’ responses are different for grey part of the mortar mine compared to the responses for the green part. Figure 6 depicts graphs for both studied sensors. 3 Discussion and conclusion In a fundamental work by Manolakis, (Manolakis, 2005), endmember selection is very clearly defined. If there are two spectra from the same target, one should find mean vector of the existing spectra or use other endmembers selection technique. Very important consideration is also that the number of used pixels should be larger than the number of spectral channels used, with recommendation to use from 10 up to 100 times more pixels than channels to obtain statistical y reliable estimate of the covariance matrix. It is worth to mention that these suggestions are from a remote sensing domain, based on satel ite imagery and a high inter-pixel variability. With our experiments we wanted to inspect a spectral response of both sensors for the white balance card and the UXO. Results are as expected. The size of our targets is approximately 10,000 pixels when viewed from a distance of 1 metre from the ground. At the altitude of detection procedures, which is around 30 metres above the ground, the size is at least 10 pixels depending on the target. If the target is smal er than one pixel or mixed with spectra from other materials, our recommendations for endmember selection may not be applicable or may need to be adjusted. Authors in (Behmann et al., 2018) for comparison of IQ and V10E cameras used 400 pixels and, afterwards, calculated mean reflectance, standard deviation, and the mean and maximum spectral distance. To the best of our knowledge, there are no clear suggestions in the literature on how many pixels to consider by statistical analysis, taking into account a variability of the terrain and a size of the target. Especial y, when performing hyperspectral detections on targets with their size on the image between 1 pixel and 10 to 100 times of number of channels. The conclusions presented in this sequel are based on our measurements and knowledge. When constructing a statistical y reliable endmembers dataset, it is important to adhere to the following principles: 120 ROSUS 2024 – RAČUNALNIŠKA OBDELAVA SLIK IN NJENA UPORABA V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE . − Different parts of the target must be included, − Sample area should be of sufficient size, − When reducing data dimensionality, it is important to exercise caution when using principal component analysis for wavelength selection, − Consider including a spectral graph of the endmembers to visual y confirm similarities, even if there is a shift in wavelength. Viri in literature Ammunition storage area explosions – EOD clearance. (2021). United Nations Office for Disarmament Affairs. Bajić, M., & Bajić, M. (2021). Modeling and Simulation of Very High Spatial Resolution UXOs and Landmines in a Hyperspectral Scene for UAV Survey. Remote Sensing, 13(5), 837. https://doi.org/10.3390/rs13050837 Bajić, M., Ivelja, T., Krtalić, A., Tomić, M., & Vuletić, D. (2013). The multisensor and hyper spectral survey of the UXO around the exploded ammunition depot, of the land mines test site vegetation. Proceedings 10th International Symposium HUDEM, ISSN, 9206, 91–96. Behmann, J., Acebron, K., Emin, D., Bennertz, S., Matsubara, S., Thomas, S., Bohnenkamp, D., Kuska, M., Jussila, J., Salo, H., Mahlein, A.-K., & Rascher, U. (2018). Specim IQ: Evaluation of a New, Miniaturized Handheld Hyperspectral Camera and Its Application for Plant Phenotyping and Disease Detection. Sensors, 18(2), 441. https://doi.org/10.3390/s18020441 ElMasry, G., & Sun, D.-W. (2010). Principles of Hyperspectral Imaging Technology. In Hyperspectral Imaging for Food Quality Analysis and Control (pp. 3–43). Elsevier. https://doi.org/10.1016/B978-0-12-374753-2.10001-2 Manolakis, D. G. (2005). Taxonomy of detection algorithms for hyperspectral imaging applications. Optical Engineering, 44(6), 066403. National University of Public Service, Hungary, & Ember, I. (2021). The role and the risks of explosive ordnance decontamination in Hungary. Science & Military, 16(1), 32–42. https://doi.org/10.52651/sam.a.2021.1.32-42 Roberts, S., & Williams, J. (1995). After the guns fall silent: The enduring legacy of landmines. Veterans of America Foundation, Washington D.C., USA. ROSUS 2024 - RAČUNALNIŠKA DOI https://doi.org/ 10.18690/um.feri.1.2024 OBDELAVA SLIK IN NJENA UPORABA ISBN 978-961-286-837-6 V SLOVENIJI 2024: ZBORNIK 18. STROKOVNE KONFERENCE BOŽIDAR POTOČNIK (UR.) Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Inštitut za računalništvo, Maribor, Slovenija bozidar.potocnik@um.si ROSUS 2024 – Računalniška obdelava slik in njena uporaba v Ključne besede: računalniška obdelava slik, Sloveniji 2024 je strokovna računalniška konferenca, ki jo od leta strojni vid, 2006 naprej vsako leto organizira Inštitut za računalništvo iz biomedicina, industrijske aplikacije, Fakultete za elektrotehniko, računalništvo in informatiko, prenos znanja Univerze v Mariboru. Konferenca povezuje strokovnjake in raziskovalce s področij digitalne obdelave slik in strojnega vida z uporabniki tega znanja, pri čemer uporabniki prihajajo iz raznovrstnih industrijskih okolij, biomedicine, športa, zabavništva in sorodnih področij. Zbornik konference ROSUS 2024 združuje strokovne prispevke več avtorjev, od tega dve vabljeni predavanji ter več demonstracijskih prispevkov. Prispevki podajajo najnovejše dosežke slovenskih strokovnjakov s področij digitalne obdelave slik in strojnega vida, osvetljujejo pa tudi trende in novosti na omenjenih strokovnih področjih. Velik poudarek prispevkov je na promoviranju ekonomske koristnosti aplikacij računalniške obdelave slik in vida v slovenskem prostoru. Takšne računalniške aplikacije zaradi visoke natančnosti, robustnosti in izjemnih hitrosti pri obdelovanju informacij nudijo namreč nove priložnosti za uveljavitev na trgu visokih tehnologij. DOI https://doi.org/ ROSUS 2024 – COMPUTER IMAGE 10.18690/um.feri.1.2024 ISBN PROCESSING AND ITS APPLICATION 978-961-286-837-6 IN SLOVENIA 2024: PROCEEDINGS OF THE 18TH PROFESSIONAL CONFERENCE BOŽIDAR POTOČNIK (ED.) University of Maribor, Faculty of Electrical Engineering and Computer Science, Institute of Computer Science, Maribor, Slovenia bozidar.potocnik@um.si Keywords: ROSUS 2024–Computer image processing and its application in evolutionary algorithm, deep networks, Slovenia 2024 is a professional conference that, since 2006, has image classification, been organised every year by the Institute of Computer Science generating deep networks, optimization of the Faculty of Electrical Engineering and Computer Science, University of Maribor. The conference connects researchers in the fields of Image Processing and Machine Vision with users of this knowledge, whereby users are coming from diverse industrial environments, such as Biomedicine, Sport, Entertainment, and related fields. The proceedings of ROSUS 2024 combine scientific articles by dozens of authors, including two invited lectures and several demonstration articles. Contributions represent the latest achievements of Slovenian experts in the fields of Image Processing and Vision, and also highlight trends and novelties in these areas. Great emphasis is on promotion of the economic usefulness of Image Processing and Vision applications in the Slovenian region. Namely, such software, due to high precision, robustness, and exceptional speed in information processing, provides new opportunities for penetration on the high technologies market. Document Outline 2 Diferencialna evolucija 3 Algoritem diferencialne evolucije za reševanje problema NAS 4 Eksperimentalno okolje 5 Rezultati 6 Zaključek 2 Sorodna dela 3 Metodologija 3.1 Ocena svetlobnega vira slik ozadja 3.2 Prenos svetlobnega vira 3.3 Generiranje slik objektov 3.4 Generiranje učne množice 4 Eksperimenti in rezultati 4.1 Testna množica 4.2 Učna množica 4.3 Učenje detektorja objektov 4.4 Rezultati 5 Zaključek 2 Pregled področja 2.1 Rubikova kocka 2.1 Sorodna dela 4 Zaznavanje Rubikove kocke 4.1 Zaznavanje barvnih kvadratov 4.2 Nepravilno število kvadratov 4.3 Indikator celotne Rubikove kocke 4.4 Maskiranje nadaljnjih zaznavanj 5 Zaznavanje barv 6 Algoritem za reševanje Rubikove kocke 7 Uporabniški vmesnik 8 Rezultati 9 Zaključek 2 Metodologija 2.1 Priprava podatkov 2.3 Naloga strojnega učenja 2.3.2 Večciljna klasifikacija 2.4 Globoko učenje 2.4.1 Konvolucijska nevronska mreža 2.4.2 MobileNetV3 2.5 Uporabniški primeri 2.5.1 Validacijski model 2.5.2 Model za klasifikacijo tipa slike 2.5.3 Model za klasifikacijo strani avta 2.6 Treniranje modelov 2.7 Postavitev modela v mobilno aplikacijo 3 Rezultati 3.1 Implementacija modelov v mobilni aplikaciji 2 Pregled področja 2.1 Generiranje ponarejenih videoposnetkov 2.2 Odkrivanje ponarejenih videoposnetkov 2.3 Podatkovna zbirka ponarejenih videoposnetkov FaceForensics++ 3 Teoretično ozadje in metodologija 3.1 Difuzijski modeli 3.2 Modeli LoRA 3.2.1 Postopek učenja identitete 3.3 Stabilna difuzija 3.3.1 Naš postopek 4 Eksperiment 4.1 Priprava modelov LoRA 4.2 Generiranje lažnih videoposnetkov 4.2.2 Predhodni eksperimenti 4.2.2 Najuspešnejši postopek generiranja in analiza rezultatov 5 Zaključek in nadaljnje delo Blank Page