帶上語義類別)
Semantic-Segment-Anything SSA 安裝教程4 步讓 SAM 掩碼自動(dòng)帶上語義類別【免費(fèi)下載鏈接】Semantic-Segment-AnythingAutomated dense category annotation engine that serves as the initial semantic labeling for the Segment Anything dataset (SA-1B).項(xiàng)目地址: https://gitcode.com/gh_mirrors/se/Semantic-Segment-AnythingSemantic-Segment-Anything簡稱 SSA是復(fù)旦張視覺組開源的自動(dòng)化密集標(biāo)注引擎SAM 負(fù)責(zé)出掩碼它為每塊掩碼補(bǔ)上語義類別標(biāo)簽。項(xiàng)目提供閉集語義分割與開放詞匯自動(dòng)標(biāo)注兩種模式適合兩類人想提升現(xiàn)有語義分割模型邊界精度的人以及需要為 SA-1B 這類無類別掩碼庫批量造標(biāo)注的人。掩碼很準(zhǔn)類別在哪兩個(gè)場(chǎng)景比較典型。你訓(xùn)過一個(gè)語義分割模型類別對(duì)得上但邊緣毛糙重訓(xùn)一套代價(jià)太高或者你剛下完 SA-1B幾千萬個(gè)精細(xì)掩碼在手卻因?yàn)闆]有類別信息無法直接訓(xùn)練語義分割模型。SSA 用同一套流程處理這兩個(gè)問題前者把 SAM 換成你的掩碼來源后者直接用標(biāo)注引擎批量產(chǎn)出類別。SSA 原理一個(gè)掩碼分支加一個(gè)語義分支一句話講清機(jī)制SAM 回答物體在哪語義分割模型回答它是什么投票模塊把兩者拼起來。具體做法是對(duì) SAM 輸出的每一塊掩碼統(tǒng)計(jì)掩碼覆蓋像素上語義模型預(yù)測(cè)的類別出現(xiàn)最多的那個(gè)類別就是這塊掩碼的標(biāo)簽。語義分支邊界不準(zhǔn)沒關(guān)系它只需要分類可靠邊界精度由 SAM 兜底。標(biāo)注引擎 SSA-engine 在此之上多了一層先用 COCO 與 ADE20K 兩個(gè)閉集模型給出粗類別再讓 BLIP 圖像描述模型對(duì)每個(gè)掩碼區(qū)域生成開放詞匯候選最后經(jīng) CLIP 過濾出 top-k 合理類別。每個(gè)掩碼因此在標(biāo)注 JSON 里多出class_name與class_proposals兩個(gè)字段可視為初版標(biāo)注 人工復(fù)核的工作流。SSA 安裝要求清單Python 3.8environment.yaml 鎖定的版本官方最低要求 3.7Conda環(huán)境文件直接可用CUDA 11.1依賴中的 PyTorch 1.9.1 與 mmcv 均為 cu111 編譯的 wheelNVIDIA GPUADE20K 閉集推理官方實(shí)測(cè)約 9 GB 顯存Cityscapes 約 19 GBSSA-engine-base 帶 SAM 約 30 GB建議 24 GB 以上關(guān)鍵依賴transformers、spacy、OpenCV、pycocotools、mmdet完整版本見 environment.yamlsegment-anything 源碼包需以 editable 模式安裝從零到首次運(yùn)行4 個(gè)步驟1?? 環(huán)境與依賴克隆項(xiàng)目并按鎖定版本建好環(huán)境再安裝 SAM 依賴包。git clone https://gitcode.com/gh_mirrors/se/Semantic-Segment-Anything cd Semantic-Segment-Anything conda env create -f environment.yaml conda activate ssa python -m spacy download en_core_web_sm # 先在上一級(jí)目錄克隆 segment-anything 倉庫facebookresearch/segment-anything然后執(zhí)行 cd ../segment-anything pip install -e . cd ../Semantic-Segment-Anything預(yù)期結(jié)果conda activate ssa后python -c import segment_anything無報(bào)錯(cuò)。2?? 擺放數(shù)據(jù)按 README 的目錄約定解壓 ADE20K 或 Cityscapes 到data/下圖像與標(biāo)注分目錄存放跑 SSA-engine 時(shí)只需一個(gè)裝滿圖片的文件夾。3?? 下載 SAM 權(quán)重放到ckp/目錄。mkdir -p ckp wget -P ckp https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth預(yù)期結(jié)果ckp/sam_vit_h_4b8939.pth存在。4?? 首次推理與評(píng)估以 8 卡跑 ADE20K 驗(yàn)證集輸出 mIoU。python scripts/main_ssa.py --ckpt_path ./ckp/sam_vit_h_4b8939.pth --save_img --world_size 8 --dataset ade20k --data_dir data/ade20k/ADEChallengeData2016/images/validation/ --gt_path data/ade20k/ADEChallengeData2016/annotations/validation/ --out_dir output_ade20k python scripts/evaluation.py --gt_path data/ade20k/ADEChallengeData2016/annotations/validation --result_path output_ade20k/ --dataset ade20k預(yù)期結(jié)果output_ade20k/生成帶類別的標(biāo)注結(jié)果與可視化圖評(píng)估命令打印 mIoU。卡數(shù)不同時(shí)改--world_size即可8 卡可并行跑完整個(gè)驗(yàn)證集。SSA 效果展示看街道場(chǎng)景里車輛、行人、道路標(biāo)志的貼合程度類別顏色由語義分支給出邊緣輪廓由 SAM 修正。ADE20K 單張圖類別密集關(guān)注相鄰小物體之間是否串色。這張圖展示 SSA-engine 的開放詞匯模式掩碼之外還附帶候選類別列表可用作標(biāo)注復(fù)核的參考。SSA 避坑指南常見問題對(duì)照表現(xiàn)象可能原因處理方式引擎推理 OOMengine-base 帶 SAM 官方實(shí)測(cè)約 30 GB 顯存加--light_mode切換小模型組合或降低輸入圖像分辨率mmcv / torch 安裝報(bào)錯(cuò)environment.yaml 鎖定 cu111 wheel自行升級(jí)過 PyTorch不要改 torch 與 CUDA 版本嚴(yán)格按 environment.yaml 重建環(huán)境ModuleNotFoundError: segment_anythingSAM 依賴包未以 editable 模式安裝回到同級(jí)目錄的 segment-anything 執(zhí)行pip install -e .推理找不到圖像或輸出為空數(shù)據(jù)目錄結(jié)構(gòu)與 README 約定不符核對(duì)data/下圖像與標(biāo)注子目錄文件名需與 README 示例一致單圖推理明顯偏慢--world_size為 0 時(shí)未啟用多卡按實(shí)際卡數(shù)設(shè)置--world_size多卡并行分?jǐn)倲?shù)據(jù)集關(guān)鍵文件索引scripts/main_ssa.py閉集 SSA 推理入口支持 ade20k、cityscapes、foggy_driving 三個(gè)數(shù)據(jù)集scripts/main_ssa_engine.py開放詞匯標(biāo)注引擎入口--sam指定用 SAM 出掩碼還是讀 SA-1B 已有掩碼scripts/evaluation.pymIoU 評(píng)估scripts/pipeline.py投票融合等核心處理流程scripts/configs/ADE20K、Cityscapes、COCO 的類別 ID 映射收尾SSA 的核心價(jià)值在于不動(dòng)任何現(xiàn)有模型的權(quán)重就能把語義模型的掩碼來源換成 SAM邊界和 mIoU 同時(shí)受益。建議的下一步先按上面的步驟跑通 ADE20K 驗(yàn)證集并記下 mIoU 基線再換你自己的數(shù)據(jù)集把語義分支換成你現(xiàn)有的模型做一次對(duì)照。【免費(fèi)下載鏈接】Semantic-Segment-AnythingAutomated dense category annotation engine that serves as the initial semantic labeling for the Segment Anything dataset (SA-1B).項(xiàng)目地址: https://gitcode.com/gh_mirrors/se/Semantic-Segment-Anything創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考