일반 소개
인스턴트캐릭터는 텐센트 후위안과 인스턴트엑스 팀이 개발한 오픈 소스 프로젝트로, 깃허브에서 호스팅됩니다. 이 프로젝트는 참조 이미지와 텍스트 설명을 사용하여 다양한 장면과 스타일에 대해 일관된 모양의 캐릭터 이미지를 생성합니다. 이 프로젝트는 기존 U-Net 아키텍처의 한계를 극복하여 더 높은 이미지 품질과 유연성을 제공하는 확산 트랜스포머 기술을 기반으로 합니다. 사용자는 복잡한 파라미터 설정 없이 간단한 조작만으로 설명과 일치하는 캐릭터 이미지를 생성할 수 있어 애니메이션, 게임 및 디지털 아트에 널리 사용됩니다. 프로젝트 지원 플럭스.1 모델과 사용자 친화적인 양식화된 생성을 위한 스타일 LoRA 적응 기능을 제공합니다.

기능 목록
- 단일 이미지에서 일관된 캐릭터 생성: 하나의 참조 이미지로 다양한 장면, 동작, 시점에 맞는 캐릭터 이미지를 생성할 수 있습니다.
- 텍스트 기반 생성: "거리에서 기타를 치는 소녀" 등의 텍스트 프롬프트를 사용하여 캐릭터의 움직임, 장면 및 스타일을 조정할 수 있습니다.
- 스타일 마이그레이션 지원: 지브리 스타일이나 신카이 마코토 스타일 등 다양한 스타일의 LoRA와 호환되어 예술적인 이미지를 생성할 수 있습니다.
- 고품질 이미지 출력: Flux.1 모델을 기반으로 고해상도의 디테일한 캐릭터 이미지를 생성합니다.
- 오픈 소스 모델 지원: Flux 및 기타 오픈 소스 텍스트-이미지 모델을 지원하여 개발자가 기능을 자유롭게 확장할 수 있습니다.
- 경량 어댑터: 확장 가능한 어댑터 모듈을 사용하여 컴퓨팅 리소스 소비를 줄이고 생성 효율성을 개선합니다.
- 대규모 데이터 세트 최적화: 천만 개의 샘플 데이터 세트를 기반으로 학습하여 역할 일관성 및 텍스트 제어 가능성을 보장합니다.
도움말 사용
설치 프로세스
인스턴트캐릭터를 사용하려면 GPU 지원 환경이 필요하며, NVIDIA GPU(최소 48GB VRAM, 24GB에 최적화됨)를 권장합니다. 다음은 자세한 설치 단계입니다:
- 환경 준비::
- Python 3.8 이상을 설치합니다.
- PyTorch(CUDA 지원)를 설치하는 것이 좋습니다.
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
. - 종속성 라이브러리를 설치하려면 다음 명령을 실행합니다:
pip install transformers accelerate diffusers huggingface_cli
- 대용량 파일 다운로드를 위해 시스템에 Git 및 Git LFS가 설치되어 있는지 확인하세요.
- 클론 창고::
- 터미널을 열고 다음 명령을 실행하여 인스턴트 문자 저장소를 복제합니다:
git clone https://github.com/Tencent/InstantCharacter.git cd InstantCharacter
- 터미널을 열고 다음 명령을 실행하여 인스턴트 문자 저장소를 복제합니다:
- 모델 체크포인트 다운로드::
- 허깅 페이스에서 모델을 다운로드하세요:
huggingface-cli download --resume-download Tencent/InstantCharacter --local-dir checkpoints --local-dir-use-symlinks False
- 허깅 페이스에 액세스할 수 없는 경우 미러링된 주소를 사용할 수 있습니다:
export HF_ENDPOINT=https://hf-mirror.com huggingface-cli download --resume-download Tencent/InstantCharacter --local-dir checkpoints --local-dir-use-symlinks False
- 다운로드가 완료되면 폴더 구조에 다음이 포함되어 있는지 확인합니다.
checkpoints
및assets
및models
등 카탈로그.
- 허깅 페이스에서 모델을 다운로드하세요:
- 런타임 환경 설정::
- GPU 드라이버와 CUDA 버전이 PyTorch와 호환되는지 확인하세요.
- 모델과 코드를 CUDA 지원 장치로 이동하고, CUDA 지원 장치에서
pipe.to("cuda")
.
사용법
인스턴트캐릭터의 핵심 기능은 참조 이미지와 텍스트 프롬프트에서 문자 이미지를 생성하는 것입니다. 자세한 절차는 다음과 같습니다:
1. 모델 및 어댑터 로드
- 제공된
pipeline.py
스크립트는 기본 모델과 어댑터를 로드합니다. 샘플 코드는 다음과 같습니다:import torch from PIL import Image from pipeline import InstantCharacterFluxPipeline # 设置种子以确保可重复性 seed = 123456 # 加载基础模型 base_model = 'black-forest-labs/FLUX.1-dev' ip_adapter_path = 'checkpoints/instantcharacter_ip-adapter.bin' image_encoder_path = 'google/siglip-so400m-patch14-384' image_encoder_2_path = 'facebook/dinov2-giant' # 初始化管道 pipe = InstantCharacterFluxPipeline.from_pretrained(base_model, torch_dtype=torch.bfloat16) pipe.to("cuda") pipe.init_adapter( image_encoder_path=image_encoder_path, image_encoder_2_path=image_encoder_2_path, subject_ipadapter_cfg=dict(subject_ip_adapter_path=ip_adapter_path, nb_token=1024) )
- 위의 코드는 Flux.1 모델과 InstantCharacter의 IP 어댑터를 로드하여 모델이 GPU에서 실행되도록 합니다.
2. 참고 사진 준비
- 문자가 포함된 이미지를 선택합니다(예
assets/girl.jpg
), 배경이 단순한지 확인합니다(예: 흰색 배경). - 이미지를 로드하고 RGB 형식으로 변환합니다:
ref_image_path = 'assets/girl.jpg' ref_image = Image.open(ref_image_path).convert('RGB')
3. 캐릭터 이미지 생성(스타일 마이그레이션 없음)
- 텍스트 프롬프트를 사용하여 이미지를 생성하고 추론 단계 수 및 부트스트랩 규모와 같은 매개 변수를 설정합니다:
prompt = "A girl is playing a guitar in street" image = pipe( prompt=prompt, num_inference_steps=28, guidance_scale=3.5, subject_image=ref_image, subject_scale=0.9, generator=torch.manual_seed(seed) ).images[0] image.save("flux_instantcharacter.png")
subject_scale
역할 일관성을 제어하며, 값이 낮을수록 양식화를 선호합니다(예: 0.6 또는 0.8).
4. 스타일 LoRA를 사용한 스타일 마이그레이션
- 인스턴트캐릭터는 양식화된 LoRA(예: 지브리 또는 신카이 마코토 스타일)를 지원합니다. LoRA 파일을 로드하고 양식화된 이미지를 생성합니다:
lora_file_path = 'checkpoints/style_lora/ghibli_style.safetensors' trigger = 'ghibli style' prompt = "A girl is playing a guitar in street" image = pipe.with_style_lora( lora_file_path=lora_file_path, trigger=trigger, prompt=prompt, num_inference_steps=28, guidance_scale=3.5, subject_image=ref_image, subject_scale=0.9, generator=torch.manual_seed(seed) ).images[0] image.save("flux_instantcharacter_style_ghibli.png")
- 상호 호환성
lora_file_path
노래로 응답trigger
다양한 스타일 간 전환 가능(예Makoto_Shinkai_style.safetensors
).
5. Gradio 인터페이스 실행(선택 사항)
- 이 프로젝트는 손쉬운 상호 작용을 위해 Gradio 인터페이스를 제공합니다. 실행
app.py
::python app.py
- 브라우저를 열어 로컬 주소에 액세스합니다(예
http://127.0.0.1:7860
)를 클릭하고 이미지를 업로드한 후 안내 단어를 입력하여 이미지를 생성합니다.
주의
- 동물 캐릭터 생성은 불안정할 수 있으므로 사람 캐릭터 이미지를 권장합니다.
- 고해상도 생성에는 더 많은 메모리가 필요하므로 A100 또는 RTX 5000 시리즈 GPU를 권장합니다.
- 네트워크 문제로 인해 모델 다운로드가 중단될 수 있습니다.
--resume-download
매개변수.
애플리케이션 시나리오
- 애니메이션 및 영화 제작
- 캐릭터 콘셉트 아트나 스토리보드를 빠르게 생성하여 사전 디자인 주기를 단축할 수 있습니다. 사용자는 캐릭터 스케치를 업로드하고, 장면 설명(예: '숲 속을 달리는 캐릭터')을 입력하고, 애니메이션 미리보기 또는 캐릭터 테스트를 위한 일관된 이미지를 생성할 수 있습니다.
- 게임 개발
- 게임 캐릭터의 멀티뷰, 멀티모션 이미지를 생성합니다. 개발자는 캐릭터 디자인을 업로드하고 다양한 포즈(예: "검을 휘두르는 캐릭터")의 스프라이트를 생성하여 2D 또는 3D 게임 리소스에 사용할 수 있습니다.
- 디지털 아트 제작
- 아티스트는 스타일 LoRA를 사용하여 지브리 스타일로 변형된 사실적인 캐릭터와 같은 예술적인 캐릭터 이미지를 생성하여 일러스트레이션이나 NFT 제작에 사용할 수 있습니다.
- 소셜 미디어 콘텐츠
- 사용자는 셀카를 업로드하여 애니메이션 스타일의 아바타 또는 애니메이션 장면(예: "공상 과학 도시에서 혼자 춤추기")을 생성하여 개인화된 소셜 미디어 콘텐츠를 만들 수 있습니다.
QA
- 인스턴트캐릭터는 어떤 모델을 지원하나요?
- 현재 Flux.1 모델이 지원되며 향후 다른 오픈 소스 텍스트-이미지 변환 모델로 확장될 수 있습니다.
- 실행에 필요한 비디오 메모리는 어느 정도인가요?
- 권장 48GB 메모리, 24GB 지원에 최적화. 메모리 요구 사항을 줄이기 위해 양자화 기술이 개발 중입니다.
- 모델 다운로드 실패를 해결하는 방법은 무엇인가요?
- 포옹하는 얼굴 거울 주소를 사용하거나
--resume-download
매개변수를 사용하여 네트워크 안정성을 보장합니다.
- 포옹하는 얼굴 거울 주소를 사용하거나
- 생성된 동물 캐릭터가 불안정한 이유는 무엇인가요?
- 모델 학습 데이터는 사람 캐릭터에 의해 지배되고 동물의 특징은 최적화되지 않아 사람 캐릭터 이미지를 사용하는 것이 좋습니다.
- 상업적으로 이용 가능한가요?
- 현재 라이선스는 연구용으로만 제공됩니다. 상업적으로 사용하려면 Tencent의 라이선스가 필요합니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...