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

ARTICLE DETAIL

資訊詳情

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

超聲乳腺病灶分割數(shù)據(jù)集實(shí)戰(zhàn):從預(yù)處理到U-Net訓(xùn)練與避坑

超聲乳腺病灶分割數(shù)據(jù)集實(shí)戰(zhàn):從預(yù)處理到U-Net訓(xùn)練與避坑 簡(jiǎn)介一套面向醫(yī)學(xué)影像分割任務(wù)的數(shù)據(jù)集聚焦超聲乳腺良性區(qū)域分割適用于計(jì)算機(jī)視覺與醫(yī)學(xué)圖像處理方向的學(xué)習(xí)者、研究者既可作為入門分割模型訓(xùn)練與驗(yàn)證的基礎(chǔ)數(shù)據(jù)也適合用來做算法對(duì)比與效果評(píng)估。壓縮包內(nèi)共877個(gè)文件其中875個(gè)PNG格式文件圖像與掩碼、1個(gè)txt類別文件和1個(gè)Python可視化腳本整體大小約88.01MB目前已有958人下載學(xué)習(xí)。數(shù)據(jù)包含訓(xùn)練集與測(cè)試集訓(xùn)練集約300張圖像及對(duì)應(yīng)mask測(cè)試集約130張按images與masks目錄組織可直接接入常見分割流程數(shù)據(jù)采用背景、良性乳腺兩類標(biāo)注classes文件提供類別說明。可視化腳本可隨機(jī)抽取一張?jiān)紙D、GT圖及兩者疊加效果并保存便于快速直觀檢查標(biāo)注質(zhì)量與模型輸出。整體來看數(shù)據(jù)集與可視化腳本共同為乳腺超聲圖像分割相關(guān)的算法復(fù)現(xiàn)、論文實(shí)驗(yàn)或課程設(shè)計(jì)提供了扎實(shí)的數(shù)據(jù)與工具支撐適合入門至中高級(jí)實(shí)踐者使用。1. 醫(yī)學(xué)圖像分割數(shù)據(jù)集一份超聲乳腺良性病灶數(shù)據(jù)到底能幫你做什么拿到一份帶訓(xùn)練集、測(cè)試集和標(biāo)簽的超聲乳腺良性圖像分割數(shù)據(jù)集第一件事不是急著跑模型而是先搞清楚它和自然圖像分割數(shù)據(jù)有什么不同。B超圖像噪聲大、邊界模糊良性病灶與周圍組織灰度接近分割任務(wù)比純檢測(cè)更依賴像素級(jí)標(biāo)注質(zhì)量。接下來我會(huì)從數(shù)據(jù)集結(jié)構(gòu)、標(biāo)簽格式、訓(xùn)練/測(cè)試劃分講到最常用的 U-Net 落地腳本再列出真實(shí)使用中踩過的五個(gè)坑最后給一套可以復(fù)現(xiàn)的驗(yàn)證套路。這套流程適合剛?cè)胧轴t(yī)學(xué)圖像分割的研究生、算法工程師也適合想拿公開數(shù)據(jù)集驗(yàn)證預(yù)處理和訓(xùn)練管線的從業(yè)者。2. 超聲乳腺良性分割數(shù)據(jù)集的目錄與標(biāo)簽?zāi)玫绞窒茸鋈履玫揭粋€(gè)醫(yī)學(xué)圖像分割數(shù)據(jù)集尤其是超聲影像數(shù)據(jù)直接開訓(xùn)是翻車高發(fā)區(qū)。超聲圖像不像CT或MRI那樣有標(biāo)準(zhǔn)DICOM頭信息公開數(shù)據(jù)集的目錄命名、掩碼格式甚至像素值定義都可能不同。我的習(xí)慣是先做三件事確認(rèn)訓(xùn)練集和測(cè)試集是否完全分開確認(rèn)標(biāo)簽是掩碼還是多邊形坐標(biāo)確認(rèn)圖像和標(biāo)簽?zāi)芊褚灰粚?duì)應(yīng)。這三件事決定了后面的預(yù)處理代碼怎么寫也決定了評(píng)測(cè)分?jǐn)?shù)是否可信。2.1 訓(xùn)練集和測(cè)試集為什么必須分開數(shù)據(jù)劃分的底層邏輯分割模型的目標(biāo)是學(xué)會(huì)“看”病灶區(qū)域而不是“認(rèn)出”某張?zhí)囟▓D片。如果訓(xùn)練集和測(cè)試集存在重疊模型在測(cè)試時(shí)直接匹配文件名或像素模板Dice會(huì)虛高到不真實(shí)。對(duì)于超聲乳腺數(shù)據(jù)集這個(gè)問題尤其隱蔽同一患者的圖像可能連文件名都不同但病灶區(qū)域來自同一次掃描背景紋理幾乎一樣。按文件名查重只是第一道防線按患者ID查重才是關(guān)鍵。如果數(shù)據(jù)集沒有提供患者ID也可以通過文件名中的case編號(hào)或病人編號(hào)推斷。下面這段腳本會(huì)掃描訓(xùn)練集和測(cè)試集的圖像文件名輸出重合列表from pathlib import Path train_img_dir Path(data/train/images) test_img_dir Path(data/test/images) train_names {p.name for p in train_img_dir.glob(*.png)} test_names {p.name for p in test_img_dir.glob(*.png)} overlap train_names test_names print(train count:, len(train_names)) print(test count:, len(test_names)) print(overlap count:, len(overlap)) for name in sorted(overlap)[:10]: print(overlap:, name)這段代碼用set求交集train_names和test_names分別是兩個(gè)目錄下的文件集合。輸出重合數(shù)量后即使沒有重合也要再按文件名前綴分組檢查比如文件名是case_001_frame_01.png那么所有case_001開頭的圖像應(yīng)該只出現(xiàn)在一個(gè)集合里。如果同一病例的幀散落在兩邊就要手動(dòng)調(diào)整劃分或者改用后面第5章會(huì)講的按患者分折交叉驗(yàn)證。再補(bǔ)一段按患者ID檢查的代碼import re def patient_id(filename): match re.match(r(case[_-]?\d), filename) return match.group(1) if match else filename train_patients {patient_id(name) for name in train_names} test_patients {patient_id(name) for name in test_names} print(patients in both sets:, train_patients test_patients)這里用正則case[_-]?\d提取病例號(hào)。實(shí)際命名可能不是這個(gè)模式需要先print幾個(gè)文件名看一眼再寫正則。注意如果提取不出來寧可手動(dòng)生成一個(gè)patient_id映射表也不要跳過這一步。對(duì)醫(yī)學(xué)圖像分割數(shù)據(jù)集而言按患者劃分比按圖像劃分更能反映模型在真實(shí)新病人上的表現(xiàn)。2.2 標(biāo)簽格式識(shí)別掩碼是 PNG、JSON 還是 NIfTI決定預(yù)處理怎么寫標(biāo)題里的“標(biāo)簽”兩個(gè)字看著簡(jiǎn)單落地時(shí)差異很大。超聲乳腺分割數(shù)據(jù)集常見三種標(biāo)簽格式二值PNG掩碼、JSON多邊形坐標(biāo)、NIfTI體數(shù)據(jù)。PNG掩碼可以直接用OpenCV/PIL讀取JSON需要把邊界點(diǎn)填充成掩碼NIfTI需要處理放射學(xué)坐標(biāo)方向。拿到數(shù)據(jù)集后先用一段腳本統(tǒng)計(jì)標(biāo)簽?zāi)夸浀臄U(kuò)展名避免用錯(cuò)解析器。from pathlib import Path from collections import Counter label_dir Path(data/train/labels) ext_counter Counter(p.suffix.lower() for p in label_dir.iterdir() if p.is_file()) print(ext_counter) for p in sorted(label_dir.glob(*))[:5]: print(p.name)這段腳本用Counter統(tǒng)計(jì)標(biāo)簽?zāi)夸浝锼形募缶Y能立刻看出是.png還是.npy還是.nii.gz。注意.nii.gz的實(shí)際文件名后綴是.gz如果直接統(tǒng)計(jì).suffix會(huì)得到.gz所以最好用p.name.endswith((.nii.gz,))或先用.with_suffix()再判斷。打印前5個(gè)文件名稱是為了確認(rèn)命名規(guī)律給后面的文件名對(duì)齊做準(zhǔn)備。如果標(biāo)簽是PNG下一步檢查掩碼的像素值。很多數(shù)據(jù)集的背景是0前景是255但也有用1表示前景的。訓(xùn)練時(shí)如果直接把255當(dāng)成類別索引會(huì)把一個(gè)前景像素拆成兩個(gè)類別。讀掩碼后先打印唯一值import cv2 import numpy as np mask cv2.imread(data/train/labels/case_001.png, cv2.IMREAD_GRAYSCALE) print(mask shape:, mask.shape) print(unique values:, np.unique(mask))這里用cv2.imread的IMREAD_GRAYSCALE強(qiáng)制按灰度讀避免三通道干擾。如果輸出只有[0 255]訓(xùn)練時(shí)要除255再當(dāng)成背景/前景如果輸出是[0 1]直接轉(zhuǎn)long類型即可。如果還有中間值如128說明掩碼可能帶邊界標(biāo)注或類別權(quán)重要回到數(shù)據(jù)集說明確認(rèn)。超聲乳腺良性分割一般只需要背景和病灶兩類出現(xiàn)128時(shí)要小心處理。如果標(biāo)簽是JSON常見結(jié)構(gòu)是{filename: ..., regions: [{shape_attributes: {points: [...]}}]}。這種情況不能直接送進(jìn)模型要先做一次離線轉(zhuǎn)換把多邊形填充成掩碼import json import cv2 import numpy as np with open(annotation.json) as f: ann json.load(f) mask np.zeros((height, width), dtypenp.uint8) for region in ann.get(regions, []): points region[shape_attributes][points] pts np.array(points, dtypenp.int32).reshape(-1, 1, 2) cv2.fillPoly(mask, [pts], 255)這段代碼用cv2.fillPoly把多邊形頂點(diǎn)填充成白色掩碼。height和width必須與原始B超圖像一致通常可以根據(jù)圖像尺寸獲取。轉(zhuǎn)換后的掩碼要和原始圖像放在同一個(gè)目錄層級(jí)方便Dataset類讀取。2.3 目錄組織檢查清單用一段腳本驗(yàn)證文件名、尺寸和類別在寫訓(xùn)練腳本前我會(huì)先用一個(gè)檢查腳本把所有潛在問題都暴露出來。你需要確認(rèn)四點(diǎn)圖像和標(biāo)簽文件一一對(duì)應(yīng)、圖像和標(biāo)簽尺寸一致、掩碼類別只有前景和背景、訓(xùn)練集和測(cè)試集沒有文件重合。下面這段腳本會(huì)遍歷圖像目錄對(duì)每張圖找到同名標(biāo)簽并檢查 shapefrom pathlib import Path import cv2 import numpy as np img_dir Path(data/train/images) mask_dir Path(data/train/labels) img_files sorted(img_dir.glob(*.png)) mask_files sorted(mask_dir.glob(*.png)) print(images:, len(img_files), masks:, len(mask_files)) for img_path in img_files: mask_path mask_dir / img_path.name if not mask_path.exists(): print(missing mask:, img_path.name) continue img cv2.imread(str(img_path), cv2.IMREAD_GRAYSCALE) mask cv2.imread(str(mask_path), cv2.IMREAD_GRAYSCALE) if img.shape ! mask.shape: print(shape mismatch:, img_path.name, img.shape, mask.shape)這組代碼用同名配對(duì)方式檢查img_files按字典序排序后再通過mask_dir / img_path.name構(gòu)造掩碼路徑。這樣不會(huì)因?yàn)榕判蚍绞讲煌霈F(xiàn)錯(cuò)位。如果打印出missing mask或shape mismatch需要先用離線腳本修復(fù)數(shù)據(jù)而不是在訓(xùn)練時(shí)靠報(bào)錯(cuò)去猜。檢查結(jié)果可以用下面這張表記錄檢查項(xiàng)期望值失敗動(dòng)作圖像數(shù)量與掩碼數(shù)量完全一致補(bǔ)齊缺失文件或重命名圖像和掩碼尺寸每個(gè)樣本 pair 相等先統(tǒng)一裁剪/縮放再入 train掩碼唯一值0 和 255 或 0 和 1訓(xùn)練前歸一化到類別索引訓(xùn)練/測(cè)試文件交集無按患者ID重新劃分這張表是我在實(shí)際處理B超數(shù)據(jù)集時(shí)的檢查模板。超聲乳腺圖像四周通常有大片黑色背景如果發(fā)現(xiàn)圖像尺寸不統(tǒng)一不要盲目resize先用固定比例中心裁剪去掉黑邊再用cv2.resize統(tǒng)一。掩碼尺寸不一樣時(shí)更危險(xiǎn)說明標(biāo)注和原圖可能不是從同一個(gè)預(yù)處理流程出來的需要回到原始數(shù)據(jù)確認(rèn)。3. 用這份數(shù)據(jù)集跑通 U-Net預(yù)處理、訓(xùn)練腳本與參數(shù)選擇把目錄和標(biāo)簽檢查做完就可以進(jìn)入正題了。醫(yī)學(xué)圖像分割數(shù)據(jù)集最常見的落地路徑是用 U-Net 結(jié)構(gòu)訓(xùn)練自己的數(shù)據(jù)集。這里我會(huì)給一個(gè)最小可用流程灰度圖預(yù)處理、圖像與標(biāo)簽對(duì)齊、訓(xùn)練循環(huán)、曲線解讀。超聲乳腺良性病灶本身邊界偏模糊模型不需要特別復(fù)雜先跑通基線比換大模型更重要。3.1 從 B 超圖像到模型輸入灰度圖歸一化與裁剪超聲圖像通常不是標(biāo)準(zhǔn)照片而是灰度強(qiáng)度圖。直接套用 ImageNet 的三通道均值和標(biāo)準(zhǔn)差沒有意義常見做法是對(duì)整張圖做最大最小值歸一化或者除以255。更穩(wěn)的做法是先統(tǒng)計(jì)數(shù)據(jù)集的灰度分布把均值附近的范圍映射到0-1而不是讓個(gè)別高亮偽影主導(dǎo)整個(gè)輸入。另一個(gè)重要的預(yù)處理是裁剪。B超圖像四周經(jīng)常有設(shè)備信息、刻度尺、純黑邊框這些區(qū)域不參與診斷卻會(huì)讓模型在前期把注意力放在背景結(jié)構(gòu)上。我一般用閾值法先找到超聲扇形區(qū)域再做歸一化和縮放。下面這段函數(shù)展示了一個(gè)可復(fù)用的預(yù)處理def preprocess_image(image_path, target_size(256, 256)): img cv2.imread(image_path, cv2.IMREAD_GRAYSCALE) img img.astype(np.float32) # 去掉四周黑色背景 non_bg img 5 coords np.argwhere(non_bg) y0, x0 coords.min(axis0) y1, x1 coords.max(axis0) 1 img img[y0:y1, x0:x1] # 歸一化到 0~1 img (img - img.min()) / (img.max() - img.min() 1e-6) img cv2.resize(img, target_size, interpolationcv2.INTER_CUBIC) return imgnon_bg img 5的5是灰度閾值用來區(qū)分超聲回聲區(qū)和純黑背景。如果圖像整體很暗可以降到2如果包含強(qiáng)噪聲點(diǎn)可以提到10。np.argwhere得到所有非背景像素坐標(biāo)取最小和最大值得到裁剪框。歸一化時(shí)用img.max() - img.min()做分母加1e-6防止全黑圖除零。最后 resize 到256x256這是一個(gè)速度和精度平衡的尺寸如果顯存夠大用512x512能讓邊界更清楚。標(biāo)簽掩碼要執(zhí)行同樣的裁剪和resize但插值方法必須改成最近鄰否則會(huì)引入不屬于任何一類的中間灰度值def preprocess_mask(mask_path, target_size(256, 256)): mask cv2.imread(mask_path, cv2.IMREAD_GRAYSCALE) # 使用同一個(gè)裁剪框這里簡(jiǎn)化為直接 resize mask cv2.resize(mask, target_size, interpolationcv2.INTER_NEAREST) mask (mask 127).astype(np.int64) return mask注意這里的裁剪框要和圖像預(yù)處理完全一致。實(shí)際代碼里我通常把裁剪坐標(biāo)從preprocess_image返回再傳給preprocess_mask避免各自算一遍導(dǎo)致錯(cuò)位。3.2 標(biāo)簽讀取與數(shù)據(jù)對(duì)齊防止圖像和掩碼錯(cuò)位的檢查點(diǎn)很多剛開始用醫(yī)學(xué)圖像分割數(shù)據(jù)集的人會(huì)在 Dataset 類里用os.listdir分別讀圖像和掩碼再按下標(biāo)訪問。這是最容易錯(cuò)位的寫法因?yàn)閮蓚€(gè)目錄的排序結(jié)果可能不一樣。更穩(wěn)的做法是只遍歷圖像目錄然后用圖像的文件名拼接掩碼路徑。下面是一個(gè)標(biāo)準(zhǔn) PyTorch Dataset 寫法from torch.utils.data import Dataset from pathlib import Path import cv2 import torch class UltrasoundDataset(Dataset): def __init__(self, image_dir, mask_dir, target_size(256, 256)): self.image_paths sorted(Path(image_dir).glob(*.png)) self.mask_dir Path(mask_dir) self.target_size target_size for p in self.image_paths: assert (self.mask_dir / p.name).exists(), fmissing {p.name} def __len__(self): return len(self.image_paths) def __getitem__(self, idx): image_path self.image_paths[idx] mask_path self.mask_dir / image_path.name image preprocess_image(str(image_path), self.target_size) mask preprocess_mask(str(mask_path), self.target_size) image_tensor torch.from_numpy(image).unsqueeze(0).float() mask_tensor torch.from_numpy(mask).long() return image_tensor, mask_tensorself.image_paths使用sorted(Path.glob(*.png))掩碼路徑直接用同名拼接。assert在初始化時(shí)快速失敗如果缺掩碼會(huì)立刻報(bào)錯(cuò)而不是訓(xùn)練到中間才發(fā)現(xiàn)。torch.from_numpy(image).unsqueeze(0)給灰度圖補(bǔ)上通道維得到(1, H, W)。掩碼轉(zhuǎn)成long是 PyTorch 交叉熵?fù)p失要求的整數(shù)標(biāo)簽類型。3.3 一個(gè)最小可運(yùn)行的 U-Net 訓(xùn)練腳本PyTorch模型結(jié)構(gòu)建議先用經(jīng)典 U-Net編碼器三層、解碼器三層通道數(shù)從32開始。下面這段訓(xùn)練循環(huán)聚焦在數(shù)據(jù)加載、損失函數(shù)和優(yōu)化器配置上import torch from torch.utils.data import DataLoader from unet_model import UNet device torch.device(cuda if torch.cuda.is_available() else cpu) train_dataset UltrasoundDataset(data/train/images, data/train/labels) train_loader DataLoader(train_dataset, batch_size8, shuffleTrue, num_workers2) model UNet(in_channels1, out_channels2).to(device) optimizer torch.optim.Adam(model.parameters(), lr1e-4) loss_fn torch.nn.CrossEntropyLoss() for epoch in range(50): model.train() running_loss 0.0 for images, masks in train_loader: images, masks images.to(device), masks.to(device) output model(images) loss loss_fn(output, masks) optimizer.zero_grad() loss.backward() optimizer.step() running_loss loss.item() avg_loss running_loss / len(train_loader) print(fepoch {epoch 1:02d} loss {avg_loss:.4f})UNet(in_channels1, out_channels2)里in_channels1對(duì)應(yīng)灰度超聲圖out_channels2對(duì)應(yīng)背景和病灶兩個(gè)類別。CrossEntropyLoss的輸出要求是(N, C, H, W)掩碼是(N, H, W)正好匹配。batch_size8是在256x256輸入、顯存8GB左右的經(jīng)驗(yàn)值如果出現(xiàn)OOM先降到4或2。lr1e-4對(duì)醫(yī)學(xué)圖像小數(shù)據(jù)集比默認(rèn)的1e-3更穩(wěn)避免剛開始幾步就把分割權(quán)重帶偏。如果掩碼只有0和255需要在preprocess_mask里做(mask 127)再轉(zhuǎn)LongTensor如果已經(jīng)是0和1也要確認(rèn)沒有浮點(diǎn)噪聲。類別索引從0開始CrossEntropyLoss會(huì)自動(dòng)忽略索引為負(fù)的值所以不要給掩碼加背景掩蔽以滿足形狀要求。注意unet_model模塊可以用你自己實(shí)現(xiàn)的 U-Net 替換關(guān)鍵是輸入通道為1、輸出通道為2且輸出尺寸與輸入一致。3.4 訓(xùn)練曲線解讀Dice 不漲、Loss 震蕩時(shí)先調(diào)什么訓(xùn)練跑起來之后不能只看loss。醫(yī)學(xué)圖像分割更常用Dice系數(shù)來衡量因?yàn)榱夹院捅尘爸g像素極度不平衡時(shí)交叉熵loss可能一直很低但Dice也不漲。下面這段代碼在驗(yàn)證集上計(jì)算Dicedef dice_score(pred, target): pred (pred 0).float() # 預(yù)測(cè)屬于病灶類的概率最大 intersection (pred * target).sum() return (2.0 * intersection 1e-6) / (pred.sum() target.sum() 1e-6)pred是模型輸出的類別索引這里把預(yù)測(cè)病灶像素和二值掩碼逐像素相乘求和。加1e-6是為了處理兩張全空掩碼時(shí)除零的問題。如果訓(xùn)練loss下降但Dice在0.1左右徘徊優(yōu)先檢查兩個(gè)方向一是數(shù)據(jù)增強(qiáng)是否過強(qiáng)比如隨機(jī)旋轉(zhuǎn)90度把超聲扇形方向打亂二是掩碼是否在resize時(shí)被最近鄰插值破壞尤其是病灶區(qū)域小的時(shí)候。如果loss來回震蕩把學(xué)習(xí)率從1e-4降到3e-5同時(shí)把batch size調(diào)小通常能讓曲線穩(wěn)定下來。還有一種常見情況是驗(yàn)證loss下降但Dice不降這時(shí)需要看模型是否把所有像素都預(yù)測(cè)為背景。打印預(yù)測(cè)圖的唯一值如果只有0沒有1說明類別不平衡已經(jīng)把訓(xùn)練推到了平凡解。可以改用Dice Loss或Focal Loss先把背景類權(quán)重降低。4. 數(shù)據(jù)集使用避坑五個(gè)讓分割模型翻車的真實(shí)場(chǎng)景醫(yī)學(xué)圖像分割數(shù)據(jù)集的坑不在網(wǎng)絡(luò)結(jié)構(gòu)而在數(shù)據(jù)管道。很多問題看起來像玄學(xué)最后定位都是讀取、劃分或預(yù)處理不一致。下面五條按“現(xiàn)象、原因、解決”展開方便照著排查。4.1 灰度圖像被當(dāng)成三通道輸入U(xiǎn)-Net 輸入通道數(shù)設(shè)成3現(xiàn)象模型能跑通loss也在下降但驗(yàn)證集上預(yù)測(cè)結(jié)果基本是全黑或全圖。 原因cv2.imread默認(rèn)會(huì)按三通道讀圖代碼又沒顯式指定IMREAD_GRAYSCALE于是灰度B超圖變成三通道的重復(fù)矩陣。模型第一層in_channels設(shè)成3確實(shí)能訓(xùn)練但學(xué)到的三通道信息完全冗余邊界特征被削弱。 解決統(tǒng)一在數(shù)據(jù)讀取時(shí)加cv2.IMREAD_GRAYSCALE并打印img.shape確認(rèn)輸出是(H, W)而不是(H, W, 3)。模型第一層in_channels1如果要用預(yù)訓(xùn)練模型遷移也建議把權(quán)重在輸入層做均值折疊而不是簡(jiǎn)單地把圖復(fù)制三通道。img cv2.imread(data/train/images/case_001.png) print(img.shape) # 如果是 (512, 512, 3)說明沒走灰度讀取這段檢查會(huì)立刻暴露問題。灰度B超圖被讀成三通道后三個(gè)通道完全相同模型等于在重復(fù)特征上做卷積參數(shù)量和計(jì)算量都白白增加。4.2 掩碼前后景比例懸殊損失函數(shù)被背景主導(dǎo)現(xiàn)象訓(xùn)練準(zhǔn)確率很高但Dice只有0.2分割結(jié)果覆蓋了一整片灰度接近的區(qū)域。 原因良性病灶在超聲圖像里通常只占幾萬像素背景占了幾十萬像素。交叉熵?fù)p失會(huì)把絕大多數(shù)梯度花在背景上模型學(xué)到的就是把大塊暗區(qū)判為背景偶爾碰中一個(gè)病灶像素就能把準(zhǔn)確率拉高。 解決訓(xùn)練損失改成Dice Loss或Focal Loss。Dice Loss直接優(yōu)化區(qū)域重疊對(duì)類別不平衡更穩(wěn)定。如果數(shù)據(jù)集里病灶區(qū)域太小還可以在預(yù)處理階段按包含前景的裁剪框切patch讓每個(gè)訓(xùn)練樣本里前景占比不低于某個(gè)閾值。def dice_loss(pred, target): pred torch.softmax(pred, dim1)[:, 1] smooth 1.0 intersection (pred * target).sum() return 1 - (2 * intersection smooth) / (pred.sum() target.sum() smooth)這個(gè)dice_loss直接取模型輸出中病灶類別的概率與二值掩碼計(jì)算重疊。smooth防止除零也避免訓(xùn)練初期梯度過大。替換CrossEntropyLoss后模型會(huì)更關(guān)注少數(shù)類像素。4.3 訓(xùn)練集和測(cè)試集來自同一病例指標(biāo)虛高現(xiàn)象訓(xùn)練時(shí)Dice到0.95測(cè)試時(shí)換一組數(shù)據(jù)就掉到0.5。 原因數(shù)據(jù)集劃分是按文件名隨機(jī)分的但同一患者的多個(gè)超聲幀出現(xiàn)在兩個(gè)集合里。因?yàn)橥换颊叩脑O(shè)備參數(shù)、探頭角度、病灶形態(tài)高度相似模型記住的是這個(gè)病人的背景紋理而不是通用病灶特征。 解決拿到數(shù)據(jù)先做患者級(jí)分組同一患者的所有圖像只能出現(xiàn)在訓(xùn)練集或測(cè)試集不能跨集合。如果標(biāo)題的數(shù)據(jù)集沒有提供患者ID也可以用文件名中的case編號(hào)提取。更穩(wěn)妥的做法是用第5章的按患者分折交叉驗(yàn)證反復(fù)評(píng)估模型穩(wěn)定性。train_patients {patient_id(p.name) for p in train_names} test_patients {patient_id(p.name) for p in test_names} shared train_patients test_patients if shared: print(患者級(jí)泄露:, shared)這段代碼把2.1里的患者檢查邏輯明確放在訓(xùn)練前執(zhí)行。出現(xiàn)共享患者時(shí)寧可減少訓(xùn)練集規(guī)模也不能保留跨集合的病例。4.4 裁剪黑邊導(dǎo)致標(biāo)簽坐標(biāo)沒同步現(xiàn)象預(yù)測(cè)掩碼在圖像邊緣出現(xiàn)固定偏移評(píng)測(cè)時(shí)邊界區(qū)域出現(xiàn)一排假正或假負(fù)。 原因預(yù)處理函數(shù)對(duì)圖像先裁剪再resize但標(biāo)簽掩碼在另一段代碼里直接resize沒有同步裁剪框。圖像縮放到目標(biāo)尺寸時(shí)失去了一部分邊緣掩碼卻保留了完整尺寸兩者自然錯(cuò)位。 解決圖像和掩碼必須共用同一個(gè)裁剪框。把preprocess_image里計(jì)算出的(y0, y1, x0, x1)返回給preprocess_mask掩碼先裁剪再resize。掩碼的resize插值統(tǒng)一用INTER_NEAREST配合代碼塊里的assert檢查尺寸一致。def crop_resize_pair(image, mask, threshold5): non_bg image threshold coords np.argwhere(non_bg) y0, x0 coords.min(axis0) y1, x1 coords.max(axis0) 1 image_crop cv2.resize(image[y0:y1, x0:x1], (256, 256), interpolationcv2.INTER_CUBIC) mask_crop cv2.resize(mask[y0:y1, x0:x1], (256, 256), interpolationcv2.INTER_NEAREST) return image_crop, mask_cropcrop_resize_pair把圖像和掩碼的裁剪框統(tǒng)一到同一個(gè)y0,x0,y1,x1掩碼用INTER_NEAREST不會(huì)產(chǎn)生新灰度值。這個(gè)函數(shù)應(yīng)作為訓(xùn)練管線的唯一入口避免兩處各寫一套。4.5 測(cè)試時(shí)沒有做與訓(xùn)練時(shí)相同的預(yù)處理現(xiàn)象離線驗(yàn)證Dice還行部署到新環(huán)境后指標(biāo)明顯下降。 原因訓(xùn)練腳本里的預(yù)處理寫在train.py測(cè)試腳本里重新寫了一份歸一化順序、裁剪閾值或resize尺寸有細(xì)微差別。超聲圖像的灰度范圍很敏感差一個(gè)閾值就可能讓病灶邊界改變。 解決把預(yù)處理函數(shù)抽成獨(dú)立模塊訓(xùn)練和推理都從同一個(gè)模塊導(dǎo)入。然后在固定一張圖像上跑訓(xùn)練管線和推理管線比較輸出數(shù)組是否完全一致。我習(xí)慣加一段單元測(cè)試比較同一個(gè)輸入在兩次調(diào)用后的numpy array是否相等。arr1 preprocess_image(data/train/images/case_001.png) arr2 preprocess_image(data/train/images/case_001.png) assert np.array_equal(arr1, arr2)這段測(cè)試只能驗(yàn)證函數(shù)自身確定性更關(guān)鍵的是確認(rèn)推理腳本沒有重新編寫一份“看起來差不多”的預(yù)處理。如果訓(xùn)練和推理的灰度閾值、目標(biāo)尺寸、插值方式不一致測(cè)試集上的微小偏差會(huì)在邊界像素上被放大。5. 在單獨(dú)一次劃分之外交叉驗(yàn)證與分割指標(biāo)的人工復(fù)核技巧5.1 用按患者分組的交叉驗(yàn)證替代單次隨機(jī)劃分如果數(shù)據(jù)集包含訓(xùn)練集和測(cè)試集直接用固定劃分訓(xùn)練即可。但超聲乳腺數(shù)據(jù)規(guī)模通常不大單次劃分對(duì)隨機(jī)種子太敏感。我會(huì)在大致確認(rèn)固定劃分之外額外做一次五折按患者交叉驗(yàn)證用下面這段代碼生成折標(biāo)簽from sklearn.model_selection import KFold import numpy as np patient_ids np.array(sorted({patient_id(p.name) for p in image_paths})) kf KFold(n_splits5, shuffleTrue, random_state42) for fold, (train_idx, val_idx) in enumerate(kf.split(patient_ids)): train_patients patient_ids[train_idx] val_patients patient_ids[val_idx] print(fold, len(train_patients), len(val_patients))KFold按患者ID列表分折而不是按圖像分折。這樣每一折的驗(yàn)證集都來自模型沒見過的患者評(píng)估結(jié)果更接近真實(shí)新數(shù)據(jù)上的效果。random_state42固定隨機(jī)種子保證每次實(shí)驗(yàn)可比較。5.2 把預(yù)測(cè)掩碼和原始 B 超圖像疊起來做人工抽檢Dice和IoU只是數(shù)值不能告訴你模型在哪個(gè)解剖位置犯錯(cuò)。我會(huì)在每輪驗(yàn)證后隨機(jī)抽5張測(cè)試圖像把預(yù)測(cè)掩碼和真實(shí)掩碼分別疊加在原始B超圖上轉(zhuǎn)成彩色對(duì)比圖保存。如果模型總把低回聲區(qū)域整片當(dāng)成病灶數(shù)值上看不出來但可視化會(huì)非常明顯。overlay cv2.cvtColor(img_bgr, cv2.COLOR_GRAY2BGR) overlay[pred_mask 1] (0, 0, 255) # 紅為預(yù)測(cè) overlay[true_mask 1] (0, 255, 0) # 綠為真實(shí) cv2.imwrite(fcheck_fold{fold}.png, overlay)紅色表示預(yù)測(cè)為病灶、綠色表示真實(shí)標(biāo)注紅綠重疊會(huì)變成黃??吹酱笃t色區(qū)域時(shí)說明模型把灰度相近的腺體組織誤判成了病灶需要回到訓(xùn)練數(shù)據(jù)里檢查是否有類似的錯(cuò)誤標(biāo)注。這個(gè)人工抽檢習(xí)慣幫我校準(zhǔn)了很多看似合理、實(shí)則結(jié)構(gòu)不完整的模型。我自己的教訓(xùn)是第一次跑這份數(shù)據(jù)時(shí)只看了Dice覺得0.87很不錯(cuò)抽檢才發(fā)現(xiàn)模型把探頭陰影也劃進(jìn)了病灶。后來把可視化抽檢加進(jìn)訓(xùn)練循環(huán)問題立刻暴露。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
午夜理论片在线观看免费| 黑丝91视频| 欧美少妇色图| 青娱乐福利99| 欧美成97爱| 丁香六月激情综合| 99精品丰满人妻无码| 91丨精品丨国产丨丝袜| 男女啊啊啊| 99热超碰| 久久精品视| 天天插天天操| 国产自制av蜜乳| 国产丸一视频| 久久精品视频在线观看| 又大又黄国产| 99碰碰| 高清无码久操视频| 国产91美女视频| 最新精品久久蜜桃| 人人人人人人少妇| 做爱A级亚欧| 亚洲熟妇A V黑人| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | n1038 一二三区| 操逼网站地址| 国产1769在线| 少妇啪啪自拍| 在线有码中文字幕| 秋霞怕怕片| 操死我了啊啊啊| 青青草九九九九九| 人妻加勒比东京热| 嗯嗯啊啊啊好舒服| 久久国产对白激情浪潮 | 东北女人高潮视频| 九九九九97| 国产盗摄美女如厕大神作品在线观看| 中文字幕91综合| 26uuu国产| 激情五月天社区| 黄色激情电影在线观看| 精品久久久久久无码| 韩国三级色呦呦| 天久久久噜噜噜久久国产精品爽爽 | 亚洲久热| 69人妻人人揉人人躁人人精品| 色香色欲天天综合网天天来吧| 国产精品久久久久久久久久梁医生| 一级一性爱免费视频| 加勒比色99999| 成人无码欧美一级A片狼牙直播| 国产第二页| 强奸熟女一区二区三区 | 亚洲九九视频| 狠狠躁伊人中文字幕| 亚洲自拍青操视频| 欧美亚洲自拍另类人妻| 久草视频观看视频在线| 丁香五月天啪啪| 欧美一级色| 男人的天堂亚洲| 高清不卡视频| 人妻另类| 翔田千里A片一区二区| 国产日韩精品suv| 国产精品午夜AV完会免费| 欧美色综合| 大肥女高潮bbwbbwhd视频| 亚洲精品97| 久久午夜色播影院免费高清| 欧美激情另类一区二区| 日本中文字幕在线电影| 精品超碰中文在线| 久久久久ab| 亚洲综合贴图91| 97在线资源| 天天干嫩逼网| 国产精品不卡一区二区三区av| 国产精品人妻免费精品| 黄片免费看的| 亚洲综合激情五月久久| 久久日本熟女精品一区| 黄片免费日韩| 婷婷综合网站| a片亚洲一本通视频| 中文字幕av片| 高清无码久操视频| 久久午夜伦| 精品国产72| 97超级久久| 哈哈操 大香蕉| 欧美午夜色妇色鬼| 久操综合在线| 吊色| 美女黄站| 无码137片内射在线影院| 91中出| 精品欧美А∨无码黑人大荫蒂| 女同性恋久久| 99热这里只有是精品10| av网站在线看| 超碰成人免费| 欧美成人国产精品| 老熟女乱子伦中文字幕一区二区| 91视频观看网站| 欧美日韩国产精品久久色婷婷| 中文字幕99999| 日韩在线观看中文字幕视频| 99精品综合久久久久五月天| 黑人白女精品一区| 中文一区二区婷婷视频| 性色aV一区二区三区噜噜| 在线A日本| 一区中文字幕二区日韩| 91肉丝| 五月天综合| 四虎在线观看网站| 天天色播亚洲综合网站| 欧美在线综合| 日本十八禁免费看污网站| 欧美不卡在线美女| 91n欧美| 91一起操| 欧美,日韩,中文,另类| 日韩精品一区二区日韩 | 欧美日韩在线小说| 五月婷在线| 十八禁电影伊人网| 人妻少妇视频在线播放| 欧美亚洲特P| 全球成人中文在线| 999久久芭蕾| 欧美日韩第一页| 快播电影网日韩新片| 蜜乳AV一区二区三区四| 69丨亚洲丨精品丨入口免费播放| 99re公开精品免费视频| 中文字幕人乱码中文字的预防方法| a片 xxxx受爽视频| 一区二区三区 丝袜 高跟 美腿| 91AV天美在线视频| 色综合久| 中文字幕丝袜| 精品久久久久久亚洲| 久久久久白虎| 麻豆区99999| 夜草网站| 超碰97在线中文| 国产区性爱在线视频秋霞豆| 亚洲欧洲日韩中文字幕一区| 一区二区三区在线资源| 日韩欧美性吧婷婷乱伦大香蕉| 国产最新AV| 成人一道本免费视频| 在线视频一区二区传媒| 91|九色|国产熟女| 国产 日韩,欧美 自拍| 精品国产一区二区久久| 日韩在线观看字幕精品| 少妇综合网| 男人干美女| 岛国大片在线观看网站入口| 国产精品久久久久久久久久二区三区| 97人人干人人操| 欧美色图91| 日韩超碰精品综合| 99热只有这里有精品| 本道在线| 亚洲综合另类欧美久久久| 免费福利视频中文字幕| 1024精品在线| 素人无码中文字幕| 97 超碰 人人做 人人爱| 日韩乱中文| 成人性交午夜免费片| 欧美一区二区传媒| 素人播放一区| 老熟妇一区二区三区…| 欧美黄色手机在线观看| 香蕉色网| 婷婷美人网| 丁香九月激情啪| 日韩激情电影中文字幕| 97色香蕉| 综合欧美色图| 亚洲高清在线se| 久久本道| 九九久久一区二区三区| 久久精品国产精品亚洲艾通辽熟妇| 51久久夜色精品国产麻豆| 88在线一区二区三区| 自拍丝袜美腿人妻| 好爽,再快点啊哈嗯嗯嗯嗯| 国产粉嫩出水在线播放| 日韩国产欧美伦理在线| 色97欧美| 精品无码人妻一区二区免费蜜桃| 在线另类| 日本色色色| 日韩欧美中文| 国内精品a| 欧美色乱| 欧美亚洲丝袜人妻制服中文99| 天天综合网1| 蜜臀精品1区2区| 日韩在线76| 欧美中出1| 强奸乱伦免费网站| 午夜啪啪片| 欧美亚洲素人制服精品| 国产综合日韩伦理| AAAA欧美日韩| 99re热有精品视频国产| a片久久久久久久久久久久 | 五月丁香在线| 日本大片日本一区二区免费高清| 五月天综合| 桃花色涩综合影院| 97爱爱爱综合| 第二页中文字幕| 欧洲无码一区二区| 国产精品2020| 色女综合| 91欧美丝袜| 日韩操呦呦影院在线观看| 97色欧州| 亚洲素人综合| 69一区二区| 日韩精品-原创伙伴| 狠狠爱大香蕉| 久久精品国产精品一区| 13小男生GAY自慰脱裤子| 天天综合91| 天美精品原创av片国产| 精品久久久久久AV无码| 永久免费发布性爱网| www.91理论| 顶级丝袜熟女一区二区三区| WWW黄片COM| 91超级碰| 青青草自拍视频在线播放| 久草资源在线视频官方总站日韩丝袜美腿 | 欧美久久九九| 美国三级日本三级久久99| 久草成人影片| 欧洲黄色网| 亚洲字幕一区二区| 大香蕉伊人久久| 欧美日韩m| 国产美女激情| 91国产美女丝袜足交精品视频| 久久超碰大香蕉| 欧亚揄拍偷拍精品视频| 91熟女丨91老女人| 日韩色欲久久一二三四区| 91天堂色男人的天堂| www.99在线| 91在线视频免费中出| 好好的日:com久久九九| 欧美综合综合| 人人潮人人摸| www.狠狠干.coom | 亚洲欧美97| 日韩激情电影中文字幕| 91精品伊人久久久大香线蕉91| 91 刺激在线| 欧美大战久久久伊人| 综合自拍| 激情五月天插| 性色国产东北露脸精品视频| 欧美高清91| 日韩操啪| 黄色污污污污污污网站| 美女骚尻视频| www.99色| 熟女啪啪视频| 久久久久国色αv免费观看| 国产日韩精品无码去免费专区国产| 91强奸乱轮| 9 7超碰在线免费观看| 南澳成人一级片在线播放| 98超碰欧美| 国产毛片毛片4p懂色| 欧美精品1区2区3区| 97 国产一区| 久久日本熟妇熟色一区| 九九性爱网| 欧美少妇色综合| 天天澡天天狠天天天做| 裸体美女免费看网站青草| 亚洲人91| 色就色综合| 91是天天| 国产黄色剧情影片麻豆免费播放| 久久综合婷婷| 97在线无精品| 国模无码人体一区二区三| 蜜桃成人1区2区3区| 91 偷| 在线人人人人人人精品超 | 免费少妇一区二区| 婷婷日韩一区二区三区中文字幕在线| 久久精品一区二区三区蜜桃臀| 黄色片A级一区二区三区| 日韩美一区| 97在线免费看视频| 久久久久久中文字幕中文字幕最新| 91亚洲黄色网| 在现视频女上位好爽| 天天网综合| 婷婷五月天补不补| 欧美亚洲中文| 福利风月五月天影院| 亚洲成?V人片在线观看福利| 久久超碰亚洲人| a天堂视频| 九九热五区| 99精品国产户外露出| 婷婷天堂站| 亚洲美腿丝袜香蕉影视欧美成人| 精品人妻美妇91job| 久久人妻一区二区三区高清| 中文字幕蜜乳av| 久久久久中出| 岛国片在线播放| www.高清无码诱惑一区.com| 99re国产精品视频| 亚洲清纯唯美| 日本韩欧美在线播放a| 日本国产二线女色| 天天干天天干天天干| 蜜臀久久精品久久久久视频| 日韩操逼HD| 欧美日韩国产人人| 狠狠色综合网| 99999精品| 校园春色综合色| 国产黄片精品在线| 综合网亚洲在线| 超碰调教97| 都市久久精品激情亚洲| 亚洲涩图欧美| 91亚州日韩高清| 91精品微拍福利| 中字一区| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 淫淫综合网| 99re这里只有精品3| 91精品久久久| 日韩大香蕉AV影片| 久神马| 操操啪| 亚洲影院无码在线| 欧美午夜熟妇黑人精品91| 综合色图亚洲欧美| 99色热国产视频精品| 97超级久久| 艳尻美人妻| 99视频精品| 亚洲熟女精品| 久久久一区二区三区四区五区| 久久最新视频免费观看| 99色综合| 综合欧美激情网| 热久久无毒不卡| 丰满翘臀美女影院视频| 欧美日韩性爱精品| 一本大道不卡一二三区| 人妻少妇精品| 欧美综色欧| 色婷婷成人综合| AV九九| 性在久久久久久| 秋霞Av理论一级在线| chaopen97久久| 色色综合97| 久久久久久性爱片| 无色无码| 超碰在线香蕉| 91大神精品长腿在线观看网站| 亚洲日精品| 国产欧美后入| 骚女高跟AV在线| 天天综和| 日韩精彩免费| 草b在线 | 色眯眯射| 亚洲、日韩、综合、另类| 五月丁香网站| 五月天开心网| 屌逼传媒| 插入综合网| 丁香六月婷婷久久综合| 久热久| 国产精品一区午夜福利| 99精品欧美一区二区三区桃色| 国产精品不卡一区二区三区av| 火箭成精品视频884必出精品| 97ai亚洲| 夜夜高潮夜夜爽夜夜爱爱一区| 亚洲清纯唯美| 美女91AV| 亚洲欧美人妻| 国产精品露脸在线观看| 日韩探花精品在线视频| 国产免费黄色一级大片| yaouchengrenav| 久久成人国产精品| 亚洲强奸乱伦影视网| 日韩不卡a级视频专区| 久久精品国产免费观看99| 秋霞一级视频在线观看免费| 大香蕉久久| 亚洲色色色| 爱爱60秒免费视频| 欧美精品双插| n1038 一二三区| 妇人噜噜| 亚洲图片视频小说| 成人五级久久| 高跟丝袜AV专区国产| 在线人人人人人人精品超| 久久肏大逼| 色婷婷成人| 欧美色九九九| 91操人| 国产久久天堂资源| 在线中文字幕| 欧美性爱五月天| 精品无码久久久| 欧美猛交黑寡妇中文字幕| 九九九九免费视频| 亚洲欧洲成人在线电影| 操屄不卡视频| 欧美日日夜夜| 日本性一区| 精品高潮| 亚洲天堂无码| 91红杏| 97久久久网站| 人妻少妇久久中文字幕一区二区 麻豆 | 国产午夜视频| 欧美情色亚洲| 亚洲国产精品成人综合| 约操熟妇| 91在线|亚| 欧美与日韩97| 2025年A片视频精品| 强奸乱伦资源| 欧美精品双插| 亚欧成人一级片在线播放| 99色热国产视频精品| 欧亚综合一卡二卡中文字幕| 久操视频免费观看| 国产精品麻豆成人av| 九色视频91| 中文字幕AV片| 一级岛国大片| 青草青青久久久久久国产| 久欲AV| 欧美激情另类一区二区| 国产怡红院| 亚洲色图A| 蜜乳AV网址| 免费网色网站| 91看黄片| 91伊人影视综合| 国产精品久久久久9999小说| www.人人cao| 欧美伦乱爱| 欧美精品精品一区二区| 中日无幕一二三四区| 亚洲综合嫩| 亚洲国产麻豆一区二区三区| 60秒免费小视频| 性爱网站一区二区| 天综合网| 人妻少妇久久中文字幕一区二区 麻豆 | 激情综合婷婷| 夜夜骑日日| www成人啪啪18秘 免费| 玖玖超碰熟| 成人亚欧免费视频| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 清清草影| 福利伊人玖玖国产| 日韩大香蕉精品在线视频| 最新岛国大片| 中文字幕在在线观看网站| 久久久久国产精品久久久| 亚殴在线| 操逼无码操逼| 骚女高跟AV在线| 午夜福利免费福利视频| 亚洲 欧美 日本 国内 首页| 天天插天天射| 久久大黄片| 爽爽爽免费视频| 噜噜噜在线视频| 啊啊啊啊啊啊啊啊啊在线观看| 国产乱伦性爱区| 秋霞鲁丝午夜无码一区二区三| a天堂视频| 四虎影视 亚洲无码| 六月激情婷婷| 国产粉嫩蜜臀av一区二区三区| 丝袜喷水在线| 国产精品久久久无码AV网站| 中文字幕熟女人妻丝袜丝| 99综合网| 操www| 欧美最婬乱婬爆婬牲视频| 玖色AV| 日韩精品1区2区中文字幕| 色色九区| 大肉棒导航| 中文字幕jul-617人妻熟女| 97资源亚洲| 国产SV一线| 操B在线观看| 91丝袜美女视频| 男人网站婷婷| 亚洲熟妇自偷自拍另欧美| 亚洲伊人久久综合97| 97国产伦理| 嗯啊不要在线| 91社操逼| 久久亚洲AV无码白度| 精品中文日韩字幕视频| 国产无码一二三区| 国内毛片热久久思思热| 亚洲美女高潮喷水视频| 日日A∨| 操逼网免费无码视频| a'v在线资源| 亚洲AV在线资源| 欧美亚洲20p| 曰韩av中文字幕专区| 操b在线观看| 久久久青青草| 天堂综合| 97精品综合久久网| 久久久草成人网站久久久草成人久久久草久久久 | 日韩大香蕉| 夜夜精品视频一区二区| 欧美日韩大陆黑人少妇99| av中文在线| hd成人一区二区在线| 精品国模无码| 久操97| 9精品久久久久| 使劲用力艹少妇视频一区二区| 9/A片 | 亚洲图片偷拍欧美| 嗯嗯啊啊好大好爽| 久久精品一区| 亚洲男人天堂2012| 电影69乱码96| 大香蕉97久久| 久久99操天天日| 无码少妇精品一区二区60岁老人| 日韩欧美中文日韩欧美色| 国产a片操逼| 天天谢天天干| 免费精品人妻一区二区三| 欧美国产精品久久九九| 乱伦强奸区日韩| 熟女人妻精品一区二区视频| 久久是精品| 久久精品99久久久久久| 亚洲诱惑天堂| 久久久久久裸体| 亚州国产成人精品女人久久| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 国产无遮挡| AV天天综合| 2001天天操| 夫妻四区五区六区| 久久一留热品黄| 中文字幕 人妻不满 在线视频| 九九热精品视频在线观看| 色五月综合网| 欧美另类色图片| 无码免费一区二区三区啪啪| 色综合五月天| 91大神电影天堂| 艾草av| 久久久久久91香蕉国产| 亚州高清av| 九九九九一区| 国产精品久久久久久久久久久久| 亚洲av青草久久一区二区| 亚洲精品自拍| 国产亚洲日韩在线三区黑人| 国产成人www免费人成看片| 曰韩av中文字幕专区| 日韩久久三区| 天美精品一区二区三区四区在线观看| 96久久久精品| 欧美亚洲今日在线| 老司机天天操| 亚洲九区| 欧美永久激情一区二区| 亚洲精品黑丝| 亚洲欧美情色| www.91逼逼.com| 亚洲一区二区三区四区视频| 久久精品国产精品亚洲艾通辽熟妇| 青青国产精品在线| 亚洲熟女一区| 97AV在线观看| 日本熟女中文字幕一区| 男人的天堂亚洲| 亚洲区限制级| 亚洲97精品| 九色精品视频导航1| 日韩AV无码中文一区二区| 草草影院在线视频| 欧美天天综合站| 精品人妻一区二区免费看| 免费的黄片有限公司| 色色婷| 日韩欧美偷拍美女视频| 国产精品网址| 91精品伊人久久久大香线蕉91| 久久久影院| 欧美色道啊| 性暴力欧美猛交在线直播| 婷婷五月综合在线| 中文字幕一区二区三四五区日日骚| 亚洲熟妇A V黑人| 日韩人妻播放| 欧美专利1区2区3区4区5区免费| 久久久成人免费av电影| 丰满人妻区一区二区三| 国产尹人在线视频免费| 久久偷拍人| 欧美色视| 五月丁香综合啪啪| 激情四射婷婷六月天| Av手机版天堂网| 亚洲图片欧美日韩| 久久超碰av在线| 麻豆国产视频精品观看| 亚洲午夜免费狠狠干| 久操免费电影| 精品伊人久久久大香线蕉小说| 99亚洲人人| 亚洲黄片免费在线播放| 日韩欧美视频青青| 春色综合网| 色色色色综合网| 四虎影视永久在线观看精品免费网站| 白丝AV| 久久色人体 | 国产一区二区成人av在线播放| 人妻乱仑一区二区三区| 99re热| 园内精品自拍视频在线播放| 亚洲日韩青青草色月| 91亚洲最新在线| 午夜免费福利视频一区| 日日AAvv| 色99在线| 国产强奸乱伦第1页| 国产高清1234区| 女性91网站| 欧美有码亚洲中文字幕一区二区三区四区 | 美女毛片999| 黑人白女精品一区| 91成人久久| 国产亚州精品美女久久久免费| 激情欧美日韩女同久久| 日韩性爱毛片操骚逼| AV99热18这里只有精品| 白天啪啪晚上啪啪视频| 91国产丝袜美女| 亚洲综合中文字幕有码| 少妇的嫩逼图片| 亚洲色 国产 欧美 日韩| 蜜桃精品一区二区三区久在线| 色婷婷九月天天综合| 奶水 人妻 哺乳 在线| 国产女人高潮视频| 日韩精品一区二区高清| A男人的天堂| 久久久久久AⅤ无码免费肉站| 美女十八禁| 亚殴在线| 美国人人操人人操| 亚熟hd视频在线| 女人被添高潮免费视频| 亚洲色天| 久久夜夜夜| 九九99精品| 亚洲av性爱电影| 在线情色电影 91大 | 久操99| 在线综合色| 东京热男人天堂| 久热无码| 九九精品99| 97欧美综合网| 国产丰满熟夫69mpp| 日韩欧美字幕亚洲一区二区| 免费国产视频| 久久精品老司| 日本一级一级一级一级| 亚洲国产精品成人综合| 中文字幕免费在线观看| 5252色欧美在线| 欧美黄片视频在线观看免费| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 青娱乐国产精品| 99热销国产这里有精品| 久久一二三四五六七八九区区| AV综合中文字幕干| 午夜福利一区二区影院| 麻豆AV一区二区天美传媒| WWW.加勒比人妻一区不卡.com| 五月天久久久| 性在久久久久久| 999国产精品999久久久久久| 91爱综合| 亚洲天堂热| 久久精品国产Aⅴ| 韩日欧亚a级| 日韩在线人妻网站| 婷婷五月天补不补| 日本一区二区成人在线| 淫纸中9区| 成人欧美日超碰| 亚洲综合888| 午夜激情成人在线观看| 日韩三级伊人| 91丝袜在线播放| 综合网亚洲在线| 91最新综合| 亚洲高潮少妇| 五月激情小说| 亚州一区二区成人片免费| 精品一区二区三区国产| 春色综合网| 亚洲欧美综合网| 欧美色图片91| 久久伊人在线五区| 综合色图,成人综合网| av一区二区三区 中文| 亚洲色图综合| 国产强奸乱伦第1页| A啊啊在线观看| 亚洲成人一二三区| 亚熟在线| 超碰天天久久79| 神马福利久草| 日韩亚洲美州欧洲综三区一品在线| 中日韩熟女| 国产欧美岛国精品一区 | 亚洲一本大道中文字幕无码在线| 国产av强奸美女| 97资源免费视频| 自拍视频大全亚洲专媒视频/一区二区三区 | 中文啪啪视频| 亚洲天堂综合AV| 殴美牲| 国产欧美日韩在线观看麻豆传媒公司| 爱我干综合| 日本三级大片| 99re9在线| 天色综合网| 91九九九小逼| 亚洲蜜臀懂色| 亚洲色图国产另类| 久久久久9999精品九九九| 超碰97在线色男人??| 超碰视97中文| 综合五月天| 3PAV乱伦视频| 肏逼福利网站| 久久久久亚洲AV无码专区少妇| 污污汅18禁网站在线永久免费观看 | 欧美 亚洲 另类 综合| av线电影| 日韩本不卡视频在线观看| 国产a级精品| 欧美91网站| 玖色av| 日B操| 在免费jIzzjIzz在线视频| 天天插天天射| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 激情婷婷丁香| av激情亚洲五月天| jk白丝没脱就开始啪啪| 婷婷综合网站| 日本裸体久久色噜噜| 91n免费处女| 亚洲精品97久久| 无码逼| 天天干,天天日| 久久超碰亚洲人| 精品中文一区二区| 国产色产精品在线观看| 97香蕉网| 国产 丝袜 欧美中文 另类| 日韩在线视频1234| 麻豆天美AV传媒第一页| 国产高清成人免费视频| 8050午夜少妇无码| 这里是精品| 校园春色美腿丝袜 | 激情深爱五月天| 中文字幕免费观看| 亚洲欧美骚| 大香蕉久| 欧美性,亚州色| 欧美男人的天堂| 青娱乐福利99| 精品久久久久久亚洲| 欧美极品少妇| 久久夜黄色无码A级大片| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 欧美欲色| 国产捆绑一区| 久热99| 国产精品久久久久999| 人人模人人看| 超碰人人妻| 天天性射网| 另类小色呦| 日日干男人的天堂| A级在线视频| 97福利视频| 五月天亚洲网| 黄色无码高清黄色无码网站| 中文字幕在线观看视频www| 九九国产热| 97超碰超| 六月天婷婷| 99热欧美| 六月色婷婷| 91亚洲最新在线| 96久久精品一二三区色欲| 日韩pv中文| wuyechaopeng| 一级日本牲交大片好爽在线看| 男人的天堂亚洲| 日韩欧美三级| 亚洲一区中文字幕一区| 国产嫩草精品A88AV| www色日本| 久久精品国产亚洲粉嫩| 国产一级片| 欧美精品庄| 激情五月婷婷| 蜜臀久久99精品久久久久久酒店| 国产精品一区二区黄片| 97伊人超碰| 99自拍视频| 操逼无毒无码免费视频| av天堂手机版追回| 国产一国产一级毛片古装| 五月婷婷久久综合| 亚洲Av诱惑| 欧美日日网| 大鸡巴久久| 九一屌逼| 两女互慰AV高潮喷水在线观看| 欧美五区| 伊人久操| 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 亚洲美女自拍偷拍视频| 成人情色综合网| 夜夜操狠狠操| 欧美不卡五十路| 99国产精品久久久久久久成人热| 国产乱色国产精品免费视| 熟女中出视频| 亚洲中文国际强奸字幕| 大鸡巴久久| 久久精品国产亚洲AV成人直播| 日本免费二区三区| 久久综合九九| A级国产欧美激情在线| 久草在| 新版天堂中文资源8在线| 久久AV无码AV| 亚洲999综合| 约操熟妇| 日本女人久久久| 欧美页片| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 很很干很很操| 亚洲国产av中文字幕久久| 天天爽入口| 香蕉一区二区三区在线视频| 天天看天天在线精品| 99操逼| 操我啊啊啊啊啊| 久久久麻豆精品| 97超碰人妻| 综合亚洲网| 久久999久| 大香蕉乱伦视频网| 国产美女口爆吞精视频| 97操97干| 日韩女优在线| 麻豆国产免费影片| 亚洲啪AⅤ永久无码| 天天干1区2区在线| 久久综合中文国产| 亚洲成人综合在线| 这里只有精品视频在线观看麻豆| 亚洲毛片久久| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 色婷婷综合久久中文字幕雪峰| 密乳AV免费观看| 四虎精品永久在线观看| 人妻无码久久一区二区三区免费| 在线视频日韩欧美国产| 精品无码一区二区三区| 欧美综合色图网| 亚洲综合射| 欧美国产一区二区三区麻豆传媒 | 日本三级韩国三级美三级91| 五月激情啪啪| 亚洲av影院在线观看| 久久老女人| 91亚洲黄色网| 伦理弟一页| 中文字幕在线24| 色婷婷丁香| 国产欧美日韩精品中文| 狠狠色伊人亚洲综合网站色| 91丝袜美女视频| 亚洲综合大片| 国产精品午夜精品| 欧美性视频二区三区| 91熟女综合| 亚洲 图片 欧美 色图| 99超碰色| 好爽,再快点啊哈嗯嗯嗯嗯| 亚州精人品大香蕉| 色婷婷激情| 操狠狠| 久久黄黄| 蜜乳AV一区二区三区四| 欧洲亚洲国产综合在线| 麻豆综合一区av| 国产精品女生av| 人人操人人操人人操人人操人人操人人人11.CM| 日本一区二区不卡| 小说区 图片区色 综合区| 亚洲色人| a片 xxxx受爽视频| 91AV入口| 最新日日夜夜天天干干| 久久系列| 99久久久无码国产精品性啊聊| 久久九九精品一区二区| 好色美女九七第一页| 夜夜嗨TV| 天天影视网色欲色香| 无卡一区=区| 疯操AV| x97av| 一级AAA片一区二区三区| 天天干18禁| 日韩无码极品| 精品中文字幕一区二区| 在线观看亚洲专区| 色丁香五月婷婷| 天天摸夜夜摸| 久久精品视频久久久| B049AV在线播放| 一区二区不卡免费| 91五十路| 青青免费在线视频一区| 久操网线| 97视频网站在线观看| 婷婷色网| 在线黄色污污网站| 精品制服美女中文一区二区三区| 女生看匆91网站| 国内毛片国产欧美拍| 96久久精品一二三区色欲| 六月丁香啪啪| 老女人老91妇女老热女| 2020天天色综合| 啊啊啊啊啊啊啊啊视频| 天天干干天天干干| 色婷视频| 色网1| 91精品国产一区三一| 国产精品伦理| 久草这里只有精品 | 国产亚洲精品美女久久久| 无码精品久久久天天影视| 天美麻花大全视频| 96精品久久久久中文字幕| 97久久精品亚洲中六字幕| 日本精品一区二区三| 中文字幕蜜乳av| 操婷婷逼| 91视频观看网站| 亚洲揄拍网| 欧美资源| 亚洲一区二区三区播放在线| 国产精品一区二区久久精品| 天天躁日日躁AAA片李宗瑞| 黄色区免费观看中文字幕| 国产农村一一级特黄毛片| 91AV天美在线视频| 亚洲国产精品久久AV| 五月丁香啪啪网| 伊人 俄罗斯 a v| 国产99热| 69人妻精品一区二区绯色| 另类 综合 日韩 欧美 亚洲| 国产精品网址| 欧美另类综合久久| 日韩免费性爱视频在线观看| 国产精品suv一区| 激情综合网激情综合| 精品视频一区二区| 99热9| 台湾佬中文娱乐网久久久久久久久久com | 蜜桃天美传媒AV一区二区三区| 久久首页| 97玖玖人妻| 男人的天堂久久久| 国产 丝袜 欧美中文 另类| 欧美日韩精品久久| 曰韩精品视频一区二区| 无码99| 日本久久久久久久久久| 精品国产肉丝袜在线拍国语| 91丝袜美腿片| 激情网色| 国产精品丝袜久久亚洲不卡| 欧美懂色综合网| 玖玖爱免费观看视频| 亚州色国| 98福利在线视频| 一区二区三区高清天码| 人人人人人人少妇| 欧美色交| 99久久婷婷| 色久综合| 午夜精品久久久久久久久久久久久| 黄aaaaaaaaaaaaaaaaaa色网站| 欧美狠狠弄| 亚洲国产精品成人综合| 亚洲欧洲偷拍一区| 久久久无码视频| 欧美日韩中文亚洲v在线综合| 99精品久久久久久| 亚洲国产成人精品久久久国产成人一区二区三.| 久久中出在线| 午夜福利av电影在线| 亚码激情| 一二三区精品视频| 中文字幕视频2区| 人人操 欧美| 美女AV一区二区| 一级黄色视频网| 免费的av网| 伊人一区二区在线播放| 久久m| 欧美v亚洲v日韩v最新在线二区| 欧美综合自拍亚洲综合图| 99久在线精品99re8| 国语少妇精| 69精品在线| 伊人五月天婷婷| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 性感美女啊啊啊在线| 亚欧性爱在线无码| 精品午夜福利| 二对二中文字幕。| 国产福利一区二| 伊人 俄罗斯 a v| 在线色导航| 国产精品欧美在线观看| 亚洲熟妇乱女区二区三区| 嗯啊抽插大香蕉网页| 亚洲图片欧美另类综合免费视频大大香| 国产精品岛国片在线观看| 亚洲精品九九九| 99久久精品无码一区二区| 老熟女中文字幕高清| 啊啊啊 在线观看| 亚洲,日韩,欧美,成人播放| 日韩毛片9| 久操综合在线| 久久国产AⅤ| 久久久熟妇熟女国产| 亚洲砖码砖专无区2023| 91看黄片| 骚熟女AV网| 破苞ⅩXXX性无码动漫无码| 大香蕉中文| 久久 久久国内精品亚洲| 久久伊人在线五区| 色呦呦呦在线观看视频| 精品视频一二三中文| 亚州综合AⅤ| 色香色欲天天综合网天天来吧| 97视频网站| 手机av亚洲丝袜美腿日韩第一页二页| 加勒比大香蕉视频在线| 亚洲se91| 日韩国产十八禁| 久热超碰| 久久六六| 天美传媒精品一区二区三区| 丁香五月自拍| 欧美日韩不卡a片| 久久精品一区二区三区四区五区| 久久 久久国内精品亚洲| 天天综合AV| 中文字幕奈奈美被公侵犯| 九九九久久久| 密臀成人视频久久久| 精品丰满人妻一区二区三区免费观| 国产91精品福利在线| 久久精品一区二区一8| 日韩精品午夜操呦呦不卡影院| 精品射1999| 自慰白浆在线观看| 国产精品精品系列在线观看| 精品人妻高清麻豆av| 亚洲Av噜噜一区二区三区妖精| 国产精品扒开腿做爽爽爽视频| 四虎在线免费视频| 密臀AV在线| 激情婷婷丁香| 国产成人自拍视频在线| 精品人妻一区二区三区四区| 97精品中文字幕| 久久精品三级影视| 啊啊啊啊啊啊在线| 黑人操一区二区| 人人干人人操人人爱| 色香欲综合| 日韩精品影视| 亚洲宗合网| 天天操人人操骚逼网站| 亚洲大胆人体av| av一区二区三区四区五区久草臀| 偷拍 精品 另类 四区| 嗯嗯嗯好爽| 一二三四免费视频| 亚洲精品尤物yw在线影院| 日韩成人精品| 无遮挡一级毛片视频免费的| 亚洲97成人在线观看| 日韩大香蕉AV影片| 日本不卡一区二区|