brunch

You can make anything
by writing

C.S.Lewis

by 박송이 Sep 10. 2024

포토샵 없이 말로 이미지 편집하기 : 논문 리뷰

포토샵 없이 이미지 편집하는 방법 알려 drill게요!


2024.02.26 |  vol. 17  |  구독하기  |  지난호 보기

미래에 할 수 있는 경험을 사전 예약하신 퓨처드릴 구독자, 드릴러 여러분 안녕하세요!


AI와 UX의 알쏭달쏭한 점을 시원히 해결해 drill 퓨처드릴 에디터  쏭입니다.


오늘은 애플에서 오픈소스로 발표한 MGIE라는 논문을 자세히 리뷰해 보는 시간을 갖도록 하겠습니다. 이 논문 속 모델은 포토샵과 같은 전문적인 이미지 편집 도구 없이도 자연어와 같은 프롬프트로 이미지를 편집할 수 있습니다. 이번 논문의 기본 뼈대가 되는 멀티모달 LLM부터 모델의 핵심이 되는 부분까지 모두 알려 drill게요~!


목차

1. MULTIMODAL LARGE LANGUAGE MODELS (MLLMS)이란 무엇일까요?

2. MGIE 논문 핵심 톺아보기

    1) MGIE 모델의 핵심 살펴보기

    2) 섹션 1.  간결한 지시사항 도출하기

    3) 섹션 2. 지시사항을 기반으로 이미지 생성하기




시작하기 - Turning On the Drill



제 손은 없애주고 아이가 날고 있는 것처럼 해주세요


출처 : https://orbi.kr/00012151471


여러분 혹시 페이스북에서 이미지 편집을 요청하면 위트 있게 사진을 편집해 주는 페이지들을 보신 적 있으신가요? 요즘은 문턱이 낮아졌지만, 예전에는 포토샵과 같은 이미지 편집 도구를 사용하지 못하는 사람들이 전문가에게 이미지 편집을 요청하는 일이 왕왕 있었는데요, 만약 내가 포토샵과 같은 전문적인 도구를 모르더라도 프롬프트만으로 이미지를 편집할 수 있다면 어떨까요? 오늘은 애플과 산타바바라 대학이 협력하여 만든 MGIE라는 논문을 소개해 드리도록 하겠습니다. MGIE 논문의 가장 큰 특징 두 가지와 그 특징을 결합하여 전체 학습 과정은 어떻게 이루어지는지 알려드릴게요.


모두 follow me ~ 



MULTIMODAL LARGE LANGUAGE MODELS 무엇일까요?



다양한 모달리티를 처리할 수 있는 LLM


출처 : https://www.infoq.com/news/2023/09/next-gpt-multimodal/


Chat-gpt에서 사용되는 모델은 거대 언어 모델(LLM)입니다. 우리가 평상시 사용하고 있는 Chat-gpt는 거대 언어 모델(LLM) 기반으로 다들 써보셔 아시겠지만 이미지를 주고 정보를 요청할 수 없습니다. 저희가 할 수 있는 일은 오직 텍스트를 입력하는 것으로 제한됩니다. 하지만 구글의 Bard, Gemini 같은 모델은 텍스트 이외의 이미지, 사운드 같은 다양한 형식의 데이터도 입력할 수 있습니다. 이렇게 다양한 모달리티를 처리할 수 있는 모델을 바로 멀티 모달 대형 언어 모델 (MLLM)이라고 합니다. 다양한 형식의 데이터를 처리하기 위해서는 각 형식의 데이터를 이해하는 부분과 그 특징을 바탕으로 언어로 출력하는 부분이 있습니다. 입력으로는 이미지, 소리, 제스처와 같은 다양한 데이터가 들어갈 수 있지만 언어 모델인 만큼 출력은 언어로 이루어집니다. 다양한 형식의 데이터와 출력으로 나오는 언어를 연결해 주는 부분이 필요한데 그 부분을 ‘시각 인코더’와 ‘어댑터’라고 합니다. 이 논문에서는 사진을 기반으로 이루어지기 때문에 시각 인코더라고 했지만 소리가 입력된다면 소리 인코더가 됩니다.


시각 인코더(Image Encoder)는 인공지능이 이미지를 이해하고 처리할 수 있도록 도와줍니다. 이미지에서 중요한 특징이나 패턴을 찾아내고 숫자로 변환해 줍니다.


어댑터(Adapter)는 시각 인코더가 추출한 이미지의 특징을 언어로 표현할 수 있도록 도와줍니다. 즉 이미지에 대한 정보를 단어나 문장으로 바꿔줍니다.



MGIE 논문 핵심 톺아보기



MGIE 모델의 핵심 살펴보기


출처 : GUIDING INSTRUCTION-BASED IMAGE EDITING VIA MULTIMODAL LARGE LANGUAGE MODELS


위의 그림은 논문 속 모델의 핵심 구조를 간단히 정리한 모습입니다. 위에서 살펴보았던 MLLM이 두 번이나 등장하고 Diffusion 모델도 등장하는 만큼 매우 복잡한 처리 과정을 통해 이미지 편집이 이루어짐을 알 수 있습니다. 우리가 요청하는 것은 이미지 편집이지만 사실은 요청 사항을 통해 만들어진 이미지에 대한 설명을 바탕으로 이미지를 새롭게 생성하는 모델입니다. 구조가 너무 복잡한 만큼 아래에서 크게 두 부분으로 나누어서 설명해 드릴게요.  



출처 : 논문에서 발췌 후 가공

MGIE 논문은 크게 두 섹션으로 나누어져 있습니다. 첫 번째 섹션은 사용자의 모호한 요청을 이미지를 새롭게 그릴 수 있을 정도의 구체적인 표현으로 변환하는 부분입니다. 두 번째 섹션은 섹션 1을 통해 만들어진 표현과 원본 이미지를 Diffusion 모델에 넣고 이미지를 생성하는 부분입니다. 아래에서는 구체적인 예시를 두고 설명해 드릴게요.  



출처 : 논문에서 이미지를 발췌해 직접 제작

여기 숲 속에 있는 오두막 사진 한 장과 "배경을 사막으로 바꿔줘"라는 사람의 요청이 있습니다. 맨 오른쪽에는 숲 속에 있는 오두막을 사막으로 바꾼 우리의 정답 이미지가 있습니다. 이렇게 입력 이미지와 사람의 요청, 그리고 학습을 위해 만들어 둔 정답 이미지를 통해 모델이 학습하게 됩니다. 

 섹션 1을 통해서는 숲 속에 있는 오두막 이미지를 사용자의 요청에 따라 바꾸었을 때 어떤 모습을 하게 될지 언어로 출력합니다. 만약 배경을 사막으로 바꾸게 된다면 '모래 언덕', '선인장'과 같은 키워드가 도출될 것입니다. 


 섹션 2에서는 섹션 1을 통해 만들어진 문장과 원본 이미지를 Diffusion 모델에 넣고 돌린 결과를 처음 주어진 정답 이미지와 비교하여 그 차이만큼 모델을 다시 학습시킵니다.


섹션 1과 2에서 어떤 과정을 거치는지 아래에서 더 자세히 설명드릴게요.


섹션 1.  간결한 지시사항 도출하기


출처 : 논문의 내용을 바탕으로 직접 제작

사람들의 요청은 모호할 수 있습니다. 위의 예시처럼 “배경을 사막으로 바꿔줘”라는 지시가 무엇을 의미하는지 인공지능은 바로 이해할 수 없습니다. 그렇기에 우리가 원하는 목표 이미지가 어떤 시각적 특성이 있는지 정확히 도출하기 위해서 MLLM을 이용해 학습하는 과정이 필요합니다. 아래는 우리가 가지고 있는 원본 이미지와 이미지의 편집 방향을 가지고 간결하고 명확한 지시 사항을 도출하는 과정입니다.


1. prompt + instruction을 통해 새로운 지침을 만들기 + 편집하고 싶은 이미지를 MLLM에 입력하기

"만약 [”배경을 사막으로 바꿔줘”]를 하면 이 이미지는 어떻게 될까요?"라는 새로운 프롬프트 만들어 이미지와 함께 MLLM에 입력으로 넣어줍니다.


2. MLLM의 결과를 요약 모델에 넣어 간결하고 명확한 지시 사항을 도출하기

그러나 MLLM의 결과로 나온 설명은 보통 너무 길고 중복된 내용이 있고 그렇기에 원래 우리가 수정하고자 했던 방향을 잘못된 방향으로 이끌 수 있습니다. 그래서 사전 훈련된 요약 모델에 MLLM의 결과를 다시 넣어 간결하면서도 핵심만을 담고 있는 핵심 표현을 도출할 수 있습니다.


이렇게 도출된 핵심 표현 E를 통해 우리가 바라는 최종 이미지가 어떤 특징을 가져야 하는지 언어로 정리했습니다. 이제 해야 할 일은 이 표현을 이미지로 대응하여 우리의 원본 이미지를 변환하는 일입니다.


섹션 2. 지시사항을 기반으로 이미지 생성하기


출처 : 논문의 내용을 바탕으로 직접 제작


MLLM은 다양한 형식의 데이터를 처리할 수 있지만 그 결과는 언어 형식입니다. 우리가 원하는 것은 간결하고 구체적인 핵심 표현 E를 이미지로 바꾸어서 최종 이미지 생성을 담당하는 Diffusion 모델에 입력하는 것입니다. 핵심 표현 E를 시각적 특징으로 변환하기 위해 편집 헤드 T(Edit Head T)를 이용합니다.



이렇게 편집 헤드 T를 통해 도출된 결과와 원본 이미지를 함께 Diffusion 모델에 입력으로 넣으면 모델은 이 둘을 함께 종합해 원본 이미지에서 우리가 원하는 편집 방향을 담은 핵심 표현 E를 함께 고려해 이미지를 생성하게 됩니다. 이렇게 만들어진 이미지가 ‘모델이 생성한 이미지’가 되고 모델을 학습시키기 위해서 미리 만들어둔 ‘정답 이미지’ 간의 차이를 계산해 틀린 만큼 다시 모델을 학습시키게 됩니다.


MGIE논문은 모델 구조와 학습 방법까지 모두 코드로 공개하고 있습니다.

오픈소스로 공개된 내용은 아래의 링크를 참고해 주세요



코드 저장소 : https://github.com/apple/ml-mgie

논문 링크 : https://tsujuifu.github.io/pubs/iclr24_mgie.pdf

데모 사이트 : https://huggingface.co/spaces/tsujuifu/ml-mgie




마무리하기 - Turning Off the Drill



여러분 오늘 논문 어떠셨나요? 포토샵과 같은 도구를 사용하지 않아도 자연어만으로도 이미지를 편집할 수 있다니 정말 새로운 접근방식이라고 생각합니다. 오늘 뉴스레터에서는 다루지 못했지만, 애플은 최근 키프레이머라고 하는 자연어만으로 짧은 애니메이션을 만들 수 있는 모델 또한 오픈소스로 공개했습니다. 생성형 인공지능의 도움으로 포토샵과 같은 전문 도구 안에서도 쉽게 이미지를 만들 수 있게 되었는데 이제는 도구를 사용하지 않더라도 내가 원하는 이미지를 자유롭게 만들어낼 수 있는 세상이 성큼 다가온 것 같습니다.


 이렇게 자연어를 이용해 다양한 처리를 할 수 있는 모델이 많은 등장하는 배경에는 애플이 최근 출시한 비전 프로와 같은 XR 제품들이 있다고 생각됩니다. 비전 프로와 같은 XR 환경에서 일일이 손으로 조작하는 인터페이스보다는 자연어를 통해서 말로 명령을 내릴 수 있다면 사용자가 훨씬 더 가상환경에 집중할 수 있으리라 생각됩니다. 


  빠른 기술 발전으로 놀라움과 걱정을 동시에 느끼는 요즘, 더 많은 드릴러분들이 미래에 적절히 대응할 수 있도록 더 깊이 있는 내용으로 찾아뵙겠습니다. 오늘도 어려운 내용 끝까지 읽어주셔서 감사합니다.




오늘의 단어: 멀티모달 LLM (Multimodal LLM)


  멀티모달 LLM은 인공지능 모델의 한 종류로, 다양한 형태의 데이터를 처리하고 이해하는 능력을 갖춘 모델을 말합니다. 이 모델은 주로 텍스트, 이미지, 오디오, 비디오 등 다양한 형식의 정보를 동시에 이해하고 활용할 수 있습니다. 예를 들어, 텍스트로 된 설명과 함께 이미지를 보고 그에 대한 내용을 이해하거나, 오디오 클립과 텍스트로 된 트랜스크립트를 함께 고려하여 문맥을 파악할 수 있습니다.


  이러한 멀티모달 모델은 여러 형태의 데이터를 함께 고려함으로써 상호 보완적인 정보를 활용하여 더 정확하고 풍부한 결과를 도출할 수 있다는 장점이 있습니다. 이러한 멀티모달 LLM은 다양한 분야에서 활용될 수 있습니다. 예를 들어, 영상 콘텐츠의 자막 생성, 이미지 캡션 생성, 음성 인식과 이해, 자연어 처리 등의 분야에서 활발하게 연구되고 적용되고 있습니다. 이 모델은 다양한 형식의 데이터를 동시에 고려함으로써 보다 풍부하고 의미 있는 결과물을 생성할 수 있어서 많은 분야에서 유용하게 활용되고 있어요.




AI Experience (AIX)의 이모저모를 전해드리는 '퓨처드릴'입니다!

퓨쳐드릴은 네 명의 에디터가 매주 돌아가면서 글을 작성하고 있습니다. 


퓨쳐드릴 뉴스레터는 월요일 아침 8시에 발송됩니다. 

새로운 뉴스레터를 받아보고 싶으시다면 https://futuredrill.stibee.com/ 여기서 구독해 주세요:)

매거진의 이전글 Human-Centered AI를 위한 7가지 가이드
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari