제약‑표현 중간표현을 활용한 3D 소프트웨어 자동 생성 프레임워크
초록
Scenethesis는 자연어 요구사항을 제약‑표현 DSL인 ScenethesisLang으로 변환한 뒤, 네 단계(요구 정형화, 자산 합성, 제약 해결, 소프트웨어 생성)로 3D UI 코드를 자동 생성한다. 기존의 엔드‑투‑엔드 방식과 달리 중간표현을 통해 세밀한 수정·검증이 가능하고, 복잡한 공간·물리·시맨틱 제약을 100개 이상 동시에 만족한다. 실험 결과 80% 이상의 요구사항 포착, 90% 이상의 하드 제약 충족, BLIP‑2 점수 42.8% 향상을 보였다.
상세 분석
본 논문은 2D UI 자동 생성 기술이 성숙한 반면, 3D UI(소프트웨어) 자동 생성은 아직 초기 단계에 머물러 있다는 점을 지적한다. 기존 연구는 텍스트‑투‑3D, 절차적 모델링, 혹은 단순한 장면 그래프 기반 접근을 사용했지만, 이들 방식은 (1) 생성된 전체 장면을 재생성해야만 작은 수정이 가능하다는 ‘재생성 비용’ 문제와 (2) 복잡한 연속적 공간 관계·물리·시맨틱 제약을 표현·검증하기 어려운 제약 표현력 부족이라는 두 가지 근본적인 한계를 가진다.
Scenethesis는 이러한 한계를 극복하기 위해 ScenethesisLang이라는 도메인‑특화 언어(DSL)를 설계한다. 이 DSL은 (a) 객체 선언, (b) 연속값 좌표·회전·스케일, (c) 물리 법칙(중력, 충돌 회피) 및 (d) 복합 논리 연산자를 포함한 제약식 표현을 지원한다. 특히, 기존 장면 그래프가 ‘왼쪽/오른쪽/위/아래’와 같은 이산 관계에 머물렀던 것을 넘어, 거리, 각도, 가시성, 접근성 등 연속적인 수치 제약을 선언할 수 있다.
시스템 파이프라인은 네 단계로 명확히 구분된다.
-
요구 정형화(Requirement Formalization): 대형 언어 모델(LLM)을 활용해 입력 자연어를 구문·의미 분석하고, ‘실내/실외’ 구분, 숨은 제약(예: 회의실이면 조명·접근성) 등을 자동 확장한다. 확장된 프롬프트는 지역별 서브프롬프트로 나뉘어 ScenethesisLang 구문으로 매핑된다.
-
자산 합성(Asset Synthesis): 선언된 객체를 기존 3D 모델 데이터베이스에서 검색하거나, 텍스트‑투‑3D 모델러를 호출해 새로운 모델을 생성한다. 여기서 품질·커버리지를 동시에 고려하는 하이브리드 전략을 채택한다.
-
제약 해결(Spatial Constraint Solving): 객체 배치를 연속 CSP로 정의하고, ‘Rubik Spatial Constraint Solver’를 적용한다. 이 알고리즘은 Rubik’s cube 해법에서 영감을 받아, 로컬 트위스트(미세 조정)와 전역 리파인먼트를 반복함으로써 제약 충돌을 점진적으로 해소한다. 기존 SAT/SMT 기반 접근이 가지는 지수적 복잡도와 달리, 지역적 수정이 전체 배치에 파급 효과를 주어 실시간에 가까운 해결이 가능하다.
-
소프트웨어 합성(Software Synthesis): 최종 객체 모델과 변환 정보를 Unity‑compatible 형태의 씬 파일, C# 스크립트, 메타데이터로 출력한다. 각 객체는 API를 통해 프로그래밍적으로 접근·수정 가능하며, 생성된 메타데이터는 요구사항 ↔ 구현 간 추적성을 제공한다.
평가에서는 50개의 복합 쿼리(평균 508 단어)와 100개 이상의 제약을 포함하는 시나리오를 구축하였다. Scenethesis는 80% 이상 요구사항을 정확히 포착하고, 하드 제약 충족률은 90%를 초과했다. 시각적 품질 평가지표인 BLIP‑2에서는 기존 최첨단인 Holodeck 대비 42.8% 높은 점수를 기록했으며, LLM 백본을 바꾸어도 일관된 우위를 보였다.
핵심 기여는 (1) 연속적·복합 제약을 선언할 수 있는 DSL, (2) 검증 가능하고 모듈화된 4단계 파이프라인, (3) 로컬‑투‑글로벌 방식의 효율적 제약 해결 알고리즘이다. 이러한 설계는 3D UI 개발에서 요구사항 기반 유지보수·버전 관리·자동 테스트를 가능하게 하여, 전통적인 소프트웨어 엔지니어링 원칙을 3D 환경에 그대로 적용한다는 점에서 의미가 크다.
댓글 및 학술 토론
Loading comments...
의견 남기기