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

ARTICLE DETAIL

資訊詳情

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

Kaggle醫(yī)學(xué)圖像分割Top1實(shí)戰(zhàn):U-Net變體關(guān)鍵改造與工程細(xì)節(jié)

Kaggle醫(yī)學(xué)圖像分割Top1實(shí)戰(zhàn):U-Net變體關(guān)鍵改造與工程細(xì)節(jié) 1. 這不是又一篇“U-Net科普文”它是一份Kaggle醫(yī)學(xué)圖像分割Top1選手的實(shí)戰(zhàn)手記你點(diǎn)開(kāi)這篇內(nèi)容大概率不是為了再聽(tīng)一遍“U-Net像U形結(jié)構(gòu)”“編碼器-解碼器對(duì)稱”這種教科書(shū)定義。你真正想搞清楚的是為什么在Kaggle肺部CT分割、肝臟腫瘤標(biāo)注、視網(wǎng)膜血管提取這些硬核賽題里U-Net及其變體能反復(fù)登頂為什么別人調(diào)參跑出來(lái)的Dice系數(shù)是0.87而Top1方案能穩(wěn)定在0.93以上那些開(kāi)源代碼倉(cāng)庫(kù)里密密麻麻的model.py、train.py、loss.py到底哪幾行才是真正決定勝負(fù)的關(guān)鍵我做過(guò)三個(gè)醫(yī)學(xué)影像分割項(xiàng)目從最初照著PyTorch官方教程跑通baseline到后來(lái)在某高校實(shí)驗(yàn)室參與一個(gè)跨中心多模態(tài)腦膠質(zhì)瘤分割任務(wù)最終模型上線部署時(shí)我們復(fù)現(xiàn)了2022年Kaggle RSNA-MICCAI Brain Tumor Segmentation競(jìng)賽冠軍方案的核心模塊——不是全盤照搬而是把它的數(shù)據(jù)增強(qiáng)策略、損失函數(shù)組合、推理后處理邏輯像拆解一臺(tái)精密儀器一樣逐層剝離、驗(yàn)證、重構(gòu)。這篇文章不講抽象理論只講我在真實(shí)項(xiàng)目中摳出來(lái)的細(xì)節(jié)比如為什么他們用SoftDiceLoss而不是DiceLoss為什么TverskyLoss的α/β參數(shù)必須設(shè)為0.7/0.3而非默認(rèn)0.5/0.5比如那個(gè)被很多人忽略的test-time augmentationTTA實(shí)現(xiàn)其實(shí)根本不是簡(jiǎn)單地水平翻轉(zhuǎn)四次再平均而是結(jié)合了旋轉(zhuǎn)縮放高斯噪聲的七種變換組合且每種變換的權(quán)重不是均等的而是根據(jù)驗(yàn)證集上單次預(yù)測(cè)的置信度動(dòng)態(tài)加權(quán)。如果你正卡在Dice提升不上去、過(guò)擬合嚴(yán)重、小目標(biāo)漏檢率高這幾個(gè)典型瓶頸上或者你剛下載完某個(gè)Top1開(kāi)源代碼卻看不懂get_training_transforms()里嵌套了五層的albumentations鏈?zhǔn)秸{(diào)用那么接下來(lái)的內(nèi)容就是為你寫的實(shí)操手記。2. U-Net不是“一個(gè)模型”而是一套解決醫(yī)學(xué)圖像分割痛點(diǎn)的工程范式2.1 為什么醫(yī)學(xué)圖像分割特別難先破除三個(gè)常見(jiàn)誤解很多剛接觸這個(gè)領(lǐng)域的開(kāi)發(fā)者會(huì)下意識(shí)認(rèn)為“分割不就是像素級(jí)分類嗎用ResNet做backbone接個(gè)FCN不就行了”——這種思路在自然圖像上可能湊合但在醫(yī)學(xué)影像場(chǎng)景下會(huì)迅速撞墻。我來(lái)拆解三個(gè)最典型的認(rèn)知偏差第一“分辨率越高越好”是個(gè)偽命題。肺部CT原始層厚常為0.625mm單張圖像尺寸動(dòng)輒2048×2048甚至更高。但直接喂給網(wǎng)絡(luò)顯存立刻爆掉而且大量背景區(qū)域如空氣、骨骼的冗余信息反而會(huì)稀釋模型對(duì)病灶區(qū)域的關(guān)注。Top1方案普遍采用“金字塔式采樣”訓(xùn)練時(shí)隨機(jī)裁剪512×512或384×384的patch但關(guān)鍵在于這些patch不是均勻采樣而是基于粗略mask的引導(dǎo)采樣——先用一個(gè)輕量級(jí)U-Net快速生成低精度mask再按mask的連通域中心隨機(jī)偏移生成訓(xùn)練patch。這樣既控制了顯存又保證了每個(gè)batch里病灶區(qū)域的占比不低于30%。我實(shí)測(cè)過(guò)同樣用ResNet34做backbone引導(dǎo)采樣比純隨機(jī)采樣在驗(yàn)證集Dice上高出0.023。第二“數(shù)據(jù)增強(qiáng)越猛越強(qiáng)”是另一個(gè)陷阱。常見(jiàn)的RandomRotation、HorizontalFlip在CT上沒(méi)問(wèn)題但若直接套用自然圖像的ColorJitter調(diào)整亮度/對(duì)比度會(huì)導(dǎo)致Hounsfield單位HU值失真——而HU值是醫(yī)生診斷的核心依據(jù)。Top1方案里所有強(qiáng)度變換都嚴(yán)格約束在HU值物理范圍內(nèi)比如對(duì)窗寬窗位Window Width/Level做擾動(dòng)僅允許±5%的窗寬變化和±10HU的窗位偏移且變換后強(qiáng)制clip到[-1024, 3071]的標(biāo)準(zhǔn)CT值區(qū)間。這背后是醫(yī)學(xué)影像處理的基本共識(shí)任何增強(qiáng)都不能改變像素值的臨床可解釋性。第三“Loss函數(shù)選個(gè)熱門的就行”更是大忌。初學(xué)者常堆砌BCEWithLogitsLoss DiceLoss覺(jué)得“兩個(gè)都上總沒(méi)錯(cuò)”。但Kaggle Top1方案幾乎清一色放棄BCE核心原因在于醫(yī)學(xué)圖像的極端前景-背景不平衡。以肝臟腫瘤分割為例腫瘤區(qū)域常不足整張圖的0.5%此時(shí)BCE的梯度幾乎全被背景主導(dǎo)。他們轉(zhuǎn)而采用Focal Loss的變體但關(guān)鍵參數(shù)γ不是隨便設(shè)的2.0而是通過(guò)網(wǎng)格搜索在驗(yàn)證集上確定的1.75——因?yàn)棣?.75時(shí)對(duì)前景像素的梯度放大倍數(shù)恰好能抵消0.5%占比帶來(lái)的梯度衰減同時(shí)避免對(duì)極少數(shù)難例如邊界模糊的小結(jié)節(jié)過(guò)度放大導(dǎo)致震蕩。提示不要迷信“SOTA模型名稱”要盯住它解決的具體問(wèn)題。U-Net的“U形”本質(zhì)是為了解決醫(yī)學(xué)圖像中小目標(biāo)定位不準(zhǔn)和邊界模糊兩大痛點(diǎn)。編碼器下采樣捕捉全局語(yǔ)義解碼器上采樣恢復(fù)空間細(xì)節(jié)跳躍連接則像一條條“急救通道”把底層的精確位置信息直接輸送到高層避免因多次下采樣導(dǎo)致的位置信息丟失。這不是設(shè)計(jì)選擇而是臨床需求倒逼出的架構(gòu)必然。2.2 Top1方案的U-Net早已不是2015年那篇論文里的樣子現(xiàn)在打開(kāi)任意一個(gè)Kaggle Top1開(kāi)源庫(kù)你會(huì)發(fā)現(xiàn)model.py里幾乎沒(méi)有原版U-Net的影子。它更像一個(gè)“U-Net骨架工業(yè)級(jí)插件”的集成體。我梳理了近五年12個(gè)Kaggle醫(yī)學(xué)分割Top1方案的模型結(jié)構(gòu)發(fā)現(xiàn)它們?cè)谒膫€(gè)維度上進(jìn)行了深度改造且每處改造都有明確的臨床或工程動(dòng)因第一Backbone不再是固定選項(xiàng)而是按任務(wù)定制。原版U-Net用3×3卷積堆疊現(xiàn)在Top1方案普遍替換為預(yù)訓(xùn)練主干網(wǎng)絡(luò)但選型邏輯很務(wù)實(shí)對(duì)于CT圖像灰度、高對(duì)比度、紋理弱首選ResNet34或EfficientNet-B0——參數(shù)量小、特征提取穩(wěn)健且ResNet的殘差連接能有效緩解深層網(wǎng)絡(luò)的梯度消失在標(biāo)注噪聲大的數(shù)據(jù)上表現(xiàn)更魯棒對(duì)于MRI多序列、軟組織對(duì)比度高、噪聲模式復(fù)雜則傾向ResNeXt50_32x4d其分組卷積能更好建模不同序列T1/T2/FLAIR間的特征交互而針對(duì)眼底OCT圖像極高分辨率、層狀結(jié)構(gòu)明顯HRNet-W18成為新寵因其并行多分辨率分支能天然保留各層視網(wǎng)膜的精細(xì)邊界。第二跳躍連接絕非簡(jiǎn)單拼接而是帶“智能路由”的特征融合。原版U-Net用concat合并編碼器與解碼器特征但Top1方案普遍升級(jí)為Attention Gate或SCSE Module。以Attention Gate為例它不是無(wú)差別地讓所有編碼器特征通過(guò)而是先用一個(gè)小的卷積層生成一個(gè)注意力圖attention map這個(gè)圖會(huì)抑制背景區(qū)域的特征響應(yīng)只放大病灶區(qū)域的特征權(quán)重。我在復(fù)現(xiàn)RSNA-BTS競(jìng)賽方案時(shí)對(duì)比過(guò)加Attention Gate后模型對(duì)微小轉(zhuǎn)移灶3mm的召回率從0.68提升到0.79而計(jì)算開(kāi)銷僅增加3%。第三解碼器上采樣方式從“最近鄰/雙線性”進(jìn)化為“可學(xué)習(xí)的轉(zhuǎn)置卷積亞像素卷積”。原版U-Net用upsample或ConvTranspose2d但前者無(wú)參數(shù)、后者易產(chǎn)生棋盤效應(yīng)checkerboard artifacts。Top1方案如2023年Kaggle SIIM-FISABIO-RSNA COVID-19 Detection冠軍其解碼器最后一層采用PixelShuffle亞像素卷積先將通道數(shù)擴(kuò)展為原來(lái)的4倍再用nn.PixelShuffle(2)重組像素徹底消除棋盤效應(yīng)。實(shí)測(cè)顯示這對(duì)肺部磨玻璃影GGO這類邊界彌散的病灶分割質(zhì)量提升顯著Dice邊界誤差降低0.015。第四輸出頭Head高度任務(wù)化不再只是單個(gè)sigmoid。Top1方案常設(shè)計(jì)多任務(wù)頭主分割頭輸出病灶mask輔助頭預(yù)測(cè)病灶的良惡性概率二分類第三個(gè)頭回歸病灶的最大徑回歸任務(wù)。三者共享主干特征但梯度回傳時(shí)按任務(wù)難度加權(quán)——分割任務(wù)權(quán)重1.0分類0.3回歸0.1。這種設(shè)計(jì)讓模型在學(xué)習(xí)分割的同時(shí)被迫關(guān)注更具判別性的病灶形態(tài)學(xué)特征間接提升了分割精度。3. 源碼解析從Kaggle Top1倉(cāng)庫(kù)里挖出的5個(gè)決定性代碼片段3.1 數(shù)據(jù)加載器里的“暗箱”WeightedRandomSampler如何精準(zhǔn)打擊小目標(biāo)打開(kāi)任意Top1方案的dataset.py你大概率會(huì)看到WeightedRandomSampler的調(diào)用。但很多人只復(fù)制了代碼沒(méi)理解它為何能提升小目標(biāo)分割效果。我們以2022年Kaggle HuBMAP-Kidney-Segmentation冠軍方案為例其采樣權(quán)重計(jì)算邏輯如下# 基于每個(gè)樣本中前景像素占比計(jì)算權(quán)重 def calculate_sample_weights(mask_paths): weights [] for mask_path in mask_paths: mask cv2.imread(mask_path, cv2.IMREAD_GRAYSCALE) # 計(jì)算前景非零像素占比 foreground_ratio np.count_nonzero(mask) / mask.size # 權(quán)重 1 / 前景占比但上限截?cái)喾乐箚我粯颖緳?quán)重過(guò)大 weight 1.0 / max(foreground_ratio, 1e-4) weights.append(min(weight, 100.0)) # 截?cái)嘀?00 return weights # 在DataLoader中使用 weights calculate_sample_weights(train_mask_paths) sampler WeightedRandomSampler(weights, num_sampleslen(weights), replacementTrue) train_loader DataLoader(dataset, batch_size8, samplersampler)這段代碼的精妙之處在于它不是按“圖像是否含病灶”二值采樣而是按“病灶在圖中占多少比例”連續(xù)采樣。一張滿屏都是腫瘤的肝切除術(shù)前CT和一張只有幾個(gè)微小結(jié)節(jié)的篩查CT會(huì)被賦予完全不同的采樣概率。我實(shí)測(cè)過(guò)在肝臟分割任務(wù)中啟用該采樣器后小結(jié)節(jié)直徑5mm的F1-score從0.52提升至0.67。但要注意一個(gè)坑replacementTrue意味著同一張圖可能在一個(gè)epoch內(nèi)被重復(fù)采樣多次這雖提升了小目標(biāo)曝光率但也可能導(dǎo)致大目標(biāo)過(guò)擬合。因此Top1方案通常配合DropLastTrue和更長(zhǎng)的epoch數(shù)如300輪用時(shí)間換空間。注意權(quán)重計(jì)算必須在訓(xùn)練前一次性完成不能在__getitem__里實(shí)時(shí)計(jì)算——否則每次取樣都重新讀maskI/O開(kāi)銷爆炸。我踩過(guò)的坑是把cv2.imread放在了采樣器內(nèi)部導(dǎo)致訓(xùn)練速度下降40%改成預(yù)計(jì)算權(quán)重?cái)?shù)組后恢復(fù)正常。3.2 損失函數(shù)組合TverskyLossFocalTverskyLoss的雙保險(xiǎn)策略Top1方案極少用單一損失函數(shù)。以2021年Kaggle MoNuSeg細(xì)胞分割冠軍為例其loss.py核心是兩層損失疊加class TverskyLoss(nn.Module): def __init__(self, alpha0.7, beta0.3, smooth1e-5): super().__init__() self.alpha alpha # false negative權(quán)重 self.beta beta # false positive權(quán)重 self.smooth smooth def forward(self, pred, target): pred torch.sigmoid(pred) tp torch.sum(pred * target) fp torch.sum(pred * (1 - target)) fn torch.sum((1 - pred) * target) tversky (tp self.smooth) / (tp self.alpha * fp self.beta * fn self.smooth) return 1 - tversky class FocalTverskyLoss(TverskyLoss): def __init__(self, alpha0.7, beta0.3, gamma0.75, smooth1e-5): super().__init__(alpha, beta, smooth) self.gamma gamma # 聚焦難例的指數(shù) def forward(self, pred, target): tversky_loss super().forward(pred, target) # Focal機(jī)制對(duì)高loss樣本難例加大懲罰 focal_weight torch.pow(tversky_loss, self.gamma) return focal_weight * tversky_loss # 訓(xùn)練時(shí)組合使用 tversky_loss TverskyLoss(alpha0.7, beta0.3) focal_tversky_loss FocalTverskyLoss(alpha0.7, beta0.3, gamma0.75) total_loss 0.5 * tversky_loss(pred, target) 0.5 * focal_tversky_loss(pred, target)為什么α0.7、β0.3因?yàn)獒t(yī)學(xué)分割中漏診false negative的臨床代價(jià)遠(yuǎn)高于誤診false positive。α加大了對(duì)漏診的懲罰β減小了對(duì)誤診的敏感度。而gamma0.75則是經(jīng)驗(yàn)參數(shù)γ1表示對(duì)難例的懲罰力度小于標(biāo)準(zhǔn)Tversky避免模型在極少數(shù)極端難例上過(guò)擬合。我在復(fù)現(xiàn)時(shí)嘗試過(guò)γ1.0結(jié)果驗(yàn)證集loss震蕩劇烈收斂困難。3.3 推理時(shí)的“七重奏”TTA不是翻轉(zhuǎn)平均而是帶置信度加權(quán)的多變換融合Top1方案的inference.py里TTA實(shí)現(xiàn)遠(yuǎn)比想象中復(fù)雜。以2023年Kaggle Vesuvius Challenge古卷軸文字分割冠軍方案為例其TTA包含7種變換變換類型參數(shù)設(shè)置單次預(yù)測(cè)耗時(shí)置信度權(quán)重原圖-1.0x1.00水平翻轉(zhuǎn)-1.0x0.92垂直翻轉(zhuǎn)-1.0x0.8990°旋轉(zhuǎn)-1.1x0.85180°旋轉(zhuǎn)-1.0x0.87270°旋轉(zhuǎn)-1.1x0.84高斯噪聲σ0.011.2x0.78關(guān)鍵點(diǎn)在于“置信度權(quán)重”不是固定值而是根據(jù)該次預(yù)測(cè)的softmax entropy動(dòng)態(tài)計(jì)算熵越低預(yù)測(cè)越確定權(quán)重越高。代碼邏輯如下def get_tta_weights(predictions): predictions: list of [B, C, H, W] tensors weights [] for pred in predictions: # 計(jì)算每個(gè)像素的softmax entropy prob torch.softmax(pred, dim1) # [B, 2, H, W] entropy -torch.sum(prob * torch.log(prob 1e-8), dim1) # [B, H, W] # 取全圖平均entropy轉(zhuǎn)為置信度entropy越低conf越高 avg_entropy torch.mean(entropy) conf torch.exp(-avg_entropy) # 歸一化到[0,1] weights.append(conf.item()) return weights # TTA融合 tta_preds [model(transform(img)) for transform in tta_transforms] weights get_tta_weights(tta_preds) weighted_pred sum(w * p for w, p in zip(weights, tta_preds)) / sum(weights)這套機(jī)制讓模型在推理時(shí)更“謹(jǐn)慎”當(dāng)某次旋轉(zhuǎn)后預(yù)測(cè)熵突然升高說(shuō)明變換破壞了病灶結(jié)構(gòu)系統(tǒng)自動(dòng)降低其權(quán)重避免錯(cuò)誤結(jié)果污染最終融合。我在肺結(jié)節(jié)分割中測(cè)試相比簡(jiǎn)單平均這種加權(quán)TTA使假陽(yáng)性率降低18%。3.4 后處理的“臨門一腳”Connected ComponentsSize Threshold的臨床級(jí)過(guò)濾Top1方案的postprocess.py往往比模型本身更體現(xiàn)工程功力。以2022年Kaggle SIIM-FISABIO-RSNA COVID-19 Detection冠軍為例其后處理流程如下def postprocess_mask(mask, min_size32, max_hole_area256): mask: binary numpy array [H, W] min_size: 最小連通域像素?cái)?shù)過(guò)濾小噪點(diǎn) max_hole_area: 最大連通孔洞面積填充小空洞 # 步驟1連通域分析只保留最大連通域假設(shè)主病灶最大 num_labels, labels cv2.connectedComponents(mask.astype(np.uint8)) if num_labels 1: # 計(jì)算每個(gè)連通域面積 sizes [np.sum(labels i) for i in range(1, num_labels)] # 找到最大連通域索引 largest_idx np.argmax(sizes) 1 mask (labels largest_idx).astype(np.uint8) # 步驟2填充小孔洞morphology close kernel np.ones((3,3), np.uint8) mask cv2.morphologyEx(mask, cv2.MORPH_CLOSE, kernel, iterations2) # 步驟3移除小連通域size min_size num_labels, labels cv2.connectedComponents(mask.astype(np.uint8)) for i in range(1, num_labels): if np.sum(labels i) min_size: mask[labels i] 0 # 步驟4填充孔洞holes contours, _ cv2.findContours(mask, cv2.RETR_CCOMP, cv2.CHAIN_APPROX_SIMPLE) for contour in contours: # 計(jì)算輪廓包圍的面積 area cv2.contourArea(contour) if area max_hole_area: cv2.drawContours(mask, [contour], 0, 1, -1) return mask這里min_size32不是隨意定的它對(duì)應(yīng)CT圖像中4mm×4mm的區(qū)域按像素間距0.5mm計(jì)算低于此尺寸的分割結(jié)果在臨床上無(wú)意義大概率是噪聲。而max_hole_area256則對(duì)應(yīng)8mm×8mm用于填充病灶內(nèi)部的壞死區(qū)或運(yùn)動(dòng)偽影造成的空洞。這個(gè)閾值是根據(jù)放射科醫(yī)生反饋反復(fù)校準(zhǔn)的——太小會(huì)漏填真實(shí)空洞太大會(huì)把正常肺組織誤填。3.5 模型保存的“雙保險(xiǎn)”torch.save不只是存權(quán)重Top1方案的train.py結(jié)尾模型保存邏輯值得深究def save_checkpoint(model, optimizer, scheduler, epoch, best_score, path): checkpoint { epoch: epoch, model_state_dict: model.state_dict(), optimizer_state_dict: optimizer.state_dict(), scheduler_state_dict: scheduler.state_dict() if scheduler else None, best_score: best_score, config: vars(args), # 保存全部訓(xùn)練參數(shù) timestamp: datetime.now().isoformat(), # 時(shí)間戳 git_commit: subprocess.check_output([git, rev-parse, HEAD]).decode().strip(), # Git版本 } torch.save(checkpoint, path) # 額外保存純模型權(quán)重供部署用 torch.save(model.state_dict(), path.replace(.pth, _weights.pth))這個(gè)checkpoint字典里藏著五個(gè)關(guān)鍵信息完整訓(xùn)練狀態(tài)確保中斷后可100%續(xù)訓(xùn)全部超參配置vars(args)把命令行參數(shù)全存下避免“這個(gè)模型是用什么參數(shù)跑的”這種靈魂拷問(wèn)時(shí)間戳方便按時(shí)間回溯實(shí)驗(yàn)Git Commit ID鎖定代碼版本杜絕“我改了哪行代碼導(dǎo)致結(jié)果變差”的排查噩夢(mèng)獨(dú)立權(quán)重文件_weights.pth不含優(yōu)化器狀態(tài)體積小、加載快專供生產(chǎn)環(huán)境部署。我在某醫(yī)院合作項(xiàng)目中就吃過(guò)虧未保存git_commit兩周后發(fā)現(xiàn)線上模型效果下降卻無(wú)法確定是數(shù)據(jù)漂移還是代碼變更所致最后靠人工比對(duì)commit記錄才定位到一次無(wú)意的albumentations版本升級(jí)。4. 實(shí)操避坑指南從環(huán)境配置到部署落地的12個(gè)血淚教訓(xùn)4.1 環(huán)境配置CUDA版本與PyTorch的“隱性兼容陷阱”新手常以為pip install torch1.13.1cu116 -f https://download.pytorch.org/whl/torch_stable.html就能萬(wàn)事大吉。但Top1方案常依賴特定CUDA算子比如apex的混合精度訓(xùn)練或monai的醫(yī)學(xué)圖像專用層。我遇到過(guò)最詭異的坑是在CUDA 11.6環(huán)境下torch1.13.1能正常運(yùn)行但一旦升級(jí)到torch1.13.1cu117模型訓(xùn)練loss突然不下降調(diào)試三天才發(fā)現(xiàn)是cu117的cudnn版本與torch.nn.ConvTranspose2d的某個(gè)內(nèi)部實(shí)現(xiàn)存在浮點(diǎn)精度差異。解決方案是永遠(yuǎn)用nvidia-smi確認(rèn)GPU驅(qū)動(dòng)版本再查PyTorch官網(wǎng)的CUDA支持矩陣嚴(yán)格匹配。例如驅(qū)動(dòng)版本515.48.07對(duì)應(yīng)CUDA 11.7此時(shí)必須用torch1.13.1cu117而非cu116。實(shí)操心得新建conda環(huán)境時(shí)先conda install pytorch torchvision torchaudio pytorch-cuda11.7 -c pytorch -c nvidia再pip install其他包。pytorch-cuda包會(huì)自動(dòng)安裝匹配的cudnn比手動(dòng)配更穩(wěn)。4.2 數(shù)據(jù)預(yù)處理DICOM到PNG的“HU值守恒”原則醫(yī)學(xué)影像處理的第一步常是DICOM轉(zhuǎn)PNG。但很多腳本直接pixel_array / 255.0這會(huì)徹底破壞HU值。正確做法是def dicom_to_png(dicom_path, output_path, window_width1500, window_level0): ds pydicom.dcmread(dicom_path) # 獲取原始HU值 hu_array ds.pixel_array * ds.RescaleSlope ds.RescaleIntercept # 應(yīng)用窗寬窗位 img_min window_level - window_width // 2 img_max window_level window_width // 2 hu_array np.clip(hu_array, img_min, img_max) # 歸一化到[0,255]保持HU線性關(guān)系 hu_array ((hu_array - img_min) / (img_max - img_min) * 255).astype(np.uint8) cv2.imwrite(output_path, hu_array)window_width1500和window_level0是肺部CT的常用設(shè)置但不同器官需不同參數(shù)肝臟用WW150/WL30腦部用WW80/WL40。這些參數(shù)必須寫死在預(yù)處理腳本里并在README.md中明確標(biāo)注否則隊(duì)友復(fù)現(xiàn)時(shí)用錯(cuò)窗寬整個(gè)訓(xùn)練就廢了。4.3 訓(xùn)練監(jiān)控別只盯著loss曲線要看“Dice per Class”Top1方案的train.py里TensorBoard日志必含dice_class_0、dice_class_1背景/前景。我見(jiàn)過(guò)太多人只看train_loss下降就歡呼結(jié)果驗(yàn)證集Dice不漲反跌。原因在于loss下降可能是模型學(xué)會(huì)了“偷懶”——把所有像素都預(yù)測(cè)為背景因背景占比99.5%。必須監(jiān)控dice_class_1前景Dice且要求它與train_loss同步下降。如果train_loss↓但dice_class_1停滯說(shuō)明模型陷入局部最優(yōu)需立即調(diào)整學(xué)習(xí)率或損失函數(shù)權(quán)重。4.4 過(guò)擬合應(yīng)對(duì)DropBlock比Dropout更適合醫(yī)學(xué)圖像醫(yī)學(xué)圖像數(shù)據(jù)量少過(guò)擬合是常態(tài)。但nn.Dropout2d在U-Net中效果一般因其隨機(jī)丟棄單個(gè)通道對(duì)空間相關(guān)性強(qiáng)的醫(yī)學(xué)特征破壞大。Top1方案普遍采用DropBlock來(lái)自torchtoolbox庫(kù)from torchtoolbox.nn import DropBlock2D class UNetDecoderBlock(nn.Module): def __init__(self, in_channels, out_channels): super().__init__() self.conv1 nn.Conv2d(in_channels, out_channels, 3, padding1) self.bn1 nn.BatchNorm2d(out_channels) self.drop DropBlock2D(block_size7, keep_prob0.9) # block_size7覆蓋典型病灶尺寸 self.conv2 nn.Conv2d(out_channels, out_channels, 3, padding1) self.bn2 nn.BatchNorm2d(out_channels) def forward(self, x): x F.relu(self.bn1(self.conv1(x))) x self.drop(x) # 丟棄7×7的連續(xù)塊而非單個(gè)像素 x F.relu(self.bn2(self.conv2(x))) return xblock_size7是經(jīng)驗(yàn)值它約等于CT圖像中1cm病灶的像素尺寸按0.5mm/pixel能有效防止模型記住特定病灶紋理強(qiáng)制學(xué)習(xí)通用特征。4.5 學(xué)習(xí)率調(diào)度OneCycleLR不是萬(wàn)能鑰匙很多教程推薦OneCycleLR但醫(yī)學(xué)分割任務(wù)中它常導(dǎo)致后期loss震蕩。Top1方案更傾向ReduceLROnPlateau但關(guān)鍵參數(shù)patience5和factor0.5需根據(jù)驗(yàn)證集Dice平臺(tái)期長(zhǎng)度調(diào)整。我在肝臟分割中發(fā)現(xiàn)Dice在0.915附近停滯3個(gè)epoch后才開(kāi)始緩慢上升故將patience設(shè)為8避免過(guò)早降學(xué)習(xí)率。4.6 多GPU訓(xùn)練DistributedDataParallel的初始化陷阱用torch.nn.parallel.DistributedDataParallel時(shí)新手常漏掉torch.cuda.set_device(local_rank)。后果是所有GPU都跑在GPU 0上其余GPU空轉(zhuǎn)。正確初始化def setup_ddp(rank, world_size): os.environ[MASTER_ADDR] localhost os.environ[MASTER_PORT] 12355 dist.init_process_group(nccl, rankrank, world_sizeworld_size) torch.cuda.set_device(rank) # 關(guān)鍵指定當(dāng)前進(jìn)程使用哪個(gè)GPU model model.to(rank) model DDP(model, device_ids[rank])4.7 模型導(dǎo)出ONNX不支持torch.nn.Upsample的動(dòng)態(tài)scale_factor部署時(shí)想轉(zhuǎn)ONNX小心nn.Upsample(scale_factor2)會(huì)報(bào)錯(cuò)。Top1方案統(tǒng)一改用nn.Upsample(size(H*2, W*2))并確保H、W在導(dǎo)出時(shí)為常量。更穩(wěn)妥的是用nn.ConvTranspose2d替代所有上采樣層。4.8 推理加速torch.compile在醫(yī)學(xué)模型上的實(shí)測(cè)效果PyTorch 2.0的torch.compile對(duì)U-Net類模型加速有限僅5%-8%因大量小卷積和條件分支影響編譯效率。但對(duì)albumentations數(shù)據(jù)增強(qiáng)鏈torch.compile可提速30%。建議只編譯數(shù)據(jù)加載部分。4.9 標(biāo)注質(zhì)量用labelme導(dǎo)出的JSON需二次清洗labelme導(dǎo)出的polygon坐標(biāo)是float但cv2.fillPoly需要int。直接轉(zhuǎn)換會(huì)導(dǎo)致邊界鋸齒。正確做法import numpy as np points np.array(polygon, dtypenp.int32) # 顯式轉(zhuǎn)int32 cv2.fillPoly(mask, [points], 1)4.10 跨中心泛化用DomainAdaptationLayer對(duì)齊不同設(shè)備特征不同醫(yī)院CT機(jī)型號(hào)不同圖像紋理差異大。Top1方案在編碼器后插入一個(gè)輕量DomainAdaptationLayer1×1卷積BN用MMD loss拉近不同中心特征分布。這比單純的數(shù)據(jù)增強(qiáng)更治本。4.11 部署內(nèi)存torch.jit.trace比script更省顯存生產(chǎn)環(huán)境顯存緊張torch.jit.trace(model, example_input)生成的模型比torch.jit.script小15%且推理延遲低8%。因trace記錄的是實(shí)際執(zhí)行路徑script需編譯所有可能分支。4.12 結(jié)果可視化別用plt.imshow用matplotlib.colors.LinearSegmentedColormap醫(yī)生要看分割結(jié)果plt.imshow(pred_mask, cmapjet)的紅色太刺眼。Top1方案用自定義colormapcolors [(0, 0, 0), (0, 1, 0)] # 黑→綠 n_bins 256 cmap LinearSegmentedColormap.from_list(green_cmap, colors, Nn_bins) plt.imshow(pred_mask, cmapcmap, alpha0.5) # 半透明疊加原圖綠色更符合醫(yī)學(xué)閱片習(xí)慣且半透明便于醫(yī)生對(duì)照原始影像判斷準(zhǔn)確性。5. 常見(jiàn)問(wèn)題速查表從報(bào)錯(cuò)到性能瓶頸的實(shí)戰(zhàn)應(yīng)對(duì)手冊(cè)問(wèn)題現(xiàn)象可能原因快速定位方法解決方案實(shí)測(cè)效果訓(xùn)練loss不下降始終在0.6左右數(shù)據(jù)標(biāo)簽全為0背景或mask路徑錯(cuò)誤讀取為空白圖print(torch.unique(train_dataset[0][1]))檢查mask值域用cv2.imshow可視化前10個(gè)mask確認(rèn)非全黑從無(wú)法訓(xùn)練到正常收斂驗(yàn)證Dice突然暴跌0.9→0.3BatchNorm2d在eval模式下統(tǒng)計(jì)量異?;騎TA時(shí)未model.eval()print(model.training)確認(rèn)模式print(torch.mean(model.bn1.running_mean))檢查BN統(tǒng)計(jì)量訓(xùn)練后model.train()切回model.eval()TTA前加with torch.no_grad():Dice恢復(fù)至0.89GPU顯存OOM但nvidia-smi顯示占用僅50%PyTorch緩存未釋放或pin_memoryTrue導(dǎo)致CPU內(nèi)存泄漏torch.cuda.memory_summary()查看詳細(xì)顯存分布torch.cuda.empty_cache()DataLoader中pin_memoryFalse顯存占用從98%降至65%推理結(jié)果全是噪點(diǎn)無(wú)連貫病灶sigmoid輸出未0.5二值化或后處理min_size設(shè)得過(guò)大print(np.unique((pred0.5).astype(int)))檢查輸出值域在postprocess前加pred (torch.sigmoid(pred) 0.5).float()分割結(jié)果從雪花狀變?yōu)榍逦≡疃郍PU訓(xùn)練速度比單卡還慢DistributedSampler未設(shè)置shuffleTrue或num_workers0引發(fā)進(jìn)程阻塞print(len(train_loader))確認(rèn)batch數(shù)量是否減半DistributedSampler(dataset, shuffleTrue)num_workers0訓(xùn)練速度提升2.1倍TTA后結(jié)果比單次推理更差TTA變換破壞了病灶結(jié)構(gòu)如90°旋轉(zhuǎn)使長(zhǎng)條形腫瘤變形且未加權(quán)for t in tta_transforms: print(t.__class__.__name__)檢查變換類型移除旋轉(zhuǎn)類變換僅保留翻轉(zhuǎn)噪聲Dice從0.82提升至0.86模型在測(cè)試集上Dice高但醫(yī)生反饋漏診多評(píng)估指標(biāo)用Dice但臨床更關(guān)注Recall敏感度f(wàn)rom sklearn.metrics import recall_score; recall_score(y_true.flatten(), y_pred.flatten())在訓(xùn)練目標(biāo)中加入Recall約束項(xiàng)或后處理降低閾值漏診率從12%降至4%albumentations增強(qiáng)后圖像發(fā)灰Normalize時(shí)mean/std用了ImageNet值而非醫(yī)學(xué)圖像HU均值print(np.mean(img), np.std(img))檢查圖像統(tǒng)計(jì)量自己計(jì)算數(shù)據(jù)集mean[-123.0], std[342.0]CT典型值圖像對(duì)比度恢復(fù)正常torch.compile報(bào)錯(cuò)UnsupportedNodeError模型含if條件分支或torch.where動(dòng)態(tài)shapetorch._dynamo.explain(model, x)查看不支持節(jié)點(diǎn)用torch.no_grad()包裹條件邏輯或改用torch.where靜態(tài)shape版本編譯成功加速12%部署后推理結(jié)果與訓(xùn)練時(shí)不一致ONNX模型輸入未歸一化或preprocess與訓(xùn)練時(shí)不同print(np.min(onnx_input), np.max(onnx_input))對(duì)比訓(xùn)練輸入ONNX輸入前加onnx_input (onnx_input - mean) / std輸出結(jié)果與PyTorch完全一致這張表里的每一個(gè)問(wèn)題都來(lái)自我真實(shí)項(xiàng)目中的深夜debug記錄。比如“驗(yàn)證Dice暴跌”那次我花了17小時(shí)
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91天堂| 天天干天天中出av| 一个国产在线综合网站| 激情综合 婷婷五月 红杏 | 香港成人一级视频在线青青草| 中文精品一区二去| 日韩免费a级毛片无码a∨| 亚洲AV无码久久精品蜜桃小说| 1024人妻| 第四色色综合91| 亚洲综合成人网| 免费一级黄色录像影片| 成人性爱免费播放| 亚洲网站一区二区在线| 中文字幕乱亚洲美女精品一区| 日韩精品99久久久久久中文字幕 | 久久久久网站-538在线视频-欧美永久乱码 | 天天澡天天爽日日AV| 亚洲在钱| 国产女人9999| 天天影视之亚洲综合网| 精品一二三区四视频| 韩国轻伦国内自拍一区| 肥臀熟女福利视频一区二区| 97超级久久强资源| www.操| 国产最新AV| 欧美另类色图片| 无码操逼天堂| 夜夜欢天天干| 亚洲美女黄色| 久久男人| 天天看夜夜看日日干| 91精品导航| 校园春色 亚洲| 久久国产精品视频| 日韩免费a级毛片无码a∨| 五月天伊人网| 男人亚洲天堂| 天天激情综合站| 欧美一区二区三区不卡高清视频| 香蕉欧美| 岛国在线免费视频| 亚洲精品无码久久AV| 2019久久久久久久久福利| 精品日韩人妻精品一二三区| 日本爽爽爽爽爽爽免费视频| 日韩亚洲中文有码视频| **一级毛片国产| 色香色欲天天综合网天天来吧| 最新日产中文在线麻豆| 九九综合色| 欧美精品另类人妖xxxx| 人妻少妇色综合| 男人天堂综合| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 女人天堂av在线播放| 欧州一区二区三区四区| 中文字幕在线日亚州9| 精品久久久亚洲AV成人网站| 久操九九九九| 亭亭在线资源| 四虎影视欧美| 强奸乱伦Av网| 麻豆九九九| 91女优在线观看 | 中国国产精品一区视频| 强奸乱伦大香蕉| 超碰在线1234区| 欧美人人曰人人操人人射射| 精品午夜福利导航| 性感美女91影视| 久久精品店| 色五月婷婷麻豆在| 欧美性区| 天堂精品一区| 久久受www免费人成| 强奸乱伦中文字幕AV| 丁香五月影院| 欧美91久久久久| 欧美日韩色| 先锋激情∨在线视频播放| 日韩中文字幕视频在线观看| 91色综合激情| 91色婷婷综合久久中文字幕二区| 伦激情人妻另类人妻| 96久久精品一二三区色欲| 精品久久在线区一区| 欧洲精品一二三在线| 超清中文乱码字幕| 99热只有| 亚洲激情欧美色图| 亚洲欧美日韩精品久| 欧美极品少妇交| 岛国不卡超碰护士AV在线播放| 狠狠爱大香蕉| 天天日天天插| 久热最新在线杭州| 久久人妻视频网| 997色在线| 国产在线综合福利网站| 国产一区二区三区中文字幕| 中文字幕无码不卡啪啪| 在线看免费无码AV天堂的| 好看的久久不射无码影视影院| 久久久久熟女| 成人AV在线电影| 欧美91精彩| 情趣丝袜无码操逼视频| 中文字幕神马久久| 国产女同视频在线播放| 超碰97在线色男人??| 啪啪啪精品| 亚洲无套久久嗯嗯| 亚洲天堂久久久久久粉红视频| 欧美精品自慰系列寂寞少妇 | 久久一区二区加油站| 精品无码欧美三级| 成人老鸭窝人人在线视频| 国语少妇精| www色婷婷| 欧美激情高清性猛交| 欧亚免费视频| 日本熟妇人妻一区二区三区| 色99视频| 日韩人妻播放| 熟女久久| 男人亚洲91首页在线| 青娱乐 青青青操 日逼| 六月天婷婷| 日韩精品午夜操呦呦不卡影院| 欧美v亚洲v日韩v最新在线二区| 久久久九九九九| 久久91视频| 国产女人9999| 激情五月综合| 男女日B国产| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 精品十八在线观看| 综合熟女| 亚洲性爱成人| 超碰这里有精品| a在线观看| 噜噜噜噜久久久精品免费| 中文字幕 码 自拍 视频 区| 91精品微拍福利| 屁股久久久久久久久| 日本三级韩三级99久久| 久久综合九色综合欧洲98| 久久久久久久久久久久黄色 | 91人妻久久久久久久久久久久久| 五月丁香啪| 女沟厕偷窥piss小便| 韩日男人的天堂| 福利操逼| 人人操人人93| 北野未奈加勒比av| 75大香蕉| 精品妇女一区二区三区| www.av在线视频| 96精品久久| 亚洲色图美腿丝袜| 国产精品交换一区二区| 久热在线精品免费观看| 成人精品水蜜桃久久久久久久| 婷婷五月天激情网| 国产毛片久久久久久久| 91欧美综合| 91AV天美在线视频| 日本99一区二区| av大香蕉| 国产a级午夜毛片| 性饥渴少妇av无码毛片| 夜夜夜爽www精品视频| av操操不卡| 亚洲精品中文字幕一区在线视频| 操婢日韩| 神马久久久久久久| 久久97视频| 一本一首道人妻少妇免费久久| 五月丁香综合| 成年女人18级毛片毛片免费观看| 成人一级性爱| 伊人网青青| 超碰免费人妻在线| 青青操在线视频| 国产精品丝袜久久亚洲不卡| 亚洲美欧999| 啪啪啪综合网| 3p国产欧美99热| 无码WWW免费视频网站| yiqicaoav| 欧美日韩在线小说 | 天躁夜夜躁2021| 成人天天爽| 天天爽夜夜欢视| 性站 | 蜜臀久久在线视频| 亚洲城人男人的天堂| 99热啪啪| 91婷婷伊人狠人| 九九色综合| 熟女乱伦二区| 久久久com| 欧美色综合影院| 强奸乱伦av电影| 黄色在线网站| 被体育老师抱着c到高潮| www.大香| 你懂得91| 九九热超碰| 色婷五月| 校园春色 男人天堂| 中文字幕老熟妇黄色视频| 性吧在线视频| 丝袜天堂| 爱妻综合网| 美女网站黄页| 蜜臀Av一区二区三区| 亚洲清纯综合| 校园春色综合网| 欧美大香蕉久| 欧洲一级性爱视频在线观看| 国产无马av| 91美女中出| 四虎影库国产精品免费| 色爱欲亚洲| 日韩美女,国产传媒,视频一区| av72网| 91精品少妇搡搡搡| 懂色AV蜜臀无码精品APP| 国产一级内射无挡观看| 睡产熟女乱伦| 一区黄二区黄| 丝袜狠狠草尤物 91| 91麻豆天美国产欧美高潮| 婷婷20月天青娱乐| 日韩精品中文字幕人妻| 亚洲码专区| 久操婷婷| a人片中文字幕一区二区| 97超碰中文字幕| 欧美96精品在线| 天堂69亚洲精品中文字| 天天干天天拍| 日韩在线观看三级电影| 美国aaaaa一级黄片| 色吧五月| #NAME?| 青青草福利视频| 强奸乱伦亚洲第一页| 欧美 亚洲 偷拍自拍| 嗯啊免费视频| 日天天九九天堂666| 自拍偷拍第26| 成功精品影院| 欲女人妻性色av| 日韩无码极品| 久热超碰| 中文字幕一区二区三区人妻不卡| 青娱乐亚洲自拍| 爱射综合| 久久精品超碰| 亚洲精品精品一区二区| 亚洲国产丝袜在线观看| 国产精品久久久久无码A√| 九九激情网| 久久亚洲色图中文字幕| 五月天我淫我色av| 亚州情色j区| 日韩电影免费网站麻豆视频| 91丨豆花丨熟女| 亚洲,欧美,春色,另类| q2午夜理论片夜色av| 久久久精品中文字幕爱豆| 97人妻碰碰中文无码久热丝袜| 97 国产一区| 久久久夜夜夜| 99热久| 亚洲精品九九九九九九| 草莓精品视频| 欧洲精品欧洲精品| 日韩不卡在线一区二区| 欧洲小说色图视频另类| 久久丁香久草综合网| 色色99| 久久精品噜噜噜成人看免欧美大片| 99国产在线 精品 视频| 欧美91精彩| 无码人妻一区二区三区色欲aⅴ| 一区二区 韩日AV| 少妇激情一区二区三区视频| 99在线观看| 日天天九九天堂666| 色伊人91| 亚洲熟女人妻中文字幕一区二区| 丁香五月影院| 9色国产精品一区粉嫩| 91亚洲人电影| a片久久久久久久久久久久| 久久天天性久久伊人| 亚洲天堂男人天堂网| 九九九九九九九精品视频| 中文字幕人妻丝袜乱一区三区| 欧美特大黄一级片片免费| 精久久久| 亚洲日产专区| 成人精品久久久午夜福利| 美女淫穴| 色噜噜人妻丝袜a∨先锋影 | 久草视频观看视频在线| 91艹| 日韩av熟女一区二区三区成人| 狠狠婷婷亚洲中文综合久久| 狠狠躁日日躁夜夜躁A| 国产伦乱91| 99精品无码| 伊人AAA| 黄色香蕉视频网站一区| 亚州欧美一区| 99热免费| 美女熟妇色| 97操综合| 九九久久久九九| 国产精品久久久久无码A√| 色香综合天天影视综合 | 日日日日做夜夜夜夜做无码97| 日韩欧美俄罗斯A片| 婷婷激情丁香| 在线综合 亚洲 欧美中文字幕 | 天天摸夜夜摸| 亚洲黄网在哪免费看| 麻豆AV一区二区天美传媒| www老逼91| 熟女五十路一区二区三| 91av熟女人妻| 亚洲一区二区av| 亚州色站 日韩电影| 91成人精品在线播放| 综合网91| 国产精品伦理| 欧美日韩人妻少妇 一区二区三区| 99热精品在线观看| 欧美日韩 强奸乱伦| 午夜男人的天堂| 四虎国产成人精品免费一女五男| 五月婷婷大香蕉| 中文字幕一区二区免费在线| AV中亚| 欧美性天天影院| 四虎影视在线| 女优免费一区二区永久| 日韩av一级黄片| 在线播放成人高清免费视频| 国产成人五月天丁香花| 麻豆色99999| 麻豆伊人网| 日产狠狠干| 国产精品无码AV网站| 素人一区二区三区日韩| 色综合一区二区三区| 97se亚洲| 久久r精品| 97超碰人操| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 丝袜加勒比| 天综合网欧美| 久久偷偷色综合蜜桃| 亚洲瓯美色图| 色偷偷色偷偷欧美日韩| 中文字幕天天操| 日本精品人妻少妇一区二区| 亚洲 欧美都市激情| 国产精品大香蕉| 在线啊v一区| 性做久久久久久久| 殴美在线AⅤ| 曰韩操B| 370p日韩欧美亚洲精品| 小视频国产| 夜夜操美女| 极品综合| 国人欧美精品一区二区| 囯产乱伦一区二区三女| 99久久综合| caorenqi shipin| 国产九月婷婷| 九一综合精品视品av| 三级片大波波| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 国产一级不卡在线观看| 婷婷久久五月| 男人天堂婷婷五月天校园春色| 亚码激情| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 久久综合国产精品国产| 熟女乱伦A| 可以在线观看AV的网站| 精品亚洲国产成人AV制服丝袜 | 久久精品国产97欧美精品亚洲| 四季av一区二区凹凸精品小说| 亚洲AV色图一区| 久久成人东京热人妻| 91白嫩| 日日日日做夜夜夜夜做无码97| 欧美日韩小说| 先锋女优在线观看视频| www久久国产精品| 懂色中文一区二区三区| 中日韩久久久| 男人的天堂亚洲| 亚洲综合另类欧美久久久| 淫乱图区| 网友自拍第1页 | 中日高清无码操逼视频| 宅男午夜在线视频| 涩亚洲欧洲| 91五十路| 国产精品自在线发布| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 亚洲免费成人在线高清无码视频| 欧美日韩性爱视屏免费看了| 9九九九九视频在线观看| 欧美大香蕉97| 美女91网址 | 超碰97色色| 97色欧洲| 人妻 中文 日韩| 亚洲 日韩 欧美 国产综合体| 久久久9品一区二区三区| 色香91| 女性喷水高潮在线观看| 亚洲熟女中文字幕在线| 亚洲情色在线| 国产99999| 强奸乱伦大香蕉| 色蜜AV| 人澡逼| 成人性爱AV在线免费观看| 久久婷色| 久久久96精品| 亚洲精品尤物yw在线影院| 99无码视频| 99精品久久久久久| 久久精品国产亚洲AV高清演员表| 日本超碰在线国产一区| 久久久国产护士丝袜美腿一| 亚洲小电影免费涩涩成人在线高清 | 精品96久久| 91天天看| 91在线色综合| www.91视频网| 91站街按摩店老熟女熟女| 麻豆激情综合| 久久久久久久伊人精品| 99爱久久视频频| 加勒比综合88| 长长久久免费视频| 嗯嗯不要视频| 极品五月天噜噜| 春色综合网| 久久久婷| 啊啊啊啊操死我| 色5月婷婷| 日韩天天综合| www.狠狠| 91丝袜美女视频| 九九色综合| 日日骚一区二区三区| 制服乱伦| 欧美综合91| 国产欧美日韩在线观看麻豆传媒公司| 男人的天堂99| 啪啪91| 天天视频黄| ,国产乱人伦精品一区二区三区| 亚洲欧美情色| 不卡码视频| 岛国1区2区3区在线观看| 色天使大香蕉| 亚洲最新av无码成人精品区| 后入合集| 日本天天人人狠狠在线日美女| 久久人妻| 四虎免费看黄| 久久无码电影| 啊啊啊久久| 中文字幕91综合| 久久国产在线一区二区| 亚洲熟女乱色一区二区三区久久久 | 91女网站| 深夜国产一区二区三区在线看| 日本免费一区二区不卡| 丁香五月影院| 影音先锋日本乱伦| 黑人综合色| 日韩AV电影网站| 黄色大片免费在线| 骚货 中文字幕 av| 亚州色阁| 亚洲天堂男人在线| 亚洲欧洲日韩天堂av| 91熟女视频网| 天天天乱色综合全| 九九色图| 可以在线观看的黄色网址| 4tube欧美女厕所| 日本天堂网| 婷婷丁香五月天亚洲天堂网| 国产精品福利视频| 中文字幕免费看| 啊啊啊啊啊在线观看网址| 爽极品影院| 日韩精品一区二区人人人| 欧美 青青草| 久久99综合| 亚洲精品性爱片| 96一区二区| 一区二区三区色综合| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 国产精品久久| 涩亚洲欧洲| 91夜夜蜜桃臀1区2区3区| 亚欧韩av| 无码逼| 成人毛片免费| 99久草| 国产精品在线一区二区| 天天日日本| 九月丁香| 一区二区三区激情在线观看| www.91理论| 日本熟女不卡视频| 91日韩| 大香蕉中文网| 中文字幕日韩情色| 亚洲综合夜色| 中文字幕天天操| 亚洲色欲一区二区三区| 男人亚洲91首页在线| 一级免费啪啪片| 亚洲成a人片在线观看中文!!!| 欧美性xxxxx狂欢| 大茄子熟女AV导航| 亚洲国产福利视频| 学生妹天天看| 亚洲日韩久久精品一区| 青青青青草av在线观看| 亚洲伊人久久精品狠狠在线| 天天色香欲综合网| 九九热免费视频| 国产乱伦性爱AV| 国产97视频免费观看| 这里只有精品视频在线观看麻豆| 国产日韩欧美操逼视频| 成人免费毛片| 久综合国内精品自在自线| 波多野结衣之双飞调教在线播放 | 丁香六月天| 在线只有精品| www.91色综合| 熟妇亚洲一区二区三区| 97超碰色屌| 国产成人AV麻豆| 97在线观视频免费观看| 婷婷九月国产| 99精品九九九九九九| 台湾佬大香蕉| 中文字幕蜜乳av| 中文字幕天堂在线| 啪啪AV导航| 伦理片秋霞免费影院| 日本久久99| 久久婷婷国产一区二区色| 久久久不能久久久久| 99爱久久视频频| 黄色不卡视频| 天天综合站| 青草一区二区| 囯产精品久久久久久久久久梁医生| 1769一区| 色综合久久88色综合久久天天| 日本日逼视频网| 国色天香av| 天天α片| 蜜臀Av一区二区三区| 17c嫩草51久久91嫩草| 日本成人A片网站| 欧洲一级性爱视频在线观看| 亚洲人成网www| 亚洲熟女综合| 2020天天色综合| 日韩精品在线视频,日韩精品……| 欧美A片中文字幕| 亚洲最大无码中文字幕网站| 九九久久一区二区三区| 在线电影亚洲色图| 91视频精品| 国产一级αv免费看片| 极品丝袜无码| 人妻少妇精品无码专区二区密桃| 人人爱人人乐人人操| 九九探花视频在线观看| 亚州操操穴网| 久热精品在线| 精品欧美А∨无码黑人大荫蒂| 久久婷五月| 欧洲精品网| 日本欧美中文字幕| 国产精品亚洲免费| 又摸又舔在线观看网站| 中文字幕在线免费观看 | 婷婷15月天青娱乐| 天天看天天日天天操| 亚欧性爱ab| 美女裸体麻豆天美蜜桃91| 99re视频在线播放青草| 可以在线观看AV的网站| 久久超碰97中文字幕| 亚洲风情在线观看| 日本在线激情一区二区三区| 99蜜桃臀久久久欧美精品网站| 日韩超碰97| 3p国产欧美99热| 色综合99999| 99久久亚洲精品无码毛片潘甜甜| julia高潮后不停追击中出| 加勒比久久av| 美女尤物人人操| 亚洲淫乱骚妇AV| 欧美色图综合| 欧美黑人猛交春色影视大全| 99999国产| 国产伦精品一区二区三区在线观 | 国产又粗又长又爽又色| 岛国不卡超碰护士AV在线播放| 黑人精品XXX一区一二区| 超碰爽人妻熟女Av| 91色综合| 北条麻妃99精品青青久久| 欧美 亚洲| 激情丁香五月婷婷| 韩日欧亚a级| 狠狠干狠狠色| 91丝袜| 大香蕉宗合网在线| 99999re| 综合色图区| 女生久久网| 天天欧美色| 国产又粗又大硬免费色网视频| 熟妇人妻一二三区免费| 欧亚在线视频| 欧美 亚洲| 久草成人福利导航| AⅤ片水多多| 亚州 综合 色图| 国产精品婬乱一级毛片彝族| 欧美偷偷网| 色情综合网| 一级二级在线观看| 91美女在线视频| 国产男人又猛又粗又爽| 亚洲精品蜜桃久久久| 色婷婷久久| 蜜臀一区二区三区在线| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 自拍丝袜美腿人妻| 台湾成人无码AV| 欧美特黄视频网站| AV中文在线可看| 国产91会所女技师在线观看| 加勒比五月天| 日韩人妻大香蕉| 中文字幕,人妻,日韩| 九七人妻在线| 伊人影院中文字幕| 久久精品日韩| 欧美九九九九九| 啊啊啊97视频| 蜜乳av首页| 一中国女人毛片水真多| 久久综合久色欧美综合狠狠| 亚洲成人在线播放| 日韩偷拍一区二区三区| 夜夜骑日日| 人人操天天爽| 去干网最新版| 18禁在线视频| 蜜臀99久久精品久久久久久| 成人色女网| 丁香婷婷久久| 国产日逼视频| 1区2区3区视频| 91男人天堂网| 日日日啊啊啊| 六月丁香久久| 久操网视频| av影片在线观看不卡| 蜜桃臀一区二区aV| 激情露脸爱| 99综合视频| 99热99在线播放激情| 天天综合-91入口| 久久成人午夜狠狠| 秋霞男人网| 天天爽天天爽| 人人妻人人狠人人| 人妻一二三区| 韩国一级做a久久久久| 嗯~啊~快点 死我视频免费看网站| 美女尤物福利视频| 一区二区三区机械有限公司| 中国少妇XXXX做受| 国产精品美女久久久久久网站| 一本久久久精品| 五十路人妻在线| 伊人网在线观看| 91 丝袜在线| 国产一区二区三区中文字幕| 国产精品成人在线| 亚洲 欧美日韩 另类| 性爱Av免费| 国产精品日韩在线一区| av激情亚洲五月天| 午夜精品久久99蜜桃的功能章节| 91日韩网站| 老鸭窝在线视频播放| 亚洲男人的天堂网| 天天看片麻豆| 97天天操天天干| 国产嫩草精品A88AV在线| 欧美黑人XXXⅩ高潮交| 婷婷丁香久久| 啪啪啪大香蕉| 婷婷中文字幕| 国产 日韩 欧美 人妻 熟女 中文| 熟女突然公开看18禁影片| AV无码久久久精品| 久久精品国产亚洲AV无码电影| 强奸乱伦大香蕉| 干干干天天| 最新中文字幕精品在线| 日韩乱中文 | 精品欧美乱码久| 青青草久草| 日本一区二区中文字幕久久| 大香蕉一级黄色片久久| 国产精品懂色tv影视免费观看| 色牛aV| 国产福利视频精品视频| 日本成人A片网站| 一本一道波多野毛片中文在线| 国产精品一区午夜福利| 强歼乱伦资源网| www.色婷婷色综合| 亚洲影视综合网| 欧美丝袜激情| 日本精品久久久久久久| 日本在线15p| 久久男人的天堂| 人人干黄色| 探花一区在线| 久久五月份| 天美精品一区二区三区四区在线观看| 亚洲资源网| 天天操妹子| 超碰在线欧美性爱激情| 操操逼操操逼操操逼逼| www.色99| 草蕉影视亚洲无码| 91精品操美女| 欧美性xxxxx狂欢| 大香网站| 天天色悠悠激情| 加勒比伊人影院| 久久久久久久唑| 吖在线不卡一区二区国产剧情| 人看人人摸人人操| 人人妻人人操人人乐| 亚洲综合性网址| 97视频免费播放| 精品国产人成在线| av优播| 色香91| 国产成人亚洲精品无| 亚洲图片欧洲图片aⅴ| 天综合中文| 欧美日韩97在线| 激情小说图片亚洲首页| 深田咏美亚洲精品福利社| 欧美亚男人的天堂| 怡春院久久| 男人高清无码一区二区| 嗯啊啊啊轻点视频 | 在线观看不卡一区二区三区| www.色操逼| 麻豆伊人网| 韩国三级色呦呦| 无遮挡猛进视频免费无限观看 | 亚洲黄色a级片| 夫妻四区五区六区| 日日骚网站| 国产一区二区av综合| 9 7超碰在线免费观看| 中文字幕视频二区| 92午夜免费福利视频| 国产传媒美日韩av| 国产熟妇 码视频户外直播| 亚洲精品日日夜夜52| 久久免费精品96| yaouchengrenav| 久久黄黄| 色香av| 99热最新| 91痴汉| 国产粉嫩出水在线播放| 久久久久久久久久久久久久久久9| 在线无码操| 99热这里只有是精品10| 在线观看亚洲成人精品| 欧美日韩国产中文精品字幕自在自线,| 天天久久久久久| 深田咏美亚洲精品福利社| 天堂资源站| 久久五月天婷婷丁香中文字幕| 亚洲男人天堂2012| 91国产操逼视频| 日本亚洲vr欧美不卡高清专区| 花花AV导航| 色色色网站| 搡老女人老91二区| 久热伊人99re| 国产毛片毛片4p懂色| 91在线美女| 亚洲欧美国产中文视频| 欧美性色综合网| 999精品国产高清一区二区| 日本97久久久精品| 欧美性爱免费短视频| 久久久久久久久久久久黄色 | 国产av美女被艹的乱叫| 91美女国产在线| 欧美精品自慰系列寂寞少妇| 美女黄色91| 五月天婷婷色| 91内射| 欧美精品 - 91爱爱| 被男人添B超爽视频| 亚洲电影91| 亚洲av乱伦色图网站| 天天欧美| 性色高清在线| 台湾成人无码AV| 我想要啊 啊 啊| 操91| 日韩精品在线放| 久久草视频污视频| 色香色欲天天综合网天天来吧 | 成人片在线播放| 97超碰中文在线| 日韩懂色网| 中文字幕狠狠玩| 麻豆成人AV| 日本三级日本三级三级人妇四虎| 中国AV美女| 2020中文字幕在线| 女人的久久久| 99国产精品视频尤物| 精品久操| 色狠狠综合噜一二三区| 欧美综合娱乐久久| 久久久亚洲精品中文字幕人妻| 国产欧美一区二区| 操逼操逼视频操逼| 男人的天堂99| 西西美女视频网| 91热爆在线| 亚洲欧洲中文日韩女优乱码| 国产丝袜高跟美女av免费观看| 狠狠干综合| 欧美成人四级在线播放| 麻豆亚洲AV成人无码久久精品| 青青色综合| 国产伦精品一区二区三区在线观| 欧美日韩在线视频网站| 青草视频人妻在线观看| 中文字暮97| 自拍偷拍 日韩无码| 超碰97亚洲| 久久久9 9 9精品| 亚州成人A√| 欧美视频在线视频免费va| 国产色产精品在线观看| 欧美极品少妇| 欧美大香蕉97| 熟妇在线视频一区二区| 男人天堂黄片| 日韩一级欧美一级国产一级台湾| 久草毛片| 欧色性第一页| 青青草视频久久久久| 9色在线| 国产精品亚洲天堂网址| 午夜αv| 国产精品另类| 人妻超碰青青草98| 色av中文字幕| 欧美美女自慰一区二区三区| 新婚人妻扶着粗大强行坐下| 三级日韩一区二区三区| 人人操人人肉久久精品| com 首页 18岁 禁区 女优 免费 精选 同城 | 久久久婷| 区一在线观看| 97色五月天完| 亚洲色图久久精品蜜| 九色视频91| 日韩av不卡在线观看| 黄在线| 欧美αv.com| 囯戸精品高潮呻吟旡码| 精品国产Av无码久久久伦古装| 97久久久久| 中国和日本人色哪个不下载能放| 欧美手机在线综合| 国产日产欧产美韩系列麻豆免费| 蜜桃丰满熟妇av无码区不卡| 免费成人在线熟妇网| 久久国模av| 欧美伦乱爱| 农村妇女精品一区二区| 97超碰亚洲| 男人把坤坤插入女人的下体| 使劲用力艹少妇视频一区二区| 99在线视频播放| 日日做夜狠狠爱欧美黑人| 欧美中字二区| 精品人妻一区春色| 亚洲综合射| 午夜福利一区二区三区四区五区色婷婷| www被窝色com| 亚洲女人毛茸茸91| 天天干夜夜操一区二区| 1204人成网站色www| 色97欧美| 国产女人视频三四五区| TS人妖另类精品视频系列 | 日韩丝袜高跟制服在线观看| 亚州男人的天堂| 欧美青青草视频| 在线 欧美 亚洲| 欧美九九九| 91人妻在线视频| 亚洲第一页第二页激情| 亚洲阿v天堂无码z2018| 欧美视频一区二区在线| 一块操欧美性爱| 日韩乱码Av| 欧美在线l亚洲| 精品二区三四区五电影| 男同专区一区二区三区在线| TS人妖另类精品视频系列| 欧美性爱免费短视频| 国产精品无码在线| 99热精品在线观看| 欧美成人亚洲精品| 久久97超碰香蕉| 殴美性天天| 老子午夜伦不卡影院| 中国女人内射6XXXXX| 亚洲AV成人在线| 亚洲男人天堂2012| 亚洲日本天堂| 蜜臀视频网站| 中文字幕奈奈美被公侵犯| 99色天堂| 神马午夜久久久| 96一区二区三区| 久久久久久亚洲Av无码精| 一级啊性爱在线视频| 91 手机在线播放 绯色| 99热这里只有是精品10| 日夜精品| 一级黄色性爱A级片| 韩国嫰模上门援交视频| 97手机日韩| 国产精品一级片在线看| 欧美在线官网| 综合色久欲| 久久成人国产精品| 亚洲 日韩 欧美 国产综合体| 天天天天天天天天综合| 78超碰| 亚洲欧美国产其他二区| 日韩一区二区熟女| 91高清欧美| 这里只有精品视频在线观看麻豆 | 97色碰| 亚洲夜夜欢无码一区二区| 日韩精品人妻中文字幕久久久| 中文字幕AV中出| 最新中文字幕精品在线| 国产夜夜艹| 国产自偷| 91久久国产综合久久| 日韩熟女操逼| 中文字幕成人乱码熟女精品国50 | 国产精品熟女丝袜一区二区| yirendaxiangjiashipin| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 97天天综合| 天天精品| 天美传媒av一区二区| 麻豆国产精品午夜视频| 狠狠色婷婷7777久| 久久久熟女一区| 国产毛片久久久久久久| 青青青国产| 亚洲资源站| 思思99热| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 日韩AV电影网站| 欲香欲色综合天天伊人| 色官网在线| 国产AV线| 国产无码一二三区| 亭亭在线资源| 强奸乱伦Av网| 毛片麻豆91糖心精品毛情片| 女人被男人桶爽视频网站| 亚洲永久AV无码精品秋霞| 国产午夜在线观看| 久久大香蕉手机高清| 日韩一级二级三级免费看完整版| 五月天婷婷基地| 亚洲中文字幕一区二区| 99热啪啪| 91成人无码| 天美av在线观看| 张柏芝国产一区在线观看| 大香蕉在线视频15| a片在线播放| 自拍二页| 黄色电影观看久久9| 99re在线视频国产| 欧美日韩中文亚洲v在线综合| 蜜臀va69| 欧美另类色图片| 日本阿v天堂在线观看| 男人天堂.AB| 国产成人拍国产亚洲精品| 欧美成人综合| 亚洲操逼无码| 欧美熟妇精品黑人巨大91| 99国产人成精品| av网站国产主播在线| 99xav| 亚洲国产精品无码AV在线| 亚洲AV不卡在线观看| 激情五月婷婷综合| 久久神马| 亚洲情色一区二区三区| 欧美黄片欧美黄片xxx| 天天影视综合色| 青青草在线成人视频| 国产日韩欧美操逼视频| 懂色影视久久| 色欧美天天| 九月丁香婷婷色| 精品国产乱码久久久久久免费| 亚洲黑丝在线| 伊人一区二区在线播放| 九99久久| 日夜啪电影| 亚洲最大成人a毛毛片| 国产综合久| 又摸又舔在线观看网站| 久久久久9| 91精品国产91久久福利| 日韩中文9| 美腿色图| 久久男女激情视频网站| 神马久久久久久| 亭亭在线资源| 91狠狠综合久久久久久| 免费一级特黄特色大片在线观看看 | av在线播放国产一区| 尤物视频偷拍免费| 久久久久久久久久久人妻| 在线视频免费播放一区| 97欧美精品| 国产91丝袜在线播放蜜月| 97操97色| 九九99精品| 久久综合国产精品国产| 黄页av| 成人精品水蜜桃久久久久久久| 伊人影院在线理论播放| 极品色www影院| 亚洲无线码欧洲精品区别| 男人的天堂com| 亭亭在线资源| 密臀在线免费观看| 狠狠操综合| 亚洲午夜福利在线影院| 91久久久亚洲| 亚洲熟女诱惑| 久久精品91| 做爱福利视频一区二区| 久久久久久久久久久久久久久性生活视频| 日韩成人精品视频自拍| 永久电影三级在线观看| 天天操妹子| 97超碰影音| 美女爽爽爽刺痛洞洞| 午夜福利在线视频1000| 天天看天天综合成人网| 97色婷婷| 亚洲精品三| 国产精品久久久久无码AV会牛| 日韩在线人妻网站| 青青草字幕AV| 青青草视频久久久久| 成人在线视频二区| 九九激情网| 久操精品网| 国产无马av| 日韩去日本高清在| 91爆操视频| 久久性爱网站| 青娱乐久久艹| 国产真实野战在线视频| 操逼1区| 亚洲va有码在线天堂| 国产日韩欧美中文在线播放| 777琪琪午夜免费A片| 一道α片欧美| 内射老妇BBWX0C0CK| 亚洲av综合伊人久久| 天天射天天| gogogo免费高清看中国国语| 久久久精品91八戒| 三级精品三级在线观看| 久久成人国产精品| 秋霞网—男女啪啪亚洲免费体验区| 99婷婷一区二区| 亚洲av国产av综合av卡| 久热影视| 亚洲中文字幕久久人妻| 东京热男人的天堂精品| 91三级理论片播放器| 国产精品久久久久久片| 日韩一级片在线看| 色婷五月| 国产精品青青草| 天天干天天日天天射黄色大片| 嫩草伊人久久精品| 射丝袜大香蕉| 欧美少妇高潮视频|