스테이블 디퓨전(StableDiffusion)

이미 생성된 이미지의 표정을 바꿔봅시다(ALP)

물범쌤 2024. 9. 4. 13:00

안녕하세요 여러분, 물범쌤입니다 :)

오늘은 여러분들께 이미지의 표정을 변경할 수 있는 기능인

AdvancedLivePortrait 기능을 소개드리려고 나왔습니다.

 

어떤 기능인지 감이 안잡히실테니

예시 영상 부터 보시죠

 

 

어떤가요? 이미지가 마치 살아 움직이는것 같은 표정을 짓고있죠?

AI를 통해 컨텐츠를 제작하고 싶은 분들께 매우 유용한 기능이 될 것 같습니다.

그럼 바로 본론으로 들어가 보겠습니다.


1. 커스텀 노드 설치

ALP 설치는 크게 어렵지 않습니다.

기존에 추가 기능들을 설치하셨던 것처럼

ComfyUI Manager를 통해서

'live' 정도만 검색해주시면 바로 찾으실 수 있습니다:)

 

 

커스텀 노드를 하나 더 설치하셔야 하는데요,

ALP의 기능중에 동영상의 표정을 따라하는 기능이 있습니다.

그 기능을 활용하기 위해서

'video helper suite'라는 추가 노드가 필요합니다.

(보고계신 포스팅에서 영문 복사하시면 편합니다.^^)

 

 


2.워크 플로우 설치

이렇게 두 가지 커스텀 노드 설치가 끝났다면

이제 워크 플로우를 진행할 차례인데요

ALP가 설치된 커스텀 노드 폴더로 이동하시면 sample->worlflows 폴더가 있습니다.

아래 파일 경로를 참고해 주세요!

(*\ComfyUI\custom_nodes\ComfyUI-AdvancedLivePortrait\sample\workflows)

우리는 가장 아래에 있는 워크플로우부터 살펴볼 예정입니다.


3.워크 플로우 기초 개념 이해


워크 플로우 활용은 기본단계를 이해하지 않고 넘어가면

상당히 활용하기 벅찹니다.

따라서 어떤 워크 플로우를 사용하시든
기본 워크플로우는 꼭 꼼꼼히 살펴보시길 바랍니다.

(하나씩 넣어봤을때 가장 노드가 간단하게 구성되있는게 기본 워크플로우겠죠?)

 

기본 워크플로우 구성은 3단계로 나뉘어 있습니다.

 

1.이미지를 불러오는 Load Image

2.이미지를 수정해서 표정을 만드는 Expression Editor

3.완성된 이미지를 보여주는 Save Image

 

Load Image와 Save Image 는 이미 익숙하신 노드일테니,

Expression Editor를 한번 자세히 살펴보도록 하죠 :)

 

 

입력과 출력 포인트는 워크 플로우에 항상 자동연결이 되있을것이기 때문에

바로 표정을 조정하는 부분부터 살펴보겠습니다.

 

rotate 영역은 고개 위치를 말합니다.수치에 따라서 머리 위치를 수정합니다.

pitch : 고개를 아래위로 움직입니다.

yaw : 고개를 좌우로 움직입니다.

roll : 고개 각도를 조정합니다.

 

blink 부터 pupil_y 까지의 영역은 눈의 움직임을 조정하는 영역입니다.

blink : 눈을 양쪽 다 감습니다.

eyebrow : 눈썹의 위치를 조정합니다.

wink : 한쪽 눈을 감습니다.

pupil_x : 눈동자를 좌우로 움직입니다.

pupil_y : 눈동자를 위아래로 움직입니다.

 

aaa부터 smile은 입의 움직임을 조정하는 영역입니다.

aaa : '아' 입모양을 조정합니다.

eee : '이'입모양을 조정합니다.

woo : '우'입모양을 조정합니다.

smile : 미소를 만듭니다.

 

src_ratio~crop factor는 기본으로 설정된 값으로 둡니다.

생성되는 이미지의 크기와 관련된 파트입니다.

 

그럼 한번 이미지를 생성해 볼까요?

 

 

이미지가 윙크하고 있는 사진이 완성된것을 볼 수 있습니다.

이 기능은 이미 생성된 이미지의 표정을 수정하고 싶을때에

유용하게 활용될 수 있을것입니다.^^


4. 다음은 짧은 영상으로 생성되는 기능을 실행해보겠습니다.

워크 플로우 파일이름을 자세히 보시면 끝에 without_vid가 쓰여있죠?

바로 밑에 있는 워크 플로우는 into vid라고 쓰여있습니다.

지금 실행하는 워크플로우는 비디오 입력 없이 생성하는 파일이고,

밑에 있는 워크 플로우는 표정변화가 있는 비디오를 입력으로 받아서

그 표정을 따라하는 워크플로우 입니다.

 

 

Load Image 와 Expression Editor는 살펴보았으니

뒤에 있는 두 노드를 살펴보겠습니다

 

 

이 기능과 이름이 같은 ALP노드는

입력과 출력을 자세히 봐주셔야 하는데요

Expression Editor에서 생성된 표정이 모션링크 형태로 출력되면

그것을 입력으로 받아서 프레임에 맞게 배치하는 역할을 합니다.

사용자는 프레임 단위로 표정이 변할 시간을 설정할 수 있습니다.

 

노드 아래에 있는 메모 설정을 한글로 번역해드릴게요

 

명령 설명
1 = 5:5
0 = 3:5

[모션 인덱스] = [프레임 길이 변경] : [다음 모션을 기다리는 프레임 길이]

예를 들어, 첫 번째 줄 -> 1 = 5:5
모션 1로 5프레임에 걸쳐 변경하고 5프레임 동안 다음 모션을 기다립니다

 

주의 사항

현재 해당 노드의 'tracking_src_vid'라는 부분이 'false'로되어있는 것은
따라할 영상 리소스 입력이 없기 때문입니다.

워크 플로우에서 두번째, 영상을 입력하는 예제에서는 해당 부분을 true로 설정하셔야

사진이 영상의 표정을 따라하니 참고해주시기 바랍니다.

 

 

다음은 video combine 노드 입니다.

이 노드는 프레임단위로 쪼개인 이미지들을 엮어서

영상의 형태로 만들어 주는 노드 입니다.

frame_rate와 format정도만 조정해주시면 되는데

현재 수치인 15와 mp4는 

초당 15프레임인 mp4영상으로 출력해주는 기능입니다.

 

그럼 한번 생성해볼까요?

 

 

 

 

어떤가요? 이미지에 자연스러운 표정변화가 신기하지 않나요?

조금 더 길고 자연스러운 표정 변화를 원하신다면

 Expression Editor 노드를 추가해서 표정을 만들고,
ALP 노드에서 프레임을 추가로 더 작성해주시면 됩니다.^^

 

만일 표정 영상 리소스가 있으시다면

'Advanced_Inserting_expressions_into_vid' 워크 플로우로 생성하시면

포스팅 초반에 보여드렸던 자연스러운 표정 변화 영상을 생성하실 수 있습니다.


오늘은 이미지에 자연스러운 표정을 추가할 수 있는 

AdvancedLivePortrait 기능을 알아보았습니다.

이미지를 수정하거나 컨텐츠를 제작하실때 큰 도움이 될 것 같습니다.

 

이 컨텐츠가 유익하셨다면

커피값은 기업들에게 받을테니

광고 한번씩만 눌러주시면 감사드리겠습니다 :)

 

그럼 모두 좋은 하루 되세요! ^^

반응형