Agenci AI

Agenci AI potrafią zakodować scenę 3D ze zdjęcia, ale nie widzą własnych błędów

Agent programistyczny potrafi zbudować edytowalną scenę 3D na podstawie pojedynczego obrazu, zapisując ją jako program w Pythonie dla Blendera. Problem w tym, że zazwyczaj nie potrafi ocenić, czy kolejne poprawki przybliżają go do oryginału. Pokazuje to projekt LEGO-Anything, opracowany przez badaczy z University of Maryland i AWS, oraz towarzyszący mu benchmark LEGO-Bench.

W podejściu „Image-to-Code” model nie generuje statycznej siatki 3D, lecz pisze skrypt tworzący scenę w Blenderze. Następnie uruchamia kod, analizuje uzyskany render i próbuje wprowadzać korekty. Efektem pracy jest program definiujący obiekty, ich układ w przestrzeni, geometrię oraz ustawienia kamery. Można go modyfikować i uruchamiać jak każdy inny kod źródłowy.

Działający kod to nie to samo co poprawna geometria

Aby sprawdzić, jak rzetelnie agenci odtwarzają przestrzeń, autorzy badania przygotowali LEGO-Bench. Zestaw obejmuje 208 obrazów ze 104 scen wewnętrznych i zewnętrznych oraz 443 zarejestrowane obiekty. Zdjęcia testowe wyrenderowano z profesjonalnie przygotowanych scen w symulatorze. Dzięki temu badacze dysponowali precyzyjnym wzorcem geometrii, głębi i przypisania obiektów, który posłużył do automatycznej weryfikacji.

Benchmark ocenia wyniki w trzech osobnych wymiarach: poprawność techniczną (czy agent dostarczył działający i uruchamialny kod), dokładność zrekonstruowanej geometrii oraz podobieństwo wizualne wyrenderowanej sceny do obrazu referencyjnego.

Wszystkie sześć testowanych konfiguracji modeli z rodziny GPT niemal bez wyjątku dostarczało w pełni działający kod Blendera. Zgodność samej rekonstrukcji okazała się jednak znacznie słabsza. Najlepszy wariant, GPT-6 Astra, uzyskał w benchmarku wynik 53,4 proc. w scenach wewnętrznych i 39,6 proc. w plenerach. Słabsze konfiguracje osiągały rezultaty w okolicach 15 proc.

Kiedy poprawki niszczą wcześniejszy postęp

Najpoważniejszym problemem ujawnionym przez LEGO-Bench okazała się zawodna samoocena modeli. Gdy w osobnym teście poproszono je o wskazanie, która z dwóch wersji sceny lepiej odpowiada wzorcowi, ich oceny geometrii plasowały się na poziomie zbliżonym do losowego wyboru lub poniżej niego.

Brak orientacji przestrzennej sprawia, że próby dopracowania sceny w kolejnych iteracjach często cofają wcześniejszy postęp. W jednym z przypadków GPT-6 Astra podczas procesu poprawek zepsuła własną scenę, obniżając jej wynik z 33,9 do zaledwie 4,4 proc.

Aby ograniczyć ten problem, autorzy opracowali LEGO-Plugin — rozszerzenie niewymagające dodatkowego dotrenowywania modeli. Zamiast polegać na deklaracjach agenta, narzędzie kotwiczy początkową scenę w obrazie referencyjnym, weryfikuje zmiany za pomocą konkretnych pomiarów i chroni poprawnie odtworzone elementy przed przypadkowym usunięciem. W testach wtyczka poprawiła wyniki wszystkich sześciu konfiguracji: w przypadku najsłabszych modeli procentowa poprawa sięgała 62,7 proc., podczas gdy najlepszy wariant zyskał około dwóch punktów procentowych.