277 čitanja

Kako i zašto sam napravio AI Shazam za umjetnost za očuvanje afričke umjetnosti 

po Adetolani Eko7m2025/02/03
Read on Terminal Reader

Predugo; Čitati

Ovo je članak o tome kako sam napravio platformu koja koristi umjetnu inteligenciju za prepoznavanje umjetnika koji je napravio sliku
featured image - Kako i zašto sam napravio AI Shazam za umjetnost za očuvanje afričke umjetnosti 
Adetolani Eko HackerNoon profile picture
0-item


"Oh, znači to je kao Shazam, ali za umjetnost?" upitao je prijatelj nakon što sam protekle dvije minute objašnjavao svoj najnoviji projekt.


Bila je to platforma koja je mogla pomoći ljubiteljima umjetnosti da prepoznaju koji je umjetnik napravio sliku, a ona je to upravo objasnila u 5 riječi; 'Kao Shazam, ali za umjetnost'.


Ovaj članak govori o tome zašto sam započeo projekt i također kako sam napravio prvu verziju.


Zašto?

Cijeli sam život volio umjetnost.


Proveo sam godine istražujući umjetničke pokrete, izrađujući i izlažući vlastita umjetnička djela i općenito družeći se s umjetnicima i galerijama. S vremenom sam razvio sposobnost pogađanja (s visokom razinom točnosti) koji je umjetnik napravio sliku, osobito ako je to bio afrički umjetnik.


U renesansi umjetne inteligencije 2022. dobio sam inspiraciju i pomislio da bi bilo zabavno vidjeti mogu li istrenirati računala da postignu istu stvar, pa sam započeo mali osobni projekt.


Radeći na tome vrlo brzo sam shvatio da postoje veći problemi. Problemi oko dokumentiranja, priznavanja i dijeljenja znanja o afričkoj umjetnosti. Na primjer, postoje stari afrički majstori čije je slike teško pronaći na internetu. Morate ići u stare likovne udžbenike ili osobne zbirke da biste ih pronašli. Zabrinuo sam se da bi se mnoga od tih djela mogla izgubiti u povijesti, kako svijet postaje potpuno digitaliziran.


Nakon ovog izazova odlučio sam projekt učiniti javnim i proširiti ga na digitalno očuvanje i dijeljenje znanja o afričkoj umjetnosti i umjetnicima.


Fokusiran je na afričku umjetnost jer sam znao da to nitko drugi neće učiniti, ali moralo se napraviti, pa je moralo početi od mene.


Kako radi

Korištenje platforme je jednostavno.


Učitavate fotografiju slike ili odaberete jednu od dostupnih oglednih slika.


Početna stranica



Platforma obrađuje sliku, identificira umjetnike čiji su umjetnički stilovi najsličniji učitanom umjetničkom djelu, stvara ocjenu pouzdanosti za svakog umjetnika na temelju toga koliko je učitana fotografija slična njihovom umjetničkom stilu i odabire umjetnika s najvećom ocjenom pouzdanosti.

Podaci o izvođaču tada se prikazuju u donjem obliku.



Stranica rezultata pretraživanja slika



Rezultat pouzdanosti objavljuje se kako bi vam se pokazalo kako je došlo do tog predviđanja i kako bi vam se omogućilo da odlučite kako želite koristiti dobiveni rezultat.

Tu je i odjeljak za povratne informacije (palac gore ili dolje) kako biste mogli pridonijeti projektu i pomoći u poboljšanju modela.

Ovo je pojednostavljeno objašnjenje kako platforma funkcionira. Ispod je više informacija (sa što manje tehničkog žargona) o tome kako je napravljen.


Priprema tehnike/podataka

Prikupljanje i obrada podataka

Ovo nije bio moj prvi ML projekt tako da sam znao da će sok biti u podacima o obuci. Morao sam pronaći i pripremiti dovoljno kvalitetnih podataka za model kako bih dobio dobre rezultate. To se pokazalo težim nego što sam mislio.


Počeo sam uspoređivati i kategorizirati podatke o obuci, ali sam brzo shvatio da će to oduzeti puno vremena pa sam angažirao svoju sestru i dva stažista da na tome rade sa mnom nekoliko mjeseci. (Bili su plaćeni za svoj rad)


Sljedeći korak bilo je čišćenje i standardiziranje podataka.


  • Uklanjanje duplikata i normalizacija podataka
  • Osiguravanje da su podaci ispravno označeni
  • Osiguravanje da svaki umjetnik ima otprilike istu količinu podataka o obuci kako bi se izbjegla pristranost u modelu zbog klasne neravnoteže.
  • Osiguravanje da podaci o obuci za svakog umjetnika uključuju dovoljno varijacija njihovih različitih slikarskih stilova i medija kako bi se izbjeglo pretjerano prilagođavanje određenom stilu/mediju umjetnika.
  • Osigurati da fotografije treninga imaju slike u različitim kontekstima. Fotografije slika u različitim okruženjima, fotografije slika naopako, crno-bijele verzije slika itd. Ova bi raznolikost pomogla modelu da se dobro ponaša u većini situacija.


Bilo je puno posla, ali ako ovo ispravim, model će raditi dobro.


Nakon što je proces pripreme podataka dovršen, podijelio sam podatke na podatke za obuku i podatke za testiranje (kontrolu) kako bih ih lakše koristio i provjerio točnost.


Moja očito GenZ sestra daje ažuriranje statusa umjetnika o kojima smo prikupili podatke, kao i neke izazove s pronalaženjem podataka o drugim umjetnicima.



Izrada/obuka modela

Kad sam razmišljao o modelima, imao sam dvije mogućnosti.


Gradite na temeljnom modelu otvorenog koda ili se oslonite na vlasnički model temeljen na oblaku, npr. GCP-ov AutoML.


Isprobao sam oba pristupa, ali budući da je projekt u početku trebao biti dokaz koncepta, upravljanje troškovima bilo je najveći čimbenik za mene.


Na kraju sam se odlučio za korištenje modela temelja otvorenog koda, EfficientNet. Besplatan je za korištenje, dobar je u prepoznavanju značajki u podacima, ne zahtijeva puno računanja za rad, nudi fleksibilnost u implementaciji i nekako sam ga koristio u prošlosti.



Zasluge za skaliranje modela EfficientNet: paperswithcode.com


Pronašao sam Tensorflow implementaciju EfficientNeta i upotrijebio je kao okosnicu modela. Imao je podršku za Keras pa je i to pomoglo u upravljanju složenošću.


Bio je dovoljno učinkovit da sam mogao trenirati testne verzije na Macbooku M1 Pro sa 16 GB RAM-a (iako sam se povremeno morao suočiti s mojim laptopom koji se smrzavao).


Ispod haube, model obrađuje fotografije kako bi identificirao ključne značajke kao što su potezi kistom, sheme boja, kompozicija itd., i sažima informacije kako bi zadržao važne dijelove. Koristi te informacije za prepoznavanje sličnosti između novodostavljenih fotografija slika i svojih podataka za obuku.


Eksperimentirao sam s različitim vrijednostima epohe i ranim zaustavljanjem da vidim što najbolje funkcionira i na kraju sam došao do zanimljivih metrika.


Rane metrike izvedbe za v1 modela


Nastavio sam dodavati više umjetnika i eksperimentirati s različitim vrijednostima kako bih dobio nešto dovoljno točno za pokretanje.


Konačna implementacija uključivala je dva modela. Jedan za prepoznavanje slikarskog stila, a drugi za prepoznavanje slikarskog medija.

Dobio sam pomoć u daljnjem usavršavanju modela i njihovoj konačnoj implementaciji s API omotačima.


Dizajn i razvoj aplikacije

Nakon što su modeli razvrstani, ostatak platforme bilo je jednostavno izgraditi. Konačna implementacija je izgledala ovako:


Dijagram arhitekture konačnog rješenja



Pozadina/API platforme : Napravio sam pozadinu/API s Laravelom za učinkovito rukovanje logičkim zahtjevima i zahtjevima za usmjeravanje prema stvarnim modelima. Ovaj sloj obrađuje svu obradu slike, pohranjivanje, provjeru valjanosti, podatke o umjetniku i trijažu zahtjeva, tj. kontrolu zahtjeva poslanih modelima.


Sučelje : Sučelje je napravljeno s Reactom. Stvarno ne volim pisati front-end kod pa sam dobio pomoć oko izgradnje ovog dijela. U osnovi kontrolira prikaz informacija i korisničkih zahtjeva poslanih u pozadinu.


Poslužitelj/Hosting: Cijelu sam aplikaciju ugostio na Heroku (uključeni modeli). Odabrao sam Heroku jer mi je omogućio da dobijem mnogo gotovih usluga i podrške po razumnoj cijeni. Nakon mjeseci rada na prikupljanju podataka, obučavanju modela i izgradnji temeljne platforme, nisam želio više raditi, samo sam želio pokrenuti!


Završne bilješke

Etika

Modele sam trenirao isključivo na javno dostupnim podacima.


Dok sam razvijao projekt, provjeravao sam i razne umjetnike da vidim imaju li kakvih problema s projektom i nisam dobio nikakav odgovor. Međutim, ako bilo koji umjetnik kojeg sam uključio u projekt želi biti isključen, molim vas da me obavijestite. Odmah ću to učiniti.


Planovi za budućnost

Vidim mnogo slučajeva upotrebe za ovo u obrazovanju, otkrivanju umjetnosti, turizmu i trgovini. Postoji i nekoliko značajki o kojima sam razmišljao; imenik umjetnika, umjetničke igre temeljene na webu, preporuke umjetnika i još mnogo toga.


Moj je plan nastaviti poboljšavati projekt i učiti što umjetnici, dionici industrije i entuzijasti umjetnosti žele vidjeti sljedeće.


Stvarno sam sretan što sam započeo ovaj projekt. S jedne strane, dao mi je jedinstvenu priliku da spojim dvije stvari koje me zanimaju (umjetnost + tehnika), s druge strane, bio mi je izazov i natjerao me da kreativno razmišljam o raznim problemima. Također osjećam da aktivno pridonosim rastu i očuvanju afričke umjetnosti, i to je sjajan osjećaj.


Link projekta (beta) : https://beta.whomadethisartwork.com/


Napomena *: Beta verzija ograničena je na 100 afričkih umjetnika s planovima da se uskoro uključi više.*


Demo :




Ako ste uživali čitajući ovaj članak, to je zato što sam koristio tehniku pisanja koja se zove "sklizak nagib" kako bih ga učinio zabavnim za čitanje. To je tehnika koju koriste mnogi izvrsni autori, ali i tekstopisci. Ova tehnika i još mnogo toga poučavaju se na tečaju koji se zove CopyThat i to je jedini tečaj pisanja koji će vam ikada trebati. Najbolji dio je što je potrebno samo 10 dana da se završi. 10 dana da postaneš stvarno dobar pisac. Posjetite CopyThat sada kako biste započeli svoje putovanje ka tome da postanete veliki pisac.






L O A D I N G
. . . comments & more!

About Author

Adetolani Eko HackerNoon profile picture
Adetolani Eko@eko
I enjoy writing & building things | Product Leader building in Fintech, Online dating, Automation & A.I. | Artist

VIJESI OZNAKE

OVAJ ČLANAK JE PREDSTAVLJEN U...

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks