본문 바로가기

Project/AI_Human(GAN)

[AI Human 3] FSGAN으로 딥페이크 얼굴 영상합성 (ffmpeg 모듈 충돌 해결)

첨엔 영상합성할때 트레이닝부터 시켜야되는 faceswap으로 (https://github.com/deepfakes)

 

결과를 뽑아내려고 했는데 내 로컬컴은 똥컴이라서 당췌 training이 끝날 기미가 안보이고 (기본 셋팅 기준 내 놋북으로 열흘 넘게 걸림) 한 이틀 돌려본 결과 아래 사진과 같이 성능도 쒯일거 같아서 포기함...로스는 거의 0.020 이런 수준으로

트레이닝하면서 낮아진게 아래임...(이목을 집중시키려고 두 대상을 선정한거지 정치적인 의도 전혀 없음)

 

 

그래서 택한게 FSGAN. 트레이닝 다 되어있고 inference만 시키면 아무 얼굴이나 일단 붙기는 붙음.

붙는다고 했지 퀄리티가 높다곤 안했다 ㅎ(그러나 faceswap 트레이닝 시키는것보다는 나을듯)

근데 짧은 시간안에 해야되는 프로젝트면 얼굴 합성 열이면 아홉은 다 이걸로 할 듯 ㅋㅋ

 

https://github.com/YuvalNirkin/fsgan/blob/master/inference/face_swapping.ipynb

 

GitHub - YuvalNirkin/fsgan: FSGAN - Official PyTorch Implementation

FSGAN - Official PyTorch Implementation. Contribute to YuvalNirkin/fsgan development by creating an account on GitHub.

github.com

위에서 아주 잘 설명되어 있는대로 저 사람한테 메일 보내서 fsGAN 드라이브를 계정에서 공유받은 뒤에 돌리면 슝슝 잘 돌아가....길 바랬으나

 

원인모를 모듈 충돌을 해결하지 못해서 ( 원본 깃 issue에 이렇게 저렇게 해보란거 다 해봤으나 해결 안됨)

허무하게 며칠을 날리고 어찌어찌 또 허무한 해결법을 알아내서 공유한다.

fsGAN은 이와 같은 install들로 실행코드가 시작하는데 이걸 다 깔고 (디버깅을 위해 원본 실행 코드에서 하나의 셸을 두개로 나눔) import ffmpeg를 실행하면..

 

다음과 같이 ffmpeg가 없다고 한다??ㅋㅋㅋ 바로위에서 ffmpeg가 깔렸다고 하는데..

 

아니나 다를까 issue에서 비슷한 현상으로 고통받는 사람들이 pip list에 있는거 지우고 가상환경에서 다시 깔아라 뭐해라 블라블라 아래 글에서 하라는거 다 해봤는데 해결안됨. 

https://github.com/YuvalNirkin/fsgan/issues/57

 

No module named 'ffmpeg' · Issue #57 · YuvalNirkin/fsgan

No module named 'ffmpeg' error in installation part of official colab notebook. Notebook link: https://colab.research.google.com/github/YuvalNirkin/fsgan/blob/master/inference/face_swapping...

github.com

내가 colab에서 돌려서 그런걸까 뭘까... 

 

근데 이 노트에서 import ffmpeg를 하면 실행되는 python이 무슨 버전인가 하면 아래와 같이 확인할 수 있는데

맨 처음 실행 코드 초입부에서 시스템 경로가 설정된 것을 보면 다음과 같다.

sys.path += ['/usr/local/lib/python3.7/site-packages', '/content/projects']

 

이 부분에서 python3.7 부분을 python3.9로 바꿔주고 다시 런해보면 모듈 충돌 문제가 해결된다....ㅡㅡ...;; 

본인은 또 이미 깔린거랑 충돌날까봐 노파심에 !pip list랑 !conda list 해보고 거기 깔려있는 ffmpeg 다 지우고 다시 깔아보고 쌩gr를 다해봤으나 그냥 sys.path를 바꿔주면 해결될 문제.