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

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
返回資訊列表
欧美性暴力猛交| 美女高潮国产高清| 五月婷久久| 超碰在线人妻中文字幕| 蜜桃午夜视频一区二区| 夜夜嗷嗷一区二区| 天美国产精品| 婷婷亚洲色| 爱我干综合| 欧美 日韩第一性色| 天天天乱色综合全| 久久综合五月天| 欧美爆乳精品一区二区| 日韩成人小视频| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 亚洲欧美黄| 激情小说亚洲视频| 亚州久久9| 黑操B| 亚洲高清国产理伦片| 日韩无码极品| 69麻豆天美| 桑老女人九区| 日韩欧美~中文字| 亚洲高清内射| 激情综合 婷婷五月 红杏| 91N综合网| 麻豆福利视频导航| n1038 一二三区| 欧美性天天影视| 一区二区三区激情在线观看| 亚洲古典另类欧美在线| 亚洲aw毛茸茸在线 | 伊人AAA| 色婷婷亚洲婷婷| 国产 丝袜 欧美中文 另类| 天天干干天天干干| 91麻豆va国产精品| 久久久久久国产精品| 国产小u女在线观看| 久久久久国产一区二| A 在线网址| 91九色蝌蚪在线观看| 国产最新小视频在线播放下载 | 欧洲一区二区| 2021久久国产综合精品青草| 性爱乱伦视频免费| 在线播放一级无码视频| 很黄很色的视频在线观看| gogogo免费高清看中国国语| 乱伦a片视频| 人人操人人摸人人看人人插| 人妻81p| 国产一级作爱毛片| 国内精品伊人久久久久影院会| 丁香六月东京热| 久久精品店| 黄色高清无码无码破解免费暗网 | 日韩三级在线观看mp4| 少妇500双飞99| 91色黑人少妇| 女人天堂网| 日本加勒比无码专区一二三| 久久高潮妇女视频| av爱爱爱| 国产成人无码高清| 九九毛片这里只有精品| 2019天天操天天爽天天拍| 日日嗨AV一区二区夜夜| 国产在线能看的你懂的| 亚洲美女自拍偷拍视频| 色999人与兽| 日韩二级| 国产2.3.4区| 五月亭亭六月丁香| 一起草AV| 97国产中文| 91狠狠综| 伊人五月天| 狠狠操一区二区| 国产美女91| 亚洲日韩av专区无码| 黄色性爱网网| 激情终合网| 丰满人妻-区二区三区免费看 | 天堂av2019| 久久精品中文| 日本潮催一卡操| 亚洲天堂热| 97干色天堂| 国产精品国产精品国产| 久久久久一本一区二区青青蜜月| 老熟妇一区二区三区| 91狠狠| 天天躁日日躁XXXXYY| 婷婷五月天激情小说| 啊啊啊不要好疼视频| 性色av一区二区| 婷婷香蕉| 91综合熟女| 亚洲中文制服诱惑| 啊啊啊啊操死我| 中文字幕丝袜国产第一页不卡| 嗯嗯啊啊视频在线看| 亚洲高清男人天堂| 日韩一性一交一A片俄罗斯| 精品亚洲俞拍视频一区| 国产高清视频无码在线| 日韩乱码Av| 欧美日韩小说| 久操精品网| 色哟哟av网址| 婷婷激情五月| 精品久久久久久中文字幕视频免费| 国产高清成人传媒影视| 久久99深爱久久99精品| 午夜无码精品免费看性色| 中文字幕视频在线观看一区二区| 麻豆久久一区二区三区| 亚洲色图在线视频| 青春草莓视频在线观看网址| 日本三级韩三级99久久| 日韩欧美蜜桃精品久久中文字幕久久 | 嗯啊不要啊在线| 九九超碰综合网| 国产真实野战在线视频| 97超碰免费生活| 日本成人A片免费看| 久久久婷| 丰满人妻大屁一区二区| 男人精品天堂一区| 久草久日| 男人的天堂色偷偷青青草视频婷婷网| 一级性爱aaaa| 操逼天美3区| 日本欧美m v精品网站加| 91精品女厕偷拍视频| 午夜福利区| 高清成年美女黄网站免费大全| 五月开心久久AV官网| 岛园激情| 1000部熟女视频在线观看| 久久有码| 国产 三级自拍| 91精品丝袜久久久久久| 欧插网站| 国产精品嫩草久久久久| 国产丁香精品露脸视频| 98一区二区精品| 日韩电影在线观看网址| 韩日欧亚a级| 日韩99999色| 99这里只有精品国产| 自拍亚洲综合| 欧美性特| 天天躁日日躁xxxxx| 亚洲欧美综合网站| 国产女同性恋视频| 91久久久久久| 无码高清操逼网址| 99久久99久久免费精品蜜臀| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 亚洲高清欧美总合| 97超碰久久色| 欧美亚男人的天堂| 色婷婷亚洲婷婷| 老司机福利青青草| 在线天堂资源亚洲| 少妇专区一二三四五| 91性高潮久久久久久久久| 久久超碰国产一区二区三区| 综合亚州欧美| 91爱欧美| 夜夜嗷嗷一区二区| 99这里有精品| 激情av| 人妻二区| 人人操人人摸avav| 中文字幕熟女人妻丝袜| 亚洲AV无码乱码| 白丝被操91| 天天操天天干美女网址导航| 一区二区不卡| 人人爽夜夜玩视频| 国产成人精品日本视频| 欧美黄色片在线播放| 欧美一区二区成人一卡| 98久久| 老熟女91av| AA级电影三区| 久久精品超碰| 亚洲AV无码AV吞精久久久久| 影音先锋少妇| 在线人成亚洲视频免费观看| 国产高清成人免费视频| 中文字幕三四五区| 亚洲a色| 亚洲欧美内射| 天天躁夜夜躁狠狠躁AV| 超碰538| 亚洲AV无码天美传媒一区| 成人AV在线电影| 91粉嫩萝控精品福利网站_精品影音先锋国 | 精品国产国产AV| 亚洲精品欧美专业| 久操操| 强上我不卡卡| 亚洲少妇在线影音| 欧美最大综合网| 精品一国2| 国产乱弄免费在线视频。| 蜜臀久久久久久999| 精品婷婷| 少妇色综合| 青青草视频在线观看一区二区| 不卡码视频| 久久亚洲不卡一区二区三区| 丝袜美女诱惑 91 视频| 国产中午字一暮区| 精品少妇999| 亚洲一区日韩精品中文字幕| 手机在线观看不卡无码av| 377p欧洲日本亚洲大胆| 92午夜免费福利视频| 一区二区三区四区免费视频| 99视频在线| 日本三级中国三级99人妇网站| 五月天综合| 欧美一区二区传媒| 亚洲精品xxx| 日韩久久.一级黄色片| 抽插无码高清一区| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 九九九九九九成人| 亚洲骚男同com| 天色综合网| 在线视频资源| 9久精品| www.狠狠操| 怡红院成人视频| se吧提供国产乱老熟视频胖女人| 国产丝袜欧美在线视频| 无码国产精品久久久久| 五月开心网| 青草香蕉网| 超碰97久久国| 中国人高清www色视频免费| 2019精品国产无码成人| 国产成人久久久精品免费AV| 一本一道人妻久久一区二区三区 | 吻戏激情性巴克| 麻豆福利视频导航| 97超碰欧美精品| 亚洲精品成人动漫在线| 伊人久久婷婷| 色眯眯av| 久久透逼视频| 欧洲亚洲人妻无码久久三区四区| 亚洲 欧美 制服 另类 自拍| www.狠狠| 国产中文日韩欧美一区二区三区人妻丝袜美腿| 国产高清成人免费视频| 婷婷五月天成人| 天天看高清麻豆| 欧美日韩97| 亚洲五月婷| 使劲用力艹少妇视频一区二区| 免费在线视频97| 中文字幕亚洲热播人妻| 日日橹狠狠爱欧美超碰| 亚洲国产97| 国产无套粉嫩白浆在| 久久夜嗨| 色欲久久久久综合网| 亚洲无线码一区国产欧美国| 亚洲精品国产AV天美传媒| 大香蕉伊人75| 91色久| 啊啊啊啊啊啊啊网址在线观看| 色色毛片| 九九九久千久久激情蜜桃在线看| aaa亚无码专区| 日韩亚洲国产视频| 蜜臀AV成人精品蜜臀| 97啪啪| 99性爱| 97情超碰色| 欧美日韩日产免费网站看| 神马久久久久眼| 日少妇视频| 久久久久成人蜜桃精品| 91老司机视频| 东京热激情视频一二三区| 凹凸 69堂 在线播放| h无码动漫在线观看| 欧美青青草视频| 欧美顶级黄色大片免费| 大香蕉一人| 亚洲高清无码免费观看视频| 人妻少妇精品无码专区二区密桃| 韩国黄色片精品久久久| 久久精品国产亚洲粉嫩| 精品久久久中文字幕不| 超碰在线观看av不卡| 一区二区不卡| 屁屁影院一区二区三区国产| 九九九九一区| 日韩免费人妻色情网站| 26uuu久久| 秋霞男人网| 久久久久亚洲av综合波多野制衣| 狠狠2050在线观看| 无码少妇精品一区二区60岁老人| 偷偷人人精品女女久久| 熟妇人妻一区二区三区| 草草网站影院白丝内射| 欧美男人的天堂| 啊啊啊啊视频免费| 欧美日日操| 91痴汉| 超碰在线974| 久久久久久久久久久免费精品| 香蕉免费一区二区三区不读 | 久久久久密| 亚州情色j区| 国产又黄又粗又猛大片| 精品夜夜澡人妻无码AV| 狼人综合婷婷激情四射 | 精品无码人妻一区二区免费蜜桃| 大香网站| 91老熟妇| 伊人午夜福利视频| 人人摸人人干| 久久曰曰| 色翁荡息又大又硬又粗又爽| 性感美女91影视| 超碰激情808| 色色色欧美| 欧美极品| 欧美在线干| 欧美日韩国产传媒在线精品| 黑人嘿嘿嘿超爽免费视频| 婷婷性网| 国产精品一区二区后入| 怡红院视频在线| 少妇高潮对白在线观看| 亚洲最新Av| 97欧美色综合| 97碰碰日本乱偷人妻中文的| 电影69乱码96| av片在线观看免费播放| 中文字幕日韩人妻视频一区二区三区| 精品一区二区三区丰满熟女-亚洲欧美一区| 国产夜夜操| 99久久9| 为用户提供免费看黄网址在线观看| 天天碰久久入| 91黑丝操| 蜜桃视频一区二区三区| 日本999精品视频| 99热这里只有精| 青青草天天亲夜夜操网| 国产亚洲精品美女久久久久久2021| 男人的午夜天堂| 久久人妻一区二区三区高清 | 青草草免费网站av| 欧美成人A√在线一区二区| 色九久| 无码九九九九| 蜜臀Av一区二区三区| 亚洲欧美91√| 婷婷久草| 黄色一区三区| 亚洲交换| 97操b| 伊人欧美大香蕉视频| 女生久久网| 成人三级片无码| 小日子操bb在线看| 性爱边摸边日免费AV| 日韩99精品视频综合区| 91精品久久久久五月天精品| 欧美精品久久久久久久丰满| 青青操网| 日韩在线性爱免费视频| 国产欧美成人第一页在线观看| 五月色网| 六月丁香五月婷婷| 97人妻色| 99re8超碰| 欧美美女在线高潮999| 麻豆久久久久久久久丝袜| 熟女在线视频| 欧美中字不卡| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 67914亚洲精品| 又大又黄国产| 久久久久久91香蕉国产| 欧美最大综合网| av日韩中文字幕| 91四海无码日韩欧美| 外国免费性情大片| 亚州高清av| 精品无人区麻豆乱码1区2区图片 | 中文字幕在线观| 久久精品国产精品一区| 中文无线日韩一区| 色娱乐色呦呦夜夜夜夜av| 色97欧美| 十八禁黄色成人网站观看| 情侣操 逼视频99| 久久久九精品| 亚洲成人贴图| 17c在线成人免费A片观看| 欧美视频一区二区在线| 亚洲性综合9| 久久av色| 蜜臀99久久精品| 探花精品 一区二区| heyZO天然素人无码AⅤ专区| 免费精品福利在线观看| 久久久久久久 九九九九九九九| 91高跟美女在线播放| 欧美日韩国产色五月综合在线| 色欲久久99国产精品久久久久久| 亚洲 日本 国产 综合| 欧美成va视频网站| 欧美激情超碰777| 色97欧美| 99久久婷婷丁香| 红杏大香蕉| 亚洲欧洲第二视频在线观看色图| 欧差乱伦二三| 亚洲成人在线播放| 亚洲熟妇综合久久久久久| 97国产精品视频| 日韩午夜精品一区二区三区电影| 久久久久中出| 大香蕉日韩| 亚洲AV秘 精品久久老牛影视| www.狠狠干.coom | 60秒不遮不挡| 无码黑人精品一区二区三区三| 日本色色网| 天天插夜夜爽| 欧美日韩亚洲一区二区在线观看| 日韩三四五区| 婷婷五月天激情四射| 欧美成人一区二区三区在线播放| 精品久久九| 浓厚中出中文字幕在线| 天天干天天日天天射黄色| 天美传媒麻豆一区二区三区国产精| 99这里只有精品国产| 中文字幕 一区二区 亚洲无码| 日日97| 中文字幕精品日韩中文字幕| 日韩天天本| 日韩欧美大片免费高清啪啪| 亚州成人a∨| 92久久| 国产刺激视频| 国产精品久久久 | 97国产精品一区二区传媒公司| 人妻中文字幕日韩电影| 欧美高潮| 日韩精品中文字幕二区| 婷婷五月天色网| 岛园激情| 啊啊啊免费视频| 亚洲综合春色| 日韩无码精品综合久久| 97日视频| 久久精品国产亚洲AV片多多| 日韩欧美~中文字| 久久9视频| 亚洲欧美在线丝袜| 丝袜内射| 少妇人妻好深太紧了vr91| 日韩天天本| 欧美亚洲日本视频久久久 | 中文字幕性感少妇av| 麻豆区久久久久亚| 久久香蕉影院| 秋霞怕怕片| 国产精品网站免费| 亚洲美女自拍偷拍视频| 97日韩欧美亚洲| 九色97| 人人做,人人操,人人摸| 福利天堂| 黑丝少妇| 久久黄色性爱视频| 中文字幕国产| 欧美老妇综合网| 国产精品久久久无码AV网站| 97超碰精品图片| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 亚洲欧美黄| 色眯眯射| 日韩无码专区| 精品欧美不卡在线播放| 69丨亚洲丨精品丨入口免费播放| 丁香九月婷婷| 99re国产精品视频| 久久99国产精品| 神马久久久久久久久久| 久操操| 一级二级三级黑人无码| 无码人妻丰满熟妇区毛片| 另类综合另类| 懂色AV蜜臀无码精品APP| 91爱| 日韩成人人妻网站| 日本999精品视频| 精品亚洲国产成人AV制服丝袜| 日韩精品人妻| 伊人欧美大香蕉视频| 女一区二区| 亚洲天堂 视频你懂的| 国产强奸乱伦欧美| 蜜臀AV一区二区三区| 欧洲一区二区三区免费| 精品四五区| 日本三级R| 中文字幕日韩电影人妻| 日韩情色一区二区| 久久风骚城市| 欧美亚洲高清不卡| 亚洲第一页欧美| 日韩有码免费视频| 国产日韩欧美三级片| ji熟女.com| 欧美天天| 神马九九| 国产一区二区二区按摩精品啪视频| 超碰97资源网亚洲| 2019午夜福利视频| 91爱做| 超碰精品| 9热9热综合网| 综精品久久久aaaa| 大香蕉97久久| 99无码视频| 亚洲综合九九| 乱色视频中文字幕| 欧美成va视频网站| 亚洲国产无码精品首页久久久| 人人操人人操人人操人人操人人操人人人11.CM | 一区二区乱码福利| 亚洲熟女综合网| 啪啪啪男女亚洲中文字幕99| 丰满熟妇大乳做爰| 亚州五月| 欧美另类天堂| 九九九不卡| 美女t无毒不卡不卡| 国产精品高朝久久久久久久| 丝袜色综合| 91少妇通奸网站| www. 男人天堂成人在线| 夜草欧美| AV99热18这里只有精品| av久日| 亚洲好色人妻| 夜夜欢天天干| 91社区伊人| 国产精品福利视频播放| 久久久久久电影| 在线欧美69V免费观看视频| 亚洲中文国际强奸字幕| 新版天堂中文资源8在线| 国产超碰| 97二区四区| 人人澡综合涩| 我想要啊 啊 啊| 亚洲区 欧美区| 97香蕉网| 顶级丝袜熟女一区二区三区| 日本中文字幕在线视频 | 久久99久久99精品天美传媒棢·纸:.| 干妹子| 91亚洲网站| 97在线观看| 精品高清一区二区三区三州| 久久人人爽人人爽人人片Ⅴ| 美国美女AV在线| 欧美图片色综合| 综合欧美激情网| 国产精品极品美女视频| 国产一区二区三区,在线观看观看| 国产精品内射婷婷一级二| 中文97国产| 97色97好| 亚洲欧美国产日本一区二区三区| 99操逼| 久草视频制服诱惑| 欧美日韩97在线| 欧美日韩在线小说 | 久久久久久人| 欧美v亚洲v综合v国产v妖精| 久久婷婷综合国际产色怕| 99无码| 91少妇香蕉久久精品| 日韩大香蕉AV影片| 丰满人妻无码一区二区三区| 发朗少妇买婬全视频中文| 国产白丝在线| 91日韩| 最新啪啪视频| 人人澡综合涩| 91w欧美| 午夜黄色免费在线观看| 91痴汉| 一级黄色视频网| 激情久久久| 在线一区| 成全动漫视频观看免费下载| 久久激情视频| 九一国产精品| 无码人妻精品一区二区中文| 97在线免费看| 国产sv美女内射| 久草福利在线资源站| 绑缚麻绳人妻寝取完整版| 色妇综合网| 91干熟女| 青青草久久| 精品国产一区二区三区在线播出| 天天透伊人| 97视频免费播放| 自慰白浆在线观看| 99re6在线视频精品免费完整版安卓版| 青娱乐二区免费| 99久久com免费视频′| 美女黄页网站| 婷婷五月天丁香花| 91欧| 激情五月婷| 强乱老妇中文字幕| 噜噜噜亚洲精品| 欧美一二三级精品在线| 欧美性爱一内片一区二区三区| 国产精品久久久久婷婷二区次| 丰满的三级少妇欧美久久久| 欧美骚少妇| 日韩久久.一级黄色片| 97亚洲欧美日韩| 天天操人人操狠狠插| 91网站18在线| 国产精品一二三在线看| 视频在线中文字幕| 日日碰狠狠添天天爽超| 欧美亚洲韩国视频十五区| 精品中文字幕一区二区l - 百度| 久久偷拍人| 国产传媒操逼视频| 中国的操老妇女| 强奸乱伦av电影| 亚洲中文sv| 啊啊啊不要好疼视频| 日韩欧美亚洲自拍偷拍| 99热免费精品| 唐山老熟妇露脸啪啪叫| 啊啊啊水好多| 欧美色三级片91| 国产传媒午夜理伦精品| 一区二区亚州激情久婷婷欧美| 牛牛aV| 大香蕉日韩| 99re这里只有精品3| 日韩99精品视频综合区| 无码人妻丰满熟妇区毛片| 中文字幕在线日亚洲9| 日日摸天天爽夜夜欢| 天天摸夜夜摸| 成人三一级一片aaa| 大香蕉线| 黑人与人妻| 丁香五月激情婷婷| 激情小说图片亚洲首页| 天天色踪合| 大香蕉婷婷| 黄片qw| 人妻熟女一区二区三区视频| 欧洲中文字幕| 亚洲一区二区精品福利| 中国人高清www色视频免费| 亚洲Av噜噜一区二区三区妖精| 国产成人精品日本视频| 国产精品爆乳懂色蜜乳| 尤物视频偷拍免费| 亚洲AV资源| 亚洲精品a人片在线观看视| 天天射夜夜操| 久久九九热| 日日橹狠狠爱欧美超碰| 激情小说五月天| 欧美一级A片不卡视频。| 亚洲欧美黄| 中文一区二区| 玖玖综合色| 亚洲nv男人的天堂网| 日韩亚洲精品一区二区| 亚洲国产精品无码AV久久| 中文字幕无码不卡啪啪| 91撸色网 玖玖网 欧美| 日本天天操| 日韩在线观看字幕精品| 亚洲一区在线观看欧洲 | 欧美日韩另类在线| 91成人18| 97久久超碰日韩精品| 中文字幕一区二区三四五区日日骚| 超碰97精品在线| 91热爆在线| 久久精品中文字幕无码l| 偷拍 欧美 日韩| 精品国产乱码久久久久久蜜臀| 四虎精品一区| 热热色色综合| 是还免费视频1727我| 日韩一级二级在线| 九九热免费国产视频婷婷伊人五月 | 免费试看60秒| 超碰色97| 欧洲综合色| 99这里只有精品| wuyechaopeng| 国产精品久久久久久9999| 和协影院中文字幕三区| 女人一区| 伊人网在线观看| 91亚洲欧美色图| 欧美 传媒 麻豆 日韩 偷拍| 亚洲女优有码无码高清| 热热色色综合| 天天影视之亚洲综合网| 亚洲图片欧美另类综合免费视频大大香| 日韩电影天堂视频一区二区| 人人噜夜夜操| 加勒比五月天| 九九九九九九九九九九九蜜桃| 国产性爱欧美性爱在线| 亚洲十八禁止| 国产97在线播放| 中文字幕一区二区三区人妻不卡| 97国产|免费| 人妻精品一区二区| 久久久亚洲| 日韩免费在线观看不卡| 国产福利电影| 欧美精品99久久久**| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 国产91精品在线免费| 日韩电影在线观看网址| 被男人吃奶很爽的毛片| 青青伊人这里只有精品| 在线观看日韩av不卡| 久久99操天天日| 99国产精品| 亚州熟女乱伦| 一类无码操逼视频| 亚洲熟女中文字幕在线| 天天日天天操心| 人妻精品综合中文字幕在线| 日韩久久艹| 亚洲双插| 一级毛片电影免费看| 1人人看人人摸人人操| 国产综合网站在线播放 | 国产日韩手机视频在线| 91快色色色色色| 9999久久久久| 97这里都是精品| 99最新日韩偷拍视频| 免费视频97| 波多野结衣被操50分钟免费视频 | 自拍啪啪视频| 中文字幕天堂在线| 亚洲精品乱码久久久久久蜜桃麻豆| 色婷婷激情| 国产精品高潮久久AV| 午夜亚洲| 国产精品女生av| 91美女中出| 亚洲欧美国产va在线| 伊人麻豆传媒| 亚洲成人久久一区二区| 色综合中文字幕不卡| 天天操天天日青青草超碰av| 日韩福利电影网| 日本理论在线| 黄呦呦在线| 中文字幕一二三| 日韩精品亚洲专区在线影视| 精品射1999| 国产精选视频| av无码精品久久久久| 强上我不卡卡| 日韩有码专区| 日本精品高清一二区一本到| 一区二区三区蜜桃成人撸久久东京热| 欧美激情内射| 午夜理论片在线观看免费| 嗯嗯嗯啊啊啊操的我好爽| 日本一线产区和二线产区伦理片| 日韩性爱1级片视频| 欧美亚涩| 91制服丝袜| 欧美性爱十八禁| 夜夜国产一区| 天堂69亚洲精品中文字| 禁片 高清 在线观看视频网站| 97久久精品不卡| 岛国激情视频软件| 色av中文字幕| 1000部熟女视频在线观看| 在线黄页看毛片| 久久久久久人体| 另类一区| 麻豆a'v电影| 日韩国产成人自拍视频| 亚洲色资源| ,成人免费啪啪视频| 黄久久| 97色诱| 日本天堂网| 玖玖大干人妻| 俄罗斯一区二区视频在线观看| 婷婷香蕉| 久久视频,这里只有精品| 精品无码欧美三级| 99热精品在线观看| 在线播放中文字幕| 涩综合导航| 黄色香蕉视频网站一区| 中日韩一区二区三区欧美| 蜜臀久久99精品久久久电影| 9I1性色影院| 青青草原av| 久操视频在线观看| 人人做,人人操,人人摸| 欧美亚洲一级在线观看| 99re热有精品视频国产| 午夜超碰| 制服诱惑亚洲一区二区三区在线观看| 日日干夜夜操视频h| 69精品在线| 色综合色| 99精品久久久久久久婷婷| 少妇人妻在线| 91亚洲青青草原精品1区| 一区二区高清视频| 亚洲天堂电影精品一区| 国产精品成人蜜臀AV在线| 国产精品久久久久无码AV会牛| 国产欧美岛国精品一区| 色官网在线| 98一区二区精品| 欧美中文字幕一区 | 超碰97欧美在线 | 性爱av网站| 2020视频1区2区3区| av情色影音| 综合天天。| 97天堂| 99精品视频在线观看免费| 综合网色| 精品96久久| 60秒不遮不挡| 国产精品干干干| 精品 码产区一区二-1080P高清在线www-B029AV| 1024亚洲中文字幕久在线看片你懂的| 久久精品天美| 精品一区二区三区麻豆| 51久久夜色精品国产麻豆| 丁香婷婷色五月| 大香蕉92| 天天日天天搞天天干| 天美av在线观看| 青青草一区二区三区四| 亚洲 欧美 制服 另类 自拍| 99性爱视频| 骚鸭AV| 亚洲日韩美女中文字幕乱| 啊啊啊啊啊操我视频| 久久加勒比| 色色国产| 国产麻豆91欧美一区二区久久婷婷国产精品 | 日美免费黄片| 欧美78| 精品高清av中文字幕| 啊啊啊不要好疼视频| 91老司机精品| 婷婷尹人大香蕉免费| 99re28在线观看| 色五月婷婷麻豆在| 麻豆精品.欧美精品.日韩精品.| 激情专区综合| 久操免费电影| 99视频内射三四| 国产精品九九九| 中文字幕 一区二区 亚洲无码| 久久午夜色播影院免费高清| 亚洲色偷偷色噜噜狠狠99网| 99色网| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 青青草无码视频| 中文字幕一区二区三区蜜臀| 国产极品粉嫩馒头一线天av| 伊人热综合| 亚洲色婷婷久久久综合日本| 久久超碰网| 性色av婷婷久久一区二区点复制| 五月丁香综合激情| 精品免费1| 91精品人妻一区二区三区蜜桃臀| 久久精品天美| 日本午夜精品理论片A级APP发布| 综合久久97| 亚洲色五月| 久久99网站| 国产又粗又长又大的视频| 欧美亚州手机在线| 日本国产亚洲一区在线观看| 精品国产99| 午夜免费视频1000| 成人福利视频网| 国产伦精品| 成人熟女视频一区二区三区| 综合免费无码中文| 亚洲本色精品一区二区久久| 久久精品无码不卡| 天美精品一区二区三区四区在线观看| 亚洲天堂综合AV| 国产探花精品在线| 特级毛片特黄久久免费看| 精品一级| 九九综合九九综合| 特污精品女优骚货黄色视频在线免费观看| 91九色丰满高潮| 国产AV天美传媒一区二区三区 | 伊人黄色视频免费观看| 性开放中文AV高清无码免费看| 亚洲成人免费中文字幕| 蜜乳AV一区| 91人妻尻屄视频| 欧美另类色| 自拍视频大全亚洲专媒视频/一区二区三区 | 男人的天堂三级| 大逼色网站| 欧美综合网在线| 日韩三级在线观看网站| 成全在线观看免费观看| 国产精品久久久久久久黄无码| 亚洲综合中文字幕有码 | 中文字幕乱妇免费视频| 欧美91在线| 精品丝袜无码一区二区三APP| 色色色色日本| 久久丁香五月天| ss久久| 蜜桃久久精品一区二区三区| 啊啊啊啊在线播放| 婷婷午夜清品久久久久久久性色视频观| 老熟女综合| 成人一级性爱| 免费视频a级毛片免费视频| 精品少妇一区二区三区免费观看| 一区二区三区男女操逼黄色小电影| 高潮综合网| 欧美在线电影| 日韩av免费一级电影| 日本性爱少妇| 懂色综合久久久| 久热久操| 97视频免费播放| 久久久久久人妻一区精品色欧美| 欧美网站免费| 欧美成人精品一区二区三区| 超碰 国产熟女精品一区| 欧美AB在线| 国产欧美一级在线观看| 九九九九九九九精品视频| 亚洲中文字幕妇伦久久| 色偷偷色偷偷欧美日韩| 台湾佬大香蕉| 亚洲国产尤物yw在线观看| 亚洲高潮少妇| 少妇精品久久久八区九区| 富女玩鸭子一级毛片| 中文久久爆乳| 亚洲限制级| 超碰91在线| 91人人臊| 成人热久久精品| 91熟女视频| 强奸xx国产| 亚洲性少妇| 日本影视久久免费| 韩国一级婬片A片AAAAA| 97视频7| 亚洲精品97久久| 色官网在线| 日日噜噜夜夜久久亚洲一区二区| 欧美狠狠| 亚洲.欧美.丝袜.中文.综合| 亚洲AV在线资源| 国产a片操逼| 欧美最婬乱婬爆婬性视频 | 91老司机精品| 黄色欧美性爱视频| 狠狠夜色午夜久久综合在线| 亚洲天天操| 五月丁香在线| chaopen97久久| 久久精品国产亚洲AV嘿嘿| 1区2区3区在线视频| a啊啊啊啊啊啊啊啊一区二区| 国产精品视频一区二区三区八戒| 色诱avtt| 人人操,人人插| 麻豆久久久久久久久丝袜| 蜜臀久久99精品久久久久久酒店| 亚洲第一成人影院色播| 亚洲清纯唯美| 欧美东京热精品A∨| 中文字幕人乱码中文字的预防方法| 日韩黄色片子| 91久久午夜无码鲁丝片久久人妻| 男啪女色黄无遮挡免费观看| 久久久精品国产亚洲伊人| 自拍六区| 日韩熟妇二区| 亚洲激情视频| 欧洲天天在线| TS人妖另类精品视频系列| 国产白领连续中出在线观看| 秋霞午夜成人福利片片| 9久久9综合| 四虎午夜影院| 欧美韩国你懂得在线| 一区二区三区黄色片a| 国产乱码精品久久久久久| 99国产精品视频尤物| 中文字幕一区二区三四五区日日骚| 精品成人亚洲午夜电影| 国产精品国产| 不卡免费av在线播放| 久久久精品,3| 亚洲AV无码天美传媒一区| 热99这里有精品综合久久| 欧美有码亚洲中文字幕一区二区三区四区| 青娱乐淫乱1314| 日本不卡二三区| 中国一区二区亚洲人妻| 青草精品视频一日本久久久久网站| 五月丁香| 国产综合色精品在线观看| 歐美性天天| 国产乱伦一二三区| 久久久久久久9| 欧美中文字幕一区 | 熟妇高潮二区三区| 五月丁香综合激情| 人人搞人人插人人操| 超碰碰激情97+久| 久久婷婷综合国际产色怕| 亚洲熟女人妻中文字幕一区二区| 精品久久久av| 日本免费专区| 一二三区精品视频| 啊啊啊啊啊在线视频| 欧美久久伊人| 欧美亚洲天堂| 色综合久久夜色精品国产天堂| 性色av婷婷久久一区二区点复制| 1240青青草一区二区三区视频天爱| 97天天做| 91丨九色丨国产打屁股| 激情黄色片在线观看| 黄站在线免费观看| 亚州成人A√| 熟女人妻一区二区三区| 日韩有码回春沙龙第一页| 99热18这里只有精品| 五月婷在线| 亚洲激情综合另类男同| 美女黄页网站| 色欲色香天天天综合网www-亚洲综合国| 亚洲女毛多水多21P| 国产 日韩,欧美 自拍| 日韩八十路老熟女| 国产不卡精品91| 国产一区在线免费播放| 牛牛AV人人夜夜澡人人爽| 91狠狠狠| 欧亚日韩三区| 九九热免费国产视频婷婷伊人五月 | 粉嫩av平台| 韩日欧亚a级| 裸体美女久久久| 男人天堂.AB| 天天躁日日躁AAAXX| 国产精品一区av在线| 啊啊啊啊网站| 麻豆天天躁天天揉揉AV| 久久同城AV| 国产a级精品| 69超碰综合| 国产精品一区二区黄片| 中日亚韩免费视频| A级片日韩欧美国产欧美视频精选观看| 91热热色| 亚洲加勒比色图| 久操网在线| 天天日日日射| 韩国一区二区精品亚洲| 国产成人无码久久精品| 人人摸人人摸人人干| 内射夫妻三片| 天天干人人看综合| 78超碰| 欧美 亚洲精品首页| 2020中文字幕在线| 日韩人妻丝袜美腿中文| 91精品婷婷国产综合久久竹菊| 人妻密肉在线观看| 999日韩中文精品观看视频。| 久久婷婷精品| 婷婷五月av| 久久草大香蕉| 97在线精品| 丁香六月激情| 狠狠操狠狠爱| 三级三级三级日本99| 久热99| 很很干很很操| 天天综合AV| 97色在线观看| 久久久久久大| 日韩少妇丰满亚洲| 国产污视频麻豆传媒一区二区 | 老熟女乱伦一区| 亚洲色欲天天天堂色欲网女| 亚洲国产成人7777| 日韩性爱视频在线免费观看| 操逼视频色| 欧美人妻久久精品二区三区| 青娱乐国产精品| 天天看,天天做| 99热色精品| 麻豆天美国美国产| 亚洲一二三四区机械| 久久久18禁| 国产精品国产| 亚洲男人天堂2017| 亚洲欧美成人网站AAA| 亚洲国产成人精品999|