日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

用让新海诚本人惊讶的 AI 模型制作属于你的动漫视频

發布時間:2023/12/8 ChatGpt 94 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用让新海诚本人惊讶的 AI 模型制作属于你的动漫视频 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文將介紹如何使用 GAN 模型來生成屬于你自己的動漫風格的視頻,為自己、喜歡的菇涼或者調皮可愛孩子生成一個別具一格的動漫風格的視頻。

本文操作難度較低,適合想要試玩了解 GAN 模型的同學。可以同時使用 CPU / GPU (包括 ARM M1)來完成。

寫在前面

這陣子在翻閱和學習一些模型相關的內容,當我看到大名鼎鼎的《你的名字》、《秒速五厘米》、《天氣之子》等經典作品的導演新海誠,因為一組對比圖發出了下面的感嘆的時候,我的好奇心一下子就上來了。

圖片中新海誠的感嘆內容翻譯過來的大概意思是:“很有趣,我感覺到了各種可能性。如果這是由美術工作人員提出的,電影將會重拍。笑”

在我看來,能夠得到如新海誠這樣的大佬翻牌子,或許這類模型值得一玩。于是,我試著用這類模型將我的結婚紀念視頻進行了風格轉換,發現效果還行啊。

接著,我又針對一些以往的照片試了試這個“濾鏡”,發現針對部分照片來說,效果真的很不錯。

獨樂樂不如眾樂樂,如果你也有計劃為喜歡的人、或者孩子,甚至是自己做一些卡通風格化的視頻/照片留念的話,那么跟著我一起來折騰下本篇內容吧。

本篇將依次介紹兩種模型的使用,關于這兩個模型的簡單介紹,在本文結尾有提到,如果你感興趣的話,可以跳轉閱讀。

好了,我們先來進行一些準備工作吧。

準備工作

在開始為我們的視頻或者照片“加濾鏡”之前,我們需要先進行環境準備。

本篇文章為了更簡單一些,就不再在文章中展開如何進行模型的 Docker 鏡像封裝了,感興趣的同學可以自行翻閱上篇《使用 Docker 來運行 HuggingFace 海量模型》文章內容,來學習相關內容。

使用 Conda 簡化 Python 程序環境準備工作

和上篇文章一樣,我推薦使用 Conda 完成基礎的程序運行環境的安裝。

你可以從Conda 官方網站下載合適的安裝程序(安裝包比較大,大概 500M左右,需要一些耐心)。

  • 如果你是 Mac x86 用戶,可以下載 Anaconda3-2022.05-MacOSX-x86_64.sh
  • 如果你是 Mac M1 用戶,可以下載 Anaconda3-2022.05-MacOSX-arm64.sh
  • 如果你是 Linux 用戶,可以下載 Anaconda3-2022.05-Linux-x86_64.sh
  • 如果你是 Windows 用戶,可以下載 Anaconda3-2022.05-Windows-x86_64.exe

接下來,我們先以 Mac 和 Ubuntu 為例,來演示如何完成環境的準備。

從上面的地址下載好 Conda 安裝文件之后,一行命令完成程序安裝即可。

# 先進行 conda 的安裝 bash Anaconda3-2022.05.(你的安裝文件名稱).sh

如果你在使用 Ubuntu,和我一樣,需要經常測試不同的模型和項目,可以在安裝完畢之后,執行下面的命令,讓 conda shell 環境常駐。

# 在完成安裝之后,可以考慮hi eval "$(~/anaconda3/bin/conda shell.bash hook)"

至于 Mac,我更推薦什么時候使用,什么時候手動激活 conda shell。比如在安裝完畢 conda,并初始化好了某一個程序的專用環境之后,我們可以通過執行 conda activate [環境名稱] 命令來激活這個環境所需要的 shell。(關于如何初始化環境,請耐心往下看)

國內用戶,推薦在使用 Conda 時,先進行軟件源配置操作。這樣可以減少在下載軟件包過程中造成的不必要時間浪費。

編輯 vi ~/.condarc 文件,在其中加入下面的內容(以“清華源”為例):

channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/- defaults show_channel_urls: true

當我們完成了 ~/.condarc 的內容修改之后,先重啟 Shell,接著使用 conda info 就可以檢查軟件源是否配置成功了:

(base) soulteary@ubuntu:~# conda infoactive environment : base ...channel URLs : https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarchhttps://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/noarchhttps://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/noarchhttps://repo.anaconda.com/pkgs/main/linux-64https://repo.anaconda.com/pkgs/main/noarchhttps://repo.anaconda.com/pkgs/r/linux-64https://repo.anaconda.com/pkgs/r/noarch ...

可以看到,日志輸出中包含了我們剛剛填寫的“清華源”。

接下來,我們來通過 conda 命令,來快速創建我們所需要的模型應用程序所需要的運行環境:

conda create -n my-anime-video python=3.10

上面的命令執行完畢之后,將會創建一個名為 my-anime-video 的基于 Python 3.10 的基礎運行環境;如果你需要其他版本的 Python 來運行自己的模型,可以調整命令中的版本號。

當環境創建完畢之后,我們需要先執行命令,將環境激活(用過 GVM、NVM 的同學應該會很熟悉)。

conda activate my-anime-video

當環境激活之后,我們的 shell 命令行提示的開始處將會出現這個環境名稱提示,告訴我們現在正位于這個環境之下:

(my-anime-video) # your shell command here...

當完成環境激活之后,我們同樣先來完成軟件源的切換(上篇文章有詳細介紹,感興趣可以自行閱讀):

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

接著來完成 PyTorch 常用依賴的安裝:

pip install torch torchvision torchaudio

最后安裝一個用來“偷懶”的工具 Towhee:

pip install towhee

至于這個工具能省多大事,我先賣個關子不提,看到后面你就知道了。

安裝 ffmpeg 來處理多媒體素材

如果你只是希望處理圖片,那么這部分可以跳過,如果你希望處理的內容包含視頻,我們需要借助 ffmpeg 這個工具的力量。

在 macOS 中,我們可以通過 brew 來進行安裝:

brew install ffmpeg

在 Linux 環境中,比如 Ubuntu,我們可以通過 apt 來進行安裝:

apt install ffmpeg -y

在 ffmpeg 安裝就緒之后,我們來針對視頻進行處理,將視頻轉換為待處理的圖片。

比如,我們要將當前目錄的視頻 wedding-video.mp4 按照每秒 25 幀拆解為圖片,并將圖片保存在當前目錄的 images 目錄下,可以執行下面的命令:

ffmpeg -i ./wedding-video.mp4 -vf fps=25 images/video%d.png

當命令執行完畢之后,我們將得到滿滿一個文件夾的圖片,它們都將以命令中的 video 為前綴,數字為結尾。我選擇的視頻文件接近 15 分鐘,當轉換完畢之后,得到了兩萬多張圖片。

ls images/| wc -l 21628

當上面的準備工作都就緒之后,我們來看看如何使用兩種模型來生成屬于我們自己的卡通/動漫風格的視頻。

先來看看第一個模型:CartoonGAN。

CartoonGAN

關于這個模型,我找到了一個 HuggingFace 上的在線試玩地址:https://huggingface.co/spaces/akiyamasho/AnimeBackgroundGAN。

這個在線工具來自一位日本開發者,在它的另外一個項目 AnimeBackgroundGAN-Shinkai (新海誠風格)中,我們能夠找到一個預訓練模型(關聯項目中還有宮崎駿、細田守、今敏的風格),而在 GitHub 中,我們能夠找到這個項目對應的代碼倉庫 venture-anime/anime-background-gan-hf-space。

在進行上文提到的視頻素材(大量圖片)處理之前,我們先來試著在本地運行起來一個同款的 Web 工具,來驗證模型代碼是否能夠正確運行。

驗證項目模型效果

這個項目可以使用 CPU 或 GPU 運行,如果你手頭有 macOS、Ubuntu 的話,可以直接運行。

不過原始項目對于最新版本的 PyTorch 支持有一些問題,使用 GPU 運行會報錯,并且不支持指定顯卡運行,以及項目依賴有一些問題,所以我做了一個 fork 版本:https://github.com/soulteary/anime-background-gan-hf-space。

我們使用 Git 下載項目,然后切換到項目目錄中:

git clone https://github.com/soulteary/anime-background-gan-hf-space.git cd anime-background-gan-hf-space

在進一步進行之前,我們需要確認已經用 conda 將之前準備的 Python 環境激活,如果你不確定或者還沒有進行切換,可以再次執行下面的命令(重復執行沒有副作用):

conda activate my-anime-video

在切換到 my-anime-video 這個環境之后,我們使用 Python 啟動項目:

python app.py

在命令執行之后(可能需要稍等片刻),我們將得到類似下面的日志:

/Users/soulteary/anaconda3/envs/my-anime-video/lib/python3.10/site-packages/gradio/deprecation.py:40: UserWarning: `optional` parameter is deprecated, and it has no effectwarnings.warn(value) Running on local URL: http://127.0.0.1:7860/To create a public link, set `share=True` in `launch()`.

然后打開瀏覽器,輸入上面日志中提示的地址 http://127.0.0.1:7860/,就能夠看到一個在線的 Web 工具界面啦。

要進行模型和應用代碼驗證也很簡單,點擊左邊的圖片上傳區域,上傳一個你想要測試的圖片,然后點擊“提交”即可。

可以看到,一張頗有卡通感的圖片出現在了右側。這里如果使用 CPU 運行,一般需要 3~10s 來處理一張圖,如果使用 GPU,則一般需要 1s 左右。

在完成了程序和模型的驗證之后,我們來編寫批量處理圖片的程序。

編寫模型調用程序進行批量圖片處理

完整程序,我已經上傳到了 GitHub https://github.com/soulteary/have-fun-with-AnimeGAN/blob/main/CartoonGAN/app.py 方便大家自取。

原始的項目中,并不支持批量讀取圖片,并且默認會加載四個模型,比較浪費資源,所以我這里進行了一些功能完善。

import argparse import glob, os import time from pathlib import Path from PIL import Imageimport torch import numpy as np import torchvision.transforms as transforms from torch.autograd import Variable from network.Transformer import Transformer from huggingface_hub import hf_hub_downloadimport logginglogging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__)def parse_args():desc = "CartoonGAN CLI by soulteary"parser = argparse.ArgumentParser(description=desc)parser.add_argument('--model', type=str, default='Shinkai', help='Shinkai / Hosoda / Miyazaki / Kon')parser.add_argument('--input', type=str, default='./images', help='images directory')parser.add_argument('--output', type=str, default='./result/', help='output path')parser.add_argument('--resize', type=int, default=0,help='Do you need a program to adjust the image size?')parser.add_argument('--maxsize', type=int, default=0,help='your desired image output size')"""If you want to resize, you need to specify both --resize and --maxsize"""return parser.parse_args()def prepare_dirs(path):Path(path).mkdir(parents=True, exist_ok=True)arg = parse_args()enable_gpu = torch.cuda.is_available()if enable_gpu:# If you have multiple cards,# you can assign to a specific card, eg: "cuda:0"("cuda") or "cuda:1"# Use the first card by default: "cuda"device = torch.device("cuda") else:device = "cpu"def get_model(style):# Makoto Shinkaiif style == "Shinkai":MODEL_REPO_SHINKAI = "akiyamasho/AnimeBackgroundGAN-Shinkai"MODEL_FILE_SHINKAI = "shinkai_makoto.pth"model_hfhub = hf_hub_download(repo_id=MODEL_REPO_SHINKAI, filename=MODEL_FILE_SHINKAI)# Mamoru Hosodaelif style == "Hosoda":MODEL_REPO_HOSODA = "akiyamasho/AnimeBackgroundGAN-Hosoda"MODEL_FILE_HOSODA = "hosoda_mamoru.pth"model_hfhub = hf_hub_download(repo_id=MODEL_REPO_HOSODA, filename=MODEL_FILE_HOSODA)# Hayao Miyazakielif style == "Miyazaki":MODEL_REPO_MIYAZAKI = "akiyamasho/AnimeBackgroundGAN-Miyazaki"MODEL_FILE_MIYAZAKI = "miyazaki_hayao.pth"model_hfhub = hf_hub_download(repo_id=MODEL_REPO_MIYAZAKI, filename=MODEL_FILE_MIYAZAKI)# Satoshi Konelif style == "Kon":MODEL_REPO_KON = "akiyamasho/AnimeBackgroundGAN-Kon"MODEL_FILE_KON = "kon_satoshi.pth"model_hfhub = hf_hub_download(repo_id=MODEL_REPO_KON, filename=MODEL_FILE_KON)model = Transformer()model.load_state_dict(torch.load(model_hfhub, device))if enable_gpu:model = model.to(device)model.eval()return modeldef inference(img, model):# load imageinput_image = img.convert("RGB")input_image = np.asarray(input_image)# RGB -> BGRinput_image = input_image[:, :, [2, 1, 0]]input_image = transforms.ToTensor()(input_image).unsqueeze(0)# preprocess, (-1, 1)input_image = -1 + 2 * input_imageif enable_gpu:logger.info(f"CUDA found. Using GPU.")# Allows to specify a card for calculationinput_image = Variable(input_image).to(device)else:logger.info(f"CUDA not found. Using CPU.")input_image = Variable(input_image).float()# forwardoutput_image = model(input_image)output_image = output_image[0]# BGR -> RGBoutput_image = output_image[[2, 1, 0], :, :]output_image = output_image.data.cpu().float() * 0.5 + 0.5return transforms.ToPILImage()(output_image)prepare_dirs(arg.output)model = get_model(arg.model)enable_resize = False max_dimensions = -1 if arg.maxsize > 0:max_dimensions = arg.maxsizeif arg.resize :enable_resize = TrueglobPattern = arg.input + "/*.png"for filePath in glob.glob(globPattern):basename = os.path.basename(filePath)with Image.open(filePath) as img:if(enable_resize):img.thumbnail((max_dimensions, max_dimensions), Image.Resampling.LANCZOS)start_time = time.time()inference(img, model).save(arg.output + "/" + basename, "PNG")print("--- %s seconds ---" % (time.time() - start_time))

上面這段一百來行的程序大概做了這么幾件事,會根據傳遞參數來動態的載入必要的模型,而不是所有的模型。默認情況下,它會讀取當前目錄 images 子目錄的所有圖片,并依次調用 CPU / GPU 來進行圖片處理,并將處理結果保存在 result 子目錄中。如果你希望對輸出圖片進行尺寸調整,可以傳遞參數來做限制。

我們來試著運行下這個程序:

python app.py --model=Shinkai

當命令開始執行后,我們就能夠批量處理視頻圖片啦,如果不出意外,你將會看到類似下面的日志:

... --- 1.5597078800201416 seconds --- INFO:__main__:Image Height: 1080, Image Width: 1920 --- 0.44031572341918945 seconds --- INFO:__main__:Image Height: 1080, Image Width: 1920 --- 1.5004260540008545 seconds --- INFO:__main__:Image Height: 1080, Image Width: 1920 --- 1.510758876800537 seconds --- INFO:__main__:Image Height: 1080, Image Width: 1920 --- 1.362170696258545 seconds --- INFO:__main__:Image Height: 1080, Image Width: 1920 ...

這里需要處理的時間可能會比較久,如果我們有 GPU 會極大的提升速度,或者適當調整輸出圖片的大小,也能夠在使用 CPU 進行渲染的情況下,得到比較快的處理速度。

當程序運行結束之后,我們在 result 目錄中,就能夠得到經過 AI 模型處理的圖片內容了,這時我們只要再次使用 ffmpeg 將圖片轉換為視頻就好啦:

ffmpeg -f image2 -r 25 -i result/video%d.jpg -vcodec libx264 -crf 18 -pix_fmt yuv420p result.mp4

接下來,我們先來聊聊如何使用 GPU 進行提速,然后再來看看有沒有更通用的、低成本的提速方案。

使用 GPU 進行模型執行提速

如果你沒有 GPU,想用最小成本來玩,那么可以直接閱讀下一小節內容。

言歸正傳,假設我們要處理上萬甚至十萬張圖片,最好的方式便是使用 GPU 進行數據處理。考慮到當前一塊能高效跑 AI 模型的具備大顯存的顯卡至少一萬起步,我更推薦使用按量付費的云主機,大概每小時 10~20 塊錢,跑個個把小時,就能拿到你想要的結果啦。我個人測試下來,幾個云廠商帶有顯卡的主機都差不多,大家根據自己情況和喜歡的方式選擇就行,如果是學生身份,或許有些平臺還能有教育折扣。

為了能夠相對快速的得到結果,我選擇了一臺雙卡云主機,在不做程序的深度優化前,能夠直接讓數據處理時間減半。

想要讓兩張顯卡各處理一半的數據,我們可以選擇修改上面的程序,也可以用 Linux Shell 把數據直接分為兩堆兒。作為一個懶人,我們選擇后者。(如果你只有一張卡,可以跳過這個步驟)

先來確認當前待處理的數據總量,有兩萬多張圖片。

ls images/| wc -l 21628

接著使用組合命令,將一半的圖片挪到新創建的文件夾中:

mkdir images2 ls | sort | head -10814 | xargs -I {} mv {} images2/

在準備完數據之后,我們同樣需要對程序做一點小的調整,讓程序分別使用兩張不同的顯卡設備,我們可以選擇像程序讀取輸入輸出文件夾使用參數相同的方式,來讓用戶指定顯卡設備;也可以選擇更簡單的方式,將上面的程序復制一份,調整原來的程序和新程序中要調用的顯卡設備名稱,比如,將 device = torch.device("cuda") 調整為 device = torch.device("cuda:0") 和 device = torch.device("cuda:1")。

當完成上述調整和準備之后,分別使用 python 執行兩個程序即可:python app1.py、python app2.py。如果你不能保證你通過 SSH 連接到服務器的會話穩定,那么可以試試使用 screen、tmux 這類工具。

程序開始運行之后,接下來就是漫長的等待,在處理過程中,我們可以使用 nvidia-smi 查看顯卡狀態,可以看到如果這臺“電腦”擱家里,應該是蠻費電的,而且大概率會很吵。

nvidia-smi +-----------------------------------------------------------------------------+ | NVIDIA-SMI 450.102.04 Driver Version: 450.102.04 CUDA Version: 11.0 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 Tesla V100-SXM2... On | 00000000:00:08.0 Off | 0 | | N/A 54C P0 263W / 300W | 25365MiB / 32510MiB | 100% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ | 1 Tesla V100-SXM2... On | 00000000:00:09.0 Off | 0 | | N/A 55C P0 265W / 300W | 25365MiB / 32510MiB | 100% Default | | | | N/A | +-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | 0 N/A N/A 61933 C python 25363MiB | | 1 N/A N/A 62081 C python 25363MiB | +-----------------------------------------------------------------------------+

當程序處理完所有圖片之后,會自動退出。這個時候,我們可以再次使用 ffmpeg 將圖片還原為視頻:

time ffmpeg -f image2 -r 25 -i result/video%d.png -vcodec libx264 -crf 18 -pix_fmt yuv420p result.mp4

當程序運行完畢,我們將看到類似下面的日志:

Output #0, mp4, to 'result.mp4':Metadata:encoder : Lavf58.29.100Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1920x1080, q=-1--1, 25 fps, 12800 tbn, 25 tbcMetadata:encoder : Lavc58.54.100 libx264Side data:cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 frame=21628 fps= 75 q=-1.0 Lsize= 1135449kB time=00:14:25.00 bitrate=10753.3kbits/s speed=2.99x video:1135185kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.023257% [libx264 @ 0x55779059b380] frame I:253 Avg QP:15.48 size:194386 [libx264 @ 0x55779059b380] frame P:6147 Avg QP:17.74 size: 95962 [libx264 @ 0x55779059b380] frame B:15228 Avg QP:20.43 size: 34369 [libx264 @ 0x55779059b380] consecutive B-frames: 4.7% 2.9% 4.0% 88.4% [libx264 @ 0x55779059b380] mb I I16..4: 16.0% 47.1% 36.9% [libx264 @ 0x55779059b380] mb P I16..4: 7.9% 13.9% 6.1% P16..4: 31.2% 18.5% 9.3% 0.0% 0.0% skip:13.0% [libx264 @ 0x55779059b380] mb B I16..4: 1.6% 1.6% 0.5% B16..8: 34.3% 9.6% 2.7% direct:11.8% skip:37.9% L0:42.2% L1:42.3% BI:15.5% [libx264 @ 0x55779059b380] 8x8 transform intra:48.1% inter:59.5% [libx264 @ 0x55779059b380] coded y,uvDC,uvAC intra: 47.2% 66.3% 35.9% inter: 30.7% 35.6% 1.6% [libx264 @ 0x55779059b380] i16 v,h,dc,p: 39% 32% 6% 23% [libx264 @ 0x55779059b380] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 20% 26% 4% 5% 4% 5% 4% 5% [libx264 @ 0x55779059b380] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 33% 20% 16% 5% 6% 6% 5% 5% 4% [libx264 @ 0x55779059b380] i8c dc,h,v,p: 50% 21% 21% 8% [libx264 @ 0x55779059b380] Weighted P-Frames: Y:24.2% UV:17.1% [libx264 @ 0x55779059b380] ref P L0: 49.1% 14.5% 22.1% 12.4% 1.9% [libx264 @ 0x55779059b380] ref B L0: 81.3% 14.0% 4.7% [libx264 @ 0x55779059b380] ref B L1: 93.6% 6.4% [libx264 @ 0x55779059b380] kb/s:10749.30real 4m49.667s user 78m36.497s sys 0m44.806s

當我打開處理完畢的視頻,就個人觀感而言,光線充足的場景下,模型的發揮還是比較好的。這里由于上傳圖片壓縮,效果沒有本地看到的驚艷,感興趣的同學不妨試試。

或許你想知道,有沒有什么不用 GPU 也能進行一些加速效果的方案呢?答案是有的。

使用并行計算和流式處理來加速圖片處理

Python 3 支持 concurrent API,來做并行計算。不過處理并發計算,一般還需要折騰隊列,涉及到多線程調度,涉及到流式 IO 等等一坨麻煩事。而且并發代碼調試也比較惡心,尤其是在 Python 中…(個人觀點)

還記得我在上文中曾經 pip install 的 towhee 么,這個軟件包里包含了一些快捷的工具方法,能夠簡化上面一系列麻煩事情,讓我們處理相同的事情,花更少的代價,因為很多時候,一些基本的帶有復雜度的麻煩事,應該交給基礎工具來解決,而不是都由開發者吭哧吭哧的填。

我們以上文中一百多行的模型應用代碼舉例,如果換用 Towhee 做一個“平替”程序,那么可以這樣來實現:

import towheetowhee.glob('./*.png') \.image_decode() \.img2img_translation.cartoongan(model_name = 'Shikai') \.save_image(dir='./result').to_list()

幾行代碼,就完成了核心邏輯:批量讀取圖片、將圖片進行 RGB 編碼轉換,然后將圖片數據傳遞給模型進行處理,最后進行模型計算結果保存到某個文件夾里。

接下來,我們再對上面的代碼進行一些調整,來完成上面提到的麻煩事,并行計算。其實需要的改動很少,只需要我們在“處理圖片編碼轉換”之前,加上一行 .set_parallel(5) 來告訴程序,我們要使用多個線程來搞事情就行啦。

當程序運行起來的時候,就會默認調用 5 個并發來執行計算,所以即使沒有 GPU,只使用 CPU 的情況下,我們也能夠獲取更高的執行效率。

import towheetowhee.glob('./*.png') \.set_parallel(5) \.image_decode() \.img2img_translation.cartoongan(model_name = 'Shikai') \.save_image(dir='./result').to_list()

在玩 Towhee 的過程中,我也遇到了一些小問題。比如 Towhee 這個工具的設計初衷是為了科學計算,所以像是保存圖片、折騰視頻文件都不是它的主業,默認情況下,它會以 UUID 的形式來保存處理后的圖片。

為了能夠讓圖片結果為我們所用,輸出的圖片能夠按照原始文件名稱進行存儲,讓模型處理完的結果能夠“還原成視頻”。我特別向它的開源倉庫提交了一個 PR (#1293)來解決這個問題。

當然,我們也需要對上面的幾行代碼做一些額外的調整,添加一些參數:

import towheetowhee.glob['path']("./*.png") \.set_parallel(5) \.image_decode['path','img']() \.img2img_translation.cartoongan['img', 'img_new'](model_name = "Shikai") \.save_image[('img_new','path'), 'new_path'](dir="./result") \.to_list()

不過,截止本文發布的時候,包含我的 PR 的主干版本,還沒有被正式發布,所以暫時還需要安裝 Python PyPI 每日構建的開發版的軟件包來使用這個功能。

pip install -i https://test.pypi.org/simple/ towhee==0.6.2.dev48

如果大家覺得這個偷懶的玩法還不錯,可以代我去官方開源倉庫去提 Issue,催催維護團隊更新版本。

那么,為啥作為 Towhee 用戶的我不去催呢?其實是因為不好意思。為啥不好意思呢?你接著看下去就知道啦。

AnimeGAN

在聊完 CartoonGAN 之后,我們來試試另外一個模型:AnimeGAN。目前模型有三個版本,除了第三個版本外,都是免費使用的開源項目。

為了方便演示以及一些特別的原因(文末詳述),我這里選擇開源且較為穩定的第二個版本。

在開始折騰之前,同樣也可以先試試它的在線試玩的 Demo:https://huggingface.co/spaces/akhaliq/AnimeGANv2。

還是先來進行本地項目驗證,來驗證模型代碼是否能夠正確運行。

驗證項目模型效果

考慮到文章篇幅和工程師“美德”(偷懶),我們就不再折騰冗長的模型調用程序代碼了,我選擇繼續用 Python 版 “jQuery” 來 “Write Less, Do More”:

import towheearg = parse_args() towhee.glob['path']("./*.png") \.set_parallel(5) \.image_decode['path', 'img']() \.img2img_translation.animegan['img', 'new_img'](model_name ="Shinkai") \.save_image[('new_img', 'path'), 'new_path'](dir="./result", format="png") \.to_list()

邏輯和上文中調用 CartoonGAN 一樣,唯一的差別是使用了 animegan 的模型。

我們將上面的代碼保存為 lazy.py,然后從網上隨便找些圖片放在程序所在的目錄,執行 python lazy.py,稍等片刻就能夠在程序同級目錄發現一個新的名為 result 的文件夾,里面放著的就是我們用模型處理過的圖片啦。

相關代碼,我已經上傳到了 https://github.com/soulteary/have-fun-with-AnimeGAN/blob/main/AnimeGAN/lazy.py 感興趣的同學可以自取。

在驗證完畢模型效果之后,我們同樣可以使用這個模型來生成一段卡通風格的視頻。

雖然上文中使用 ffmpeg 拼合視頻的效率非常高,但是畢竟要執行額外的兩條命令,有沒有什么辦法可以進一步偷懶呢?答案顯然是有的。

編寫模型調用程序進行視頻處理

不知道是否還有同學記得,在上篇文章中我提到的 Towhee 核心開發者之一的 @候杰 同學。在我死纏爛打之下,他幫我這個 Python 菜鳥,搞了一個 read_video 方法。

所以,上文中需要先用 ffmpeg 把視頻轉換為圖片,然后在模型處理之后,再把圖片拼合成視頻的繁瑣操作,就可以被幾行代碼替代掉啦!相比較之前的玩法,新的代碼行數瞬間縮短到了五行左右(算空行也就六行),節約了原本需要寫的 80% 的代碼行數。

import towheetowhee.read_video("./video.mp4") \.set_parallel(5) \.img2img_translation.animegan['img', 'new_img'](model_name = 'Skinkai') \.to_video('./result.mp4', 'x264', 15)

上面這幾行代碼執行下來,分別會自動套用模型處理視頻的每一幀內容,然后將模型處理結果重新編碼為每秒 15 幀的視頻文件。實際使用的時候,你可以根據自己的需求進行碼率調整。

為了方便你的使用,我也將代碼上傳到了 GitHub,需要的同學可以自取。

針對視頻文件進行快速預覽

相比較圖片內容處理,相同分辨率的視頻的數據量其實會大不少。

所以如果我們想對視頻進行一個快速效果預覽,可以考慮在代碼中添加一個尺寸調整的功能,將每一幀需要處理的圖片尺寸進行縮放,減少計算量。

一如上文中的偷懶原則,想要搞定這個“需求”的方法也很簡單,只需要加一行 image_resize 在合適的位置:

import towheetowhee.read_video("./video.mp4") \.set_parallel(5) \.image_resize(fx=0.2, fy=0.2) \.img2img_translation.animegan['img', 'new_img'](model_name = 'Skinkai') \.to_video('./result.mp4', 'x264', 15)

這部分的代碼,我依舊上傳到了 GitHub,希望對你有幫助。

其他

好啦!到這里為止,我已經講完了:

  • 如何準備一個快速上手的 Python 環境
  • 如何快速上手使用 CartoonGAN、AnimeGAN 兩個模型;
  • 如何用這兩個模型處理圖片或者視頻;
  • 如何使用 Python 模型里的 “jQuery”:Towhee 來偷懶,少寫代碼多搞事情。
  • 如何進行 GitHub 上“野生”模型項目的基本調優和封裝

接下來,我們來簡單聊聊文章開頭提到的模型。

關于 AnimeGAN 和 CartoonGAN

關于使用 GAN(生成對抗網絡) 模型來對圖片做動漫卡通風格化處理,就國內而言,目前有兩個知名度較高的國產項目。

一個是來自清華大學團隊在 2018 年公開的 CartoonGAN,該模型的論文中選 CVPR 2018,在 GitHub 上有 700 余顆星星。另外一個是來自湖北科技大學,在 2019 年公開的 AnimeGAN,該模型至今已迭代了三個版本(前兩個版本開源),并在 GitHub 上累計收獲了近 8 千顆星星。

關于兩個模型和論文,媒體都曾進行過報道宣傳:《實景照片秒變新海誠風格漫畫:清華大學提出CartoonGAN》、《強烈安利試試這個!效果爆炸的漫畫變身AI,火到服務器幾度擠爆》,其中 AnimeGAN 處理的圖片結果,甚至得到了新海誠的感嘆。

我個人使用下來,CartoonGAN 和 AnimeGAN 各有優勢和不足,至于模型效果,以及各自適合哪些場景。相信聰明的讀者們,可以通過本文提到的方式,和自己的實踐來找到答案。

這兩個項目的開源倉庫地址:

  • https://github.com/mnicnc404/CartoonGan-tensorflow / 模型下載:http://cg.cs.tsinghua.edu.cn/people/~Yongjin/CartoonGAN-Models.rar
  • https://github.com/TachibanaYoshino/AnimeGAN
  • https://github.com/TachibanaYoshino/AnimeGANv2

目前,因為 AnimeGAN v3 正在進行商業化嘗試,并且是閉源發布,為了不對作者造成影響,這里就先不做相關模型封裝和嘗試啦。

開源不易,模型項目開源尤為不易,能夠做商業化轉型更是不易,需要社區、需要國人同胞的支持和鼓勵。只有不斷支持和反饋開源生態,國內的開源生態才有可能向好的方向變化,而當生態變好之時,我們這些從業者定然能夠從中獲得更多的益處。

最后

在一周前,我在朋友圈曬過使用模型來處理之前結婚的紀念視頻,有不少朋友點贊和表示好奇如何“折騰自己的照片或視頻”,當時承諾大家會出一篇教程,趁著端午節,趕出了這篇內容,希望大家玩的愉快。

最后,再次感謝被我死纏爛打之下添加了新功能的 @侯杰 同學,同樣感謝為我的 PR 提供了大量建議,幫助我把模型傳遞到 Towhee Hub,解決國內下載模型緩慢問題的、來自彩云之南的程序媛 @室余 妹紙。

–EOF


本文使用「署名 4.0 國際 (CC BY 4.0)」許可協議,歡迎轉載、或重新修改使用,但需要注明來源。 署名 4.0 國際 (CC BY 4.0)

本文作者: 蘇洋

創建時間: 2022年06月04日
統計字數: 20370字
閱讀時間: 41分鐘閱讀
本文鏈接: https://soulteary.io/2022/06/04/create-your-own-anime-video-with-an-ai-model-that-surprised-makoto-shinkai.html

總結

以上是生活随笔為你收集整理的用让新海诚本人惊讶的 AI 模型制作属于你的动漫视频的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

成人a v视频 | 手机看片国产日韩 | 伊人电影天堂 | 久久99精品国产99久久 | 亚洲精品视 | 国产99一区 | 日韩理论在线观看 | 欧美精品久久久久久 | 日日摸日日碰 | 成人看片 | 国产精品一级在线 | 久久手机免费视频 | www一起操| 免费看黄色91 | 国产成人一区二区三区 | 在线视频观看亚洲 | 黄网站色视频免费观看 | 亚洲欧美国产视频 | 91av视频在线免费观看 | 亚洲成人国产 | 精品久久久久久久久久久久久久久久 | 麻豆高清免费国产一区 | 欧美性黑人 | 婷婷激情网站 | 日韩精品一区二区三区三炮视频 | 国产精品久久久久久久久免费看 | 一区二区三区四区五区在线 | 国产一区二区免费 | 色播99| 国产成人精品一区二区三区免费 | 五月网婷婷 | 337p日本大胆噜噜噜噜 | 中文字幕免费高清av | 国内精品久久天天躁人人爽 | 黄色小说免费观看 | 国产成人一区二区三区 | 日日操日日插 | 91pony九色丨交换 | 黄色三级免费观看 | 欧美激情视频一二三区 | 免费看一级特黄a大片 | 欧美激情视频久久 | 日韩福利在线观看 | 国语精品免费视频 | 久久精品国产亚洲精品2020 | 一区二区三区中文字幕在线观看 | 激情丁香综合五月 | 又黄又爽的免费高潮视频 | 久久精品视频4 | 免费av在线网站 | 免费a一级 | 欧美一区影院 | 久久婷婷开心 | 日本久久电影网 | 国产女人18毛片水真多18精品 | 亚洲国内精品视频 | 欧洲精品久久久久毛片完整版 | 欧美肥妇free | 成年人国产在线观看 | 天天干天天综合 | 精产嫩模国品一二三区 | 色窝资源 | 亚洲精品黄网站 | 免费观看国产精品视频 | 日韩一三区| 三上悠亚一区二区在线观看 | 亚洲手机天堂 | 黄色福利网站 | 男女视频久久久 | 天天色视频 | 亚洲黄色一级电影 | 色黄www小说 | 欧美另类tv| 国产一二区精品 | 日韩精品视频在线免费观看 | 色干干| 最近2019中文免费高清视频观看www99 | 国产精品破处视频 | 国产在线日韩 | 91在线入口 | 国产免费视频一区二区裸体 | 亚洲欧美国产精品 | 国产精品久久久久久久久久久免费看 | 麻豆一区二区 | 国产区网址 | 天天干天天插伊人网 | 免费a v在线 | 久久久久成人精品 | 免费观看版 | 久草视频手机在线 | 国产一区视频在线观看免费 | 色免费在线 | 亚洲精品国产精品国自产在线 | 久久久亚洲麻豆日韩精品一区三区 | 99精品视频播放 | 免费福利在线 | 国产精品久久久久av福利动漫 | 国产丝袜高跟 | 久久免费视频在线观看6 | 日韩三级成人 | 久草免费在线观看视频 | 日韩专区在线 | 涩涩色亚洲一区 | av天天色 | 在线中文视频 | 国产视频中文字幕在线观看 | 成人久久18免费网站麻豆 | 免费三级黄色片 | 亚洲国产精品女人久久久 | 久久tv视频 | 免费在线黄色av | 久久在线免费观看 | 97在线观看免费高清 | 九九免费在线观看视频 | 日p视频 | a视频在线观看免费 | 久久不射网站 | 一区二区三区在线免费 | av成人亚洲| 九九热.com| 中文字幕免费高 | 亚洲国产97在线精品一区 | 国产精品二区在线 | 日韩剧 | 91精品视频免费观看 | 亚洲精品在线视频网站 | 国产成人久久精品一区二区三区 | 久久久久久不卡 | 成人在线免费视频 | 日韩精品视频免费 | 天堂视频一区 | 91av手机在线观看 | 91.麻豆视频 | 中文字幕在线观看的网站 | 曰韩精品 | 91在线看黄 | 91视频电影 | 91自拍视频在线 | 亚洲高清国产视频 | 97在线精品 | 97理论片 | 欧美激情在线看 | 国产专区一 | 免费人成在线观看网站 | 五月香视频在线观看 | 超碰97av在线 | 免费观看视频黄 | 亚洲做受高潮欧美裸体 | ww视频在线观看 | 久久久久久久久久久久久国产精品 | 日日精品| 欧美一级欧美一级 | 欧美成天堂网地址 | 久久99网站 | 久久久久久看片 | 国产精品久久久久久久久免费 | 99久久精品国产网站 | 久久久久9999亚洲精品 | 久久久久久久免费 | 免费看黄的视频 | 亚洲高清av在线 | 中文字幕国内精品 | 中文字幕精品一区二区三区电影 | 久久久久高清 | 亚洲欧美在线综合 | 国产区免费在线 | 国产色爽 | free. 性欧美.com | 免费的黄色的网站 | 夜夜操网 | 成人午夜电影在线播放 | 亚洲a网 | 久草在线免费资源 | 国产免费三级在线观看 | 美女av免费| 久久99深爱久久99精品 | 中文字幕字幕中文 | 这里只有精品视频在线 | 中文字幕资源网在线观看 | 国产生活一级片 | 99精品欧美一区二区三区 | 国产高清在线观看av | 在线观看国产 | 99国产精品一区二区 | 亚洲精品视频网 | 亚洲国产中文在线 | 91麻豆精品国产91久久久久久 | 中文字幕一区二区三区视频 | 99久久影院 | 91中文在线视频 | 免费在线看v | 狠狠干夜夜操 | 人人澡超碰碰97碰碰碰软件 | 日日干日日色 | 免费看网站在线 | 国产小视频在线观看 | 五月色丁香 | 婷婷丁香社区 | 国产精品久久久久av福利动漫 | 久久国产精品一国产精品 | 99视频导航 | 91av社区| 日韩av在线小说 | 日韩一区二区三区免费视频 | 欧美一区日韩精品 | av 一区二区三区 | 久久国产精品久久久 | 在线观看一级片 | 色综合天天做天天爱 | 在线观看精品一区 | 免费成人在线电影 | 伊人狠狠操 | 国产亚洲精品久久19p | 久久久久久久久久久久99 | 男女啪啪免费网站 | 日本高清中文字幕有码在线 | 人人插人人 | 欧美精品中文字幕亚洲专区 | 人人要人人澡人人爽人人dvd | 国产精品99久久久久久武松影视 | www免费视频com━ | 97人人模人人爽人人喊中文字 | 草久久精品 | 欧美天天综合 | 视频一区视频二区在线观看 | 久久精品成人欧美大片古装 | 91国内在线视频 | 波多野结衣日韩 | 日韩一二区在线观看 | 黄网站色| 天天干天天天天 | av解说在线观看 | 天天操天天干天天爽 | 欧美与欧洲交xxxx免费观看 | 日韩a级黄色片 | 成人在线视频免费看 | 国产一级高清 | 欧美精品一区二区性色 | 欧美aa在线| 亚洲人成免费 | av免费网站| 狠狠插狠狠操 | 久久在线免费观看视频 | 九九在线视频免费观看 | 在线亚洲小视频 | 亚洲欧洲精品久久 | 免费a现在观看 | 精品在线观看一区二区三区 | 国产成人一区二区三区在线观看 | 国产精品v a免费视频 | 欧美日韩高清 | 在线免费观看一区二区三区 | 7777精品伊人久久久大香线蕉 | 一区二区激情 | 久久综合五月天婷婷伊人 | 国产美女免费视频 | 在线观看av大片 | 欧美男同网站 | 久久精品99久久 | 日韩成人在线一区二区 | 在线观看日韩国产 | av黄色av | 欧美精品999 | 中文字幕在线免费观看 | 午夜av免费在线观看 | 色婷婷电影 | 天天干一干 | 亚洲作爱| 欧美日韩中文字幕在线视频 | 免费美女久久99 | 伊人va| 一级一片免费视频 | 成人a视频在线观看 | 国产中文自拍 | 欧美a免费 | 蜜臀av性久久久久蜜臀av | 波多野结衣电影一区二区三区 | 国产无套精品久久久久久 | 亚洲最大成人免费网站 | 成人国产精品 | 91av在线视频播放 | 在线成人免费电影 | 一区二区视频在线看 | av电影在线观看完整版一区二区 | www国产亚洲精品久久网站 | 99精品久久久久 | 国产精品久久久久久电影 | 久草视频中文在线 | 天天色图 | 久久9999久久免费精品国产 | 亚洲日本欧美在线 | av在线播放中文字幕 | 欧美国产日韩一区 | 国产午夜在线观看 | 涩涩爱夜夜爱 | 免费福利视频导航 | 涩涩色亚洲一区 | 久久综合九色综合久久久精品综合 | 日韩精品一区二区三区在线播放 | 激情五月婷婷 | 精品国产一区二区三区av性色 | 99爱在线 | 国产涩涩在线观看 | 91精品无人成人www | 欧美特一级| www.黄色在线 | 国产精品美女 | 91精品成人 | 婷婷精品国产欧美精品亚洲人人爽 | 国产直播av | 99国产精品免费网站 | 操操操日日 | 精品久久久免费视频 | 亚洲一级国产 | 在线观看av大片 | 人人舔人人爽 | 国产成人99久久亚洲综合精品 | 欧美一二在线 | 日本乱视频 | 伊人五月 | 一级理论片在线观看 | 国产亚洲成av人片在线观看桃 | 亚洲一区精品人人爽人人躁 | 香蕉视频在线观看免费 | 国产女v资源在线观看 | 欧美一区二区在线免费看 | 97精品国自产拍在线观看 | 国产精品欧美久久久久天天影视 | 日韩中文久久 | 天天操天天干天天玩 | 国内精品免费久久影院 | 人人干人人上 | 精品国产一区二区三区四 | 国产成人av电影 | 日韩亚洲欧美中文字幕 | 中文字幕在线看 | 97国产一区| 亚洲在线网址 | 99久久国产免费看 | 天天射天天操天天 | 一区二区不卡高清 | 国产精品欧美一区二区三区不卡 | 色香蕉在线视频 | 欧美日韩国产一二三区 | 国产精品日韩高清 | 天天曰天天射 | 日日操夜夜操狠狠操 | 91九色视频国产 | 五月天婷婷视频 | 免费看污污视频的网站 | 手机av在线网站 | 久av电影| 欧美大jb | 国产精品丝袜在线 | 国产福利a | 欧美日韩国产一区二区三区 | 349k.cc看片app| av福利在线导航 | 国产美女精品视频 | 日本黄色免费在线观看 | 久久国产电影院 | av成人免费网站 | 91成年人在线观看 | 中文字幕在线观看一区 | 色婷婷综合五月 | 毛片播放网站 | 国产精品久久久久久久av大片 | 久久国产精品精品国产色婷婷 | 国产中文伊人 | 色姑娘综合天天 | 国产成人久久精品77777 | 国产精品1区2区 | 亚洲永久精品一区 | 国产又黄又猛又粗 | 久久免费视频在线观看6 | 天天综合网~永久入口 | 日韩精选在线 | 麻豆91在线看 | 亚色视频在线观看 | 久久综合操 | 欧美日韩国产一区二区三区 | 免费在线观看日韩欧美 | 久久精品96 | 亚洲永久精品国产 | 国产一级久久久 | 国产精品久久久久久久久久久杏吧 | 91精品视频免费观看 | 日韩欧美一区二区三区免费观看 | 色婷婷久久久 | 久久国产精品视频观看 | 亚洲精品免费观看视频 | 久久久国产一区二区三区 | 国产成人61精品免费看片 | 国产亚洲精品免费 | 亚洲九九爱 | 国产精品99久久久久久久久久久久 | 国产男女爽爽爽免费视频 | 国产精品久久久久久久久久久久久久 | 国产一区免费在线观看 | 亚洲网站在线看 | 亚洲精品视频在线观看视频 | 热久久免费视频精品 | 97在线观看免费高清 | 久久黄色小说 | 日韩视频在线一区 | 久久久精品久久日韩一区综合 | 最近中文字幕完整高清 | 国产在线免费av | 91大神在线观看视频 | 热久在线| 成人黄色大片在线免费观看 | av久久在线 | 国产一区二区久久久 | 成人av中文字幕在线观看 | 黄色网址av | 国产亚洲婷婷 | 狠狠躁日日躁夜夜躁av | 国产69精品久久久久99 | 91中文字幕在线播放 | 国产黄色片在线免费观看 | 久久精品区 | 亚洲高清在线精品 | 亚洲一级片在线看 | 色视频国产直接看 | 激情在线网址 | 麻豆视频免费在线播放 | 成人a视频片观看免费 | 久久免费国产精品1 | 成年人黄色在线观看 | 国产精品久久精品国产 | www日日 | 欧美久久久久 | 免费久久网 | 亚洲不卡av一区二区三区 | 久久曰视频 | 欧美日韩国产一二三区 | 九九久久电影 | 天天天综合| 中文字幕乱码日本亚洲一区二区 | 国产丝袜制服在线 | 久保带人 | 亚洲人人精品 | h视频在线看| 97超碰.com | 91精品办公室少妇高潮对白 | 久久久久色 | 九九99视频 | 五月天亚洲婷婷 | 久久国产精品一国产精品 | 久久婷婷国产 | 国产69精品久久久久99 | 久久精品国产一区二区三区 | 国产亚洲视频在线 | 日本韩国在线不卡 | 国产精品亚洲综合久久 | 91av视频播放 | 色五月成人 | 日本中文不卡 | 成人黄色av免费在线观看 | 九九免费观看全部免费视频 | 国产高清免费 | 人人干97| 欧美一级激情 | 97超碰在线久草超碰在线观看 | 99精品国产99久久久久久97 | 成人a级黄色片 | av黄色免费在线观看 | 人人玩人人弄 | 99精品在线免费视频 | 97超级碰碰 | 97超碰人人澡人人 | 亚洲精品综合欧美二区变态 | 天天操天天操天天干 | 久久午夜免费视频 | 日韩极品在线 | 国产视频不卡一区 | 天天色天天射天天综合网 | www.xxxx变态.com| 奇米影视8888 | 日韩免费一区 | 久久a v视频| 天天干夜夜爽 | 日本黄色免费观看 | 丁香五月亚洲综合在线 | 日韩精品视频一二三 | 高清在线一区二区 | 亚洲精品在线观看不卡 | 欧美乱大交 | 日韩成人高清在线 | 亚洲激情六月 | 日韩一区正在播放 | 欧美精品免费视频 | 成人手机在线视频 | 国产经典av | 久色免费视频 | 五月色丁香 | 91污视频在线 | 国产精品视屏 | 天天综合色天天综合 | 天天射天天拍 | 夜色成人av | 96精品视频| 久久久久久久久久久精 | 久久蜜臀一区二区三区av | 四虎成人av| 亚洲视频 在线观看 | 国产一区欧美一区 | 成年人av在线播放 | 黄色三级免费观看 | 麻豆视频网址 | 日韩视频1区 | 中文字幕有码在线 | 天天操天天干天天干 | 精品久久久久久久久中文字幕 | 久热这里有精品 | 亚洲精品国产精品国自产观看浪潮 | 在线观看av中文字幕 | a级国产乱理伦片在线观看 亚洲3级 | 亚洲成人欧美 | 国产精品美女久久久久久免费 | 操操操日日日干干干 | 久久国产日韩 | av天天在线观看 | 国产麻豆视频免费观看 | 亚洲综合一区二区精品导航 | 欧美日韩国产精品一区二区三区 | 一区 在线观看 | 日韩免费不卡视频 | 亚洲四虎| 又湿又紧又大又爽a视频国产 | 成人免费91| 中文国产在线观看 | 久久久免费在线观看 | 99久久精品国产免费看不卡 | 4438全国亚洲精品观看视频 | 97视频在线免费播放 | 精品国产一区二区在线 | 日韩欧美在线视频一区二区三区 | 最近中文字幕大全 | 欧美一级专区免费大片 | 国产日韩中文字幕 | 在线观看亚洲精品 | 成人黄性视频 | 日本精品视频在线观看 | 日韩久久久久久久久久 | 国产成人综合精品 | freejavvideo日本免费 | 久久综合婷婷 | av短片在线观看 | av三级在线免费观看 | 成人午夜电影网站 | 97色se| 男女精品久久 | 久久一区二区三区四区 | 久久97久久| 黄色av一区二区 | 99热免费在线 | 国产精品嫩草影院9 | 国产精品11 | 手机av在线网站 | 丰满少妇在线观看网站 | av丝袜美腿| 日日爽夜夜爽 | 五月婷婷开心中文字幕 | 国产精品一区二区白浆 | 涩涩网站在线看 | 亚洲综合在线五月 | 天天做天天看 | 五月婷婷视频在线 | 亚洲激情六月 | 亚洲理论片 | 深夜成人av | 一区二区三区在线观看 | 日日夜夜精品免费视频 | 香蕉影院在线播放 | 99精品视频在线观看免费 | 高清视频一区 | 日本精品va在线观看 | 日日摸日日爽 | 视频在线观看日韩 | av 一区二区三区 | 亚洲一级国产 | 你操综合| 久久久夜色 | 亚州av一区 | 精品99999 | 99精品系列| 91精品少妇偷拍99 | 特级大胆西西4444www | 亚洲一区二区三区四区在线视频 | 日p在线观看 | 蜜桃视频成人在线观看 | 蜜桃视频成人在线观看 | 又黄又爽的视频在线观看网站 | 天天色天天综合 | 久久美女免费视频 | 国产第一页在线播放 | 国产亚洲午夜高清国产拍精品 | 成人h视频在线 | 国产色婷婷在线 | 激情婷婷在线观看 | 日韩黄色大片在线观看 | 九九视频免费观看视频精品 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 国产字幕在线观看 | 国产明星视频三级a三级点| 粉嫩aⅴ一区二区三区 | 国产玖玖在线 | 成人免费网站在线观看 | 日日干av | 免费视频区 | 成人污视频在线观看 | 欧美精品v国产精品 | 久久久精品国产一区二区三区 | 午夜精品999| 亚洲精品美女在线观看播放 | 日韩动漫免费观看高清完整版在线观看 | 日韩欧美精品在线 | 久久色视频 | 天天舔夜夜操 | 欧美日韩xxx| 亚洲天天摸日日摸天天欢 | 午夜资源站 | 97视频总站| 91亚色在线观看 | 日韩一级电影在线观看 | 国产在线一区二区三区播放 | 91伊人久久大香线蕉蜜芽人口 | 午夜视频一区二区 | 久久99热久久99精品 | 操操操av | 国内精品久久久久久中文字幕 | 欧美一二三视频 | 一区二区精品在线视频 | 国产成人精品国内自产拍免费看 | 久久9视频 | 亚洲精品一区二区三区高潮 | 天天天综合网 | 五月花丁香婷婷 | 免费在线观看亚洲视频 | 97在线观看免费 | 青青河边草免费观看完整版高清 | 激情综合国产 | 射久久 | 日韩视频在线不卡 | av网站播放 | 久久av网 | 丁香影院在线 | 免费99视频| 93久久精品日日躁夜夜躁欧美 | 日本久久久影视 | 91免费黄视频 | 97国产大学生情侣白嫩酒店 | 99久久综合国产精品二区 | 欧美精品午夜 | 伊人干综合 | 国产精品色视频 | 欧美va电影 | 免费国产黄线在线观看视频 | 久久草网站 | 五月天免费网站 | 一级电影免费在线观看 | 麻豆精品视频在线 | 国产精品久久99精品毛片三a | 久久久午夜视频 | 激情久久久久 | 国产一级片免费播放 | 麻豆观看 | 国产精品欧美激情在线观看 | 97超视频免费观看 | 天天操网址 | 探花视频免费观看高清视频 | 国产主播大尺度精品福利免费 | 国产成人在线观看 | www.伊人网| av日韩在线网站 | 亚洲人成人天堂h久久 | 日韩色在线 | 国产黄色片免费 | 久久久99精品免费观看乱色 | 精品久久久久一区二区国产 | 欧美精品一区二区性色 | 亚洲精品国产日韩 | 成人免费看电影 | 久久在线精品视频 | 少妇视频一区 | 亚洲久草网 | 99亚洲精品 | 夜夜夜夜猛噜噜噜噜噜初音未来 | av不卡在线看 | 久久久久亚洲精品男人的天堂 | 国产福利91精品一区 | 久久综合五月 | 久久黄色免费观看 | 亚洲精品日韩一区二区电影 | 在线观看免费观看在线91 | 国产高清视频网 | 日韩在线免费播放 | 精品亚洲在线 | 国产精品 美女 | 亚洲精品2区 | 337p日本欧洲亚洲大胆裸体艺术 | 91福利试看 | 13日本xxxxxⅹxxx20 | 国产精品亚洲成人 | 99色亚洲| 久久久精品亚洲 | 午夜精品成人一区二区三区 | 久久字幕精品一区 | 欧美一二三视频 | 久久se视频 | 久久久久国产精品厨房 | 亚洲日本激情 | 欧美精品久久久久久久久老牛影院 | 日韩在线观看网址 | 中文字幕高清免费日韩视频在线 | 欧美激情精品久久久久久免费 | 91成人天堂久久成人 | 午夜视频在线观看一区二区 | 久久视频在线免费观看 | 一二三区视频在线 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 国内精品免费久久影院 | 久久久综合香蕉尹人综合网 | www.狠狠插.com| 亚洲夜夜网 | 欧美性猛片, | 九九爱免费视频 | 日批视频在线播放 | 日韩欧美视频免费在线观看 | 99色在线 | 日日操日日插 | 国产精品久久久久久久久久久免费看 | 国产日本在线观看 | 午夜在线国产 | 亚洲成av片人久久久 | 香蕉在线观看 | 亚洲美女精品 | 激情五月激情综合网 | 久久国产精品久久w女人spa | 久要激情网 | 天天干天天操天天搞 | 欧美日韩久久不卡 | 四虎影院在线观看av | 精油按摩av | 一二三区av | 欧美性性网 | 国产无区一区二区三麻豆 | 99热在线观看免费 | 欧美另类高清 videos | 国产福利在线 | 人人看人人草 | 久久久久久黄 | 精品一区二区三区香蕉蜜桃 | 一级黄色片在线 | 国产精品久久人 | 日本精品视频在线播放 | 亚洲精品视频在线播放 | 中文字幕日韩电影 | 国产麻豆剧果冻传媒视频播放量 | 亚洲经典视频 | 久久久精品视频网站 | 夜夜骑日日 | 国产精品一区二区久久 | 超碰97人人射妻 | 日韩黄色在线电影 | 丁香六月婷婷激情 | 狠狠精品 | 国色天香在线 | 欧美日韩一级视频 | 一区二区三区在线不卡 | 亚洲v欧美v国产v在线观看 | 91香蕉国产在线观看软件 | 中文字幕国内精品 | 一级黄色片在线免费看 | 99麻豆视频 | 99精品视频精品精品视频 | 日韩免费视频线观看 | 亚洲精品9 | 免费看片网站91 | 少妇视频一区 | 亚洲,播放| 国产日韩欧美在线 | 六月色婷婷 | 在线免费观看视频你懂的 | www.五月婷 | 麻豆传媒视频在线播放 | 91丨精品丨蝌蚪丨白丝jk | 99精品视频在线观看 | aaaaaa毛片 | 久草在线高清 | 日韩av网页 | 婷婷色网址| 国产精品观看 | 国产在线播放观看 | 中文资源在线播放 | 精品久久1 | 精品一区二区三区电影 | 国产精品乱码在线 | 91精品欧美一区二区三区 | 国产成人一区二区精品非洲 | 日韩91在线 | 久草在线综合 | 国产亚洲精品久久久久动 | 欧美久草网 | 久久女同性恋中文字幕 | 欧美性色综合网 | 天堂v中文 | 黄色一级大片在线免费看产 | 99精品在线观看 | 麻豆传媒电影在线观看 | 国产精品欧美精品 | 香蕉在线观看 | 久久一线 | 在线91视频 | 久久综合九色综合久99 | 亚洲成人av一区 | 色婷婷色| 久久久久女教师免费一区 | 国产精品美女免费 | 99久久婷婷国产精品综合 | 在线观看视频亚洲 | 五月天久久狠狠 | 天天干夜夜擦 | 久久久久久国产精品免费 | 日韩视频二区 | 国产亚洲精品无 | 在线观看mv的中文字幕网站 | 婷婷色九月 | 2024国产精品视频 | 久草手机视频 | 菠萝菠萝在线精品视频 | 五月婷久久 | 国产一区二区久久精品 | 欧美另类成人 | 免费看一级黄色大全 | 中文字幕一区二区三区四区在线视频 | av视屏在线播放 | 精品国产伦一区二区三区免费 | 91精品在线免费 | 波多野结衣在线观看一区 | 亚洲人人精品 | 日本精品视频一区 | 中文字幕av全部资源www中文字幕在线观看 | 中文字幕资源网 | 日韩精品网址 | 日韩69视频| 日韩综合视频在线观看 | 91污污视频在线观看 | 婷婷色网 | 日韩另类在线 | 亚洲动漫在线观看 | 黄色精品一区 | 青青草国产精品 | 日本精品一区二区在线观看 | 欧美精品首页 | av福利网址导航大全 | 亚洲精品国产第一综合99久久 | 国产一级片网站 | 国产真实在线 | 久久久国产影视 | 国产精品视频区 | 五月天堂网 | 国产玖玖视频 | 亚洲jizzjizz日本少妇 | 亚洲一级片在线观看 | 日韩精品在线视频免费观看 | 久久99深爱久久99精品 | www国产亚洲精品久久网站 | 婷婷99 | 日本一区二区三区免费看 | 久久人人添人人爽添人人88v | 91人人澡人人爽人人精品 | 国产精品久久久久久久久久久久午 | 亚洲国产日韩欧美 | 国产99久久久国产精品免费二区 | 欧美一级片免费在线观看 | 久久久久成人精品免费播放动漫 | 欧美一区二区日韩一区二区 | 久久久久免费精品 | 日本在线观看一区二区三区 | 亚洲永久国产精品 | 欧美成人h版| 99久久99久久精品免费 | www.xxxx变态.com| 色婷婷综合视频在线观看 | 亚洲天天看| 特黄特色特刺激视频免费播放 | 久草在线免费看视频 | 日韩视频一| 在线欧美a| 久草视频在线新免费 | 不卡在线一区 | 免费亚洲一区二区 | 青青草在久久免费久久免费 | 精品成人在线 | 国产精品成人在线 | 黄色app网站在线观看 | 久久国产高清 | 久久精品国产免费看久久精品 | 成人国产精品久久久久久亚洲 | 国产精品ssss在线亚洲 | 亚洲精品乱码久久久久久高潮 | 日韩免费观看av | 久久涩视频 | 五月天狠狠操 | 成人av在线网址 | 色视频 在线| 五月天综合激情 | 日韩免费一级电影 | 日韩激情在线视频 | 日日麻批40分钟视频免费观看 | 91传媒视频在线观看 | 伊人在线视频 | 99视频精品视频高清免费 | 中文字幕中文字幕 | 一区二区三区免费在线播放 | 92av视频| 韩国av不卡 | 亚洲欧美偷拍另类 | 国产高清视频免费在线观看 | 精品一区二区视频 | 日韩在线观看第一页 | 日韩精品中文字幕在线播放 | 玖玖视频| 婷婷丁香激情五月 | 天天综合网天天综合色 | 亚洲三级在线播放 | 久久综合网色—综合色88 | 特级大胆西西4444www | 久久y| 亚洲国产中文字幕 | 婷婷丁香在线视频 | 免费十分钟 | 成人午夜精品 | 国产精品 亚洲精品 | 国产又粗又猛又爽又黄的视频免费 | 国产精品亚洲综合久久 | 亚洲国产精品第一区二区 | 国产一二三四在线视频 | 国产午夜精品一区二区三区在线观看 | 182午夜在线观看 | 午夜精品福利一区二区三区蜜桃 | 色婷婷在线播放 | 欧美日韩不卡一区二区三区 | 国产亚洲精品久久19p | 国产精品久久久久久久久久 | 99视频在线播放 | 日日夜夜天天操 | 嫩草av在线| 亚洲精品18日本一区app | 欧美性免费| 中文字幕日韩高清 | 色在线免费观看 | 国产福利免费在线观看 | 色噜噜日韩精品欧美一区二区 | 青春草视频 | 色综合久久99 | 色播五月激情综合网 | 国产亚洲婷婷免费 | 天天操操操操操操 | 日韩成人黄色av | 美女av免费看 | 国产在线观看不卡 | 亚洲 在线 | 国产一二区在线观看 | 日韩在线第一 | 免费观看的av| 精品国产乱码久久久久久浪潮 | 日本久久中文字幕 | 午夜a区 | 久久人人爽爽人人爽人人片av | 国产97视频 | 日韩理论电影网 | 久久国产精品免费 | 四虎亚洲精品 | 日韩婷婷| 欧美精品一区二区免费 | www日韩视频 | 中文字幕日韩有码 | av一区二区三区在线观看 | 黄色软件网站在线观看 | 成人av播放 | 波多野结衣在线中文字幕 | 日韩在线首页 | 超碰人人乐 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 欧洲一区二区三区精品 | 国产精品亚州 | 亚洲黄色免费网站 | 91在线亚洲| 天天射天天干天天插 | 又黄又爽的免费高潮视频 | 字幕网在线观看 | 香蕉在线视频播放网站 | 国产一区黄色 | 亚洲免费资源 | 综合网久久 |