오전수업: 유민경 강사님
오후수업: 좌혜린 강사님
오전수업: ControlNet의 다양한 기능 체험하기
Stable Diffusion 실습 개요
실습은 azure 클라우드 환경에서 진행되었다. 복잡한 프로그램을 설치하거나 GPU를 사용하지 않고 Stable Diffusion의 기능들을 체험해볼 수 있었다는 엄청난 장점!
ControlNet 사용 방법
ControlNet 설치
- 깃허브에서 ControlNet 링크를 복사해 설치.
- Stable Diffusion의 확장 기능 메뉴(Extensions)에서 'URL로 설치' 기능을 사용해 설치한 후, WebUI 재시작
- 설치 후, ControlNet 모델을 다운로드에서 사용할 수 있다. (HuggingFace 등)
ControlNet의 다양한 모드
- Canny 모드: 이미지를 스케치한 것처럼 선을 따내고, 그 선을 기반으로 새로운 이미지를 생성한다. 원본 이미지의 화면 비율도 유지할 수 있다.
- Lineart 모드: Canny와 비슷하지만, 더 섬세하게 선을 추출해서 이미지로 변환한다.
- Inpaint 모드: 그림에서 특정 부분을 선택해 수정할 수 있다. 필요한 부분을 다시 그려 새로운 이미지를 만들 수 있다.
- Scribble 모드: 낙서를 하면 그 구조를 유지하면서 이미지를 생성해준다.
- Depth 모드: 이미지의 깊이감을 표현해줘서 더 입체적인 느낌을 줄 수 있다.
- Reference 모드: 이미지를 참고해서 새로운 이미지를 만들지만, 기존 Stable Diffusion 모델에 영향을 받지 않고 레퍼런스 이미지만 참고한다. 이를 이용해 비슷한 이미지를 계속 생성할 수 있다.
동일 인물 화보집 만들기 실습
- Seed 값을 이용해 고정된 인물의 여러 가지 스타일이나 포즈를 계속 생성할 수 있다. Seed는 이미지 생성에 영향을 미치는 중요한 숫자로, 이를 고정하면 비슷한 이미지를 계속 만들 수 있다. Seed 값을 -1로 설정하면 랜덤으로 이미지가 생성된다.
- 두 개 이상의 ControlNet 기능을 함께 사용할 수 있다고 한다.
실습은 못해봤다.





오후수업: Stable Diffusion을 활용한 동영상 제작
Stable Diffusion 확장 기능 활용
Openpose Editor
- Openpose Editor는 인체의 포즈를 시각적으로 편집할 수 있는 도구이다. 이를 통해 원하는 자세의 인물을 생성할 수 있다.
- 3D Openpose Editor를 사용하면 3차원적인 포즈를 만들 수 있고, 결과 이미지는 PNG 형식으로 저장하여 다른 작업에 활용할 수 있다.
기본적으로는 json 파일로 저장된다고 한다.
adetailer
- 이미지를 생성하다 보면 얼굴이나 손 등의 디테일이 흐트러지는 경우가 많은데, adetailer를 사용해서 이미지를 정교하게 보정할 수 있다.
- 생성된 캐릭터의 얼굴이 비정상적으로 왜곡된 경우, 손가락의 개수가 이상하거나, 형태가 이상한 경우, adetailer가 이를 자동으로 감지해서 수정해준다.
발은 못해주더라. 손과 얼굴을 동시에 수정할 수도 있다.
ControlNet
- ControlNet은 위에 오전수업에서 정리한 것처럼 추가적인 이미지 제어 기능을 제공하는데, Openpose와 연계해서 특정 포즈나 이미지를 기반으로 더 정교한 이미지를 생성할 수 있다.
사용자가 설치해야 하는 모델 파일이 있다는 정도의 단점? 어쩌면 장점?~
캐릭터와 배경 이미지 만들기
캐릭터 이미지 만들기
- 원하는 캐릭터를 만들 때 프롬프트에 'full body' 혹은 'showing hands and shoes'라는 조건을 넣어 전신이 보이도록 이미지를 생성한다.
- 이때 캐릭터의 손이나 얼굴이 왜곡될 수 있으므로 adetailer 기능을 활용하여 수정해야 한다.
- 생성된 캐릭터 이미지는 동영상에서 동작을 입히거나 배경과 합성할 때 사용하였다.

배경 이미지 만들기
- 캐릭터가 등장할 장면의 배경 만들기
- Runway-Gen2를 사용하여 Stable Diffusion으로 만든 이미지를 동영상으로 변환하였다.
Viggle을 이용하여 캐릭터 모션 입히기
Viggle AI를 통해서 캐릭터에게 움직임을 부여할 수 있다. 배경을 초록색으로 해서 크로마키 기법을 사용할수도 있고, 여러 캐릭터에게 동시에 동작을 입힐 수도 있다.
- Stable Diffusion으로 만든 캐릭터에 움직임 부여하기!
Runway-Gen2로 배경 동영상 만들기
- Runway-Gen2에서 배경 동영상을 제작할 때 중요한 점은 이미지에 움직임을 부여하는 것!
- Runway-Gen 모델을 통해서 텍스트에서 동영상을 만들거나, 이미지를 동영상으로 전환할 수 있다.
Capcut을 이용한 동영상 편집
Capcut 사용법
- Gen2로 생성한 배경 영상과 Viggle로 생성한 캐릭터 영상을 업로드한다.
- 스마트툴을 이용해 배경 제거
- 동영상에 텍스트를 추가하거나 효과를 입힐 수 있다.
- Capcut에서 제공하는 음악을 추가하거나, 외부에서 음악 파일을 가져와서 동영상에 삽입할 수 있다.
Personal Insight
실습 위주로 수업이 진행되다 보니 8시간이 정말 순식간에 지나갔다. 집중하느라 딴짓할 틈도 없더라. 가끔 딴짓하기도 한 게 들키려나. 🤣 오전 수업에서는 더 다양한 실습을 할 수 있었을 것 같은데, 비전공자 입장에서는 설명이 좀 빠르게 느껴졌고, 따라가기 쉽지 않은 부분들이 많았다. 16반 분들이 대체적으로 비슷하게 느꼈던 것 같다.
전공자분들이 비전공자분들 템포에 맞춰 차분하게 기다려주셔서 정말 감사했고, 합반 수업 때마다 답답한 순간들도 충분히 있을텐데 오히려 놓치는 부분들을 챙겨주시고 배려해주셔서 많은 도움을 받았다. 비전공자반끼리는 서로 의지하고 으쌰으쌰하는 모습이 항상 보기 좋다. 프로젝트를 진행할 때도 지금처럼 서로 배려하고, 함께 도와가며 좋은 결과를 만들 수 있었으면 좋겠다. 5기 아자아자!
오후 수업 때도 다소 빠르게 진행된 순간들이 있었으나, PPT 자료가 자세하게 정리되어 있어서 놓친 부분도 금방 따라갈 수 있었고, 강사님께서도 중간중간 기다려주시고 되돌아가서 다시 짚어주시며 뒤처지는 사람 없이 따라올 수 있도록 도와주셨다. 이 과정에서 발표자료의 중요성에 대해서 다시 한 번 생각해보게 되었던 것 같다. 학생 때는 간단하고 직관적인 자료가 최고라고만 생각했었는데, 발표자료 자체만으로도 충분히 내용을 전달할 수 있을 만큼 상세한 것도 중요하다는 것을 깨달았다. 프로젝트를 준비할 때는 간결하면서도 중요한 정보를 빠짐없이 담을 수 있는 방법을 두 마리 토끼를 다 잡을 수 있는 방법을 고민해야겠다는 생각이 들었다.
재미있는 Stable Diffusion 수업 끝! (이제 끝이겠지? 진짜로? 죽지도 않고 돌아오는 accelerate sdwebui 제발 안녕)



