272 avläsningar

Hur och varför jag byggde AI Shazam för konst för att bevara afrikansk konst 

förbi Adetolani Eko7m2025/02/03
Read on Terminal Reader

För länge; Att läsa

Det här är en artikel om hur jag byggde en plattform som använder artificiell intelligens för att identifiera konstnären som gjorde en målning
featured image - Hur och varför jag byggde AI Shazam för konst för att bevara afrikansk konst 
Adetolani Eko HackerNoon profile picture
0-item


"Åh, så det är som Shazam, men för konst?" frågade en vän efter att jag ägnat de senaste två minuterna åt att förklara mitt senaste projekt.


Det var en plattform som kunde hjälpa konstentusiaster att identifiera vilken konstnär som gjorde en målning och hon hade precis förklarat det med 5 ord; "Som Shazam, men för konsten".


Den här artikeln handlar om varför jag startade projektet och även hur jag byggde den första versionen.


Varför?

Jag har älskat konst i hela mitt liv.


Jag har ägnat flera år åt att undersöka konströrelser, göra och ställa ut mina egna konstverk och allmänt umgås med konstnärer och gallerier. Med tiden utvecklade jag förmågan att gissa (med hög noggrannhet) vilken konstnär som gjort en målning, speciellt om det var en afrikansk konstnär.


I AI-renässansen 2022 blev jag inspirerad och tänkte att det skulle vara kul att se om jag kunde träna datorer för att uppnå samma sak, så jag startade ett litet personligt projekt.


När jag arbetade med det insåg jag snabbt att det fanns större problem. Problem kring dokumentation, erkännande och delning av afrikansk konstkunskap. Det finns till exempel gamla afrikanska mästare vars målningar är svåra att hitta på nätet. Du måste gå till gamla konstböcker eller personliga samlingar för att hitta dem. Jag blev orolig för att när världen rör sig helt digital, kan många av dessa verk gå förlorade i historien.


Att uppleva denna utmaning fick mig att besluta mig för att göra projektet offentligt och utvidga det till att digitalt bevara och dela kunskap om afrikansk konst och konstnärer.


Det är fokuserat på afrikansk konst eftersom jag visste att ingen annan skulle göra det, men det måste göras, så det fick börja med mig.


Hur det fungerar

Det är enkelt att använda plattformen.


Du laddar upp ett foto av en målning eller väljer en av de tillgängliga exempelbilderna.


Hemsida



Plattformen bearbetar bilden, identifierar de konstnärer vars konststilar liknar mest det uppladdade konstverket, skapar ett konfidenspoäng för varje artist baserat på hur likt det uppladdade fotot är deras konststil och väljer ut konstnären med högst konfidenspoäng.

Information om artisten visas sedan i formatet nedan.



Resultatsida för bildsökning



Förtroendepoängen publiceras för att visa dig hur det kom till den förutsägelsen och för att du ska kunna bestämma hur du vill använda det angivna resultatet.

Det finns också en feedbacksektion (tummen upp eller ned) så att du kan bidra till projektet och hjälpa till att förbättra modellen.

Detta är en förenklad förklaring av hur plattformen fungerar. Nedan finns mer information (med så lite teknisk jargong som möjligt) om hur den byggdes.


Teknik-/dataförberedelsen

Datainsamling och bearbetning

Detta var inte mitt första ML-projekt så jag visste att juicen skulle finnas i träningsdatan. Jag var tvungen att hitta och förbereda tillräckligt med högkvalitativ data för modellen för att få bra resultat. Det visade sig vara svårare än jag trodde.


Jag började sammanställa och kategorisera träningsdata men insåg snabbt att det skulle ta mycket tid så jag fick min syster och två praktikanter att arbeta med detta med mig i några månader. (De fick betalt för sitt arbete)


Nästa steg var att rensa och standardisera data.


  • Ta bort dubbletter och normalisera data
  • Se till att uppgifterna var korrekt märkta
  • Se till att varje artist hade ungefär samma mängd träningsdata för att undvika partiskhet i modellen på grund av klassobalans.
  • Se till att utbildningsdata om varje konstnär inkluderade tillräckligt med variation av deras olika målarstilar och medier för att undvika överanpassning till en viss stil/medium från en konstnär.
  • Se till att träningsbilderna hade målningar i olika sammanhang. Foton av målningar i olika miljöer, foton av målningar upp och ner, svartvita versioner av målningarna etc. Denna mångfald skulle hjälpa modellen att prestera bra i de flesta situationer.


Det var mycket arbete men att få det här rätt skulle få modellen att prestera bra.


När förberedelseprocessen för data var klar delade jag upp data i träningsdata och testdata (kontroll) för att göra det lättare att använda och för att verifiera noggrannheten.


Min uppenbarligen GenZ-syster ger en statusuppdatering om artister vi hade samlat in data om och även några utmaningar med att hitta data om andra artister.



Bygga/träna modellerna

När jag tänkte på modellerna hade jag två alternativ.


Bygg på en grundmodell med öppen källkod eller lita på en molnbaserad proprietär modell, t.ex. GCP:s AutoML.


Jag försökte båda metoderna, men eftersom projektet från början var tänkt att vara ett proof of concept, var kostnadshantering den största faktorn för mig att överväga.


Så småningom bestämde jag mig för att använda grundmodellen med öppen källkod, EfficientNet. Det är gratis att använda, det är bra på att identifiera funktioner i data, det kräver inte mycket beräkning för att köras, det erbjuder flexibilitet i distributionen och jag hade typ använt det tidigare.



EfficientNet Model Scaling Credit: paperswithcode.com


Jag hittade en Tensorflow-implementering av EfficientNet och använde den som ryggraden i modellen. Det hade stöd för Keras så det hjälpte också till att hantera komplexitet.


Det var tillräckligt effektivt för att jag kunde träna testversioner på en Macbook M1 Pro med 16 GB RAM (jag fick dock ta itu med att min bärbara dator ibland fryser).


Under huven bearbetar modellen bilderna för att identifiera nyckelfunktioner som penseldrag, färgscheman, komposition etc, och kondenserar informationen för att behålla de viktiga delarna. Den använder denna information för att identifiera likheter mellan nyligen tillhandahållna foton av målningar och dess träningsdata.


Jag experimenterade med olika epokvärden och stannade tidigt för att se vad som fungerade bäst och så småningom landade jag på intressanta mått.


Tidiga prestandamått för v1 av modellen


Jag fortsatte att lägga till fler artister och experimentera med olika värden för att få något tillräckligt korrekt att lansera med.


Den slutliga implementeringen involverade två modeller. En för igenkänning av målarstil och en annan för igenkänning av målningsmedium.

Jag fick hjälp med att förfina modellerna ytterligare och så småningom distribuera dem med API-omslag.


Design & utveckling av applikationen

När modellerna väl var sorterade var resten av plattformen enkel att bygga. Den slutliga implementeringen såg ut så här:


Arkitekturdiagram över den slutliga lösningen



Plattform Backend/API : Jag byggde backend/API med Laravel för att effektivt hantera logik- och routingförfrågningar till de faktiska modellerna. Detta lager hanterar all bildbehandling, lagring, validering, artistinformation och förfrågningstriage, dvs. kontrollerar förfrågningar som skickas till modellerna.


Frontend : Frontend byggdes med React. Jag gillar verkligen inte att skriva frontend-kod så jag fick hjälp med att bygga den här delen. Det styr i princip visningen av information och användarförfrågningar som skickas till backend.


Server/värd: Jag var värd för hela applikationen på Heroku (modeller ingår). Jag valde Heroku eftersom det gjorde det möjligt för mig att få många färdiga tjänster och support till en hanterbar kostnad. Efter månader av arbete med att samla in data, träna modellerna och bygga kärnplattformen ville jag inte ha mer arbete, jag ville bara gå live!


Slutanteckningar

Etik

Jag tränade modellerna enbart på allmänt tillgänglig data.


När jag utvecklade projektet, kollade jag även in med olika artister för att se om de hade några problem med projektet och jag fick ingen pushback. Men om någon artist som jag har tagit med i projektet vill uteslutas, vänligen meddela mig. Jag kommer att göra det omedelbart.


Framtidsplaner

Jag ser många användningsfall för detta inom utbildning, konstupptäckt, turism och handel. Det finns också ett par funktioner jag har funderat på; en artistkatalog, webbaserade konstspel, artistrekommendationer och mycket mer.


Min plan är att fortsätta att förbättra projektet och lära mig vad konstnärer, branschintressenter och konstentusiaster vill se härnäst.


Jag är verkligen glad att jag startade det här projektet. Å ena sidan gav det mig en unik möjlighet att kombinera två saker jag brinner för (konst + tech), å andra sidan utmanade det mig och tvingade mig att tänka kreativt kring olika problem. Jag känner också att jag aktivt bidrar till tillväxten och bevarandet av afrikansk konst, och det känns fantastiskt.


Projektlänk (beta) : https://beta.whomadethisartwork.com/


Obs *: Betaversionen är begränsad till 100 afrikanska artister med planer på att inkludera fler snart.*


Demo :




Om du tyckte om att läsa den här artikeln beror det på att jag använde en skrivteknik som kallas "den hala backen" för att göra den rolig att läsa. Det är en teknik som används av många fantastiska författare och även copywriters. Denna teknik och mycket mer lärs ut i en kurs som heter CopyThat , och det är den enda skrivarkursen du någonsin kommer att behöva. Det bästa är att det bara tar 10 dagar att slutföra. 10 dagar att bli en riktigt bra författare. Besök CopyThat nu för att börja din resa mot att bli en fantastisk författare.






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

HÄNG TAGGAR

DENNA ARTIKEL PRESENTERAS I...

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks