UNO: 단일 피사체 및 다중 피사체 맞춤형 이미지 생성 도구 지원(전자상거래 그래픽에 적합)

최신 AI 리소스4 개월 전에 게시 됨 AI 공유 서클
11.7K 00

일반 소개

UNO는 바이트댄스 지능형 제작팀이 개발한 오픈 소스 이미지 생성 프레임워크입니다. 다음을 기반으로 합니다. FLUX.1 모델로, 단일 피사체 및 다중 피사체 맞춤형 이미지 생성에 초점을 맞춘 '적은 것에서 많은 것' 일반화 접근 방식을 통해 UNO는 일관성이 높은 데이터 합성 프로세스와 함께 확산 트랜스포머(DiT)의 컨텍스트 생성 기능을 활용하여 다중 피사체 시나리오에서 데이터 확장 및 주제 일관성 과제를 해결합니다. 사용자가 텍스트 설명과 참조 이미지에서 고품질 이미지를 생성할 수 있도록 지원하며, 개인화된 이미지 생성, 가상 캐릭터 디자인 및 기타 시나리오에 광범위하게 적용할 수 있습니다. 프로젝트 코드는 Apache 2.0에 따라 라이선스가 부여되며, 모델 가중치는 학술 연구 및 비상업적 용도에 적합한 CC BY-NC 4.0에 따라 라이선스가 부여됩니다.

UNO:支持单主体和多主体定制化图像生成工具(适合电商配图)

 

기능 목록

  • 단일 피사체 이미지 생성: 피사체 특성을 유지하면서 단일 참조 이미지를 기반으로 설명과 일치하는 이미지를 생성합니다.
  • 다중 피사체 이미지 생성: 동일한 장면에 여러 개의 특정 피사체를 생성하여 각 피사체의 특징을 깔끔하게 유지합니다.
  • 컨텍스트 생성: 확산 트랜스포머의 컨텍스트 학습 기능을 활용하여 매우 일관성 있는 이미지를 생성합니다.
  • 낮은 메모리 최적화: 소비자용 GPU의 최대 메모리 사용량이 최대 16GB인 fp8 모드를 지원합니다.
  • 모델 미세 조정: 텍스트에서 이미지 모델까지 반복적인 최적화를 지원하기 위한 사전 학습 및 다단계 학습 전략을 제공합니다.
  • 오픈 소스 지원: 연구자가 애플리케이션을 쉽게 확장할 수 있도록 학습 코드, 추론 코드 및 모델 가중치가 제공됩니다.

 

도움말 사용

설치 프로세스

UNO를 사용하려면 로컬 환경에서 종속 요소를 설치하고 구성해야 합니다. 다음은 Python 3.10 ~ 3.12 환경에 대한 자세한 설치 단계입니다.

  1. 가상 환경 만들기
    먼저 종속성 충돌을 피하기 위해 별도의 Python 가상 환경을 만듭니다. 다음 명령을 사용할 수 있습니다:

    python -m venv uno_env
    source uno_env/bin/activate  # Linux/MacOS
    uno_env\Scripts\activate  # Windows
    

    또는 Conda를 사용하여 환경을 만들 수 있습니다:

    conda create -n uno_env python=3.10 -y
    conda activate uno_env
    
  2. PyTorch 설치
    AMD GPU, NVIDIA RTX 50 시리즈 또는 macOS MPS를 사용하는 경우 해당 버전의 PyTorch를 수동으로 설치해야 합니다. PyTorch 웹사이트(https://pytorch.org/) 올바른 버전을 선택합니다. 예를 들어

    pip install torch torchvision torchaudio
    
  3. UNO 종속성 설치
    UNO 리포지토리를 복제하고 종속 요소를 설치합니다:

    git clone https://github.com/bytedance/UNO.git
    cd UNO
    pip install -e .  # 仅用于推理
    pip install -e .[train]  # 用于推理和训练
    

    참고: 다음 사항을 확인하세요. requirements.txt 종속성이 올바르게 설치되었는지 확인하세요. 문제가 발생하면 누락된 시스템 라이브러리( ffmpeg) 및 conda install -c conda-forge ffmpeg 설치.

  4. 모델 체크포인트 다운로드
    UNO는 FLUX.1-dev 모델과 관련 체크포인트를 사용합니다. 다음과 같은 방법으로 다운로드할 수 있습니다:

    • 자동 다운로드추론 스크립트를 실행할 때, 체크포인트는 자동으로 hf_hub_download 기본 경로로 다운로드(~/.cache/huggingface).
    • 매뉴얼 다운로드허깅 페이스 CLI를 사용하여 모델을 다운로드합니다:
      huggingface-cli download black-forest-labs/FLUX.1-dev
      huggingface-cli download xlabs-ai/xflux_text_encoders
      huggingface-cli download openai/clip-vit-large-patch14
      huggingface-cli download bytedance-research/UNO
      

    다운로드한 후 모델을 지정된 디렉터리(예 models/unet 노래로 응답 models/loras).

  5. 설치 확인
    설치가 완료되면 다음 명령을 실행하여 환경이 올바르게 구성되었는지 확인합니다:

    python -c "import torch; print(torch.cuda.is_available())"
    

    반환값이 True다음은 성공적인 GPU 환경 구성의 예입니다.

사용법

UNO는 Gradio 인터페이스(app.py)는 대화형 이미지 생성에 사용되며 명령줄에서 추론 스크립트를 실행하는 데에도 사용할 수 있습니다(inference.py). 다음은 주요 운영 절차입니다.

Gradio 인터페이스를 통한 이미지 생성

  1. Gradio 애플리케이션 시작하기
    Gradio가 설치되어 있는지 확인합니다( requirements.txt (in)을 입력합니다. 다음 명령을 실행하여 인터페이스를 시작합니다:

    python app.py
    

    시작 시 브라우저는 로컬 페이지(일반적으로 http://127.0.0.1:7860).

  2. 입력 매개변수
    Gradio 인터페이스에서:

    • 텍스트 프롬프트(prompt)에서 생성하려는 이미지 장면을 설명합니다(예: '공원에서 노는 고양이와 강아지').
    • 1~4개의 참조 이미지 업로드(image_ref1 까지 image_ref4), 이러한 이미지는 피사체의 모양을 정의합니다.
    • 시드 값 설정(seed)를 사용하여 생성된 결과의 무작위성을 제어할 수 있으며, 기본값은 3407입니다.
    • 모델 유형(flux-devflux-dev-fp8 어쩌면 flux-schnell), 권장 flux-dev-fp8 를 사용하여 그래픽 메모리 요구 사항을 줄일 수 있습니다.
  3. 이미지 생성
    생성 버튼을 클릭하면 안내 메시지와 참조 이미지에 따라 UNO가 결과를 생성합니다. 생성 시간은 하드웨어 성능에 따라 다르며 일반적으로 RTX 3090과 같은 소비자 GPU에서 몇 초에서 몇 분 정도 걸립니다.

명령줄에서 추론 실행

  1. 입장 준비
    프롬프트 및 참조 이미지 경로가 포함된 구성 파일을 만들거나 명령줄에서 직접 매개변수를 지정합니다. 예시:

    python inference.py --prompt "A man in a suit, standing in a city" --image_paths "./assets/examples/man.jpg" --model_type "flux-dev-fp8" --save_path "./output"
    
  2. 공통 매개변수에 대한 설명
    • --prompt생성된 이미지의 콘텐츠를 정의하는 텍스트 설명입니다.
    • --image_paths여러 이미지를 지원하는 참조 이미지 경로입니다.
    • --model_type모델 유형, 권장 flux-dev-fp8.
    • --offload비디오 메모리 오프로딩을 활성화하여 비디오 메모리 사용량을 줄입니다.
    • --num_steps확산 단계 수(기본값 25)는 생성 품질에 영향을 줍니다.
    • --guidance안내 계수(기본값 4)는 텍스트가 이미지와 얼마나 잘 일치하는지 제어합니다.
  3. 결과 보기
    생성된 이미지는 --save_path 지정된 디렉토리(예 output/inference).

주요 기능 작동

단일 주제 생성

  • 절차::
    1. 피사체의 이미지(예: 사람 사진)를 업로드합니다.
    2. 대상 장면을 설명하는 텍스트 프롬프트(예: "이 사람은 해변을 걷고 있습니다")를 입력합니다.
    3. 참조 이미지 해상도를 512(기본값)로 설정합니다.
    4. 이미지를 생성하기 위해 UNO는 피사체의 특징(예: 얼굴, 옷)의 모양을 유지합니다.
  • 주의기준 이미지가 선명하고 피사체의 특징이 잘 드러나도록 하여 흐릿하거나 화질이 낮은 이미지를 피합니다.

다중 피사체 생성

  • 절차::
    1. 여러 개의 참조 이미지(예: 고양이 사진과 강아지 사진)를 업로드합니다.
    2. 여러 피사체가 있는 장면을 설명하는 텍스트 프롬프트(예: "고양이와 개가 잔디밭에서 놀고 있습니다.")를 입력합니다.
    3. 기준 이미지 해상도를 320으로 설정합니다(다중 피사체 기본값).
    4. 이미지를 생성하기 위해 UNO는 UnoPE(범용 회전 위치 임베딩) 기술을 통해 피사체의 특징이 혼동되는 것을 방지합니다.
  • 주의참조 이미지의 개수는 4개를 넘지 않아야 하며 각 피사체는 이미지에서 명확하게 구분되어야 합니다.

낮은 메모리 최적화

  • 활용 flux-dev-fp8 모델의 경우 메모리 사용량이 약 16GB로 줄어듭니다.
  • 사용 시작 --offload 매개변수를 사용하여 일부 계산을 CPU로 오프로드하여 그래픽 메모리 요구 사항을 더욱 줄입니다.
  • RTX 3090 또는 RTX 4090과 같은 소비자용 GPU 사용자를 위한 것입니다.

자주 묻는 질문

  • 비디오 메모리 부족해상도를 낮추려고 합니다(--width 노래로 응답 --height)를 512x512로 변경하거나 flux-dev-fp8 모델.
  • 설치 실패파이토치 버전이 GPU와 호환되는지 확인하고 필요한 경우 특정 버전을 수동으로 설치합니다.
  • 만족스럽지 못한 결과 생성: 조정 --guidance(5 또는 6으로 증가) 또는 --num_steps(50으로 증가)로 설정하여 이미지 품질을 개선합니다.

 

애플리케이션 시나리오

  1. 개인화된 이미지 생성
    사용자는 자신의 사진을 업로드하고 텍스트 설명과 결합하여 특정 시나리오의 이미지를 생성할 수 있습니다. 예를 들어 셀카를 업로드하면 소셜 미디어 콘텐츠 제작에 적합한 '미래의 도시를 걷고 있는 자신의 모습'의 이미지가 생성됩니다.
  2. 가상 캐릭터 디자인
    게임 개발자나 애니메이터는 캐릭터 스케치를 업로드하여 다양한 시나리오에 맞는 캐릭터 이미지를 생성하고 만화, 애니메이션 또는 게임 개발에 적합한 일관된 캐릭터 모양을 유지할 수 있습니다.
  3. 광고 및 마케팅
    마케팅 팀은 제품 또는 브랜드 마스코트 이미지를 업로드하여 다양한 광고 시나리오(예: 계절별 제품 진열)를 생성하고 시각적 콘텐츠의 다양성을 높일 수 있습니다.
  4. 학술 연구
    연구자는 UNO의 오픈 소스 코드와 교육 흐름을 사용하여 다중 피험자 생성에 확산 모델을 적용하고, 새로운 알고리즘을 검증하거나 기존 모델을 최적화할 수 있습니다.

 

QA

  1. UNO는 어떤 하드웨어를 지원하나요?
    UNO는 최소 16GB의 비디오 메모리가 있는 NVIDIA GPU(예: RTX 3090 또는 4090)를 권장합니다. AMD GPU 및 macOS MPS도 지원되지만 PyTorch는 수동으로 구성해야 합니다.
  2. 생성된 이미지의 품질을 개선하려면 어떻게 해야 하나요?
    확산 단계 추가(--num_steps 50으로 설정) 또는 부트스트랩 계수(--guidance (5-6으로 설정). 참조 이미지가 선명하고 텍스트 프롬프트가 구체적인지 확인합니다.
  3. UNO는 상업적으로 지원되나요?
    모델 웨이트는 비상업적 용도로만 CC BY-NC 4.0에 따라 라이센스가 부여됩니다. 상업적 사용에는 원래 FLUX.1-dev 라이선스의 조건이 적용됩니다.
  4. 다중 피사체 생성에서 기능 혼동을 처리하는 방법은 무엇인가요?
    UnoPE 기법을 사용하여 혼동을 줄이세요. 각 기준 이미지의 피사체 특징이 선명하고 해상도를 적절히 낮춰(예: 320) 효과를 최적화합니다.
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...