Picturi celebre
Autor: Mihai Nan
Picturi celebre
Context
Atunci când ne raportăm la tablourile celebre, trebuie să ținem cont și de caracteristici obiective precum dimensiunea pânzei, tipul pensulei cu care a fost pictat, complexitatea vizuală sau densitatea culorilor, pe lângă calitatea artistică a acestora. Estimarea automată a valorii și identificarea stilului pictorului pot ajuta colecționarii și muzeele să analizeze colecții mari de opere.
Pentru rezolvarea acestei probleme veți avea la dispoziție două fișiere:
train.csv– conține toate variabilele, inclusivtarget_price, pentru antrenarea modelelortest.csv– conține aceleași variabile, fără coloanatarget_price, și datele din acest fișier sunt folosite pentru generarea predicțiilor
Descrierea setului de date
| Column | DType | Descriere |
|---|---|---|
| SampleID | int | Identificator unic al tabloului |
| canvas_size | object | Dimensiunea pânzei (ex. "80x50") |
| is_oil_painting | bool | Indicator dacă tabloul este pictură în ulei |
| brush_type | object | Tipul pensulei utilizate |
| num_colors | int | Numărul de culori utilizate |
| colorfulness | float | Grad de coloristică |
| complexity | float | Complexitate vizuală |
| brightness | float | Luminozitate a tabloului |
| contrast | float | Contrast al tabloului |
| stroke_density | float | Densitate a pensulei |
| has_signature | bool | Dacă tabloul are semnătură |
| is_framed | bool | Dacă tabloul este încadrat |
| uses_gold_leaf | bool | Dacă tabloul folosește foiță de aur |
| is_restored | bool | Dacă tabloul a fost restaurat |
| dominant_warm_colors | bool | Dacă predomină culorile calde |
| dominant_color | object | Culoarea dominantă |
| art_period_hint | object | Sugestie perioadă artistică |
| auction_house | object | Casa de licitații |
| image_quality | object | Calitatea imaginii |
| brightness_log | float | Luminozitate logaritmică |
| complexity_x_stroke | float | Complexitate × densitate pensulă |
| fake_style_score | float | Scor stil fals |
| painter_style_score | float | Scor stil pictor |
| target_price | int | Prețul tabloului (doar în train.csv) |
Cerințe
Pentru această problemă aveți de rezolvat 3 task-uri.
Task 1 – Scorul de autenticitate artistică (20 puncte)
Recent, un algoritm revoluționar a fost descoperit de un grup de cercetători în inteligență artificială și artă. Acesta poate evalua, pe baza caracteristicilor obiective ale tabloului, dacă un tablou este cu siguranță autentic sau nu.
Pentru fiecare tablou, algoritmul calculează un Scor de Autenticitate Artistică (SAA) folosind următoarele reguli:
- Dacă
stroke_density > 0.7, adaugă 2 puncte la SAA. - Dacă
complexity > 0.65, adaugă 2 puncte la SAA. - Dacă
uses_gold_leaf = True, adaugă 1 punct la SAA. - Dacă
has_signature = True, adaugă 1 punct la SAA. - Dacă
num_colors > 65șicolorfulness > 0.7, adaugă 2 puncte la SAA. - Dacă
contrast < 0.4saubrightness < 0.45saubrightness > 0.75, scade 1 punct din SAA.
După calcularea scorului, tabloul primește eticheta:
-
Autentic: dacă
SAA ≥ 5 -
Incert: dacă
SAA < 5 -
Answerîn fișierul de submisie va fiAutenticsauIncertpentru fiecare tablou dintest.csv.
Task 2 – Gruparea tablourilor după stilul pictorului (40 puncte)
Se știe că tablourile din setul de date au fost realizate de 5 pictori celebri, dar informația despre pictor nu este disponibilă.
Sarcina voastră este să atribuiți fiecărui tablou din test.csv un ID numeric între 0 și 4, astfel încât tablourile realizate de același pictor să primească același ID.
Answerîn fișierul de submisie va fi ID-ul numeric (0, 1, 2, 3 sau 4) pentru fiecare tablou dintest.csv.- Toate tablourile realizate de același pictor ar trebui să aibă același ID.
Task 3 – Estimarea prețului tablourilor (40 puncte)
Pentru fiecare tablou inclus în train.csv avem specificat un preț (coloana target_price). Pe baza informațiilor disponibile în train.csv, antrenați un model de Inteligență Artificială care să fie capabil să prezică pentru tablourile din test.csv prețul.
Formatul fișierului de submisie
Fișierul submission.csv trebuie să conțină:
SampleID- preluat din fișierultest.csv;subtaskID- poate fi:Task1,Task2,Task3;Answer- valoarea calculată sau estimată pentru tabloul indicat prinSampleIDla task-ul indicat prinsubtaskID.
Evaluare
Subtask 1 – Scor de autenticitate
Pentru acest subtask se folosește compararea exactă între răspunsurile trimise (Autentic / Incert) și etichetele corecte.
- Punctaj maxim se acordă doar dacă toate răspunsurile sunt corecte.
- Dacă există răspunsuri greșite, punctajul se acordă proporțional, folosind regula de 3 simplă.
Subtask 2 – Grupare pictori
Evaluarea se face folosind Adjusted Rand Index (ARI).
- Punctaj maxim se acordă dacă:
- Pentru valori sub acest prag, punctajul se acordă proporțional.
Subtask 3 – Predicția prețului
Evaluarea se face folosind Mean Absolute Error (MAE).
Reguli:
- MAE ≤ 600 → punctaj maxim
- MAE ≥ 2000 → 0 puncte
- Pentru valori între aceste două praguri, punctajul se acordă proporțional.