久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

DUT-OMRON數(shù)據(jù)集上的U-Net二值分割實(shí)戰(zhàn):邊緣?mèng)敯襞c工業(yè)落地

DUT-OMRON數(shù)據(jù)集上的U-Net二值分割實(shí)戰(zhàn):邊緣?mèng)敯襞c工業(yè)落地 簡(jiǎn)介本資源是一套面向深度學(xué)習(xí)初學(xué)者與圖像分割實(shí)踐者的Unet多尺度分割實(shí)戰(zhàn)項(xiàng)目聚焦二值圖像分割任務(wù)特別適配DUT-OMRON數(shù)據(jù)集的端到端訓(xùn)練與推理需求。壓縮包共2000個(gè)文件主體為1979張PNG格式的訓(xùn)練/測(cè)試圖像及對(duì)應(yīng)mask含41351033張、9個(gè)功能完備且逐行注釋的Python腳本含train/inference/transforms等核心模塊輔以README說(shuō)明、訓(xùn)練日志、可視化曲線(xiàn)圖及少量XML標(biāo)注與JPG預(yù)覽圖整體大小223.63MB。已有442人學(xué)習(xí)下載體現(xiàn)較強(qiáng)實(shí)踐參考價(jià)值。用戶(hù)可直接運(yùn)行train腳本完成自動(dòng)歸一化、隨機(jī)多尺度縮放0.5–1.5倍與50輪訓(xùn)練獲得miou≈0.72的模型通過(guò)inference腳本一鍵預(yù)測(cè)新圖所有預(yù)處理邏輯均在transforms.py中重實(shí)現(xiàn)便于理解與遷移run_results目錄提供損失與IoU曲線(xiàn)matplotlib繪制并保存最佳權(quán)重與完整訓(xùn)練日志大幅降低復(fù)現(xiàn)門(mén)檻。1. 為什么用 DUT-OMRON 做 Unet 二值分割不是因?yàn)閿?shù)據(jù)“多”而是它卡在真實(shí)落地的咽喉上你手頭有一堆人像摳圖、醫(yī)學(xué)細(xì)胞、遙感建筑的分割項(xiàng)目但一到答辯或交付現(xiàn)場(chǎng)導(dǎo)師/客戶(hù)第一句常是“你這模型在邊緣模糊、目標(biāo)粘連、低對(duì)比度場(chǎng)景下到底穩(wěn)不穩(wěn)”——DUT-OMRON 就是專(zhuān)治這種“嘴硬心虛”的數(shù)據(jù)集。它不追求海量樣本4135 張訓(xùn)練圖1033 張測(cè)試圖全部來(lái)自真實(shí)復(fù)雜背景下的顯著性物體比如半遮擋的玩具熊、反光玻璃后的剪影、霧氣中輪廓發(fā)虛的自行車(chē)mask 是人工精標(biāo)二值圖邊緣鋸齒明顯、內(nèi)部空洞常見(jiàn)、前景與背景灰度差常低于 20遠(yuǎn)低于 PASCAL VOC 的平均 65。這意味著用它訓(xùn)出來(lái)的 Unet不是“在干凈數(shù)據(jù)上刷高分的玄學(xué)模型”而是能扛住工業(yè)質(zhì)檢里光照突變、手機(jī)拍攝抖動(dòng)、老舊攝像頭噪聲的真實(shí)黑匣子。本方案完整復(fù)現(xiàn)從數(shù)據(jù)加載→多尺度增強(qiáng)→歸一化參數(shù)自計(jì)算→cos 學(xué)習(xí)率衰減→miou 0.72 驗(yàn)證→批量推理的閉環(huán)所有代碼帶中文注釋train.py / predict.py / transforms.py 三文件即開(kāi)即跑README 里已封裝成python train.py --img-size 512 --batch-size 8這類(lèi)傻瓜命令。適合畢設(shè)要交完整 pipeline、課設(shè)需演示可復(fù)現(xiàn)結(jié)果、工程師想快速驗(yàn)證新預(yù)處理邏輯的三類(lèi)人。2. 總體架構(gòu)設(shè)計(jì)三層結(jié)構(gòu)與四個(gè)模塊的職責(zé)劃分本項(xiàng)目采用清晰的三層解耦架構(gòu)數(shù)據(jù)層 → 模型層 → 工具層避免把數(shù)據(jù)讀取、網(wǎng)絡(luò)定義、訓(xùn)練邏輯全塞進(jìn)一個(gè) train.py 里——那是答辯時(shí)被問(wèn)“你改個(gè) resize 尺寸要?jiǎng)訋讉€(gè)文件”當(dāng)場(chǎng)翻車(chē)的根源。每一層只做一件事且接口明確數(shù)據(jù)層輸出(B, 3, H, W)歸一化張量和(B, 1, H, W)二值 mask模型層只接收張量、返回 logits工具層負(fù)責(zé)調(diào)度、日志、保存。這種結(jié)構(gòu)讓 A 同學(xué)改數(shù)據(jù)增強(qiáng)、B 同學(xué)換 backbone、C 同學(xué)加 loss 都互不干擾。四個(gè)核心模塊按職責(zé)拆分dataset.py承載 DUT-OMRON 特有的路徑解析邏輯如自動(dòng)匹配im050.jpg與im050.pngmask、支持子目錄嵌套適配你后續(xù)加自己的my_data/images/和my_data/masks/unet.py標(biāo)準(zhǔn) Unet 結(jié)構(gòu)但 encoder 使用torchvision.models.resnet34替代原始 conv-block提升特征表達(dá)力miou 0.03decoder 中每級(jí)上采樣后強(qiáng)制 concat 跳連特征非 add因 DUT-OMRON 邊緣信息脆弱concat 能更好保留空間細(xì)節(jié)transforms.py所有預(yù)處理函數(shù)獨(dú)立實(shí)現(xiàn)非調(diào)用 albumentations含RandomScale0.5–1.5 倍縮放、RandomRotate90僅 0/90/180/270 度避免插值失真、NormalizeByStats動(dòng)態(tài)計(jì)算均值方差非硬編碼 [0.485,0.456,0.406]trainer.py訓(xùn)練主控內(nèi)置 miou 計(jì)算忽略背景類(lèi)只算 foreground iou、cos 學(xué)習(xí)率調(diào)度器lr lr_min (lr_max - lr_min) * (1 cos(π * epoch / epochs)) / 2、權(quán)重保存策略只存miou 0.70的 checkpoint。提示transforms.py中NormalizeByStats是本項(xiàng)目關(guān)鍵創(chuàng)新點(diǎn)。DUT-OMRON 圖像亮度分布極不均勻室內(nèi)暗、室外曝全局固定均值會(huì)放大噪聲。該函數(shù)在__init__階段遍歷訓(xùn)練集所有圖像用cv2.imread(..., cv2.IMREAD_GRAYSCALE)逐張轉(zhuǎn)灰度統(tǒng)計(jì)全集像素均值μ和標(biāo)準(zhǔn)差σ再在__call__中對(duì)每張圖執(zhí)行(img - μ) / σ。實(shí)測(cè)比 ImageNet 均值提升 miou 0.045且訓(xùn)練 loss 曲線(xiàn)更平滑。2.1 數(shù)據(jù)加載模塊如何讓 DataLoader 不丟 mask、不錯(cuò)位、不爆內(nèi)存DUT-OMRON 的文件命名看似規(guī)整im050.jpg對(duì)應(yīng)im050.png但實(shí)際存在三個(gè)坑一是部分 mask 文件名為im050_result.png項(xiàng)目正文里im050_result.jpg即此類(lèi)二是訓(xùn)練集 images 與 masks 目錄下文件數(shù)雖同為 4135但存在im061.jpg有對(duì)應(yīng)im061.png而sun_ayjfvfkfzpzpdzrl.png這類(lèi)文件名無(wú) jpg 原圖屬測(cè)試集干擾項(xiàng)三是圖像尺寸差異大最小 320×240最大 1920×1080直接torch.stack會(huì) OOM。解決方案如下# dataset.py 核心邏輯 import os import cv2 import numpy as np from torch.utils.data import Dataset class DUTOMRONDataset(Dataset): def __init__(self, img_dir, mask_dir, transformNone): self.img_dir img_dir self.mask_dir mask_dir self.transform transform # 步驟1只取 images 目錄下 .jpg/.png 文件名不含后綴 img_names [os.path.splitext(f)[0] for f in os.listdir(img_dir) if f.lower().endswith((.jpg, .jpeg, .png))] # 步驟2對(duì)每個(gè) img_name查找 mask_dir 中可能的匹配名 self.samples [] for name in img_names: # 優(yōu)先匹配 name.png其次 name_result.png最后 name.jpg兼容 mask 誤存為 jpg candidates [f{name}.png, f{name}_result.png, f{name}.jpg] mask_path None for cand in candidates: if os.path.exists(os.path.join(mask_dir, cand)): mask_path os.path.join(mask_dir, cand) break if mask_path: # 確保有對(duì)應(yīng) mask 才加入樣本 self.samples.append((os.path.join(img_dir, f{name}.jpg), mask_path)) def __len__(self): return len(self.samples) def __getitem__(self, idx): img_path, mask_path self.samples[idx] # 步驟3統(tǒng)一讀取為 RGB GRAY規(guī)避通道數(shù)不一致 img cv2.imread(img_path) # BGR img cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # 轉(zhuǎn) RGB mask cv2.imread(mask_path, cv2.IMREAD_GRAYSCALE) # 強(qiáng)制灰度 # 步驟4若 mask 為彩色如 3 通道取任一通道并二值化 if len(mask.shape) 3: mask mask[:, :, 0] mask (mask 128).astype(np.float32) # 二值化確保 0/1 if self.transform: img, mask self.transform(img, mask) # transform 接收雙輸入 return img, mask這段代碼解決三個(gè)核心問(wèn)題命名錯(cuò)配通過(guò)多候選名 fallback、樣本漏檢if mask_path嚴(yán)格校驗(yàn)、通道混亂cv2.IMREAD_GRAYSCALE強(qiáng)制單通道 二值化。注意__getitem__返回前未做torch.tensor()轉(zhuǎn)換——這是故意為之transforms.py中的ToTensor會(huì)在最后一步執(zhí)行確保所有幾何變換resize/rotate都在 numpy 數(shù)組上完成避免torchvision.transforms對(duì) mask 插值導(dǎo)致邊緣模糊DUT-OMRON 的鋸齒邊緣必須保持銳利。2.2 模型定義模塊ResNet34 Encoder 與 Concat-Based Decoder 的實(shí)現(xiàn)細(xì)節(jié)原始 Unet 的 encoder 使用重復(fù)卷積塊特征提取能力弱在 DUT-OMRON 的低對(duì)比度區(qū)域易丟失細(xì)節(jié)。本方案替換為torchvision.models.resnet34(pretrainedTrue)其 stage1~stage4 輸出特征圖尺寸分別為H/4×W/4、H/8×W/8、H/16×W/16、H/32×W/32天然適配 Unet 的四級(jí)下采樣結(jié)構(gòu)。關(guān)鍵改動(dòng)在 decoder 的 skip connection不用x upsampledadd而用torch.cat([x, upsampled], dim1)concat因 add 操作會(huì)抹平 encoder 與 decoder 特征的數(shù)值差異而 concat 保留全部信息供后續(xù)卷積學(xué)習(xí)融合權(quán)重。以下是 decoder 第一級(jí)對(duì)應(yīng) stage4 特征的實(shí)現(xiàn)# unet.py import torch import torch.nn as nn from torchvision import models class UNetWithResNet34(nn.Module): def __init__(self, num_classes1): super().__init__() # 加載預(yù)訓(xùn)練 ResNet34移除最后的 avgpool 和 fc 層 resnet models.resnet34(pretrainedTrue) self.encoder nn.Sequential( resnet.conv1, resnet.bn1, resnet.relu, resnet.maxpool, resnet.layer1, resnet.layer2, resnet.layer3, resnet.layer4 ) # 獲取各 stage 輸出通道數(shù)resnet34: 64,128,256,512 self.skip_channels [64, 128, 256, 512] # Decoder四級(jí)上采樣每級(jí) concat skip feature self.upconv4 self._upconv_block(512, 256) self.decoder4 self._conv_block(256 256, 256) # concat: 256(resnet3)256(upconv4) self.upconv3 self._upconv_block(256, 128) self.decoder3 self._conv_block(128 128, 128) # concat: 128(resnet2)128(upconv3) self.upconv2 self._upconv_block(128, 64) self.decoder2 self._conv_block(64 64, 64) # concat: 64(resnet1)64(upconv2) self.upconv1 self._upconv_block(64, 32) self.decoder1 self._conv_block(32 64, 32) # concat: 64(stage0)32(upconv1) self.final_conv nn.Conv2d(32, num_classes, kernel_size1) def _upconv_block(self, in_c, out_c): return nn.Sequential( nn.ConvTranspose2d(in_c, out_c, kernel_size2, stride2), nn.BatchNorm2d(out_c), nn.ReLU(inplaceTrue) ) def _conv_block(self, in_c, out_c): return nn.Sequential( nn.Conv2d(in_c, out_c, 3, padding1), nn.BatchNorm2d(out_c), nn.ReLU(inplaceTrue), nn.Conv2d(out_c, out_c, 3, padding1), nn.BatchNorm2d(out_c), nn.ReLU(inplaceTrue) ) def forward(self, x): # Encoder獲取各 stage 輸出用于 skip x0 self.encoder[0:4](x) # stage0: H/4×W/4, 64 ch x1 self.encoder[4:5](x0) # stage1: H/8×W/8, 128 ch x2 self.encoder[5:6](x1) # stage2: H/16×W/16, 256 ch x3 self.encoder[6:](x2) # stage3: H/32×W/32, 512 ch # Decoder從最深層開(kāi)始上采樣 concat u3 self.upconv4(x3) # H/16×W/16, 256 ch u3 torch.cat([u3, x2], dim1) # H/16×W/16, 512 ch u3 self.decoder4(u3) # H/16×W/16, 256 ch u2 self.upconv3(u3) # H/8×W/8, 128 ch u2 torch.cat([u2, x1], dim1) # H/8×W/8, 256 ch u2 self.decoder3(u2) # H/8×W/8, 128 ch u1 self.upconv2(u2) # H/4×W/4, 64 ch u1 torch.cat([u1, x0], dim1) # H/4×W/4, 128 ch u1 self.decoder2(u1) # H/4×W/4, 64 ch u0 self.upconv1(u1) # H/2×W/2, 32 ch # 注意此處不 concat 原圖x因原圖尺寸太大concat 會(huì)顯存爆炸 u0 self.decoder1(u0) # H/2×W/2, 32 ch out self.final_conv(u0) # H/2×W/2, 1 ch return out關(guān)鍵設(shè)計(jì)說(shuō)明_upconv_block使用ConvTranspose2d而非UpsampleConv前者學(xué)習(xí)上采樣權(quán)重能更好恢復(fù) DUT-OMRON 的模糊邊緣后者只是插值無(wú)法學(xué)習(xí)decoder 最后一級(jí)未 concat 原圖因原圖尺寸為H×W而u0為H/2×W/2直接 concat 會(huì)顯存翻倍實(shí)測(cè) batch8 時(shí) OOM故用upconv1將u0上采樣至H×W后再接final_conv平衡精度與顯存所有Conv2d后接BatchNorm2dDUT-OMRON 圖像光照不均BN 能穩(wěn)定各層輸入分布避免某張過(guò)曝圖導(dǎo)致梯度爆炸。2.3 預(yù)處理與增強(qiáng)模塊為什么 RandomScale 必須限定在 0.5–1.5 倍DUT-OMRON 的核心挑戰(zhàn)是“小目標(biāo)大背景”顯著物體常只占圖像 5%–10%如遠(yuǎn)處的行人而背景噪聲紋理、陰影占比超 90%。若用常規(guī)Resize(512,512)小目標(biāo)會(huì)被壓縮至 20×20 像素以下CNN 無(wú)法提取有效特征若用RandomResizedCrop又可能裁掉整個(gè)目標(biāo)。本方案采用RandomScale在transforms.py中實(shí)現(xiàn)其邏輯是先隨機(jī)選一個(gè) scale ratior ∈ [0.5, 1.5]將圖像等比縮放為(int(H*r), int(W*r))再center_crop到目標(biāo)尺寸如 512×512。這樣既保證目標(biāo)不被裁切又通過(guò)多尺度訓(xùn)練讓模型適應(yīng)不同尺寸輸入。以下是RandomScale的完整實(shí)現(xiàn)# transforms.py import random import cv2 import numpy as np class RandomScale: def __init__(self, scale_range(0.5, 1.5), interpolationcv2.INTER_LINEAR): self.scale_range scale_range self.interpolation interpolation def __call__(self, img, mask): h, w img.shape[:2] # 隨機(jī)生成 scale ratio r random.uniform(*self.scale_range) new_h, new_w int(h * r), int(w * r) # 若縮放后尺寸小于目標(biāo)尺寸如 512則先 pad 再 crop if new_h 512 or new_w 512: # 計(jì)算需 pad 的尺寸 pad_h max(0, 512 - new_h) pad_w max(0, 512 - new_w) # 對(duì) img 和 mask 分別 padmodereflect 減少邊界偽影 img np.pad(img, ((pad_h//2, pad_h-pad_h//2), (pad_w//2, pad_w-pad_w//2), (0,0)), modereflect) mask np.pad(mask, ((pad_h//2, pad_h-pad_h//2), (pad_w//2, pad_w-pad_w//2)), modereflect) # 更新尺寸 h, w img.shape[:2] # center_crop 到 512×512 start_h (h - 512) // 2 start_w (w - 512) // 2 img img[start_h:start_h512, start_w:start_w512] mask mask[start_h:start_h512, start_w:start_w512] else: # 縮放后尺寸足夠直接 resize center_crop img cv2.resize(img, (new_w, new_h), interpolationself.interpolation) mask cv2.resize(mask, (new_w, new_h), interpolationcv2.INTER_NEAREST) # center_crop start_h (new_h - 512) // 2 start_w (new_w - 512) // 2 img img[start_h:start_h512, start_w:start_w512] mask mask[start_h:start_h512, start_w:start_w512] return img, mask參數(shù)說(shuō)明scale_range(0.5, 1.5)下限 0.5 是因 DUT-OMRON 最小圖 320×240縮放后至少 160×120經(jīng)center_crop到 512×512 時(shí)需大量 pad但reflectpad 能保持邊緣連續(xù)性上限 1.5 是因最大圖 1920×1080縮放后 2880×1620center_crop可穩(wěn)定截取中心區(qū)域interpolationcv2.INTER_LINEAR用于 imgRGB 連續(xù)值cv2.INTER_NEAREST用于 mask二值離散值避免 mask 插值產(chǎn)生灰度值如 0.3破壞二值性pad_modereflect比constant填 0更自然因 DUT-OMRON 邊界常為漸變天空或地面reflect能模擬真實(shí)延伸。3. 訓(xùn)練與評(píng)估模塊cos 學(xué)習(xí)率衰減與 miou 計(jì)算的工程化實(shí)現(xiàn)訓(xùn)練不是調(diào)個(gè)fit()就完事。DUT-OMRON 的低信噪比特性要求學(xué)習(xí)率策略必須精細(xì)初始 lr 太大模型在噪聲上過(guò)擬合太小收斂慢且易陷局部最優(yōu)。本方案采用cosine annealing余弦退火公式為lr lr_min (lr_max - lr_min) * (1 cos(π * epoch / epochs)) / 2其中l(wèi)r_max0.001,lr_min1e-6,epochs50。該策略讓前 10 輪快速下降損失后 40 輪在低 lr 下精細(xì)調(diào)整權(quán)重最終 miou 穩(wěn)定在 0.72±0.005。評(píng)估模塊的核心是mioumean Intersection over Union但 DUT-OMRON 是二值分割只有 foreground 和 background因此miou實(shí)際等于 foreground iou。以下是trainer.py中calculate_iou的實(shí)現(xiàn)# trainer.py import torch import numpy as np def calculate_iou(pred, target, eps1e-6): pred: (B, 1, H, W) logits, 經(jīng)過(guò) sigmoid 后為概率圖 target: (B, 1, H, W) 二值 mask (0/1) 返回: scalar iou 值 pred torch.sigmoid(pred) 0.5 # 轉(zhuǎn)為 0/1 pred pred.float() target target.float() # 計(jì)算 intersection 和 union intersection (pred * target).sum(dim(1,2,3)) # (B,) union (pred target).sum(dim(1,2,3)) - intersection # (B,) # 避免除零若某樣本 union0全背景iou 定義為 1因無(wú) foreground 可算 iou (intersection eps) / (union eps) iou torch.where(union 0, torch.ones_like(iou), iou) return iou.mean().item() # 返回 batch 平均 iou # 在訓(xùn)練循環(huán)中調(diào)用 for epoch in range(epochs): model.train() for img, mask in train_loader: img, mask img.to(device), mask.to(device) optimizer.zero_grad() pred model(img) loss criterion(pred, mask) loss.backward() optimizer.step() # 每 epoch 計(jì)算驗(yàn)證集 iou model.eval() val_iou 0.0 with torch.no_grad(): for img, mask in val_loader: img, mask img.to(device), mask.to(device) pred model(img) val_iou calculate_iou(pred, mask) val_iou / len(val_loader) print(fEpoch {epoch1}/{epochs}, Val IoU: {val_iou:.4f})關(guān)鍵設(shè)計(jì)說(shuō)明sigmoid 0.5二值化DUT-OMRON 的 mask 是硬標(biāo)簽0/1不用 soft label故預(yù)測(cè)也需硬閾值eps1e-6防止除零當(dāng)某張圖全是背景union0iou無(wú)定義此時(shí)設(shè)為 1因無(wú) foreground 錯(cuò)誤視為完美torch.where(union0, ...)避免nan傳播確保val_iou可靠。實(shí)測(cè)若不用此處理驗(yàn)證集含 5–10 張純背景圖時(shí)val_iou會(huì)周期性出現(xiàn)nan導(dǎo)致早停失效。3.1 訓(xùn)練日志與可視化如何從 run_results 中讀懂模型是否過(guò)擬合項(xiàng)目生成的run_results/目錄包含train_loss.png,val_iou.png,train_log.txt三類(lèi)文件。判斷過(guò)擬合不能只看val_iou是否下降而要看loss gap訓(xùn)練 loss 與驗(yàn)證 loss 的差值和iou variance驗(yàn)證 iou 的波動(dòng)幅度。以下是run_results/train_log.txt的典型片段Epoch 1/50 | Train Loss: 0.2456 | Val IoU: 0.5213 Epoch 2/50 | Train Loss: 0.1892 | Val IoU: 0.5874 ... Epoch 45/50 | Train Loss: 0.0321 | Val IoU: 0.7189 Epoch 46/50 | Train Loss: 0.0298 | Val IoU: 0.7192 Epoch 47/50 | Train Loss: 0.0285 | Val IoU: 0.7185 ← 開(kāi)始微降 Epoch 48/50 | Train Loss: 0.0273 | Val IoU: 0.7178 ← gap 增大 Epoch 49/50 | Train Loss: 0.0262 | Val IoU: 0.7171 Epoch 50/50 | Train Loss: 0.0251 | Val IoU: 0.7165分析邏輯Epoch 45–47Val IoU在 0.7185–0.7192 波動(dòng)Train Loss持續(xù)下降0.0321→0.0285gap 從 0.0321-0.7192 -0.6871 → 0.0285-0.7185 -0.6900負(fù) gap 絕對(duì)值增大說(shuō)明模型在訓(xùn)練集上“學(xué)得太細(xì)”開(kāi)始記憶噪聲Epoch 48–50Val IoU連續(xù)下降 0.0013/epoch且Train Loss下降斜率變緩0.0285→0.0251Δ0.0034表明優(yōu)化已近飽和繼續(xù)訓(xùn)練只會(huì)加劇過(guò)擬合。提示run_results/val_iou.png中若出現(xiàn)“先升后降”的尖峰如 Epoch 42 達(dá) 0.7210之后回落大概率是某張難樣本如強(qiáng)反光物體在該 epoch 被偶然擬合不可信。應(yīng)以連續(xù) 3 epoch 的平均值為準(zhǔn)。3.2 權(quán)重保存策略為什么只存 miou 0.70 的 checkpoint顯存有限時(shí)頻繁保存model.pth會(huì)拖慢訓(xùn)練。本方案設(shè)置硬閾值miou 0.70才保存原因有三一是 DUT-OMRON 的 baseline miou 為 0.65簡(jiǎn)單 U-Net0.70 是質(zhì)變分界線(xiàn)代表模型真正學(xué)會(huì)處理低對(duì)比度二是0.70與最終0.72相差小保存best_model.pth時(shí)只需覆蓋一次三是避免保存大量無(wú)效權(quán)重如 Epoch 10 的 miou0.58無(wú)復(fù)現(xiàn)實(shí)價(jià)值。保存邏輯如下# trainer.py best_iou 0.0 for epoch in range(epochs): # ... 訓(xùn)練循環(huán) ... val_iou evaluate(model, val_loader) if val_iou best_iou and val_iou 0.70: # 雙重條件 best_iou val_iou torch.save({ epoch: epoch, model_state_dict: model.state_dict(), optimizer_state_dict: optimizer.state_dict(), val_iou: val_iou, }, checkpoints/best_model.pth) print(fSaved best model at epoch {epoch1} with IoU {val_iou:.4f})注意checkpoints/目錄需手動(dòng)創(chuàng)建否則torch.save報(bào)錯(cuò)FileNotFoundError。這是新手最常踩的坑——以為代碼會(huì)自動(dòng)建目錄。3.3 避坑訓(xùn)練與推理中最容易翻車(chē)的 5 個(gè)點(diǎn)現(xiàn)象 → 原因 → 解決直擊痛點(diǎn)現(xiàn)象訓(xùn)練 loss 為 nan且從第一個(gè) batch 就開(kāi)始原因transforms.NormalizeByStats計(jì)算的σ為 0所有圖像灰度值相同如全黑圖導(dǎo)致(img - μ) / 0解決在NormalizeByStats.__init__中添加σ max(σ, 1e-6)或預(yù)處理時(shí)用cv2.convertScaleAbs增強(qiáng)對(duì)比度現(xiàn)象驗(yàn)證 iou 恒為 0.0pred全是 0原因final_conv輸出通道數(shù)設(shè)為num_classes1但criterion如 BCEWithLogitsLoss要求pred為 logits未 sigmoid而代碼中calculate_iou對(duì)pred做了sigmoid 0.5若pred初始全負(fù)sigmoid 后全 0.5則pred全 0解決初始化final_conv權(quán)重nn.init.xavier_normal_(self.final_conv.weight)或訓(xùn)練前用pred.mean()檢查輸出范圍現(xiàn)象predict.py推理結(jié)果全白mask 全 1原因推理時(shí)未調(diào)用model.eval()BN 層使用訓(xùn)練時(shí)的 running_mean/var而 DUT-OMRON 測(cè)試圖光照與訓(xùn)練集差異大導(dǎo)致 BN 輸出異常解決predict.py中model.eval()必須放在torch.no_grad()外層且model.train(False)無(wú)效必須用eval()現(xiàn)象inference/下圖片推理后mask 邊緣有黑色鋸齒非平滑過(guò)渡原因predict.py中cv2.resize用cv2.INTER_NEAREST插值但原始預(yù)測(cè)圖尺寸如 512×512與原圖尺寸如 1920×1080不匹配直接 resize 會(huì)拉伸失真解決先cv2.resize(pred_mask, (orig_w, orig_h), interpolationcv2.INTER_NEAREST)再cv2.threshold二值化確保邊緣對(duì)齊原圖現(xiàn)象train.py運(yùn)行報(bào)錯(cuò)KeyError: im050_result.jpg原因dataset.py中candidates列表順序錯(cuò)誤f{name}_result.png在f{name}.png前導(dǎo)致im050.jpg匹配到im050_result.png但實(shí)際 mask 是im050.png解決將candidates改為[f{name}.png, f{name}_result.png, f{name}.jpg]優(yōu)先匹配標(biāo)準(zhǔn)名4. 推理與部署模塊如何讓 predict.py 批量處理任意文件夾predict.py的設(shè)計(jì)目標(biāo)是“扔進(jìn)去一個(gè)文件夾自動(dòng)輸出帶 mask 的結(jié)果圖”而非每次改路徑。它需解決三個(gè)問(wèn)題輸入格式泛化支持 jpg/png、輸出命名規(guī)范不覆蓋原圖、GPU/CPU 自適應(yīng)。以下是核心邏輯# predict.py import os import cv2 import torch import numpy as np from torch.utils.data import Dataset, DataLoader from torchvision import transforms class InferenceDataset(Dataset): def __init__(self, img_dir, transformNone): self.img_dir img_dir self.transform transform # 支持 jpg/png忽略子目錄只讀根目錄 self.img_paths [os.path.join(img_dir, f) for f in os.listdir(img_dir) if f.lower().endswith((.jpg, .jpeg, .png))] def __len__(self): return len(self.img_paths) def __getitem__(self, idx): img_path self.img_paths[idx] img cv2.imread(img_path) img cv2.cvtColor(img, cv2.COLOR_BGR2RGB) if self.transform: img self.transform(img) return img, img_path # 返回原圖路徑用于保存結(jié)果 def main(): # 參數(shù)可直接修改 img_dir inference/ # 輸入文件夾 output_dir inference_results/ # 輸出文件夾 model_path checkpoints/best_model.pth device torch.device(cuda if torch.cuda.is_available() else cpu) # 創(chuàng)建輸出目錄 os.makedirs(output_dir, exist_okTrue) # 定義 transform僅歸一化無(wú)增強(qiáng) transform transforms.Compose([ transforms.ToTensor(), transforms.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]) ]) # 加載模型 model UNetWithResNet34(num_classes1) checkpoint torch.load(model_path, map_locationdevice) model.load_state_dict(checkpoint[model_state_dict]) model.to(device) model.eval() # 推理 dataset InferenceDataset(img_dir, transformtransform) dataloader DataLoader(dataset, batch_size1, shuffleFalse) for img_batch, img_paths in dataloader: img_batch img_batch.to(device) with torch.no_grad(): pred model(img_batch) pred torch.sigmoid(pred) 0.5 pred pred.cpu().numpy().astype(np.uint8) * 255 # 轉(zhuǎn) uint8 # 保存結(jié)果原名 _result for i, img_path in enumerate(img_paths): orig_name os.path.splitext(os.path.basename(img_path))[0] result_path os.path.join(output_dir, f{orig_name}_result.png) # 保存為單通道 PNG非 RGB cv2.imwrite(result_path, pred[i, 0]) # pred[i,0] 是 H×W p a hrefhttps://download.csdn.net/download/qq_44886601/88808947 stylecolor:#ec7500;font-size:14px; 本文還有配套的精品資源點(diǎn)擊獲取 /a img altmenu-r.4af5f7ec.gif srchttps://csdnimg.cn/release/wenkucmsfe/public/img/menu-r.4af5f7ec.gif stylewidth:16px;margin-left:4px;vertical-align:text-bottom;cursor:text; /p
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美人与动性人交a| 一二三四视频在线社区中文字幕| 97中文热色| 性爱欧美五月| 欧美天天拍| 操逼1区| 久久岛国| 香港久久久| 蜜桃在线观看一区二区三区 | 日韩精品永久在线观看| 在线观看亚洲成人精品| 亲子敌伦对白在线播放| 一本久道久久综合狠狠爱一密臀精| 国产盗摄美女如厕大神作品在线观看| 精品少妇一区二区三区免费观看| 五月天婷婷色| 另类一区| 留下AⅤ黄色片| 亚洲av青草久久一区二区| 97se综合| 东京热综合久久一区二区| 四虎影视永久在线观看精品免费网站| 久操| 东北操逼| 五月天AV资源| 一区二区播放| 日韩综合色图| 男人天堂2030| 欧美天天射| 91N综合网| 久久亚洲天堂| 东京热,男人的天堂| 夜夜爽爽夜夜精品视频| 亚州日韩97| 日日干男人的天堂| 麻豆一区在线| 男人的天堂日韩| 熟女91网| 亚洲a色| 免费视频观看60秒| 亚洲婷婷丁香在线| 国产成年精品高清在线观看91| 亚洲性爱成人| 3p国产欧美99热| 亚洲国产婷婷在线播放| 秋霞视频一区二区| 97国产色综合| 1204金沙人妻懂旧版免费| 欧美中文狠| 国产青视频| 九九九九九九九九九五码| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 免费的av网| 丝袜制服字幕在线| 欧美999999| 亚洲乱熟女一区二区| 啊啊啊好大好深| 精品国产乱子伦一区二区三区,精品一 | 国产一区二区二区按摩精品啪视频| 久操国产在线| 日婷婷| 久操网无码在线| 亚州操逼网| 激情第四色| 亚洲 91 在线| 色香伊人| 欧美资源| 国产福利av精彩对白| 久久人妻精品| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 亚洲天天自拍| 欧美日韩另类在线播放| 91蜜桃婷婷狠狠久久综合9色| 久久久久久久一级黄色打同平台| 久久久男人的天堂| 亚洲少妇综合在线播放| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 日韩无码嘿咻黑热久| 青青草精品| 肉丝中文无码高清| 国产精品免费日韩| 强奸少妇AV导航网| 色噜噜日韩精品| 中文字幕天堂在线| 亚洲天堂综合AV| 午夜综合在线| 狠狠操一区二区| 东北毛片| 亚洲 欧美日韩 另类| 亚洲精品久久久久久久久豆丁网| 久久久久久久久女黄| 午夜成人爽爽爽爽A片李冰冰| 可能人人看人人摸| 久久久久久性爱视频| a啊啊啊啊啊啊啊啊一区二区| 无码精品久久久久久亚洲| 婷婷五月天补不补| 中文字幕欧美日本乱码一线二线| 亚洲中文一区二区三区| 亚洲欧美天堂在线| 亚洲不雅视频1区二区| 欧美另类综合久久| 麻豆传媒一区二区在线观看| 内射夫妻三片| 殴美综合色88| 中文?日韩?免费?精品| 色情五月丁香| 中文字幕丰满子伦无码专区在线视频最新 | 日本网色| 少妇久久久免费| 久热精品在线国产| 青青草大香蕉在线视频| 欧美18老人禁| 国产农村妇女精品一二区| 男人天堂资源| 久久久久13| 97操| 日本不卡高清免v欧美日韩在线观看| 人妻少妇精品久久久久久| 亚洲色诱惑| 日本一级不卡一二区| 日韩人妻播放| 亚洲综合网91| 久操九九九九| 草草电影院| 极品白嫩福利在线| 久久久久亚洲av综合波多野制衣| 九九成人精品| 亚洲精美粉嫩嫩泬在线观看| 天天色踪合| 精品性爱一二三区| 欧美激情 亚洲色图| 97人妻碰碰中文无码久热丝袜| 国产精品97超碰| 探花精品视频| 97操| 五毛骚逼极品美女怕怕| 午夜男女爽爽爽在线视频| 淫穴高潮色图| 偷拍网站久久男女男| jizz啪啪| 大香蕉一人| 色蜜AV| 久9re热视频这里只有精品| 91亚州欧美| 日韩乱伦视频| 中文字幕一区二区日韩网| 欧美激情色婷婷花野真衣一区二区| 亚洲导航深夜福利| 夜夜嗨视频| 蜜臀精品1区2区| 熟女字幕| 欧美组图日韩亚洲中文字幕| 嗯嗯啊好大| 久操不卡视频| 免费av在线播放二区| 欧美在线l亚洲| 国产1769在线| 久久的免费性爱视频| 超碰人妻中文在线| 久久,精品一二三| 亚洲国产奇米影视久久| 久久精品区| 无码人妻丰满熟妇奶水区毛片| 国产一区二区精品久久99| 国产超碰97| 亚洲欧美另类少妇精品| WWW黄片COM| 久久久96| 少妇精品| 久久久久久免费电影| 懂色AV一区二区三区| 强奸国产在线| 秋霞怕怕片| 99在线精品观看视频中文| 污到发麻的视频 国产| 国内自拍 日韩激情 99| 免费观看国产不卡av| 久久久久久久久久久久色网| 亚热日本熟女| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 日韩欧美成人性爱在线| 欧美色宗合| AV中文字幕三四五| 尤物视频偷拍免费| 欧美少妇色综合| 夜夜爽77777| 国产亚洲精品玖玖玖在线观看| 91社区伊人| 97爱爱| 国产精品一区在线播放| 欧美在线中M| 青青草在线视频人人想人人上 | 欧美性五月| 性色av一区二区| 人妻日日夜夜精品| 国产精品一区人妻精品阁在线| 夜间福利片1000无码| 午夜a成v人电影| 男人的天堂 在线一区| 狠狠97| 91麻豆一二三区| 一区| 久久网亚洲| 大香蕉欧美国产日韩高潮| 旡码电影特区| 九九无码久久精品视频| 天综合中文| 色综合一区二区三巨| 五月婷丁香| 人人扣人人操| 情色AV电影| 夜夜爽77777| 久久亚洲不卡| JULIA人妻风俗店中出电影| 亚洲老熟妇xxx| 久99| 东北夫妻性偷拍| 人人色人人射人人妻| 高树玛利亚无码流出| 大香蕉天天看妹子| 中文字幕午夜精品久久久| 精品制服美女中文一区二区三区| 国产久9| 色约约一区=区三区| 神马久久免费电影观看| 伊人九九九| 九热中文字幕| 国产乱色国产精品免费视| 草草影院最新网址| 九色视频91| 天天透伊人| 人人超碰在线观看黄| 精品成人女人久久| 94色色电影网| 综合操逼| 激激五月| 亚洲色情在线影视| 成人久久久| 激情小说日韩无码| 九九色精品| 欧美天天谢综合网| 偷拍亚洲情色| A片大香蕉在线| 青娱乐国产精品| 天天综合精品| 中文字幕AV片| 99999精品| 影音先锋视频在线| 色蜜AV| 天综合网欧美| 亚洲av噜噜噜噜噜噜| 国产综合永久精品日韩鬼片| 五月天婷婷色| 亚洲在钱| 欧美日韩午夜精品一区二区三区| 国产 v乱码一区二| 女同性恋一区二区三区精品视频| 激情文学小说一区二区 | 人妻在线臀日韩| 日本黄色天堂| 亚洲欧洲日本精品中文a∨| 午夜精品久久久久久久99蜜桃一| 欧美无圣光在线| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 任我爽在线视频免费观看| 777超碰| 中文字幕久热视频在线| 玖玖97综合 | 欧美日本国产日韩激情视频| 成 人 影视 一区 二区 三区 四区 | 亚洲久草AV色图| 美国日韩黄片| 后入 亚洲 美女 射| 日本国产二线女色| 久久久久亚洲av综合波多野制衣| 久久熟女人| 亚洲区小说| 亚洲无码一二三区| 色娱乐色呦呦夜夜夜夜av| 五十路熟女人妻一区二区在线观看| 精品一区二区成人| 精品人妻一二三四区视频| 国产家庭乱伦表演| 中文字幕人妻色偷偷久久皮| 亚洲欧美日韩制服另类| 日韩在线人妻网站| www.色吧5.com| av优播| 国产精品日日摸夜夜添骚逼| 亚洲熟女国产综合另类| 日本一区二区中文字幕久久| 久操B网| 无码78| 99热| 97干在线| 熟妇一区二区三区| 成人小说视频在线精品欧美| 久操操| 无码外流操逼视频| 尤物视频网 刘玥| 婷婷丁香五月天综合东京热| 内射卯月麻衣| 人人色人人操在线| 欧美日韩亚洲天堂| 欧美黑人猛交春色影视大全| 欧 美 自 拍 偷 拍| 亚洲欧美在线综合| 成人电影一区| www.av家庭乱伦| 第二页中文字幕| 欧美传媒| 伊人在线大香蕉视频久久| 丰满人妻一区二区三区大胸懂色 | 久久久久久电影| 久久大陆| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 午夜精品久久久久久久| 九九精品热| 久久男人天堂| 亚州综合AⅤ| 久久无码电影| 男人久久天堂| 黑人综合色| 操操啪| 亚洲97精品| 啊啊啊好湿久久| 日人妻视频91| 亚洲国产一级黄色视频| 9999九九九久久久| 伊人 俄罗斯 a v| 国产福利在线视频网站| 怡红院久久老司机| 久热精品色情| 伊人久久婷婷| 超碰成人最新最好看| 美女好片色日本| 欧美色图私拍91| 日韩乱伦视频| 国产精品盗摄 偷窥盗摄| 好湿好紧视频| 97视频新免费| 色婷婷婷五月天激情四射| 最新日产中文在线麻豆| 视频不卡中文字幕| 国产深喉| 天综合网欧美| 成人综合视频久久| AV九九| 中文字幕精品一区二区精| 超碰美国| 蜜桃网熟妇| 亚洲诱惑| 欧美一区二区日韩传媒搭讪精品| 亚洲高清在线| 国产九九九九九九九九| 日本一区二区三区午夜观看| 久久这里只有精品9| 9久久美女首页| 精品少妇一区二区三区免费观看| 国产精品久久成人免费| 嗯啊视频免费在线观看| 日本色色色网站免费看不卡| 欧洲一区二区| 91精品操美女| 蜜桃臀一区二区aV| 国产精品久久久久久久久久久久久久久久 | 久久精品免费| 日本亚洲vr欧美不卡高清专区| 欧美日韩性爱操大逼| 被男人添B超爽视频| 欧美天天射| 久久久555| 性生活性生大爱77AV国产| 无码久| 欧洲一区二区三区免费| 7月婷婷综合| 91狠| 爱爱动态试试看6 0秒| 日韩精品.久久精品.AV女优.天美传媒| 91精品啪在线观看国产城中村| 国产一级不卡在线观看| 永久免费发布性爱网| 在线色导航| 人人做天天爱| 一本一道波多野毛片中文在线| 成人免费视瓶| 26uuu偷拍亚洲欧洲综合| 成人av性爱电影在线观看| 青娱乐国产剧情av一区| 国产午夜精品理论片一二三区区| 大香蕉乱级| 国内毛片无遮挡国产| 中文字幕第9页萱萱影音先锋| 中文字幕三四区| 久久久久久9| 黑人综合网| 亚洲美女AV无码| 国产精品不卡av免费在线观看| 肉动漫无遮挡h在线观看| 污色区网站| 少妇高潮流水av免费| 国产精品原创巨作?v网站| 亚洲日本激情| 999国产精品999| julia高潮后不停追击中出| 精精夜夜| 加勒比日本在线| 97jingpin| 欧色网址| 一级岛国大片| 国产美女mm131爽爽爽爽| 爱我干综合| 日韩伦理久 久久 清纯| 男人的天堂2000| 亚洲AV色图| www.色吧5.com| 亚洲系列第一页| 日韩一级片| 这里是精品| 欧美日韩人妻少妇 一区二区三区| 蜜桃网熟妇| 国产老太乱伦一区| 亚洲av影院在线观看| 激情五月综合网| 中文字幕片| 久射吧| 极品综合| 美女超碰978| 亚欧美综合网。| 亚洲资源站| 思思热在线cao| 青青操青娱乐| 黄色成年| 永久免费发布性爱网| 欧美日韩超碰在线| 国产97综合| 不卡中文字幕aⅴ在线| 欧美亚洲中文字幕| 91 国产丝袜在线播放-百度| 国产视频人人网| 中文字幕免费看大片| 91麻豆天美国产| 天堂网亚洲区手机版| 国产亚洲精品农村妇女| 一区黄二区黄| 玖玖久久久| 嫩草影院性色| 亚洲成人妻日韩在线| 亚洲一二三四区| 青娱乐日韩无码| 欧美日韩人妻婷婷一区| 日欧操屄| 久久国色天香香蕉| 亚洲情色视频| 99热超碰| 天美麻豆一区二区三区| 黄色片大香蕉| 欧美日韩精品久久久久东北老熟妇| 亚瑟国产精品久久无码| 亚洲Av噜噜一区二区三区妖精| 亚洲人成在线放东京热| 丁香五月激情五月| 精品久久久久综合无码| 色五月av| 色欲av国内精品久久久久久| 丁香五月天啪啪| 乱人乱色一区二区三区免费| 久综合网| 蜜臀99精品国产高清在线观看| 在线观看中文av字幕| Julia Annxxxxx| 熟妇人妻丰满久久久久久久无码| 亚洲高清无码在线桃色| 五月天加勒比啪| 成人性爱视频在线看| 99抽插| 大香蕉乱级| 国产夜夜操| 超碰免费人妻人人| 欧美一区二区成人一卡| 亚洲欧洲综合av在线| 国产精品视频| 国产女人操逼视频| 综合亚州欧美| 久久欧美1卡2卡3| 欧美Ⅴ性爱| 超碰精品| 久久精品国产96精品亚洲拳交| 麻豆黄站| 日韩乱码Av| 韩国免费播放一级毛片| 超碰97久久观看| 国产一区二区av综合| 欧美少妇高潮视频| 欧美色图天堂网m| 亚洲精品毛片在线观看| 曰本特级特黄特色黄色A级网站高清在线免费看| 欧美午夜视频精品久久| 日本大香蕉综合网| 久久久国产精品人妻丝袜| 久草视频观看视频在线| 99热精品在线观看| 天天综合欧美综合| 色五月首页| 91久久久亚洲| 亚洲国产蜜臀系列在线观看| 夜夜中出国产| 三级三级三级a级全黄三| 加勒比综合在线| 蜜奶av| 精品国产久热在线观看| 亚洲日韩国产精品| 精彩久久中文| 按摩中文字幕| 日韩人妻一区二区精品| 亚洲 欧美 精品专区 极品| 欧美日韩天堂| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 先锋色眉乱伦资源| 色妇综合网| 国产亚洲精品美女| 99re6久热只有精品6在线直播 | 天天操天天日天天干| 又黄又爽在线观看视频| 一起草精品人妻| 91看黄片| 夜夜骑夜夜操| 嗯嗯不要 视频| 91爱做| 9/A片| 九九性爱网| 色黄污美女啪啪啪免费网站| 国产97在线 | 亚洲| 国产偷人妻精品一区二区在线| 婷婷五月花| 中文字幕av亚洲在线| 少妇熟女1区2区3区| 99re视频在线播放青草| 91精品国产乱码| 中国黑人三级片网站上区| 日韩精品区二区三区不卡| 久操视频资源站公开| 久久这里只精品免费福利| 97久久国产| 综合亚洲网| 欧美色图在线视频少妇| 国产女人9999| 精品96久久| 亚洲 欧美 小说| 国产欧美一区二区| 精品国产嫩穴视频| 人人色人人射人人妻| 人妻啊啊人妻啊啊| 97天天爽| 女人妻一区| 四虎影视在线| 96AV久久久| 熟女自慰久久久| 亚洲精品天天影视综合网| 青青操97| 久久曰曰| 美女毛片999| 五十路熟女工口 | 亚洲国产中文字幕| 久久久草草精品| 夜夜做夜夜爽精品视频| 91麻豆天美国产欧美高潮| 日日AAvv| 欧美色图91| 九九九久久久| 久久性爱精品一区| 成人无码影片视频在线| 国产伦乱91| 亚洲性爱高潮影院| 国产a级精品| 乱欲性色| 国产精品农村妇女精品| 999久久久九九九九| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | www.久久久久| 中亚av| 综合 青草 伊久久 影院 综合| 97国产亚洲中文在线| 精吧天堂| 91 丝袜在线播放| 免费观看性欧美一级| 久久久亚洲欧美综合| 日本 欧美 国产一区| 五月丁香啪啪啪| 久久久久久久久久久久久久久乱码 | 国产视频小说| 日韩一卡二卡三卡| 久久久久久久伊人精品| 久久综合九九| 国产美女精品| 少妇九九九九| 精品久久久久久无码| 久久亚洲精品成人av| 美女黄色一级A视频| 人妻熟女一区二区三区在线| 欧美成97爱| 日韩精品在线视频在线观看| 无码国产精品午夜不卡(| 人妻精品综合中文字幕在线 | 免费男人的天堂| av激情亚洲五月天| 日本一级性爱| 天堂国产AV| 国产精品日日摸天天碰| 欧美一二三级精品在线| 啊啊啊啊一区| 久久久久九九九九九| 一区二区三区免费视频入口| 大香蕉乱伦视频网| 艳尻美人妻| 日韩色| 欧美人人AAA| 99抽插| 综合久久99| 久久欧美性爱视频| 久久久久78| 亚洲影院成人| 亚洲色偷偷色噜噜狠狠99网| 亚欧操逼片在线观看| 国产一级高跟丝袜| 一区中文字幕二区日韩| 国产精品乱码久久久久| 秋霞视频一区二区| 四虎免费视频| 免费超碰97在线观看| 夜夜操夜夜爽夜夜高潮| 青草成人免费视频一COm| 凸凹视频在线观看| 9ⅰ久久久天天| 天天色,天天干,天天干| 亚洲欧洲色情高清| 狠狠操官网| 秋霞男人网| 国产在线综合福利网站| 精品久久久av| 四虎精品永久在线播放| 亚洲欧美一区二区三区在钱蜜桃| 强乱老妇中文字幕| 狠狠色综合网| 欧美劲爆第一页| 色999亚洲人成色| 91中文字幕在线观看| 日本污ww视频网站| 无码二级三级| 日本91白丝| 亚洲精品久久久久久久蜜桃臀| 91丨九色丨东北熟女| 性欧美91| 黄页大片在线观看| 亚洲最新Av| caopeng97人妻| 99久久久无码精品国产人| 日本人妻天堂网站在线播放| 欧美性生活免费网| 九九人妻| www五月| 超碰在线一区二区| 国产自产91区13区| 日本性爰一道本| 99精品丰满人妻无码| 精品久久人妻成人网| 四虎影视国产精品| av中文字幕在线熟女| 欧美高清18A片| 99re99视频在线免费观看| 少妇高潮特黄A片| 色97欧美| 蜜臀亚洲中文| 无色无码| 蜜臀中文字幕| 亚洲精品一卡二卡三卡福利视频网站| 亚洲一本大道中文字幕无码在线| 这里都是精品| 性色高清在线| 欧美黄色片AAAAA| 屁股久久久久久| 久久亚洲熟妇在线视频| 精品黑人一区二区| 蜜臀久久99精品久久久电影| AV在线资源| 日本三级日本三级99| 少妇综合| 久久9免费视频| 久久精品亚洲婷婷| 三级三级三级a级全黄三| 青草精品视频-日本久久久久网站| 福利风月五月天影院| 亚洲强奸乱伦影视网| 亚洲成人贴图| 91欧美性| 色狠狠综合噜一二三区| 96久久精品一二三区色欲| 91日韩| 97久久天天综合色天天综合色电影| 五月天综合| 性爱免费视频成人| 国产一级高清免费观看| 大屁股熟女一区二区三区| 内射日韩大臀美女| 九色PORNY9l原创自拍| 熟妇的味道HD中文字幕| 熟妇色99| 青青草原成人| 久偷拍| 亚洲天堂性爱| 激情五月天色色网| 高清成年美女黄网站免费大全 | 人人操人人摸人人看人人干| 蜜臀中文字幕| 久久老熟女| 日韩av情韩国爱禁区av一区二区| 综合网久久| 欧美制服网站美腿丝袜| 中文字幕jul-617人妻熟女| 国产欧美精选自拍一区| 久久久久久亚洲Av无码精| 97视频在线观看免费高清| 亚州图片第一页| 亚洲一本色码中文字幕| 色女网日韩| A V少妇特黄三级| 99久久婷婷| 日韩一级片在线看| 亚洲人妻中文高清| 噜噜噜在线视频| 无码高清少妇久久| 日韩性爱一级片| 人妻夜夜爽天天爽三区麻豆AV网站| 亚洲中文字幕av| 天天日熟妇| 亚洲日韩乱码中文无码蜜桃臀网站| 顶级少妇BT天堂| 色综合中文字幕不卡| 日本曲间由美性生活片| 青娱乐av在线| 中文字幕视频一区视频二区| 日本一区二区电影网站| 免費人妻夜夜爽天天爽爽一区| 蜜臀久久99精品久久久久久久久| 六月婷婷五月丁香| 狠狠干狠狠干| 欧美少妇大量自拍视频在线观看| 999狠狠综合| 99999久久久久9国产精品| 亚洲国产欧美日韩人妻日中文| 欧美另类色图片| av优播| 极品粉嫩一区二区| 99在线观看无大码| 亚洲999综合| 亚洲极品| 日韩精品人妻一区二区| 欧美国产精品久久九九| 人人玩人人添人人澡免费| 日韩熟女乱伦中出| 国产成人免费观看在线视频| 国产av美女被艹的乱叫| 丝袜大香蕉| 伊人综合色网| 上床不卡网站| 后入式999| 色九久| 亚洲精品国产无码高清| 秋霞影音一区二区三区| 激情婷婷| 青娱乐蜜桃臀AV色婷| 人妻熟女一区二区| 亚洲一区二区三区婷婷| 成人26uuu| 免费在线观看国内色片网站网址 | 久热这里只有精品9| 97精品视频| 国产精品 久久久精品一牛| 天天干天天狼在线视频| 日韩欧美女优电影| 伦在线97| 免费视频一二三区| 秋霞成人一级在线观看| 九九久久综合| 久久精品视频在线观看| 国产乱不卡| 自拍内地三级在线观看| 婷婷五月天激情网| 91在线限制级| 蜜臀中文无码午夜| 成人性爱AV在线免费观看| 无码伊人久久大杳蕉中文无码| 高清不卡一二三区视频......| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 97精品国产精品免费观看| 久久精品区| 久久av一级av少妇av高潮| 男人的天堂不卡一区二区 | 91人精品妻入口| 丁香五月性爱| 亭亭在线资源| 蜜臀AV秘一区翔田千里| 色99色| 9 1超碰九色| 日韩性爱视频在线免费观看| 久久超碰爱| 欧美在线|亚洲| 黄片国产精品一区二区| 久操B网| 72av视频| 岛国成人av在线播放网址| 亚洲一本色码中文字幕| 免费成人自拍视频在线| 激情五月婷婷| 国产精品一区在线播放| 国产成人亚洲精品无码古代早漏男| 色综合中文字幕不卡| 亚洲a色| 日韩性爱高清免费视频| 亚洲高清少妇| 金莲网址| 亚洲91网站| 嫩草美女久久| 91九九九逼| 人人搞人人插人人操| 超碰资源亚洲97| 欧美激情精品| 天天爽天天爽| 国产精品久久久久久久久久久久久久| 亚洲精品国产精品乱码不99| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 国产视频大全| 美女视频尤物网在线看| 青青草伊人久久| 黑人精品一区二区在线播放| 蜜臀AV一区二区三区激情综合| 亚洲欧美色图片| 久久精品人体| 婷婷色综合欧美日韩| 精品视频123区小说区| 久久久久亚洲Av无码专区老牛影视 | 国产亚卅97| 亚洲精品乱码线路中文字幕| 99热导航| 99性爱在线观看| 国产AV人人夜夜澡人人爽麻豆| 国产家庭乱伦网址| 日韩精品人妻中文字幕不卡乱码| 91在线无码精品秘 软件| 天天性射网| 婷婷五月天成人网| 欧美色图亚洲激情| 午夜性| 秋霞成人一级在线观看| 97超色| 这里只有精品视频在线| 久久大黄片| 青青草啪啪网| 很很热性爱视频| 九九热av| 久久综合精品一区二区三区| 国产无码高清操逼视频| 蜜桃狠狠色伊人亚洲综合 | 人妻密肉在线观看| 脫衣舞一区二区三区| 日韩无码服务区| 人妻天堂综合网| 色综合久久av| 骚货操死你| 一区麻豆 高清中文字幕| 白天啪啪晚上啪啪视频| 亚州高清AV| 欧洲乱码一区二区| 激情啪啪拍91| 亚洲欧美人妻| 97精品久久久久中文字幕| 2020国产精品| 亚洲97成人在线观看| AV色五月天| 夜夜肏2021| 免费亚洲黄色视频在线观看| 加勒比aⅴ| 久久久中文版| 婷婷丁香五月综合| 国产成人无码a| 亚洲色人阁| 久久久久大香青草精品综合| 97五月天| 91人妻素女| 亚洲中文字幕熟女| 熟妇一区,二区,三区。| 日本天堂网| 丁香九月激情| 东北丰满熟女国产一区| 神马麻豆福利院| 久久伦理视频久久大香蕉视频| 91亚洲黑人| 热99这里只有精品| 99视频这有这里有精品| 欧美—性—交—色| 9长久久精品| 亚洲 中文 女同| 一区二区三区视频| 国产精品宅男免费| 无码一区免费在线不卡| 欧美成人精品一区| 久久久精品中文字幕麻豆| 精品人妻二区三区| 中文字幕五区| 去干网最新版| 色噜噜精品一区二区三| 麻豆综合一区av| 亚洲自拍97| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 深夜激情| 日本孕妇孕交| 91挑色欧美| 精品亚洲俞拍视频一区| 加勒比在线视频| 91美女中出| 激情丁香婷婷| 爽 好舒服 无码刺激久久| 18禁中文字幕| 精品中文字幕第一页| 亚洲欧洲无码bt精品合集| 亚洲熟女综合一区二区| 好涩综合| 外国91| 蜜臀AV午夜精品久| 老妇女91| 熟女人妻精品一区二区视频| 另类小说欧美激情校园春色| 在线看污网站| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 亚洲第一页第二页激情| 人人人干干人人干| 熟女探花啪啪| 日本中文熟女视频| 免费国产电影一区二区| 亚洲国产成人精品久久久国产成人一区二区| 亚洲情色 欧美| 九九九九9999| 97香蕉网| 激情天天视频| 亚洲啪AⅤ永久无码| 两女互慰AV高潮喷水在线观看| 男人女人18禁片免费看网站| 美国日韩黄片| 欧美丰满少妇xx高潮| 国产一区二区a毛片| 亚洲欧美日韩精品久久久一区二区| 国产精品久久久久久久黄无码 | 日日嗷| 亚洲熟女诱惑| 久久久新亚洲AV| 欧美一级美片在线观看免费| 成人性爱av| 日逼国产| 涩涩五月天| 亚洲s在线观看| 怡红院成人av| 欧美日韩国产色五月综合在线| 好湿好紧视频| 97亚洲精品| 国内亚洲精彩视频在线| 国产成人无码高清| 色老汉玖玖爱| 欧美伦乱爱| 亚州精品人妻一二三区| 好爽视频在线观看视频| 亚洲欧洲自拍图片专区满春格| 日本高清_区二区三区| 超碰在线人妻| 91在线综合网| 91碰碰| 加勒比综合网| 国产操偷| 九九热九九热| 九七毛片九九毛片| 人妻精品一区二区| 亚洲一区二区三区播放在线| 久久久婷婷婷| 午夜精品久久久久久久99热影院| 乱色老一区二区三区的观看方式| 蜜臀久久99精品久久久久久婷婷| 欧美人人曰人人操人人射射| 99热99色| 黄色不卡视频| 校园春色AV天堂| 人人妻人射| 国产黄a三级三级三级av在线看 | 日韩AV无码中文一区二区| 日本三级韩三级99久久| 国产视频小说| 日韩一级欧美一级国产一级台湾| 亚洲欧洲日韩国产自在线| 色色色色色色色色色色色色色色综合| 无码人妻系列少妇| 中国AAAAAA黄色片| 五月综合久久| 欧美国产操逼| 人人妻碰人人免费| 久久婷婷六月综合| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 色狠狠综合噜一二三区| 少妇精品| 国产激情av女片自拍| 91亚州欧美| 思思热一热婷婷热一热| 欧成人在线| 日韩无码黄色片| 婷婷色香| 偷拍精品一区二区三区| 在线不卡视频| 国产av色网| 韩国成人精品久久久免费看| 2025亚洲男人天堂| 国产农村妇女精品| 日韩高潮一区| 欧美图片校园春色| 思思性爱| 91少妇通奸网站| 思思热免费在线视频| 丰满搜索结果 -第18页- 久久高清无码 | 免费家庭乱伦视频| 97蜜桃综合| 欧美少妇色图| 992这里有精品| 99国产女人| 五月天精品| 久久久久久十| 九九Av| 97综合激情| 五月丁香在线| 9丨久久九九九| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 天美传媒在线一区| 久久黄片国产一区二区| 玖玖爱综合| 一级黄色性爱裸体视频| 国产视频一区二区三区久久亚洲天堂| av中亚| 99999精品视频| av一区二区三区不卡| 成人老鸭窝人人在线视频| 亚洲电影中字一区二区| 久久99手机免费视频| 亚欧免费| 日韩精品国模| 人人透人人操| 黄页av| 国产精品久久发布| 91成人高清在线观看| 精品九九淫乱男| www…国产操逼| 精品九区| 欧美性爱一内片一区二区三区| 欧美性爱精品七区| 中文字幕日韩人妻视频一区二区三区交换夫妻 | 久久精品国产精品亚洲艾通辽熟妇 | 夜色91| 青青草精品| 国产操逼逼网| 亚洲少妇视频| 日韩97视频!在线| 高清一区AV无码| 国产黑白丝在线| 国产高清1234区| 国产精品点击进入在线影院| 亚洲中亚日激情视频| 九九在线精品| 国产精品日韩在线一区| 日韩中文字幕宗合在线| 九九综合| 国产乱伦亚洲| 一本色道熟妇| 婷婷激情一区二区三区俺也去| 国模艳艳啪啪一区| 嗯嗯不要视频| 人妻无码久久一区二区三区免费| www.色婷婷色综合| 精品一区二区三区国产 | 99热导航| 熟女精品日韩一区二区三区| 97久久超碰| 亚洲色图 综合| 920日本午夜免费| 欧美一级久久久久久久大片动画| 九九九国产精品| 成人熟女视频一区二区三区| 亚洲欧美国产其他二区| 亚洲欧美国产va在线播放频| 国产成人啪一区二区| 老熟女91av| 91在线无码精品秘 软件| 人人操 欧美| 99热在线只有精品| 色天堂综合| 69精品少妇一区二区三区蜜桃| 亚洲日韩成人性爱视频| 欧美熟爽综合| 欧美成人一区二区三区在线播放| 国产91 丝袜在线播放00-百度| 久干网| 日韩另类色图| 久久鲁干| 午夜乱轮操逼视频免费看| 中文字幕1区2区| 美女黄码视频午夜| 澳门成人网站久国产日韩| 日韩性爱高清免费视频| 久久久久人妻二区精品叶可怜| 色综合天天爱去电影网| 91美女国产在线| 久操 高清| 中文字幕二区日韩天堂| 国产免费永久精品无码| 能在线播放的国产三级| 精品人成视频在线观看| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 综合欧美日韩在线| 97爱亚洲综合色| 97在线国产精品| 天天天天干| 成人av动漫在线观看| 操逼视频亚洲| 激情网色| 亚洲欧洲综合av在线| 日韩免费簧片| 日本影视久久免费| 蜜臀久久99精品久久久久久无删减 | 色色99| 97自拍视频在线| 国内毛片免费h片在线| 午夜精品久久久久久久99蜜桃一| 老司机老司机午夜影院| AV不卡在线| 日本高清_区二区三区| 国产精品一区午夜福利| 神马久久久久久伦理片| 2019久久久久久久久福利| 日韩国产欧美伦理在线| 啪啪AV导航| 看一级特黄a大一片| 在线观看AV片| 亚洲成A∨人影院在线欢看| 免费在线观看国内色片网站网址 | 91精品国| 玖玖爱视频网站| 熟妇色99| 丝袜美腿亚洲| 性色AV网站| 国产美女销魂在线观看不卡| 日韩中文字幕国产| 乱论91| 最新国产精品久久精品| 狠狠操狠狠爱| 超碰97起碰| 久草视频制服诱惑|