안녕하세요. 9기 HuggingFace 세션에 참여 중인 너순 입니다.
본 포스팅 에서는 HuggingFace에 있는 InstantID 모델의 활용법에 대해 좀 더 자세히 적어 보려고 합니다.
주요 내용은 아래와 같습니다.
목차
InstantID 개요
화면 구성
기본 사용법
프롬프트
기본 옵션
컨트롤넷 옵션
세부 옵션
InstantID 개요
인물의 Identity를 유지 하면서 이미지를 생성해 주는 모델 (Zero-shot Identity-Preserving Generation in Seconds)
베이징에 기반을 둔 스타트업인 인스턴트X에서 제작 하였으며 2달 전 신규로 공개된 따끈 따끈한 이미지 생성 AI 모델 (https://github.com/InstantID/InstantID)
화면 구성
인물 이미지 업로드
포즈 이미지 업로드
프롬프트 입력
이미지 생성 실행
기본 옵션
컨트롤넷 옵션
세부 옵션
기본 사용법
HuggingFace Spaces에서 사용 가능 (https://huggingface.co/spaces/InstantX/InstantID)
작업 순서
변경 하고 싶은 원본 인물 이미지 선택
(옵션) 인물 포즈 이미지 선택
이미지 변형 시 적용할 프롬프트 입력
(옵션) 어떤 스타일을 적용할지 미리 적용해 놓은 템플릿 선택
Submit 버튼을 누르면 이미지가 생성됨
프롬프트
인물에 적용하고 싶은 스타일을 지정
프롬프트 쉽게 적용하는 방법
원하는 스타일 검색 (ex. cyberpunk)
원하는 스타일의 이미지 선택 및 프롬프트 복사
복사한 프롬프트를 붙여넣기 한 후 submit 버튼 선택 (이때 Style templete은 No style로 선택되어 있어야 함)
기본 옵션
Enable Fast Inference with LCM
해당 옵션 체크 시 이미지 생성 속도가 빨라지나 퀄리티는 일부 저하 됨 (LCM speeds up the inference step, the trade-off is the quality of the generated image. It performs better with portrait face images rather than distant faces)
Style template
미리 정의된 스타일을 적용
Gradio Demo의 소스 코드를 확인해 보면 Style은 positive prompt와 negative prompt를 미리 정의해 놓고 사용자가 입력한 프롬프트를 injection하는 것임을 알 수 있다. (https://github.com/InstantID/InstantID/blob/main/gradio_demo/style_template.py)
Film Noir 스타일 적용
No Style 상태에서 Prompt를 통해 Film Noir에 정의된 스타일 적용
IdentityNet strength (for fidelity) ← 충실도
인물 Identity 강도 조절 (기본값 0.8)
0.1
1.0
Image adapter strength (for detail)
디테일 강도 조절 (기본값 0.8)
0.1
1.0
컨트롤넷 옵션
Pose strength
인물의 동작을 추출하여 반영 (기본값 0.4)
0.1
1.0
Canny strength
원본 이미지에서 주요 외곽선을 추출하여 반영 (기본값 0.4)
0.1
1.0
Depth Strength
depth map을 추출하여 적용 (기본값 0.4)
0.1
1.0
세부 옵션
Negative Prompt
위에서 설명한 Prompt(Positive Prompt)와 반대 되는 항목으로 이미지 생성 지 제외 시키고자 하는 항목들을 정의
Number of sample steps
denosing 과정을 몇 번 반복할 것인지 설정 (기본값 30)
1
5
30
60
Guidance scale
프롬프트에 입력한 내용을 얼마나 충실하게 적용할 지 설정 (기본값 5)
1
5
10
Seed
이미지 생성의 기초가 되는 Seed 값을 직접 지정
Schedulers
이미지 생성 과정에서 사용되는 알고리즘을 지정
Randomize seed
선택 시 이미지 생성할 때 마다 random seed 적용
동일한 이미지를 옵션을 통해 튜닝하고 싶다면 해당 옵션을 체크하지 말아야 함
Enhance non-face region
이미지 생성 시 얼굴 이외의 영역까지 적용 범위를 확장하여 품질을 향상 시켜 줌
InstantID는 별도의 LoRA 모델 없이 인물의 Identity를 유지한 상태로 변형할 수 있는 신규 이미지 생성 모델로 실제 테스트를 해본 결과 다양한 스타일의 결과물을 확인할 수 있었습니다.
생성형 이미지에 관심 있으신 분들은 위의 내용을 참고로 이런 저런 테스트를 해보시면 재미 있는 결과물을 얻으실 수 있으리라 생각됩니다.
이상으로 포스팅을 마칩니다.
#9기HuggingFace