본문 바로가기

AI & Big Data/Image

[AI Image] 메타코드M '생성형 AI 입문 완성강의ㅣ스테이블 디퓨전 프로젝트 실습 + 프롬프트 엔지니어링 Skills' 강의 후기 #8 (fin) - 실무 프로젝트

728x90
반응형

  드디어 메타코드M '생성형 AI 입문 완성강의ㅣ스테이블 디퓨전 프로젝트 실습 + 프롬프트 엔지니어링 Skills' 강의의 마지막 시간이다. 이 강의에서는 지금까지 배웠던 것을 동원하여 실무 프로젝트를 진행한다. 강의 영상을 보며 그동안 배운 것을 복습하는 시간으로 삼아도 좋고, 따라하면서 자신만의 포트폴리오를 만들어보는 것도 좋을 것 같다.

 

메타코드M

빅데이터 , AI 강의 플랫폼 & IT 현직자 모임 플랫폼ㅣ메타코드 커뮤니티 일원이 되시기 바랍니다.

mcode.co.kr

 

Index

     

    4강. 실무 프로젝트

      pdf 교재에 제시된 도넛가게 전단지의 조건은 다음과 같다.

    1. 가게 배경 (ppt 사이즈 지정, 문구 추후 입력)
    2. 아이유
    3. 강아지 or 고양이
    4. 짧은 홍보 영상

    1. 가게 배경 생성

    AIPRM 프롬프트 작성

      AIPRM의 Midjourney 프롬프트 생성기로 홍보 문구를 도출한다. 이 문구를 WebUI의 프롬프트창에 넣는다. Negative Prompts는 Stable Diffusion Prompt based of your idea에 Midjourney 프롬프트 생성기에 넣었던 키워드를 입력하여 가져온다.

    Stable Diffusion t2i 설정

      위의 과정을 키워드와 프롬프트를 바꿔가며 마음에 드는 이미지가 생성될 때까지 반복한다. 아이디어가 충분하다면 굳이 AIPRM을 쓰지 않아도 된다. 모델은 revAnimated를 사용했다.

    img2img inpaint

      i2i로 이동해 기초 이미지를 편집한다. 수업에서는 inpaint sketch와 inpaint로 이미지 상단의 글자를 제거했다. 추가로 넣고 싶은 요소가 있다면, inpaint로 들어갈 위치를 표시하고 프롬프트를 넣은 후 이미지를 만들면 될 것이다. LoRA 등을 활용해도 무방하다.

    2. 인물 추가

      인물을 넣을 때는 LoRA로 모델을 만들어서 진행해도 되고, 기존에 만들어진 모델을 써도 된다. 강의에서는 henmixReal로 모델을 지정하고 ReActor라는 기능을 사용했다. ReActor는 Extensions에서 설치할 수 있고, 딥페이크와 유사한 효과를 발휘한다고 한다. 즉, 생성한 이미지 속 인물을 업로드한 이미지의 인물로 바꿔주는 것이다. 옵션을 Female Only로 바꾸는 것 이외에는 기본값 그대로 적용했다. (인물 생성 방법 1)

    ReActor 아이유 이미지 생성

      다른 방법으로는 ControlNet에서 IP-Adaptor를 쓰는 것이 있다. 이것은 프롬프트와 제시한 사진의 중간점을 취해 이미지를 생성하는 방법이다. (인물 생성 방법 2)

    IP Adaptor 아이유

      성능이 뛰어나지 않아서 오른쪽에 있는 Instant_ID를 써보았다. ControlNet의 이 두 기능은 별도로 설치해야 한다. (ControlNet의 모델을 추가하는 방법은 아랫글 참고)

    ※ 이전글1: 2024.03.11 - [AI & Big Data/Image] - [AI Image] 메타코드M '생성형 AI 입문 완성강의ㅣ스테이블 디퓨전 프로젝트 실습 + 프롬프트 엔지니어링 Skills' 강의 후기 #2 - 스테이블 디퓨전 이론 및 기능 (text to image, image to image, inpaint)

     Instant_ID는 2개의 탭에서 설정을 조작해야한다.

    Instant_ID 1
    Instant_ID2

      위 이미지처럼 ControlNet Unit1과 Unit2를 각각 설정한다. Preprocessor가 embedding과 keypoints라는 것이 차이점이다. 

      그리고 화면 상단에서 sdxl로 ckpt를 바꿔야 한다. 본 강의에서는 sdxlTurbo 모델을 사용했다. 한국인을 학습한 모델이 아니라 어색한 부분이 있을 수 있다고 한다.

    SDXL Styles

      첫 결과는 팝아트적인 이미지가 나와서 Sampling Steps를 7, CFG Scale 2로 바꿨고, Extensions에서 SDXL Styles를 설치해 위와 같은 옵션을 부여했다. (인물 생성 방법 3)

    Instant_ID SDXL 아이유

      아이유랑 닮긴 했는데 턱선이 조금 뾰족해진 느낌이다. 성능 개선을 위해 CIVITAI에서 아이유 LoRA 모델을 다운로드하여 프롬프트에 추가했으나 결국 원하는 결과를 얻지 못해 ControlNet을 해제하고 henmixREAL로 다시 진행했다. (강의 영상 33:38)

    * 미지가 일그러지게 나오는 경우: settings에서 tiling이 켜져 있는지 확인해야 함. 

    LoRA 아이유 설정

      CIVITAI에 올라온 모범 설정을 참조하여 옵션을 바꿨다. 이후, 상기 기법을 다양하게 적용하여 아래의 아이유 이미지를 획득했다. (인물 생성 방법 4)

    LoRA + Inpaint + ReActor 활용 아이유

    * 이미지 누끼: SAAM Demo 활용.

    SAAM Demo 활용 누끼

    3. 동물 추가

      동물도 revAnimated ckpt로 인물을 만드는 것과 유사한 과정으로 진행됐다. 적절한 프롬프트와 네거티브 프롬프트를 입력하고 원하는 이미지가 나올될 때까지 반복하는 것이다. 

    Poor man's outpainting

      기존과 달랐던 것은 Script의 Poor man's outpainting으로 이미지의 잘린 부분을 그려냈던 점이다. 생성형AI가 그린 이미지에서 잘린 부분이 있다면 해당 기능을 이용해 보충할 수 있다. 처음에는 down만 설정했으나 전체를 모두 체크하는 것이 오히려 효과적인 경우도 있다고 한다.

    아이유 도넛 가게 시안

      대략적인 이미지가 나오면 i2i의 inpaint로 편집해 이미지의 퀄리티를 올리면 된다.

      본 강의에서는 상기 과정을 거쳐 아이유가 나오는 도넛 가게의 ppt 시안을 완성했다.

    4. 홍보용 짧은 영상 (Shorts)

      AnimatedDiff로 짧은 영상을 만드는데 그전에 3D인지 리얼인지 컨셉을 확실히 해서 모델을 정할 필요가 있다. 또 t2i에서 이미지를 만들어 영상이 어떤 식으로 생성될 지도 가늠해봐야 한다. 쇼츠는 세로가 길기 때문에 사이즈에도 주의한다 (512 x 720으로 진행.)

    AnimateDiff 설정

      Sampling Steps 등의 옵션을 조정해가며 3개의 영상을 도출했고 이를 Microsoft Clipchamp라는 프로그램으로 이어붙여서 홍보용 짧은 영상을 만들었다.


      이상, 8개의 글로 정리한 메타코드M '생성형 AI 입문 완성강의ㅣ스테이블 디퓨전 프로젝트 실습 + 프롬프트 엔지니어링 Skills' 강의가 마무리됐다. 

      스테이블 디퓨전으로 프롬프트를 입력해 이미지와 영상을 만드는 다양한 방법을 배울 수 있어 유익했다. 입문 강의지만 광범위한 내용을 충실하게 다루었기 때문에 부족한 부분을 개인적으로 구글링해서 활용하면 더 좋은 결과물을 만들 수 있을 것이다. 

    728x90
    반응형