免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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
返回資訊列表
亚洲精品99| 亚洲精品亚洲人成人网| 91超级碰碰碰| 亚洲成AV人片在线观看| 91超级碰| 亚洲成人AV在线播放| 日日操夜夜爽白洁| 99热9999| 免费人人操| 任你草| 婷婷五月色丁香在线看| 99热思思在线观看| 九久9精品| 一本婷婷丁香久久| 欧美成人猛片AAAAAAA| 五月天综合激情网| 天天综合色综合| 色综合久久综合中文综合网| 一级性爱大片| 五月丁香色婷婷综合| 日韩欧美婷婷丁| 思思热视频在线观看| 婷婷六月色情| 综合视频五月| 色播五月丁香婷婷| 激情五月天之六月婷婷| 99小精品| 五月天色官网| 婷婷五月久久| 色欲资源网| 日日夜夜狠狠婷婷色| 国产精品视频网| 午夜不卡久久精品无码免费| 久久小说| 成人 在线观看国产| 能看的av网站| 俺去也婷婷| 99九九视频| 五月婷在线色视频| 99热精这里只有精品| 丁香婷婷激情| 99精品在线观看| 丁香婷婷色五月| 色六月天| 欧美人妻一区二区| 五月丁香成年黄色| 九九AV在线| 天天日天天草| 久久精品人妻| 日韩无码专区| 五月婷婷六月天| 久9热| 99免费热视频在线| 日日爽日日| 99亚洲精品| 五月婷婷啪| 婷婷五月天综合小说网| 第四色五月婷婷| 丁香五月婷婷网| 天天色综网| 成人精品99| 色播婷婷五月天| 五月天激情无码高清| 99热首页在线30| 森林影视大全,最好看的2019年视频| 久久99热免费| 五月婷婷片| 天天干天天干天天干天天干天天干| 人人超碰99| 五月丁香六月婷婷亚洲| 五月激情小说| 99精品成人无码A片观看金桔| 亚洲人妻AV| 激情婷婷丁香| 欧洲区自拍| 婷婷五月六月丁香| 婷婷在线播放av| 国产色丁香| 99人这里只有精品| 国产精品爽爽久久久久久| 婷婷 丁香 精品| 色色色五月婷| 超碰v| 一区二区无码视频| 91人人操人人| 一级黄色尤物综合视频手机在线观看| 另类图片天天影视在线观看| 99久久视频| 五月婷婷久久大片| 性生活视频98791| 婷婷综合五月| 五月天综合视频| 九九99热| 狠狠婷婷日韩| 久久视网36| 六月丁香婷婷网| 色五月丁香五月婷婷五月成人网| 色停停香蕉视频| WWW.国产| 婷婷99| 全国最新疫情| 超碰99在线观看| AA片在线观看视频在线播放 | 亚洲成AV人片在线观看| 人人爽在线视频综合网| 五月综合在线| 人人操碰| 狠色色狠网| 人妻22p| 欧美成人AAA片一区国产精品| 综合99在线| 丁香久久| 亚洲综合成人网| 91丁香综合| 欧美色色色色色色色色色色| 欧美人人草| 99热在线看| 亚洲岛国电影| 激情五月天网页| 欧美色五月| 色综合五月| 天天日日人| 开心五月天激情网| 婷婷综合一二三| 96性爱视频| 97香蕉碰碰人妻国产欧美| 99热综合在线观看| 婷婷五月天激情AV影院| 精品国产一区二区三区四区阿崩 | 五月婷婷丁香六月在线| 国产真实乱了老女人视频 | 99在线精品视频观看免费下载| 国产午夜一区二区三区| ww超碰在线| 天天做天天要天天爽| 九九热av| 丁香久久| 天天日夜夜| 国产avapp 网| 91九色首页| 色情开心五月| 五月丁香福利| 97久久超碰| 天天干天天干天天| 一起草Av| 26uuu国产| 婷婷五月天激情电影| 丁香婷婷婷五月| 精品人妻一区二区三区在| 性色播| 久久久97| 国产99精品免费视频| 亚洲色视频| 亚洲综合五月天婷婷丁香| 成人精品亚洲性爱| 色色五月天网站| 五月丁香综合| 久热精品视频在线观| 婷婷丁香色情| 另类色视频| www夜夜操| 91操片| 97色97干| 久久婷婷丁香五月一二三| 九九99久久| 大香蕉五月丁香| 色五月超碰| 五月丁香自拍| 欧美槡BBBB槡BBB少妇| 五月天婷五月天综合网在线观| 99热官网| 丁香五月天视频在线播放| 激情5月婷婷| 亚洲色色色色| 丁香六月激情| 98国产精品综合一区二区三区 | 99免费在线视频| 丁香婷婷色五月激情综合| 99免费青青蜜臀| 天天干天天干天天干| 国产1区2区3区| 99综合免费视频| 五月丁香| 久久3级片| 婷婷五月天激情免费在线观看| www.久久久久久久久久久| 日本色色网站| 五月激情婷婷色| 猫咪伊人AV| 婷婷五月天视频亚洲| 日韩综合久久| 91九色 熟| www.色婷婷| 大香网伊人久久综合| 色色色五月婷婷| 五月天成人手机在线视频| 五月天婷婷偷拍| 婷婷五月天美女21p| 伦乱天堂| 久久五月热| 色你久久| 亚洲激情综合免费| 26uuu四色| 中文字幕丰满乱孑伦无码专区| 色色色色色网| 天天爱天天做天天爽| 欧美日本高清视频99| 色色色9| 久久这里只有精品16| 色婷婷综合影院| 亚洲综合五月天| av性爱在线| 色婷婷狠狠爱| 色哟哟性爱av| 99综合成人视频在线观看| 五月丁香| 亚洲欧洲国产精品| 久久天天| 天天做天天爱天天做| 色5月婷婷色| 激情综合网激情五月婷婷| 99ri精品| 丁香五月婷婷偷拍| 亚洲另类视频| 99亚洲无码| 婷婷大香蕉| 久久久A级视频| 欧美色综合天天久久综合精品| 色婷婷日本| 婷婷五月天网| 俺去也综合| 亚洲五月婷婷| 五月天亚洲综合网| 婷婷丁香五月在线播放| 丁香五月亚洲天堂| 婷婷六月天激情影院| 婷婷丁香五月天哟啪| 九伊人网| 久99久视频免费观看| www.99精品日操伊人乱碰在线| 国产精品大香蕉| 婷婷五月色综合| 夜夜操夜夜操| 五月丁香久久| 久久五月网| 夜夜撸夜夜骑| 婷婷五月综合社区| 99久久久久| 99精品免费视频| 婷婷五月天亚洲综合| 婷婷伊人激情婷婷| Va另类视频| 九九精品片一| 五月色导航| 国产VA播放| 欧美一级色| 97在线/亚洲| 91丨九色丨国产在线| 97干资源在线观看| 五月婷婷精品| 久久人人九| 冬月かえでAV无码播放| 久久性操| 丁香五月色播中文在线播放| 热99这里只有精品视频| 天天玩夜夜操| 日本99视频| 九九aV| AAA久久| 婷婷99狠狠躁天天| 色婷婷基地| 无码少妇高潮喷水A片免费| 狠狠精品干练久久久无码中文字幕 | 99干日本| 五月色婷婷影视在线电影| 色婷婷视频| 开心五月深爱五月婷| 69er小视频| 婷婷综合五月色播| 99热精品在线| 另类激情综合| 美女爆乳18禁www久久久久久| 狠狠色婷婷丁香五月| 久久激情五月网| 9精品视频在线| 激情综合九月| 久久久久久综合五月婷婷| 毛片毛片毛片毛片| 久热大香蕉| 26UUU一区二区| 天天玩夜夜操天天爽| 五月深爱婷婷| 久久人人九| 色婷婷丁香| 国产精品天天狠天天看| 激情婷婷五月天丁香| 成人视频在线免费播放| 五月丁香啪啪激情| 国产无人区大片| 五月婷激情| 538在线精品| 久久丁香婷| 色狠狠综合网| 五月丁香花婷婷玉莉AV| 亚洲超碰在线| 久久色9| 久久中文人妻系列| 婷五月天| 色色欧美色色色| 99超碰在线免费| 五月婷婷啪| 精品人妻伦九区久久AAA片| 操97在线观看| www.91.com处女在线直播| 久久成人人妻| 中字幕视频在线永久在线观看免费| 五月丁香啪。| 久久精品66| 色色五月丁香| 91色在线 | 日韩| 六月色日韩| 99激情视频| 男女啪啪做爰高潮无遮挡| 五月五月婷婷| 婷婷色激情五月天| 亚洲无AV在线中文字幕| 天天做天天爱天天日| 成年人丁香五月| 国产精品扒开腿做爽爽爽A片唱戏 亚洲爆乳无码精品AAA片蜜桃 | 成人五月天色天堂| 日日爽日日| 亚洲另类毛片| 色色色色色色色色色色色色色色,网站| 丁香五月电影| 五月天丁香婷| 丁香五月97视频| 欧美99热| 国产精品久久久久久久久久| 亚洲无码成人网| 精品色色| 日韩AV在线免费观看| 欧美va亚洲va在线播放| 9久久狠狠的| 99精品在线观看| 激情五月天电影| 色五月婷婷成人| 66久久视频在线| 色999五月色| 欧美超碰人人| 狠狠摸狠狠摸| 99re热在线视频观看| 人妻VideOssS人妻高清| 999精品久久久久久久| 99.色| 日日日日日| 91视频一起草| 99精品自拍视频| 丁香五月婷婷欧美激情-中文天堂最新版在线观看| 六月五月婷婷| 久久久色情| 欧美成人精品老美女噜噜噜| 色综合色综合色综合| 九九机热| 伊人婷婷91| 日本色色网站| 五月丁香六月婷综合成人综合| 婷婷激情在线| 性日本激情| 国产亚洲色婷婷久久99精品91| 中文精品在| 婷婷情色五月天| 久久看婷婷| 亚洲无码11| 成人丁香色| 大香蕉久久久久| 丁香色五月 97干| 日韩视频99| 性色播| 激情婷婷五月天| 色情丁香五月天| 日韩中文字幕| www.婷婷.com| 激情综合区| 激情五月丁香五月| 婷婷丁香成人网址| 日韩无码91| 激情丁香九九五月综合网| 欧美在线看| 99久在线精品| 热久久66| 久久看婷婷| 色播五月网| 色香五月天| 婷婷激情综合色五月久久91| 成人视频一区| 思思re视频在线| 色婷婷最新域名 | 超碰天堂网| www五月天com| 思思热久久阴99| 丁香伍月婷电影全集| 婷婷五月视屏| 高清无码.com| 久草丁香婷婷五月天婷| 日韩成人网址| 九九在线精点品| 久久久com| 野战J办公桌椅H| 五月婷婷婷| 九九av| 国产一级片色色| 99热只有这里有精品| 色综天天综合| 伊人久热91| 天天做天天爱天天高潮| 五月天婷婷丁香导航| 婷婷五月天中文字幕.| 婷婷五月天久草在线| 丁香婷婷五月色成人网站| 南京搡BBBB搡BBBB| 大香蕉久| 九色地址91视频| 婷婷久草| 久久久999精品| 亚洲五月天狠狠| 91婷婷色| 婷香狠狠爱五月| 国产 码在线成人网站| 一级性爱视频| 99热这里只有精品最新| 精品五月丁香| 久久色区| 九九综舍久久| 9 9热这里有精品| 色婷婷丁香五月| 人人干av| 婷婷开心五月| 蜜桃五月天| 婷婷五月综合色中文字幕| 久久加勒比| 97日韩无套内| 亚洲精品久久久久久久久久飞鱼| 天天干天天干天天| 婷婷色综合| www.99情趣网| 五月婷婷免费在线观看视频| 色婷婷六月丁香综合欲精品| 日撸夜撸日操| 国精产品一区二区三区| 26uuuu精品一区二区| 91精品丝袜久久久久久| 91九色丨国产丨爆乳| av在线观看网址| 亚洲精品无码A片一区二区| 激情五月婷婷| 久久精品国产一区二区三区四区| 超碰99在线观看| 九九九九国产| 激情久久久| 久久久91| 99热这里精品| 思思热视频在线| 91操碰| 人妻aV在线| 婷婷色正月| 婷婷激情五月天小说| 色五月开心五月激情五月| 婷婷综合| 五月婷婷在线短视频| 久久久久9| 婷婷五月AV| 欧美在线97| 97久久人人| 久色网址| 国产裸舞福利资源在线视频| 激情婷婷综合| 人妻精品久久久久久久| 色XX综合网| 激情綜合W W W,激情五月天| 五月天婷综合| 婷婷五月丁香香蕉| 无码日本精品XXXXXXXXX | 欧美内射AAAAAAXXXXX| 北京熟妇搡BBBB搡BBBB| www.色欲丁香婷婷| 丁香五婷婷| 在线色色| 色播五月丁香婷婷| 亚洲成人噜噜| 丁香五月91| 色色com| 99国产精品久久久久久久久久久| 97luluse| 色五月婷婷基地| 色色精品色| 激情纯色婷婷五月天在线不卡视频| 99亚洲欧洲| 成人性爱无码| 99ri国产| 久久综合婷婷激情| 在线天堂9| 婷婷丁香视频在线观看免费| 蜜乳中文字| 丁香婷婷91在线观看视频| 亚洲精品99| 男女啪啪做爰高潮无遮挡| 日韩久久日| 天天摸天天肏| 99热这里只有免费| a在线观看| 亚洲乱码日产精品BD| sewuyuetingtingiii| 任你艹| 五月丁香婷婷伊人| 99超级碰免费视频| 丁香五月 性爱| 97超碰人人操| 婷婷丁香综合成人| 日日操天天操| 婷婷成人在线| 人人综合五月人人婷婷| se99视频| 综合网啪| www,五月天激情| 欧美日韩99| 大香伊人久色| 人妻久久久久久久久妻久久久久久久久| 天天情色五月天| 丁香婷婷啪啪| 婷婷色五月天色| 久久成人性爱| 99热老网站| 色婷婷yy久| 五月天国产成人| 欧美丁香五月夫妻天| 激情五月天婷婷| 色综合中文色综合网| 热99只有精品| 丁香婷婷综合激情五月色| 97色欧美| 婷婷丁香五月色| 日韩AV中文在线观看| 91综合国免费久入| 美国十月色婷婷在线观看| 天天狠狠综合精区| 伦乱美欧| 色情五月丁香| 另类激情五月天。| 大香蕉综合| 青996青| 狠狠五月综合在线| 国产露脸150部国语对白| 综合婷婷| 老司机伊人| 丁香蜜臀黄色婷婷五月天| 五月天综合在线观看| 狠狠噪| 天天在线久久综合 | 热久久77777| 色情综合网| www.婷婷.com| 久9热视频| 五月婷婷综合社区| 婷婷五月激情网| 91热久| 26uuu精品一区二区| 黄色成人AV在线| 战争与艾拉电影免费观看| 亚洲精品久久久久AV无码| 五月激情丁香久久综合网| 婷婷五月六月| 久鲁鲁色网 | 6080av| 91打屁股免费看| 伊人丁香五月| 1024在线一区| 99热这里只有精品国产精品| 微拍92| 欧美成人网99网| 色婷婷影视99| 女人被男人吃奶到高潮| 综合大香蕉| 99ri视频| 五月激情另类| 99九九精品视频推荐| 人人人va亚洲视频在线| 色婷婷最新域名| 国产97色在线 | 日韩| 人妻激情在线| 五月婷婷啪啪| 五月丁香六月花| 丁香五月色色婷| 婷婷六月综合基地| 开心五月六月婷婷| 婷婷综合中文| 五月天婷综合| av 一区三区四区| 黄桃AV无码免费一区二区三区| 国语精品探花| 成人一级片| 丁香九月激情| 色色色色色色色色色色色色色色,网站| 五月婷婷色白丝| www.五月婷婷.com| 成人国产欧美大片一区| 丁香六月情| WWW.久久久久久久| 少妇被躁爽到高潮无码文| 无码人妻一区二区三区免费九色| www.色9| 九九亚洲| 五月激情六月宗合| 丁香婷婷精品视频| 97干资源在线观看| 五月丁香影视| 婷婷 色 丁香 夜| 五月婷五月婷伊人伊人五月婷| 亚洲春色奇米影视| 天天射美女| 婷婷操逼网| www.com.色色| 在线观看免费人成视频无码| 激情啪啪五月| 五月天婷a| 99在线视频色版| 性做爰A片免费视频A片直播| enecarbon-materials.com污K127封锁请涟系@wip1688 | 涩五月婷婷| 精品婷婷五月天| 久艹伊| 色5月婷婷| 另类综合色| 69五月天视频| 久99热| 97操碰日本女人| 开心五月天激情网| 香焦网五月天| 五月婷婷网五月在线| 大香蕉啪啪啪| 99视频九九热| 97久久超视频| 婷婷激情五月呦呦| 天天干天天做| 五月激情偷拍| 丁香五月激情啪| 就爱射中文字幕资源网| 噜噜噜噜噜日本视频| 亚洲综合在线播放| 久操97| 99久久婷婷国产综合亚洲| 婷婷综合五月| 亚洲视频99| 久久久精品AV| www.五月丁香| 狠狠穞A片一區二區三區| α久久| a色色色色色| 99riAv1国产在线观看| 涩婷婷视频快播人妻| 九九亚洲天堂| 爱超碰性| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 欧美综合123区| 久草五月婷| 久草视频大香蕉99| 国产探花一片区| 婷婷六月天国产综合| 欧美色综合天天久久综合精品| 天天日天天摸| 噜噜在线| 五月婷婷大香蕉| 99热都是精品| 成片免费播放| 欧美槡BBBB槡BBB少妇| 激情综合网五月婷婷| 丁香六月婷婷色XXXXX| 九九色婷婷| 人妻中文在线| 亚洲色热| 嫩草AV久久伊人妇女超级A| 九九久久99| 五月婷婷啪啪| 95精品区一区二| 九月丁香很很色| 日韩三十六页| 9999热在线观看| www,超碰| 婷婷久热| 好好日激情五月天| 丁香五月23111| www夜夜操wwwcon| 九九视频这里只有精品| 色色色在线观看| 9久精品视频| 99色| 色五月综合激情网| 综合亚洲AV| 操操人人| 色五月婷婷在线视频| 五月婷综合性中心| 久久人妻视步| 97超碰人人操| http:色情日本com| 欧美成综合在线观看| 99久久视频| 丁香婷最新动态| 操嫩逼电影| 色久天| 综合AV在线| 能看的AV| 久操人| 国产伦理精品高清在线观看网站一区二区| 丁香五月婷婷呀| 五月天激情AV| 天天日天天爽夜夜爽| 天天揷综合网| 91porn一起草| 六月五月久久丁香| 日日干日日| 99热免费| 婷婷五月色惰| 六月综和久久| 99啪啪网| 激情性爱五月天网页| 伦99热| 六月色婷婷欧美| 激情五月天综合婷婷网| 五月天婷婷综合网| 啪啪黄页网| 丁香五月六月婷婷自拍| 五月婷婷六月丁香| 亚洲午夜成人av电影网| 天天噜日日噜综合无码| 丁香婷婷六月在线资源观看| 六月丁香五月天| 五月婷丁香久久综合| 国产中文亚洲欧美日韩性交| 色五月婷婷很很操| 精品亚洲国产成AV人片传媒| 色99自拍| 久色欧美| 成人网在线观看视频| 99热碰碰热| 激情五月天伊人影院| 开心激情婷婷| 在线中文av| 99re这里| 天堂久久久久天堂网| 亚洲色9| 天天操综合网| 人人操婷婷| 狠狠草婷婷| 99色在线观看| 9精品视频在线观看| 婷婷激情五月天视频在线| 五月天激情网站| 丁香婷婷五月色成人网站| 色色综合视频| 国产毛片精品一区二区色欲黄A片 国产人妻777人伦精品HD | 五月色亚洲| 亚洲经典小视频| 嫩草AV久久伊人妇女超级A| 六月色色| 丁香九月激情| 51XX午夜影福利| 九九亚洲| 91久久免费| 欧美成人网99网| 中文AV网站| 人妻久久久久久久久妻久久久久| 9久热| 五月丁香手机在线| 亚洲欧美综合7777色婷婷| 欧美色色色色色色| 五月天激情国产综合婷婷| 国内自拍97在线| tingtingzonghewang| 九九热精品| WWW夜夜| 狠狠色成人影片| 五月丁香成人网| 久久六月综合| 久久婷婷成人视频| 六月丁香网| 丁香五月婷婷色五月| 婷婷97狠狠成人网站| 蜜桃婷婷五月| 荡乳尤物3HP1V5| 日本五月婷婷久久久六月丁香| 婷婷五月天成人网| 狠狠人人| 熟女强人妻一区二区三区四区无| 狠狠色综合网站| Www.se.久久| 狠狠草在线观看| 色综合色色色色| 国产精品视频免费看| 黄网免费看| 九九这里有精品| 2025中文在线视频字幕免费观看| 四川BBB搡BBB爽爽视频| 久久欧洲综合网| 开心五月婷婷综合在线精品素人| 五月天天综合| 视频这里只有精品| 亚洲精品无人区| 激情五月四色| www,com,五月色色| 色色网站| 思思w99| 伊人久久综合| 九九色逼| 99 这里只有精品| av超碰在线| 成人婷婷| 久久激情综合| 69久久久| 成人看片网站| 天天做综合网色综合| 无码九九九九| 涩涩五月天| 五月激情黄色小说| 天天插天天射天天干| 久久精彩视频| 婷婷丁香五月综合激情小说| 九九大香蕉黄色影院| 色99在线视频| 九九热精品6| 中文字幕在线免费| 成人做爰黄A片免费看直播室男男 久草热8精品视频在线观看 | 五月丁香综合| 五月天婷婷无码视频| 激情文学久久| 偷拍九九热| 成人av播放| www.五月激情红色| 九九人人自拍| 99热久久这里只有精品| 欧美色97| 五月天久久成人| 久久婷婷五月天激情四射| 亚洲亚洲人成综合网络| 国产avapp 网| 色五月成人在线| 国产激情视频在线观看| 午夜在线成人网站免费观看| 深爱五月激情五月| 熟女激情五月天| oumeisesewang| 99热线观看9| 琪琪色五月婷婷老师| 色欲久久综合| 狠狠做深爱婷婷久久综合一区| 激情色中文| 日韩AV在线免费观看| 色色色激情网| 噜噜噜久久| 久久人妻精品| 婷婷五月18永久免费视频| 日本色噜| 大香蕉综合| 18久久| 久久精品一区二区三区四区| 开心五月婷婷激情| 亭亭五月丁香五月天激情| 九九一综合精品| 亚洲婷婷在线播放十月| 激情五月综合第一页| 日本三级99人妇网站| 女人高潮内射99精品| 久久丁香五月婷婷| 婷婷五月综合体验看| 婷婷六月伊人| 亚洲色小说在线综合| 天天搞夜夜六| 99久久久国产大片| www99精品| 六月丁香停| 激情av网| 操比激情五月| 丁香五月天社区婷婷| 国内自拍97在线| 夜夜嗨一区二区三区直播内容| 天天干夜晚夜操| 9久热| 综合色五月天| 激情综合区| 九九色欲网| 九九人人精品| 久久伊人9| 婷婷五月天AV在线| 99精品一二三四视频| 五月丁香婷婷免费视频| 五月天六月婷婷| 久久人妻乱| 5月婷婷6月六月丁香| 99精品小视频| 色五月人妻| 丁香五月婷婷五月天| 思思久久精品| 99玖玖在线视频| 成人 视频免费观看网站| 欧洲一区二区| 久久一热| 国产精品VIDEOSSEX久久发布| 婷婷久久综合| 亚洲精品国产A久久久久久| 亚洲V国产V欧美V久久久久久| 国产亚洲精品久久久久苍井松| 亚洲日本韩国| 激情五月婷婷色综合| 婷婷久久欧美| 婷婷五月丁香色播| 一级性感黄色内射视频| 综合色久| 深爱激情九九五月天 | 婷婷色五月大香蕉在线| 九九久久腿| 亚洲操B视频| 六月99天天婷婷激情综合| 久久久久久久丁香五月天婷婷| 丁香六月婷婷综合激情欧美 | 精品久久66| www.色婷婷.com| 综合色五月| 国产欧美日韩综合精品一区二区| 99久久婷婷国产综合精品电影| 天堂在线婷婷| 超碰操网| 五月色天五月色| 五月丁香六月成人| 99热最新| 91久久精品国产91性色TV| www九月婷婷| 日日噜狠狠| 五月社区婷婷激情| 激情婷婷五月| 天天舔天天爽| 国产高清视频91九九九久久久| 日本久久爽| 激情婷婷五月天伊人在线观看| 99视频只有这里精品| 一起草Av| 丁香激情综合| 91se在线视频| 久久九九蜜| 色色婷| 丁香五月欧美婷婷综合| 色噜噜五月天| 欧美综合丁香网| 色五月婷婷老师| 五月天婷婷激情| 大香蕉九九操| 激情五月婷婷欧美极品| 狠狠摸狠狠摸| 中文幕无线码中文字蜜桃| 婷婷激情啪啪| 五月婷婷开心爱| www.色婷婷| 中文字幕成人网站| 午夜成人AV在线| 丁香婷婷六月在线资源观看| 丁香五月激情啪啪| 欧美偷偷操| 激情丁香五月婷| 婷婷五月婷婷| 一本色道久久综合狠狠躁一二三| 九九热AV| www.五月天| 超碰在线50| 色性综合| 婷婷色在线视频| 五月天另类小说久久小说网| 色狠狠激情五月| 婷婷五月天激情网| 三日本无码| 欧美色骚婷婷五月天| 色婷婷免费观看| 五月婷婷 自拍| 五月色 亚洲| 综合色五月| 国产五月天婷婷| 九九热在线视频观看| 97精品人人A片免费看| 丁香六月婷婷综合| 亚洲色五月| 永久天堂日本| www.色五月天.com| 精品影院| Av性爱网站| 亚洲色五月| 五月丁香久| 天天噜| 人人干人人操外国| 五月丁香六月婷婷亚洲| 欧美顶级少妇做爰HD| 亚洲色色色色色| 婷婷金品综合视频| 九九精品自拍| 九九热视频99| 一本色道久久88加勒比—| 色婷婷婷婷五月天| 99九九99九九九视频精品| 久色网五月| 亚洲成人在线在线| 狠狠操狠狠狠| 91妻人人爽人人看片| RenRenSe在线视频网站| 亚洲中文字幕在线观看| 免费99情趣网视频| 色色五月婷| 亚洲综合激| 最近韩国日本免费高清观看| 梁铮版《蜘蛛女侠》在线| 色婷网| 激情影院内射| 日本99视频| 久久激情综合| 精品一二三区久久AAA片 | 91Chinese在线| 久操大香蕉| 五月天激情久久| 另类的婷婷| 五月婷婷无码| 五月青青草综合| 天天射影院| 亚洲精品性色| 97成人视频| 中文av网站| www.99热这里精品| 91久久| 色色色777| 亚洲精品字幕| 亚洲天码视频www蛋播视频| 丁香综合久久| 97在线碰| 日本人妻丁香婷婷久久寝取熟女五月| 粉嫩AV久久一区二区三区| 久久久99精品| 另类国产区| 婷婷丁香六月| 激情综合激情五月| 亚洲99一级无嗎特制在线| 51国精产品自偷自偷综合| 色婷婷免费观看| 色五月婷婷五月天| 亚洲色vA| 超碰成人av| a网站免费观看| 狠狠操狠狠干综合| 久久色五月天| 91精品综合久久久久久五月丁香| 久久九九99字幕| 9 1大香蕉| 激情五月六月婷婷| 五月天激情中文字幕| bukadeavzaixian| 久久伊人大香蕉| 爱的综合网| 91精品综合久久久久久五月丁香| 一本狠婷婷综合| 色五月综合激情| 婷婷激情在线| 国产全是老熟女太爽了| 丁香五月综合AV在线| 久久久99婷婷久久久久久| 天天天天操| 婷婷俺去也| 五月丁色AV| 久久5 9视频免费观看| 六月色播| 九九热手机在线视频| www.henhenl| 亚洲性爱AV在线| 日韩在线视频网站| 九九一综合精品| 99自拍视频网站| 五月天婷婷偷拍| 久久五月天婷婷| 婷婷五月综合视频免费播放| 99热大全在线观看| 人妻中文字幕网| 中文字幕无码人妻少妇免费视频| 色99视频| 色婷婷先锋| 五月天婷婷久久日| 久久久久久99精品无码| 亚洲九N| 色停停香蕉视频| 99视频这里有精品免费观看| wwW天天干| 五月丁香综合激情网| 亚洲AV久久久久久久久久久久久久久久 | 人妻自慰高清合集| 亚洲一个色| 操逼六区| 久久久日韩特色特黄AAAA| 99热这里是精品| 色婷婷五月在线| 午夜做爱影院| 六月丁香综合999| 久久草人妻| 任你日视频| 欧美色碰| 九热视频在线伦| 97 天堂| www.夜夜操| 情色五月天网站| 99无码精品| 99爱在线视频观看| 丁香网五月网| 侠女刀之记忆电影在线看免费| 五月丁香六月成人| 久热天堂| 亚洲综合色婷婷文学| 欧美成人一区二区三区在线视频| 狠狠操狠狠操| 无码人妻激情| 丁香五月婷婷偷拍| 婷婷五月天伊人| 天天综合在线网| 成人超碰Av| 丁香六月激情网C0W| 婷婷开心激情综合五月天| 99热日本| 97色五月天| 69五月天视频| 激情五月婷婷色综合| 婷婷激情六月综合| 婷婷另类开心| 五月人妻婷婷| 婷婷 激情 五月| 天天在线久久综合| 丁香五月狠狠综合欧美| 五月婷婷综合激情| 婷婷丁香第一页| 婷婷五月天亚洲天堂| 狠狠色情婷婷| 很很干五月天| 天天看夜夜看| 五月丁香天堂网| 深爱激情五月网| 中文在线成人| 超碰二区| 色欲一区二区三区精品A片| 色播五月丁香| 国产精品大香蕉| 青青久在线视频免费观看| 国产免费性爱| 色婷婷av综合网| 色黄啪啪| 99视频网址| 婷婷啪啪| 五月婷伊人| 人妻VideOssS人妻| 五月天狠狠网| 五月综合激情| 国产成人网站在线观看| 熟妇内谢69XXXXXA片| 丁香六月成人| 综合色色综合| 久色网| 色婷婷五月天激情久久| 狠狠五月激情婷婷直播片| 天天干狠狠| 玖玖综合色| 国产亚洲精品久久久久久郑州| 琪琪布丁香社区激情五月天| 色色97丁香婷婷五月天| 九热视频精品| 丁香五月婷婷久久综合激情网 | 久久九九国产精品怡红院| 久99视频| 俺也去五月婷婷丁| 99人妻碰碰碰久久久久| 91久久婷婷| 三十路磁力链接| 五月天婷婷成人网| 操一区| 日美三级| 婷婷五月小说色综合| 思思re视频在线| 亚洲人人操| 九九热视| 亚洲最大视频| 激情综合视频| 五月丁香色婷婷色| 5月丁香婷婷| 亚洲色视频| 五月婷婷综合在线| 婷婷五月天成人视频| 久久久.COM| 国产美女最新VA在线免费观看| 伊人五月天| 国产精产国品一二三在观看| 色情五月天导航| 天天日综合网射| 停婷丁五月在线| 色情综合网| 五月婷婷综合影院| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 夜夜做天天爽| 久热AA| 国产精产国品一二三在观看| 天天搞天天色综合| 99re思思精品在线观看| 级情九色| 午夜色丁香| 青青草蜜臀| 五月天婷婷av| 一级黄色操B| 丁香五月天婷婷中文| 97人妻碰碰中文无码久热丝袜| 五月丁香 狠狠爱| 琪琪理论片| 色老久久| 色婷婷亚洲综合网站| 99热99ai| 婷婷五月AV| yirenjiqingshiping| 婷婷色五月激情| 最新av在线观看| 色99欧洲色19| 思思色综合网站| 五月婷婷啪啪| 超碰9| 精品乱码久久久久| 五月天社区婷婷| 激情啪啪五月天| 玖玖综合色| 国产超碰人人| 九九性视频| 91在线操逼视频| 天天爱天天日| 色一情一乱一乱一区91Av| 大香婷婷| www.99成人视频| 欧美精品在线观看| 五月天六月丁香| 伊人激情| 婷婷精品在线| 久9免费视频| 亚洲超级碰| 天天狠狠夜夜狠狠2023| 日本玖玖在线| 日日操,天天操| 91人久| 2025最新亚洲激情在线| 亚洲精品视频在线播放| 另类天堂| 99精色| 婷婷六月色| 丁香六月色婷婷| 超碰精品在线| 91超级碰碰碰| 91久久| 性一交一乱一交A片久久四色| 玖玖激情五月天| 91视频一起草| 超碰人人艹| 99视频内射三四| 色情五月婷婷| 天天综合色| 日本狠狠爽| 夜夜嗨一区二区三区直播内容| 亚洲精品性色|