구글 코렙으로 로라 만드는 법 : 기초편 - 데이터 수집 방법



로라를 만들기 위해서는 그 무엇보다도 데이터 수집이 제일 중요합니다. 수준 높은 로라는 수준 높은 데이터셋을 필요로 하기 때문에 공을 들여서 좋은 이미지를 찾아야 합니다.

구글 코렙을 이용하여 로라를 쉽게 만드는 방법이 있어서 소개해드리겠습니다.




  • 데이터 수집 방법 : 피해야 할 사항
  • 정규화이미지(reg data)에 대하여
  • 마음에 드는 데이터가 흐릴 때 쓸 수 있는 방법





데이터셋 수집할 때 피해야 할 사항




사람 얼굴에 대한 데이터셋을 선택하거나 수집할 때는 다음과 같은 사항을 피해야 합니다.


  1. 흐릿함이 너무 많은 이미지: 흐릿함이 조금 있으면 선명하게 만들 수 있지만, 흐릿함이 너무 많으면 이미지의 품질이 떨어지고 얼굴의 특징을 인식하기 어려워집니다. 흐릿한 이미지는 데이터셋에서 제외하거나 선명하게 보정하는 것이 좋습니다.


  2. 너무 날카로운 이미지: 너무 날카로운 이미지는 이미지의 잡음이나 아티팩트를 증가시키고, 얼굴의 자연스러운 표정이나 질감을 손상시킵니다. 너무 날카로운 이미지는 데이터셋에서 제외하거나 부드럽게 보정하는 것이 좋습니다.


  3. 너무 밝거나 어두운 이미지 : 너무 밝거나 어두운 이미지는 얼굴의 색상이나 명암을 잘 표현하지 못하고, 얼굴의 윤곽이나 세부사항을 잃어버립니다. 너무 밝거나 어두운 이미지는 데이터셋에서 제외하거나 적절한 노출로 보정하는 것이 좋습니다.


  4. 얼굴에 너무 많은 그림자가 있는 이미지 : 얼굴에 너무 많은 그림자가 있는 이미지는 얼굴의 형태나 표정을 왜곡시키고, 얼굴의 식별이나 분석에 방해가 됩니다. 얼굴에 너무 많은 그림자가 있는 이미지는 데이터셋에서 제외하거나 그림자를 줄이는 방법으로 보정하는 것이 좋습니다.


  5. 이상한 각도로 찍은 이미지 : 이상한 각도로 찍은 이미지는 얼굴의 비례나 비대칭성을 만들고, 얼굴의 정면이나 측면을 잘 보여주지 못합니다. 이상한 각도로 찍은 이미지는 데이터셋에서 제외하거나 정상적인 각도로 회전시키는 방법으로 보정하는 것이 좋습니다.


  6. 머리부터 발까지 또는 무릎 아래까지의 전신 이미지 : 머리부터 발까지 또는 무릎 아래까지의 전신 이미지는 얼굴의 크기가 작아서 얼굴의 특징을 잘 파악하기 어렵습니다. 또한, 트레이닝에 사용되는 이미지의 크기가 512px에서 최대 768px이므로, 전신 이미지를 사용하면 해상도가 저하됩니다. 전신 이미지는 데이터셋에서 제외하거나 얼굴 부분만 잘라내서 사용하는 것이 좋습니다.


  7. 데이터셋의 많은 이미지와 유사하지 않은 얼굴 : 데이터셋의 많은 이미지와 유사하지 않은 얼굴은 데이터셋의 다양성을 저해하고, 일관성이 없는 결과를 만들 수 있습니다. 예를 들어, 데이터


  8. 이미지 속 얼굴이 평소 모습과 닮지 않은 이미지 : 데이터를 모은 이미지에서 보이는 대략적인 스타일을 통일해야 합니다. 


  9. 낮은 품질이나 해상도의 이미지: 노이즈 많으면 로라의 결과물에도 노이즈가 껴서 선명하지 않게 됩니다.


  10. 나쁜 조명, 대비 또는 색상의 이미지 : 역광이나 어두운 곳에서 찍은 이미지는 피해야 합니다.


  11. 멀리서나 옆모습으로 찍은 이미지 : 예를 들어 풍경이나 그룹사진에 있는 얼굴은 크기가 작고 각도가 다양해서 안 좋습니다. 각도를 통일하는 것이 좋습니다.


  12. 셀카/셀카 스틱으로 찍은 왜곡된 이미지 : 예를 들어 셀카/셀카 스틱으로 찍은 이미지는 얼굴이 왜곡되거나 비율이 맞지 않을 수 있습니다.


  13. 투명한배경 : AI가 투명한 배경은 검은색으로 인식하기 때문에 참사가 일어납니다.




좋은 데이터 세트


  1. 잡지의 사진 촬영이나 프로 카메라/좋은 휴대폰 카메라로 찍은 이미지와 같은 고품질 및 해상도.

  2. 좋은 조명, 대비 및 색상.

  3. 클로즈업 또는 반신 이미지.

  4. 셀카/셀카는 각도가 이상하지 않고 얼굴이 왜곡되지 않는 한 괜찮습니다.

데이터(사진)의 해상도, 크기

kohya-LoRA-dreambooth학습에서 사진의 해상도 크기는 512px에서 최대 768px 인식 하기 때문에 512x512혹은 512x768, 768x768등으로 해도 됩니다. 




정규화 이미지 - reg data


kohya-LoRA-dreambooth 에게 "이런 이미지를 참고하여 

내가 준 사진의 얼굴 형태를 학습해 줘~" 라는 개념으로 정규화 이미지를 준비하시면 됩니다.

솔직히 저는 필수적으로 준비해야 한다고 봅니다.


준비 방법


  • 로라 만들 때 쓰는 모델와 정규화 이미지를 만들 때 쓰는 모델을 통일

  • 적어도 500장 이상

  • 프롬에는 1girl, 1male focus, 1boy, 등 만들고 싶은 로라에 어울리는 이미지 생성

  • 긍정프롬에 한 글자면 써도 됩니다. (모델의 스타일을 참고하라는 이미지이기 때문)

  • 정규화 이미지에 통일성을 해치는 이미지 골라내기 

    예) 1boy 프롬 이미지들에 문자만 적혀있거나 알아보기 힘든 이상한 이미지들


우선 로라를 한번 이해해보자면
로라는 어떤 한 작가스튜디오(WEBUI의모델)의 견습생(로라)이라고 할 수 있습니다. 

작가의 스튜디오를 토대로 특정한 포즈, 물체, 옷 스타일 등을 그릴 수 있는 견습생이죠.
때문에 로라 만들 때 쓰는 모델와 정규화 이미지를 만들 때 쓰는 모델을 통일 시켜야 합니다.


 



kohya-LoRA-dreambooth에 기본 탑재되어있는 모델


실사 로라를 위한 모델

  • Stable-Diffusion-v1-5
  • Chilloutmix

2d 로라를 위한 모델

  • Anime full pruned
  • AnythingV3
  • Animepastel~

실사와 2d를 위한 모델

  • openjurney

참고: openjurney는 미드저니의 이미지를 학습시킨 모델이라고 보면 됩니다.


※ 원하는 모델로 로라학습 할 수도 있습니다.(추후 포스팅)




마음에 드는 데이터가 흐릴 때 쓸 수 있는 방법




위 글을 참고하여

이미지를 업스케일하고 (GFPGAN필수:이것도 과도하게 쓰면 안됩니다.)

이미지를 512혹은 768로 줄이면 됩니다. 




로라 만들 때 중요한 데이터 수집에 대해서 알아보았는데 도움이 되셨으면 좋겠습니다.

다음 포스팅은 코렙 kohya-LoRA-dreambooth에서 로라 학습에 대해 쓰겠습니다. 

 



이 블로그의 인기 게시물

WEBUI - 스테이블 디퓨전 필수 확장'd-detailer'