컴퓨터/노트북/인터넷
IT 컴퓨터 기기를 좋아하는 사람들의 모임방
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/
일반적인 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 [안경잡이개발자]
컴퓨터/노트북/인터넷
IT 컴퓨터 기기를 좋아하는 사람들의 모임방
-
구글 최신 뉴스
날짜2024.12.12 카테고리뉴스 읽음1385 -
아 진짜 요새 SKT 해킹 뭐시기 때문에 신경 쓰여 죽겠어 ㅠㅠ
날짜2025.05.20 카테고리일반 읽음237 -
사랑LOVE 포인트 만렙! 도전
날짜2025.03.19 카테고리 읽음4663 -
🚨(뉴비필독) 전체공지 & 포인트안내
날짜2024.11.04 카테고리 읽음25850 -
URL만 붙여넣으면 끝! 임베드 기능
날짜2025.01.21 카테고리 읽음20432 -
Intel 12세대 i3-12100YouTube 10비트 HDR 8K60 AV1 비디오를 원활하게 재생가능?
날짜2024.11.10 조회수4540 -
블루투스 헤드셋 질문좀~
날짜2021.01.31 조회수49 -
e4000이랑 560s랑 음질차이
날짜2021.01.28 조회수70 -
未检测到我的手机MTP。
날짜2019.12.24 조회수29 -
amd 라이젠 1700 > 인텔 i5 12400f cpu 변경후 드라이브 오류
날짜2022.06.14 조회수1122 -
윈도우 11 에러 중에 이런 종류가 있나요?
날짜2022.06.14 조회수1085 -
마소계정에 정품인증
날짜2022.06.14 조회수420 -
4k나 1080p 동영상 보면 렉이 걸리는데...
날짜2022.06.14 조회수482 -
제가쓰던 놋북 윈도우가 리테일이래요 그러니까 fpp 윈도우라는거 맞죠??
날짜2022.06.14 조회수401 -
윈도우 10 왜 버벅일까요..?
날짜2022.06.14 조회수348 -
오피스 정품 판매 맞을까요?
날짜2022.06.14 조회수169 -
윈도우11 더 많은 옵션 항상사용하는 방법
날짜2022.06.09 조회수262 -
윈도우 11 22H2 RTM 빌드 확정됨
날짜2022.05.30 조회수223 -
해킹 대회에서 윈도우 11의 취약점 6개가 발견됨
날짜2022.05.30 조회수235 -
ProtonMail, 통합 브랜드로 다양한 서비스를 제공
날짜2022.05.30 조회수185 -
가상머신에 윈도우95 설치하기
날짜2022.04.22 조회수630 -
구글 크롬 100 버전 공개
날짜2022.04.04 조회수839 -
윈도우 11+다이렉트스토리지, 게임 로딩 시 CPU 부하가 최대 40% 감소
날짜2022.04.04 조회수708 -
애플, 위조된 법적 증명에 속아 사용자 데이터를 제공?
날짜2022.04.04 조회수639 -
윈도우 탐색기 대체 대안 프로그램 8가지
날짜2022.04.04 조회수904 -
인터넷은 어떻게 작동되는지 알아보자
날짜2022.04.02 조회수675 -
크롬 취약점 발견 Chrome 업데이트 빨리 해야
날짜2022.03.30 조회수764 -
GPU-Z, 인텔 아크 알케미스트 그래픽 지원
날짜2022.03.26 조회수147 -
아프리카 TV가 트위치보다 데이터를 훨씬 많이 쓰는군요
날짜2022.03.26 조회수224 -
애플, 미국 애리조나 주에서 월렛에 신분증 기능 제공
날짜2022.03.26 조회수151 -
macOS 12.3에서 외장 모니터 연결 문제, 게임 패드 연결 문제
날짜2022.03.26 조회수164 -
비트코인 오브 아메리카, ATM에서 도지코인을 취급
날짜2022.03.26 조회수152 -
1990년대 중후반에 나온 PowerVR PC GPU의 소스 코드 공개
날짜2022.03.26 조회수158 -
NVIDIA, 삼성, MS를 해킹한 Lapsus$. 알고보니 10대 소년이 주범?
날짜2022.03.26 조회수159 -
통신사 직원 수십억원 갖고 잠적
날짜2022.03.26 조회수364