Criticul orb.
De ce am construit un critic independent pentru fiecare imagine generată, care nu vede promptul, și ce am schimbat după ce a dat un fals negativ exact acolo unde miza era mai mare.
Nu am încredere în propriul ochi când judec o imagine generată. După a zecea variantă dintr-o sesiune, orice pare bun.
Am construit un critic separat pentru fiecare randare fotorealistă: un subagent care primește doar fișierul imagine, fără promptul care a produs-o, fără context despre ce am cerut. Judecă din cinci puncte de vedere, editor de revistă, fotograf tehnic, fondator care se recunoaște în scenă, cititor de trei secunde pe telefon, logica scenei, dă câte o notă fiecărui punct de vedere, iar scorul final e minimul dintre cele cinci, nu media. O imagine excelentă din patru unghiuri și ratată la al cincilea nu trece.
Protocolul a mers bine până la primul caz în care a greșit exact acolo unde miza era mai mare. Un cadru cu doi oameni îmbrățișați a primit 8 din 10, verdict „fără anomalii" la mâini. Am integrat imaginea. Abia la o verificare ulterioară, mult mai atentă, am văzut ce ratase criticul: cele două antebrațe formau un singur tub continuu de piele, fără nicio linie de separare între ele. Era o eroare de topologie a membrului întreg, ceva ce verificarea nici nu căuta, fiindcă se oprea la decupajul mâinilor, fără să urmărească traseul complet umăr, cot, încheietură.
Am căutat de ce, nu am presupus. O mână are 27 de oase și 14 articulații; mâinile încrucișate sau în contact cu ele însele rămân una dintre cele mai grele probe pentru modelele de generare, documentat extern, nu doar în cazul meu. Și un al doilea lucru, mai incomod: un model de limbaj folosit ca judecător ajunge la un acord de aproximativ 80% cu evaluatorii umani, cam cât e acordul dintre doi oameni care judecă separat același lucru, dar cu tendințe sistematice de eroare, nu aleatorii. Un verdict la limita pragului, un 7 sau un 8, e o presupunere cu încredere medie, îmbrăcată în cifră exactă ca să pară mai solidă decât e. Am schimbat regula: orice scor de 7 sau 8 pe membre suprapuse sau parțial ascunse cere o a doua rulare independentă, de la zero, cu o verificare separată pe contur, înainte să integrez imaginea. Nu mai accept un verdict la limită dintr-o singură trecere, oricât de sigur ar suna.
Apoi criticul a trecut curat un calup întreg de zece cadre: fizică perfectă, mâini corecte, nicio anomalie tehnică. Le-am respins pe toate la inspecție. Un meșter tăia piele direct pe blatul mesei, fără niciun suport de tăiat sub cuțit. O cheie atârna cu o etichetă fără niciun scop vizibil în cadru. Fiecare obiect, luat separat, era randat corect. Niciunul nu avea o noimă acolo unde stătea. Verificarea de fizică nu întreabă dacă un obiect are un rol plauzibil în scenă, doar dacă respectă legile ei. Iar un fondator care se uită la propria scenă caută altceva decât fizica: dacă recunoaște ceva adevărat acolo. Am adăugat un al cincilea punct de vedere, dedicat exclusiv logicii scenei: fiecare obiect vizibil are un rol funcțional plauzibil, sau e doar decor pus acolo fiindcă modelul a decis că locul cerea ceva anume?
Un critic care verifică fizica poate fi perfect corect din punctul lui de vedere și tot să treacă o scenă fără sens. Un critic care verifică sensul poate rata o eroare de anatomie ascunsă sub o notă tehnică bună. Niciunul, singur, nu acoperă tot. Le-am pus pe amândouă în același protocol, obligate să dea verdictul cel mai aspru dintre ele, nu media lor.
Ce înseamnă asta pentru tine, dacă folosești vreun sistem automat ca să verifici munca altui sistem automat: un test care trece de fiecare dată nu e dovadă că funcționează. E dovadă că încă nu a întâlnit cazul care îl bate. Verificarea se termină abia după ce ai văzut protocolul propriu greșind în fața ta, o dată la fiecare tip de greșeală posibilă, și l-ai reparat pe fiecare, nu după prima serie curată.
Testul adevărat începe abia după ce ai văzut protocolul propriu greșind sub ochii tăi.
Criticul a mai greșit o dată, la o mână care ținea un mâner. A dedus că e mâna stângă pentru că ținea mânerul din stânga. Era dreapta, venită peste corp. Regula nouă: partea mâinii se stabilește din anatomie, din antebraț și din poziția degetului mare, iar o mână pe partea greșită a obiectului pică automat.
Am început să-l pun intenționat în fața greșelii. Îi dau seturi de imagini cu defecte marcate de alții, pixel cu pixel, și număr ce ratează. Altfel aș fi știut doar ce prinde, nu și ce îi scapă.
Rundele de lucru le face un model rapid. Orice cadru cu oameni sau animale care trece primește încă o verificare, pe un model mai mare, înainte să plece la client, iar livrarea rămâne blocată până atunci. Pe douăzeci de defecte anatomice, modelul rapid a lăsat să treacă unul, cel mare două. Mai mare nu a însemnat mai atent, de aceea le păstrez pe amândouă.
Am adăugat mărcile altora. Logoul sau numele unei mărci străine, apărut în cadru fără să-l fi cerut, e defect, chiar dacă restul imaginii e perfect: clientul ar folosi, fără să știe, marca altcuiva. Silueta unui produs celebru, fără logo, doar o semnalez. Logoul clientului, când e cerut, nu intră aici.
Criticul de montaj judeca doar tăieturile. I-am extins verificarea în interiorul fiecărui clip generat, după obiecte care își schimbă forma de la un cadru la altul sau oameni care devin, pe parcurs, alți oameni.
Și o limită pe care am văzut-o din nou: o imagine trecută de critic e doar gata de arătat. Am avut cazuri în care varianta cu scor mai mare era mai corectă, dar mai rece, și am ales-o pe cealaltă. Criticul vede ce e greșit. Ce mișcă un om, nu.