안녕하세요,
여러분이 사진 한 장만으로 살아 움직이는 듯한 영상을 만들어낼 수 있다면 어떨까요? 바로 여기, LivePortraitKJ가 그런 놀라운 경험을 가능하게 해줍니다. 단순한 사진을 넘어, 인물의 미세한 표정 변화와 자연스러운 움직임을 구현해내는 이 기술은 마치 영화 속 한 장면을 보는 것처럼 생동감 넘치는 디지털 콘텐츠를 만들어냅니다. 복잡한 기술 지식이 없어도 쉽게 접근할 수 있어, 누구나 자신의 손끝으로 마법 같은 변화를 만들어낼 수 있습니다.
사진을 움직이는 영상으로 바꾸는 것이 그저 미래의 기술처럼 느껴졌다면, 이제는 그렇지 않습니다. LivePortraitKJ는 사용자의 상상력을 자극하고, 사진을 넘어 새로운 차원의 디지털 경험을 제공합니다. 이 포스팅에서는 LivePortraitKJ의 특징과 사용 방법에 대해 알아보겠습니다.
1. LivePortrait란
LivePortrait는 정적인 얼굴 사진을 실시간으로 움직이는 애니메이션으로 변환하는 AI 모델 프로젝트입니다. 이 프로젝트는 Python으로 구현되었으며, 딥러닝 기반의 First Order Motion Model을 활용하여 이미지 속 얼굴을 자연스럽게 애니메이션으로 변환하는 데 중점을 둡니다.
LivePortrait는 소스 이미지와 드라이버 비디오를 입력으로 받아, AI 모델이 드라이버 비디오의 움직임을 학습한 후 이를 소스 이미지에 적용하여 사실적인 얼굴 애니메이션을 생성합니다.
- LivePortrait 소개 페이지: https://liveportrait.github.io/
LivePortraitKJ란
LivePortraitKJ는 LivePortrait를 ComfyUI에서 사용할 수 있도록 만든 커스텀 노드입니다. 이번 포스팅에서는 LivePortrait의 기능을 확장하여 ComfyUI와 통합한 버전인 "ComfyUI-LivePortraitKJ"에 대해 소개하고, 그 사용 방법을 설명하겠습니다. ComfyUI-LivePortraitKJ는 LivePortrait를 보다 직관적이고 사용자 친화적인 인터페이스로 사용할 수 있게 해주며, ComfyUI를 통해 LivePortrait의 다양한 기능을 쉽게 제어하고 관리할 수 있도록 도와줍니다.
2. 주요 특징
- 사용자 친화적 UI: ComfyUI를 통해 LivePortrait의 기능을 드래그 앤 드롭 방식으로 쉽게 제어할 수 있습니다.
- 다양한 애니메이션 모드: 웹캠 실시간 피드, Image2Vid, Vid2Vid 등 다양한 모드를 지원합니다.
- 실시간 미리보기와 피드백: 결과를 실시간으로 확인하고 조정할 수 있습니다.
- 얼굴 인식 기능 강화: InsightFace를 사용해 얼굴 검출과 인식의 정확도를 높였습니다.
3. 지원하는 기능
- Realtime with Webcam Feed: 실시간 웹캠 피드를 입력으로 받아 얼굴 움직임을 추적하고 애니메이션을 생성할 수 있습니다. 사용자가 즉각적인 피드백을 받고 움직임을 조정할 수 있습니다.
- Image2Vid: 정적 이미지(사진)를 입력으로 사용하여 드라이버 비디오의 움직임을 학습한 후, 소스 이미지의 얼굴을 애니메이션으로 변환합니다.
- Vid2Vid: 소스 비디오와 드라이버 비디오를 사용해 얼굴 애니메이션을 생성하며, 복잡한 움직임과 장면을 처리할 수 있습니다.
3. 실행 환경
- 운영체제: Windows 11 (64-bit)
- Python: 3.10.14
- torch: 2.3.1 + cu121
- insightface: 0.7.3
- GPU: NVIDIA GeForce RTX 4060 Ti
4. LivePortraitKJ 설치
LivePortraitKJ를 설치하시기전, ComfyUI와 ComfyUI-Manager를 설치하셔야 합니다. ComfyUI가 현재 설치가 되지 않으신 분들은 아래 포스팅 글을 참고해주시기 바랍니다.
- ComfyUI 설치하기: [이미지 생성 AI] [로컬 환경] ComfyUI 이용하여 이미지 생성하기 1탄
- ComfyUI-Manager 설치하기: [이미지 생성 AI] [로컬 환경] ComfyUI 이용하여 이미지 생성하기 2탄 : ComfyUI-Manager
1) Custom Nodes Manager 실행
ComfyUI 실행 -> 우측 Manager -> Custom Nodes Manager 순서로 실행합니다.
2) ComfyUI-LivePortraitKJ 설치
Node 검색창에 "live" 입력 후 가장 상단에 있는 "ComfyUI-LivePortraitKJ" node를 설치해줍니다.
설치가 완료되셨다면 ComfyUI를 재시작을 위해 종료해줍니다.
3) LivePortraitKJ 모델 설치
ComfyUI-LivePortraitKJ 모델 파일은 아래 허깅페이스 링크에서 다운로드할 수 있습니다
- ComfyUI-LivePortraitKJ 허깅페이스 : https://huggingface.co/Kijai/LivePortrait_safetensors/tree/main
아래의 6개 모델 파일을 다운로드합니다
1) appearance_feature_extractor.safetensors
2) landmark.onnx
3) motion_extractor.safetensors
4) spade_generator.safetensors
5) stitching_retargeting_module.safetensors
6) warping_module.safetensors
다운로드한 6개의 모델 파일을 ComfyUI -> models -> liveportrait 폴더로 이동시켜 주세요.
4) InsightFace 패키지 설치
InsightFace는 얼굴 인식, 얼굴 검출, 얼굴 재현, 얼굴 대조 등 다양한 얼굴 관련 작업을 위한 고성능 딥러닝 모델 라이브러리입니다. PyTorch 및 MXNet 프레임워크를 기반으로 개발되었으며, 업계와 학계에서 얼굴 분석을 위한 도구로 널리 사용되고 있습니다. LivePortrait를 실행하기 위해서는 필수적으로 설치해야 하는 패키지입니다.
- InsightFace 설치 명령어
# Windows PowerShell
pip install insightface
InsightFace 설치는 반드시 ComfyUI가 설치된 환경에서 이루어져야 합니다. 예를 들어, conda를 사용해 가상 환경을 설정한 경우, 해당 가상 환경에서 InsightFace를 설치해야 합니다. 아래 이미지는 conda 가상 환경에 InsightFace를 설치하는 과정의 예시입니다.
여기까지 완료하셨다면 로컬 환경에서 사용하기 위한 설치가 완료되었습니다.
5. LivePortraitKJ 실행
LivePortraitKJ의 Image2Vid 기능을 사용하여 이미지를 영상으로 만들어보겠습니다. 샘플 이미지와 영상은 LivePortrait에서 제공하는 파일을 사용했습니다.
샘플 이미지
샘플 동영상
노드 구성은 LivePortraitKJ에서 기본으로 제공하는 구성에 "Image Concatenate Multi" 노드를 추가한 것입니다. 이 노드를 통해 최종 결과물이 샘플 영상과 얼마나 비슷한지 확인할 수 있습니다. 노드를 하나씩 구성하는 것이 어려우신 분들은 아래 파일을 사용해 주시기 바랍니다.
- Image2Vid 노드 구성 파일
아래는 최종적으로 생성된 결과 이미지입니다.
LivePortraitKJ 결과물
위 결과물을 보면 매우 자연스러운 영상이 생성된 것을 확인할 수 있습니다. 얼굴의 표정 변화와 움직임이 부드러워 실제 인물이 살아 움직이는 것처럼 생동감이 느껴집니다. 특히 이미지의 해상도가 높고, 세부적인 얼굴 특징까지 잘 반영되어 있어 이미지가 영상으로 전환될 때 품질 저하가 거의 없습니다. 이러한 결과는 LivePortraitKJ의 강력한 AI 기반 기술 덕분에 가능하며, 다양한 응용 분야에서 활용될 수 있을 것으로 기대됩니다. 예를 들어, 게임 캐릭터의 얼굴 애니메이션, 가상 아바타 제작, 디지털 콘텐츠의 시각적 효과 등에서 매우 유용하게 사용될 수 있습니다.
LivePortraitKJ에서 사용할 수 있는 패키지로는 FaceAlignment, MediaPipe, InsightFace가 있습니다. 이 중 InsightFace는 성능이 가장 뛰어나지만, 상업적 사용이 불가능하다는 제한이 있습니다. MediaPipe는 GPU를 지원하지 않아 얼굴 인식 성능이 다소 낮지만, CPU에서 빠르게 작동하며 Apache 2.0 라이선스를 갖고 있어 자유롭게 사용할 수 있습니다. FaceAlignment는 MediaPipe와 마찬가지로 Blazeface 모델을 사용하지만, 더 나은 성능을 제공하는 back_camera 버전도 지원하여 작은 얼굴을 인식하는 데 효과적입니다. 또한 BSD3 라이선스를 사용해 상업적 사용이 가능합니다. 따라서 각 패키지의 장단점을 고려해 용도에 맞게 선택할 수 있습니다.
이번 글에서는 LivePortraitKJ에 대한 소개와 실제로 사용하여 이미지를 영상으로 바꿔주는 기능까지 알아보았습니다. 그중에서 제가 가장 흥미를 느낀 기능은 바로 "Realtime with Webcam Feed"입니다. 이 기능은 웹캠을 통해 실시간으로 얼굴 움직임 정보를 받아 이를 이미지에 투영하여 영상으로 만들어줍니다. 다음 포스팅에서는 이 기능에 대해 더 자세히 알아보도록 하겠습니다.
감사합니다. :)
'ComfyUI > 영상 생성' 카테고리의 다른 글
[영상 생성 AI] [로컬 환경] ComfyUI 이용하여 영상 생성하기 6탄 : LTX-Video AI (1) | 2024.12.05 |
---|---|
[영상 생성 AI] [로컬 환경] ComfyUI 이용하여 영상 생성하기 5탄 : Mochi AI (2) | 2024.11.20 |
[영상 생성 AI] [로컬 환경] ComfyUI 이용하여 영상 생성하기 4탄 : PyramidFlowWrapper (1) | 2024.11.14 |
[영상 생성 AI] [로컬 환경] ComfyUI 이용하여 영상 생성하기 3탄 : Stable Video Diffusion 활용하기 (2) | 2024.09.26 |
[영상 생성 AI] [로컬 환경] ComfyUI 이용하여 영상 생성하기 1탄: ComfyUI + ToonCrafter (4) | 2024.08.14 |