Mencoba Membuat Deepfake – Fun Weekend Project #2

Weeend ini saya coba belajar tentang Deepfake dengan menggunakan Python.

Deepfake adalah sebuah “program” yang dapat mengganti wajah seseorang di dalam foto atau video.

Istilah deepfake menjadi populer sejak tahun 2018 ketika seorang pengguna Reddit dengan username u/deepfakes mengganti wajah aktris pada video porno menjadi wajah dari Gal Gadot (Wonder Woman).

Tentu saja saya sama sekali tidak berniat untuk melakukan hal seperti itu.

Saya belajar deepfakes untuk murni belajar programming, terutama dalam hal ini yang berkaitan dengan Machine Learning.

Awa Mulanya Dari Sini

Sebenarnya, awalnya saya tidak berniat belajar tentang deepfake. Saya pengen belajar AI (Artificial Intelligence) setelah menonton video Two Minute Papers berikut ini:

Saya tertarik dengan proses pembelajaran AI-nya sekaligus terpesona dengan ilustrasinya yang sangat menarik. Jadi niat saya awalnya mau belajar cara membuat seperti itu.

Tapi kemudian setelah saya coba beberapa waktu, masih tidak ketemu dan sepertinya programnya terlalu kompleks. Jadi saya coba cari referensi lain.

Sampai akhirnya secara tidak sengaja saya ketemu video lain oleh Two Minutes Paper berikut ini:

Video ini menunjukkan betapa mudahnya sekarang membuat deepfake sederhana. Bahan yang diperlukan tidak banyak. Hanya perlu sebuah video acuan dan foto yang akan diproses.

Dan setelah saya coba pelajari beberapa waktu…

…hei, ini gampang beneran!

Programnya sederhana, ketika saya install requirement nya pun tidak ada banyak masalah (setelah googling dan cari sana-sini).

Requirements

Awalnya saya nemu masalah saat menginstall Pytorch. Versi Pytorch yang diminta adalah Torch 1.00 dan Torchvision 0.21, tapi saat saya install dengan pip muncul error bahwa versi tersebut tidak ada.

Solusi dari masalah ini adalah dengan menyertakan link wheel Pytorch saat menginstall sebagai berikut

pip install torch==1.0.0 torchvision==0.2.1 -f https://download.pytorch.org/whl/cu100/torch_stable.html

Jadi sebelum menginstall requirement.txt, saya harus install code di atas dulu. Kemudian menghapus list torch dan torchvision di requirement.txt sebelum mengeksekusinya.

pip install -r requirement.txt

Karena pada dasarnya ini adalah program Machine Learning, harusnya saya melakukan training data terlebih dahulu.

Tapi karena masih belum mudeng dan sepertinya proses trainingnya butuh resource yang besar, jadinya saya cukup pakai hasil training yang sudah ada.

Hasil

Ini adalah hasil otak atik saya untuk menukar wajah antara Raditya Dika dan David Gadgetin.

Karena saya tidak mentraining data baru, jadi saya harus melakukan beberapa manipulasi sederhana dengan Photoshop dan Premiere Pro untuk mendapatkan hasil bagus.

https://www.instagram.com/p/CAAIHn1BBdV/

Author: Fajrul

Amateur physicist and science writer

Leave a Reply

Your email address will not be published. Required fields are marked *