欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,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
返回資訊列表
五月婷AV| 亚洲小电影在线观看黄999| 色青五月天| 伊人成综合五月婷婷| 五月丁香影视| 五月婷婷丁香综合| 99热综合在线观看| 26UUU成人网| 五月天激情日色在线| 五月丁香啪啪| 六月婷婷综合| 五月婷综合| 性五月激情| 色玖玖网| 婷婷伊人欧美| 久久综合婷婷激情| 无码激情AAAAA片-区区| 97色吧| 中文资源在线a| 五月丁香六月婷精品视频| 亚洲操精品| 日本偷拍九九九| 国产真人做爰视频免费| 久久精彩视频| 欧美性生交XXXXX无码小说| 久久久网站| 久久久久人妻精品| 91热网址| 超碰人人操在线| 一本久道综合色婷婷五月| 久久欧洲久久| 最新午夜理论片| 亚洲免费99| 五月丁香中文婷婷中文| 色综合色色色色| 日本eVa一区=区视频| 丁香六月婷婷综合| 国产全是老熟女太爽了| 亚洲精品又粗又大又爽A片| 色综合久久综合中文综合网| 久操人妻| 亚洲天堂99| 免费黄色片子| 国产精品99久久久久久久女警| 97色碰| 色色色在线观看| 色婷婷五月综合| 色五月婷婷五月丁香五月| 欧美va国产va| 婷婷视频在线| 五月综合丁香婷婷| 91久操| 99久在线观看| 狠狠色婷婷| 国精产品一区二区三区| 91久久免费| 人人操人| 亚洲成人影视在线观看| 丁香五月在线视频| 五月婷婷人妻| 色狠狠999综合| 日本99热| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 久热这里| 97五月天| 伊人丁香五月婷婷潮吹| 丁香色五月 97干| 97操碰碰无码视频| 婷婷五月天激情在线观看| 婷婷基地成人五月天| 欧美欧盟性爱网| VA国产在线综合网站| 凹凸探花电影| 丁香六月婷| 五月丁香影院| 夜夜爽77777妓女免费下载| 成人.在线日韩| 色欧美一级| 五月停性愛| 9热久久| 精品爆操| 99热首页在线30| 操操操AV| 丁香六月啪啪| 婷婷的色色五月天| 婷婷久久六月天| 五月丁香黄色视频| 天天干天天干天天干| 丁香五月婷婷激情97| 婷婷丁香五月天操逼| 九九亚洲综合| 五月停停激情网| 久久99久久99精品免观看粉嫩| 亚州操人在线视频| 欧美婷婷精品激| 色,激情五月天| ji'qing'luan'ren'lun| www.久久久久| 性爱五月婷婷| 人人做天天爱| 色色亚洲| 婷婷性爱网| 狠狠婷婷爱| 五月婷综合| 五月成人网站| 久热中文字幕| 亚洲婷婷欧美婷婷| 99日热在线视频| 婷婷丁香五月天哟啪| 激情五月深爱婷婷| 国产SUV精品一区二区883| 停停综合色色| 九九热精品在线| 五月99久久| 婷婷综合五月激情| 五月丁香婷婷激情视频| 丁香五月天网站| 九九精品9| 大鸡巴伊人网| 欧爱综合视频| 日本久久网| 五月婷婷激情日本| Www,五月天| 色综合色色| 天堂va久久久噜噜噜久久Va| 狠狠色狠狠鲁| 精品人妻午夜一区二区三区四区| 五月丁香综合啪啪啪啪啪| 久久99网| 美欧成人视频| 操骚货在线| 熟妇人妻中文字幕无码老熟妇| 久久这里只| 激情视频网址| 色婷婷av在线观看| 操一操干一干| 久久只有精品| 亚洲超碰在线| 亚洲 小说 欧美 激情 另类| 99久久九九视频| 亚洲思思热久| 久久五月丁香| 婷婷综合五月激情| 成人无码精品1区2区3区免费看 | 国产44页| 激情六月丁香| 久久久人妻不卡| 99A级片| 五月丁香偷拍| 国产三级片91| 丁香婷婷激情综合五月激情 | 五月丁香婷婷综合| 日韩色色视频| 九九九成人在线视频| 亭亭玉月丁香| 欧洲亚洲欧洲99久久| 粉嫩AV久久一区二区三区| 五月网激情| 九九热精品| 婷婷亚洲日本| 亚洲性爱AV在线| 丁香五月婷婷啪啪| 天天在线天天综合网色| 亚洲成人在线观看网址| 亚洲成人AV在线播放| 夜色综合网| 激情99热| 26uuu国产精品| 性欧美大战久久久久久久83| 天天爽天天摸天天爱| 婷婷五月丁香激情图片| 婷婷色在线观看| 国产亚洲99久久精品| 亚洲激情网| 欧美又粗又大一区二区在线观看| 五月婷婷伊| 国产精品热搜丁香五月婷婷| 激情六月丁香| 婷婷综合九色伊人| 五月婷婷久久综合| 99久久成人| 亚洲一级 片内射网站在线观看| 五月婷婷丁香综合网| 在线播放成人| 精品久久人妻| 五月天婷婷爱| 激情五月伊人婷婷| 六月婷婷AV| 丁香激情网| 伊人久久大香网| 亚洲无码播放| 婷婷久久欧美| 婷婷色导航| 国产婷婷五月天| www.色九月| 开心五月激情网| 可以免费看AV网站| 六月婷婷之青青草| 超碰二区| 亚洲国产网站| 91在线操逼视频| 五月丁香亭亭| 婷婷五月天日本无码| 亚洲AV综合在线观看| 国产精品久久久久久久久久久久| 婷婷六月天天| 激情综合网五月激情| 啪啪激情网| 曰本久久女| 九九色人| 日本色五月| 六月综和久久| 九九日本视频| 99ri国产| 亚洲AV网站在线观看| 97色婷婷| 天天天天干| 五月色综合网| 第四色婷婷丁香五月| 五月天激情综合网俺也去| www.9色色色| 色欲天天综合网| 丁香婷婷激情五月天无毒不卡蜜桃| 99热成人精品| 亚洲国产精品五月天| 嫩草国产| 五月色亭丁香| 丁香婷婷浪潮AV久久综合| 99热这里只有精品2| 亚洲欧美一区二区三区四区爱爱动图| 亚州视频九九99| 亚洲综合成人网| 丁香五月婷婷99| 双性美人被调教到喷水A片| 亚洲色夜| 99色中文| 久久久久9| 夜夜骑天天操| 五月丁香激情综合网| 天天色,天天操,天天射| 天天操,天天插| 婷婷五月天av网| 91成人品| 精品视频这里只有精品| 亚洲五月婷婷在线| 成人网站免费sxj| 激情网第九色| 五月激情丁香久久综合网| 超碰99久久| 情一色一乱一伦一91A| 狠狠久久婷五月综合色| 91九色成人原创视频| 欧美日韩二区在线| 爱狠射| 久久精99| 99色五月| 99惹在线精品免费观看| 手机AVAV天堂看网| 自拍盗摄 另类| 99综合激情久久精品久久| 色五月丁香婷婷综合| 日 日干 日日做| www婷婷亚洲| 婷婷五月天激情在线观看| 丁香五月天信号| 天天肏屄夜夜爽| 激情丁香婷婷六月天| 综合欧美五月婷婷| 99色爱| 亚洲综合色色色| 夜夜夜夜夜操| 午夜丁香| 五月天丁香婷婷网| 97久久五月丁香婷婷| 久久久久久久久久久44| 9色视频在线| 色色是色N一| av婷婷丁香 六月| 六月丁香五月激情亚洲AV| 精品人妻伦| 激情影院免费视频婷婷五月天| 99热这里有精品2| 综合五月天完整| 成年人丁香五月| 性生活视频98791| 五月婷婷色| 黄桃AV无码免费一区二区三区| 欧美特大片黄| 五月天综合激情网| 午夜无码精品色综合久久| 色五狠狠| 99精品在线观看| 蜜臀AV在线观看| 伊人超碰在线| 免费AV黄在线播放| 日本天天色| 99热首页| 丁香五月激情欧美| 色婷婷丁香五月观看| 久热播这里只有精品| 色欲久久久久久综合网综合网| 六月激情婷婷| 婷婷伊人75| 草美女在线观看视频在线播放| 日日插日日干| www.狠狠| 五月婷婷三级| 在线综合网| 欧美丁香婷婷五月| 国产免费av在线| 在线观看五月婷婷网| 久热a| 色婷久久| 成人在线视频一区| 只有久久精品免费| 亚洲天天操| 超级碰碰碰久久网站| 激情五月天色色| 婷婷五月视频| 国产看真人毛片爱做A片| www.99免费视频| 性婷婷| 精品99在线观看| 精品久久穴| 超碰人人艹| 五月色网| 亚洲狠9| 人人干天天舔| 色婷婷狠狠| 9色免费网| 久久er+| 黄色片区子| 99热色综合| 5月婷婷综合| xx久久| 永久热91| 狠狠人人婷婷| CAOBIBI| 五月婷婷激情综合拍| 婷婷五月天成人| 国产成人AV在线播放| 99热这里只有精品50| 国产日韩欧美性爱| 五月丁香爱婷婷深深| 久青操| 中文字幕在线不卡视频| 99九九精品| 777精品久无码人妻蜜桃| 婷婷五月综合激情| 色播五月婷婷| 4399在线观看免费高清电视剧| 99自拍网| 99热网站| 色婷婷久久| 欧美噜噜噜草| 极品少妇高潮啪啪AV无码| 丁香啪啪| 激情综合五月| 日日婷婷不卡| 五月停视频天堂| 五月综合六月丁| 天天色粽合合合合合合合| 激情五月天婷婷久久久久久久久久久| 综合色图区| 丁香五月天在线观看视频| 色综合久久天天综合网| 一区色色色色网| 五月综合激情| 99热这里有精品2| 热99玖玖99玖玖99九九| 亚洲操B| 九九色院| 99热亚洲| 亚洲五月天狠狠| 天久综合91综合首页| 色久免费| 久久综合婷婷五月| 色色亚洲视频| 开心激情久久久久久久| av免费在线网站| 99毛片| 九九热a| 色婷婷香蕉| 婷婷五月综合欧美在线播放| 99视频日韩| 九九色热| 99热精品少| 成人AV在线中文版| 激情综合色婷婷啪啪六月天| 天堂爱爱| 日韩美女在线视频19| 99热网址| 插插五月天| 蜜桃婷婷狠狠久久综合| 精品乱码久久久久| 五月天另类小说久久小说网| 婷婷99中文字幕| 激情五月综合| 色播五月婷婷| 美妞av| 色色五月天 亚洲| www.9797国产| 婷婷五月丁香色情| 97碰| 91碰免费视频| 欧美人妻一区二区| 丁香婷婷婷五月| 久久多色| 9l视频自拍九色9l黑人| 天天狠狠夜夜狠狠2023| 日日操夜夜骑| 侠女刀之记忆电影在线看免费| 色操综合| 婷婷综合久久| 狠狠爱婷婷爱| 婷婷色丁香六月| 啪啪激情综合| 激情五月婷婷啪啪| 9色91视频| 操逼三区| 99视频这里有精品免费观看| 丁香六月 婷婷六月| 欧美日本97| 国产亚洲在线| 九九色色网| 精品无码99| 久er免费视频| 99爽视频| 99热狠狠操| 强辱丰满人妻HD中文字幕| h亚洲| 丁香五月第四色88| 亚洲婷婷月丁香五月| 无码A片一区二区免费| 99热在线观看| 秋霞免费视频| 日日干日日| 9l视频自拍9l九色9l成人| 亚洲久久婷婷| 26uuu欧美亚洲日韩| 91热爆在线| 一区二区三区XXXXXX| 丁香网五月天| 男人操女人高潮91视频| 亚洲激情在线| 色色五月丁香| 婷婷久久五月| 激情九月婷婷| 国产精品大香蕉| 超碰av在线| 操逼巨乳91| 五月天另类小说| 99热这里只有精品 搜| 婷婷色五月婷婷姐妹| 欧美日韩123| 激情五月婷婷啪啪| 丁香六月| 激情久久肏屄视频| www.婷婷五月天.com| 丁香五月色网| 亚洲免费99| 人人性久久| 九九精品热播| 丁香六月婷婷综合激情欧美| 玖玖综合色| 97视频久久| 99热新网址| 色六月婷婷| 啪啪 综合网| av在线中文| 日韩av在线电影| 丁香婷婷五月激情| 天天搞夜夜六| 婷婷丁香五月天亚洲| 91小黄书网址在线观看| 激情五月天激情综合网| 五月婷婷丁香六月| 91啪啪视频| 色中色综合| 成人视频网| 久久精品国产精品| 色色网91| 五月天激情综合在线| 噜噜噜噜婷婷五月天| 精品色情一区二区三区四区| 五月丁香婷婷中文网| 日本va欧美va欧美va| 狠狠操综合| 日韩在线9| 亚州色色色| av国产精品| 婷婷中文综合网| 影音先锋偷偷色男人站| 开心五月激情| 婷婷丁香人妻天天久久| 99久久久久久| 七月丁香五月婷婷在线| 91视频久久久| 久月丁香爱婷婷综合| 九九人人操| 久久这里只有精品热在99| 激情五月天啪啪视频| 黄色99网| 久色资源| 五月婷婷片| 无码少妇高潮喷水A片免费| 乱精品一区字幕二区| 丁香五月停停av| 91丁香五月| 九九热色视频| 五月婷婷六月丁香综合| 99热网站| 国产第99页| 色五月婷色彩免播放器| 久色中文| 色色吧综合| 五月天电影网| 涩综合网| 五月婷婷网站| 五月天婷婷综合| 99久久五月婷婷| 婷婷亚洲日本| 日韩精品一品二区三区的使用体验| 五月天婷婷在线观看| 97碰碰草| 99热日韩这里只有精品| 五月天婷婷色色网| 亚洲一级 片内射网站在线观看| 天天久综合网永久入口17v| 色婷婷五月天激情综合| 色色婷| 五月婷婷先锋| 六月丁香射婷婷欧美色图片 | 丁香六月婷婷开心婷婷网| 丁香五月网站| 五月天成人免费视频| 精国产品一区二区三区A片| 全高清无码视頻| 日韩色色视频www| 久草热在线视频| 97碰碰碰| 五月婷婷激情综合网 | 丁香婷婷六月天| 久久久久久婷| 五月婷婷免费| 色爱综合网| 日韩啪啪网| 激情小说婷婷| 激情五月天第四色| 婷婷五月天偷拍| 国产美女无遮挡裸体毛片A片 | 日本ww亚洲| 在线99热| 91色婷婷综合久久中文字幕二区| 日本婷婷| 日本女人久久| 玖玖午夜视频| 国产avapp 网| 97色片| 91干在线| 色五月婷婷在线| 91视频久久久| 偷偷操99| 大香蕉五月天婷婷丁香91| 激情都市丁香婷婷| 九九干视频| 国产欧美va| 色情五月天导航| 六月合五月婷| 色婷婷情片| 色五月天婷婷| 婷婷六月视频| 丁香五月天啪啪| 啊v视频在线观看| www.yw尤物| 婷婷伊人綜合中文字幕| 色婷婷在线视频| 操操操www.com| 久久99网站| 噜噜噜噜噜日本视频| 色播综合| 伊人丁香花综合影院| 热91久| 性天天中文网| 91 原创 在线 九色| 成人网在线视频| 婷婷99狠狠躁天天| 噜噜噜久久| 天天AV导航网| 狠狠色噜噜狠狠狠狠狠色综合久久| 26uuu国产激情视频| 久久婷婷六月综合综合| 激情四射网| 99re热精品在线视频| 在线只有精品| 婷婷五月视屏| 久久婷婷亚洲| 亚洲熟妇AV乱码在线观看| 丁香五月天激情综合网| 婷婷久久五月天中文字幕在线观看| 六月丁香婷婷综合狠狠爱夜夜爱| 丁香六月AV| 610018岁成人视频| 九九热精品视频在线观看| 婷婷综合五月| 婷婷五月天久草在线| 久久久噜噜噜久久人妻| 亚洲色9| 91午夜婷婷狠狠久久综合9色| www,99热| 99热无码精品| 99久免费视频| 九九亚洲视频| 婷婷五月天AV| 丁香色播五月天| 六月丁香婷婷大香蕉| 99色亚洲| 爱草人视频| 天天日天天做天天舔 | 国内久久亭亭| 99热网精品| 热久国产| 婷婷五月综合视频| 色婷婷影视| 久9热插入| 99性视频| 类似婷婷激情综合网站| 这里只有精品视频看看| 99精品自拍视频| 日本波多野结衣视频| 婷婷丁香花五月天| 丁香五月色欲| 婷婷五月天成人动漫| 99.N在线视频| 精品久9| 色婷网| 六月婷婷啪啪| 国产裸舞表演WWWW| 一个色的综合| 九九色综合| 狠狠情色| 97人人操com| 国产69精品久久久久999小说| 九九99免费理论| 六月丁香久久| 97好吊操| 99er在线观看| 色五月婷婷丁香国产在线| 97欧美在线| 天堂呦 呦百度搜索-百度搜索| 亚洲综合99| 色婷婷精品视频| 国产色99| 夜夜撸天天日| 91大屁股| 九九久久五月天综合伊人| 激情小说五月天社区丁香 | 丁香五月五婷| 久久这里只有国产视频| 五月花婷婷最新| 《战争与艾拉》完整版| 亚洲五月丁香综合网| 五月激情啪啪啪| www,com,五月色色| 十区AV| 人碰91| 996re热精品视频| 色综色网| 91狼友视频在线观看| 爱久久小说下载网| 国产AV一区二区三区日韩| 色色色网站| 亚洲九区| 777米奇影视第四色| 日本乱子人伦在线视频| 国产暴力强伦轩1区二区小说| 色色色色网站| 色五月婷婷五月天| 欧美成人猛片AAAAAAA| 97精品人人A片免费看| 成人看片网站| 国产毛片精品一区二区色欲黄A片| 第九色区av天堂| 三十熟女| 97色综合视频| 激情五月,激情综合网| 91九色欧美| 国产五月天婷婷| 久久综合爱| 人妻久久做| 天天综合天天做天天综合| 色青青视频| 丁香五月区| 五月天婷婷影院| 91丨九色丨熟女|新版| 97色色色色色| 在线播放人妻| 日韩美女羞羞网站在线观看| 亚洲成人综合在线| 天天日人人| 337午夜福利| 五月婷婷视频在线观看| 色色色色色色色色网站| 乱精品一区字幕二区| 日本偷拍九九九| 操操国产| 天天操夜夜玩!| 夜夜躁爽日日| 婷婷性爱| 婷婷五月丁香色播| 天天拍夜夜撸| 激情五月婷婷开心网| 国产97色在线| 97caop| 婷婷丁香成人五月天| 亚洲五月丁香综合网| 秋霞三及片| 国产免费AV网站| www.91av.com| www.99在线| 这里只有精品视频在线看| 日韩 中文 欧美| 国产美女无遮挡裸体毛片A片 | 亚洲AV成人精品日韩在线播放| 激情5月婷婷狠狠干| 丁香婷婷月| 欧美性做爰大片免费看办公室| 久久五月天丁香花| 色亚洲视频| 精品人妻伦一二三区久| 少妇被躁爽到高潮无码文 | www色色色com| 91成人性爱视频| 婷婷五月天福利| 丁香 久久| 伊人婷婷五月天av| 婷婷五月天在线观看| 婷婷五月天你懂的| 五月色婷婷AV| 天天日天天干天天操| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 人人看人人草人人摸| 成人一级片| 色婷婷久久9.com| 狠狠88综合久久久久噜噜噜| 五月丁香婷婷综合久久| 欧美碰碰| 五月婷婷六月奇米网丁香| 99性视频| 综激情网| 婷婷成人AV| 99综合入口| 天天干天天 亚洲| 人人草人人爱| 亚洲视频二区| 国产九九一区二区三区| 97碰91| 第四色婷婷色五月| 日日夜夜天天| 天天看片日日夜夜| 任你艹| 亚洲AV综合网| 日91高清无玛| 久久的爱大香蕉| 天堂草在线看www| 5月丁香美女影院| 日日噜噜久久婷婷五月天| 丁香六月色婷婷| 99久.| 91黄址| www99久久| 99这里都是精品| 精品导航在线x不卡| 色日本网| 黄色成人AV在线| 99国产这里只有精品| 欧美性爱丁香五月| 婷婷十月丁香| 97碰碰叉| 第四色首页| 欧美一黄一色一乱一伦| 婷婷丁香色无五月 | 97久人人| 91综合国免费久入| 婷婷色色五月| 性一交一乱一交A片久久四色| 99er这里只有精品| 免费看欧美成人A片无码| 婷婷AV丁香| 无码免费人妻A片AAA毛片西瓜| 丁香五月激情站| 色色综合网www| 99在线精品视频免费观看20| 九月av在线| 精品女人九九九| 午夜免费试看| 北京熟妇搡BBBB搡BBBB| 激情婷婷丁香色五月| 日噜噜色| 色综合大香蕉| 开心六月丁香五月婷婷| 一本色道久久88加勒比| 成年人看Va免费视频| 99久久五月天| 五月丁香婷婷色| 五月天婷婷六月| 亚洲AV无码电影| 97九色视频| 九九热在线观看6| 国产欧美精品AAAAAA片| 婷婷中文字暮| 啪啪综合| 极品少妇XXXX精品少妇偷拍| 五月深爱网| 久久永久视频| 国产精产国品一二三在观看| 国产色色色色| 色婷婷基地| 九久久婷婷| 91人操| 深夜婷婷五月丁香| 91xxxx九色| 亚洲a色| 五月网网站| 色综合久久综合中文综合网| 成人片黄网站色大片免费毛片| 天天综合影院| 99久视频| 色婷婷亚洲综合天堂| 人人操AV| 国产在线另类五月婷婷| 色99日韩| 五月天丁香久久综合| 五月丁香啪啪婷婷| 26uuu亚洲色| 婷婷五月电影| 天天色2017| 99久久久| 色五月丁香五月天| 亚洲精品欧洲精品| 精品爆操| 色婷婷激情五月天丁香| 色婷婷综合网站| 五月天激情啪啪| 精品五月视频婷婷在线观看| 超碰无码老师| 久碰视频| 丁香五月首页| 久草热视频在线观看| 97色色色视屏| 亚欧州精品视频| 91人妻九色大屁股| 日本99久久| 日本欧美成人片AAAA| 丁香五月天在线直播观看| 五月婷婷激情久久| 在线一起草av| 国产精品日本一区二区在线播放 | 99热12| 就99这里只有精品| 婷婷午夜精品久久久| 另类图片五月天激情| 国产特级毛片AAAAAAA高清| 色婷操逼| 亚洲人人操| WWW.夜夜| 亚洲人人干| 九九日本视频| 97色色色| 91久久电影| 亚洲视频另类| 激婷网| 国产婷婷色综合AV蜜臀AV| 中文字幕在线日亚洲9| 九九热精品视频| 思思久热6| 中文aV网| 天天做天天要天天爽| 思思热久久阴99| 婷婷五月天黄色| 伊人网啪啪| 大香蕉伊在| AV六月丁香| 五月婷婷涩涩爱| 中文字幕人成乱码在线观看| 婷婷五月激情综合| 久久婷婷成人综合色怡春院| 久久久18| 99无码视频| 操99| 天天骑天天操| 思思久久精品| 亭亭玉月丁香| 激情五月天色色网| 久久久久久人妻| 开心五月激情网| 婷婷六月激情| 夜夜爽天天干| 色吧五月| 高清一区二区三区日本久| 9久热| 成人国产欧美大片一区| 午夜少妇在线观看视频| 丁香激情五月天| 久久性爱视频| 国产69久久久欧美黑人A片| 粉嫩AV久久一区二区三区| 婷婷九月| 秋霞av吧| 2022久久婷婷| 丁香五月综合激情性爱| 久操综合| 99热热九九| 日韩无码人妻一区二区三区综合| 九九热这里只有精品一| 99亚洲无码| 丁香五月综合| 久婷| 国产乱子轮XXX农村| 老妇六区| 色婷婷色五月综合| 天堂久久精品| 婷婷激情五月天色| www.色色色色| 亚洲天堂爱爱| 成人五月天色天堂| 狠狠干在线视频| 99热免| 9久国产精品| 狠狠操天天干| 一区二区你懂的| 中文AV在线观看| 五月婷婷偷| 色色色.COM| 4399亚洲视频| 激情五月天网站| 在线成人国产| 婷婷五月丁香综合亚洲 | 五月丁香影院| 久久五月天丁香| 色婷婷综合网| 色婷婷丁香五月综合| 91色噜噜狠狠狠狠色综合| 99热精品在线观看| 免费看片在线观看| www.av视频xx999.com| 天天摸天天日天天舔| 婷婷综合五月天| 香蕉久久国产AV一区二区| 99热精品网| 97色色色视屏| 丁香六月婷婷综合| 99这里都是精品| 激情 婷婷| 日韩无码成人电影| 久cao香蕉影院| 99久久综合网| 一级操逼内射在线视频| www.五月天婷婷| 激情五月婷婷色色| 深情六月婷婷综合久久| 五月婷婷激情| 五月天sesese| 激情婷婷丁香五月天小说| 五月婷婷啪| 色色国产| 色婷婷婷婷| 思思热在线播放| 日本色色网| 超碰93在线观看| 婷婷五月天亚洲图片| 人人爱操| 91婷婷在线观看| 五月婷六月丁香| 一本色道久久综合狠狠躁小说| 丁香五月婷婷高清| 伊人婷婷激情| 99这里| 综合久久久| 激情五月婷婷丁香| 婷婷99视频在线| 日韩欧美一区二区三区四区| 婷婷色啪| 丁香五月大香蕉AV| 欧美爆乳一区二区三区| 全部老头和老太XXXXX| 91天天操天天干天天射| 久久婷婷五月综合色丁香| 超碰cap| 婷婷五月丁香五月天| 婷婷五月天福利| 超碰人人操在线| 久久综合影院| 亚洲激情五月| 色J香五月天| 日韩青青| 色丁香婷婷美女视频网站| 亚洲免费看片| 快乐激情五月色婷婷| 色99日韩| 狠狠色色综合| 五月天婷婷基地| 丁香婷婷综合色五月激情国产基地| 婷婷五月天伊人网在线观看视频| 婷婷五月天成人网| 狠狠做六月爱婷婷综合aⅴ| 国产99久久久| 色色色婷婷五月天| 日韩 中文 欧美| 九九综合色综合| 色五月婷婷大香蕉| 99.N在线视频| 婷婷涩涩五月天| 国产激情在线| 一区二区乱码视频| 婷婷久久99| 五月丁香综合| 亚洲激情综合| 婷婷色中文字幕| 丁香五月 综合| 五月婷婷色| 六月婷婷日| 桃色五月婷婷| 天天狠狠干| 懂色av蜜臀av粉嫩av永陈冠希| 五月丁香婷婷爱| 久99综合婷婷| 丁香在线视频| 色综合色欲综合天天免费| 免费观看全黄做爰的视频| 激情综合网亚洲色图| 9热成人在线视频| 99热这里只有精品3| 久久久A级视频| 婷婷九月亚洲| 亭亭丁香aV| 蜘蛛女免费观看完整版高清电影| 99热这里都是精品| 久久这里99| 岛国资源站| 97香蕉久久超级碰碰高清版| 日本99视频| 大地9中文在线观看免费高清| A网在线欧洲| 五月丁香综合成人社区| 色色操| 色久五月| 91 原创 在线 九色| 久久99久久99精品免视看婷婷| 亚洲人人96@| 丁香五月婷婷国产在线| 婷婷五月天综合久久| 天天搞夜夜叫| 六月色 亚洲| 日韩久久视频| 丁香五月天婷婷久久综合| 婷婷综合干| 天天激情站| 伊人9999| 五夜婷婷| 丁香五月天久久| 婷婷五月丁香综合激情| 五月丁香激情婷婷综合字幕| 91人无码久久久久久| 色狠狠色| 色五狠狠| 天天色月| 色色综合热| 九九色精品| 色婷婷色五月天| 五月天啪啪视频| 丁香五月天AV在线 | 色五月婷婷五月丁香五月激情五月视频 | 九九热这里只有精品5| 天天操天天干天天射| 久久久91| 激情五月,深深爱五月| 亚洲啪视频| 五月丁香亭亭A片| 人人操AV| 日日干日日| 深爱丁香激情| 中文字幕成人| 婷婷五月激情综合啪啪| 丁香激情五月| 四虎成人精品永久免费AV九九| 天天爽天天透天天爱| 狠狠做五月| 超碰在线综合| 在线视频九色97| 99色综合| 色三级色三级| 五月丁香五月婷婷在线观看| 国产夫妻操逼内射视频| 五月婷婷激情久久| 亚洲综合欧美色丁香婷婷888月图片| 精品婷婷| 日本三级日本三级99| 热99在线| 色性五月天| 欧美五月丁香在线观看| 伊人久久婷婷| xx久久| 久久精品日| 色无婷婷| 日本一级一级一级一级| 超碰91在线| 97色啪| 可以直接看的av| 午夜电影网VA内射| 亚洲视频丁香网va| 这里只有精品视频视频在线观看| 97热在线精品| se99热久久一本| 岛国午夜视频| 丁香啪啪中文字幕| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 超碰人人色| 激情五月综合网| 97影院一级片| 欧美日韩成人在线网| 99亚洲精品视频| 深爱婷婷丁香五月激情| 开心激情站婷婷五月天| 欧美综合在线五月天色婷婷| 激情婷婷亚洲五月| 激情五月综合六月丁香婷婷狠狠干| 天天激情5月天亚洲| 99热9| 热99这里只是精品| 亚洲成人在线播放| 无码色色色色色| 婷婷香香五月| 中文字幕丰满乱孑伦无码专区| 秋霞电影一级黄| 丁香五月天偷拍| 综合激情开心五月| 色激情综合狠狠婷婷| 中文字幕网伦射乱中文| www.99色在线| 开心 五月 综合| www激情网| 六月丁香色色| 九九热免费视频| 丁香六月久久| 五月婷婷六月婷| 好看的国产精品| 亚洲成人一区| 深爱激情中文五月天av| 另类的婷婷| 色吧五月婷婷六月丁香| 狠狠干激情五月| 俺去也在线www色官网| 婷婷激情网五月天| 久久开心五月天激情| 天天综合网站| 亚洲激情综合网| 97在线精品| 中文字幕在线aⅴ免费观看| 丁香伍月婷电影全集| 超碰A V在线| 中文AV在线观看| 国产激情久久| 色 丁香婷婷| 婷婷5月九九| 大香线蕉伊人| 99在线精品观看99| 久久桃花网色婷婷| 日韩啪图| 色啪影院| 手机激情网| 五月婷婷色播| 深爱激情五月网| 丁香情色五月| 五月久久网| 欧美天天五月丁香免费观看| 丁香五月天精品| 激情网婷婷五月天| 婷婷五月天激情小说| 99精彩视频网站在线| 综合精品99| 四色综合网| 天天爽夜夜爽天天爽夜夜爽| 啪啪操超碰| 日本不卡高字幕在线2019| 欧美婷婷色五月网| 久久婷婷青草五月天| 噜噜噜精品欧美成人在线观看| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 色婷激情网| 夜夜久久综合网| 99在线免费观看| 婷婷色五月天色| 五月天免费色| 欧美色色色色色色| 国自产拍偷拍精品啪啪一区二区| 国产亚洲av片| 99在线观看免费精品视频| 天天干天天插| 国产无套精品一区二区| 9l视频自拍9l九色9l成人| 久久婷婷五月天激情| 婷婷综合色图| 任你干aa| 久婷婷五月激情| 日本3级片一区2区| 色婷婷8| 五月天亚洲图片婷婷| 十二区无码| 影音先锋秋秋五月婷婷| 亚洲第一黄网| 思思精品热在线| 大香蕉伊人久久| aaa久久| 毛片毛片毛片毛片| 中文字幕无码人妻少妇免费视频| 玖玖激情五月天| 婷婷五月天BBw| 激情五月综合网| 丁香九九九九| 天天爽,夜夜爽| 亚洲国产精品二二三三区| 色婷婷香蕉| 五月丁香成人小说| 爱操天堂| 99re久热只有精品6在线直播| 激情五月婷| 五月天基地| 丁香五月开心婷婷| 丰满人妻妇伦又伦精品国产| 午夜婷婷| 另类图片色五月| 激情四射婷婷色色色| 色婷婷色婷婷五月| 婷婷在线网| 亚洲开心激情网| 激情五月综合亚洲另类| 五月丁香福利| 色五月婷婷91| 中文在线成人| 日本va欧美va欧美精品88| 婷久久久| 日日激情网| 亚洲乱码日产精品BD| 激情99。| 五月激情婷婷在线| 久久综合激情| 热久久91| 在线成人网址| 午夜成人AV在线| AV操逼网| 九色91国产| 日韩一级A片黄色| 99精品一二三四视频| 久操干| 大香蕉99| 中文字幕不卡+婷婷五月| 久久精品五月天| 人人人操| 色婷视频| 天天艹天天综合网| 91色久| 五月激激网w'w'w| 激情五月丁香五月色| 99视频热| 99视频在线观看视频|