Extra Form
링크 http://추천을 하고 댓글을 작성...됩니다.

FaceSwap은 사진 혹은 비디오에 있는 얼굴을 인식(Recognize)하여, 얼굴 부분을 바꾸어주는(Swap) Deep Learning 기술 기반의 Software이다. 흔히 DeepFakes와 동일한 의미로 언급되는 라이브러리의 이름이기도 하다. 지금은 다양한 Face Manipulation 기술들이 DeepFakes라는 대명사로 불리는 경우가 많은데, FaceSwap에서 제시된 기술이 기본적인 DeepFakes의 기술적 방법론과 같다.

Computer Vision 기술에 대한 깊은 지식이 없어도, FaceSwap 프로그램을 다운로드 받아서 사용하는 것은 매우 간단하다. 그렇기 때문에 Fake Video들이 자연스럽게 양산될 수 있기 때문에, 올바른 윤리 의식을 갖추는 것이 중요하다. 기본적으로 FaceSwap의 GitHub에서는 다음과 같은 문구들을 따르도록 제시하고 있다.

1) FaceSwap is not for creating inappropriate content.
2) FaceSwap is not for changing faces without consent or with the intent of hiding its use.
3) FaceSwap is not for any illicit, unethical, or questionable purposes.
4) FaceSwap exists to experiment and discover AI techniques, for social or political commentary, for movies, and for any number of ethical and reasonable uses.

쉽게 말하면, 비윤리적인 목적으로 FaceSwap을 이용하지 말라는 소리이다. 비윤리적으로 사용되는 다양한 사례들은 이미 뉴스에서 수차례 언급된 적이 있으므로 생략하겠다. 아무튼 저자는 최근에 AI Security 및 Privacy 파트의 논문도 많이 Follow-up 하고 있는데, DeepFakes로 발생하는 Privacy Concern에 관심이 많아서 실험을 몇 번 해보았다.

 

일단 사용자 친화적인 FaceSwap Software는 다음의 경로에서 설치할 수 있다.

 

▶ FaceSwap 다운로드: https://faceswap.dev/download/

 

Download - Faceswap

You can get the latest Windows Installer from this link. If you experience problems with Github, you can also get the installer directly from this link To install on any other platform, please download our git repository from Github If you’re comfortable w

faceswap.dev

일반적인 Computer Vision 실습과는 다르게, FaceSwap GUI 프로그램은 GPU 환경이 갖추어진 윈도우나 Mac OS에서 실습하는 것이 편할 것이다. 터미널 기반의 Linux와 비교했을 때 사진이나 동영상을 옮기고 쉽게 실행할 수 있기 때문이다.

 

 

기본 설정 그대로 설치를 진행하면 된다.

 

 

이 때 자신의 그래픽 카드(Graphic Card) 환경에 맞게 설치를 진행한다. 저자는 AMD GPU를 사용하고 있기 때문에 이를 선택했다. 자신의 컴퓨터의 그래픽 카드 정보를 확인하고자 할 때는 [장치 관리자]를 열어서 자신이 사용하고 있는 그래픽 카드 드라이버를 확인하면 된다.

 

또한 기본적으로 아나콘다(Anaconda) 개발환경이 갖추어져 있어야 한다. 만약에 Python 및 Conda 환경이 구축되지 않았다면 Conda 환경부터 구축하자.

 

▶ Anaconda 환경 구축: https://ndb796.tistory.com/355

 

아무튼 FaceSwap의 설치는 매우 간단하다. 

 

 

[Install] 버튼을 눌러 설치를 마쳤다.

 

 

설치 이후에는 FaceSwap이 설치된 폴더로 이동하여 python faceswap.py gui 명령으로 소프트웨어를 실행할 수 있다.

 

 

다만, 이 때 자신의 그래픽 카드 환경 및 설치된 파이썬 패키지에 따라서 오류가 발생할 수 있다. 저자는 PlaidML 라이브러리가 없어서 오류가 발생하였다. 따라서 저자의 경우 pip install plaidml-keras 명령을 통해 필요한 라이브러리를 설치하라는 오류 메시지를 확인할 수 있었다. 그래서 pip install plaidml-keras plaidbench로 라이브러리를 설치하였다.

 

이후에 plaidml-setup 명령으로 환경 설정을 진행하면 된다. 다만, 다음과 같이 [WinError 126] 메시지와 함께 오류가 발생할 수 있다.

 

 

이는 저자가 글을 쓸 당시에 존재하던 PlaidML의 버전 문제로, 다음과 같이 PlaidML 삭제 및 구버전으로 재설치하여 해결할 수 있었다.

 

pip uninstall plaidml 
pip uninstall plaidml-keras 
pip uninstall plaidbench 
pip install plaidml==0.6.4

 

아무튼 이제 다시 plaidml-setup 명령으로 설정을 진행하자. 몇 가지를 물어보는데, 다음과 같이 Yes로 답을 진행하면 된다.

 

Q. Enable experimental GPU support? y

Q. Default device? 1 : opencl_amd_tahiti.0

Q. Save settings to C:\Users\\.plaidml? y

 

 

이후에 setx KERAS_BACKEND plaidml.keras.backend를 입력한 뒤에 Shell Prompt를 껐다가 다기 실행하자. 또한 FaceSwap의 requirements.txt 폴더에는 필요한 라이브러리들이 명시되어 있다. 따라서 그냥 pip install -r requirements.txt 명령으로 추가적으로 필요한 라이브러리를 모두 설치하자.

 

 

이후에 다시 python faceswap.py gui 명령으로 FaceSwap을 실행해보자. PlaidML을 위한 설정은 성공적으로 마쳤으나, 여전히 오류가 발생하고 있다. FaceSwap은 기본적으로 TensorFlow를 이용하여 학습을 진행하기 때문에, TensorFlow가 설치되어 있어야 하는 것이다.

 

 

따라서 이러한 오류가 발생하는 경우 pip install tensorflow명령으로 tensorflow를 설치할 수 있다. 다만, 저자의 경우 버전 호환 문제로 TensorFlow 2.0 이상 버전을 설치했을 때는 오류가 발생했다. 따라서 저자는 pip install tensorflow==1.14.0로 설치하였다.

 

 

설치가 완료된 이후에 다시 python faceswap.py gui를 입력하여 실행하면 정상적으로 FaceSwap 소프트웨어가 구동된다.

 

 

정상적으로 동작이 되는 것을 확인한 이후에는 Tutorial 가이드 문서를 읽어 보면서 사용 방법을 익혀보도록 하자.

 

▶ Extraction: https://forum.faceswap.dev/viewtopic.php?f=5&t=27

▶ Training: https://forum.faceswap.dev/viewtopic.php?f=6&t=146

 

상당히 내용이 잘 정리되어 있기 때문에 이 내용들을 꼼꼼히 읽어보는 것을 추천한다.



출처: https://ndb796.tistory.com/356 [안경잡이개발자]


하드웨어 갤러리

포인트 지급 글 작성(5점) / 댓글(2점) 권한 조회(Lv.0 이상) / 작성(Lv.1 이상)

List of Articles
번호 분류 제목 글쓴이 조회 수
Hot글 일반/잡담 써멀구리스 추천받고 싶습니다. 1 익명 1494
Hot글 롤 프레임 질문있습니다 2 file 익명 1506
Hot글 3500x 기본쿨러로 버티기 힘든가요?? 1 익명 1511
4851 하드웨어팁 cpu와 쿨러방열판이 합체되었을 때 분리하는 법 file 익명 29
4850 정보 추가) 뉴 월드의 베타 버전을 플레이하면 그래픽카드가 죽는다? file 익명 36
4849 정보 Neo Forza, DDR4-5000와 DDR4-4600 메모리 키트 발표 file 익명 24
4848 정보 2021.07.22 02:12 크루셜 P5 플러스. PCIe 4.0 SSD file 익명 23
4847 정보 코어 i9-12900K QS, 시네벤치 R20에서 5950X보다 높음 익명 26
4846 정보 라이젠 3 5300G, FCLK 2.4GHz로 오버클럭 file 익명 26
4845 정보 라데온 RX 6600 XT의 사진 유출 file 익명 26
4844 일반/잡담 중국 최초의 12인치 웨이퍼 재생시설이 양산에 성공 익명 32
4843 일반/잡담 v file 익명 20
4842 일반/잡담 인텔 Xe DG1 그래픽의 벤치마크 file 익명 23
4841 일반/잡담 14코어 알더레이크-P의 긱벤치 결과 익명 23
4840 일반/잡담 지포스 RTX 40, 에이다 러브레이스가 TSMC 5nm로 제조 익명 25
4839 일반/잡담 Loongson 3A5000 프로세서 정식 발표 file 익명 28
4838 일반/잡담 메테오레이크의 후속작, 루나레이크 익명 22
4837 일반/잡담 인텔 2021년 2분기 실적 발표 file 익명 24
4836 파워컬러, 24개의 라데온 RX 6600 XT/6600을 등록 file 익명 22
4835 일반/잡담 씨게이트, 앞으로 몇 달 안에 20TB PMR 하드를 대량 출시 file 익명 24
4834 정보 Puget 시스템, 인텔보다 AMD 프로세서를 더 많이 판매함 file 익명 25
4833 일반/잡담 2700x vs 8700K 성능차이 비교하기 file 익명 25
4832 정보 ASRock Industrial, NUC 6000 BOX, iBOX 6000 및 NUC 6000 마더 보드 공개 file 익명 997
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 243 Next
/ 243
위로