ComfyUI는 여러 확산 모델을 통해 결과물을 생성하는 노드 방식의 Open Source GUI 서비스이다. 노드 기반의 그래픽 인터페이스라서 전체적인 작업 흐름을 쉽게 파악하고 커스텀할 수 있다고 한다.
ReActor은 Roop의 후속 프로젝트로 ComfyUI에서 가장 널리 쓰이는 얼굴 교체 도구라고 한다. ONNX 기반이기에 CPU만으로 동작하고, 한 이미지에서 여러 얼굴을 동시에 교체할 수 있게 된다. 또한 얼굴 복원 기술과 모델 저장 기술이 있다. 성별을 감지하고 교체하는 기능도 존재한다.
먼저 ComfyUI를 다운로드한다. 나의 경우 Apple Silicon Mac이기에 Download for Mac을 선택했다.

맥에서 dmg 설치는 늘 그렇듯 drag&drop으로 처리해준다. 설치 시 시간이 좀 걸리기는 한다.

설치된 ComfyUI 앱을 열어준다. 그런 후에 좌측 하단의 톱니를 눌러 setting창을 열고, keybinding 탭을 누른다. 그러면 막 여러가지 옵션과 단축기를 설정할 수 있는 부분이 나오는데, 여기서 custom nodes manager을 검색하고 ctrl + shift + G(원하는 키)를 설정해준다.
이후에 그 키를 눌러 Discover Community-made node Packs, Extensions, and more...을 열어준다. 
그런 후에 위 사진처럼 ReActor을 검색, 최상단의 ComfyUI-ReActor을 install한다. 이후 재시작을 해주면 된다.
일단 먼저 사진 두 가지를 다운받는다. 나의 경우 아리아나 그란데를, 사부님은 쵸단을 골랐다. 이제 쵸단의 사진에 아리아나 그란데의 얼굴을 이식해보려고 한다.
일단 새로운 workflow를 생성한 다음에, 더블클릭해준다. 그러면 위와 같이 노드의 종류와 검색할 수 있는 창이 뜨게 된다. 여기서 입력층은 Load Image로 두 개를 만들어준다.

두 가지를 처리해주는 모델(은닉층)을 중간에 넣어준다. 이때도 더블 클릭하여 ReActor을 검색한 후, 생성해준다.

일단 경로를 드레그&드랍으로 image를 input과 source와 연결해주고, 그런 후에 갖가지 파라미터를 열심히 만지면서 테스트해준다.

마지막으로 save image를 만들어서 swapped와 연결해주면 끝난다. run을 돌리면 좀 엉성하지만 괜찮은 이미지가 빠르게 나오게 된다.

이렇게 생성된 모델은 따로 저장할 수도 있고, 서비스용으로 사용할 수도 있다.