Imagine a City: CityGenAgent for Procedural 3D City Generation

이 논문은 자연어 기반의 계층적 절차적 생성 프레임워크인 CityGenAgent 를 제안하여, 지도 학습과 강화 학습을 결합해 고해상도 3D 도시의 구조적 정확성과 시각적 일관성을 보장하면서도 자연어 편집이 가능한 자동 생성 및 조작 기술을 실현합니다.

Zishan Liu, Zecong Tang, RuoCheng Wu, Xinzhe Zheng, Jingyu Hu, Ka-Hei Hui, Haoran Xie, Bo Dai, Zhengzhe Liu

게시일 2026-03-02
📖 4 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

🏙️ "상상해, 도시!" - CityGenAgent: 말로만 듣던 도시를 3D 로 만들어주는 마법사

이 논문은 **"CityGenAgent"**라는 새로운 기술을 소개합니다. 이 기술은 우리가 말로 하는 설명 (자연어) 을 듣고, 바로 고퀄리티의 3D 도시를 자동으로 만들어줍니다. 마치 "이곳에 높은 빌딩이 있고, 옆에는 공원이 있는 현대적인 도시를 만들어줘"라고 말하면, 컴퓨터가 순식간에 그 도시를 설계하고 지어주는 것과 같습니다.

이 기술이 왜 특별하고 어떻게 작동하는지, 일상적인 비유로 쉽게 설명해 드릴게요.


1. 기존 기술의 문제점: "레고 조립이 너무 힘들어요"

과거에 도시를 만들거나 3D 장면을 만드는 방식은 크게 두 가지였습니다.

  • 규칙 기반 방식: 사람이 일일이 "도로는 이렇게, 건물은 저렇게"라고 코드를 짜야 했습니다. 마치 레고 블록을 하나하나 손으로 조립하는 것처럼 시간이 너무 오래 걸리고 사람이 개입해야 할 부분이 많았습니다.
  • 이미지 생성 방식 (AI 그림): 최근 AI 가 그림을 잘 그리지만, 3D 공간으로 만들면 건물이 뒤틀리거나, 도로가 겹치는 등 구조가 엉망이 되는 경우가 많았습니다. 마치 2D 그림을 3D 입체로 만들려다 모양이 깨지는 것과 비슷합니다.

CityGenAgent는 이 두 가지의 단점을 모두 해결했습니다.


2. CityGenAgent 의 핵심: "도시 설계도 (프로그램) 를 먼저 그리는 두 명의 마법사"

이 시스템은 도시를 만들 때, 바로 건물을 짓지 않고 두 단계로 나누어 설계도 (프로그램) 를 먼저 작성합니다. 이를 위해 두 명의 전문 '에이전트 (마법사)'가 협력합니다.

🧑‍🏭 1 단계: '블록 생성자 (BlockGen)' - 도시의 골격 잡기

  • 역할: "이 구역에는 아파트 3 동과 중앙 공원이 있어야 해"라는 말만 듣고, **전체 지도 (블록 프로그램)**를 그립니다.
  • 비유: 마치 도시 계획관처럼, "여기에 건물을 짓고, 저기에 공원을 두되, 건물이 서로 부딪히지 않게 배치해라"라고 **지적 (Spatial Reasoning)**을 합니다.
  • 특징: 건물이 서로 겹치지 않게 하고, 도로가 자연스럽게 이어지도록 물리 법칙을 준수합니다.

🏗️ 2 단계: '건물 생성자 (BuildingGen)' - 건물의 디테일 채우기

  • 역할: 1 단계에서 정해진 각 건물의 외관 설명 (예: "유리창이 많은 현대식 외관") 을 듣고, **건물 상세 설계도 (빌딩 프로그램)**를 그립니다.
  • 비유: 마치 건축 디자이너처럼, "창문은 파란색 유리, 지붕은 회색 콘크리트로 만들어줘"라고 세부 사항을 채워 넣습니다.
  • 특징: 사용자가 말한 색상, 스타일, 재료가 실제 3D 모델에 정확히 반영되도록 합니다.

3. 어떻게 배우나요? "시험 (SFT) 과 실전 훈련 (RL)"

이 두 마법사가 처음부터 잘할 수는 없습니다. 그래서 두 단계로 훈련을 시킵니다.

  1. 지도 학습 (SFT - 시험 공부):

    • 수많은 예제 (설명과 정답 설계도) 를 보여주고, 형식을 올바르게 따르는 법을 가르칩니다.
    • 비유: "설계도란 이렇게 JSON 이라는 형식으로 써야 해. 건물이 겹치면 안 돼."라고 기본 규칙을 외우게 합니다.
  2. 강화 학습 (RL - 실전 훈련):

    • 여기서부터가 핵심입니다. AI 가 만든 도시를 보고 **"이건 너무 비현실적이야", "건물 색상이 설명과 달라"**라고 **점수 (리워드)**를 매겨줍니다.
    • 공간 정렬 보상: "건물이 서로 겹치지 않고, 공원이 제자리에 있니?"를 평가합니다.
    • 시각적 일관성 보상: "그림이 설명과 정말 비슷하니?"를 평가합니다.
    • 비유: AI 가 실수하면 감점을 주고, 잘하면 점수를 주어 스스로 더 똑똑해지도록 훈련시킵니다.

4. 가장 멋진 점: "말 한마디로 도시를 수정할 수 있다"

기존 기술로는 도시를 만든 후 건물을 하나 바꾸려면 다시 처음부터 그려야 했습니다. 하지만 CityGenAgent 는 설계도 (프로그램) 가 수정 가능하기 때문에, 자연어로 명령만 내리면 됩니다.

  • 사용자: "이 아파트 건물을 중국의 전통 양식으로 바꿔줘."
  • 시스템: "알겠습니다. (설계도를 분석하여) 층수를 줄이고, 지붕 모양을 기와 지붕으로 바꾸고, 창문 스타일을 변경합니다."
  • 결과: 건물의 구조와 스타일이 동시에 바뀐 새로운 3D 모델이 나옵니다.

이는 단순히 그림을 입히는 것이 아니라, 건물의 구조 자체를 이해하고 변형한다는 뜻입니다. 마치 레고 조립본을 보고 "이 부분을 다른 모양으로 바꿔줘"라고 말하면, AI 가 그 부품들을 다시 조립해 주는 것과 같습니다.


5. 요약: 왜 이 기술이 중요한가요?

  • 자율주행 & 가상현실: 실제와 똑같은 3D 도시를 빠르게 만들어 자율주행 자동차 훈련이나 VR 게임을 만들 수 있습니다.
  • 조절 가능성: "도로를 더 넓게", "건물을 더 높게"라고 말하면 바로 반영됩니다.
  • 고퀄리티: 건물이 뒤틀리지 않고, 실제 도시처럼 물리 법칙을 따릅니다.

결론적으로, CityGenAgent 는 "말만 하면, AI 가 도시 설계도를 짜고, 건물을 짓고, 심지어 수정까지 해주는" 차세대 3D 도시 생성 기술입니다. 이제 우리는 복잡한 코딩 없이, 상상만으로 도시를 지을 수 있게 되었습니다! 🌆✨