출저

https://github.com/JoePenna/Dreambooth-Stable-Diffusion

ckpt 그대로 사용할수 있는 repo에서 설명해주는 드림부스 훈련 방법




사람들이 저지르는 가장 큰 실수

만약 person을 클래스로 한뒤 joepenna를 훈련시켰을 경우, 다음과 같이해야합니다.

joepenna person


잘못된 방식 (joepenna뒤에 person이 없음)

portrait photograph of joepenna 35mm film vintage glass


올바른 방식 (joepenna뒤에 person이 있음)

portrait photograph of joepenna person 35mm film vintage glass


가끔 아주 많은 step을 훈련 시켰을 경우, 클래스 없이 joepenna만을 사용해서 대상과 비슷한 결과물을 얻을수 있습니다.

이것은 Dreambooth가 해당 토큰을 너무 많이 과도하게 훈련하여 해당 토큰에 출혈이 있기 때문입니다.


훈련하는 이미지 유형에 주의하기

훈련하는 동안 stable은 당신이 사람인지 아닌지 알지 못합니다. 그저 보이는 대로 흉내낼뿐입니다.


다음과 같은 훈련 이미지를 생각해봅시다


이 경우 당신은 아주 특정한 결과물들만 얻게 될것입니다.

당신이 뾰족한 나무 옆에 있고, 하얀색+회색 옷을 입고 있고, 셀카 스타일인 사진만을요


대신, 다음과 같은 훈련 세트를 사용해야 합니다.


이 이미지들에서 일관적인것은 오직 "피사체" 뿐입니다.

그래서 Stable은 이미지를 훑어보고 당신의 얼굴만을 배우게 될것이고

그것을 다른 스타일로 "편집"하는것도 가능하게 할것입니다.


좋은 결과가 나오지 않는 경우

경우1 : 결과물이 대상과 안닮음

우선 <token> <class> 방식으로 적었는지 확인해 봅시다.

그래도 안닮았다면, 충분히 훈련하지 않은것입니다.


경우2 : 결과물이 대상과 닮았긴한데, 전부다 훈련용 이미지랑 똑같이 생겼음

이 경우에는 너무 오랫동안 훈련했거나, 훈련용 이미지들이 서로 너무 비슷하게 생겼거나, 훈련용 이미지가 너무 적거나 입니다.


우리는 이 문제를 프롬프트를 통해 고칠수 있습니다.

Stable Diffusion은 가장 처음에 넣는 프롬프트에 매우 큰 가치를 부여합니다.

다음과 같이 원하는 대상을 뒤쪽에 놓으십시오

an exquisite portrait photograph, 85mm medium format photo of JoePenna person with a classic haircut


경우3 : 결과물이 대상과 닮았긴한데, 다른 스타일을 시도할때는 안닮음 

너무 짧게 훈련시켰기 때문입니다....


이 문제도 프롬프트를 통해 해결할수 있습니다.

JoePenna person in a portrait photograph, JoePenna person in a 85mm medium format photo of JoePenna person