기본 콘텐츠로 건너뛰기

사진의 일부분 수정하기 - 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 Lora 제작 - Local 에서 Fluxgym 을 이용하여 자체 Lora 만들기

 Flux Lora 는 일관된 이미지를 만드는데 꼭 필요하다. 특히 일관된 얼굴의 이미지를 만드는데 있어서 다른 기능들 (ipadapter , controlnet, imgtoimg 등) 을 이용하는 것 보다 훨씬 일정한 캐릭터를 생성하게 해준다.  문제는 이런 Lora는 주로 CIVITAI , Tensor, Hugging face 등 사이트에서 다운 받아 사용하면 되지만  그것은 나만의 독특한 캐릭터가 아니고 나의 취향과 일치 되기가 어려워서 Lora를 구하기가 어렵다.  아니면 그런 사이트 내에서 자체 Lora를 제작하면 되는데 모두 비용이 필요하다. 여기 소개하는 Fluxgym AI 는 Local 컴퓨터에서 VRAM 12G 이상이면 자체 Lora를 만들 수 있게 해준다.   소요되는 시간도 생각보다 많이 걸리지 않는다.   이제 설치하고 자체 Lora를 한번 만들어 보자. Fluxgym 으로 만든 Lora 대표이미지 1. fluxgym 설치 pinokio 앱을 실행한다. ( pinokio 앱 설치 참조 ) 우측 상단 맨 처음 아이콘 (discover) 클릭 fluxgym 을 찾아서 클릭 fluxgym 이것을 클릭하면 된다. 여러가지 파일들을 설치하기 때문에 시간이 좀 소요될 것이다. 모든 설치가 끝나면 pinokio 브라우저 하단 부분에 fluxgym 메뉴가 추가된다. fluxgym 나중에 불필요하면 삭제(쓰레기통 아이콘 클릭) 하면 모두 unintall 된다. 2. fluxgym 실행 항상 pinokio 앱을 실행하여 pinokio 브라우저에서 fluxgym 을 클릭하면 된다. flux화면3-1 -. 1번항 : 여기에 입력한 대로 fluxgym/outputs/ 의 하위 폴더를 만들어 준다. -. 2번항 : Lora를 작동시키는 trigger word 를 입력한다. (예,  hart_style_a......) -. 3번항 : 자신의 가능한 VRAM 선택 : 나는 12 G 선택 ...

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 설치파일을 실행하여 설치 설치과정은 복...