기본 콘텐츠로 건너뛰기

사진의 일부분 수정하기 - Flux를 이용한 사진의 세밀한 부분 편집

 사진 또는 이미지에서 어느 부분을 수정하고 싶을 때

보통은 Photoshop 을 이용하여 사진 편집을 많이 한다.  그런데도 수정 후 뭔가 부자연스러움을 느끼면 수정 작업이 어려워 진다.  초보자들에게는 불가능에 가까운 작업이다.  물론 Flux 와 Comfyui 를 이용하여 하는 작업도 초보자들에게는 어려운 일이지만 일단 Workflow 가 완성되면 작업이 쉬워진다.  멋진 이미지의 팔에 문신을 한번 새겨 보자.
팔에 나비 문신을 새김

1. 세밀한 작업을 위한 Process

    중요한 것은 수정을 한 이미지가 처음처럼 자연스럽게 작업이 완료 되어야 한다.
스테이블 디퓨전이든 Flux 든 세밀하게 원본 이미지를 수정하기가 쉬운 일이 아니다.  그 과정을 간단하게 아래 Process 로 설명한다.
Process
원본 이미지에 바로 그려 넣으면 상세하고 자연스럽게 표현이 안된다. 그래서 일단 삽입할 부분에 Masking 처리를 한 후 그 부분을 확대하고 거기에 원하는 이미지를 그려 넣고 그것을 다시 원본으로 축소하여 원본 이미지에 병합을 해 주면 완성이 된다. 이 Process 방식으로 작업을 하면 상세한 Control 이 가능해 진다.

2. Workflow 만들어 이미지 수정하기

  • 원본 이미지 마스킹 한 후 masking 부분과 원본 이미지를 확대한다.

    
Masking Workflow
원본 이미지에 masking 은 원본 이미지 위에서 마우스 오른쪽 버튼을 클릭하면  "Open in MaskEditor" 를 열 수있다.  그 작업 판넬에서 원하는 부분을 마스킹 한 후 "Save to Node"를 클릭하면 마스킹이 된다.
적색 그룹 부분은 마스킹 부분을 일정한 크기로 오려내고 그 크기대로 이미지도 오려 내는 Workflow 이다.   청색 과 녹색 그룹 부분은 마스킹 부분과 이미지 부분을 확대하는 노드이다.  마지막으로 황색 그룹 부분은 픽셀 이미지는 Sampler 에 바로 사용이 안되기 때문에 Encoding 하여 Latent 이미지로 만들어 Sampler 의 입력 단자에 연결하기 위한 노드 들이다.
  • 기본 Flux 이미지 생성용 Workflow를 만든다.

Flux Basic Workflow
  • Masking Workflow 의 Latent 출력 단자를 Flux Basic Workflow 의 SamplerCustomAdvanced 노드의 latent_image 입력 단자에 연결하면 된다.  그러면 Sampler 는 마스킹 부분에만 prompt 에 입력한 대로 세밀하게 그림을 그려준다.
  • 그 그림을 다시 원래 사이즈 대로 축소 하여 원본 이미지와 병합하면 최종 Workflow가 완성이 된다. 
완성된 Workflow
  • Prompt ("photo of red butterfly tattoo on skin") 이며, FluxGuidence 값(5.0) 과 BasicSchedulerdenoise 값(0.9) 를 적절하게 조정하면 원하는 이미지를 얻을 수 있을 것이다.
그 결과가 맨 위의 이미지 이다.  아마도 피부 색과 비교해도 매우 자연스럽게 타투가 그려진 것을 알 수 있다.  다른 것 들도 응용해서 만들 수 있다.

3. 다른 이미지 수정 응용

  • 얼굴의 원하는 위치에 점 만들기
  • 옷에 명품 로고를 만들기
  • 이미지에 타이틀이나 축하 인사 쓰기
  • 테이블 위에 과일이나 화병의 꽃 만들기
  • 세밀한 작은 물건들 삽입이 가능하다.

4. 실제 사례 이미지

  • Prompt : ((a photo of NIKE Logo :1.3)) 옷에 나이키 로고 만들기

나이키 로고
  • Prompt : ((a photo of dark irregular shape:1.3)) 점을 나타내기 위해 사용


입술 아래 점

5. 이미지 수정 결론

    원본 이미지를 수정하는 것은 inpaint 기능을 사용해도 되고 ipadapter 를 사용해도 어느정도 가능하지만, 작은 부분을 수정할 때에는 그것들 만으로는 정교하고 세밀하게 나타내기가 어렵다.  이 workflow 를 이용하면 작은 로고들도 세밀하게 그려주기 때문에 원래의 원본 이미지인 것 처럼 만들어 진다. 무더위가 물러난지 며칠이 되어서 이제는 좀 더 컴퓨터에 앉아있는 시간이 많이 생겼다.   좋은 이미지를 Flux 나 스테이블 디퓨전으로 만들고 거기에 매력 포인트를 첨부하면 아주 만족할 이미지를 얻을 것으로 생각한다.

댓글

이 블로그의 인기 게시물

Comfyui Wildcard 사용법 - Stable Diffusion , Flux 에서 쉽게 Random Prompt 로 이미지 만들기

 Comfyui Wildcard 사용법에 대하여 알아본다. Comfyui 로 Stable Diffusion 또는 Flux 로 이미지를 만들 때 Prompt 가 이미지를 결정하는데 매우 중요한 역할을 한다.  영어가 모국어가 아닌 이상 영어로 prompt 를 만드는 것이 참 어려운 일이다. 물론 처음에는 많은 다른 사람들이 사용한 prompt 들을 모방하여 수정하고 사용하는데 이런 일을 하나하나 해 보기가 시간이 많이 걸리고 어렵다.   그래서 Random 으로 prompt 가 만들어 져서 이미지가 생성되고 그 이미지 중에서 마음에 드는 이미지들을 골라 그 이미지의 Prompt들 만을 가지고 보완하고 개선하면 더 편리하고 좋지 않을까 생각이 든다.  그런 식의 Random Prompt 생성이 가능하게 해주는 것이 wildcard 사용이다. Joker는 card game에서 wildcard 이다. 1. Wildcard 의 의미      와일드 카드(Wildcard)란 카드 게임에서 유래되었다.  이런 카드 게임에서 모든 카드의 대용으로 쓸 수 있는 비장의 카드를 와일드 카드라고 한다. 포커나 훌라를 할 때 조커가 이런 역할을 하는데 ,  이 의미가 컴퓨터와 스포츠로 확장되어 사용되는 것이다. 컴퓨터 용어로 쓰일 때는 한 디렉터리 내에 여러 파일이 존재하거나, 파일 이름의 뒷부분을 정확히 알지 못하는 경우에도 사용할 수 있는 명령어를 말합니다. '*'을 넣으면 빠진 것에 어떤 문자열이 있든지 대신할 수 있고,  '?'는 임의의 한 문자에만  대응한다. Comfyui 에서 wildcard 사용은 "--문자열--"  이런 식으로 wildcard 사용 가능한 노드에 prompt 를 입력해 주면 그 노드는 "문자열" 에  해당되는 파일을 찾아 그 파일 내용 중에서 임의의 일부분을 prompt 로 대체해 준다. 2. Wildcard 사...

Flux Controlnet 적용 방법 - Comfyui 에서 사용

Flux에서도 이제 Controlnet 기능을 사용할 수있다. Comfyui 에서 Stable Diffusion 과 같은 방식으로 사용 할 수 있는  controlnet 모델들이 출시 되었다. 1. Controlnet 이란 ?      ControlNet은 Stable Diffusion 과 같은 이미지 생성 모델에서 조건부 입력 을 추가하여 결과 이미지를 더 세밀하게 제어할 수 있게 한다. 예를 들어, 포즈 , 스케치 , 엣지 지도(edge map) 등을 입력으로 받아 생성된 이미지를 밑그림으로 이미지에 반영할 수 있다.  2. Flux용 Controlnet 모델     Stable Diffusion 용 Controlnet 모델들은 Canny, Depth, Hed, Scribble, Open Pose, Sketch 등 여러가지 모델들이 있는데 Flux 용 모델들은 그 중에서 Canny, Depth, Hed 3가지 종류의 모델들만 출시되었다. 각각의 적용하는 대상은 어떤 이미지를 생성 하는가에 따라 적합한 것을 사용하면 되는데 3가지 모델들이 서로 다른 듯 비슷한 기능들이 섞여 있어서 많은 시행을 해 본 후 더 적합한 모델들을 사용하기를 권한다. 3. Controlnet 적용 기본     Controlnet 의 적용은 먼저 원본 이미지가 필요하고 그것을 Controlnet 모델들이 인식할 수 있도록 바꾸어 주는 전처리기를 통과한 후 Controlnet 모델들을 선택하여 이  이미지를 적용하여 Sampler에 입력한다. 이를 간단하게 workflow 를 구성하면 다음과 같다. 기본 Controlnet Workflow 전처리기는 Controlnet 모델별로 각각 다른 전처리기를 사용하기 때문에 항상 모델에 맞는 전처리기를 사용하여야 올바른 이미지를 얻을 수 있다. 4. Controlnet 모델 과 필수Nod 다운로드 및 설치     다운로드는 huggingf...

Pinokio 앱 설치 - 오픈 소스 AI 플랫폼

  Pinokio 는 오픈 소스 AI 플랫폼이다. 로컬에서 AI 애플리케이션을 쉽게 설치하고 실행할 수 있게 도와주는 오픈 소스 AI 플랫폼이다. 이 플랫폼은 사용자가 복잡한 설치 과정 없이 클릭 한 번으로 AI 도구들을 설치할 수 있도록 설계되어 있다. 이를 통해 기술적인 배경 지식이 없는 초보자나 비전문가들도 쉽게 AI 애플리케이션을 사용할 수 있다.   이미 설치되어 있는 애플리케이션이 있어도 별도의 독립된 공간에서 문제없이 사용할 수 있게 해준다.   우리가 stable diffusion 을 comfyui 에서 사용하기 위해서는 "Python", "git ....", "conda"  뭔지 모르지만 설치해야 하는데 pinokio 브라우저에서 원 클릭으로 알아서 설치를 해주기 때문에  컴맹인 일반인도 쉽게 설치하고 사용 할 수 있다. pinokio.computer 1. Pinokio 주요 기능 원클릭 설치 : 복잡한 환경 설정이나 명령어 입력 없이도 다양한 AI 모델을 한 번의 클릭으로 설치할 수 있다. 예를 들어, Comfyui 나 Flux 같은 AI 도구들을 손쉽게 설치할 수 있다. 다양한 AI 애플리케이션 제공 : Pinokio는 다양한 오픈 소스 AI 애플리케이션을 제공하는 허브 역할을 하며, Pinokio 브라우저 나 홈페이지에서 쉽게 찾아 설치할 수 있다. 브라우저 기반 인터페이스 : 모든 설치된 애플리케이션은 Pinokio 웹 브라우저에서 관리할 수 있어, 친숙한 인터페이스로 쉽게 사용이 가능하다. 독립적인 가상 컴퓨터 : Pinokio는 백엔드 작업을 자동으로 처리하여, 애플리케이션이 로컬에서 실행되는 동안 인터넷에 연결되어 있지 않아도 된다. 2. Pinokio 설치 구글에서 pinokio 를 검색하여 " pinokio.computer " 를 클릭 Download 클릭 다운로드 된 pinokio 압축 파일을  푼다. pinokio 설치파일을 실행하여 설치 설치과정은 복...