• 大小: 38.96MB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-01-31
  • 语言: Python
  • 标签:

资源简介

使用DeepFakes实现YouTube视频自动换脸

资源截图

代码片段和文件信息

import os
import sys
import argparse
import glob

import cv2
import numpy
from tqdm import tqdm

from google_scraper import scrape
from face_extractor import extract_faces

# Create virtual display for ubuntu server usage
from pyvirtualdisplay import Display
display = Display(visible=0 size=(800 600))
display.start()

def preprocess_faces(keyword):
    in_dir = ‘./data/raw/‘
    out_dir = ‘./data/faces/‘
    dataset = keyword.lower().replace(“ “ “_“)
    faces_dir = os.path.join(out_dir dataset)

    # check directory and create if necessary
    if not os.path.exists(faces_dir):
        os.makedirs(faces_dir)
    # empty directory
    for f in glob.glob(os.path.join(faces_dir “*.jpg“)):
        os.remove(f)

    # loop through our previously scraped images
    files = glob.glob(os.path.join(in_dir dataset “*.jpg“))
    nFiles = len(files)
    counter = 1
    for i in tqdm(range(nFiles)):
        try:
            orig_image = cv2.imread(files[i])
            # extract faces and resize to 256x256 px
            facelist = extract_faces(orig_image 256)
            
            # write all face images to disk
            for j in range(len(facelist)):            
                cv2.imwrite(os.path.join(faces_dir “{0}_{1}.jpg“.format(i j)) facelist[j][1])
        except:
            print(“Unexpected error:“ sys.exc_info()[0])

if __name__ == “__main__“:
    # parse command line options
    parser = argparse.ArgumentParser(description=‘Scrapes face images from google and extracts the faces.‘)
    parser.add_argument(“--name“ help=“Name of a person whos face you want to scrape (e.g. \“Angela Merkel\“)“)
    parser.add_argument(“--limit“ default=500 type=int help=“Limit of Images per Dataset“)
    args = parser.parse_args()

    # check directory and create if necessary
    if not os.path.isdir(“./data/raw/“):
        os.makedirs(“./data/raw/“)

    print(“Step 1: scrape the images from google“)
    scrape(args.name int(args.limit))

    # check directory and create if necessary
    if not os.path.isdir(“./data/faces/“):
        os.makedirs(“./data/faces/“)

    print(“Step 2: extract the faces“)
    preprocess_faces(args.name)
    
    print(“\n===============================================\n“)
    print(“I‘m done for now you should quality check your \ngenerated datasets in \“data/faces/\“!“)
    print(“\n===============================================\n“)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-01-03 10:25  youtube-video-face-swap-master\
     文件        1227  2019-01-03 10:25  youtube-video-face-swap-master\.gitignore
     文件        2413  2019-01-03 10:25  youtube-video-face-swap-master\1_get_faces.py
     文件        4214  2019-01-03 10:25  youtube-video-face-swap-master\1_get_faces_from_yt.py
     文件        3847  2019-01-03 10:25  youtube-video-face-swap-master\2_train.py
     文件        6510  2019-01-03 10:25  youtube-video-face-swap-master\3_youtube_face_swap.py
     文件        1057  2019-01-03 10:25  youtube-video-face-swap-master\LICENSE
     文件        3977  2019-01-03 10:25  youtube-video-face-swap-master\README.md
     文件    13480583  2019-01-03 10:25  youtube-video-face-swap-master\example.gif
     文件    12286668  2019-01-03 10:25  youtube-video-face-swap-master\example3.gif
     文件     1613239  2019-01-03 10:25  youtube-video-face-swap-master\example3.mp4
     文件    10500125  2019-01-03 10:25  youtube-video-face-swap-master\examples2.gif
     文件     5045560  2019-01-03 10:25  youtube-video-face-swap-master\examples2.mp4
     文件        4245  2019-01-03 10:25  youtube-video-face-swap-master\face_extractor.py
     文件        5020  2019-01-03 10:25  youtube-video-face-swap-master\google_scraper.py
     文件        1785  2019-01-03 10:25  youtube-video-face-swap-master\image_augmentation.py
     文件        1778  2019-01-03 10:25  youtube-video-face-swap-master\model.py
     文件        3382  2019-01-03 10:25  youtube-video-face-swap-master\pixel_shuffler.py
     文件         169  2019-01-03 10:25  youtube-video-face-swap-master\requirements-gpu.txt
     文件         165  2019-01-03 10:25  youtube-video-face-swap-master\requirements.txt
     文件        1044  2019-01-03 10:25  youtube-video-face-swap-master\training_data.py
     文件        3554  2019-01-03 10:25  youtube-video-face-swap-master\umeyama.py
     文件        1426  2019-01-03 10:25  youtube-video-face-swap-master\utils.py

评论

共有 条评论