paint-brush
ComfyUI로 걸작 애완동물 초상화 만들기~에 의해@hacker5029997
426 판독값
426 판독값

ComfyUI로 걸작 애완동물 초상화 만들기

~에 의해 5m2024/08/19
Read on Terminal Reader

너무 오래; 읽다

AI 이미지 조작 도구는 지난 몇 년 동안 큰 진전을 이루었습니다. 요즘은 사람과 동물의 아름답고 스타일리시한 초상화를 만드는 것이 매우 쉽습니다. 하지만 AI 모델은 매우 예측 불가능하기 때문에 대부분 도구는 사용자(또는 일부 사람)가 나쁜 세대를 제거하고 최상의 세대를 찾는 데 의존합니다. 몇 가지 영리한 요령과 신중한 조정을 통해 대부분의 애완동물에게 안정적으로 작동하는 파이프라인을 구축할 수 있습니다. 포즈, 조명 등의 변화에 매우 탄력적입니다.
featured image - ComfyUI로 걸작 애완동물 초상화 만들기
undefined HackerNoon profile picture
0-item

AI 이미지 조작 도구는 지난 몇 년 동안 큰 진전을 이루었습니다. 요즘은 사람과 동물의 아름답고 스타일리시한 초상화를 만드는 것이 매우 쉽습니다. 하지만 AI 모델은 매우 예측할 수 없습니다. 그래서 대부분 도구는 사용자(또는 어떤 사람)가 나쁜 세대를 걸러내고 가장 좋은 세대를 찾는 데 의존합니다.


이는 AI 도구에 종종 나타나는 고전적인 "인간이 루프에 있는" 문제입니다. 몇 가지 영리한 요령과 신중한 조정을 통해 대부분의 반려동물에게 안정적으로 작동하는 파이프라인을 구축할 수 있습니다. 포즈, 조명 등의 변화에 매우 탄력적입니다.


이 게시물에서는 작동 방식과 이를 가능하게 하는 모든 멋진 작은 요령에 대해 자세히 알아보겠습니다. 이 파이프라인으로 생성할 수 있는 초상화의 몇 가지 예가 있습니다.

시작해 볼까요!

핵심 성분

IP어댑터

이 기술의 핵심은 IPAdapter입니다. 기본적으로 텍스트 대신 이미지를 사용하여 모델을 프롬프트하는 방법입니다(문자 그대로 Image Prompt Adapter의 약자). 따라서 텍스트 임베딩을 가져오는 대신 이미지를 사용하여 임베딩을 가져옵니다. 누군가가 이미지에서 원하는 것을 텍스트로 변환할 필요 없이 이미지의 스타일과 구조를 직접 정확하게 캡처할 수 있기 때문에 매우 강력합니다. ComfyUI IPAdapter 노드에는 스타일과 구성을 위한 두 개의 입력이 있습니다. 스타일에는 수채화 그림을 사용하고 구성에는 원본 이미지를 공급합니다(구성은 동일하게 유지하지만 스타일은 변경하려고 하기 때문입니다).


위 이미지는 IPAdapter의 이미지 프롬프트로 사용됩니다.

컨트롤넷

이제 스타일을 일관되게 유지할 방법이 있으므로, 애완동물을 충실하게 표현하는 데 주의를 기울일 수 있습니다. IPAdapters는 이미지 품질에 크게 편향되어 이미지 유사성이 떨어집니다. 따라서 출력이 입력과 동일한 객체처럼 보이도록 유지하기 위해 무언가를 해야 합니다.


이에 대한 답은 ControlNet입니다. ControlNet은 이미지 생성 프로세스에 추가 제약 조건을 제공하는 또 다른 멋진 기술입니다. ControlNet을 사용하면 모서리, 깊이, 인간 포즈 등의 형태로 제약 조건을 지정할 수 있습니다. ControlNet의 훌륭한 기능은 스택이 가능하다는 것입니다. 따라서 출력이 입력과 유사한 모서리를 갖도록 강제하는 모서리 제어망과 출력이 유사한 깊이 프로필을 갖도록 강제하는 깊이 제어망을 가질 수 있습니다. 그리고 그것이 바로 제가 여기서 하는 일입니다.


Canny Edge ControlNet(왼쪽)과 depth ControlNet(오른쪽)의 출력. 이는 출력이 입력과 비슷하게 보이도록 강제합니다.


제어망은 다른 제어망과 함께 쌓을 수 있을 뿐만 아니라 위에서 언급한 IPAdapter와도 함께 작동할 수 있습니다. 그래서 우리가 이를 위해 사용할 도구는 다음과 같습니다. 스타일을 얻기 위한 소스 이미지가 있는 IPAdapter, 에지에 따라 제약하기 위한 canny edge detector가 있는 ControlNet, 깊이 프로필에 따라 제약하기 위한 깊이가 있는 controlnet입니다.


기술 면에서 필요한 건 사실 그게 전부지만, 프로덕션을 위한 머신 러닝을 실험하면서 알게 된 건 이런 것들의 가치는 대부분 모든 매개변수를 완벽하게 조정하는 데 시간을 들이는 데서 나온다는 거예요. 그래서 그 점에 대해 조금 이야기하고 싶어요.

미세 조정

놀라운 예시 출력이 있는 모델을 발견하고, 자신의 이미지에 적용해 보았는데 끔찍해 보였던 적이 있나요? 종종 그 이유는 모델이 이미지에 맞게 미세 조정되지 않았기 때문입니다. 사전 학습된 모델을 미세 조정하는 것부터 어디서부터 시작해야 할지 모르겠어서 때로는 완전히 차단된 것처럼 느껴질 수 있습니다. 이 주제에 대해 제가 배운 내용은 다음과 같습니다. 이는 이 특정 파이프라인을 넘어서도 확장되므로 일반적으로 알아두면 좋은 지식입니다.

컨트롤넷

ControlNet은 매우 강력하므로 출력에 미치는 영향을 제어하는 데 주의해야 합니다. 다행히 ComfyUI의 사용자 지정 노드를 사용하면 ControlNet의 영향을 줄일 수 있고, 어느 지점에서든 영향을 멈출 수 있습니다. 따라서 에지 검출기를 75% 강도로 설정하고 75%에서 생성에 영향을 미치지 않게 하고 깊이 검출기를 30%에서 멈춥니다. 강도를 줄이는 대신 마지막에 멈추는 이유는 네트워크가 외부적으로 제약을 받지 않고 마지막 몇 단계에서 발생한 아티팩트를 "정리"할 수 있기 때문입니다. 이미지를 더 예쁘게 만들 뿐입니다. 따라서 에지와 깊이를 무시하고 학습 데이터만 사용하여 가능한 한 보기 좋게 만듭니다.



튜닝해야 할 또 다른 큰 것은 KSampler입니다. 여기에는 많은 작은 일들이 진행 중이지만, 그 중 일부에 대해 간단히 살펴보겠습니다.

KSampler - 단계

먼저 단계가 있습니다. 이는 문자 그대로 모델이 반복적으로 실행되는 횟수입니다. 실행 횟수가 많을수록 출력이 더욱 스타일리시해지고 원본 이미지에서 더 멀어집니다. 이 효과는 종종 그렇게 명확하지 않으므로, 이것으로 놀아볼 가치가 있습니다.


KSampler - CFG

그리고 CFG가 있습니다. 솔직히 저는 이것을 완전히 이해하지 못하지만, 그 이름인 Classifier Free Guidance에서 모델이 프롬프트에 제약받지 않고 이미지를 수정하여 더 보기 좋게 만들 수 있는 정도를 제어한다고 생각합니다. 이는 출력 이미지에도 상당한 영향을 미치므로, 실험해 볼 가치가 있습니다.


노이즈 제거

여기서 제가 사용하는 또 다른 멋진 작은 요령은 빈 이미지 대신 입력 이미지로 이미지 생성 프로세스를 시작하고 노이즈 제거를 낮게 유지하는 것입니다. 이렇게 하면 출력이 색상과 질감 면에서 비슷하게 보입니다.


텍스트 프롬프트

지금까지 제가 언급하지 않은 한 가지가 텍스트 프롬프트입니다! 놀랍죠. 일반적으로 확산 모델에 제공하는 유일한 조건화이기 때문입니다. 하지만 이 경우, 우리는 조건화하는 다른 방법이 너무 많아서 텍스트 프롬프트가 보통 방해가 됩니다. 그래서 이 경우 프롬프트는 문자 그대로 "개"일 뿐입니다. 저는 셰프 개나 욕실에 있는 개와 같이 좀 더 양식화된 초상화에서 텍스트 프롬프트를 조금 더 많이 사용합니다.

액세서리 추가

본질적으로 이것은 이미지를 수채화 초상화로 변환하는 "AI 필터"에 불과합니다. 하지만 이것이 얼마나 유연할 수 있는지 놀랍습니다. 예를 들어, 샤워하는 강아지의 초상화를 만들기 위해 문자 그대로 이미지 편집 도구에서 이미지를 모아서 입력으로 사용했습니다! 모델은 모든 것을 통합하고 이미지를 정리하는 일을 담당합니다.


결론

이제 배경을 제거하고 텍스트를 추가하면 붐! 애완동물의 모든 작은 디테일을 포착하고 항상 최상의 조명으로 칠하는 아름다운 초상화가 완성됩니다!


ComfyUI 노드와 유튜브의 멋진 설명 시리즈에 대한 @cubiq의 작업에 큰 감사를 표합니다! 이 파이프라인의 대부분은 그가 비디오에서 구축하고 설명했습니다.


이렇게 번거롭지 않게 반려동물 초상화를 원하신다면, pawprints.pinenlime.com에서 구매하시는 것을 고려해 보세요!