- 블로그
- AI 이미지 변환 결과 검토: 다시 반복하기 전에 확인할 체크리스트
AI 이미지 변환 결과 검토: 다시 반복하기 전에 확인할 체크리스트
AI 이미지 변환을 위한 실용적인 검토 루틴: 통과 조건을 먼저 쓰고, 보존과 변화를 따로 판단하고, 결함에 이름을 붙이고, 통과한 첫 결과에서 멈추는 방법.

이미지 변환이 잘 안 된 세션은 대부분 프롬프트 문제가 아니라 검토 문제다. 누군가 결과를 하나 만들고, 어딘가 잘못됐다는 건 느끼지만 무엇이 잘못됐는지는 말하지 못한 채 프롬프트 전체를 다시 쓰고 또 생성을 돌린다. 그러면서 이미 맞아 있던 세 가지를 잃는다. 10분 뒤에는 각각 다른 방식으로 틀린 이미지 다섯 장이 남고, 어떤 변경이 어떤 결과를 낳았는지에 대한 기록은 없다.
빠져 있는 단계는 결과를 보는 방식이다. 그 방식은 세 가지 결정 중 하나로 끝나야 한다. 받아들이거나, 문구를 바꾸거나, 강도를 바꾸는 것. 이 루틴은 생성 과정 안이 아니라 생성 사이사이에 들어간다. 또한 사진에서 무엇을 원하는지 이미 알고 있다고 전제하는데, 그것은 원하는 것을 얻었는지 판단하는 것과는 별개의 능력이다.
생성하기 전에 통과 조건을 써라
검토에는 기준이 필요하고, 그 기준은 이미지보다 먼저 존재해야 한다. 먼저 문장 하나를 써라. 이 이미지가 완성되려면 무엇이 참이어야 하는가. 같은 돌 표면 위의 같은 병, 같은 그림자 방향, 다만 배경은 회색이 아니라 따뜻한 모래색으로. 이 문장에는 두 부분이 있고 둘 다 중요하다. 원하는 변화와, 그 변화 속에서도 살아남아야 하는 것들이다.
이 문장은 잘못된 요청도 걸러낸다. 통과 조건에 분위기, 조명, 새 소재에 대한 절이 세 개 필요하다면 그 작업은 하나인 척하는 세 개의 편집이고, 어떤 검토로도 어느 부분이 실패했는지 알려줄 수 없다. 나눠라. 원본은 유지하고, 각 부분을 순서대로 실행하라. Adobe Firefly의 텍스트 프롬프트 편집기는 이렇게 쓰라고 만든 것이다. 안내 문서에서도 이전 결과 위에 지시를 하나씩 쌓는다. 꽃병의 색을 바꾸고, 그다음 벽지를 추가하고, 그다음 네 번째 꽃병에 꽃을 더한다. 각 단계는 자기만의 통과 조건과 자기만의 검토를 가진다.
이 문장을 쓸 수 없다면 아직 무엇도 판단할 준비가 안 된 것이다. 그 상태의 생성은 찍기에 가깝다. 실제로 그렇기 때문이다.
모든 결과에 두 가지 질문을, 순서대로
결과물을 보고 다음 질문에 각각 답하라.
첫째, 내가 요청한 것이 실제로 바뀌었는가? 둘째, 요청하지 않은 모든 것이 원래 자리에 그대로 있는가?
두 질문이 분리되어 있는 이유는 실패도 따로 일어나기 때문이고, 두 실패의 원인은 정반대다. 변화가 빠졌는데 보존은 지켜졌다면 지시가 너무 무르거나 변환이 너무 소심했던 것이다. 모델이 당신의 사진을 답으로, 프롬프트를 제안으로 취급한 것이다. 변화는 나왔는데 보존이 깨졌다면 반대다. 모델에게 자유가 있었고 그것을 다 써버린 것이다. 표면과 조명과 형태를 붙잡아 줄 것이 없었기 때문에 모델이 그것들을 다시 스타일링한 것이다.
디퓨전 기반 image to image 파이프라인에서는 이 과정이 기계적으로 일어난다. Hugging Face 문서는 초기 이미지가 인코딩되고 노이즈가 더해진 뒤 프롬프트를 향해 디노이징된다고 설명하며, 원본이 그 여정에서 얼마나 살아남는지를 strength 설정이 결정한다고 말한다. 이어서 guidance scale이 결과가 텍스트를 얼마나 엄격히 따르는지를 좌우하고, 값이 높을수록 프롬프트에 더 촘촘히 정렬되며 벗어날 여지가 줄어든다. 검토할 때 당신은 그림에서 이 두 힘을 읽는 것이다. 변화가 너무 적으면 약한 밀어내기다. 부수적 손상이 너무 많으면 아무것도 붙잡아 주지 않는 강한 밀어내기다.

한 번에 다이얼 하나만 움직여라, 보통 그 다이얼은 강도다
실망스러운 결과를 본 뒤의 본능은 프롬프트를 다시 쓰는 것이다. 그러나 그것은 대개 잘못된 첫 수다. 여러 가지를 한꺼번에 바꾸면서 어느 것이 중요했는지에 대해 아무것도 알려주지 않기 때문이다.
프롬프트가 정확한데 변화가 그냥 반영되지 않았다면 변환 강도를 올려라. 프롬프트가 정확한데 구도가 너무 멀리 흘러갔다면 낮춰라. 같은 문서가 그 숫자의 의미를 분명히 밝힌다. 강도가 높을수록 모델은 시작 이미지와 다른 것을 만들 여지를 더 많이 얻고, 강도 1.0은 초기 이미지가 사실상 무시된다는 뜻이며, 값이 낮을수록 출력은 당신이 가져온 사진에 가깝게 유지된다.
이 다이얼이 순수한 산수는 아니지만 그 산수는 알아둘 가치가 있다. 강도는 적용되는 디노이징 스텝 수를 조정하므로, 50스텝에 대한 0.8의 강도는 40스텝만큼의 노이즈를 더하고 다시 제거한다. 범위의 위쪽에서의 움직임은 큰 변화를 만들고, 같은 폭의 움직임도 아래쪽에서는 거의 변화를 만들지 않는다.
KOOX의 image to image 도구는 이 제어를 그대로 노출하고 같은 방식으로 설명한다. 더 극적인 변화에는 더 높은 강도, 원본에 더 가깝게 가려면 더 낮은 강도다. 검토 결과가 방향은 맞는데 부족하다고 말할 때 가장 먼저 움직일 것이 바로 이것이다. 하지 말아야 할 것은 강도를 움직이면서 같은 시도에서 문장까지 다시 쓰는 것이다. 결과가 좋아져도 어느 변경 덕분인지 알 수 없고, 다음 이미지는 찍기에서 시작된다.
문장을 다시 쓰기 전에 결함에 이름을 붙여라
막연한 불만은 막연한 재시도를 낳는다. 결함에 이름을 붙여라. 이름마다 구체적인 해법이 있다.
교체된 요소가 주변과 만나는 곳의 가장자리 이음매나 후광: 국소 변화가 모델이 블렌딩할 수 있는 범위보다 크다는 뜻이므로 영역을 줄이거나 강도를 낮춰라. 반복되는 텍스처, 타일 패턴, 단단해 보여야 할 표면이 짜인 것처럼 보이는 경우: 패턴이 아니라 소재와 마감을 설명하라. 패턴을 가리키는 명사는 해석되지 않고 그대로 복사되기 때문이다. 깨진 텍스트, 없는 라벨, 뭉개진 글자: 모델이 읽을 수 없는 활자를 재현하라고 생성 모델에 요구하지 말고, 나중에 실제 활자로 합성하라. 휘어진 직선, 붙어버린 손가락, 떠 있는 물체: 기하학 문제는 대개 구조가 아니라 스타일에 단어를 다 써버린 프롬프트에서 나오므로, 무엇이 어디에 있고 무엇이 무엇 위에 놓여 있는지 말하라. 두 방향에서 들어오는 빛, 혹은 엉뚱한 쪽을 가리키는 그림자: 방향과 부드러움, 시간대를 한 구절에 담아 말하라. 그래야 모델이 빛에 대한 설명이 아니라 빛 하나를 얻는다. 아무도 요청하지 않은 물체: 장면이 충분히 설명되지 않아 빈자리가 채워진 것이므로, 빈 공간을 의도적으로 언급하라.
2분 동안 이름을 붙이는 일이 보통 세 번의 재생성을 대신한다. 실패한 시도를 정보로 바꿔주기도 하는데, 재시도가 치러야 할 비용은 그것뿐이어야 한다.
이미지가 쓰일 크기에서 판단하라
어떤 이미지든 썸네일로 보면 괜찮아 보인다. 이음매는 사라지고, 지어낸 디테일은 텍스처처럼 읽히고, 엉뚱한 방향의 그림자는 보이지 않는다. 대신 두 번 판단하라. 한 번은 가장자리와 얼굴, 글자를 살피기 위해 원래 크기로, 한 번은 파일이 실제로 나타날 크기로. 상품 카드, 헤더, 휴대폰 화면 같은 크기다. 원래 크기에서 살아남는 디테일이 폭 300픽셀에서는 사라질 수 있고, 300픽셀에서 아무것도 아닌 것처럼 보이는 디테일이 인쇄를 반려시키는 이유가 될 수 있다.

이전 시도가 아니라 원본과 비교하라. 기억은 좋은 기준이 아니다. 생성할 때마다 원본이 어땠는지에 대한 감각이 초기화되고, 네 번 시도하고 나면 지키려던 것이 파일에서만큼 머릿속에서도 흘러가 있다. 히스토리 패널을 유지하는 편집기는 이전 버전을 현재 버전 옆에 열 수 있게 해서 이 문제를 해결한다. 그러니 스크롤할 곳이 아니라 비교용으로 의도적으로 써라.
값싼 요령이 하나 더 있다. 이미지를 좌우 반전하거나, 5분 두었다가 다시 오는 것이다. 둘 다 30초쯤 쳐다보면 눈이 자리 잡는 패턴 매칭을 깨고, 보이지 않게 된 결함을 다시 드러낸다.
통과한 첫 결과에서 멈춰라
생성은 샘플이지 수리가 아니다. 같은 프롬프트를 다시 돌리는 것은 점진적 수정이 아니라 새 이미지에 대한 동전 던지기를 다시 하는 것이고, 열 번째 샘플은 네 번째보다 나은 게 아니라 그저 다를 뿐이다.
그러니 멈출 지점을 정하라. 이미지가 통과 조건을 만족하고, 발견한 결함이 출력 크기에서 나타나지 않는다면 끝난 것이다. 쓰고 넘어가라. 그 지점을 지나 계속 반복하는 것이 세션을 반나절로 만들고, 좋은 결과를 스스로 설득해 고른 조금 더 나쁜 결과로 바꾸는 길이다.
따름정리가 더 중요하다. 연속한 두 시도가 같은 축에서 실패한다면 생성을 멈추고 상류의 무언가를 고쳐라. 원본 사진이 해상도나 흐림, 혹은 엉뚱한 쪽을 향한 물체 때문에 그 변화를 지탱할 수 없거나, 요청이 한 번에 하기엔 너무 커서 나눠야 하는 것이다. 바뀌지 않은 설정에서 더 시도하면 같은 실패가 다른 노이즈로 나올 뿐이다.
받아들인 파일은 보관하라. 버려진 시도는 뭔가를 가르쳐줬을 때만 남기고, 버전 이름은 final, final2, final-v3보다 무엇이 바뀌었는지 말해주는 쪽을 택하라.
다섯 줄짜리 검토 노트를 남겨라
이 모든 것은 적어두면 오래 걸리지 않고, 같은 종류의 사진을 두 번째 편집할 때 그 노트가 값을 한다.
다섯 줄이면 충분하다. 원본 파일, 요청, 사용한 강도, 두 질문에 대한 판정, 그리고 결정. 스튜디오 병, 강도 중하, 변화 반영됨, 라벨 흘러감, 소셜용으로 승인하고 인쇄용으로는 사용하지 않음. 동료에게 건넬 수 있는 문장이고, 다음 달 같은 고객이 같은 제품을 보냈을 때 읽을 수 있는 노트다.
팀에게는 두 번째 이점이 있다. 서면 판정은 세 사람이 같은 이미지를 다르게 묘사하면서 아무도 무엇이면 받아들일 만한지 말하지 못하는 순환을 끝낸다. 첫 단계에서 만든 통과 조건이 검토가 이루어지는 공유 언어가 된다.
이 루틴은 의도적으로 지루하다. 전에 문장 하나, 중간에 질문 둘, 후에 세 가지 결정 중 하나, 마지막에 노트 하나. 지루함이 핵심이다. 변환은 이제 충분히 빨라져서 병목이 생성에서 판단으로 옮겨갔고, 판단이야말로 체계화할 수 있는 부분이다.
이미 마음에 드는 사진으로 시작해서 문장을 쓰고, 검토가 알려주는 위치에 강도를 두고 한 번 돌려라. 실제로 이 루틴을 시험해보고 싶다면 KOOX image to image 도구를 열어보라. 문구가 여전히 남은 문제라면 이 다섯 가지 프롬프트 레시피와 이 네 번 통과 루틴이 그 절반을 다룬다.