亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

GFPGAN老照片修復(fù)Python實(shí)戰(zhàn):從源碼環(huán)境到參數(shù)調(diào)優(yōu)

GFPGAN老照片修復(fù)Python實(shí)戰(zhàn):從源碼環(huán)境到參數(shù)調(diào)優(yōu) 簡(jiǎn)介面向圖像處理學(xué)習(xí)者和開(kāi)發(fā)者的GFPGAN老照片修復(fù)Python源碼工程以泛用性人臉先驗(yàn)引導(dǎo)修復(fù)網(wǎng)絡(luò)為核心結(jié)合GAN生成對(duì)抗機(jī)制增強(qiáng)人臉細(xì)節(jié)可用于老照片人像修復(fù)、畫(huà)面清晰度恢復(fù)等場(chǎng)景。壓縮包共51個(gè)文件、約6.09MB包含21個(gè)Python腳本、7個(gè)YAML配置文件、6個(gè)PNG與2個(gè)JPG樣例圖、2個(gè)Markdown文檔以及2個(gè)MDB數(shù)據(jù)庫(kù)文件等。Python腳本覆蓋推理、訓(xùn)練與網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)涉及gfpganv1_clean_arch、stylegan2_clean_arch、arcface_arch等核心模塊YAML用于參數(shù)配置與數(shù)據(jù)集說(shuō)明圖片提供修復(fù)前后對(duì)比效果工程內(nèi)還附帶pth模型權(quán)重、VERSION版本文件與license許可說(shuō)明。項(xiàng)目另含CI工作流、代碼規(guī)范及PaperModel論文筆記目錄劃分清晰便于二次開(kāi)發(fā)與算法復(fù)現(xiàn)。已有491人學(xué)習(xí)瀏覽適合具備Python和深度學(xué)習(xí)基礎(chǔ)、想快速上手人臉修復(fù)算法的開(kāi)發(fā)者。1. 老照片修復(fù)為什么繞不開(kāi)GFPGAN從現(xiàn)實(shí)需求到源碼設(shè)計(jì)的起點(diǎn)如果你手頭有一批褪色、有折痕的人臉老照片又不滿足于美圖秀秀那種全局調(diào)色那基于GFPGAN算法的Python老照片修復(fù)設(shè)計(jì)源碼這條路值得認(rèn)真走一遍。GFPGANGenerative Facial Prior GAN是目前把“人臉先驗(yàn)”融入GAN修復(fù)的代表方案它專門解決人臉區(qū)域反復(fù)重繪出奇怪五官的痛點(diǎn)比起直接拿通用超分模型去修修復(fù)結(jié)果更接近“原來(lái)的那個(gè)人”。這篇文章我來(lái)拆一個(gè)可直接運(yùn)行的老照片修復(fù)項(xiàng)目源碼從環(huán)境配置、模型加載到參數(shù)調(diào)優(yōu)和排錯(cuò)都按我實(shí)際踩坑的經(jīng)驗(yàn)寫(xiě)。適合正在做圖像修復(fù)項(xiàng)目的Python開(kāi)發(fā)者、AI應(yīng)用工程師以及想自己動(dòng)手修復(fù)全家福老照片的玩家。2. 從零搭一個(gè)GFPGAN項(xiàng)目目錄設(shè)計(jì)與環(huán)境準(zhǔn)備2.1 項(xiàng)目目錄設(shè)計(jì)與文件職責(zé)老照片修復(fù)項(xiàng)目看著就一個(gè)推理腳本真做起來(lái)遠(yuǎn)不是“裝個(gè)庫(kù)、跑一段代碼”那么簡(jiǎn)單。模型權(quán)重放在哪、輸入輸出怎么組織、日志寫(xiě)到哪里、后續(xù)要不要接批量處理這些都得在動(dòng)手前定好。我一般會(huì)搭一個(gè)這樣的目錄old_photo_fix/ ├── main.py # 命令行入口支持文件或目錄輸入 ├── requirements.txt # 依賴清單 ├── weights/ │ └── GFPGANv1.4.pth # 預(yù)訓(xùn)練人臉修復(fù)模型 ├── inputs/ # 待修復(fù)的老照片 ├── outputs/ # 修復(fù)結(jié)果輸出目錄 ├── utils/ │ ├── __init__.py │ ├── io_utils.py # 圖片讀寫(xiě)、路徑校驗(yàn) │ └── face_align.py # 人臉檢測(cè)輔助可選 └── configs/ └── fix_config.yaml # 參數(shù)配置方便調(diào)參不動(dòng)代碼為什么要單獨(dú)建weights/和configs/因?yàn)?GFPGAN 的模型文件在 GitHub Release 和 Hugging Face 上都能找到但不同渠道下載的文件名可能帶后綴大小也可能不一致。固定放在weights/目錄并統(tǒng)一命名為GFPGANv1.4.pth代碼里就只需要維護(hù)一個(gè)路徑變量不會(huì)出現(xiàn)“測(cè)試時(shí)能跑、換臺(tái)機(jī)器就跑不了”的尷尬。configs/則把 upscale、strength 這類參數(shù)從代碼里剝離出去后面做參數(shù)掃描時(shí)不用反復(fù)改 main.py。2.2 Python 環(huán)境安裝與依賴要求GFPGAN 依賴 PyTorch 和它配套的人臉工具庫(kù)官方推理用的是gfpgan包 realesrgan做背景增強(qiáng)。我的環(huán)境踩過(guò)幾輪坑最省事的一組命令是conda create -n gfpgan python3.8 -y conda activate gfpgan pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118 pip install gfpgan realesrgan opencv-python第一行創(chuàng)建 Python 3.8 環(huán)境不是越新越好GFPGAN 的有些依賴特別是 facexlib在 Python 3.11 上偶爾會(huì)因?yàn)?setuptools 兼容問(wèn)題報(bào)錯(cuò)3.8 最穩(wěn)。第二行裝 PyTorchcu118是 CUDA 11.8 版本如果你的顯卡驅(qū)動(dòng)只支持 CUDA 10.2這里要改成cu102否則導(dǎo)入 torch 時(shí)會(huì)報(bào)libcusparse.so找不到。第三行裝人臉修復(fù)主力庫(kù)opencv-python建議裝 4.5.4 之后的新版本老版本配合gfpgan偶爾會(huì)出現(xiàn)在cv2.rectangle里畫(huà)不出框的詭異問(wèn)題。裝完后先別急著跑把facexlib也要確認(rèn)一下它是人臉檢測(cè)的后端依賴。gfpgan庫(kù)在 pip install 時(shí)通常會(huì)拉進(jìn)來(lái)但如果你用的是精簡(jiǎn)版 Python 鏡像可能缺少可以手動(dòng)補(bǔ)一條pip install facexlib。檢查環(huán)境用python -c import gfpgan; print(gfpgan.__version__)能正常打印就不是環(huán)境問(wèn)題。2.3 獲取預(yù)訓(xùn)練模型權(quán)重放置與校驗(yàn)GFPGAN 的模型文件是一個(gè)很大的.pth文件很多老照片修復(fù)教程都會(huì)讓你去下載但不告訴你下載完怎么確認(rèn)文件沒(méi)壞。我建議加一道校驗(yàn)邏輯避免修復(fù)到一半發(fā)現(xiàn)模型損壞白等幾分鐘。import os model_path weights/GFPGANv1.4.pth if not os.path.exists(model_path): raise FileNotFoundError( 模型缺失請(qǐng)把 GFPGANv1.4.pth 放到 weights/ 目錄 ) file_size os.path.getsize(model_path) if file_size 100 * 1024 * 1024: # 100MB 只是第一道門檻 raise ValueError( f模型文件異常大小只有 {file_size / 1024 / 1024:.1f}MB 很可能下載斷點(diǎn)完成請(qǐng)重新下載完整文件 ) print(f模型文件通過(guò)基礎(chǔ)校驗(yàn)大小為 {file_size / 1024 / 1024:.1f}MB)這段邏輯放在 main.py 的最前面比直接跑模型更實(shí)在。GFPGANv1.4.pth的實(shí)際體積在 300MB 以上如果只有幾 MB 或幾十 MB基本就是下載不完整。用文件大小做第一道校驗(yàn)好處是簡(jiǎn)單明了不用維護(hù)繁瑣的哈希表但對(duì)追求嚴(yán)謹(jǐn)?shù)墓こ袒?xiàng)目建議拿到文件后用官方提供的 SHA256 再算一遍這里就不展開(kāi)哈希腳本了。3. 核心推理代碼逐段拆解修復(fù)一張老照片的最小可運(yùn)行實(shí)現(xiàn)3.1 先寫(xiě) main.py解析參數(shù)與輸入校驗(yàn)老照片修復(fù)的推理鏈路很清晰讀圖 → 人臉檢測(cè) → GFPGAN 增強(qiáng)人臉 → 貼回原圖 → 保存。但每一環(huán)都有參數(shù)干擾命令行設(shè)計(jì)做不好調(diào)參就會(huì)變成反復(fù)改代碼。我的做法是把變動(dòng)最多的參數(shù)全部提到argparse里。import argparse def parse_args(): parser argparse.ArgumentParser(descriptionGFPGAN老照片修復(fù)) parser.add_argument(--input, typestr, requiredTrue, help輸入圖片路徑或包含多張圖片的目錄) parser.add_argument(--output, typestr, defaultoutputs, help修復(fù)結(jié)果存放目錄) parser.add_argument(--model_path, typestr, defaultweights/GFPGANv1.4.pth, helpGFPGAN權(quán)重路徑) parser.add_argument(--upscale, typefloat, default2, help放大倍率建議2老照片不宜過(guò)大) parser.add_argument(--strength, typefloat, default0.6, help修復(fù)強(qiáng)度0到1越高人臉重繪越激進(jìn)) parser.add_argument(--face_size, typeint, default512, help送入GFPGAN的人臉對(duì)齊尺寸) return parser.parse_args()這段代碼的用意是把“修復(fù)成什么樣”的控制權(quán)交給使用者。--input是必填參數(shù)支持單張圖片或整個(gè)目錄這一點(diǎn)直接決定了腳本能否批量處理一卷老照片。--upscale默認(rèn) 2 而不是 4是因?yàn)槔险掌旧矸直媛实?、噪聲多?qiáng)行放大 4 倍會(huì)讓背景區(qū)域的 JPEG 塊狀感更明顯。--face_size是很多人容易忽略的參數(shù)它控制檢測(cè)到的人臉區(qū)域會(huì)被放大到多大再送入網(wǎng)絡(luò)512 是 GFPGAN v1.4 的推薦值太小會(huì)丟失細(xì)節(jié)太大容易出現(xiàn)“看圖猜臉”的幻覺(jué)。有了參數(shù)解析main.py 的核心入口只需要四行解析參數(shù) → 校驗(yàn)?zāi)P?→ 初始化修復(fù)器 → 批量處理。我習(xí)慣把初始化單獨(dú)拆一個(gè)函數(shù)方便后面做 Web 接口時(shí)復(fù)用。3.2 初始化 GFPGAN 修復(fù)器關(guān)鍵參數(shù)的含義GFPGAN 的GFPGANer類是所有神經(jīng)網(wǎng)絡(luò)黑盒子的封裝點(diǎn)初始化參數(shù)決定了用哪一版模型、放大幾倍、要不要額外做背景增強(qiáng)。import torch from gfpgan import GFPGANer def init_restorer(args): if not torch.cuda.is_available(): print(警告當(dāng)前沒(méi)有可用GPUCPU推理速度會(huì)非常慢) restorer GFPGANer( model_pathargs.model_path, upscaleargs.upscale, archclean, # v1.4模型對(duì)應(yīng) clean 架構(gòu) channel_multiplier2, # 通道數(shù)系數(shù)v1.4固定為2 bg_upsamplerNone, # 背景增強(qiáng)器None表示不做 ) return restorer這里的archclean是最容易翻車的地方。GFPGAN 早期版本的模型用的是original架構(gòu)v1.4 之后官方把生成器改成clean架構(gòu)兩者的網(wǎng)絡(luò)層配置不一樣。你如果拿 v1.4 的權(quán)重去配archoriginal會(huì)直接報(bào)state_dict加載失敗。channel_multiplier也是同理v1.4 模型的通道系數(shù)是 2如果誤寫(xiě)成 1雖然能加載但輸出圖片會(huì)有一層灰蒙蒙的偽影。bg_upsamplerNone在本階段是最可控的選擇。它不增強(qiáng)背景部分只處理和貼回人臉區(qū)域避免把背景里的顆粒噪聲也放大。如果你想連背景一起修復(fù)后面會(huì)講到怎么接realesrgan但代價(jià)是單張圖片的耗時(shí)至少翻倍。3.3 修復(fù)單張圖片預(yù)處理與后處理如果把插件的所有花哨功能拋掉核心的單圖修復(fù)代碼就下面這些但它解決了一個(gè)非常隱蔽的問(wèn)題輸入輸出圖像的通道順序。import cv2 def fix_one(restorer, img_path, strength0.6): 修復(fù)單張老照片返回修復(fù)后的BGR圖像 img cv2.imread(img_path, cv2.IMREAD_COLOR) if img is None: raise ValueError(f無(wú)法讀取圖片: {img_path}) # 記錄原圖尺寸后面檢查修復(fù)結(jié)果尺寸是否有變化 h, w img.shape[:2] # enhance返回三個(gè)對(duì)象裁剪臉、恢復(fù)臉、最終貼回圖 _, _, restored restorer.enhance( img, has_alignedFalse, only_center_faceFalse, paste_backTrue, weightstrength, ) if restored is None: print(f注意{img_path} 未檢測(cè)到人臉?lè)祷卦瓐D) restored img return restoredenhance是 GFPGAN 的推理入口內(nèi)部的流程是先用 RetinaFace 檢測(cè)人臉把檢測(cè)到的人臉裁剪、對(duì)齊、縮放到模型輸入尺寸然后跑一次生成器得到修復(fù)后的人臉最后根據(jù)paste_back參數(shù)決定要不要把修復(fù)臉貼回原圖的對(duì)應(yīng)位置。這里的關(guān)鍵是weight參數(shù)它控制生成器的輸出占比相當(dāng)于一個(gè)人工“復(fù)原程度”旋鈕。has_alignedFalse表示輸入的是普通照片需要內(nèi)部重新檢測(cè)對(duì)齊如果你自己已經(jīng)裁剪過(guò)只有人臉區(qū)域的圖可以傳True跳過(guò)檢測(cè)速度更快但必須保證人臉已經(jīng)對(duì)齊且居中。paste_backTrue是必須開(kāi)的特別是在老照片中背景的折痕和噪點(diǎn)如果也被生成器處理會(huì)丟失大量原始質(zhì)感開(kāi)這個(gè)參數(shù)才能只換臉、留背景。注意返回值有三個(gè)我們只取第三個(gè)restored。前兩個(gè)分別是裁剪出的人臉和獨(dú)立修復(fù)后的人臉?biāo)鼈冇糜谡{(diào)試和人臉對(duì)比普通修復(fù)流程用不上。restored是完整的輸出圖像通道順序是 BGR直接用cv2.imwrite保存不會(huì)偏色。3.4 批量循環(huán)與文件保存實(shí)際拿回家整理老照片不可能一張一張敲命令。我一般會(huì)讓腳本自動(dòng)掃描目錄下所有圖片并給輸出文件加上參數(shù)后綴避免同一張照片用不同參數(shù)修了兩遍后互相覆蓋。import os def batch_fix(restorer, input_path, output_dir, strength): os.makedirs(output_dir, exist_okTrue) if os.path.isfile(input_path): files [input_path] else: files [ os.path.join(input_path, f) for f in os.listdir(input_path) if f.lower().endswith((.jpg, .jpeg, .png, .bmp)) ] if not files: raise ValueError(f輸入目錄中沒(méi)有找到圖片: {input_path}) for idx, file_path in enumerate(files): try: restored fix_one(restorer, file_path, strength) base os.path.splitext(os.path.basename(file_path))[0] out_name f{base}_gfpgan_s{strength}.png out_path os.path.join(output_dir, out_name) cv2.imwrite(out_path, restored) print(f[{idx 1}/{len(files)}] 完成: {out_path}) except Exception as e: print(f處理 {file_path} 出錯(cuò): {e})批量循環(huán)里最值得注意的有兩個(gè)點(diǎn)。第一輸出固定用 PNG 格式因?yàn)槔险掌迯?fù)后的圖片包含更多過(guò)渡色階JPG 壓縮會(huì)在邊緣引入新的振鈴噪聲PNG 是無(wú)損壓縮適合做中間結(jié)果。第二每個(gè)文件的處理都包了一層try/except這不是為了掩蓋錯(cuò)誤而是防止批量任務(wù)運(yùn)行到一半因?yàn)閱螐垞p壞圖片中斷導(dǎo)致后面前功盡棄。批處理最忌“單張失敗、全盤停擺”。4. 修復(fù)效果調(diào)優(yōu)的五個(gè)必調(diào)參數(shù)讓老照片從能用到可用4.1 upscale放大倍率與老照片分辨率的匹配--upscale控制最終輸出相對(duì)原圖放大的倍數(shù)默認(rèn) 2很多人一上來(lái)就拉到 4。如果你修的是幾百像素的證件照4 倍有意義但大部分老照片是掃描件分辨率少說(shuō)有兩三千像素再放大 4 倍不僅慢還會(huì)把背景里的紙張紋理放大成“磨砂濾鏡”。我的建議對(duì) 1500 像素以上的圖先用 2 倍看效果對(duì) 500 像素以下的縮略圖可以上 4 倍。調(diào)這個(gè)參數(shù)不需要重新訓(xùn)練模型直接改命令行參數(shù)即可。4.2 strength修復(fù)強(qiáng)度如何避免“網(wǎng)紅AI臉”strength是 enhance 函數(shù)里的weight值的范圍是 0 到 1。0 表示完全不用生成器只保留原圖1 表示完全用生成器重建人臉。很多老照片修復(fù)教程會(huì)默認(rèn) 0.5 到 0.8但現(xiàn)實(shí)中修自家掃描的老照片0.6 已經(jīng)會(huì)讓原來(lái)有特征的國(guó)字臉變成窄下巴的“AI 網(wǎng)紅臉”。# 參數(shù)掃描同一張圖讓strength在0.3~0.8之間出多張結(jié)果 for strength in [0.3, 0.5, 0.6, 0.8]: _, _, restored restorer.enhance( img, has_alignedFalse, only_center_faceFalse, paste_backTrue, weightstrength, ) cv2.imwrite(fretry_s{strength}.png, restored)這段掃描代碼是調(diào)參的“后悔藥”。把同一張照片用 4 個(gè)強(qiáng)度各跑一遍用照片查看器標(biāo)清序號(hào)肉眼對(duì)比哪張最像原圖里的親人。我自己的經(jīng)驗(yàn)是折痕和污點(diǎn)嚴(yán)重的圖0.8 能把污點(diǎn)徹底清掉但會(huì)丟掉膚質(zhì)紋理只想去噪、保真0.4 足夠。strength沒(méi)有最優(yōu)值它取決于你對(duì)“像不像本人”的容忍程度。4.3 face_size人臉對(duì)齊尺寸與細(xì)節(jié)量GFPGANer內(nèi)部會(huì)把檢測(cè)到的人臉區(qū)域裁剪后縮放到face_size × face_size再送入生成器。face_size越大生成器看到的細(xì)節(jié)越多但前提是裁剪出來(lái)的人臉區(qū)域本身清晰。老照片人臉通常只有兩三百像素硬放大到 1024 反而會(huì)讓生成器“腦補(bǔ)”出并不存在的皮膚毛孔出現(xiàn)磨皮過(guò)度的塑料感。用 512 就夠了這是 GFPGAN 官方推理腳本的默認(rèn)語(yǔ)義。如果你發(fā)現(xiàn)修復(fù)后眼睛經(jīng)常變成“熊貓眼”把face_size從 512 降到 384 往往能改善。4.4 bg_upsampler要不要開(kāi)啟背景增強(qiáng)bg_upsampler參數(shù)在初始化時(shí)傳入最常見(jiàn)的是傳入realesrgan的 RealESRGANer 實(shí)例。開(kāi)了之后背景區(qū)域也會(huì)被超分增強(qiáng)整張照片看起來(lái)更清晰。但這個(gè)參數(shù)有代價(jià)單張圖的推理時(shí)間從 2 秒變成 8 秒以上GPU 上而且對(duì)滿是噪聲的老照片背景超分算法會(huì)把噪點(diǎn)當(dāng)成細(xì)節(jié)來(lái)強(qiáng)化結(jié)果產(chǎn)生密密麻麻的偽細(xì)節(jié)。我一般只在人臉占畫(huà)面比例超過(guò)三分之一、且背景本身相對(duì)干凈的照片上開(kāi)bg_upsampler。如果只是想快速給全家人看效果保持None是更穩(wěn)的起點(diǎn)。4.5 only_center_face多人合影時(shí)的選擇與風(fēng)險(xiǎn)GFPGAN 默認(rèn)會(huì)檢測(cè)并修復(fù)照片里的所有人臉。但在多人合影里邊緣的人臉經(jīng)常被鼻子、手部遮擋檢測(cè)器會(huì)漏檢或誤檢反而留下一張沒(méi)處理的臉在旁邊對(duì)比感很差。把enhance的only_center_faceTrue打開(kāi)后只處理畫(huà)面中心最大的人臉適合單人照偏多的場(chǎng)景。python main.py --input inputs/1978_family.png --output outputs --strength 0.5 --upscale 2如果遇到多人合影建議先跑一次默認(rèn)參數(shù)然后看輸出圖里漏了哪張臉。漏臉時(shí)就只能用更精細(xì)的折疊方法先裁剪出每個(gè)單人臉區(qū)域分別修復(fù)再拼回去。這個(gè)方案確實(shí)麻煩但對(duì)大合照來(lái)說(shuō)比修正單個(gè)整圖參數(shù)更可靠。但注意only_center_faceTrue對(duì)只有一個(gè)人的老照片沒(méi)有任何副作用可以放心用。5. GFPGAN常見(jiàn)問(wèn)題排查四種最容易翻車的場(chǎng)景及對(duì)策5.1 現(xiàn)象修復(fù)后的人臉五官變形嚴(yán)重原因strength設(shè)得過(guò)高生成器把原圖人臉特征當(dāng)噪聲丟掉直接按照“平均臉”重建了一個(gè)新臉或者face_size設(shè)置過(guò)大導(dǎo)致人臉區(qū)域被過(guò)度放大后局部特征失真。解決先把strength降到 0.4 重新跑同一張圖觀察眼睛距離、顴骨輪廓是否接近原圖。如果還變形把face_size從默認(rèn) 512 改為 384。我在修 1970 年代黑白照片時(shí)發(fā)現(xiàn)這種照片的掃描圖人臉通常只有 200 到 300 像素512 的輸入其實(shí)是在強(qiáng)行補(bǔ)一個(gè)不存在的清晰度所以調(diào)低face_size反而更安全。5.2 現(xiàn)象輸出圖的顏色與原圖差異很大偏紅或偏青原因GFPGAN 內(nèi)部處理的是 BGR 圖像但在調(diào)試時(shí)很多人習(xí)慣用 matplotlib 或 PIL 顯示。如果你用 PIL 的Image.fromarray(restored)直接展示PIL 會(huì)默認(rèn)把 BGR 數(shù)組當(dāng)成 RGB于是人臉就偏藍(lán)。另外老照片本身有嚴(yán)重的泛黃調(diào)性修復(fù)后的皮膚色更粉嫩視覺(jué)上會(huì)覺(jué)得顏色“不對(duì)”。解決顯示時(shí)先做一次通道轉(zhuǎn)換cv2.cvtColor(restored, cv2.COLOR_BGR2RGB)。保存時(shí)不要轉(zhuǎn)直接用cv2.imwrite寫(xiě) BGR 原數(shù)組這樣得到的 PNG 用看圖軟件打開(kāi)顏色是正常的。如果確認(rèn)通道沒(méi)寫(xiě)錯(cuò)還是偏色那就是白平衡問(wèn)題可先用cv2.xphoto.createSimpleWB()對(duì)原圖做一次白平衡再送入修復(fù)但這屬于高級(jí)調(diào)參先用通道問(wèn)題排查。5.3 現(xiàn)象批量修復(fù)時(shí)內(nèi)存溢出或速度越來(lái)越慢原因輸入圖片分辨率過(guò)大。掃描儀導(dǎo)出的老照片動(dòng)輒 6000×9000 像素GFPGANer會(huì)先把整張圖讀進(jìn)內(nèi)存做人臉檢測(cè)批量任務(wù)中一張大圖就能占滿 8GB 顯存。如果開(kāi)了upscale4顯存占用更是成倍增長(zhǎng)。解決在送入enhance之前先把圖片最長(zhǎng)邊限制到 2000 像素修復(fù)完成后再用傳統(tǒng)插值放大到所需尺寸這樣模型只需處理一個(gè)合適的分辨率。MAX_EDGE 2000 img cv2.imread(path) h, w img.shape[:2] scale min(1.0, MAX_EDGE / max(h, w)) if scale 1.0: img cv2.resize(img, (int(w * scale), int(h * scale)), interpolationcv2.INTER_AREA)這段代碼里的INTER_AREA是下采樣時(shí)最常用的插值方式能減少摩爾紋。批量任務(wù)前先統(tǒng)計(jì)所有圖的最長(zhǎng)邊把超大圖統(tǒng)一壓到 2000 內(nèi)速度問(wèn)題基本就能解決。5.4 現(xiàn)象人臉沒(méi)有被檢測(cè)到代碼直接返回原圖原因一張老照片里人臉區(qū)域太小、太糊或者人臉是側(cè)臉、低頭姿勢(shì)。RetinaFace 檢測(cè)器對(duì)“正臉且高度大于 32 像素”的目標(biāo)比較敏感而為掃描壓縮后的老照片人臉寬度常常不足 50 像素檢測(cè)器直接漏過(guò)。解決不要急著調(diào) GFPGAN 參數(shù)先把原圖放大 2 倍再跑修復(fù)同時(shí)對(duì)側(cè)臉照片做一次 90° 旋轉(zhuǎn)再試。如果放大后仍檢測(cè)不到可以用facexlib底層的檢測(cè)器畫(huà)出人臉框確認(rèn)框的位置再?zèng)Q定是不是要把圖片局部裁剪后單獨(dú)修。6. 把修復(fù)從腳本變成工具Web調(diào)用與接口封裝的小技巧6.1 用 Flask 封裝一個(gè)修復(fù)接口如果只是自己修幾張照片命令行腳本已經(jīng)夠用。一旦要讓不懂 Python 的家人使用或者接入一個(gè)小程序后臺(tái)就得把它封裝成 HTTP 接口。我一般用 Flask 寫(xiě)一個(gè)最小可用的服務(wù)import io import numpy as np from flask import Flask, request, send_file app Flask(__name__) restorer None def init_global_restorer(model_path): global restorer if restorer is None: restorer init_restorer(model_path) return restorer app.route(/fix, methods[POST]) def fix_image(): photo request.files.get(photo) if photo is None: return {error: 缺少 photo 文件}, 400 img_bytes photo.read() img_array np.frombuffer(img_bytes, np.uint8) img cv2.imdecode(img_array, cv2.IMREAD_COLOR) _, _, restored restorer.enhance( img, has_alignedFalse, only_center_faceFalse, paste_backTrue, weight0.6, ) ok, buffer cv2.imencode(.png, restored) if not ok: return {error: 圖像編碼失敗}, 500 return send_file(io.BytesIO(buffer.tobytes()), mimetypeimage/png, download_namerestored.png)接口里的restorer必須用全局變量持有不要在每次請(qǐng)求時(shí)初始化。GFPGAN 的模型加載需要讀入 300MB 權(quán)重單次初始化要花 5 到 10 秒如果每個(gè)請(qǐng)求都重新加載一次服務(wù)根本沒(méi)法用。cv2.imdecode能把上傳的字節(jié)流直接解碼成圖像數(shù)組比先保存臨時(shí)文件再讀取要干凈得多。實(shí)際部署時(shí)建議在服務(wù)啟動(dòng)前先調(diào)用一次init_global_restorer做預(yù)熱再對(duì)外提供服務(wù)。6.2 兩個(gè)驗(yàn)證技巧先看局部貼臉再算定量指標(biāo)封裝完成后不能只靠用戶說(shuō)“好像變年輕了”來(lái)驗(yàn)收。老照片修復(fù)沒(méi)有真實(shí)的高清參考圖所以我的習(xí)慣是先做局部驗(yàn)證用facexlib檢測(cè)出人臉框把修復(fù)前后的兩張圖的同一區(qū)域放大到 200%對(duì)比眼角紋理和牙齒輪廓。如果人臉輪廓與原圖一對(duì)比差太多說(shuō)明strength還是太高。定量方面可以算 PSNR但因?yàn)樘幚砗驮瓐D不是同一分辨率直接算 PSNR 沒(méi)有參考意義。更實(shí)用的是把修復(fù)結(jié)果重新壓縮成 JPG再和原圖做結(jié)構(gòu)相似度 SSIM雖然不能用來(lái)證明“修得好”至少能衡量本次修復(fù)是否保留了原始構(gòu)圖結(jié)構(gòu)。我自己在項(xiàng)目里加了一個(gè)--compare參數(shù)輸出修復(fù)圖和原圖的 SSIM 值低于 0.6 就提示人工復(fù)核。6.3 保留 EXIF 與時(shí)間戳給修復(fù)留一份后悔藥最后一個(gè)小技巧老照片掃描件可能帶了拍攝時(shí)間和掃描參數(shù)等 EXIF 信息而 GFPGAN 輸出圖像不會(huì)自動(dòng)保留。我建議在保存時(shí)從原圖讀取 EXIF 寫(xiě)入輸出文件或者至少把原始文件名、修復(fù)參數(shù)寫(xiě)進(jìn)一個(gè)manifest.csv。這樣三個(gè)月后想換一套參數(shù)重新修復(fù)還能知道上次用的是什么strength不用靠記憶猜。我在一次給客戶做批量老照片修復(fù)時(shí)就是因?yàn)橥擞涗泤?shù)發(fā)現(xiàn)同一張圖被兩個(gè)批次用不同強(qiáng)度處理交給客戶時(shí)新老照片分不清最后只好重跑全部批次。從那以后每張輸出圖的名字里都帶上了s和up參數(shù)這也成了我的固定習(xí)慣。這個(gè)方案并不復(fù)雜但它能讓你以后翻看結(jié)果時(shí)少走很多彎路。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
一区二区三区免费岛国片| 久久午夜鲁丝片| 人妻熟女一区二区三区在线| 精品国产乱码久久久久久久久久毛片 | 大香蕉伊人久久| 五月天欧美色图| 天天综合网~91| 久久riav中文精品| 亚洲熟妇综合久久久久久| 91成人久久| 超碰97资源大奶| 亚洲欧美啪啪| 婷婷久草一区二区三区| 国产麻豆一区二三区| 亚洲婷婷综合网| 欧美性爱一级操| 夜夜骑天天燥| av大香蕉| 91性情| 国产福利影视| 好涩综合| 精品无码一区二区人妻久久蜜桃| 精品无码一区二区| 日婷婷| 欧美性天天影院| 五月丁香久久| 亚洲久9| 欧美日动态视频| 亚洲免费看片| 亚洲另类电影| 秋霞成人一级在线观看| 一本大道久| 亚洲色图大香| 日本高清有码网址视频| 婷婷视频在线免费观看| 欧美黄色大片在线观看| 亚洲天天影视色综合| 久草视频制服诱惑| 三级网色| 秋霞无码av鲁丝片一区| 天天操熟妇| 极品久久久久久久久久久久久久| 青青草大香蕉在线视频| 久久久久成人亚洲国产| 欧美大香蕉专区网| 老司机深夜影院18未满| 色噜噜狠狠色综合日日| 26uuu国产日韩综合在线观看| 蜜臀av中文字幕| 97精彩视频网站| 国产高清精品一区二区三区毛片| 国产乱伦搜索结果91P| 欧美一二三级精品在线| 欧美精品精品一区二区| 精品午夜福利| 日韩少妇无码| 热久日综合| 97爱爱影院| 柠檬AV导航| 俺去俺来也在线www| 91视频在线观看18| 偷拍 欧美 日韩| 97综合| 乱伦一二三区| 国产做?爰片久久毛片?片美国| 影音先锋中文字幕日本好一区二区| 青娱乐久久艹| 99精品无码| 色五月大香蕉| 啊啊啊用力在线观看| 久久久久久久久久久久久久9999| 日韩99精品视频综合区| 囯产乱伦一区二区三女 | 日本色婷婷| 日本人体九九九九九九| 伊人精品视频| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 精品国产嫩穴视频| 婷婷情色五月天| 青青草国产盗摄一二三区| 成熟熟女国产精品一区二区| 国产9区| 亚洲成人性爱网站在线播放| 丁香六月婷婷久久综合| 精品人妻一二三四区视频| 后入式五六区| 色哟哟综合| 日韩探花精品在线视频| 中日无幕一二三四区| 夜夜騷av、一區二區| 亚洲啪啪啪啪视香蕉| 日韩97在线| 高清国产精品无码| 亚洲丝袜二区| 亚洲欧美激情在线视频| 99自拍B亚洲 | 免费的av网| 啊啊啊啊啊啊啊啊啊在线观看| 人人操人人操人妻人| 91人妻人人澡人人爽人人精品| 丰满人妻一区二区三区大胸懂色| 欧美中文字幕男人天堂久久精品 | 欧美色道啊| 亚洲资源站| 成人免费毛片| 丝袜喷水在线| 99色色网| 国产精品国产| 婷婷五月天久久久| av影院十区| 欧美翘臀视频网站一区二区三区| 亚洲日韩美国人妻| 男人的天堂2010| 中文字幕一区二区三四五区日日骚| 精品人妻丰满熟妇一区二区三| 国产女性无套 免费观看| 精产国品一区二三产品| 91 欧美| 一级黄色影片| 在线午夜成人无码视频| 免费的很黄很污的全部视频| 人人手机欧洲亚洲国产人妻| 色欧美综合| 国产 v乱码一区二| 999熟女精品| 一起草三级AV电影在线观看| 看黑人AV不卡| 精品人成视频在线观看| 俺去久久| 色色毛片| 2017大香蕉国产精品久久| 亚洲天天在线| 97天天爽| 超清福利精品视频在线| 十八禁电影伊人网| 五月激情啪啪| 十八禁啪啪视频| 日韩AV电影网站| 超碰色图| 激情欧美日韩女同久久| 中文字幕91页| 玖玖草久草99蜜月一区二区三区| 五月丁香啪啪网| 玖玖资源视频一区二区三区| 欧美黄片视频在线观看免费 | 熟女突然公开看18禁影片| 久久久国产精品亚洲精品| 无码高清国产AV| 一本久久精品中文字| 五月天婷婷影院| 国产97/欧美| 国产女人成人精品视频| 日韩欧美加勒比| 日本免费不卡二区| 日韩精品碰碰| 91热热色| 一区二区三区日韩欧美| 香蕉久久AⅤ...| 九九九精品一区二区无码| 国产AV色黄看到爽| 国内毛片四区| a人欧美综合天堂麻豆| 久久精品午夜国产亚洲AV无码| 传媒免费一区二区三区| 操屄不卡视频| 亚洲天天操| 91偷拍欧美亚洲| 91人精品妻入口| 97精品视频网站| 久久久成人国产精品无码| s片在线观看| 97久久久| 国产久久av| 亚洲人综合19| 97在线观看免费视频l| 操91| 亚洲国产成人高清在线| 1级黄色夫妻对换性交免费看| 91久久久老司机| 99婷婷| 亚洲精品白浆高清久久久久久| 久久久免费懂色| 欧美视频在线视频免费va| 日韩视频中文字幕| 韩日巨乳美女免费视频在线观看| 97在线观视频免费观看| 男人天堂2017| 人妻熟女一区二区三区视频| 欧美综合第一| 一道本久久棕合爱| 国产亚洲日本精品在线| 久久性爱视频99| 亚洲同性aV综合| 成人婷婷丁香| 2024人人操人人摸| 久久久久久日韩| 免费观看一区| 伊人影院日本| 999精品乱码| 伊人久大| 999色欧美中文字幕| 欧美色图亚洲特色| 99青草| 天天天天操| 自拍大香蕉乱插| 久艾草在线精品视频在线观看| 99色热| 久久原创中文| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 我中文字幕6区 | 强奸乱伦 亚洲一区| 青草地一本线一区二区三区| 色香网| 婷婷久草| 亚洲欧美91| 亚洲美腿丝袜香蕉影视欧美成人| 久久成人午夜狠狠| 国产欧洲精品亚洲午夜拍精品| 91红杏| 青青草久久一区网| 97日视频| 60秒免费视频| 国产福利合集| 亚洲一区二区三区婷婷| 骚货操死你| 激情情色五月天| 亚洲骚男同com| 亚洲情色综合网| 亚洲十八禁止| 精品无码产区一区二| 九九热精彩视频| 欧美78| 怡红院成人av| 精品人妻一区二区蜜桃视频 | 欧美性高潮在线| 黄色十八禁| 麻豆精品A片免费观看| 日韩一级二级在线| 伊人久久亚洲中文字幕| 一区 欧美 日韩 麻豆| 欧美熟女激情| 欧美日韩国产电影| 欧美影音在线| 2019亚洲男人天堂| 国模少妇一区二区三区| 精品-91人妻子系列| 国产真实野战在线视频| 激情综合网激情五月天| 特级大荫道BBwBBwBBW| 亚洲中文电影| 变态另类专区| 国产色产精品在线观看| www.91逼逼.com| 欧美顶级黄色大片免费| 亚洲熟女国产综合另类| 啊啊啊啊二区好大| 超碰 欧美| 91亚洲综合| 久久亚洲欧美中文字幕国语 | 欧美色图亚洲色图成人在在线| 精品乱子一区二区三区99| 一区,二区,三区视频| 学生妹天天看| 久久双插| 啪啪91| 青草香蕉网| 久久精品无码不卡| 高清一区AV无码| 99久久99九九99九九九| 桃色六月天| 激情小说亚洲视频| 在线毛片片免费观看| 免费啪啪一级视频| 天天干天天日天天射黄色片| 久久久一区二区三区四区五区| 国产无码精品高清| 国产人妻精品久久久一区二区三区| 人人综合| 98人妻精品一区二区色欲| 91超碰人人操| 蜜乳av一区二区三区四区不卡| 亚洲资源站| 人人操人人操草草| 国产熟女一区二区| 婷婷五月天激情网| 久久久男人的天堂| 天天色,天天干,天天干| 一个人在线看的黄色电影网站| 中文字幕无码不卡啪啪| 思思热影视| 精品97精品97| 理论久久婷婷网8| 影音先锋日本一区二区| 九九热免费国产视频婷婷伊人| 色狠狠综合噜一二三区| 久久久久久99999国产精品| 日日噜噜夜夜狠狠视频无| 欧美嗯啊……在线观看视频免费| 91丝袜人妻| 艹比视频国产精品| 搡老女人老91妇女熟女| 亚洲熟女性高潮久久久| 国产大片精久久久久久| 亚洲**2021在线观看| 操狠狠| 加勒比aⅴ| 国产中文字幕曰本毛片| 插插综合网天天影视网| www.久久爱| 美女上床网站| 柠檬AV导航| 91狠狠狠| 久久久久久久久久8888| 亚洲成成熟女人综合一区二区| 久久香蕉国产线看观看猫咪av| AV丝袜少妇| 国产最火爆久久国产网站网站| 中文字幕 av v| 综合伊人激情| 高潮综合网| 看黄片视频免费| 激情视频一二三| 手机在线视频国内精品| 亚洲日本大香蕉1| 国产精品免费视频不卡| 亚洲男人天堂手机版| 国产精品交换一区二区| 奇米四色网| 96免费视频在线| 美国人人操人人操| 天天综合~91| 成人情色一区二区| 欧美日韩午夜精品一区二区三区 | 超碰在线欧美性爱激情| 极品AV网站在线观看| 午夜无码精品免费看性色| 97操碰| 黄色大片一区二区密桃丝袜| 啪啪AV导航| 亚洲欧洲色情高清| 日本女人操逼| 亚洲自拍偷拍视频在线| 91美女視頻| 中文字幕在线观看丝袜| 中文字幕人妻资源在线| 美女91色黄18| 九九久久久九九| 欧美亚洲尤物久久| 国产三级中文有码在线视频| 四虎免费在线播放| 91日日| 丝袜熟女一区二区三区| 在线免费观看高清无码视频| 超碰偷拍| 夜夜福利| 素人播放一区| 亚洲日韩美国人妻| 免费?级毛片无码?∨蜜芽试看| 亚州欧美总和| 蜜臀亚洲中文| 欧美少妇熟女| 色老汉玖玖爱| 精品伊人久久久大香线蕉小说| 中文字幕国产在线天堂| 玖玖综合视频| 欧美激情黑人| 疯操AV| 国产精品午夜成人福利| 九色 人妻 大香蕉| 日本熟女中文| 中文字幕aⅴ在线视频| 91久久青青草原精品| 9997se| 宗合情欲网| 日韩人妻少妇 一区二区三区| 韩国成人精品久久久免费看| 日韩精品在线视频在线观看| 国产精品乱码久久久久| 97在线观看视频| 欧美后入视频| 97精品久久久久久久| 欧美一区91大爱| 国产乱伦性爱AV| 2020中文在线一区二区三区| 久久国产AⅤ| 射久久| 超碰午夜| 91超碰在线播放| 99热97| 五月黑AⅤ| 国产免费永久精品无码| 无码伊人久久大杳蕉中文无码| 综合欧美激情网| 91国产操逼视频| 可免费观看的av毛片中日美韩| 中文字幕乱亚洲美女精品一区| 色网亚洲人| 日韩欧美中文字亚洲慕| 四虎av在线| 免费亚洲国产精品久久一区| 国产午夜视频| 色踪合AV| 97色操| 高清视频一区| 国产高清自拍| 欧美真人抽搐一进一出gif| 国产 日韩 欧美一区| 亚洲欧美小说| 激情抓乳插进去啪啪啪日韩 | 99国产精品人妻人伦| 国产伦精品一区二区三区视频女| 久久一二三四五六七八九区区区| 少妇毛片久久| 欧美后入视频| 国产精品久久久久久久久久久久久久久久| 自拍欧美| 99热在线不卡| 99re在线视频| 春色综合网| 狠狠婷婷亚洲中文综合久久| 人人贴人人摸| 精品国产www久久| 国产超碰在线| 99久久无色码| 男人天堂无码| 欧美+日产+中文| 色哟哟 日韩精品| 美女尤物人人操| 日韩丝袜二区| 啪啪91| 日韩欧美中文字| 色九九久九九| 国内精品嫩模A∨私拍小视频| 日日噜噜夜夜狠狠视频无| 无码乱人伦中文视频| 91美女丝袜诱惑视频| 日韩av三四区| 69久久| 边做饭边操逼逼| 久久久免费的精品| 久久精品人体| 久久噜噜噜精品国产亚洲综合| 色九久| 国产毛片在线| 一个人在线看的黄色电影网站| 歐美性天天| 97资源久久| 国产一区二区a毛片| 九月丁香| 亚洲综合 欧美| 日日骚AV| 99久在线精品99re8热| 日韩99神马视频播放| 噜噜噜噜天天狠狠| 日韩熟女乱伦中出| 天天日日本| 欧美午夜熟妇黑人精品91| 成人a级高清视频在线观看| 97色色网| 208天天久久九九九| 老熟妇一区二区三区…| 日韩在线AB| 欧美性爱超碰97| 国产亚洲精品美女久久久久久2021| 免费夜夜爱黄色视频毛片| 后入福利视频| 在线国产福利网址导航| 伊人国产视频| 尤物av网站免费在线播放| 日本黄 R色 成 人网站| 91精品久久久久久久久久| 麻豆三极片| 嗯嗯啊啊视频在线看| 国产精品久久久久999| 乱伦日本中文自拍| 97 亚洲 日韩 欧美 在线| 久九九九九九九九热| 亚洲欧美日韩精品久| 偷拍超碰| 国产精品美女久久久久AⅤ国产馆| 超碰久久中文| 97Ai亚洲| 北条麻妃99精品青青久久| 欧美性夜| 97色在线观看| 久久国产AⅤ| 少妇天堂网络| 国产精品亚洲色婷婷久久久| 久久欧美1卡2卡3| 神马久久久久久| 爱爱动态120秒| 中文字幕第2页| 人妻激情另类| 日本影视久久免费| 精品无码一二三四区| 岛国激情视频在线观看| 伊人精品视频| 天天操天天射天天日| 久久精品 六十路 熟女 欧美| 中文字幕福利视频一区二区三区在线观看| 欧美日韩人人精品| 久久高清欧美国产| 亚洲揄拍网| 色臀aV| 久久99午夜精品一区人妻| 日韩精品一区,二区 九九...老司机| 韩国一级婬片A片无码天美| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 青青草国产亚洲精品久久| 国产 日韩 欧美一区| 久久亚洲不卡一区二区三区| 日本成人电影资源网| 午夜操操操| 久久99热这里只频精品6学生| 精品午夜福利| 国产精品天干天干综合网麻豆| 久久亚洲AV无码专区国产精品 | 久久成人午夜精品影院| 91青青在线| 人妻精品4K4K4K4K4| 国产亚洲深夜激情| 亚洲午夜精品久久久中文影院| 女优免费一区二区永久| 国产精品分类在线观看| 9美女超碰在线免费观看| 国产精品麻豆成人AV艾秋| 18禁在线视频| 哈哈操 大香蕉| 一道本东京热加勒比一区二区三区| 亚洲伊人a线观看视频| 97操B| 天美精品一区二区三区四区在线观看| 色欲天天综合网| 高清国产无码av| 天天综合~91| 97超碰天天爱天天爱| 日本韩欧美在线播放a| 免费人成毛片乱码| 日比av无码| 久久爱97| 97国伦国色| 国产亚洲禁久一区二区 | 亚洲精品中文字幕一区在线视频| 男人的天堂va| 春色综合免费| 麻豆天美制片厂网站视频| 婷婷五月成人| 综合影视国产无码| 日本性爰一道本| 亚洲欧美国产中文视频| 热热色中文无码| 婷婷五月天色网| 日逼五月天| 亚洲情色婷婷五月天| 国产精品自产拍在线观看社区| 国产辣妈在线视频福利| 色欧洲| 久久岛国| 伦理第一页| 一级AAA片一区二区三区| 超碰久久网| 亚洲综合夜色| 国产欧美成人精品| 日本一天色道久久久精品视频| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 99re这里只有精品2| 狠插 制服 自拍| 丝袜制服字幕在线| 蜜桃久久久久久久| 中文伊人大香蕉视频| 久草婷婷| 东京热免费视频| 婷婷五月天基地| 女人双腿搬开让男人桶| 青青草丝袜在线视频| 国产欧美岛国精品一区| 青椒国产97在线熟女| 欧洲久久一二线| 日韩欧美麻豆| 91精品丝袜久久久久久| 天天综合~91| 超碰导航97| 久久精品国产亚洲粉嫩| 亚洲有码视频二区| 国产精品美女视频诱惑| 国产精品一区二区亚洲人成毛片 | 国产真实野战在线视频| 欧美成va视频网站| 啪啪啪大香蕉| 久久久亚洲精品电影免费看| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 久久精品店| 中文字幕在线观| 日熟女| 五月丁香拍拍激情综合三级| 亚洲午夜福利视频| 99热这里只有精品99| 极品五月天噜噜| 欧美大香蕉在线观看| 亚洲狼狼干综合1| 欧美少妇高潮久久91| 大香蕉色欲AV| 亚洲在线欧美| 成人a级高清视频在线观看| 岛国网址国产| 操99| 国模不卡一本二本三电影| 97一区二区三区视频| 97射欧美| 色色色网站| 美女人妻色网站| 性性欧美| 9久精品| h4610国产人妻| 开心五月天激情网| 极品后入免费视频| 熟女少妇视频| 欧美操逼熟女| 日韩精品一区二区三区色欲| 乱老女人一区二区视频| 91在线页| 色www精品视频在线观看| 亚洲久草AV色图| 免费观看成人www精品视频| 久久肏大逼| 69综合网| 97免费视频在线| 中国乱伦一区二区| 欧美久久草熟女| 中文字幕av片| 久热在线精品免费观看| 国产精品色色| 福利大香蕉| 一级人妻性爱视频| 深夜操逼网| 色777999综合| 黑人操一区二区| 天天弄欧美| 欧美宗合色| 91精品无码人妻系列| 色999偷自拍拍| 欧美精品一二三| 蜜乳AV网址| 激情欧美日韩女同久久| 97香蕉网| 久久日韩毛| 亚洲女人91| 国产精品爽爽va在线观看98| 久久久久久久久久久久黄色| 凹凸视频在线一区二区| 五月天婷婷影院| 久久久999国产精品| 久久久久久国产无码精品| 第二页中文字幕| 国产综合色精品在线观看| 人人干人人操人人..com| 无码一区二区三区四区五区六区七区八区九区十区视频 | 北条麻妃性愛视频| 尤物av网站免费在线播放| 五月婷婷六月色| 91中出在线| 亚洲啪啪性视频| 人妻少妇无码| 九月丁香| 久久久少妇| 91老熟女逼| 亚洲婷婷丁香在线| 97欧美精品综合| 日本操逼aaaaa| 日韩av色图综合| 国产a片操逼| 麻豆伊人网| 美女尤物人人操| 亚洲精品黑丝| 色色色色网站| 狼人狠干| 欧美在线啊啊啊| 在线岛| 久久同城AV| 国产亚洲日本精品在线| 揉揉揉夜夜| 日本人体九九九九九九| 91性高朝久久久久久久久| 熟女色图在线| 午夜.DJ高清在线观看免费7| 热的中文 热的有码 热的国产| 欧美东京热精品A∨| 人妻丰满熟妇av无码区蜜桃| 少妇高潮对白在线观看| 国产后入式在线观看| 最近2019中文字幕国语免费版| 91久久久老司机| 97久久视频| 日韩十八禁| 后X久久| 2024年最新色情网站在线观看 | 国产午夜精品理论片a大结局| 日日天天久久啊啊aaa| 久干9操| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 最新av在线| 久久久久久AⅤ无码免费肉站| 日本亚洲嫩草影院啪啪| 国产视频一区二区三区久久亚洲天堂| 亚洲最新中文字幕免费| 九九操久久国产免费视频| 96精品久久久久中文字幕| 欧美经典一区二区三区 | 99热婷婷| 亚洲成人免费中文字幕| 97视频免费| 2000亚洲男人天堂| 亚洲日韩一区电影| 逼逼逼逼操操操操操操操操操午夜剧场| 高清无码91| 久草色悠悠在线视频| 蜜桃无码AV一区二区| 91肉片| 天天综合91入口| 夜夜狠狠躁日日躁色视频| 久久综合激情| 老熟妇一区二区三区…| 精品九九九九九| 天天综合,91入口| 激情终合网| 色妺妺在线视频| www网站黄| 一级AV性爱| 92久久| 97超碰伊人| 日韩不卡网操逼中文字幕日韩| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 四虎 精品 WWW| www超碰| 啪啪AV导航| 久久国产逼| 91色拍| 日韩精品啪啪啪| 亚洲综合色在线| 97精品国产手机| 人人操天天爽| 成人精品电影| 国产欧美日韩女同性恋ww喷水精品| 国产精品熟女丝袜一区二区| 国产精品视频麻豆入口| 国产黄色在线播放观看| 亚洲学生妹高清av| 校园春色五月天| 不卡视频一区蜜桃视频 | 欧美大波激情xxxx| 国产中出内射一区二区| 97国产精品视频| 唯美清纯 妖精视频| 一级AAA片一区二区三区| 国产欧美日产一区二区三区 - 国产欧美日| 久久综合精品一区二区三区| 国产夜夜操| 99re不伦| 日韩av色图综合| 欧美色图下一页| 日韩78m视频| 欧美在线视频播放| 久久一本大香蕉 | 久久伊人东京热| 97国产|免费| henhen91| 国产精品视频内谢女人| 久久夜夜| 欧美高清18A片| 日韩综合成人免费视频| av在线不卡一区二区三区| 欧美探花网| 久久精品高清AV| 免费a在线播放v| 五月丁香色婷婷| 91欧美高清| 人妻无码后入| 欧美 熟女 日韩| 欧美综合色综合| 天天操天天干美女网址导航| 91亚洲人| 免费αV在线视频| 国产熟女免费观看久久| 国产视频一区二区免费| 久久精彩免费视频| 日韩一区二区熟女| 天天爱综合网| 91人人操| 一区二区久久天天干狠狠| JULIA人妻风俗店中出电影| 爽爽爽免费视频| 欧美传媒一区| 天天肏天天干| 家庭乱伦性爱av| 人人摸人人干| 六月丁操逼| 人人操人人精品影片| 超碰97人妻| 久久精品国产亚洲AV片多多| 亚洲 日韩 欧美 国产综合体| 亚洲综合在线高清| 97精品视频在线播放| 人妻少妇精品久久久久久久| 午夜乱轮操逼视频免费看| HEYZO高无码国产精品227| 青娱乐导航AV| 色综合20p| 久久久久九九九九| a级成人毛片免费视频高清| 天天综合亚在线| 精品久久艹| 亚洲高清视频在线免费观看| 免费看欧美美女黄色大片| 久视频在线观看| 亚洲久草AV色图| 在线岛| 嗯嗯啊啊视频在线看| 激情小说亚洲视频| 超清福利精品视频在线| 久99热| 九九九九免费视频| 婷婷久久五月综合激情| 婷婷色色网| 高清不卡 中文 人妻| 国产精品com| 99成人| 欧美激情精品久久久| 九九九精品成人免费视频小说| 人妻乱仑一区二区三区| 欧美韩国你懂得在线| 综合网亚洲| 九九热视频在线观看| 97se综合| 久久久亚洲Av| 99999精品成人| 91熟女视频| 337p大胆噜噜噜噜噜91Av| 中文字幕视频免费| 囯戸精品高潮呻吟旡码| 东北黄色电影| 精品熟女呻吟久久91| 九色婷婷| 2020天天色综合| 亚洲中文字母在线播放| 成人精品一区二区三区| 性videos欧美熟妇hdx| 好湿好紧好爽 视频| 亚洲视频精选| 超碰在线99| 超碰97男女| 欧美精品久久久久久久久88| 久久宗合亚洲| 午夜一区二区三区国产| 嗯嗯啊啊好疼| 免费看黄视频亚洲网站| 偷拍在线观看视频| 7777奇米影视久久| 亚码人妻| 蜜乳性色无码专日粉嫩骚逼AV| 美美91成人国产精品欧美精品久久久久久久 | 东京热毛片177b2viP| 超碰99在线| 国产精品一区二区密臀| 美女黄色一级A视频| 外站AV在线| 久久女人视频| 综合伊人激情| 校园春色中文字幕AV| 欧美一级黄片视频在线| 丝袜色综合| 青青草丝袜在线视频| 91热| 人妻熟女字幕一区二区| 色在线视频导航| 青青操在线亚洲视频观看欧美在线 | 久久亚码| 综合色久| 凹凸视频在线一区二区| 欧美视频第二页| 鸡巴插逼视频| 婷婷8月天青娱乐| 亚洲最大91网| 最新国内自拍av免费| 久草久日| 久久综合五月天| 黑人精品XXX一区一二区| 色眯眯av| 五月丁香影院| 精品一区二区国产日韩| 久久夜精品一区二区三区| 国产人妻天天干精品| 凹凸精品熟女在线观看| 密臀AV在线| 久久久国产三级黄色片| 中文字幕无码不卡啪啪| 嗯嗯啊中文字幕| 女同女同恋久久级三级| 日本在线999| 日韩传媒在线| 九九黄色视频在线观看| 18禁看网站一区| 好一吊区二区| 97干天天| 操碰97| 十八禁的黄污污免费网站| 999久久久九九九九| 夜夜国产一区| 91狠| 精品中文字幕一区二区l - 百度| 亚洲人久久久久日| 国产精品久久久久久久久久久久久久久久 | 天天插天天射| 日韩无码a片| 精品九九九九九九| 亚洲精品久久一区二区三区蜜桃臀| 99婷婷| 国产一级αv免费看片| 强奸抽插av| 超碰在线免费一区二区三区| 日韩无码AB| 97综合在线观看| 丰满的三级少妇欧美久久久| 八戒无码国产午夜福利| 丰满人妻一区二区三区| 精品9999| 日本男人插女人的逼黄色| 人妻少妇一区二区| 99久久网站| 韩三级a视频在线观看| 欧美超碰在线| 色97欧美| 骚逼自拍99| 亚洲视频一二区| 久久a久久| 成人情色一区二区| 十八禁视频网站| 一类av片在线看| 国产Av超碰| 日本成熟少妇A∨网站| 99久在线精品99re8蜜桃| 任你干在线视频| 综合色拍| 欧美亚洲涩涩| 久久久久久久久久久999| 久久综合日韩亚洲欧美| 中出91| renqi久久久久久久久久久久| 92人人操人人| 蜜乳AV色欲AVAV无码| 人妻系列无码专区中文有码| 99在线免费公开视频| 国产美女销魂在线观看不卡| 久久 国产 无码| 尤物av网站免费在线播放| 国产色产精品在线观看 | 国模精品娜娜一二三区| 国产亚洲色婷婷久久99精品91葵花宝典 | 国产www色在线观看| 成人精品一区二区91毛片不卡| 国产精品露脸在线观看| 正在播放国产精品一区| 久久久久久电影| 艹精品| 亚洲制服欧美另类内射| 亚洲无码AV九九九| 五月丁香六月婷| 成人av免费观看| 久操大香蕉手机视频在线看| 五月婷婷综合网| 亚洲综合色男人网| 精品国产少妇高潮视频| 歐美一級亂黃99在綫精品| 91网亚洲| 尤物视频网 刘玥| 日韩精品亚洲一二三| 四虎影视精品| 百度百度日本操逼| 成人无码在线超碰网| 国产99久久99热这里只有精品15| 一区二区视频在线播放| 色情五月婷婷| 99热超碰| 国产一区二区久久| 99热精品在线观看| 婷婷爽人人婷婷爽视频| 国产AAAAAABBBBB| 亚乱色| 人妻久久久久久| 日本 免费 一区二区三区 久久香蕉 | 国产激情av女片自拍| 狠狠干综合| 九一亚洲国产免费| 国产精品在线一区二区| 国产又粗又长视频| 欧美传媒| 久久久久久精品免费看A级| 操操碰| 中文在线久久字幕| 伊人网在线点播| 囯产精品久久久久久久久久梁医生 | 红杏大香蕉| 国产乱弄免费在线视频。 | 伊人久久大香线综合无码| 色偷偷综合91久久噜噜| 亚洲一区二区在线观看91| 亚洲欧美综合区自拍另类| 丁香六月综合激情| 欧美中字二区| 日韩一级二级三级| 波多野结衣一级视频| 久久婷五月天| 一本大道综合伊人精品热热| 少妇熟女一区二区三区| 欧美亚洲一级在线观看| 婷婷五月天综合网| 久久久久78| 狠狠爱综合网| 激情久久久| 伊人影院在线理论播放| 久久久91福利姬| 欧美精品23| 深夜啪啪啪视频免费| 国产后入清纯| 国产 亚洲 一二三四| 亚洲 日本 一 二 三| 久久视频,这里只有精品| 久久性爱视频免费看| 久操精品网| 欧美日韩青操| 亚洲无码电影久久久| www.yw尤物| 99re在线视频国产| 久久久久亚洲av综合波多野制衣| 99re这里只有精品中心播放| 91热热色| 在线v中文字幕一区二区三区| 一道本东京热加勒比一区二区三区| 大香蕉人妻久久| 澳门特级毛片免费观看| SUV一区二区在线看| 日本性感人妻91| 夜夜嗨一区二区| 婷婷10月天青娱乐| 东亚亚洲无码高清| 强奸熟女一区二区三区| 欧美日韩大黄片| 久超超碰| AV一起草在线| 嗯嗯啊啊用力视频免费| 欧美影院一区二区三区| 久热99| 天天综合青苹果| 亚洲1区| 欧美天天综合在线| 久久露脸国产老熟女| 欧美日韩不卡传媒| 日韩性爱视频免费在线| 久久久久国产精品人妻aⅴ天堂| 色嗨嗨在线| 一区二区不卡免费| 久久肏大逼| 天天综合~91| 午夜天堂精品久久久久91| 蜜臀99久久国产| 色婷婷五月天| 午夜超碰| 毛片17S| 亚洲h片在线免费观看| 男人久久精品| 日韩精品黄片免费观看| 国产精品毛片| 色墦五月丁香| 激情小说亚洲色图| 青青草吊丝| 老司机天天操| 青青青艹在线视频| 欧美一级A片在线看视频性色| 精品夜夜澡人妻无码AV| 日韩啪啪啪啪啪| 一中国女人毛片水真多| 少妇69中文| 成人无码影片视频在线| 精品一级| 欧美日韩人人精品| 欧美综合娱乐久久| 日韩精品资源| 欧洲综合视频| 精品中文字幕第一页| 久久九九精品一区二区| 五月天综合网| 亚洲AV无码乱码| 蜜臀一二三区| 爱爱60秒免费视频| 日韩精品在线视频在线观看| 欧美黑人91| 蜜臀久久99精品久久综合| 欧美18 在线观看| 久久久九| 看黑人AV不卡| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 欧美熟女丝袜| 亚洲在高跟鞋自慰久久在色线| 国产精品国产自产高清AV| 国产女主播视频在线观看| 久久精精区一区二区一蜜桃一区二区| 囯产精品久久久久久久久久二区三区| 一级性爱视频免费观看 | 国产在线76页| 亚洲欧美日韩免费电影| 亚洲精品乱码久久久久久蜜桃麻豆| 超碰97起碰| 国产精品无码在线| 国产综合色精品在线观看| 超碰9 7女人| 欧美内射少妇| 国产激情久久久| 亚欧视频在线| 久射吧| 亚洲综合在线高清| 国产无马av| 国产精品无码久久久久2025| 九九九九AV| 久久是精品| 欧美情色男人的天堂| 国产av尤物| 欧美人人AAA| 熟妇熟女一区二区三区| 91熟女.com| 乱理日韩中文| 五月天丁香| 国产精品亚洲一区二区三区四区| 老熟女乱伦一区| 夜夜爽夜夜| 欧美日韩妖精91com| 天天综合网1| 国产有码一区| 一区二区三区精品黑丝白丝酒店对鸡 | 噜噜瑟| 无码又爽又硬又激情免费视频| 欧美日韩岛国大片在线观看| 熟女五十路一区二区三| 中文字幕人妻资源在线| 加勒比综合网| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 色偷偷男人的天堂麻豆| 人妻人人澡人人爽人人| 少妇500双飞99| 激情欧美日韩女同久久| 一区二区三区四区久久视1| 屌妞视频久久久久久久| 亚洲自拍一区夜夜操| 密臀AV在线| 在线免费试看60秒| 国产女主播视频在线观看| 亚洲精品久久久久久| 国产在线激情| 中文字幕99999| 蜜乳AV免费观看| 欧美精品99久久久**| 唐山老熟妇露脸啪啪叫|