Lab @10 : nude pantyhose, natural pantyhose, with cotton or shiny controlling

세부 정보

파일 다운로드

모델 설명

소개

이것은 이전 Lab 1 => 2 => 3 => 4(여기서 저는 "잠재적인 검은 스타킹" 문제를 해결하려 했습니다)에 이어지는 LoRA 실험입니다.

그러나 이 시리즈의 주요 질문은 어떻게 하면 특정 LoRA의 품질과 효과를 지속적으로 향상시킬 수 있을까? 입니다.

이전 LoRA에서 추출하여, 현재 lab_10_4는 어느 정도 수용 가능합니다(하지만 아직 완전히 테스트되지 않았습니다. 계속 테스트할 예정이지만, 원하시면 자유롭게 사용하고 즐겨주세요).

어떤 베이스 모델을 사용할 것인가?

업데이트

  • 전반적

    • LoRA 문서 (중국어 우선 => 영어 다음, 필요에 따라 읽기)

    • LoRA documentation (Chinese first => English second, read as needed)

  • 250425

    • 업로드 업데이트: OK 10_11, BAD 10_10, 데이터셋 및 reg셋 수정

    • Upload update: OK 10_11, BAD 10_10, fixed dataset & regset

    • 학습 아이디어 제공

    • Provide training ideas

사용 방법

요약하면:

  • 베이지 스타킹 사용

    • "피부색 감"이 부족하다고 느껴지면, 더 약한 [[노랑 스타킹]]을 추가할 수 있습니다(가중치는 조정해보세요)

    • use beige pantyhose and maybe somehow add [[yellow pantyhose]] can make it "a bit naturally nude" ( weight should you try around )

  • LoRA 가중치는 0.5~0.6 정도면 충분해 보입니다

  • for lora weight, maybe 0.5 ~ 0.6 ( the dataset is to be fixed on next round to make the color more natural )

  • 단일 golden pantyhose가 아닌, sheer golden pantyhose를 사용하세요 (golden pantyhose의 학습 이미지 품질이 좋지 않아 색상이 지나치게 노랗고 자연스럽지 않음 벤치마크에서도 확인 가능)

  • sheer golden pantyhose는 사용 가능하지만, 절대 golden pantyhose만 사용하지 마세요! (너무 강력합니다. 데이터셋이 좋지 않다는 것을 확인했습니다... 벤치마크나 업로드된 데이터셋에서 확인할 수 있습니다)

최적화 및 발견

우선, 04 => 10 => 11의 벤치마크 비교 중 하나를 보여드립니다.

먼저, 04에서 10을 거쳐 11로의 개선점을 확인해보겠습니다.

  • 04: 가중치 증가 시 이미지 구조가 크게 변하며 많은 문제점이 드러남

  • 10: 기본 구조는 괜찮지만, 나쁜 reg셋이 이미지를 망치고 있음

  • 11: 색상이 이상해졌지만(데이터셋의 색상 문제 때문), 이미지 안정성은 유지됩니다. 더 이상 불필요한 문제가 적음

아래는 이번 LoRA 학습에서 적용한 개선 방식을 정리한 것입니다. LoRA 학습에 관심 있는 분들에게 참고가 되길 바랍니다.

1) (매우 중요) 이미지 품질 문제는 세부사항에 존재할 수 있음

아래는 두 가지 비교 예시입니다

  • 예시 1: 전체 및 왼쪽(문제 있는) 의류 픽셀 진동을 자세히 봄

  • 예시 2: 스타킹 영역을 확대했을 때, 왼쪽(문제 있는) 색상 그라디언트 변화

전체 이미지는 큰 문제 없어 보이지만, 저는 이미지 품질을 향상시키기 위해(아래 2번 참조) 이전 방식을 다음과 같이 사용했습니다:

  • 먼저 원본 이미지를 생성

  • 그 후 img2img 및 adetailer로 1.5배 확대

  • 다시 프로그램으로 학습 크기로 축소 <=== 이 단계에서 문제가 발생함

이미지 품질을 확인할 때 픽셀 단위로 확대하지 않아, 많은 잡음과 색상 흔들림을 확인하지 못했습니다.

인간은 이를 인지하지 못하지만, SD 모델은 충분히 감지합니다.

아래는 3번의 비교 실험 결과입니다:

  • 10_11: 데이터셋 및 reg셋 수정 완료

  • 10_10: 데이터셋만 수정, reg셋 잘못됨

  • 10_04: 데이터셋 및 reg셋 모두 잘못됨

10_04의 경우 가중치가 증가할 때 이미지 구성이 극심하게 변화하며, 이 변화는 무의미했습니다...

만약 PNG 처리를 위해 프로그램(노드js sharp 의존)을 사용한다면, 아래를 참고하세요:

const sharpInstance = sharp(inputPath)
    .resize(
        width,
        height,
        {kernel: sharp.kernel.lanczos3}
    )
    .png({
        quality: 100,
        // 0~9는 모두 손실 없는 압축, 9가 더 좋음
        compressionLevel: 9,
        // @note. ****** 매우 매우 매우 중요 ******
        palette: false
    });

2) 이미지 품질 개선을 위한 한 가지 기술

2번은 1번 문제의 원인이지만, 여전히 추천하고자 합니다:

처음에는 reg용 이미지를 학습 크기로 직접 생성하여 여러 장을 만들고 그중에서 선택했습니다.

그러나 이후 고해상도 보정 또는 img2img로 확대하면, 특히 캐릭터가 작을 때 전체적인 이미지 품질이 크게 향상됨을 발견했습니다. 아래 이미지에서 왼쪽은 확대 후 축소하지 않은 경우입니다:

따라서 이 처리 방식은 다음과 같습니다:

  • 프롬프트를 기반으로 대량의 이미지를 생성하고, 그중 합리적이고 기대한 결과에 부합하는 이미지를 선별

  • img2img 및 adetailer로 확대

  • 학습 크기로 다시 축소

3) reg셋 관리

reg셋 수집은 데이터셋과 마찬가지로 시간이 많이 소요되며, 단일 학습에서 요구하는 양이 더 많고 더 많은 시간이 걸릴 수 있습니다.

좋은 소식은 대부분의 고품질 reg셋을 다른 학습에 반복적으로 재사용할 수 있다는 점입니다 🤩; 하지만 안타깝게도 이를 재사용하기 위해 관리하는 것은 큰 과제입니다 😂.

검증 결과:

(최소한 mac & linux 환경에서) 심볼릭 링크 방식을 사용하면 이미지와 같은 리소스가 학습 스크립트에 정상적으로 리소스 파일로 사용됩니다.

따라서 다음 방식을 권장합니다:

  • 다음 구조의 폴더를 준비:

    • my_reg_set/

      • all_images/

        • 1girl/ ... (수백 장의 이미지, png + 캡션, 심지어 npz 파일은 잠재 캐시일 수 있음??) ...

        • 1boy/ ...

      • train_plans/

        • reg-my-tran-1/

          • 1_1girl/ ...

          • 1_1boy/ ...

  • AI에게 "train:new-test, reg:1girl=200,1boy=100,..." 같은 매개변수를 입력받는 스크립트를 작성하도록 요청

    • 이 스크립트는 reg-new-test 폴더를 자동 생성하고, 지정된 카테고리에서 지정된 수의 이미지를 선택하여 해당 reg-new-test 폴더에 심볼릭 링크를 생성

    • 필요로 하는 reg 이미지 수가 특정 카테고리의 이미지 수를 초과할 경우, 아래와 같은 자동 처리 로직을 추가 가능:

      • 예: 1girl=100이지만 현재 재고는 24장 뿐이라면, 최종적으로 다음과 같은 결과를 얻음:

      • 4_1girl_full/ ...

      • 1_1girl_rest/ ... (마지막 4장의 추가 이미지)

위 프로세스는 훨씬 편안하게 느껴질 것입니다.

==== 이전 문서 ====

사용 방법

트리거 토큰은 무엇인가요? (더 나은 이해를 위해)

  • 제 데이터셋(나중에 공개 예정)에서는 다음 트리거 토큰을 사용:

    • // 색상 제어용

    • golden pantyhose // 더 노란 톤

      • golden pantyhose는 스타일상 "너무 강력" 하다는 점에 유의
    • beige pantyhose

    • // 광택 제어용

    • cotton pantyhose

    • shiny pantyhose

실제 결과는 어떻게 되나요? (LoRA 테스트 중 계속 업데이트할 예정입니다...)

  • 참고: 데이터셋은 주로 "레깅스"를 묘사하며, 종종 "NSFW" 경향이 있습니다

    • 따라서 흠집이나 투명한 효과가 부적절하다고 느껴지면, 네거티브 프롬프트(혹은 원한다면 포지티브 프롬프트)에 명시적으로 기재하세요
  • 참고: 가중치 0.6 ~ 0.8이 더 나은 결과를 제공하는 것으로 확인했습니다. 가중치가 높을수록 LoRA는 데이터셋에서 관련 없는 세부사항을 더 많이 도입하며, 이는 때때로 의미가 없습니다

v3

  • 제가 기대한 네이키드 스타킹의 가장 가까운 효과 (아마도?)
pos : sheer pantyhose,[yellow pantyhose], beige pantyhose,shiny pantyhose,

neg : torn,[golden pantyhose],

v2

pos: beige pantyhose, cotton pantyhose,

v1

pos: golden pantyhose, shiny pantyhose, sheer pantyhose,

neg: (oily pantyhose),

포지티브/네거티브 프롬프트에 시도할 수 있는 태그는 무엇인가요?

beige pantyhose,
cotton pantyhose,
shiny pantyhose,
oily pantyhose, // 주로 네거티브에만 사용, 그렇지 않으면 너무 기름짐
golden pantyhose, // 가끔 네거티브에 넣어도 고려

< 계속됨 >

이 모델로 만든 이미지

이미지를 찾을 수 없습니다.