99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

Segment Anything (SAM) 實(shí)戰(zhàn)指南:在 AI-Research-SKILLs 中用點(diǎn)、框與掩碼提示實(shí)現(xiàn)零樣本圖像分割

Segment Anything (SAM) 實(shí)戰(zhàn)指南:在 AI-Research-SKILLs 中用點(diǎn)、框與掩碼提示實(shí)現(xiàn)零樣本圖像分割 AI 技能人工智能大模型深度學(xué)習(xí)【免費(fèi)下載鏈接】AI-Research-SKILLsComprehensive open-source library of AI research and engineering skills for any AI model. Package the skills and your claude code/codex/gemini agent will be an AI research agent with full horsepower. Maintained by Orchestra Research.項(xiàng)目地址https://gitcode.com/gh_mirrors/ai/AI-Research-SKILLs點(diǎn)擊查看免費(fèi)下載本指南以 AI-Research-SKILLs 倉庫中的 Segment Anything 技能文檔SKILL.md為核心系統(tǒng)講解 Meta AI Segment Anything ModelSAM的零樣本圖像分割能力無需任務(wù)定制訓(xùn)練即可用點(diǎn)、邊界框或掩碼提示分割任意圖像中的任意物體。讀完本文你將掌握 SAM 的安裝與模型加載、SamPredictor交互式分割、SamAutomaticMaskGenerator全自動掩碼生成、ONNX 部署以及常見實(shí)戰(zhàn)工作流并能結(jié)合倉庫中的 高級用法 與 故障排查 兩篇參考文檔完成端到端落地。在 AI-Research-SKILLs 的技能體系中本技能歸屬于18-multimodal/segment-anything/目錄是 技能路由地圖 中多模態(tài)板塊的重要成員。當(dāng)自動研究編排器autoresearch在圖像理解、數(shù)據(jù)標(biāo)注、醫(yī)學(xué)影像處理等研究任務(wù)中需要分割任意物體時就會路由到本技能執(zhí)行倉庫根 README.md 也將它列為 Metas SAM for zero-shot image segmentation with points/boxes 的標(biāo)準(zhǔn)能力入口。何時使用 SAM適用場景使用 SAM 的場景需要在無需任務(wù)定制訓(xùn)練的情況下分割圖像中的任意物體構(gòu)建基于點(diǎn) / 框提示的交互式標(biāo)注工具為其他視覺模型生成訓(xùn)練數(shù)據(jù)數(shù)據(jù)飛輪需要向新的圖像域進(jìn)行零樣本遷移構(gòu)建物體檢測 / 分割流水線處理醫(yī)學(xué)、衛(wèi)星或領(lǐng)域特定圖像關(guān)鍵特性零樣本分割無需微調(diào)即可在任何圖像域上工作靈活提示支持點(diǎn)Points、邊界框Bounding Boxes或先前掩碼Previous Masks自動分割自動生成圖像中所有物體的掩碼高質(zhì)量官方在 1100 萬張圖像上使用 11 億掩碼進(jìn)行訓(xùn)練論文公開數(shù)據(jù)多種模型尺寸ViT-B最快、ViT-L、ViT-H最準(zhǔn)確ONNX 導(dǎo)出可部署到瀏覽器與邊緣設(shè)備替代方案對比考慮使用替代方案YOLO / Detectron2用于帶類別的實(shí)時物體檢測Mask2Former用于帶類別的語義 / 全景分割GroundingDINO SAM用于文本提示分割組合管線見 高級用法SAM 2用于視頻分割任務(wù)快速開始安裝SAM 官方提供 pip 安裝入口推薦安裝segment-anything主包并視需要安裝opencv-python、pycocotools、matplotlib等可選依賴# 從 GitHub 安裝 pip install githttps://github.com/facebookresearch/segment-anything.git # 可選依賴 pip install opencv-python pycocotools matplotlib # 或使用 HuggingFace transformers pip install transformers安裝完成后可執(zhí)行快速驗(yàn)證python -c from segment_anything import sam_model_registry; print(OK)下載 Checkpoint官方發(fā)布的三個模型 checkpoint 分別對應(yīng)三種主干規(guī)模體積與精度依次遞增# ViT-H最大、最準(zhǔn)確 - 2.4GB wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth # ViT-L中等 - 1.2GB wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_l_0b3195.pth # ViT-B最小、最快 - 375MB wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_b_01ec64.pth注意checkpoint 文件名中的_h_4b8939、_l_0b3195、_b_01ec64等后綴是官方校驗(yàn)標(biāo)識下載后建議用md5sum校驗(yàn)文件完整性如sam_vit_h_4b8939.pth的預(yù)期校驗(yàn)值為a7bf3b02f3ebf1267aba913ff637d9a2并使用與模型類型完全匹配的 checkpoint否則加載時會報unexpected key in state_dict。使用 SamPredictor 的基礎(chǔ)用法SamPredictor是官方交互式推理的核心 API。其工作流是加載模型 → 設(shè)置圖像一次性計(jì)算圖像嵌入→ 提供提示預(yù)測掩碼import numpy as np from segment_anything import sam_model_registry, SamPredictor # 加載模型 sam sam_model_registryvit_h sam.to(devicecuda) # 創(chuàng)建 predictor predictor SamPredictor(sam) # 設(shè)置圖像一次性計(jì)算嵌入 image cv2.imread(image.jpg) image cv2.cvtColor(image, cv2.COLOR_BGR2RGB) predictor.set_image(image) # 用點(diǎn)提示進(jìn)行預(yù)測 input_point np.array([[500, 375]]) # (x, y) 坐標(biāo) input_label np.array([1]) # 1 前景, 0 背景 masks, scores, logits predictor.predict( point_coordsinput_point, point_labelsinput_label, multimask_outputTrue # 返回 3 個候選掩碼 ) # 選擇最佳掩碼 best_mask masks[np.argmax(scores)]predict返回三元組masks掩碼數(shù)組形狀與multimask_output相關(guān)、scores每個掩碼的預(yù)測 IoU 置信度、logits低分辨率掩碼 logits可回傳用于迭代細(xì)化。multimask_outputTrue時返回 3 個候選掩碼供選擇當(dāng)提示足夠明確如單個清晰目標(biāo)時可用False直接返回單一掩碼。HuggingFace Transformers 集成除官方實(shí)現(xiàn)外也可通過 HuggingFace 生態(tài)加載模型與處理器適合與現(xiàn)有 Transformers 管線整合import torch from PIL import Image from transformers import SamModel, SamProcessor # 加載模型與處理器 model SamModel.from_pretrained(facebook/sam-vit-huge) processor SamProcessor.from_pretrained(facebook/sam-vit-huge) model.to(cuda) # 用點(diǎn)提示處理圖像 image Image.open(image.jpg) input_points [[[450, 600]]] # 點(diǎn)需嵌套列表以包含 batch 維度 inputs processor(image, input_pointsinput_points, return_tensorspt) inputs {k: v.to(cuda) for k, v in inputs.items()} # 生成掩碼 with torch.no_grad(): outputs model(**inputs) # 后處理將掩碼恢復(fù)到原始尺寸 masks processor.image_processor.post_process_masks( outputs.pred_masks.cpu(), inputs[original_sizes].cpu(), inputs[reshaped_input_sizes].cpu() )需要注意SamProcessor返回的pred_masks是在模型輸入分辨率下的低分辨率掩碼必須通過post_process_masks結(jié)合original_sizes原始尺寸與reshaped_input_sizes重采樣尺寸恢復(fù)到原圖大小否則無法直接疊加到原圖上。核心概念模型架構(gòu)SAM 由三個可組合的模塊構(gòu)成圖像編碼器Image Encoder與提示編碼器Prompt Encoder將輸入映射為嵌入掩碼解碼器Mask Decoder基于兩者預(yù)測掩碼與 IoU 分?jǐn)?shù)SAM Architecture: ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Image Encoder │────?│ Prompt Encoder │────?│ Mask Decoder │ │ (ViT) │ │ (Points/Boxes) │ │ (Transformer) │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ Image Embeddings Prompt Embeddings Masks IoU (computed once) (per prompt) predictions理解這一架構(gòu)對性能優(yōu)化至關(guān)重要圖像嵌入只計(jì)算一次可被多個提示反復(fù)復(fù)用——這正是一張圖、多個提示批量推理的高效基礎(chǔ)提示編碼與掩碼解碼相對輕量單次預(yù)測開銷遠(yuǎn)小于圖像編碼。模型變體模型Checkpoint 注冊名大小速度精度ViT-Hvit_h2.4 GB最慢最佳ViT-Lvit_l1.2 GB中等良好ViT-Bvit_b375 MB最快良好提示類型提示描述使用場景點(diǎn)前景點(diǎn)擊物體內(nèi)部單個物體選擇點(diǎn)背景點(diǎn)擊物體外部排除區(qū)域邊界框物體外接矩形較大物體先前掩碼低分辨率掩碼輸入迭代細(xì)化交互式分割點(diǎn)提示單個前景點(diǎn)即可觸發(fā)分割多個點(diǎn)含背景點(diǎn)可進(jìn)一步提高精度# 單個前景點(diǎn) input_point np.array([[500, 375]]) input_label np.array([1]) masks, scores, logits predictor.predict( point_coordsinput_point, point_labelsinput_label, multimask_outputTrue ) # 多個點(diǎn)前景 背景 input_points np.array([[500, 375], [600, 400], [450, 300]]) input_labels np.array([1, 1, 0]) # 2 個前景, 1 個背景 masks, scores, logits predictor.predict( point_coordsinput_points, point_labelsinput_labels, multimask_outputFalse # 提示清晰時返回單一掩碼 )坐標(biāo)約定點(diǎn)坐標(biāo)必須是(x, y)格式——x是列索引、y是行索引且需落在圖像邊界內(nèi)0 x w且0 y h否則會出現(xiàn)index out of bounds或掩碼位置錯誤??蛱崾具吔缈蚋袷綖閇x1, y1, x2, y2]左上 右下適合框選較大物體# 邊界框 [x1, y1, x2, y2] input_box np.array([425, 600, 700, 875]) masks, scores, logits predictor.predict( boxinput_box, multimask_outputFalse )注意x1 x2且y1 y2是合法框的前提否則會報invalid box coordinates。組合提示框與點(diǎn)可同時使用兼顧整體范圍與局部精確控制# 框 點(diǎn)實(shí)現(xiàn)精確控制 masks, scores, logits predictor.predict( point_coordsnp.array([[500, 375]]), point_labelsnp.array([1]), boxnp.array([400, 300, 700, 600]), multimask_outputFalse )迭代細(xì)化SAM 支持把上一次預(yù)測的 logits 作為mask_input回傳在交互標(biāo)注中實(shí)現(xiàn)點(diǎn)一點(diǎn)、改一處的連續(xù)細(xì)化# 初始預(yù)測 masks, scores, logits predictor.predict( point_coordsnp.array([[500, 375]]), point_labelsnp.array([1]), multimask_outputTrue ) # 用先前掩碼 額外點(diǎn)細(xì)化 masks, scores, logits predictor.predict( point_coordsnp.array([[500, 375], [550, 400]]), point_labelsnp.array([1, 0]), # 添加背景點(diǎn) mask_inputlogits[np.argmax(scores)][None, :, :], # 使用最佳掩碼 multimask_outputFalse )自動掩碼生成基礎(chǔ)自動分割SamAutomaticMaskGenerator在圖像上鋪設(shè)規(guī)則點(diǎn)網(wǎng)格自動分割出全部物體掩碼無需任何人工提示from segment_anything import SamAutomaticMaskGenerator # 創(chuàng)建生成器 mask_generator SamAutomaticMaskGenerator(sam) # 生成全部掩碼 masks mask_generator.generate(image) # 每個掩碼包含: # - segmentation: 二值掩碼 # - bbox: [x, y, w, h] # - area: 像素數(shù)量 # - predicted_iou: 質(zhì)量分?jǐn)?shù) # - stability_score: 穩(wěn)定性分?jǐn)?shù) # - point_coords: 生成點(diǎn)自定義生成參數(shù)核心可調(diào)參數(shù)包括網(wǎng)格密度points_per_side、質(zhì)量閾值pred_iou_thresh、穩(wěn)定性閾值stability_score_thresh、多尺度裁剪crop_n_layers以及最小掩碼面積min_mask_region_areamask_generator SamAutomaticMaskGenerator( modelsam, points_per_side32, # 網(wǎng)格密度越大掩碼越多 pred_iou_thresh0.88, # 質(zhì)量閾值 stability_score_thresh0.95, # 穩(wěn)定性閾值 crop_n_layers1, # 多尺度裁剪層數(shù) crop_n_points_downscale_factor2, min_mask_region_area100, # 移除過小掩碼 ) masks mask_generator.generate(image)參數(shù)調(diào)節(jié)的經(jīng)驗(yàn)方向掩碼過多時降低points_per_side、提高pred_iou_thresh/stability_score_thresh、增大min_mask_region_area并可引入box_nms_thresh做更激進(jìn)的 NMS掩碼過少或漏檢小物體時提高points_per_side、降低閾值、增加crop_n_layers多尺度裁剪詳見 故障排查。過濾掩碼生成結(jié)果可按面積、IoU 分?jǐn)?shù)與穩(wěn)定性分?jǐn)?shù)做二次篩選# 按面積排序大的在前 masks sorted(masks, keylambda x: x[area], reverseTrue) # 按預(yù)測 IoU 過濾 high_quality [m for m in masks if m[predicted_iou] 0.9] # 按穩(wěn)定性分?jǐn)?shù)過濾 stable_masks [m for m in masks if m[stability_score] 0.95]批量推理多圖像處理對多張圖像循環(huán)調(diào)用注意每張圖像需重新set_image重新計(jì)算嵌入# 高效處理多張圖像 images [cv2.imread(fimage_{i}.jpg) for i in range(10)] all_masks [] for image in images: predictor.set_image(image) masks, _, _ predictor.predict( point_coordsnp.array([[500, 375]]), point_labelsnp.array([1]), multimask_outputTrue ) all_masks.append(masks)單圖像多提示得益于嵌入只算一次的架構(gòu)同一圖像上的多個提示可以共享一次圖像編碼批量預(yù)測非常高效# 高效處理多個提示一次圖像編碼 predictor.set_image(image) # 批量點(diǎn)提示 points [ np.array([[100, 100]]), np.array([[200, 200]]), np.array([[300, 300]]) ] all_masks [] for point in points: masks, scores, _ predictor.predict( point_coordspoint, point_labelsnp.array([1]), multimask_outputTrue ) all_masks.append(masks[np.argmax(scores)])ONNX 部署導(dǎo)出模型官方提供scripts/export_onnx_model.py導(dǎo)出腳本可導(dǎo)出用于瀏覽器與邊緣設(shè)備部署的 ONNX 模型python scripts/export_onnx_model.py \ --checkpoint sam_vit_h_4b8939.pth \ --model-type vit_h \ --output sam_onnx.onnx \ --return-single-mask--return-single-mask選項(xiàng)讓解碼器只輸出單個掩碼推理更快對多候選交互場景可去掉該參數(shù)導(dǎo)出失敗時可顯式指定--opset 17并固定onnx1.14.0、onnxruntime1.15.0等版本組合詳見 故障排查。使用 ONNX 模型推理ONNX 模型僅包含提示編碼器 掩碼解碼器圖像嵌入需在 PyTorch 側(cè)預(yù)先計(jì)算后作為輸入傳入import onnxruntime # 加載 ONNX 模型 ort_session onnxruntime.InferenceSession(sam_onnx.onnx) # 運(yùn)行推理圖像嵌入需單獨(dú)計(jì)算 masks ort_session.run( None, { image_embeddings: image_embeddings, point_coords: point_coords, point_labels: point_labels, mask_input: np.zeros((1, 1, 256, 256), dtypenp.float32), has_mask_input: np.array([0], dtypenp.float32), orig_im_size: np.array([h, w], dtypenp.float32) } )若 GPU 上 ONNX Runtime 報錯可用onnxruntime.get_available_providers()查看可用 Provider并顯式指定providers[CPUExecutionProvider]回退到 CPU。常見工作流工作流 1交互式標(biāo)注工具用 OpenCV 鼠標(biāo)回調(diào)實(shí)現(xiàn)點(diǎn)擊即分割的標(biāo)注體驗(yàn)import cv2 # 加載模型 predictor SamPredictor(sam) predictor.set_image(image) def on_click(event, x, y, flags, param): if event cv2.EVENT_LBUTTONDOWN: # 前景點(diǎn) masks, scores, _ predictor.predict( point_coordsnp.array([[x, y]]), point_labelsnp.array([1]), multimask_outputTrue ) # 顯示最佳掩碼 display_mask(masks[np.argmax(scores)])工作流 2物體提取點(diǎn)擊物體內(nèi)部即可輸出帶透明背景的 RGBA 摳圖def extract_object(image, point): 提取點(diǎn)擊點(diǎn)處的物體輸出透明背景 RGBA。 predictor.set_image(image) masks, scores, _ predictor.predict( point_coordsnp.array([point]), point_labelsnp.array([1]), multimask_outputTrue ) best_mask masks[np.argmax(scores)] # 創(chuàng)建 RGBA 輸出 rgba np.zeros((image.shape[0], image.shape[1], 4), dtypenp.uint8) rgba[:, :, :3] image rgba[:, :, 3] best_mask * 255 return rgba工作流 3醫(yī)學(xué)圖像分割醫(yī)學(xué)影像通常為灰度圖需先轉(zhuǎn)成 RGB 三通道再送入模型用 ROI 框提示分割感興趣區(qū)域# 處理醫(yī)學(xué)圖像灰度轉(zhuǎn) RGB medical_image cv2.imread(scan.png, cv2.IMREAD_GRAYSCALE) rgb_image cv2.cvtColor(medical_image, cv2.COLOR_GRAY2RGB) predictor.set_image(rgb_image) # 分割感興趣區(qū)域 masks, scores, _ predictor.predict( boxnp.array([x1, y1, x2, y2]), # ROI 邊界框 multimask_outputTrue )輸出格式掩碼數(shù)據(jù)結(jié)構(gòu)SamAutomaticMaskGenerator生成的每個掩碼字典包含{ segmentation: np.ndarray, # H×W 二值掩碼 bbox: [x, y, w, h], # 邊界框 area: int, # 像素數(shù)量 predicted_iou: float, # 0-1 質(zhì)量分?jǐn)?shù) stability_score: float, # 0-1 穩(wěn)定性分?jǐn)?shù) crop_box: [x, y, w, h], # 生成裁剪區(qū)域 point_coords: [[x, y]], # 輸入點(diǎn) }其中predicted_iou是模型對自身掩碼質(zhì)量的估計(jì)stability_score衡量掩碼對點(diǎn)擾動的魯棒性兩者是自動化數(shù)據(jù)標(biāo)注中的關(guān)鍵篩選依據(jù)。COCO RLE 格式與 COCO 數(shù)據(jù)集生態(tài)互通時可將掩碼編碼為 RLE 格式存儲from pycocotools import mask as mask_utils # 掩碼編碼為 RLE rle mask_utils.encode(np.asfortranarray(mask.astype(np.uint8))) rle[counts] rle[counts].decode(utf-8) # RLE 解碼為掩碼 decoded_mask mask_utils.decode(rle)性能優(yōu)化GPU 內(nèi)存顯存受限時改用 ViT-B 小模型大批量處理之間調(diào)用torch.cuda.empty_cache()清理緩存超大圖像先等比縮放到最長邊 1024 以內(nèi)再送入模型# 顯存有限時使用小模型 sam sam_model_registryvit_b # 分批量處理圖像清理 CUDA 緩存 torch.cuda.empty_cache()速度優(yōu)化# 使用半精度 sam sam.half() # 減少自動生成的網(wǎng)格點(diǎn)數(shù) mask_generator SamAutomaticMaskGenerator( modelsam, points_per_side16, # 默認(rèn)是 32 ) # 部署用 ONNX # 導(dǎo)出時加 --return-single-mask 加快推理常見問題速查問題解決方案內(nèi)存不足使用 ViT-B 模型縮小圖像尺寸推理緩慢使用 ViT-B減少 points_per_side掩碼質(zhì)量差嘗試不同提示使用框 點(diǎn)組合邊緣偽影使用 stability_score 過濾小物體漏檢增大 points_per_side進(jìn)階主題生產(chǎn)級集成與微調(diào)以下內(nèi)容來自 高級用法指南適合把 SAM 接入真實(shí)系統(tǒng)。SAM 2 視頻分割SAM 2 通過流式記憶streaming memory架構(gòu)把 SAM 擴(kuò)展到視頻域使用sam2包提供視頻預(yù)測器from sam2.build_sam import build_sam2_video_predictor predictor build_sam2_video_predictor(sam2_hiera_l.yaml, sam2_hiera_large.pt) # 用視頻初始化 predictor.init_state(video_pathvideo.mp4) # 在首幀添加提示 predictor.add_new_points( frame_idx0, obj_id1, points[[100, 200]], labels[1] ) # 在視頻中傳播 for frame_idx, masks in predictor.propagate_in_video(): # masks 包含所有跟蹤物體的分割 process_frame(frame_idx, masks)SAM 與 SAM 2 的關(guān)鍵差異SAM 僅支持圖像輸入ViT Decoder無跨幀記憶與跟蹤能力SAM 2 支持圖像 視頻Hiera Memory 架構(gòu)通過流式記憶庫實(shí)現(xiàn)跨幀物體跟蹤模型系列為 Hiera-T/S/B/L。Grounded SAM文本提示分割組合 GroundingDINO文本 → 框與 SAM框 → 掩碼即可實(shí)現(xiàn)輸入一句文本、輸出對應(yīng)掩碼from groundingdino.util.inference import load_model, predict from segment_anything import sam_model_registry, SamPredictor import cv2 # 加載 Grounding DINO grounding_model load_model(groundingdino_swint_ogc.pth, GroundingDINO_SwinT_OGC.py) # 加載 SAM sam sam_model_registryvit_h predictor SamPredictor(sam) def text_to_mask(image, text_prompt, box_threshold0.3, text_threshold0.25): 從文本描述生成掩碼。 # 從文本獲取邊界框 boxes, logits, phrases predict( modelgrounding_model, imageimage, captiontext_prompt, box_thresholdbox_threshold, text_thresholdtext_threshold ) # 用 SAM 生成掩碼 predictor.set_image(image) masks [] for box in boxes: # 歸一化框轉(zhuǎn)像素坐標(biāo) h, w image.shape[:2] box_pixels box * np.array([w, h, w, h]) mask, score, _ predictor.predict( boxbox_pixels, multimask_outputFalse ) masks.append(mask[0]) return masks, boxes, phrases # 使用示例 image cv2.imread(image.jpg) image cv2.cvtColor(image, cv2.COLOR_BGR2RGB) masks, boxes, phrases text_to_mask(image, person . dog . car)批量處理封裝可將預(yù)測器封裝為批處理類統(tǒng)一處理多圖像 多提示的常見任務(wù)class BatchedSAM: def __init__(self, checkpoint, model_typevit_h, devicecuda): self.sam sam_model_registrymodel_type self.sam.to(device) self.predictor SamPredictor(self.sam) self.device device def process_batch(self, images, prompts): 用對應(yīng)提示處理多張圖像。 results [] for image, prompt in zip(images, prompts): self.predictor.set_image(image) if point in prompt: masks, scores, _ self.predictor.predict( point_coordsprompt[point], point_labelsprompt[label], multimask_outputTrue ) elif box in prompt: masks, scores, _ self.predictor.predict( boxprompt[box], multimask_outputFalse ) results.append({ masks: masks, scores: scores, best_mask: masks[np.argmax(scores)] }) return results并行處理多張圖像時每個線程需持有獨(dú)立的模型實(shí)例SAM 模型非線程安全共享可用ThreadPoolExecutor配合多實(shí)例實(shí)現(xiàn)from concurrent.futures import ThreadPoolExecutor from segment_anything import SamAutomaticMaskGenerator def generate_masks_parallel(images, num_workers4): 并行為多張圖像生成掩碼。 # 注意每個 worker 需要自己的模型實(shí)例 def worker_init(): sam sam_model_registryvit_b return SamAutomaticMaskGenerator(sam) generators [worker_init() for _ in range(num_workers)] def process_image(args): idx, image args generator generators[idx % num_workers] return generator.generate(image) with ThreadPoolExecutor(max_workersnum_workers) as executor: results list(executor.map(process_image, enumerate(images))) return results服務(wù)化部署FastAPI 與 Gradio模型常駐內(nèi)存僅加載一次通過 FastAPI 暴露點(diǎn)提示 / 自動分割接口即可構(gòu)建圖像分割微服務(wù)from fastapi import FastAPI, File, UploadFile from pydantic import BaseModel import numpy as np import cv2 import io app FastAPI() # 模型只加載一次 sam sam_model_registryvit_h sam.to(cuda) predictor SamPredictor(sam) class PointPrompt(BaseModel): x: int y: int label: int 1 app.post(/segment/point) async def segment_with_point( file: UploadFile File(...), points: list[PointPrompt] [] ): # 讀取圖像 contents await file.read() nparr np.frombuffer(contents, np.uint8) image cv2.imdecode(nparr, cv2.IMREAD_COLOR) image cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # 設(shè)置圖像 predictor.set_image(image) # 準(zhǔn)備提示 point_coords np.array([[p.x, p.y] for p in points]) point_labels np.array([p.label for p in points]) # 生成掩碼 masks, scores, _ predictor.predict( point_coordspoint_coords, point_labelspoint_labels, multimask_outputTrue ) best_idx np.argmax(scores) return { mask: masks[best_idx].tolist(), score: float(scores[best_idx]), all_scores: scores.tolist() }交互式標(biāo)注界面的輕量方案是 Gradio通過gr.SelectData捕獲點(diǎn)擊坐標(biāo)返回疊加了掩碼的預(yù)覽圖import gradio as gr def segment_image(image, evt: gr.SelectData): 分割點(diǎn)擊處的物體。 predictor.set_image(image) point np.array([[evt.index[0], evt.index[1]]]) label np.array([1]) masks, scores, _ predictor.predict( point_coordspoint, point_labelslabel, multimask_outputTrue ) best_mask masks[np.argmax(scores)] # 在圖像上疊加掩碼 overlay image.copy() overlay[best_mask] overlay[best_mask] * 0.5 np.array([255, 0, 0]) * 0.5 return overlay with gr.Blocks() as demo: gr.Markdown(# SAM Interactive Segmentation) gr.Markdown(Click on an object to segment it) with gr.Row(): input_image gr.Image(labelInput Image, interactiveTrue) output_image gr.Image(labelSegmented Image) input_image.select(segment_image, inputs[input_image], outputs[output_image]) demo.launch()微調(diào) SAM借助peft庫可對 SAM 做參數(shù)高效的 LoRA 微調(diào)實(shí)驗(yàn)性方案把注意力層的qkv作為目標(biāo)模塊from peft import LoraConfig, get_peft_model from transformers import SamModel # 加載模型 model SamModel.from_pretrained(facebook/sam-vit-base) # 配置 LoRA lora_config LoraConfig( r16, lora_alpha32, target_modules[qkv], # 注意力層 lora_dropout0.1, biasnone, ) # 應(yīng)用 LoRA model get_peft_model(model, lora_config) # 簡化訓(xùn)練循環(huán) optimizer torch.optim.AdamW(model.parameters(), lr1e-4) for batch in dataloader: outputs model( pixel_valuesbatch[pixel_values], input_pointsbatch[input_points], input_labelsbatch[input_labels] ) # 自定義損失例如與真值掩碼的 IoU 損失 loss compute_loss(outputs.pred_masks, batch[gt_masks]) loss.backward() optimizer.step() optimizer.zero_grad()領(lǐng)域化微調(diào)的典型代表是 MedSAM醫(yī)學(xué)影像微調(diào)版將通用 checkpoint 替換為醫(yī)學(xué)專用權(quán)重后同樣通過sam_model_registry加載配合框提示完成 CT / 超聲等影像的 ROI 分割。掩碼后處理對模型輸出可做形態(tài)學(xué)后處理如閉運(yùn)算填補(bǔ)孔洞、開運(yùn)算去除噪點(diǎn)、填充內(nèi)部空洞、移除過小連通域import cv2 from scipy import ndimage def refine_mask(mask, kernel_size5, iterations2): 用形態(tài)學(xué)運(yùn)算細(xì)化掩碼。 kernel cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (kernel_size, kernel_size)) # 閉運(yùn)算填補(bǔ)小孔 closed cv2.morphologyEx(mask.astype(np.uint8), cv2.MORPH_CLOSE, kernel, iterationsiterations) # 開運(yùn)算去除小噪點(diǎn) opened cv2.morphologyEx(closed, cv2.MORPH_OPEN, kernel, iterationsiterations) return opened.astype(bool) def fill_holes(mask): 填充掩碼孔洞。 filled ndimage.binary_fill_holes(mask) return filled def remove_small_regions(mask, min_area100): 移除過小的不連通區(qū)域。 labeled, num_features ndimage.label(mask) sizes ndimage.sum(mask, labeled, range(1, num_features 1)) mask_clean np.zeros_like(mask) for i, size in enumerate(sizes, 1): if size min_area: mask_clean[labeled i] True return mask_cleanTensorRT 加速對 ONNX 模型可進(jìn)一步轉(zhuǎn)換為 TensorRT engine支持 FP16以獲得 GPU 端極致推理性能import tensorrt as trt def export_to_tensorrt(onnx_path, engine_path, fp16True): 將 ONNX 模型轉(zhuǎn)換為 TensorRT engine。 logger trt.Logger(trt.Logger.WARNING) builder trt.Builder(logger) network builder.create_network(1 int(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH)) parser trt.OnnxParser(network, logger) with open(onnx_path, rb) as f: if not parser.parse(f.read()): for error in range(parser.num_errors): print(parser.get_error(error)) return None config builder.create_builder_config() config.max_workspace_size 1 30 # 1GB if fp16: config.set_flag(trt.BuilderFlag.FP16) engine builder.build_engine(network, config) with open(engine_path, wb) as f: f.write(engine.serialize()) return engine故障排查要點(diǎn)完整排障手冊見 故障排查指南這里提煉最常遇到的幾類問題。環(huán)境與安裝RuntimeError: CUDA not available先print(torch.cuda.is_available())與print(torch.version.cuda)檢查 CUDA按需用pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121安裝帶 CUDA 的 PyTorch模型需顯式sam.to(cuda)。ModuleNotFoundError: No module named segment_anything從 GitHub 安裝或git clone后pip install -e .。缺少cv2/pycocotools等依賴pip install opencv-python pycocotools matplotlib onnxruntime onnxWindows 上pycocotools可換pycocotools-windows。模型加載checkpoint 找不到使用絕對路徑并用md5sum校驗(yàn)文件完整性。KeyError: unexpected key in state_dict模型類型與 checkpoint 必須一一對應(yīng)vit_h?sam_vit_h_4b8939.pthvit_l?sam_vit_l_0b3195.pthvit_b?sam_vit_b_01ec64.pth。加載時 CUDA 內(nèi)存溢出改用 ViT-B先sam.to(cpu)再torch.cuda.empty_cache()后轉(zhuǎn) GPU或sam.half()半精度。推理expected input to have 3 channels統(tǒng)一轉(zhuǎn) RGBcv2.COLOR_BGR2RGB灰度圖用COLOR_GRAY2RGBRGBA 丟棄 alpha 通道image[:, :, :3]。坐標(biāo)越界 / 掩碼位置錯誤確認(rèn)點(diǎn)是(x, y)而非(row, col)并斷言0 x w and 0 y h框需滿足x1 x2 and y1 y2。掩碼不匹配目標(biāo)加多前景點(diǎn)、加背景點(diǎn)、換框提示、框 點(diǎn)組合并打印scores取np.argmax。推理慢用 ViT-B、復(fù)用圖像嵌入set_image一次多次predict、降低points_per_side、ONNX 部署。自動掩碼生成掩碼過多points_per_side16、pred_iou_thresh0.92、stability_score_thresh0.98、box_nms_thresh0.5、min_mask_region_area500。掩碼過少 / 漏檢小物體points_per_side64、降低閾值、crop_n_layers2多尺度、min_mask_region_area0或?qū)⒋髨D切塊處理patch_size512, overlap64并偏移回原坐標(biāo)。內(nèi)存CUDA 內(nèi)存不足小模型、逐圖torch.cuda.empty_cache()、順序處理、圖像等比縮放到最長邊 1024 以內(nèi)。RAM 內(nèi)存不足逐圖處理并delgc.collect()或改用生成器惰性產(chǎn)出結(jié)果。常見錯誤速查錯誤原因解決方案CUDA out of memoryGPU 內(nèi)存占滿使用小模型、清理緩存expected 3 channels圖像格式錯誤轉(zhuǎn)換為 RGBindex out of bounds坐標(biāo)非法檢查點(diǎn) / 框邊界checkpoint not found路徑錯誤使用絕對路徑unexpected key模型與 checkpoint 不匹配匹配模型類型invalid box coordinatesx1 x2 或 y1 y2修正框格式在 AI-Research-SKILLs 中的定位本技能是倉庫多模態(tài)技能族18-multimodal/的組成部分。根據(jù) 技能路由文檔 的路由原則當(dāng)你遇到領(lǐng)域特定任務(wù)時在技能庫中搜索合適的工具并在開始前閱讀對應(yīng) SKILL.md——它包含工作流、常見問題與生產(chǎn)級代碼示例。在實(shí)際研究流程中autoresearch 編排器會在以下典型環(huán)節(jié)路由到本技能需要為下游檢測 / 分割模型構(gòu)建訓(xùn)練數(shù)據(jù)時用SamAutomaticMaskGenerator自動生成標(biāo)注可結(jié)合 數(shù)據(jù)標(biāo)注生成示例 中的數(shù)據(jù)集生成代碼處理醫(yī)學(xué)、衛(wèi)星等特定域圖像需要零樣本分割時構(gòu)建交互式標(biāo)注或物體提取工具時。配合倉庫內(nèi)其他技能可形成完整流水線用 CLIP 做圖文檢索、用本技能做像素級分割、用 學(xué)術(shù)繪圖 將掩碼結(jié)果可視化到論文圖表中。參考資源本技能主文檔SKILL.md進(jìn)階用法視頻分割、Grounded SAM、服務(wù)化、微調(diào)、掩碼后處理、TensorRTadvanced-usage.md故障排查手冊安裝、加載、推理、內(nèi)存、ONNX、質(zhì)量優(yōu)化troubleshooting.md技能路由地圖多模態(tài)板塊skill-routing.md官方公開資料供自行檢索SAM 論文arXiv 2304.02643、Segment Anything 官方演示站、SAM 2 視頻分割倉庫、HuggingFace 上的facebook/sam-vit-huge模型卡贊分享AI 技能人工智能大模型深度學(xué)習(xí)【免費(fèi)下載鏈接】AI-Research-SKILLsComprehensive open-source library of AI research and engineering skills for any AI model. Package the skills and your claude code/codex/gemini agent will be an AI research agent with full horsepower. Maintained by Orchestra Research.項(xiàng)目地址https://gitcode.com/gh_mirrors/ai/AI-Research-SKILLs點(diǎn)擊查看免費(fèi)下載相關(guān)推薦Kornia 中的 Segment AnythingSAM實(shí)戰(zhàn)VisualPrompter 點(diǎn)/框提示分割全指南Kornia 中的 Segment AnythingSAM實(shí)戰(zhàn)VisualPrompter 點(diǎn)/框提示分割全指南 導(dǎo)讀 本文基于 Segment Any計(jì)算機(jī)視覺人工智能深度學(xué)習(xí)圖像處理Kornia 中 Segment Anything (SAM) 的提示式分割VisualPrompter 與 Sam 模型實(shí)戰(zhàn)指南Kornia 中 Segment Anything SAM 的提示式分割VisualPrompter 與 Sam 模型實(shí)戰(zhàn)指南 Segment Anythin計(jì)算機(jī)視覺深度學(xué)習(xí)人工智能圖像處理ComfyUI Segment Anything 終極指南用文本提示實(shí)現(xiàn)智能圖像分割ComfyUI Segment Anything 終極指南用文本提示實(shí)現(xiàn)智能圖像分割 想要通過簡單的文本描述就能精確分割圖像中的任何元素嗎 ComfyU人工智能計(jì)算機(jī)視覺AI 應(yīng)用創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
成功精品影院| 色婷婷狠狠18禁| 精品自拍99| 婷婷五月天干干| 久久爱综合| 538在线精品| xxx综合在线| 蜜桃五月天| 视频综合网| 国产乱人偷精品人妻A片| 亚洲精品欧洲精品| 日日操天堂| 婷婷色在线视频| 婷婷亚洲影院| 怡红院成人AV| 99自拍视频在线观看| 日日夜夜狠狠婷婷色| 国产毛片精品一区二区色欲黄A片| 五月丁香婷婷六月| 天天操天天操综合| 天天色图| 91视频免费后入强操| 天天干天天干天天干天天干天天干| 五六月婷婷| 天天日色情| 五月丁香婷婷中文| 九九热只有精品| 国精产品一区二区三区| 大学生高潮无套内谢视频| 久久九九在线视频| 久1色色| 五月丁香综合网| 欧美婷婷丁香五月社区| 久久这里只有国产视频| 激情5月婷婷狠狠干| 91日视频| 久久精品综合色| 天天天天操| 五月天久久网站| 亚洲精99| 九九av| 亚洲视频另类| 日日操夜夜操中国无码| 1024成人免费看| 婷婷五月婷婷| 日本狠狠色| 5月婷婷综合| 九九视屏| 综合久久97| 激情四射亚洲| 伊人九九68| 色色色欧美色色| 久久98| 久热视频这里只有精品| 色婷婷成人丁香| 黑人无码一区| 狠狠爱婷婷爱| 天搞天天天天天| 1024婷婷综合久久五月天| 婷婷五月在线影院| 中文字幕免费高清电视剧| 日韩欧洲亚洲| 六月激情婷婷| 精国产品一区二区三区A片| 99在线观看| 人妻AV在线观看| 丁香五月天啪啪激情综和网| 99re最新地址| 大香线蕉伊人| 五月丁香激情啪啪| 欧美三级A做爰在线观看| 九九99精品视频在线观看| www.色五月| 欧美va在线| 成人视频婷婷| 99热在线观看免费| 99综合自拍| 日本狠狠干| 婷婷丁香18| 丁香五月伊人| site:pnnrt.com| 人人摸人人摸| 欧美午夜乱妇午夜福利| 色五月,婷婷大香蕉| 日本熟女一区二区| 99无码视频| 深爱激清网| 丁香成人视频| 涩综合婷婷| 96丁香六月婷婷蜜桃综合久久| 日日夜夜天天| 极品五月天| 五月丁香人妻| 深爱五月月天| 丁香婷婷色五月合集| 色丁香在线视频| 国产精品A片| 乱色色色| 色综合久久88色综合天天看| 久久小说网| 婷婷天堂综合网| 五月婷婷九九久久| 99热这里只有精品亚洲| 婷婷激情欧美| 婷婷操逼| 青青操avbb| 日本狠狠爽| 97色伦另类图片小说视频 | 夜夜骑日日操| 激情5月婷婷| 成人丁香| 国产精品A成V人在线播放| 国产毛片操B| 五月婷婷丁香啪啪| 久久婷婷亚洲五月天| 久久人妻视步| 亚洲综合五月天| 成人无码髙潮喷水A片| 九一娱乐在线观看视频| 99热香港| 九九九九综合| 中文av在线观看| 性日本激情| 五月色精品| 玖玖99免费视频| 青青青在线视频国产| 久久婷婷五月综合色和| 国产午夜精品一区二区三区四区 | 久久免片| 激情五月黄色| 好好日激情五月天| 久久98| 久久人人做人人妻人人玩精品va| AV色五月婷婷| 任你日视频| 亲子乱AV-区二区三区| 91九色精品熟女内射| 五月在线婷色| 婷婷色导航| www.AV在线| 五月婷婷丁香伦理网| 色日本综合| 99免费超碰在线| 日本欧美国产| 久9免费视频| 一级片操逼视频| 丁香成人色情五月天| 啪啪一区| 婷色五月| 五月丁香| www.日本久久videos| 婷婷五月天激情电影小说| 婷婷色综合| 91超级碰在线| 久9视频免费播放| 国产肥白大熟妇BBBB视频| www.91AV.com| 五月综合视频| 五月婷婷丁香啪啪| 久99在线视频| 激情综合网五月丁香| 26UUU欧美| 五月婷婷香蕉视频| 五月婷婷影视| 色色热日| 丁香婷婷网| 99精在线| 天天操五月天| 直接看的AV| 熟女色专区| 色综合色色色| 日逼免费视频| 五月丁香婷婷啪啪网| 成年人看Va免费视频| 丁香婷婷色五月激情综合| 五月婷婷三级| 五月丁香天堂网| 日本天堂爱爱| 日日噜噜夜夜狠狠久久丁香五月| 激情网站综合五月天| 婷婷导航| 米奇激情婷婷| 日韩熟女啪啪视频| 丁香五月色| 色婷婷亚洲在线观看| 婷婷五月综合在线| 人人干Av| 婷婷五月天中文字幕| 久久婷婷一级片| 最新无毒无码AV| 五月天婷网| 亚州欧美黄色电影| 亚洲综合视频网| 五月婷婷激情| 以及AA大片看看| 91九色欧美| 免费国产VA国产免费| 丰满少妇猛烈A片免费看观看| 久99热| 日本99视频精品免费播放| 在线色色| 狠狠操狠狠操AV| 色热久| 最新高清无码专区| 玖玖综合网| 亚洲狠9| 婷婷五月在线观看| 激情网婷婷婷| 99热久久这里只有精品| 99热综合网| 天天肏在线| 婷婷色操| 可以看的AV| www.主妇. com| 中文字幕久久婷九女同| 香蕉AV777XXX色综合一区 | 伊人激情影院| 婷婷五月天电影在线| 91热在线| 91视频一起草| 五月丁香婷婷婷激情爱爱| 色优久久| 可以看的av| 人人色婷婷| 影音先锋激情网| 黑人熟妇一区二区三区| 六月婷在线| 国产美女无遮挡裸体毛片A片| 激情第四色| 狠狠干青青草| 99久久成人| 国产片天天爽夜夜爽| 九九精品婷| 久久综合99| 五月丁香激| 五月天综合图片| 五月婷婷六月丁香激情深爱| av在线免费播放| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 九九av| 婷婷成年人免费视频| 久色姿源| 色丁香综合影院| 日日天天干| 丁香五月婷婷色五月| 9久久婷婷国产综合精品性色| H亚洲| 最近韩国日本免费高清观看| 最近中文字幕在线中文视频| 伊人激情AV一区二区三区| 在线不卡视频| 丁香六月婷婷色XXXXX| 亚洲色五月| 99热这里只有精品在线播放| 六月 丁香 视频| 五月花亭亭| 五月天婷婷久色| 婷婷五月天激情文学小说| 九九九热精品| 第四色五月激情网| 噜噜噜色噜噜| 色色性爱视频| 婷婷伊人网| 日本色99| 伊人综合网站| 五月丁香婷婷狠狠操| 丁香综合| 色久99| 99热精品超碰| 六月激情婷婷| 黑人巨粗进入警花疼哭A片| 亚洲日本韩国| 碰人人操| a色色色色色| 亚洲另类电影| 色婷婷五月天激情综合| 婷婷五月天色| 五月婷婷激情久久| 性欧美大战久久久久久久83| 五月丁香人妻| 五月婷婷在线视频免费观看| AAA亚洲AV| 天天撸天天干天天插| 色噜噜狠狠插综合| 97久久久久| 久久婷婷五月| 丁香五月激情啪啪综合| 4399人妻无码久久久| 九九99久久| 日韩一66精品| 国产密乳av一区二区三区四区| www.射伊蕉婷婷| 五月天精品视频| 欧美肉大捧一进一出免费视频| 久久综合九色综合97婷婷| 五月婷婷激情在线| 99精品久久| 十月丁香婷婷| 综合激情五月婷婷| 香蕉久操| 97人妻碰碰中文无码久热丝袜| 99视频精品视频| 伊人狠狠操| 五月精品| 香港九九六区八区99| 91人碰| 这里有精品99| 开心激情站| 色五月综合| 女性自慰系列第五页| 天天综合插插| 外国碰视频网站97| 99热黄| 色玖玖综合网| 婷婷伊人网| 天天草天天爽| 日韩色五月| 色狠狠六月| 狠狠色丁香| 熟妇内谢69XXXXXA片| 久久久久久久久久久44| 91小黄书网址在线观看| 色婷久久| 超碰操网| 婷婷丁香五月激情密臀av| 风流少妇A片一区二区蜜桃| 久久五月情| 激情丁香婷婷五月天| 五月丁香六月激情综合| www.久久99精品| 丁香五月天导航| 天天干com| 六月婷婷激情| 97干在线| 国产成人网址| 猫咪伊人久久| 可以免费观看的AV| 激情五月婷婷她| 97色伦另类图片小说视频 | 精品人妻一区二区三区在| 大香蕉久久草| 99热国产精品| 人人干女人| 色噜婷婷| 日日操日日撸| 99伊人婷婷在线| 亚洲 无码 中文字幕 中出| 思思热视频| 香蕉久久六月| 色婷婷操逼| 1234操逼网| 丁香五月亚洲天堂| 婷婷五月丁香色色| 婷婷五月天精品| 欧美 色婷婷| 综合激情五月丁香| 秋霞AV吧| 俺也高清无码高清视频| 青草青草久9视频在线视频| 九色视频这里只有精品| 人五月天婷婷喷水| 五月六月婷婷| 五夜丁香| 婷婷永久在线| 久久机热这里只有精品免费视频| 久久大香蕉同僚| 五月天激情无码专区| 婷婷色影音天| 四色五月婷婷在线观看| 久久久欧美精品sm网站| 欧美天堂久久| 激情五月天色| 最近免费中文字幕大全高清大全1| 五月丁香 六月婷婷a| 五月天激情综合网| 五月婷婷之激情五月| 操人妻AV| AV人人操| 日本综合久久| 久久性爱网| 人人做人人看人人摸| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 成功精品影院| 91日韩在线| 色五月激情五月丁香五月婷婷啪啪综合| 亚洲色五月| 欧美视频在线观看噜噜| 五月婷婷色白丝| 超碰在线观看9| 丁香九月婷| 99色色网| 天天摸天天做天天爱天天爽| 天天综合网、天天综合色| 色五月综合网| 日本五月婷婷| 深爱女色婷婷丁香五月亚洲图区| 国产99久| 99热精品无码| 久 久9 9 热 视 频| 日韩欧美成人片| 伊人啪啪网| 丁香五月久久综合| 狠狠色丁香| 九月色婷婷综合| 色欲色天天香综合| 大香蕉五月婷婷丁香| 婷婷淫淫狠狠六月| www.天天干| 另类激情五月| 色啪久| 亚洲乱码w在线观看| 色婷婷综合网站| 中国操逼99| 婷婷九月在线| 九九视频热| 2015超碰| 色五月美女| 丁香五月性| 婷婷玉月丁香五月在线视频| 久婷婷| 琪琪色综合网站| 久久五月网| 激情五月色综合国产精品| 99热综合在线| 丁香六月综合激| 日日噜噜夜夜狠狠久久丁香六月| 天天在线XXX| 五月婷婷co.m| 亚洲精品乱码久久久久久按摩观| 国产精品人妻在线网址| 丁香六月天之亚州热女| 色色日韩| 丁香婷婷九月| 9热在线视频精品| 婷婷五月丁香五月| 婷婷丁香人妻天天爽| 婷婷涩涩五月天| 色另类五月天| 99亚色色色| 日韩成人电影Av| 欧美黑人巨大性生话| 国产免费一区二区三区三州老师F1F1.CC | 激情综合五月婷婷| 五月天激情视频网站| 99色在线观看免费| 青青.com| 99日韩| 九九精品热播| 无码色综合| 五月丁香综合色婷婷| 国产成人+综合亚洲+天堂| 色综合久久中文| 夜丁香综合| 国产一区男女| 啪啪一区| 99视频在线| 182TV大香蕉| 亚洲色在线观看| 五月天中文网| 丁香激情婷婷网| 人妻videos人妻高清| 99热这里只有精品26| 无码啪啪| 2015好吊操| 日韩成人av在线| 69久久99精品久久久久婷婷| 人人综合久| 九九综舍久久| 五月婷啪啪| 99九无网码| 色五月激情| 国产无人区大片| www.99热这里精品| 欧美综合五月丁香六月婷| 午夜九九九九九九九九九九九九九| OUMEIRIHANCHENGREN| 丁香五月婷综合| 亚洲在线播放| 精品成人久久久久久久_一二三四视| 色综合五月| 色五月av| 日韩1区2区| 久久久久人妻网址| 国产又黄又爽又色的免费| 性无码专区无码| 国内一级片| 欧美,日韩成人在线| 色色综合网。| 亚洲天堂啪啪| 99精品这里只有免费视频| 免费色色色| 色婷婷五月网| 中文字幕成人影视| www超碰| 九九艹女| 色综合婷婷| 五月天婷五月天综合网在线观| 五月天婷婷开心| 激情开心五月天婷婷基地丁香社区| 天天精品视频免费观看| 五月婷婷激情综合网| 五月丁香综合在线| 婷婷五月花免费视频在线| 噜色精品| 五月婷婷草| 丁香五月色| 亚洲精品国产熟女久久久| 狠狠色噜噜狠狠狠狠狠色综合久久| 成人免费网站免费看| 日本啪啪天堂| 五月天激情社区| 91青娱乐青青草| 六月丁香啪啪| 久操干| 五月婷婷综合激情| 婷婷97碰碰| 日日做A爰片久久毛片A片英语| 综合久久综合五月天婷婷| 99久久久免费| 精品色色色| 久久婷婷伊人| 人妻中文av| 婷婷五月成人色综合| 欧美日韩aaaa| 丁香五月av| 日日噜噜久久婷婷五月天| 99色激| 激情婷婷。| 青青.com| 亚洲免费观看高清完整版AV线| 91丨九色丨东北熟女| 欧美啪啪五月天| 九九免费精品在线视频| 五月婷啪啪| 久久五月天激情| 婷婷91| 婷婷噜噜| 丁香综合| 桃色伊人在线| 91久久久久久| 超级碰碰碰97免费| 永久精品| 亚洲丁香婷婷| 五月丁香花免费视频| 丁香婷婷六月| 六月婷婷激情| 国产精品电影网| 大鸡巴伊人网| 1995年关宝慧版蜘蛛女| 欧美性猛交 XXXX 乱大交| 1024手机在线观看看片_日韩精品| 婷婷丁香在线播放| 1024人妻无码中文字幕| 亚洲第一第二网站| 99热综合在线| 26UUU欧美激情一区二区| 丁香五月婷婷老师网站| 人人操A| 欧美韩国日本| 婷婷丁香第一页| 99性爱| 337p大胆噜噜噜噜噜91Av| 欧美性丁香色色五月天干干| 婷婷丁香综合色AV| 婷婷色丁香六月| 色婷青青| 五月天五月天激情网| aV直接看| 99成人免费热视频| 久热爱大香蕉在线蜜臀悦色 | 综合色五月| 蒲京久久无码视频| 久久这里有| 婷婷六久久| 丁香美女主播视频在线观看| 欲色人妻| 狠狠色狠狠操| 日韩av在线免费观看| 99伊人性爱在线影院| 五月丁香六月成人| 婷婷五月综激情| 久久婷婷国产| 99热 这里只有精品 国产 日韩| 香蕉婷婷| 99婷婷五月天| 成人做爰A片免费看视频| 色亚洲视频| 欧洲MV日韩MV国产| 九九精品视频在线观看| 99超碰在线观看| aa久久| 精a品a视a频| 国外亚洲成AV人片在线观看| 日日狠狠久久偷偷四色综合免费| 亚洲一区二区无遮挡A片| 久久婷婷久久| 六月丁香基地| 丁香影院五月综合| 亚洲网视屏| 全网最新网黄大秀直播高清,主播国产录屏在线 | 亚洲日本韩国| 日欧大屏操| 亚洲视频二区| av高清无码| 黄色激情五月天| 猫咪伊人久久| 少妇被下春药玩弄A片| 亚洲激情久久| 噜噜色com| 色综合激情| 亚洲日韩乱码一区二区三区四区| 噜噜色婷婷| 99日本精品视频热| 99热10在线高清播放| 婷婷色六月| 丁香六月婷婷综合色| 9视频在线成人网站| 超碰在线免费9| 思思网站| 99啪99| 99国产精品久久久久久久久久久| 久久久精品人妻| 青青操avbb| 成人一区在线观看| 日本少妇裸体做爰高潮片| 久久这里只有精品99| 丁香婷婷五月激情综合| 六月综合婷婷开心伊人 | 成人综合网站| 91碰在线| 色色色色色色色色网站| 另类色视频| 性爱激情小说AV五月丁香花| 国产伦亲子伦亲子视频观看| 4399亚洲视频| 丁香五月婷婷激情中文| 丁香六月AV| 欧美成人日韩| 激情五月婷婷综合网| 婷婷五月色情天| 97丁香五月| 久久99热免费| 久操婷婷| 1024操逼视频| 色婷婷色和| 少妇人妻丰满做爰XXX| 久99久在线| 99热这里只有是亚洲国产| 色综合色| 五月丁香啪啪啪综合网| 一操久久| 97成人在线视频| 蜜桃五月天| www.99视频| 播五月开心婷婷欧美综合| 中文字幕簧片| 涩综合在线 | 啊v视频在线观看| 天天肏天天肏| 色色色1网址| 五月Huangsewang| 久色| 婷婷九月色| 91久久婷婷| 97人凄人人操人人爽| 欧美VA在线| 伊人丁香婷婷东京| 婷婷性爱无码视频| 热99久久这里只有精品| 可以直接看的av网站| 丁香婷婷激情五月| 免费色色色| 婷婷五月天天天日日夜夜| 亚洲精品视频在线播放| 99ri在线| 久久久WWW| 综合色五月天| www.99热| 色五月xxx| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 99aese| 综合色天天| 激情伊人六| 人人舔人人色人人高潮| 亚洲黄色精品| 久久色9| 色综合久久99色| 99热这里只有精品1025| 六月丁香激情网| 人妻内射视频| 欧美日韩欧美| 伊人爱爱日本| 2021日韩无码| 99九九99九九九视频精彩| 日本精品99网站| 狠狠干五月天婷婷网| 侠女刀之记忆电影在线看免费| 色综久久久| 日日射天天射| 裸体美女丁香五月天。| 色一情一乱一乱一区91| 丁香五月激情综合| 7777久久亚洲中文字幕| 99在线公开视频| 去干网av| 五月丁香六月婷婷婷婷| 九九激情| 高清无码入口| 久婷狼色诱惑在线| 三级毛片7979| 深情六月婷婷综合久久| www.夜夜騎夜夜狠| 日本操碰碰| 亚洲乱码精品久久久久..| 99riAV成人在线视频| 啪啪色区| 超碰在线caop| WWW久| 激情啪啪五月天| 久99热| 97碰碰人人| 年轻的妺妺伦理HD中文| 五月婷免费视频| 久久这里都是精品免费| 日本社区五月天激情| 99热最新网址| 青青草原爱爱网| 色情五月天小说| 五月丁香婷婷三级| 91日韩在线| 香蕉久久五月| 日韩欧美一区二区三区四区| 六月丁香VA| 亚洲综合在线视频| 久久最新色| 激情丁香五月激情婷婷| 婷婷久久五月| 九九成年视频| 五月婷婷久久激情 | 久草丁香婷婷1024| 天天日天天添| 九九在线视频| 国内精品99| 综合欧美五月婷婷| 婷婷五月电影| 亚洲影院婷婷色| 婷婷五月天激情偷拍| www.maotanji.com| av一区免费看| 26UUU精品一区二区c〇m| 99无码黄色视频| 超碰人人99| 五月婷婷影| 亚洲天堂碰碰婷婷| 天天日夜夜夜操操操操| 激情五月天婷婷丁香| 色色丁香五月| 五月婷婷六月丁香综合| 最新无毒无码AV| 婷婷5月色| 婷婷操逼| 日本三级日本三级三级人妇四虎| 六月激情久久| 日韩三级视频一区二区| 色六月天| 搡BBBB搡BBB搡18| 天天骑日日爽| 婷婷金品综合视频| 大香蕉久久久久| 国产日韩欧美性爱| 婷婷丁香五月天大香蕉| 天天爽天天日天天舔| 任你躁XXXXX麻豆精品| 怕怕av| 伊人99热| www.sd-xiangsu.cpm| 五月丁香六月激情欧美综合| 综合激情在线| 丁香六月啪啪啪| 五月丁香激情婷婷| 久久东京热婷婷五月| 五月 成人 婷婷| 夜夜躁婷婷AV| 91操片| 成人看片网站| 欧美色图45678| 99色亚洲| 天天激情综合| 777米奇影视第四色| 美女要搞搞天天搞搞搞网站| 青青久在线视频免费观看| 插插插色综合网| 成人美女网| 丁香五月六月欧美| 色都都狠狠色都都色综合色| 婷婷精品性视频| 色五月婷婷1| 五月丁香久久久久| 九九成人精品免费视频| 人妻少妇色综合| 五月情综合| 久久九九激情五月天| 精品无码99| 色五月婷婷天堂| 另类天堂| 天天日天天色| 精品久久久久久久人妻| 久久99精品久久久久久青青AR| 五月天婷婷社区| 在线另类视频| 婷婷五月天激情网| 激情五月色综合| 99熟女啪啪视频| 婷婷五月激情图片| 五月丁香婷中文| 色综合色婷色基地| 丁香色婷婷| 五月丁香六月婷婷在线播放| 日本97久久久精品| 丁香婷婷六月| 五月丁香无码| 影音先锋噜一噜| 国产精品天天狠天天看| 久色婷婷200| 丁香色五月 97干| 91紱請| 久99热在线观看| 99热这里只有在线播放| 综合超碰熟| 深爱激情综合| 五月色色激情网| WWW.天天日| 97成人丁香| 99日韩| 这里只有精品免费视频在线观看 | 亚洲午夜av| 9视频在线成人网站| 日韩色五月| 天天日夜夜夜操操操操| 丁香婷婷综合激情五月色| 五月天激情小说网| 67194中文字幕| 91啪级电影| 人人操人人操919999| 三十熟女| 狠狠干狠狠色| 婷婷天天色| 国产裸舞福利资源在线视频| 97电影99热| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 777精品久无码人妻蜜桃| 九九热这里只有精品6| www.狠狠操.co m| 欧美日韩国产日本精品四虎网网站物| 亚洲国产精品SUV| 狠狠色噜噜狠狠| 伊人五月网| 五月天激情国产综合婷婷婷就去爱| 免费在线观看av网站| 五月天色区| 日亚二欧美| 激情小说 五月天| 九九99久久| 五月丁香综合影院| 亚洲传媒在线观看| 五月天社区| 国产成人网| 丁香五月中文字幕色播| 影音先锋人妻出差| 五月丁香婷婷久久| 色婷婷久久| 91丨九色丨熟女丰满| 色停停影院五月天| 久久综合五月天激情小说网站| 99激情视频| 色99网| 狠狠操狠狠操AV| 秋霞影音91人妻久久| 五月丁香五月丁香| 五月丁香六月在线欧美| 九九这里是免费的视频5| 97碰碰人人视频| 五月六月婷婷| 亚洲色小说在线综合| 五月天激情综合网站| 大香蕉久久久久| 九九狠狠干| www.99热这里精品| 人妻中文字幕精品| av超碰在线| 操逼电影免费看| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 婷婷色色欧美综合网| 99精品偷自拍| 色婷婷成人做爰A片免费看网站| 偷拍五月丁香| 激情综合网色播五月| 99综合免费视频| 91大神操美女| 欧美丁香五月97色| 秋霞性爱AV| 青青草激情网| 欧美操人| 久久久天堂国产精品女人| 99ER热精品视频| 成人在线观看国产| 五月婷婷电影院| 丁香五月瑟瑟| www,色综合| 色五月偷偷| 婷婷丁香激情综合色情| 激情综合啪啪| 婷婷五月成人有| 亚洲色婷婷激情| 久久久久99精品成人片| 成人性爱无码| 五月婷婷丁香| www.丁香五月| 大香蕉天堂| 91精品在线看| 99热在这里只有免费精品| 天天做天天爱天天日| 日本97在线观看| 91丁香婷婷综合资源| 色情久久久| 激情五月婷婷| www.91有码.com| 天天色,天天日,天天做| 婷婷丁香亚洲色综合91| 激情五月天网| 五月天丁香婷婷久久九| 99久在线精品99re5热视频| 爱操人妻| 亚洲十月婷婷综合| 五月丁香综合网| 亚洲激情在线| 国产99久久久国产精品免费看| AV大片在线观看| 亚洲精品国产setv| wwccc久久久| 婷婷五月色天| 婷婷五月成人| 岛国午夜视频| 五月欧美色播| 五月天婷婷视频| 国产成人亚洲综合A∨婷婷| www婷婷色| 欧美精品啪啪| 人人干AV| 婷婷中文在线| 99热草草| 91丨九色丨国产打屁股| 五月丁香六月香综合激情| 综合久久久| 五月天婷婷婷| 五月丁香免费视频| 夜夜操天天爽| 99热这里只有精品9| 亚洲传媒在线观看| 丁香婷婷色五月| 啪啪亚洲综合| 97久久视频| 3p久久| 9这里只有精品| 久久婷婷伊人| 婷婷色六月| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 99re在线视频精品,这里只有精品18,| 国产高清RV综合aVa| 99精品久久久久久久婷婷| 综合久久十三| 五月综合激情久久| 2020日日干| 牛牛澡牛牛爽| 五月天婷婷久久日| 五月丁香久久| 亚洲精品九九| 97在线观视频免费观看| 99久久精品色老| 五月播播| 97干干干丁香| 在线国产精品色| 国产三级片91| 六月婷婷日| 婷婷深爱五月天在线| 91操碰| 综合色影院| 九九九九这里只有精品| 久久久天堂国产精品女人| 五月婷在线| 9热在线观看| 9999综合99综合人| 日韩综合大黄| 成人做爰高潮A片免费视频 | 婷婷五月,综合伊人| 九九热这里精品| 五月丁香六月在线| 激情综合五月天| 99九九玖玖| 婷婷五月中文字幕| 九九色综合视频| 99A片| 另类综合国产| 亚洲精品又粗又大又爽A片| 涩涩涩,com| 色综合伊人网| 99久热在线精品| 亚洲激情综合网| 久99久精品| 成人在线日韩欧美| 综合玖玖偷拍| 亚洲va综合va国产va中文| 日本高清不卡免费一区二区三区| 色色婷婷综合网| 狠狠婷婷色| 久久人妻高清中文| 1024AV视频| 五月第四色| 五月丁香婷婷色播无码| 天天精品视频免费观看| AV六月丁香| 伊人五月天在线| 99少妇精品| 日本WWW九九九| 操人久久| 天天精品视频免费观看| 久久中文人妻系列| 丁香网站| 五月婷婷在线观看| 人妻中文av| 九月激情婷婷丁香| 欧美激情2025| www,99色| 婷婷久久丁香五月| 久久婷婷五月天懂色| 人人播| 五月激情综合五月| 级人人91| 天天爽天天操| 五月丁香婷婷基地| 五月天婷婷基地| 狠狠狠狠操| 色婷婷综合电影| 狠狠爱综合| www.日日日.com| 99久久天堂婷婷| 色99自拍| 丁香五月日啪| 在线色婷婷| 爆乳熟妇一区二区三区爆乳照片| 久久只有精| 丁香五月婷中字在线| 思思热视频| 九九亚洲视频| 七月丁香五月婷婷在线| 丁香六月综合| 五月色情婷婷开心五月天| 人妻日日日| 色色色网站| 五月天色婷伊人| 变态另类色图| 天天色色天天| 国语精品探花| 婷婷午夜精品久久久| 人妻内射一区二区在线视频| 狠狠草在线观看| 《诡秘之主》在线观看| 97色射| 色婷婷香蕉| 天天综合网亚洲综合网| 97欧美在线| 51精品国自产在线| www.久久爱.com| 日在线V视频在线播放| 国产综合婷婷| 成人AV在线中文版| 玖玖爱综合网| 天天操天天日天天操| 97操在线视频| 婷婷九月丁香中文| 五月婷婷激情网| 日日噜噜夜夜狠狠久久丁香六月| 丁香五色月婷婷网| 啪啪六月婷婷| 激情综合色婷婷啪啪五月天| 日韩三级片一区二区| 99ri国产精品| 婷婷五月花| 五月激情婷婷综合| 久热精品视频| 狠狠香婷婷五月| 先锋资源91| 日本www免费九九| 五月婷婷六月激情| www.久久99热地址发布| 婷婷丁香五月欧美人| 欧美噜噜噜草| 成人网丁香五月| 99久久婷婷国产综合精品| 丁香五月在线| 色婷婷a v| www.狠狠艹| 狠狠操天天日| VA日本视频| 婷婷的99视频网站| 99免费青青蜜臀| 99爱操| 激情内射人妻1区2区3区| a在线观看| 婷婷五月色情| 久久久久er热| 综合网五月天123| 性婷婷| 五月丁香色婷婷伊人| 色停停香蕉视频| 91久久综合亚洲噜噜成人在线| 99久久五月婷婷| 黄色片久久| 中文字幕按摩做爰| 无码色| 色婷婷小说网| 丁香五月成人| 97久久超碰| 97干视频| 丁香五月欧美色综合| 看片视频在线免费日产在线看| 色欲天天综合| 色婷婷六月天在线| 综合五月天婷婷色| 蜜桃婷婷丁香| 色婷亚洲| 夜夜综合色| 精品五月天| 色五月婷婷很很操| 真实亲子乱子伦高清在线观看| 女人天堂 AV| 色色色.COM| 午夜五月天| 六九色综合婷婷五月天| 天天日天天草| 99这里有精品| 色五月婷婷操逼| 免费试看小视频 99| 在线五月婷| 婷婷中文字暮| 亚洲婷婷激情综合激情999精品| 五月激情婷婷国产精品久久久久久| 99人人操| 五月婷婷狠狠干| 久久99这里只有精品| 五月天激情小说电影| 夜夜做天天爽| 五月色丁香视频精品| 亚洲综合五月天婷婷| 99riAV国产精品视频| 丁香五月色情| 婷婷99狠狠躁天天躁中文| 免费黄色片子| 激情色色| 2025超碰| 91九色PORNY中文啦| 丁香五月777| 久热伊人| 久久奄也去色色网站| 丁香综合网| 五月婷婷激情网| 99爱这里只有精品免费视频| 五月天婷婷小说| 色欲久久99精品久久久久久| 色婷婷亚洲在线观看| 久久综合五月天| 五月人人丁香婷婷五月人人丁香| 激情宗合网激情五月天| 狠狠五月天| 成人精品在线观看| 三级片AAA久久久AAA久久久AAA | 五月天基地| 色99视频| 另类小说婷婷色| 天天噜| 五月丁香综合| 九九色黄色| www九九热| 色播丁香婷婷五月激情| 欧美性色视频| 4399成人黄A片| 亚洲视频在线网| 久久女婷| 丁香六月婷婷姐网| 狠狠色婷婷7777久| 色婷婷很很丝袜| 久色网址| 色婷亚洲| 综合激情视频| 五月婷导航| 超碰在线人妻| 内射 无码 伊人| www色色com| 婷婷五月天香蕉| 五月婷婷在线免费观看| 1024久婷| 色网站99| 色欲婷婷五月天丁香| AA片在线观看视频在线播放| 色 五月 天 婷婷 丁香 九月| 99这里有精品免费| 婷婷激情六月视频| 成 人片 黄 色 大 片| 丁香婷婷色九月| 欧美性爱5月天天天看| 99热9| www.激情com| 天天综合天天玩夜夜玩天天玩夜夜玩| 婷婷九月亚洲| www.婷婷激情网.com| 久久欧洲久久| 91九色国产熟女| 丁香五月婷婷啪啪视频| 五月天婷婷综合久久| 婷婷八月丁香激情综合| 久久精品无码一区| 激情六| 五月婷婷狠狠干| 性爱五月婷婷| 欧洲高清免费久久| 五月天大香蕉| AV在线中文| 丁香五月天亚洲视频| 蜜臀av 粉嫩av 懂色av | 综合色五月天| 99色视| 亚洲色色色色| 天天操天天插| 99热网站| 91人人操人人| 久久99精品日本| 十月色综合| 婷婷五月丁香基| 久久五月丁香六月婷| 色五月 五月婷婷| 欧洲亚洲免费视频9| 色婷婷在线视频| 日本全黄一级999| 丁香五月天网友自拍啪啪啪视频| 男女啪啪做爰高潮无遮挡| 五月婷婷色播视频| 婷婷伊人五月天| 97碰在线视频| 成人在线网| 99色网站| 婷婷五月天激情小说| 五月婷六月| 96精品久久久久久久久| 97丁香五月| av在线免费网站 | 国产色丁香| 久久婷婷六月综合综合| 五月婷婷基地| 五月天精品视频| 人妻av在线| 久久98| 99热九九这里只有精品| 大香蕉啪啪啪| 婷婷五月天美女| 91狠狠综合久久| 热久久思思热思思|