오늘은 스테이블 디퓨전 Recolor 기능을 활용한 옛 빛바랜 사진 복원 기술을 소개드릴까 합니다. 인공지능 기술이 발전하면서 흑백사진 컬러 복원 AI 사이트들도 많이 생겨나는 추세인데요, 본문에서는 이런 서비스를 사용하는 대신 집에서 스테이블 디퓨전으로 직접 컬러보원 작업하는 과정을 살펴보고자 합니다.
스테이블 디퓨전 Recolor 설치
먼저 Recolor는 스테이블 디퓨전 컨트롤넷의 기능 중 하나로 SDXL에서 실행 가능합니다. 따라서 SDXL 모델에서 컨트롤넷 실행이 가능한 환경이어야 하며, Recolor 전용 모델까지 갖춰주셔야 흑백사진 컬러 복원을 진행할 수 있습니다. 컨트롤넷 설치 방법 및 Recolor 모델 다운로드는 아래에서 확인할 수 있습니다.
컨트롤넷 설치
컨트롤넷의 경우 모델만 SDXL용으로 사용하면 기존에 설치되어 있던 컨트롤넷을 그대로 이용하시면 됩니다. 만약 컨트롤넷이 처음이신 분들은 아래를 참고하여 설치를 진행하시면 됩니다.
컨트롤넷 Recolor model 다운로드
컨트롤넷 Recolor 모델은 아래 그림에서 보듯 sai_xl_recolor_128lora 또는 sai_xl_recolor_256lora를 다운받아 WebUI 또는 ComfyUI의 컨트롤넷 모델 폴더로 이동해주시면 됩니다.
SDXL VAE 및 모델 다운로드
마지막으로 SDXL을 처음 사용하시는 분들이라면 SDXL 체크포인트 모델과 전용 VAE 모델도 다운받아주셔야 합니다.
Civitai 또는 Huggingface에서 SDXL 모델과 VAE 모델을 다운받아 각각 UI의 해당 폴더로 이동시켜줍니다.
흑백사진 컬러 복원 by Recolor
이제 흑백사진 컬러 복원 준비가 완료되었습니다. 먼저 Recolor의 경우 컨트롤넷 타입(Control Type) 항목에 프리셋이 안보이는 분들은 아래와 같이 All을 선택하고 직접 전처리(Preprocessor)와 모델을 선택한 뒤 전체 설정값을 세팅 합니다.
전처리의 경우 recolor_intensity와 recolor_luminance 두 방식을 선택 가능합니다. 각각 원본 이미지의 강도와 밝기를 기준으로 전처리를 진행하는데, 실사용시 미세한 차이가 있으므로 직접 결과물을 비교해보고 마음에 드는 방식을 선택하시는 것이 좋습니다. 전처리와 마찬가지로 컨트롤 모델 또한 앞서 다운받은 sai_xl_recolor_128lora 및 sai_xl_recolor_256lora 중 직접 사용해본 뒤 결과가 괜찮은 방향으로 선택하면 됩니다.
인물 흑백사진 컬러 복원 결과
아래는 배우 송혜교님의 흑백 사진을 원본이미지로 사용하여 설정가능한 각 경우에 대해 흑백사진 컬러 복원을 진행한 결과입니다. 프롬프트는 간단하게 아래와 같이 입력하였습니다.
Positive Prompt : (best quality:1.5), (realistic:1.5), girl, solo, long hair,
Negative Prompt : (worst quality:1.5),
상단 왼쪽의 원본 흑백사진을 컬러사진으로 복원한 결과인데요, 색감 및 디테일이 가장 많이 살아난 설정은 아무래도 전처리를 luminance로 설정하고 256 모델로 복원을 진행한 사진인 것 같습니다.
정물 흑백사진 컬러 복원 결과
동일한 프로세스를 인물이 아닌 정물에 적용해서 진행해보면 다음과 같습니다.
Positive Prompt : (best quality:1.5), (realistic:1.5), flowers,
Negative Prompt : (worst quality:1.5),
마찬가지로 luminance 전처리에 256모델을 사용했을 때 원본 이미지 대비 가장 색감이 생동감 있게 살아난 결과를 보여주고 있습니다. 이외의 이미지들은 흑백사진으로부터 컬러화가 덜 되어 자칫 무서우리만큼 어두운 느낌입니다.
풍경 흑백사진 컬러 복원 결과
마지막으로 흑백으로 촬영된 프랑스 파리의 풍경사진을 컬러로 복원해보겠습니다.
Positive Prompt : (best quality:1.5), (realistic:1.5), scenery, wide shot, Paris, France,
Negative Prompt : (worst quality:1.5),
이번에도 역시 lumiance 전처리에 256 모델 조합이 가장 색감이 살아난 결과를 보여주지만, 되려 지나치게 색감이 강조되면서 어딘가 부자연스러운 느낌입니다. 오히려 luminance 전처리에 128모델을 이용했을 때 적당한 색감으로 자연스럽게 복원된 모습입니다.
시드값에 따른 변화
인물, 정물, 풍경을 각각 전처리 방식 및 모델을 바꿔가며 비교하긴 했지만, 아래를 보면 사실 복원되는 그림의 색감은 사용된 시드값에 따라 굉장히 크게 영향을 받는 것을 알 수 있습니다.
각 이미지는 모든 설정을 동일하게 한 상태에서 시드값만 다르게 설정한 결과입니다. 그럴듯하게 복원이 되긴 했지만 일부 이미지는 부위별로 컬러가 부자연스럽게 발현되기도 합니다.
프롬프트에 따른 변화
한편 컨트롤넷으로 Recolor를 적용할 때 프롬프트로 부위별 색상을 지정해주면 최대한 반영이 되는 모습입니다. 위 이미지는 luminance 전처리 + 256 모델을 사용하여 좌상단의 원본이미지를 시작으로 순서대로 색상미지정 / 입술색상지정 / 니트색상지정 프롬프트를 사용한 경우 생성된 결과입니다. 원본 이미지를 제외한 각 이미지를 생성할 때 사용한 긍정 프롬프트는 아래와 같습니다.
Positive Prompt 1 : (best quality:1.5), (realistic:1.5), girl, solo, disheveled hair,
Positive Prompt 2 : (best quality:1.5), (realistic:1.5), girl, solo, disheveled hair, pink lips,
Positive Prompt 3 : (best quality:1.5), (realistic:1.5), girl, solo, disheveled hair, red turtleneck,
Negative Prompt : (worst quality:1.5),
색상을 따로 지정하지 않은 2번 그림과 입술 색을 pink lips로 지정한 3번 그림을 비교해보면, 3번 그림의 경우 입술에 핑크색이 어느정도 반영되긴 했지만, 그와 함께 배경색상도 살짝 분홍빛이 같이 도는 것을 볼 수 있습니다. 한편 검은색 상의를 붉은 상의로 지정한 경우, 프롬프트대로 상의 색상을 붉게 처리한 결과를 얻을 수 있었습니다.
결론
SDXL 모델이 등장하면서 기존 SD1.5 대비 화질이 개선되었을뿐만 아니라 더욱 다양한 기술들을 폭넓게 사용할 수 있게 되었습니다. 컨트롤넷을 통해 본문에서 사용해본 Recolor 기능 또한 흑백사진 컬러 복원을 위한 강력한 인공지능 툴로 사용될 수 있을 것 같습니다. 단, 전처리 방식과 모델, 그리고 복원 대상이 되는 이미지의 종류, 노이즈 시드값, 프롬프트 등에 따라 다양한 결과를 얻을 수 있기 때문에 정교한 작업을 위해서는 조금더 연구가 필요할 것 같습니다.