def METHOD_NAME(self):
    # STAGE No1 : detect faces and fitting to 3d mesh by main.py execution
    list_im = []
    print("START")
    a = open("file_list.txt", "w")
    for subdir, dirs, files in os.walk(self.path_in):
        current_directory_path = os.path.abspath(subdir)
        for file in files:
            name, ext = os.path.splitext(file)
            if ext == ".jpg":
                current_image_path = os.path.join(current_directory_path, file)
                current_image = cv2.imread(current_image_path)
                list_im.append(current_image_path)
                a.write(str(file) + os.linesep)
                cv2.imwrite(os.path.join(self.key, file), current_image)
        self.args.files = list_im.copy()
        list_im.clear()
        preprocessing_1.main(self.args)
    a.close()
    # STAGE No2: Landmarks Output with inference.py execution
    im_list2 = []
    d = open(os.path.join(self.key1, 'realign_lmk'), "w")
    for subdir, dirs, files in os.walk(self.path_in):
        current_directory_path = os.path.abspath(subdir)
        self.args.img_prefix = current_directory_path
        self.args.save_dir = os.path.abspath(self.key2)
        self.args.save_lmk_dir = os.path.abspath(self.key1)
        if not os.path.exists(self.args.save_dir):
            os.mkdir(self.args.save_dir)
        if not os.path.exists(self.args.save_lmk_dir):
            os.mkdir(self.args.save_lmk_dir)
        list_lfw_batch = './file_list.txt'
        dst = os.path.join(self.args.save_lmk_dir, "file_list.txt")
        copyfile(list_lfw_batch, dst)
        b = open("txt_name_batch.txt", "w")
        for file in files:
            with open(list_lfw_batch) as f:
                img_list = [x.strip() for x in f.readlines()]
                for img_idx, img_fp in enumerate(tqdm(img_list)):
                    if img_fp == str(file):
                        im_list2.append(str(file))
                        b.write(str(file) + os.linesep)
        self.args.img_list = './txt_name_batch.txt'
        b.close()
        self.args.dump_lmk = 'true'
        im_list2.clear()
        preprocessing_2.main(self.args)
        with open(os.path.join(self.args.save_lmk_dir, 'realign_lmk_')) as f:
            img_list = [x.strip() for x in f.readlines()]
            for img_idx, img_fp in enumerate(tqdm(img_list)):
                d.write(img_fp + os.linesep)
    d.close()
    # STAGE No3: Generate Facial Images in specific pitch and yaw angles
    test_multipose.main(self.save_path, self.val_yaw, self.val_pitch)