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

ARTICLE DETAIL

資訊詳情

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

SAM-Med 2D脊椎分割數(shù)據(jù)集構(gòu)建與微調(diào)實(shí)戰(zhàn)指南

SAM-Med 2D脊椎分割數(shù)據(jù)集構(gòu)建與微調(diào)實(shí)戰(zhàn)指南 簡(jiǎn)介本資源是一份面向醫(yī)學(xué)圖像分析方向研究者與AI醫(yī)療開(kāi)發(fā)者的技術(shù)實(shí)踐指南聚焦SAM-Med 2D視覺(jué)大模型在脊椎影像分割任務(wù)中的完整復(fù)現(xiàn)與定制化訓(xùn)練流程。資源涵蓋模型結(jié)構(gòu)解析、RawData原始數(shù)據(jù)組織規(guī)范、process數(shù)據(jù)預(yù)處理腳本、train端到端訓(xùn)練腳本及評(píng)估結(jié)果可視化方案有效解決醫(yī)療小樣本場(chǎng)景下大模型適配難、數(shù)據(jù)格式轉(zhuǎn)換繁瑣、訓(xùn)練配置不透明等核心問(wèn)題。壓縮包共2000個(gè)文件主體為1948張脊椎標(biāo)注PNG圖像含訓(xùn)練/測(cè)試分割掩膜、27個(gè)Python訓(xùn)練與工具腳本含Jupyter Notebook交互示例、14個(gè)編譯緩存文件輔以JSON映射文件、Markdown說(shuō)明文檔及LICENSE協(xié)議總大小243.76MB。目前已有107人學(xué)習(xí)下載讀者可直接獲取開(kāi)箱即用的數(shù)據(jù)處理流水線、可調(diào)試的訓(xùn)練框架、標(biāo)準(zhǔn)化評(píng)估指標(biāo)Dice系數(shù)等實(shí)現(xiàn)邏輯以及微信技術(shù)交流群入口等實(shí)戰(zhàn)支持信息。1. 項(xiàng)目概述為什么需要為SAM-Med 2D訓(xùn)練脊椎分割數(shù)據(jù)集在醫(yī)學(xué)影像分析領(lǐng)域尤其是骨科和神經(jīng)外科脊椎結(jié)構(gòu)的精確分割是進(jìn)行疾病診斷、手術(shù)規(guī)劃、三維重建和生物力學(xué)分析的基礎(chǔ)。傳統(tǒng)的分割方法無(wú)論是基于閾值、區(qū)域生長(zhǎng)還是早期的卷積神經(jīng)網(wǎng)絡(luò)CNN在面對(duì)脊椎CT或MRI圖像時(shí)常常受限于椎體形狀的多樣性、圖像對(duì)比度的差異以及相鄰椎體間的粘連問(wèn)題需要大量的人工后處理和調(diào)參泛化能力有限。近年來(lái)以SAMSegment Anything Model為代表的視覺(jué)基礎(chǔ)模型憑借其強(qiáng)大的零樣本泛化能力和對(duì)任意對(duì)象的提示式分割潛力為醫(yī)學(xué)圖像分析帶來(lái)了新的范式。然而原始的SAM模型是在自然圖像上訓(xùn)練的直接應(yīng)用于醫(yī)學(xué)影像尤其是結(jié)構(gòu)復(fù)雜、邊界模糊的脊椎效果往往不盡如人意存在分割不完整、邊界粗糙、無(wú)法區(qū)分相鄰椎體等問(wèn)題。這就催生了針對(duì)特定醫(yī)學(xué)任務(wù)的微調(diào)需求SAM-Med 2D正是這樣一個(gè)在大量醫(yī)學(xué)影像上進(jìn)一步預(yù)訓(xùn)練或微調(diào)的模型變體旨在更好地理解醫(yī)學(xué)圖像的語(yǔ)義和結(jié)構(gòu)。但是一個(gè)強(qiáng)大的模型離不開(kāi)高質(zhì)量、針對(duì)性的數(shù)據(jù)。為SAM-Med 2D訓(xùn)練一個(gè)專(zhuān)用的脊椎分割數(shù)據(jù)集其核心價(jià)值在于“專(zhuān)業(yè)化”和“場(chǎng)景化”。這不僅僅是提供一些帶標(biāo)注的圖片而是構(gòu)建一個(gè)能夠教會(huì)模型理解脊椎解剖學(xué)特性、成像偽影、病理變化以及不同掃描協(xié)議下圖像表現(xiàn)的系統(tǒng)工程。通過(guò)這個(gè)數(shù)據(jù)集我們可以讓SAM-Med 2D學(xué)會(huì)精準(zhǔn)識(shí)別單個(gè)椎體從C1到骶骨清晰區(qū)分每一個(gè)椎體即使它們緊密相鄰。魯棒的邊界劃分即使在骨皮質(zhì)邊緣模糊、有骨質(zhì)疏松或椎體骨折的情況下也能準(zhǔn)確勾勒出椎體輪廓。適應(yīng)多模態(tài)影像能夠處理CT高對(duì)比度清晰顯示骨結(jié)構(gòu)和MRI軟組織對(duì)比度高骨邊界相對(duì)模糊等不同成像設(shè)備產(chǎn)生的數(shù)據(jù)。理解病理狀態(tài)對(duì)存在骨贅、壓縮性骨折、椎間盤(pán)突出壓迫等常見(jiàn)病理改變的椎體也能進(jìn)行有效分割。因此構(gòu)建這樣一個(gè)數(shù)據(jù)集是將前沿大模型能力真正落地到臨床輔助診斷的關(guān)鍵一步。它決定了模型性能的上限也是后續(xù)所有應(yīng)用如自動(dòng)測(cè)量Cobb角、椎管狹窄評(píng)估的基石。本指南將詳細(xì)拆解從數(shù)據(jù)準(zhǔn)備、標(biāo)注、預(yù)處理到最終數(shù)據(jù)集構(gòu)建的全流程分享我們?cè)诖诉^(guò)程中積累的實(shí)戰(zhàn)經(jīng)驗(yàn)與避坑技巧。2. 數(shù)據(jù)集構(gòu)建的核心思路與設(shè)計(jì)考量構(gòu)建一個(gè)適用于大模型微調(diào)的醫(yī)學(xué)影像數(shù)據(jù)集絕非簡(jiǎn)單地將圖片和標(biāo)注文件打包。它需要一套完整的設(shè)計(jì)哲學(xué)以確保數(shù)據(jù)能高效地“教”會(huì)模型我們想要的知識(shí)。我們的核心思路圍繞“多樣性”、“一致性”、“可擴(kuò)展性”三大原則展開(kāi)。2.1 數(shù)據(jù)來(lái)源的多樣性與質(zhì)量控制數(shù)據(jù)多樣性是模型泛化能力的保障。對(duì)于脊椎分割我們主要從以下幾個(gè)維度考慮多樣性影像模態(tài)必須同時(shí)包含CT和MRI數(shù)據(jù)。CT數(shù)據(jù)尤其是骨窗能提供最清晰的骨皮質(zhì)邊界是學(xué)習(xí)椎體幾何形狀的“黃金標(biāo)準(zhǔn)”。MRI數(shù)據(jù)如T1、T2加權(quán)像則能提供在軟組織環(huán)境下的椎體表現(xiàn)并包含更多病理信息。理想的比例可以根據(jù)目標(biāo)應(yīng)用調(diào)整例如側(cè)重于骨科手術(shù)規(guī)劃可能CT占比更高如7:3側(cè)重于神經(jīng)壓迫評(píng)估則可能需要更多MRI數(shù)據(jù)如5:5。掃描設(shè)備與協(xié)議收集來(lái)自不同廠商如GE、Siemens、Philips、不同型號(hào)掃描儀的數(shù)據(jù)。掃描參數(shù)如層厚、間距、kVp、磁場(chǎng)強(qiáng)度的差異會(huì)導(dǎo)致圖像分辨率、噪聲水平和對(duì)比度的變化。這能迫使模型學(xué)習(xí)到更本質(zhì)的特征而非某個(gè)特定設(shè)備的成像風(fēng)格?;颊呷后w與病理狀態(tài)數(shù)據(jù)應(yīng)涵蓋不同年齡、性別、體型的患者。更重要的是必須包含各種常見(jiàn)的脊椎病理狀態(tài)退行性變骨質(zhì)增生骨贅、終板硬化。外傷各種類(lèi)型的椎體骨折壓縮性、爆裂性?;渭怪鶄?cè)彎、后凸。術(shù)后狀態(tài)內(nèi)含內(nèi)固定物如螺釘、鋼板、融合器的椎體。其他骨質(zhì)疏松、轉(zhuǎn)移瘤等。 包含病理數(shù)據(jù)至關(guān)重要它能讓模型學(xué)會(huì)在“非標(biāo)準(zhǔn)”情況下依然能工作這是臨床實(shí)用性的關(guān)鍵。注意數(shù)據(jù)獲取必須嚴(yán)格遵守醫(yī)學(xué)倫理和患者隱私保護(hù)法規(guī)如HIPAA GDPR。所有數(shù)據(jù)需經(jīng)過(guò)徹底的匿名化處理去除DICOM文件頭中的所有個(gè)人信息并確保擁有合規(guī)的數(shù)據(jù)使用授權(quán)。通常這項(xiàng)工作需要在醫(yī)院信息科或倫理委員會(huì)的支持下進(jìn)行。解剖覆蓋范圍數(shù)據(jù)集應(yīng)覆蓋全脊柱頸椎、胸椎、腰椎、骶尾椎并且確保每個(gè)椎體都有足夠的樣本。避免出現(xiàn)某個(gè)椎體如T4、T5樣本過(guò)少的情況。2.2 標(biāo)注策略與一致性規(guī)范標(biāo)注質(zhì)量直接決定模型學(xué)習(xí)的上限。對(duì)于脊椎分割我們采用“實(shí)例分割”標(biāo)注即每個(gè)椎體都是一個(gè)獨(dú)立的、互不重疊的掩碼Mask。標(biāo)注工具選擇推薦使用專(zhuān)業(yè)的醫(yī)學(xué)圖像標(biāo)注軟件如ITK-SNAP、3D Slicer或MITK。這些工具支持DICOM格式直接讀取、多平面重建MPR并能高效處理三維體數(shù)據(jù)。對(duì)于大規(guī)模標(biāo)注可以考慮CVAT、Labelbox等支持協(xié)作和項(xiàng)目管理的平臺(tái)但其對(duì)三維醫(yī)學(xué)影像的原生支持可能不如專(zhuān)業(yè)醫(yī)學(xué)軟件。標(biāo)注細(xì)則制定關(guān)鍵邊界定義明確標(biāo)注的邊界是骨皮質(zhì)的外緣。在CT上這通常是高亮信號(hào)的邊緣。在MRI上由于骨皮質(zhì)呈低信號(hào)邊界可能較模糊需要參考相鄰的椎間盤(pán)和韌帶結(jié)構(gòu)進(jìn)行判斷。病理區(qū)域處理對(duì)于骨折椎體標(biāo)注其變形后的輪廓包括可能存在的骨碎片如果屬于同一椎體。對(duì)于大的骨贅如果與椎體主體相連且屬于骨質(zhì)增生一般納入該椎體掩碼。內(nèi)固定物處理這是一個(gè)難點(diǎn)。螺釘、鋼板等金屬植入物會(huì)產(chǎn)生嚴(yán)重的射線硬化偽影CT或磁敏感偽影MRI完全遮擋解剖結(jié)構(gòu)。我們的策略是標(biāo)注可見(jiàn)的、未被偽影完全破壞的椎體部分。對(duì)于完全被偽影覆蓋的區(qū)域標(biāo)注員需基于上下相鄰層面和先驗(yàn)解剖知識(shí)進(jìn)行“合理推斷”勾勒并在標(biāo)注記錄中標(biāo)記該區(qū)域?yàn)椤巴茢鄻?biāo)注”。這能幫助模型學(xué)習(xí)在偽影干擾下進(jìn)行“腦補(bǔ)”的能力。標(biāo)注一致性會(huì)議在標(biāo)注開(kāi)始前必須組織所有標(biāo)注員通常是放射科醫(yī)師或經(jīng)驗(yàn)豐富的影像科研究生進(jìn)行培訓(xùn)使用一批樣例圖像共同標(biāo)注討論并統(tǒng)一上述所有模糊情況的處理標(biāo)準(zhǔn)。過(guò)程中定期進(jìn)行交叉校驗(yàn)和一致性評(píng)估如計(jì)算Dice系數(shù)對(duì)差異大的案例進(jìn)行復(fù)盤(pán)討論。2.3 數(shù)據(jù)集格式設(shè)計(jì)與可擴(kuò)展性為了適配SAM-Med 2D的微調(diào)流程并方便未來(lái)擴(kuò)展我們需要設(shè)計(jì)一個(gè)清晰的數(shù)據(jù)目錄結(jié)構(gòu)和數(shù)據(jù)格式。原始數(shù)據(jù)層保留原始的DICOM序列或NIfTI文件。按患者ID或研究ID組織文件夾。這是數(shù)據(jù)的源頭不可更改。預(yù)處理數(shù)據(jù)層存儲(chǔ)經(jīng)過(guò)預(yù)處理如重采樣、歸一化、裁剪后的圖像文件通常轉(zhuǎn)換為.npy或.png格式。同時(shí)保存對(duì)應(yīng)的預(yù)處理參數(shù)如重采樣率、裁剪范圍以便反向映射。標(biāo)注數(shù)據(jù)層這是核心。我們采用與SAM系列模型訓(xùn)練常用的格式。每個(gè)樣本對(duì)應(yīng)一個(gè)JSON文件結(jié)構(gòu)如下{ “image”: “preprocessed/patient_001_slice_50.png”, // 預(yù)處理后的圖像路徑 “image_id”: “patient_001_50”, “annotations”: [ { “id”: 1, “category_id”: 21, // 類(lèi)別ID如21代表C3椎體 “segmentation”: { // RLE編碼或多邊形坐標(biāo)點(diǎn)列表 “size”: [512, 512], “counts”: “...” }, “bbox”: [x, y, width, height], // 包圍框 “area”: 12050 }, { “id”: 2, “category_id”: 22, // 22代表C4椎體 “segmentation”: { ... }, “bbox”: [ ... ], “area”: 11800 } // ... 更多椎體 ] }為什么用JSON和RLEJSON結(jié)構(gòu)清晰易于解析和擴(kuò)展。RLERun-Length Encoding是一種高效的二值掩碼編碼方式相比存儲(chǔ)整個(gè)二維數(shù)組能極大節(jié)省磁盤(pán)空間尤其適合大尺寸醫(yī)學(xué)圖像。數(shù)據(jù)集劃分按照患者ID劃分訓(xùn)練集、驗(yàn)證集和測(cè)試集絕不能按切片隨機(jī)劃分。因?yàn)橥粋€(gè)患者的不同切片之間存在強(qiáng)相關(guān)性按切片隨機(jī)劃分會(huì)導(dǎo)致數(shù)據(jù)泄露使模型在測(cè)試集上獲得虛高的性能。通常采用7:2:1或8:1:1的比例。確保每個(gè)集合中患者的人口學(xué)特征和病理類(lèi)型分布大致均衡。元數(shù)據(jù)文件創(chuàng)建一個(gè)dataset_meta.json文件記錄數(shù)據(jù)集的整體信息如類(lèi)別列表從C1到骶骨每個(gè)椎體對(duì)應(yīng)的ID和名稱(chēng)、數(shù)據(jù)統(tǒng)計(jì)各模態(tài)數(shù)量、各椎體實(shí)例數(shù)、標(biāo)注規(guī)范版本、預(yù)處理方法等。這為數(shù)據(jù)集的維護(hù)和使用提供了清晰的“說(shuō)明書(shū)”。3. 數(shù)據(jù)預(yù)處理與標(biāo)注實(shí)戰(zhàn)詳解有了設(shè)計(jì)思路接下來(lái)就是具體的實(shí)施。這一步是數(shù)據(jù)質(zhì)量的核心鍛造環(huán)節(jié)直接關(guān)系到模型訓(xùn)練的穩(wěn)定性和最終效果。3.1 醫(yī)學(xué)影像預(yù)處理標(biāo)準(zhǔn)化流程原始DICOM數(shù)據(jù)不能直接用于訓(xùn)練必須經(jīng)過(guò)一系列標(biāo)準(zhǔn)化預(yù)處理。讀取與方向校正使用pydicom或SimpleITK讀取DICOM文件。醫(yī)學(xué)影像的坐標(biāo)系左右、前后、頭足可能因掃描設(shè)備和患者體位而異。必須使用SimpleITK的GetDirection()和SetDirection()等功能將所有圖像統(tǒng)一到標(biāo)準(zhǔn)的RAI右前上坐標(biāo)系。這是后續(xù)所有處理的基礎(chǔ)否則裁剪、重采樣都會(huì)錯(cuò)亂。窗寬窗位調(diào)整僅CTCT值的原始單位是HUHounsfield Unit。為了突出骨組織我們需要應(yīng)用“骨窗”。通常將窗寬設(shè)為2000HU窗位設(shè)為500HU然后將線性映射到[0, 255]的灰度范圍。這能極大增強(qiáng)椎體與周?chē)浗M織的對(duì)比度。import numpy as np def apply_window(image_array, window_width, window_center): 應(yīng)用窗寬窗位 img_min window_center - window_width // 2 img_max window_center window_width // 2 windowed np.clip(image_array, img_min, img_max) windowed (windowed - img_min) / (img_max - img_min) * 255.0 return windowed.astype(np.uint8)重采樣不同掃描的層厚和像素間距不同。為了給模型提供空間尺度一致的輸入需要將所有樣本重采樣到相同的各向同性分辨率例如1.0mm x 1.0mm x 1.0mm。使用SimpleITK的Resample函數(shù)并選擇sitk.sitkLinear插值方式。實(shí)操心得重采樣會(huì)輕微模糊圖像。如果原始數(shù)據(jù)分辨率已經(jīng)很高如0.5mm層厚重采樣到1.0mm會(huì)丟失細(xì)節(jié)。因此目標(biāo)分辨率的選擇需要權(quán)衡分辨率太高增加計(jì)算負(fù)擔(dān)且可能引入更多噪聲分辨率太低丟失關(guān)鍵解剖細(xì)節(jié)。對(duì)于脊椎分割1.0mm各向同性是一個(gè)經(jīng)驗(yàn)上較好的平衡點(diǎn)。強(qiáng)度歸一化將圖像像素值歸一化到固定的范圍如[0, 1]或[-1, 1]。對(duì)于CT已窗寬窗位調(diào)整和MRI可以統(tǒng)一使用(img - mean) / std的方式進(jìn)行標(biāo)準(zhǔn)化其中mean和std在訓(xùn)練集上計(jì)算然后同樣應(yīng)用于驗(yàn)證集和測(cè)試集。這有助于模型收斂。切片與裁剪切片將三維體數(shù)據(jù)沿軸狀面Axial逐層切片得到二維圖像。這是SAM-Med 2D模型的輸入格式。裁剪脊椎通常只占據(jù)圖像中心的一部分。為了減少無(wú)關(guān)背景并增大感興趣區(qū)域ROI的占比可以圍繞脊椎區(qū)域進(jìn)行裁剪。一個(gè)自動(dòng)化的方法是先用一個(gè)簡(jiǎn)單的閾值分割或預(yù)訓(xùn)練模型檢測(cè)出包含脊椎的大致區(qū)域計(jì)算其邊界框然后向外擴(kuò)展一定像素如50px作為裁剪區(qū)域。手動(dòng)指定一個(gè)固定的中心區(qū)域裁剪也是一種可行的簡(jiǎn)化方案。3.2 精細(xì)化標(biāo)注操作指南與質(zhì)量控制預(yù)處理后的圖像就可以導(dǎo)入標(biāo)注工具進(jìn)行精細(xì)標(biāo)注了。標(biāo)注流程粗定位標(biāo)注員首先在矢狀面Sagittal或冠狀面Coronal上快速瀏覽確定脊柱的大致走向和范圍。逐層精標(biāo)在軸狀面Axial上從椎體最上端開(kāi)始逐層向下標(biāo)注。利用軟件的“畫(huà)筆”和“橡皮擦”工具仔細(xì)勾勒每個(gè)椎體的邊界。對(duì)于形狀規(guī)則的中間層面可以使用“多邊形”工具快速框選。三維校驗(yàn)與修補(bǔ)完成所有軸狀面切片標(biāo)注后必須在三維視圖下進(jìn)行渲染檢查。查看每個(gè)椎體的三維掩碼是否連續(xù)、光滑是否存在明顯的“階梯”狀偽影這是逐層標(biāo)注不一致的典型表現(xiàn)或空洞。在此視圖下進(jìn)行最后的修補(bǔ)和光滑處理。質(zhì)量控制QC步驟一級(jí)QC標(biāo)注員自檢標(biāo)注完成后標(biāo)注員自己需要從三維和三個(gè)二維切面視角反復(fù)檢查確保無(wú)誤。二級(jí)QC資深員復(fù)核由一名更資深的標(biāo)注員或放射科醫(yī)生對(duì)隨機(jī)抽取的至少30%的案例進(jìn)行復(fù)核重點(diǎn)檢查復(fù)雜病例骨折、術(shù)后、嚴(yán)重畸形和隨機(jī)抽查的普通病例。一致性度量定期如每標(biāo)注完20個(gè)病例讓所有標(biāo)注員對(duì)同一個(gè)“測(cè)試案例”進(jìn)行獨(dú)立標(biāo)注計(jì)算他們之間標(biāo)注結(jié)果的Dice相似系數(shù)DSC或Hausdorff距離。DSC一般要求達(dá)到0.85以上。通過(guò)分析不一致的區(qū)域可以發(fā)現(xiàn)并統(tǒng)一標(biāo)注標(biāo)準(zhǔn)中的模糊點(diǎn)。標(biāo)注格式轉(zhuǎn)換標(biāo)注工具如ITK-SNAP通常輸出.nrrd或.nii.gz格式的標(biāo)注文件其中每個(gè)椎體用一個(gè)不同的整數(shù)標(biāo)簽值表示。我們需要編寫(xiě)腳本將這些三維標(biāo)注文件按切片提取并將每個(gè)椎體的掩碼轉(zhuǎn)換為RLE編碼并生成前文所述的JSON標(biāo)注文件。import numpy as np import json from pycocotools import mask as mask_util def convert_mask_to_rle(mask_array): 將二值掩碼0/1轉(zhuǎn)換為RLE編碼 # mask_array 是二維 numpy 數(shù)組 dtypenp.uint8 rle mask_util.encode(np.asfortranarray(mask_array)) rle[‘counts’] rle[‘counts’].decode(‘utf-8’) # 將bytes轉(zhuǎn)為string以便JSON序列化 return rle # 假設(shè) label_volume 是三維標(biāo)注體數(shù)據(jù) slice_idx 是當(dāng)前切片索引 slice_label label_volume[:, :, slice_idx] unique_labels np.unique(slice_label) unique_labels unique_labels[unique_labels ! 0] # 去掉背景0 annotations [] for label_val in unique_labels: binary_mask (slice_label label_val).astype(np.uint8) rle_obj convert_mask_to_rle(binary_mask) bbox mask_util.toBbox(rle_obj).tolist() # 計(jì)算包圍框 area mask_util.area(rle_obj).item() annotation { “id”: int(label_val), “category_id”: int(label_val), # 這里假設(shè)標(biāo)簽值就是類(lèi)別ID “segmentation”: rle_obj, “bbox”: bbox, “area”: area } annotations.append(annotation)4. 適配SAM-Med 2D訓(xùn)練的數(shù)據(jù)集封裝數(shù)據(jù)準(zhǔn)備好后我們需要將其封裝成SAM-Med 2D模型訓(xùn)練代碼能夠直接讀取的格式。這通常意味著創(chuàng)建一個(gè)繼承自torch.utils.data.Dataset的自定義數(shù)據(jù)集類(lèi)。4.1 自定義Dataset類(lèi)的實(shí)現(xiàn)要點(diǎn)import torch from torch.utils.data import Dataset import cv2 import json from pycocotools import mask as mask_util import numpy as np class SpineSegDataset(Dataset): def __init__(self, annotation_file, img_dir, transformNone): annotation_file: 包含所有標(biāo)注信息的JSON文件路徑 img_dir: 預(yù)處理后圖像存放的根目錄 transform: 數(shù)據(jù)增強(qiáng)變換 with open(annotation_file, ‘r’) as f: self.data json.load(f) # 假設(shè)data是一個(gè)列表每個(gè)元素是一個(gè)樣本的字典 self.img_dir img_dir self.transform transform # 可以在這里加載類(lèi)別映射關(guān)系 self.cat_id_to_name {21: ‘C3’, 22: ‘C4’, ...} def __len__(self): return len(self.data) def __getitem__(self, idx): sample self.data[idx] img_path os.path.join(self.img_dir, sample[‘image’]) # 讀取圖像假設(shè)是灰度圖 image cv2.imread(img_path, cv2.IMREAD_GRAYSCALE) image image[:, :, np.newaxis] # 增加通道維度 (H, W, 1) image image.astype(np.float32) / 255.0 # 歸一化到[0,1] annotations sample[‘a(chǎn)nnotations’] masks [] bboxes [] labels [] for ann in annotations: # 將RLE解碼為二值掩碼 rle ann[‘segmentation’] rle[‘counts’] rle[‘counts’].encode(‘utf-8’) # 轉(zhuǎn)回bytes mask mask_util.decode(rle) # (H, W) 0/1 masks.append(mask) bboxes.append(ann[‘bbox’]) # [x, y, w, h] labels.append(ann[‘category_id’]) # 將列表轉(zhuǎn)換為數(shù)組 masks np.stack(masks, axis0) if masks else np.zeros((0, image.shape[0], image.shape[1])) bboxes np.array(bboxes) if bboxes else np.zeros((0, 4)) labels np.array(labels) if labels else np.zeros((0,)) # 應(yīng)用數(shù)據(jù)增強(qiáng)同時(shí)增強(qiáng)圖像和掩碼 if self.transform: transformed self.transform(imageimage, masksmasks, bboxesbboxes, category_idslabels) image transformed[‘image’] masks transformed[‘masks’] bboxes transformed[‘bboxes’] labels transformed[‘category_ids’] # 轉(zhuǎn)換為PyTorch Tensor并調(diào)整圖像通道順序?yàn)?(C, H, W) image torch.from_numpy(image).permute(2, 0, 1).float() masks torch.from_numpy(masks).float() bboxes torch.from_numpy(bboxes).float() labels torch.from_numpy(labels).long() return { “image”: image, “masks”: masks, “boxes”: bboxes, “l(fā)abels”: labels, “image_id”: sample[‘image_id’] }4.2 針對(duì)醫(yī)學(xué)圖像的數(shù)據(jù)增強(qiáng)策略數(shù)據(jù)增強(qiáng)是提升模型魯棒性的關(guān)鍵。對(duì)于醫(yī)學(xué)圖像尤其是分割任務(wù)增強(qiáng)必須保持圖像與掩碼的空間對(duì)應(yīng)關(guān)系。我們使用albumentations庫(kù)它完美支持圖像和掩碼的同步變換。import albumentations as A from albumentations.pytorch import ToTensorV2 def get_train_transform(): return A.Compose([ A.HorizontalFlip(p0.5), # 水平翻轉(zhuǎn)對(duì)于脊椎是合理的 A.VerticalFlip(p0.0), # 垂直翻轉(zhuǎn)通常不用于軸狀面因?yàn)樯舷虏粚?duì)稱(chēng) A.Rotate(limit15, p0.5, border_modecv2.BORDER_CONSTANT, value0), # 小幅旋轉(zhuǎn) A.RandomBrightnessContrast(brightness_limit0.1, contrast_limit0.1, p0.3), A.GaussNoise(var_limit(5.0, 20.0), p0.2), # 添加高斯噪聲模擬圖像噪聲 A.ElasticTransform(alpha1, sigma50, alpha_affine50, p0.1), # 彈性形變模擬軟組織形變 A.Resize(height512, width512, p1.0), # 統(tǒng)一縮放到模型輸入尺寸 ToTensorV2(), # 轉(zhuǎn)換為T(mén)ensor并歸一化到[0,1]如果圖像是0-255 ], bbox_paramsA.BboxParams(format‘coco’, label_fields[‘category_ids’])) def get_val_transform(): # 驗(yàn)證/測(cè)試集只需要Resize和ToTensor return A.Compose([ A.Resize(height512, width512, p1.0), ToTensorV2(), ])注意事項(xiàng)醫(yī)學(xué)圖像增強(qiáng)需要謹(jǐn)慎。過(guò)度的幾何形變?nèi)绱蠼嵌刃D(zhuǎn)、縮放可能破壞解剖結(jié)構(gòu)的合理性。亮度對(duì)比度調(diào)整的幅度也應(yīng)較小以保持CT/MRI的視覺(jué)真實(shí)性。ElasticTransform彈性形變對(duì)模擬軟組織形變很有用但不宜過(guò)度使用。4.3 類(lèi)別不平衡與難樣本挖掘脊椎數(shù)據(jù)集中不同椎體的實(shí)例數(shù)量可能不均如腰椎樣本可能多于胸椎且背景像素遠(yuǎn)多于前景像素。此外一些難分的樣本如骨折椎體、邊緣模糊的椎體對(duì)模型性能提升至關(guān)重要。類(lèi)別權(quán)重在損失函數(shù)中為不同類(lèi)別的分割損失賦予權(quán)重。權(quán)重通常與類(lèi)別頻率成反比??梢栽贒ataLoader中計(jì)算或在損失函數(shù)如CrossEntropyLoss中設(shè)置weight參數(shù)。難樣本挖掘Hard Example Mining在訓(xùn)練過(guò)程中不是所有樣本或像素對(duì)損失的貢獻(xiàn)都一樣。我們可以讓模型更關(guān)注那些它當(dāng)前分錯(cuò)的“難樣本”。一種實(shí)踐是在計(jì)算損失時(shí)選擇損失值最高的前K%的像素或樣本進(jìn)行反向傳播而不是全部。這需要自定義損失函數(shù)或在訓(xùn)練循環(huán)中實(shí)現(xiàn)。在線難樣本挖掘OHEM這是一個(gè)經(jīng)典策略。在訓(xùn)練時(shí)前向傳播計(jì)算所有像素的損失然后只對(duì)損失最大的那一部分像素例如損失最高的25%計(jì)算梯度進(jìn)行更新。這迫使模型集中精力解決最難的問(wèn)題。許多分割框架如MMSegmentation都內(nèi)置了OHEM損失函數(shù)。5. 訓(xùn)練流程中的關(guān)鍵配置與調(diào)試經(jīng)驗(yàn)數(shù)據(jù)集準(zhǔn)備就緒后就可以啟動(dòng)SAM-Med 2D的微調(diào)訓(xùn)練了。這里分享一些關(guān)鍵的配置經(jīng)驗(yàn)和調(diào)試技巧。5.1 模型加載與參數(shù)初始化SAM-Med 2D通?;陬A(yù)訓(xùn)練權(quán)重進(jìn)行微調(diào)。關(guān)鍵是要正確加載預(yù)訓(xùn)練權(quán)重并合理設(shè)置哪些層需要更新。import torch from sam_med_2d_model import SamMed2D # 假設(shè)這是模型類(lèi) model SamMed2D(...) pretrained_weights torch.load(‘path/to/sam_med_2d_pretrained.pth’) # 方式一嚴(yán)格匹配加載推薦 model.load_state_dict(pretrained_weights, strictTrue) # 如果strictTrue報(bào)錯(cuò)比如你的分類(lèi)頭類(lèi)別數(shù)改了可以嘗試strictFalse但需謹(jǐn)慎 # 方式二部分加載凍結(jié)骨干網(wǎng)絡(luò) model.load_state_dict(pretrained_weights, strictFalse) # 凍結(jié)圖像編碼器骨干網(wǎng)絡(luò)的前幾層或全部 for name, param in model.image_encoder.named_parameters(): if ‘block’ in name: # 凍結(jié)特定塊 param.requires_grad False # 或者全部?jī)鼋Y(jié) # for param in model.image_encoder.parameters(): # param.requires_grad False # 提示微調(diào)Prompt Encoder和掩碼解碼器Mask Decoder通常需要訓(xùn)練 for param in model.prompt_encoder.parameters(): param.requires_grad True for param in model.mask_decoder.parameters(): param.requires_grad True5.2 損失函數(shù)選擇與組合SAM-Med 2D原生的訓(xùn)練可能使用多種損失的組合。對(duì)于我們的脊椎實(shí)例分割任務(wù)一個(gè)有效的組合是Dice Loss非常適用于前景-背景像素極度不平衡的分割任務(wù)直接優(yōu)化分割區(qū)域的重疊度。Focal Loss是交叉熵?fù)p失的變體通過(guò)降低易分樣本的權(quán)重讓模型更關(guān)注難分的樣本如椎體邊緣、小椎體緩解類(lèi)別不平衡。L1/L2 Regression Loss如果任務(wù)還需要預(yù)測(cè)包圍框BBox可以加上一個(gè)回歸損失。通常將Dice Loss和Focal Loss加權(quán)求和比例可以是1:1。import torch.nn as nn import torch.nn.functional as F class DiceFocalLoss(nn.Module): def __init__(self, alpha0.25, gamma2.0, smooth1e-6): super().__init__() self.alpha alpha self.gamma gamma self.smooth smooth def forward(self, pred, target): # pred: (B, C, H, W) after softmax # target: (B, H, W) with class indices num_classes pred.shape[1] # 將target轉(zhuǎn)換為one-hot target_one_hot F.one_hot(target, num_classes).permute(0, 3, 1, 2).float() # Dice Loss pred_flat pred.reshape(pred.shape[0], num_classes, -1) target_flat target_one_hot.reshape(target_one_hot.shape[0], num_classes, -1) intersection (pred_flat * target_flat).sum(dim-1) union pred_flat.sum(dim-1) target_flat.sum(dim-1) dice_loss 1 - (2. * intersection self.smooth) / (union self.smooth) dice_loss dice_loss.mean() # Focal Loss ce_loss F.cross_entropy(pred, target, reduction‘none’) pt torch.exp(-ce_loss) focal_loss self.alpha * (1-pt)**self.gamma * ce_loss focal_loss focal_loss.mean() return dice_loss focal_loss5.3 優(yōu)化器與學(xué)習(xí)率調(diào)度策略優(yōu)化器AdamW是目前視覺(jué)任務(wù)的主流選擇它比標(biāo)準(zhǔn)的Adam帶有解耦的權(quán)重衰減通常能獲得更好的泛化性能。optimizer torch.optim.AdamW(model.parameters(), lr1e-4, weight_decay0.01)學(xué)習(xí)率調(diào)度采用Warmup學(xué)習(xí)率預(yù)熱和余弦退火Cosine Annealing的組合是常見(jiàn)且有效的策略。Warmup在訓(xùn)練初期如前500個(gè)iteration或1個(gè)epoch學(xué)習(xí)率從0線性增長(zhǎng)到初始學(xué)習(xí)率。這有助于穩(wěn)定訓(xùn)練初期防止梯度爆炸。余弦退火在Warmup之后學(xué)習(xí)率按照余弦函數(shù)從初始值衰減到接近0。這能讓模型在后期更精細(xì)地收斂。from torch.optim.lr_scheduler import CosineAnnealingLR, LinearLR warmup_epochs 1 total_epochs 100 warmup_scheduler LinearLR(optimizer, start_factor0.01, total_iterswarmup_epochs * iterations_per_epoch) cosine_scheduler CosineAnnealingLR(optimizer, T_max(total_epochs - warmup_epochs) * iterations_per_epoch) # 在訓(xùn)練循環(huán)中 for epoch in range(total_epochs): for i, batch in enumerate(train_loader): # ... 訓(xùn)練步驟 ... optimizer.step() if epoch warmup_epochs: warmup_scheduler.step() else: cosine_scheduler.step()5.4 訓(xùn)練監(jiān)控與早停策略僅僅看訓(xùn)練損失下降是不夠的必須緊密監(jiān)控驗(yàn)證集上的性能。監(jiān)控指標(biāo)除了損失必須計(jì)算驗(yàn)證集上的Dice相似系數(shù)DSC和95%豪斯多夫距離95% HD。DSC衡量重疊度HD衡量邊界匹配度兩者結(jié)合能全面評(píng)估分割質(zhì)量。早停Early Stopping當(dāng)驗(yàn)證集DSC在連續(xù)N個(gè)epoch如10或15內(nèi)不再提升時(shí)就停止訓(xùn)練并回滾到驗(yàn)證集性能最好的那個(gè)epoch的模型權(quán)重。這能有效防止過(guò)擬合。可視化定期如每個(gè)epoch將驗(yàn)證集上的一些樣例分割結(jié)果原圖、真值、預(yù)測(cè)保存為圖片直觀地觀察模型是在進(jìn)步還是在“跑偏”。6. 常見(jiàn)問(wèn)題排查與性能優(yōu)化技巧在實(shí)際訓(xùn)練中你一定會(huì)遇到各種問(wèn)題。這里匯總了一些典型問(wèn)題及其排查思路。6.1 訓(xùn)練過(guò)程不穩(wěn)定或損失震蕩現(xiàn)象損失值上下跳動(dòng)很大不收斂或收斂緩慢。排查與解決檢查數(shù)據(jù)首先檢查數(shù)據(jù)加載是否正確??梢暬瘞讉€(gè)批次Batch的圖像和標(biāo)注看是否對(duì)齊標(biāo)注是否存在異常值如全0或全1。一個(gè)常見(jiàn)的錯(cuò)誤是圖像歸一化出錯(cuò)導(dǎo)致像素值范圍異常。降低學(xué)習(xí)率過(guò)大的學(xué)習(xí)率是導(dǎo)致震蕩的首要原因。嘗試將學(xué)習(xí)率降低一個(gè)數(shù)量級(jí)如從1e-4降到1e-5。啟用梯度裁剪Gradient Clipping在反向傳播后、優(yōu)化器更新前對(duì)梯度范數(shù)進(jìn)行裁剪防止梯度爆炸。torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm1.0)檢查損失函數(shù)確認(rèn)損失函數(shù)的輸入預(yù)測(cè)和真值形狀、數(shù)據(jù)類(lèi)型是否正確。特別是自定義損失函數(shù)容易在這里出錯(cuò)。調(diào)整Batch SizeBatch Size過(guò)小可能導(dǎo)致梯度估計(jì)噪聲大。在顯存允許的情況下適當(dāng)增大Batch Size。6.2 模型過(guò)擬合訓(xùn)練集表現(xiàn)好驗(yàn)證集差現(xiàn)象訓(xùn)練損失持續(xù)下降訓(xùn)練集DSC很高但驗(yàn)證集損失早早就開(kāi)始上升DSC停滯不前。排查與解決加強(qiáng)數(shù)據(jù)增強(qiáng)這是最直接有效的方法。增加更多樣化的、符合醫(yī)學(xué)圖像特性的數(shù)據(jù)增強(qiáng)如之前提到的彈性形變、噪聲添加等??梢試L試albumentations的CoarseDropout模擬圖像局部遮擋。增加正則化權(quán)重衰減Weight Decay確保優(yōu)化器中的weight_decay參數(shù)已設(shè)置如0.01或0.05。Dropout在模型的掩碼解碼器等全連接層后添加Dropout層。Stochastic Depth如果模型是類(lèi)似Transformer的結(jié)構(gòu)可以隨機(jī)丟棄一些層這是一種非常強(qiáng)的正則化。減少模型容量或凍結(jié)更多層如果數(shù)據(jù)集不大而模型非常大如SAM-Med 2D的ViT-Huge可以考慮凍結(jié)圖像編碼器的全部或大部分層只微調(diào)提示編碼器和掩碼解碼器。早停嚴(yán)格實(shí)施早停策略防止模型在訓(xùn)練集上“鉆牛角尖”。6.3 模型欠擬合訓(xùn)練集和驗(yàn)證集表現(xiàn)都差現(xiàn)象訓(xùn)練損失下降很慢最終停留在較高水平訓(xùn)練集和驗(yàn)證集的DSC都很低。排查與解決檢查任務(wù)可行性首先用簡(jiǎn)單的模型如U-Net或甚至固定規(guī)則閾值分割在你的數(shù)據(jù)集上測(cè)試看是否能得到一個(gè)baseline結(jié)果。如果baseline都極差可能是數(shù)據(jù)標(biāo)注質(zhì)量有問(wèn)題或任務(wù)本身定義不清。增大模型容量/解凍層如果凍結(jié)了太多層嘗試解凍更多層讓模型有更強(qiáng)的擬合能力。提高學(xué)習(xí)率/延長(zhǎng)訓(xùn)練時(shí)間學(xué)習(xí)率可能太小或者訓(xùn)練周期epoch不夠。嘗試使用學(xué)習(xí)率查找器LR Finder找到一個(gè)合適的初始學(xué)習(xí)率。檢查數(shù)據(jù)泄露確認(rèn)訓(xùn)練集和驗(yàn)證集是否嚴(yán)格按患者劃分。如果存在泄露驗(yàn)證集性能會(huì)虛高而實(shí)際是欠擬合的。簡(jiǎn)化問(wèn)題先嘗試一個(gè)更簡(jiǎn)單的任務(wù)比如只分割腰椎L1-L5看模型是否能學(xué)好。如果能再逐步增加復(fù)雜度。6.4 顯存不足OOM問(wèn)題微調(diào)大模型最常遇到的就是“爆顯存”。梯度累積Gradient Accumulation這是解決OOM的利器。假設(shè)你希望的有效Batch Size是8但單卡只能放下Batch Size為2的數(shù)據(jù)。你可以設(shè)置accumulation_steps4讓模型連續(xù)進(jìn)行4次前向傳播和反向傳播不更新參數(shù)累積梯度然后再進(jìn)行一次參數(shù)更新。這樣在效果上等價(jià)于Batch Size8。accumulation_steps 4 optimizer.zero_grad() for i, batch in enumerate(train_loader): loss model(batch) loss loss / accumulation_steps # 損失按累積步數(shù)平均 loss.backward() if (i1) % accumulation_steps 0: optimizer.step() optimizer.zero_grad()混合精度訓(xùn)練AMP使用torch.cuda.amp進(jìn)行自動(dòng)混合精度訓(xùn)練可以顯著減少顯存占用并加速訓(xùn)練。from torch.cuda.amp import autocast, GradScaler scaler GradScaler() for data in train_loader: optimizer.zero_grad() with autocast(): loss model(data) scaler.scale(loss).backward() scaler.step(optimizer) scaler.update()檢查點(diǎn)激活Gradient Checkpointing對(duì)于極其龐大的模型可以以時(shí)間換空間只保存部分層的激活值在反向傳播時(shí)重新計(jì)算其余層的激活。PyTorch提供了torch.utils.checkpoint功能。減小輸入圖像尺寸將輸入圖像從512x512降到256x256可以大幅減少顯存消耗但可能會(huì)損失分割精度需要權(quán)衡。構(gòu)建一個(gè)高質(zhì)量的脊椎分割數(shù)據(jù)集并成功微調(diào)SAM-Med 2D模型是一個(gè)涉及數(shù)據(jù)科學(xué)、醫(yī)學(xué)知識(shí)和工程實(shí)踐的綜合性項(xiàng)目。整個(gè)過(guò)程就像訓(xùn)練一位專(zhuān)注的“實(shí)習(xí)醫(yī)生”你需要用高質(zhì)量、多樣化的“病例”數(shù)據(jù)去教導(dǎo)它用清晰的“診斷標(biāo)準(zhǔn)”標(biāo)注規(guī)范去規(guī)范它并在“實(shí)踐考核”驗(yàn)證測(cè)試中不斷糾正它。其中最大的體會(huì)是數(shù)據(jù)的質(zhì)量、一致性和多樣性其重要性遠(yuǎn)超過(guò)模型架構(gòu)的微小調(diào)整?;ㄔ跀?shù)據(jù)清洗、標(biāo)注質(zhì)檢和預(yù)處理上的時(shí)間最終都會(huì)在模型性能上得到回報(bào)。另一個(gè)關(guān)鍵點(diǎn)是迭代思維不要期望一次性就做出完美的數(shù)據(jù)集和模型。應(yīng)該構(gòu)建一個(gè)最小可行產(chǎn)品MVP流程用小批量數(shù)據(jù)快速跑通從數(shù)據(jù)到訓(xùn)練、評(píng)估的整個(gè)pipeline然后基于初步結(jié)果有針對(duì)性地去補(bǔ)充某類(lèi)稀缺數(shù)據(jù)、修正某類(lèi)標(biāo)注錯(cuò)誤、調(diào)整某個(gè)增強(qiáng)參數(shù)如此循環(huán)逐步提升。最后別忘了保存好每一輪實(shí)驗(yàn)的完整配置、日志和模型權(quán)重詳細(xì)的實(shí)驗(yàn)記錄是復(fù)盤(pán)和提升的寶貴財(cái)富。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
一区二区三区精品视频| 99精品欧美一区二区三区桃色| 激情小说五月天| 久久久久久久唑| 在线黄色污污网站| 欧美在线色| 五月天色图影视| 人人看欧美性爱| 亚洲在线91| 亚拍在线| 四虎免费看黄| 啊啊啊不要好疼视频| 亚洲综合另类小说色区亚洲成av人片在www | 粉嫩绯色AV一区二区在线| 久久久人妻| 九九九九97| 久久伊人网视频一区二区三区 | 综合久欧洲| 亚洲午夜福利视频| 思思热在线观看| 日韩在线观看字幕精品| 秋霞欧美性爰视频| 欧美黄片免费在线观看视频| 中文字幕丰满子伦无码专区在线视频最新 | 少妇人妻好深太紧了vr91| 嗯嗯啊啊啊好爽| 18禁久极品美女久久哦哟呀!| 免费看美国人人爽,人人操| 人妻少妇av在线观看| 尤物视频视频官网| 激情五月天中文字幕色| 国产精品女aA片爽爽视频| 蜜桃天美传媒AV一区二区三区| 国产午夜视频| 亚州色图欧美| 亚洲欧美setu| 天堂亚洲精品久久老牛| 蜜臀色乳| 超碰久久精品| 国产欧洲精品亚洲午夜拍精品| 99re69| 国产欧美后入| 欧美性少妇| 中文字幕无码不卡啪啪| 色97欧美| 亚州一区二区| 日韩性爱一级片| 亚洲欧美综合| 欧美大香蕉久| 午夜精品久久久久久久久久蜜桃 | 日韩情色视频| 日日AV加勒比| 日韩av电影网站| 天天久久久久久| 9久9久9久9久视频网站| 色九久| 97视频在线播放| 91天堂| 亚洲一区二区三区不卡国产欧美| 午夜福利无毒不卡| 黄片无码在线制服| 嗯嗯啊中文字幕| 国产天天骚| 97干天天| 欧美78| 九九碰九九爱97| 人妻人人澡人人爽人人| 麻豆精品三区视频| 国产一区二区在线看| 在线亚洲欧美| 熟女被操视频网址| 无码视频一区二区| 欧美日韩系列| 午夜精品久久久久久久久久蜜桃| 久久婷婷热| 欧美.亚洲.另类.丝袜.制服.诱惑| 久久人人妻| 超碰人妻中文在线| 欧美天天| 五月婷色| 99re6国产精品99re| 99热婷婷一区二区三| 国产家庭乱伦表演| 日韩在线观看中文字幕视频| 亚洲综合在线高清| 亚洲有码视频二区| 2020国产精品| 精品国产国产AV| 九九九九九精品视频| 亚洲欧美国产va在线播放频| 日本一级性爱| 亚洲日韩久久精品一区| aa片毛片| 99亚洲精品| 亚洲丰满很很操| 精品欧美不卡在线播放| 亚洲人成网www| 欧美青青草视频| 人妻少妇久久中文字幕一区二区 麻豆 | 天天日天天舔| 亚洲精品人伦一区二区| 18禁在线视频| 激情文学 国产一二三aV| 亚洲 欧美 日韩另类 麻豆| 岛国激情视频在线观看| 91成人在线| 日韩无码一区二区三区| 亚洲成av人片色午夜乱码| 国产地址二三| 久久久久久久久久va| 激情久久久| 蜜桃精品视频一区二区三区| 宅男影院久久久,99| 国产60区。| 综合夜夜| 天天摸夜夜摸| 国产AAAAAABBBBB| 超碰人人妻| 友优传媒精品在线一区二区| 亚洲丝袜色| 伊人九九九| 91精品久久久久久综合五月天| 无码男人天堂| 亚洲AV操| 传媒在线观看一区二区三区| 国产超碰人人操| 欧美亚洲清纯| 久久免费精彩视频| 亚洲欧美天堂| 最新精品久久蜜桃 | 日韩人妻一区二区| 精品乱码久久久久| 伊人精品国产| 熟女网站最新| 78操B| 这里只有精品97| 久久久久久大| 性无码专区2020| 中文字幕日产av人| 久久一区二区高清免费| 狠狠入| 亚洲精品一卡二卡三卡福利视频网站| 日韩性爱再线视频| 国产精品一区二区密臀| 欧美夜夜狠| 亚洲毛片基地专区| 激情欧美日韩女同久久| 美国aaaaa一级黄片| 性交一区二区在线播放| 无码99| 欧美熟妇色| 欧美精品成人亚洲| 老熟女乱子伦中文字幕一区二区| 尤物视频偷拍免费| 天天操天天干一区二区 | 偷拍新久久| 久久欧美性爱视频| 欧美久久久15P| 97国产高清视频在线观看| 另类小色呦| 床戏久久久av一区二区麻豆| 久久啊啊啊视频| 久久成人国产| 男人的天堂 在线一区| 91色五月俺来也| 欧美系列在线一区二区| 少妇久久久久久久久| 美腿丝袜高跟网免费视频免费视频| 久久成人午夜精品影院 | 国产精品久久蜜乳av| 97超碰色屌| 1769精品一区二区三区| 免费一级精品啪啪视频| 狼人狠干| 欧美91色| 精品人妻一二三四区视频| 国产97色在线| 美国日韩黄色片| 日本精品五区| 亚洲人天堂| 中文字幕女同在线| 中文幕97| 亚洲综合性感在线| 黄总AV色图| 一区二区 韩日AV| 爱av免费| 欧美日韩色综合网| 综合少妇网| 国产大片精久久久久久| 天天日天天舔| 999久久久| 午夜操一视频一区| 日韩熟女乱伦中出| 天天综合91| 玖玖爱视频网站| 2019男人的天堂| 久草在| 无码heyzo高清一区| 91超级碰| 五月丁香社区婷婷日韩欧美精品影院 | 国产超碰国产97| 免费看久久久性性| 亚洲精品久久久久久久蜜桃臀| 精品日韩中文在线| 精品中文字幕第一页| 国产精品无套内谢| 啊啊啊啊啊啊啊在线| 97操97色| 日本伦理一区二区| 干B| 69综合网| 亚洲区限制级| 中文字幕精品亚洲熟女| 密臀视频三区免费网站| 亚洲欧美黄| 99999re| 欧综合网| 欧美性爱第一页久久| 中文字幕欧美日韩三级| 日韩肏逼视频| 岛国在线免费视频| 日韩精品人妻一| 日韩欧美中文| 久久男女激情视频网站| 超碰成人国产| 你操综合| 国产亚洲色婷婷99精品91| 精品人妻视频一区二区三区蜜桃视频| 超碰碰激情97+久| 日韩天天本| 夜夜嗨一区二区三区三州加勒比 | 日本高清视频xxxx| 黑人操一区二区| av一区二区三区 中文| 一本久道久久综合狠狠爱| 激情99| 精品妇女一区二区三区| 久久夜夜夜| 欧美性五月| 91亚洲网站| 三级日韩一区二区三区| 亚洲AV高潮| 久操网在线| 久久一二三四五六七八九区| 五月亭亭六月丁香| www.99热| 99热精品国产| 亚洲资源站| 一个人免费视频观看在线WWW | 丰满人妻一区二区三区四区| 亚州高清AV| 久草午夜| 日韩视频啪啪| 亚州人妻| 亚洲欧美另类激情小说| 日韩一级欧美一级在线观看| 草伊人高潮喷水超碰| 99热这里只有精品1| 国产精品久久aV| 日韩欧美中文日韩欧美色| 99在线免费视频| 99re在线视频| 国产偷人伦激情在线观看| 精品久久久久av影院| 裸体美女免费看网站青草| 久久精品一区| 午夜国产乱伦视频| 神马视频久久久久久| 日韩精品人妻中文字幕不卡乱码| 亚洲高清视频在线免费观看| 色97| 视频在线观看青青99国产| 黑人娇小av在线播放| 久久五月天婷婷丁香中文字幕| 日本天天色| 亚洲日韩乱码中文无码蜜桃臀网站| 91色插| 国产 v乱码一区二| 久久久久久久久久久久九| 日产操逼| 欧美第一页性| 丰满美女一级毛片在线播放| 丰满少妇人妻久久久久久| 欧美春色| 女优视频第10页| 99这里只有精品| av日韩国产一区二区| 久久成年精品| 2024黄色视频| 懂色AV中文| 免费试看60秒| 天天肏美女| 97Ai亚洲| 老熟女区| 亚洲精品尤物yw在线影院| 操香逼| 日韩一级欧美一级国产一级台湾| 人妻天天爽夜夜爽爽| 日韩肏逼视频| 日夜久久久九九九久| 极品出轨视频网站| 77777亚洲蜜臀精品久久综合蜜臀| 久久亚洲欧美中文字幕国语 | 秋霞怕怕片| 日本操逼二区| 激情99| 91n美女视频| 91亚洲欧美激情| 精品一区二区久久| 熟妇人妻丰满久久久久久久无码| 日本精品不卡一二三区| 极品美女嘿咻| ss久久| 国产精品久久久久久久久久梁医生| 96AV久久久| 91丨九色丨国产丨人妻在线| 曰本91情色| 久久久久亚洲Aⅴ无码| 91AV天美在线视频| 激情五月丁香五月| 欧美中文字幕精品人妻| 69人妻精品丰满熟女区| 久久人人爽人人爽人人片Ⅴ| 欧美情色亚洲| 嗯啊不要啊啊在线观看视频| 夜嗨影院| 97香蕉网| 麻豆区久久久久亚| 亚洲 中文 女同| 亚洲精品乱码线路中文字幕| 夜夜免费视频| 国产玖玖| 顶级丝袜熟女一区二区三区| 不卡二三区人妻少妇| 男人的天堂啪啪啪啪啪蜜桃不卡| 三级日韩一区二区三区| 天天综合网亚洲综合网| 有码人妻系列| 99无码视频| 亚洲 小说 欧美 激情 另类| 中文字幕视频在线观看| 欧美激情亚洲情色| 青青爽| 日本色色色视频| 精品人妻av区天天看片| 精品乱码久久久久| 色妺妺在线视频| 一本一道波多野毛片中文在线| 天天天肏屄肏屄肏屄欧美欧美| 亚洲熟妇图片| 婷婷色导航| 黄人人操人人操| 欧美性色欧美| 东方亚洲在线操逼天堂| 人妻插插人妻人| 玖玖在线视频| 福利在线黄片| 免费超碰97在线观看| 九九热国产| 男人精品天堂一区| 97超碰天天爱天天爱| 色婷网| 少妇3P性爱自拍| 九九热九九| 精品日韩人妻精品一二三区| 午夜在线播放| 久久日韩肥臀| 91亚洲狠狠色| 蜜桃臀久久| m欧洲一级午老| 97超级久久强资源| 国产亚洲一黄| 超碰人人妻| 日本色色色| 在线国产探花| 色牛牛AV| 女人高潮大叫一级毛片| 爱媛媛久久国产福利| 艹精品| 午夜乱轮操逼视频免费看| 黑人娇小av在线播放| 97超碰精品图片| 熟妇一区,二区,三区。| 噜噜噜亚洲精| 少妇淫妇久久久久久久| 欧美姓爱综合网| 国产午夜精品一区二区三区牛牛| 天天操福利视频综合网站| 欧美天堂亚洲电影院一区在线播放| 91新在线欧美| 超碰97最新人妻| 国产乱弄免费在线视频。| 97欧美精品综合| 伊人久久大香蕉线AV五月天| 97亚洲欧美日韩| 中国黑人三级片网站上区| 国产偷仑| 欧美日韩97在线| 久草线上视频免费看| 中字一区| 精品欧美老熟女一二区| 少妇熟女1区2区3区| 亚欧高清| 超97在线精品视频| 色情综合网| 亚洲中文制服诱惑| 后入式在线免费观看60秒| 好屌色综合| 曰本道人妻久久久在线不卡色视频| 欧美亚洲高清晰| 97操碰| 午夜性生活av免费在线看| 天堂69亚洲精品中文字| 日美免费黄片| 操狠狠| 久草草一二三四区久久| 国产视频97| 96精品久久久久久久久久| 内射夫妻三片| 亚欧韩av| 久偷拍| 国产精品禁久久久精品| 综合另类| 国产一级黄色片在线观看| 亚州精人品大香蕉| 欧美大片天天看| 风间由美日韩欧美久久| 色欲av一区二区三区蜜芽| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 欧美高潮在线| 日韩99999| 蜜乳av一区二区| 亚洲中文字幕噜噜噜久久久| 在线小视频| 欧美日韩资源| 久久久久久AⅤ无码免费肉站| 日本超碰在线国产一区| 999久久久免费精品国产牛牛| 人妻社区男人天堂| 性爱视频久久| 亚洲中亚日激情视频| 青青草久草| 岛国黄| 九九九九久久久| 国产久久男人天堂| 久9re热视频这里只有精品| 性爱乱伦网址| 福利一级版子| 亚洲熟妇一,二,三期| AV无码久久久精品| 九一精品牛牛一区二区| 加勒比伊人| 午夜男女爽爽爽在线视频 | 亚洲中亚日激情视频| 日本精品一级二级三级| 国产999精品久久久久久| h色99999| 又大又长又粗又爽又黄| 日本啊啊啊啊啊视频| 91视频在线观看18| 亚洲天堂男人在线| 色97干| 婷婷操逼| 麻豆一区在线| 久草精品国产99| 蜜桃久久综合视频| 综合第一页| 思思热免费视频观看| 91欧美美女日韩国产婷婷| 97伊人| a在线视频免费观看| 久久精品日韩专区免费观看| 人妻丰满熟妇一区二区三| 欧美日日网| 亚洲综合20p| 99久久久99久久91熟女| 97人人色| 婷婷午夜| 日日骚一区二区三区| 亚洲一区二区三区AV无码| 亚州日韩97| 午夜无遮挡男女啪啪视频| 综合干干干av久久久综合网 | 99久久精品无码一区二区毛片免费| 婷婷四五区| 人妻少妇久久中文字幕一区二区 麻豆 | 精品欧美А∨无码黑人大荫蒂| 久久精品女同亚洲女同13| 操www| 超碰夫妻97| 又大又长又粗又爽又黄| 久久日本熟女精品一区| 黑人操一区二区| 久久一区二区加油站| 在线播放免费av福利片| 国产后入式在线观看| 五月婷婷六月天| 91宗合网| 久久婷婷亚洲欧| 亚洲精品无码久久AV| 青青欧洲黑| 国产精品熟女乱伦| 神马久久午夜| 麻豆精品A片免费观看| 亚洲国产一区二区入口| 偷拍亚洲情色| www.色五月| 草草电影院| 蜜桃视频一区二区三区| 国产女性无套 免费观看| 久久老熟女| 观看免费区二区三区二| 日本黄大片在线观看视频| 青青草玖玖爱| 欧美亚涩| 香蕉人人操tv| 99久久国产精品免费高潮| 国产 大胆 对白| 国产黄色 A 片免费看| 九九这里只有精品| 99re不伦| 蜜桃色色网站视频三区| 国产一区二区在线播放量| 超碰97在线色男人??| 国产少妇肉丝在线观看| 丁香六月激情| 亚洲精品99999| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 久久后入制服| 加勒比日本在线| 国产精品无码论坛| 亚洲天堂久久久久久粉红视频| 欧美亚州色的图| 男人的天堂2019AV| 大香蕉一线视频| 狠狠色伊人亚洲综合网站色| 日韩欧美麻豆| 色九九综合AV| 亚洲免费97免费| 骚逼高潮久久精品| 欧美天天综合网| 国产乱码久久久| 99热精品国产| 91色综合激情| 99re这里只有精品中心播放| 大乔未久88一区| 久久久久久性爱视频| 超碰99在线观看| av在线不卡一区二区三区| 亚州熟女乱伦| 亚洲另类春色| 91五十路| 亚洲日韩国产精品| 国产传媒日韩| 亚洲精品九九九| 国产嫩草精品A88AV| 在线亚洲丝袜视频网站| 久久精品高清无码一区| 嗯嗯啊啊好疼| 射欧美综合| 国产污视频麻豆传媒一区二区| 五月婷婷六月丁香| 1024日韩| 亚洲色图激情小说| 色欧美天天| 好淫网一二三视区| 色色五月天婷婷| 九九亚洲| 久久精品国产亚洲AV先锋| 美女91在线| 老熟妇91| 超碰97丝袜| 欧美色亚洲| 国产精品扒开腿做爽爽爽视频| 精品91日日夜夜超清资源| 精品69网| 亚洲综合首页| 国产美女销魂在线观看不卡| 国产 亚洲 一二三四| 97超碰磁| 新婚人妻扶着粗大强行坐下| 精品性爱一区二区| 人人做人人妻人人夜视频| 97人人射| 91久久久久久久久久久| 久久爱超碰网| 伊人午夜福利视频| 亚洲综合嫩| 天天日天天操天天射河南省| 综合伊人激情| 99久久久er直播网址| 丁香五月激情婷婷| 97视频在线观看播放与子乱对白在线……| 一区二区三区 丝袜高跟| 超碰人妻中文在线| 超碰在线第一页| 色与欲影视| 国产成人亚洲精品无码最新在线| 国产美女销魂在线观看不卡| 粉嫩av在线一区二区| 综合色色婷婷| 性性欧美| 日韩一级二级三级免费看完整版国语版 | 亚洲色图大香| 91粉芽高清在线一区二区| 按摩中文字幕| 国产精品视频| 91制服丝袜| 秋霞色色影院| 97干在线视频| 一区二区三区日韩欧美| 蜜乳av一区二区三区| 国产激情视频一区区三区| 1240青青草一区二区三区视频天爱| 91第一页| 操逼操网| 色爱综合网欧美| 欧美激情 一区| 日韩三级一区| 亚洲欧美一区二区三区在钱蜜桃| 另类专区加勒比| 1240青青草一区二区三区视频天爱| 美国aaaaa一级黄片| 亚洲 欧美都市激情| 素颜老阿姨乱情色| 亚洲天天操| 精品黑人一区二区| 男人网站婷婷| 老女人综合网| 五月天综合网| 在线五区| 欧美激情视频在线一区| 最新国产精品久久精品| 91高跟美女在线播放| 色妇综合网| 一,爱啪啪,在线免费视频| 天天淫人人妻日日色| 午夜操操操| 亚洲av淫乱| 精品97久久综合| 狠狠色噜噜狠狠狠狠2018| 婷婷五月天小说| 亚洲偷拍欧美激情| 天堂无码精品国产久| 久久超碰亚洲人| 中文字幕在线免费观看2| 久久久夜夜嗨免费视频| 天天插夜夜爽| 51久久夜色精品国产麻豆| 又大又白奶子| 国内成人圈中文字幕无码视频| 免费国产电影一区二区| 9久久9综合| 神马午夜久久| 你操综合| 粉嫩av一区二区三区天美传媒| 男女真人网18| 欧美91色| 操比国产| 97超碰公开| 精品超碰国产| 亚洲自拍小说| 日韩午夜啪啪视频| 97综合在线| 亚洲色吧网| 懂色Av一区二区三区| 色情成人五月天| 亚洲深夜福利| 男人天堂站| 日韩偷拍一区二区三区| 欧美综合网1| 欧美强奸乱| 97国产精品久久久久| 国产亚州高清国产拍精| 97超级久久| 男人的天堂亚洲| 丰满人妻一区二区三区| 丁香六月婷| 九九九九九精品| 18一区二区三区| 蜜乳AV免费观看| 美女干逼2| 久久久久久日韩| 国产精品粉嫩福利在线| 中文字幕jul-617人妻熟女| 日韩亚洲97| 色色色综合网| 2017av无码免费无线播| 1204金沙人妻懂旧版免费| 凹凸视频在线观看伊人| 久久99九九九九6666免费观看软件| 日本熟妇一区二区三区| 午夜男人av| 2017天天操天天日| 亚洲色交| 亚州色站 日韩电影| 人人人人插| 久久一区二区蜜桃| 上床不卡网站| 婷婷丁香六月| 在线观看亚洲成人精品| 超碰97综合网| 97天天操天天干| 亚洲最大AV网| 亚洲春色欧美激情自拍| 疯操AV| 色月天AV导航| 欧美午夜一区二区三区| 天天92av| 久久久久久久9最新免费视频观看| 丰满高潮18xxxx| 国产极品粉嫩馒头一线天av| 综合大香蕉美。| 亚洲国产欧美日韩人妻日中文| 在线播放免费av福利片| 亚洲性高潮| 色综和网| 精品网站9999| 我要看免费韩日黄片| 欧美性爱精品七区| 97超级久久| 欧美人妻熟女在线| 蜜臀AV成人精品蜜臀| 亚洲国产精品久久久久婷婷青年| 欧美特大黄一级片片免费| 国产精品不卡少妇白| 国产精品一区二区在钱播放| 韩国一级做A片免费的| 国产精品久久久吖| 91色插| 青青草五月份天| 亚洲欧洲色情高清| 有码人妻系列| 强奸a片网| 一级特级aaaa毛片免费观看| 久久无码一区二区二三区性色| julia国产在线| 天堂涩涩| AV在线资源| 亚洲AV乱码专区国产噜噜亚洲| 激情综合五月| 91一起操| 午夜天堂精品久久久久91| 久久精品国产免费观看99| 99精品成人免费看| 国产操操日韩三级黄| 中文字幕一区电影在线观看| 欧美日韩黄片精品在线| 亚洲伊人久久综合97| 日本黄色精品| 九九九不卡| 9精品久久久久| 麻豆天美一区二区| 啪啪自拍九九综合| 午夜国产综合视频在线观看| 17c嫩草51久久91嫩草| 精品国产av一区二区三区四区入口| 超碰2017| 青青免费在线视频一区| 国产成人自拍视频视频| 久久精品国产亚洲AV无码做| 18禁美女裸体无遮挡啪啪| 涩涩涩综合| 日韩99精品视频综合区| 日本免费人成视频播放120秒| 东京热视频网| 中文字幕一区二区日韩网| 情趣丝袜无码操逼视频| 精品78| 国产一区二区三区白丝| 国产精品直播在线观看直播| 欧美1区二区三区公司| av三级电影在线播放| a男人的天堂久久一级A毛片 | 欧美制服网站美腿丝袜| 亚洲不卡av在线| 久久久久久久久久黄色网| 欧美αv.com| 国产精品一二三在线看| 97精品国产97久久久久久| 91xingse| 九九人妻| 午夜精品久久99蜜桃的功能章节| 超碰免费人妻人人| 探花一区在线| AV天天在线观看| 欧美精品第四五页中文字幕在线观看| 天天干人妻| 日韩日韩日韩-国产乱码精品一区二区| www欧美91| 国产辣妈在线视频福利| 国产尤物AV尤物在线观看不卡| 色婷视频| 蜜桃不卡一区二区| 欧美在线55555| 伊人午夜福利视频| 婷婷10月天青娱乐| 高清无码在线播放网站| 婷婷亚洲天堂| 色老久久| 无遮挡男女激烈动态图| 97精品综合久久| 亚洲情色在线| 精品综合久久久久久五月天| 色综合av男人天堂| 超碰97网址| 欧美激情区| 国产情侣自拍在线播放| 91网亚洲| 人妻夜夜爽天天爽三区麻豆AV网站| 日韩亚洲国产视频| 精品176精品2| 人妻欧美| 狠狠色婷婷| 青操影院| 国产精品久久久无码aV去| 婷婷五月天丁香花| 超碰精品人妻狠狠干| 久久AV无码AV| 婷婷丁香六月| 欧美熟妇操操视频| 校园春色综合网| 嗯嗯嗯好爽| 丝袜视频网国产90| 白嫩国模丰满一二三区| 欧美 亚洲 另类 综合| 国产精品高清2021在线| 欧亚综合一卡二卡中文字幕| 啪啪啪综合| 国产欧美日韩一区二区三区| 激情综合av| 夜夜骑夜夜操| 超碰激情808| 亚州性9| 激情综合五月| 久久久111| 无码操逼视频一下| 婷婷五月天激情小说| 精品9999| 91精品丝袜久久久久久| 欧美91久久久久| 精品国产无码中文| wwe 天天干.com| 精品少妇999| 五月丁香久久| 清纯唯美第一页| 色色操| 亚洲中字慕不卡| 在线观看黄色电话| 亚洲成人ab| 女人午夜视频777| 2017大香蕉国产精品久久| 亚洲一级特黄大片在线播放91| 97WW精品| 日韩乱伦AⅤ| 1区2区3区在线视频| 午夜福利国产欧美日韩夜夜| 9热9热综合网| 国产AV激情无码久久无码 | 人妻熟女午夜精品在线| 91青青| 麻豆国产尤物AV| 玖玖资源视频一区二区三区| 99在线免费公开视频| oumeizonghese,www| 一线黄色免费性爱片| 日韩欧美中文字| 亚洲无码AV九九九| 另类专区加勒比| 久久高清欧美国产| 日韩91网站| 熟妇一区二区三区| 大肉棒导航| 凹凸久久人人| 久久久久久久9999| 这里只有精品久久| 麻豆国产视频精品观看| 午夜天堂网| 男女性感激情网站| 欧美性夜| 9热9热综合网| 激情五月丁香五月| 国产毛片片精品天天看视频| 亚洲日产专区婷婷| av资源在线播放天堂| 26uuu最新| 久久AV无码1区2区3区| www.人人cao| 色综合一区二区三区| AV高清一区| 天天精品| 色噜噜人妻av中文字幕| 国产精品不卡少妇白| 久久美女福利是上海美女| 99少妇| 欧美综合在线91| jizzjizz欧美| 人人操欧美风骚| 色偷偷男人的天堂麻豆| 久久久九97| 成年人黄色小视频网站| 欧美激情在线观看视频| 夜夜嗷嗷一区二区| AA丁香综合激情| 天天操人人操狠狠插| 亚洲在线a| 超碰免费欧美7| 91老司机在线视频免费观看 | 鲁鲁色综合网| 最新中文字幕在线亚洲| 亚洲另类春色| 欧美日韩制服| 丝袜喷水在线| 天天摸天天插天天日| 玖玖爱免费观看视频| 欧美欧美啪啪视频| 熟女高潮精品一区二区| 青青草日本中文字幕| 伊人97色天使| 91蜜桃婷婷狠狠久久综合9色| 91人妻中文| 日本伦乱九九九综合| 9丨久久九九九| 四虎精品一区| 国偷自 一区| 欧美在线啊啊啊| 欧美日韩国产传媒在线精品| 操逼视频亚洲| 亚洲国产av中文字幕久久| 男女啪啪网站免费视频| 快灬快灬 一下爽蜜桃在线观看 | 美女十八禁| 伊人网在线观看| 嗯啊免费视频| 国产人伦精品一区二区三区| 色99视频| 97人人草| 97人人射| 婷婷91| 丁香六月东京热| 亚洲高清无码AAA久久久精品| 日本性爱欧美性爱| 国产一区二区三区白丝| 欧美色欧美| 97操| 国产精品香蕉| 91亚州| 狠狠婷婷亚洲中文综合久久| 中文字幕在线观看网址| 精品欧美不卡在线播放| 中文字幕蜜乳av| 日韩熟女操逼| 91综合色噜噜| 2023天天操夜夜操| 国产又色又粗又黄又爽| 一级二级三级黑人无码| 日本免费一级AAA大片器| 三级特黄60分钟播放| 91午夜无码| 欧美日本中字另类在线| 天天艹天天日| 囯产操逼片| 91色综合| 亚洲精品白浆高清久久久久久| 日韩99精品视频综合区| 在线观看无码三级少妇| 18禁美女裸体无遮挡啪啪| 日韩丰满熟妇| 去干网最新版| 超AV色女| 澳门人妻久久| 久久一二三四不卡 | 久久99草| 高清孕妇孕交 交孕妇| 国产传媒一区二区三区| 乱伦强奸区日韩| 日本操逼视频导航| 日韩国产乱子伦App| 五月天婷精品激情| 老熟女91av| 亚洲大胆人体av| 欧美综合网A| av爱爱爱| 国产在线视视频有精品| 五月婷婷五月天| 欧美综合加勒比在线| 亚洲人妻熟妇三十三区| 久久成人网站| 91人妻少妇| 亚洲 自拍偷拍 欧美| 亚洲无码一区二区三区三州| 夜夜嗨一区二区| AV中文字幕剧情1区2区3| 欧美自拍网| 欧美不卡在线一区二区| 91精品啪在线观看国产城中村| 免费观看的av| 国产偷拍网站| Blackedraw视频一区二区| 亚洲精品一区二区三区新线路| 欧美72网页| 97中文字幕九区| 国产野战露脸在线播放| 久操精品网| 免费超碰97久久| 欧美黄业| 91精品无码人妻系列| 亚洲人在线| 97操碰| 国产色精品午夜大片| 久久综合乱子伦国产免费| 智利AV在线网| 日本1区2区不卡视频| 婷婷97| 亚洲性少妇| 毛片一区二区| 免费观看欧美日韩操逼视频| 91美女视屏| 老熟女综合网 | 久草线上视频免费看| 欧美偷拍区| 啊嗯好大视频在线观看| 久久99干一本高清| www网站黄| 啊啊啊97视频| 人人操人人色网| 日韩美一区| 91M一社| 在线99热| 亚州精品人妻一二三区| 免费的黄片有限公司| 9超碰免费| 亚洲97综| 很很干很很操| 草久在线| 狠狠干狠狠色| 自拍第一页| 国产无马视频| 亚洲色香| 精品亚洲一区在线观看| 97超碰天天| 五月丁香黄色网| 色av中文字| 精品视频一区二区| 神马精品视频| а√天堂资源官网在线资源| 国产日韩精品一区二区三区| 精品黄色电影| 日本不卡码黄色| 日韩97P| 欧亚洲精品有视频| 黄片视频观看| 欧美中文字幕男人天堂久久精品 | 岛国在线国产| 天天综合影院91| 久久久性| 亚码人妻| 韩国午夜理伦三级好看| 粉嫩久久久久| av午夜影院在线播放| 欧美图片校园春色| 成人网址在线观看| 精品欧美乱码久| 天天综合网久久ww| 久久久精品电影| 97 九色| 去干网最新版| 男人的天堂va在线| 欧美色66| 插欧洲美女欧美精品| 欧美日韩小说| 国产一区二区三区不卡手机在线| 成人a级高清视频在线观看| 亚av顶级裸体一区二区三区四区五区| 国模精品娜娜一二三区| 先锋女优在线观看视频| 牛牛AV人人夜夜澡人人爽| 97天天做| 黄色免费网页无码| 色五月AV在线| 激情婷婷五月天| 最新日日夜夜天天干干| 亚洲色天堂九9| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 蜜臀色乳| 中国国国产一级特黄毛片| 91综合天天看| 蜜臀99999| 久久欧美性爱视频| 91伊人| 久男人久久| 韩日精品四区| 国产福利视频精品视频| 另类图片五月天| 又黑又大又粗| 国产福利在线视频网站| 久久久久国产精品久久久| 西西美女视频网| 久久精品一区二区三区不卡| 99re国产精品视频| 国产农村妇女毛片精品久久| 91l欧美在线| 91人人爽人人爽| 青娱乐亚洲自拍| 中文字幕欧美丝袜07资源| 超碰1997| 精品少妇一区二区三区免费观看| 亚洲国产麻豆一区二区三区| 国产精品自拍视频| 久久人妻无码毛片A片麻豆| 久久嫩草国产成人一区| 亚洲四虎熟女精品| 91AV入口| 日少妇视频| 人妻熟女一区二区| 爱射综合| JIZZJIZZ国产精品喷水| 翔田千里AV无码秘 三区| 五月天精品| 超硑97精品| baisiav| 色色五月天婷婷| 97神马久久| 久久激情视频| 欧美日本不卡| www.狠狠干.coom | 啊啊啊啊啊啊啊啊要喷了| 丝袜六区| 熟妇在线视频一区二区| 秋霞视频一区二区| 成人小说视频在线精品欧美| 人人摸人人入| 热久日综合| ′ !γ}丶。。久久精品欧美一区二区三区| 黄片不用下载在线观看| αⅴ天堂| 色视频蜜乳| 精品久久久久久无码| 色欧美色交综合| 亚洲限制级在线| 欧美第38页| 免费视频无码| 欧美性天天影视| 日本综合色图| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 国产成人无码久久精品| 亚洲成人一区二区精品| 中文字幕一区电影在线观看| 99热这里只有精品18| 欧美色亚洲色| 哈哈操电影| 91人妻少妇| 大香蕉综合网| 黑人娇小av在线播放 | 毛片视频白嫩| 久久精品一区| 五毛骚逼极品美女怕怕| 久草男人天堂| 亚洲第一页综合在线| 精品一级|