SD webui 설치 및 기본응용 관련하여 질문들이 다소 들어와 새로 가이드 글을 작성합니다.
우선 제가 작성한 글을 토대로 설치를 하셨다면 한글이 나올일은 없습니다.
따로 언어팩을 설치하지 않으셨다면 일반적으로 통합팩 같은걸 사용해 설치하시지 않았을까 싶으며, 이 경우 제가 사용하는것과 환경이 다를 수 있어 정확한 조언이 어려울 수 있습니다.
우선적으로 질문주신 에러 관련하여 말씀드리자면
Value error:image do not match는 저는 겪어본적이 딱히 없습니다.
이를 구글링 해보니 주로 inpaint시 발생하는 문제며 이미지의 크기(가로, 세로)가 8로 나누어지지 않을때 발생한다고 합니다. 실제로 저는 이미지를 뽑을때 자동으로 8로 나뉘어지는 숫자로 변경되는걸 보면 이게 맞지 않을까 싶습니다.
inpaint시에는 해상도에 주의해서 뽑으시면 좋을겁니다. 540은 8로 나눌때 67.5로 딱 나뉘어지지 않기때문에 해당 에러가 발생할 수 있습니다. (보통 upscale한 이미지를 inpaint에 넣고 upscale 옵션을 켜둔채로 작업을 하면 해당 에러가 발생하니 SD upscale 옵션을 끈 상태에서 inpaint를 한다면 해당 에러는 거의 발생하지 않을겁니다.)
또한, inpaint는 그림의 일부분을 수정하기 위한것이므로 해상도를 그렇게 높게 가져갈 필요는 없습니다. 해상도가 크게 불러와 졌다면 해상도를 조절해주시고(이경우엔 webui내 send to inpaint 버튼을 upscale한 결과물에 대고 바로 사용해서 발생할 겁니다.)사용해주시면 됩니다.
그리고 결과물의 질감표현은 원본 스샷과 모델이 중요합니다.
질문주신 스샷의 경우 투명한 스타킹같은 것으로 살을 감싸고 있고 염색 자체가 광택이 없어 질감이 찰흑처럼 느껴집니다. 원본 이미지가 좋지 않다면 strength를 높여야 ai가 추가적으로 질감을 더 살릴 가능성이 높습니다.
또한 크게 상관은 없을 수 있으나 <lora:koreanDollLikeness_v15:0.6> 나 (ng_deepnegative_v1_75t, bad_prompt_version2, EasyNegative)같은 태그는 로라와 임베딩을 사용해야 효과가 발생합니다. 만약 해당 로라 또는 임베딩을 사용하지 않고 해당 태그를 사용한다면 참고한 작업물과는 유사한 결과물이 얻어지지 않을 수 있습니다.
일반적으로 리터칭에 사용하는 얼꽉샷 같은 경우(아래 사진참고)
작업영역 내 얼굴의 지분이 크기때문에 이미지 크기를 작게 해도 얼굴의 표현 결과가 상당히 좋게 얻어집니다.
반면에 질문을 주신분 같은 경우 작업 공간 내 얼굴의 지분이 굉장히 작기때문에 일반적인 방법으로는 얼굴과 몸의 표현이 좋지 않습니다.
위 그림은 질문자분과 동일한 모델인 camelliamix 2.5D, DPM++ SDE Karras, sampling step=50, width 960, height 536, cfg scale 7, denoising strength 0.2로 두고 뽑아낸 이미지입니다. 원본과 별 차이가 없을 뿐더러 얼굴부분의 표현은 오히려 원본만도 못합니다.
우선 denoising strength를 0.3으로 준 이 그림을 기준으로 생각하겠습니다.
일단 몸 전체의 질감 표현을 다시 하고 싶습니다. 따라서 inpaint를 우선 시행하겠습니다.
해당 사진처럼 얼굴부분만 마스킹 후 only masked 옵션에 체크를 하고 strength를 높여 돌렸습니다. inpaint의 경우 이미지를 수정하는게 목적이기 때문에 strength를 너무 낮게 주면 의미가 없어집니다.
그리고 그 결과가 위의 사진입니다. 얼굴 부분만 묘사 수준이 높아졌습니다.
이제 위 사진을 다시 inpaint에 넣고 이번엔 몸 부분을 수정하겠습니다. 단, 손의 경우 strength를 높이게되면 이상하게 표현될 가능성이 높기때문에 손 부분은 포함시키지 않았습니다.
위 사진과 같이 마스킹 후 돌려보겠습니다.
이제 inpaint한 결과물의 어색한 부분을 없애주기 위해서 upscale로 처리해줄 겁니다.
upscaler를 한번 돌리니 눈부분의 표현이 다소 이상해졌습니다. 다시 눈코입 부분만 inpaint를 돌립니다.
일반적으로 해당 스샷에서 질문자분이 사용한 태그를 가지고 뽑을 수 있는 최대한의 그림이지 않을까 싶습니다.
다만, 글을 작성하면서 놀라운 점을 발견할 수 있었는데
프롬프트에 따라서 결과가 꽤나 달라진다는 것이였습니다.
긍정: 1girl, alternate_wings, angel, angel_wings, asymmetrical_wings, blue_sky, blurry, blurry_background, blurry_foreground, breasts, day, depth_of_field, detached_wings, dove, feathered_wings, feathers, flying, halo, harpy, kishin_sagume, large_wings, low_wings, medium_breasts, mini_wings, motion_blur, multiple_wings, pink_wings, single_wing, solo, spread_wings, white_feathers, white_wings, winged_arms, wings, yellow_wings, masterpiece, best quality, cinematic light, dynamic angle, detailed background, 1girl, solo, (extremely detailed CG), (8k wallpaper), ((ultra-detailed)), (best illustration), best shadow, (shine)
부정:
freckle, nsfw, nudity, nipple, bad-picture-chill-75v, badv5, ng_deepnegative_v1_75t, badhandv4, (worst quality:1.4, low quality:1.4, bad anatomy:1.4, cropped hands:1.2, extra digit:1.2, fewer digit:1.2), lowres, bad hands, text, error, missing fingers, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name,
을 놓고 같은 조건에서 뽑은 1차 결과물이며
이는 해당 1차 결과물을 upscale한 것
이는 inpaint를 사용해 눈 코 입만 수정한 결과물입니다.
프롬프트를 바꿔주는걸로도 그림에 생각보다 큰 영향이 갑니다.
https://civitai.com/models/17083/bad-picture-negative-embedding-for-chilloutmix
https://civitai.com/models/16993/badhandv4-animeillustdiffusion
https://civitai.com/models/16807/useful-quality-embeddings-animeillustdiffusion
해당 링크에서 임베딩 파일들을 다운로드 받으신 후 stable diffusion webui 폴더의 embeddings폴더에다가 옮겨주시고 civitai에 올라온 트리거 워드를 프롬프트에 적어주면 작동합니다. 해당 3개의 링크에 있는 임베딩들은 모두 부정 프롬프트에 적어주셔야 작동합니다. 3번째 링크의 경우 버전에서 badv5를 받으시면 될겁니다.
도움이 되었을지는 모르겠지만 이걸 보고도 이해가 안되는 부분이 있다면 댓글 남겨주세요.
'Stable defusion Automatic webui 가이드' 카테고리의 다른 글
손가락을 보다 잘 표현하고 싶을 때 Controlnet을 사용해보자. (4) | 2023.04.18 |
---|---|
web ui 설치 및 기초 응용 (38) | 2023.04.07 |