· No.16
실제 장소를 프롬프트로 열 번 만들려다 졌다 — 사진을 크롭해서 인페인트로 돌린 이유
서울의 특정 교차로를 텍스트로 재현하려다 v10 까지 갔다. 매번 다른 이유로 실패했고, 그중 셋은 우리가 그 장소를 잘못 알고 있어서였다. 방향을 바꾼 뒤로는 프롬프트가 장소를 만들지 않는다 — 사진이 만들고 프롬프트는 사건만 만든다. img2img 로 낮을 밤으로 못 바꾼다는 실측치, 단계 업스케일이 완패한 이유, 그리고 한글 간판이 나오던 원인.
특정 장소가 배경인 장면이 있다. 서울의 큰 교차로이고, 보는 사람이 어디인지 알아봐야 한다. 프롬프트로 그 장소를 만들려고 열 번 시도했다.
반려 사유는 매번 달랐다. 결정적인 것은 이거였다. 「지금은 꾸며낸 이상한 5차선 도로가 되어 있다」
실패의 절반은 모델이 아니라 우리였다
프롬프트를 고치기 전에 그 교차로를 실제로 조사했다. 우리가 쓰던 서술이 세 군데 틀려 있었다.
| 우리가 쓰던 것 | 실제 |
|---|---|
| 5차선 | 왕복 10차로 · 폭 50m |
| 가장자리 버스전용차로 | 중앙 버스전용차로 + 지붕 덮인 섬식 정류장 |
| 지상 횡단보도 | 이 교차로에는 지상 횡단보도가 없다 (지하상가로 건넌다) |
마지막 줄이 중요하다. 없는 것을 그리라고 시키면 모델은 그린다. 그리고 그 장면은 그 장소를 아는 사람에게만 틀려 보인다. 우리는 그때까지 프롬프트 표현을 고치고 있었는데, 고쳐야 했던 것은 사실이었다.
여기서 나온 한 줄: 장소가 실재하면 프롬프트 기술이 아니라 조사가 먼저다.
한글 간판이 나오는 원인도 우리가 잘못 짚었다
생성물에 읽을 수 없는 한글 비슷한 글자가 계속 생겼다. 프롬프트로 억제하려고 두 번 시도했고 두 번 다 실패했다. 그다음 가설은 「카메라가 낮아서 간판이 잡힌다」였다 — 이것도 틀렸다.
실측으로 나온 원인은 간판이 달린 중층 상가 파사드였다. 그 건물 유형이 화면에 있는 한 모델은 거기에 글자를 채운다. 카메라 높이를 올려도 그 유형이 남아 있으면 그대로 나온다.
그래서 억제 대상을 글자가 아니라 건물 유형으로 바꿨다. 주변 건물을 전부 간판 없는 유리 커튼월로 못 박았다. 이 조항을 빼면 재발한다.
방향 전환 — 장소는 사진이 만든다
열 번째 판까지 가서야 방향을 바꿨다. 실제 사진 한 장을 입력으로 넣었다.
그 뒤로 프롬프트의 역할이 달라졌다. 장소는 사진이 정하고, 프롬프트는 사건만 정한다. 차로 수를 서술할 필요가 없다. 사진에 이미 열 개 있다.
전환하면서 실측으로 갈린 것이 셋이다.
① img2img 로 낮을 밤으로 못 바꾼다. denoise 를 0.30 에서 0.60 까지 올리면서 쟀는데, 파란 하늘의 면적 비율이 24.5% 에서 24.9% 로 줄지 않았다. 대신 구조 일치도가 0.808 에서 0.643 으로 무너졌다. 모델이 「밤」이라는 단어보다 입력 픽셀을 믿는다. → GPU 를 전혀 안 쓰는 픽셀 단위 색보정으로 밤을 먼저 만들고 나면 denoise 0.26 에서 성립한다.
② 단계 업스케일이 완패했다. 작은 판에서 시작해 두 번에 나눠 키우는 정석대로 갔더니, 반절 크기 판에는 모델이 붙잡을 구조가 부족해서 그 교차로를 저층 상점가로 재발명했다. 라틴 문자 간판까지 만들었다. GPU 시간을 두 배 쓰고 결과가 더 나빴다. → 크롭한 뒤 한 번에 3.21배로 올리는 쪽이 이겼다. 구조를 잃을 기회를 안 준다.
③ 불과 도로는 같은 denoise 로 양립하지 않는다. 사고 현장 전체를 0.60 으로 돌리면 도로 구조가 흔들리고, 도로를 지키려고 낮추면 불이 안 붙는다. → 넓은 영역은 0.60, 발화 지점만 작은 타원 두 곳에 0.95. 강도를 하나로 정하지 않고 영역별로 다르게 준다.
낮으로 바꾼 것도 결정이었다
원래 이 장면은 새벽 2시대였다. 밤 배경을 만들다가 대표가 방향을 틀었다 — 빌딩에 불이 안 켜져 있으면 품질이 낮아 보인다. 밤 도시를 그리면 창문 하나하나에 불이 들어와야 하는데, 그게 안 되면 보는 사람은 「밤이구나」가 아니라 「덜 만들었구나」로 읽는다.
낮으로 옮기자 부수 효과가 있었다. 연기가 밝은 하늘에 대비돼 오히려 잘 보인다. 대신 시각 설정이 바뀌면서 나레이션과 색감, 컷 구성이 전부 영향을 받았다. 배경 연도까지 다시 확정하고 요일을 검산했다.
이 판에서 굳어진 규칙
프롬프트로 안 되는 것은 픽셀로 한다. 이 판단이 이 프로젝트에서만 다섯 번 나왔다.
- 흰 연기를 검은 연기로 — 24판 전패 → 픽셀 합성으로 해결
- 특정 자세 — 20판 전패 → 픽셀 합성
- 상처가 엉뚱한 인물에게 붙음 — 22판
- 얼굴 열상 — 18판
- 낮 색보정 — 34판
판수가 두 자리로 올라가면 그건 프롬프트 문제가 아니다. 판수 자체가 신호다. 지금은 같은 지시를 열 번 넘게 반복하고 있으면 그 시점에 방법을 바꾼다.
부수적으로 알게 된 것 하나. 모델은 원경 마스크 안에서는 자세를 못 만들지만, 인물이 화면을 가득 채우면 만든다. 같은 지시가 크기에 따라 되고 안 된다. 그래서 「이 모델은 자세를 못 만든다」는 표현은 정확하지 않다 — 조건이 붙는다.