277 skaitymai

Kaip ir kodėl aš sukūriau AI Shazam for Art, kad išsaugotume Afrikos meną 

pateikė Adetolani Eko7m2025/02/03
Read on Terminal Reader

Per ilgai; Skaityti

Tai straipsnis apie tai, kaip aš sukūriau platformą, kuri naudoja dirbtinį intelektą, kad atpažintų menininką, kuris padarė paveikslą
featured image - Kaip ir kodėl aš sukūriau AI Shazam for Art, kad išsaugotume Afrikos meną 
Adetolani Eko HackerNoon profile picture
0-item


„O, tai kaip Shazamas, bet dėl meno? – paklausė draugas, kai pastarąsias dvi minutes praleidau aiškindamas savo naujausią projektą.


Tai buvo platforma, kuri galėjo padėti meno entuziastams atpažinti, kuris menininkas padarė paveikslą, ir ji ką tik tai paaiškino 5 žodžiais; „Kaip Shazam, bet dėl meno“.


Šis straipsnis yra apie tai, kodėl aš pradėjau projektą ir kaip sukūriau pirmąją versiją.


Kodėl?

Visą gyvenimą mėgau meną.


Daug metų praleidau tyrinėdamas meno judėjimus, kurdamas ir eksponuodamas savo meno kūrinius, taip pat bendraudamas su menininkais ir galerijomis. Laikui bėgant išsiugdžiau gebėjimą (su dideliu tikslumu) atspėti, kuris menininkas padarė paveikslą, ypač jei tai buvo Afrikos menininkas.


2022 m. AI renesanso metu gavau įkvėpimo ir pagalvojau, kad būtų smagu pamatyti, ar galėčiau išmokyti kompiuterius pasiekti tą patį, todėl pradėjau nedidelį asmeninį projektą.


Dirbdamas greitai supratau, kad yra ir didesnių problemų. Problemos, susijusios su dokumentavimu, Afrikos meno žinių pripažinimu ir dalijimusi jomis. Pavyzdžiui, yra senų Afrikos meistrų, kurių paveikslus sunku rasti internete. Norėdami juos rasti, turite eiti į senus meno vadovėlius ar asmenines kolekcijas. Susirūpinau, kad pasauliui perėjus visiškai skaitmeniniam, daugelis šių kūrinių gali būti prarasti istorijoje.


Patyręs šį iššūkį nusprendžiau paviešinti projektą ir išplėsti jį skaitmeniniu būdu išsaugoti ir dalytis žiniomis apie Afrikos meną ir menininkus.


Jis orientuotas į Afrikos meną, nes žinojau, kad niekas kitas to nedarys, bet tai turėjo būti padaryta, todėl tai turėjo prasidėti nuo manęs.


Kaip tai veikia

Naudotis platforma paprasta.


Įkeliate paveikslo nuotrauką arba pasirenkate vieną iš galimų vaizdų pavyzdžių.


Pagrindinis puslapis



Platforma apdoroja vaizdą, nustato menininkus, kurių meno stiliai labiausiai panašūs į įkeltus meno kūrinius, kiekvienam menininkui sukuria pasitikėjimo balą pagal tai, kiek įkelta nuotrauka yra panaši į jo meno stilių, ir atrenka menininką, turintį aukščiausią pasitikėjimo balą.

Tada informacija apie atlikėją rodoma toliau nurodytu formatu.



Vaizdų paieškos rezultatų puslapis



Pasitikėjimo balas skelbiamas siekiant parodyti, kaip buvo gauta ši prognozė, ir kad galėtumėte nuspręsti, kaip norite panaudoti pateiktą rezultatą.

Taip pat yra atsiliepimų skiltis (nykščiai aukštyn arba žemyn), kad galėtumėte prisidėti prie projekto ir padėti tobulinti modelį.

Tai supaprastintas platformos veikimo paaiškinimas. Žemiau pateikiama daugiau informacijos (su kuo mažesniu techniniu žargonu) apie tai, kaip jis buvo pastatytas.


Technika / duomenų paruošimas

Duomenų rinkimas ir apdorojimas

Tai nebuvo mano pirmasis ML projektas, todėl žinojau, kad sultys bus įtrauktos į treniruočių duomenis. Turėjau surasti ir paruošti pakankamai kokybiškų modeliui duomenų, kad gaučiau gerų rezultatų. Tai pasirodė sunkiau, nei maniau.


Pradėjau lyginti ir skirstyti treniruočių duomenis į kategorijas, bet greitai supratau, kad tai užtruks daug laiko, todėl priverčiau seserį ir du stažuotes, kad keletą mėnesių dirbtų su manimi. (Jiems buvo sumokėta už darbą)


Kitas žingsnis buvo duomenų valymas ir standartizavimas.


  • Pasikartojančių duomenų pašalinimas ir duomenų normalizavimas
  • Užtikrinti, kad duomenys būtų teisingai pažymėti
  • Užtikrinti, kad kiekvienas atlikėjas turėtų maždaug tiek pat mokymo duomenų, kad būtų išvengta modelio paklaidos dėl klasės disbalanso.
  • Užtikrinti, kad kiekvieno menininko mokymo duomenys apimtų pakankamai skirtingų tapybos stilių ir laikmenų, kad menininkas nepritaikytų tam tikram stiliui / terpei.
  • Užtikrinti, kad mokymo nuotraukose būtų paveikslai skirtinguose kontekstuose. Paveikslų nuotraukos įvairiose aplinkose, paveikslų nuotraukos aukštyn kojomis, nespalvotos paveikslų versijos ir tt Ši įvairovė padėtų modeliui gerai pasirodyti daugelyje situacijų.


Tai buvo daug darbo, bet tai padarius, modelis veiktų gerai.


Pasibaigus duomenų parengimo procesui, suskirstau duomenis į mokymo duomenis ir testavimo duomenis (kontrolę), kad būtų lengviau naudoti ir patikrinti tikslumą.


Mano akivaizdžiai GenZ sesuo praneša apie atlikėjų, apie kuriuos buvome surinkę duomenis, būsenos atnaujinimą ir kai kuriuos iššūkius ieškant duomenų apie kitus atlikėjus.



Modelių kūrimas/mokymas

Galvodamas apie modelius turėjau dvi galimybes.


Kurkite ant atvirojo kodo pagrindo modelio arba pasikliaukite debesies pagrindu sukurtu patentuotu modeliu, pvz., GCP AutoML.


Išbandžiau abu būdus, bet kadangi projektas iš pradžių turėjo būti koncepcijos įrodymas, išlaidų valdymas buvo didžiausias veiksnys, į kurį turėjau atsižvelgti.


Galiausiai apsisprendžiau naudoti atvirojo kodo pagrindo modelį „EfficientNet“. Juo naudotis galima nemokamai, jis puikiai atpažįsta duomenų funkcijas, nereikalauja daug skaičiavimų, kad būtų paleistas, jis suteikia lankstumo diegiant, ir aš jį savotiškai naudojau anksčiau.



„EfficientNet“ modelio mastelio keitimo kreditas: paperswithcode.com


Radau „EfficientNet“ „Tensorflow“ įgyvendinimą ir panaudojau jį kaip modelio pagrindą. Jis palaikė „Keras“, todėl taip pat padėjo valdyti sudėtingumą.


Tai buvo pakankamai efektyvu, kad galėčiau treniruoti bandomąsias versijas „Macbook M1 Pro“ su 16 GB RAM (nors kartais tekdavo užšalti nešiojamasis kompiuteris).


Po gaubtu modelis apdoroja nuotraukas, kad nustatytų pagrindines ypatybes, pvz., teptuko potėpius, spalvų schemas, kompoziciją ir kt., ir sutrumpina informaciją, kad išliktų svarbios dalys. Ji naudoja šią informaciją, kad nustatytų panašumus tarp naujai pateiktų paveikslų nuotraukų ir mokymo duomenų.


Eksperimentavau su įvairiomis epochos reikšmėmis ir ankstyvu sustojimu, kad pamatyčiau, kas veikia geriausiai, ir galiausiai pasiekiau įdomią metriką.


Ankstyvoji modelio v1 našumo metrika


Toliau įtraukiau daugiau atlikėjų ir eksperimentavau su skirtingomis vertybėmis, kad gaučiau kažką pakankamai tikslaus, su kuriuo galėčiau pradėti.


Galutinis įgyvendinimas apėmė du modelius. Vienas – tapybos stiliaus atpažinimui, kitas – tapybos terpės atpažinimui.

Gavau pagalbos tobulinant modelius ir galiausiai juos įdiegiant su API įvyniokliais.


Programos projektavimas ir kūrimas

Kai modeliai buvo surūšiuoti, likusią platformos dalį buvo nesunku sukurti. Galutinis įgyvendinimas atrodė taip:


Galutinio sprendimo architektūrinė schema



Platformos Backend / API : Sukūriau vidinę / API su Laravel, kad galėčiau efektyviai apdoroti logikos ir maršruto užklausas į tikrus modelius. Šis sluoksnis tvarko visą vaizdo apdorojimą, saugojimą, patvirtinimą, informaciją apie atlikėją ir užklausų skirstymą, ty kontroliuoja modeliams siunčiamas užklausas.


Frontend : priekinė dalis buvo sukurta naudojant „React“. Man labai nepatinka rašyti sąsajos kodą, todėl gavau pagalbos kuriant šią dalį. Jis iš esmės kontroliuoja informacijos ir vartotojų užklausų, siunčiamų į užpakalinę programą, rodymą.


Serveris / priegloba: visą programą priglobiau „Heroku“ (modeliai įtraukiami). Pasirinkau „Heroku“, nes tai leido gauti daug paruoštų paslaugų ir palaikymo už valdomą kainą. Po kelių mėnesių darbo renkant duomenis, mokant modelius ir kuriant pagrindinę platformą nenorėjau daugiau dirbti, tiesiog norėjau pradėti tiesiogiai!


Baigiamosios pastabos

Etika

Modelius apmokiau tik remdamasis viešai prieinamais duomenimis.


Kurdamas projektą taip pat pasikonsultavau su įvairiais menininkais, kad sužinočiau, ar jie neturėjo problemų su projektu, ir aš nesulaukiau jokio atmetimo. Tačiau jei kuris nors menininkas, kurį įtraukiau į projektą, nori būti pašalintas, praneškite man. Aš tai padarysiu iš karto.


Ateities planai

Matau daug panaudojimo atvejų švietimo, meno atradimų, turizmo ir komercijos srityse. Taip pat yra keletas funkcijų, apie kurias galvojau; menininkų katalogas, internetiniai meno žaidimai, atlikėjų rekomendacijos ir dar daugiau.


Mano planas yra toliau tobulinti projektą ir sužinoti, ką menininkai, pramonės suinteresuotosios šalys ir meno entuziastai nori matyti toliau.


Labai džiaugiuosi, kad pradėjau šį projektą. Viena vertus, tai suteikė man unikalią galimybę sujungti du dalykus, kurie man patinka (menas + technologijos), kita vertus, tai metė iššūkį ir privertė kūrybiškai mąstyti apie įvairias problemas. Taip pat jaučiu, kad aktyviai prisidedu prie Afrikos meno augimo ir išsaugojimo, ir tai yra puiku.


Projekto nuoroda (beta) : https://beta.whomadethisartwork.com/


Pastaba *: beta versija skirta tik 100 Afrikos atlikėjų, netrukus planuojama įtraukti daugiau.*


Demonstracija :




Jei jums patiko skaityti šį straipsnį, tai todėl, kad naudoju rašymo techniką, vadinamą „slidžiu nuolydžiu“, kad būtų smagu skaityti. Tai technika, kurią naudoja daug puikių autorių ir tekstų kūrėjų. Šios technikos ir daug daugiau mokoma kurse pavadinimu CopyThat ir tai yra vienintelis rašymo kursas, kurio jums kada nors prireiks. Geriausia tai, kad tai užtrunka tik 10 dienų. 10 dienų būti tikrai geru rašytoju. Apsilankykite „CopyThat“ dabar, kad pradėtumėte savo kelią tapti puikiu rašytoju.






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

PABAIGTI ŽYMES

ŠIS STRAIPSNIS BUVO PRISTATYMAS...

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks