🚀 沒有時間訓練!
無需訓練的參考式實例分割
最先進技術(Papers with Code)
_SOTA 1-shot_ | -21CBCE?style=flat&logo=paperswithcode)
🚨 更新(2026年2月5日):論文手稿已更新,包含大量消融實驗、視覺化和額外實驗。
🚨 更新(2025年7月22日):已新增自訂資料集的說明!
🔔 更新(2025年7月16日):程式碼已更新,並附有使用說明!
📋 目錄
- 🎯 亮點
- 📜 摘要
- 🧠 架構
- 🛠️ 安裝說明
- 1. 複製本專案
- 2. 建立 conda 環境
- 3. 安裝 SAM2 與 DINOv2
- 4. 下載資料集
- 5. 下載 SAM2 與 DINOv2 權重檔
- 📊 推論程式碼:於 Few-shot COCO 重現 30-shot SOTA 結果
- 0. 建立參考集
- 1. 以參考集填充記憶體
- 2. 後處理記憶庫
- 3. 目標影像推論
- 結果
- 🔍 自訂資料集
- 0. 準備自訂資料集 ⛵🐦
- 0.1 僅有 bbox 標註時
- 0.2 將 coco 標註轉為 pickle 檔案
- 1. 以參考資料填充記憶體
- 2. 後處理記憶體庫
- 📚 引用
🎯 重點亮點
- 💡 免訓練:無需微調、無需提示工程——只需要一張參考圖片。
- 🖼️ 基於參考:僅用少量範例即可分割新物件。
- 🔥 SOTA 表現:在 COCO、PASCAL VOC 與跨領域 FSOD 上超越以往免訓練方法。
- 🧾 arXiv 論文
- 🌐 專案網站
- 📈 Papers with Code
📜 摘要
The performance of image segmentation models has historically been constrained by the high cost of collecting large-scale annotated data. The Segment Anything Model (SAM) alleviates this original problem through a promptable, semantics-agnostic, segmentation paradigm and yet still requires manual visual-prompts or complex domain-dependent prompt-generation rules to process a new image. Towards reducing this new burden, our work investigates the task of object segmentation when provided with, alternatively, only a small set of reference images. Our key insight is to leverage strong semantic priors, as learned by foundation models, to identify corresponding regions between a reference and a target image. We find that correspondences enable automatic generation of instance-level segmentation masks for downstream tasks and instantiate our ideas via a multi-stage, training-free method incorporating (1) memory bank construction; (2) representation aggregation and (3) semantic-aware feature matching. Our experiments show significant improvements on segmentation metrics, leading to state-of-the-art performance on COCO FSOD (36.8% nAP), PASCAL VOC Few-Shot (71.2% nAP50) and outperforming existing training-free approaches on the Cross-Domain FSOD benchmark (22.4% nAP).
🧠 Architecture
🛠️ Installation instructions
1. Clone the repository
git clone https://github.com/miquel-espinosa/no-time-to-train.git
cd no-time-to-train
2. 建立 conda 環境
我們將建立一個包含所需套件的 conda 環境。
conda env create -f environment.yml
conda activate no-time-to-train3. 安裝 SAM2 和 DINOv2
我們將從原始碼安裝 SAM2 和 DINOv2。
pip install -e .
cd dinov2
pip install -e .
cd ..4. 下載資料集
請下載 COCO 資料集並將其放置於 data/coco
5. 下載 SAM2 和 DINOv2 檢查點
我們將下載論文中使用的 SAM2 檢查點。 (請注意,SAM2.1 檢查點已經可用,且可能表現更佳。)
mkdir -p checkpoints/dinov2
cd checkpoints
wget https://dl.fbaipublicfiles.com/segment_anything_2/072824/sam2_hiera_large.pt
cd dinov2
wget https://dl.fbaipublicfiles.com/dinov2/dinov2_vitl14/dinov2_vitl14_pretrain.pth
cd ../..
📊 推論程式碼
⚠️ 免責聲明:這是研究用程式碼——請預期會有一些混亂!
在 Few-shot COCO 中重現 30-shot SOTA 結果
定義有用的變數並為結果建立資料夾:
CONFIG=./no_time_to_train/new_exps/coco_fewshot_10shot_Sam2L.yaml
CLASS_SPLIT="few_shot_classes"
RESULTS_DIR=work_dirs/few_shot_results
SHOTS=30
SEED=33
GPUS=4mkdir -p $RESULTS_DIR
FILENAME=few_shot_${SHOTS}shot_seed${SEED}.pkl
#### 0. 建立參考集python no_time_to_train/dataset/few_shot_sampling.py \
--n-shot $SHOTS \
--out-path ${RESULTS_DIR}/${FILENAME} \
--seed $SEED \
--dataset $CLASS_SPLIT
#### 1. 用參考填充記憶體python run_lightening.py test --config $CONFIG \
--model.test_mode fill_memory \
--out_path ${RESULTS_DIR}/memory.ckpt \
--model.init_args.model_cfg.memory_bank_cfg.length $SHOTS \
--model.init_args.dataset_cfgs.fill_memory.memory_pkl ${RESULTS_DIR}/${FILENAME} \
--model.init_args.dataset_cfgs.fill_memory.memory_length $SHOTS \
--model.init_args.dataset_cfgs.fill_memory.class_split $CLASS_SPLIT \
--trainer.logger.save_dir ${RESULTS_DIR}/ \
--trainer.devices $GPUS
#### 2. 後處理記憶體庫python run_lightening.py test --config $CONFIG \
--model.test_mode postprocess_memory \
--model.init_args.model_cfg.memory_bank_cfg.length $SHOTS \
--ckpt_path ${RESULTS_DIR}/memory.ckpt \
--out_path ${RESULTS_DIR}/memory_postprocessed.ckpt \
--trainer.devices 1
#### 3. 在目標影像上進行推論python run_lightening.py test --config $CONFIG \
--ckpt_path ${RESULTS_DIR}/memory_postprocessed.ckpt \
--model.init_args.test_mode test \
--model.init_args.model_cfg.memory_bank_cfg.length $SHOTS \
--model.init_args.model_cfg.dataset_name $CLASS_SPLIT \
--model.init_args.dataset_cfgs.test.class_split $CLASS_SPLIT \
--trainer.logger.save_dir ${RESULTS_DIR}/ \
--trainer.devices $GPUS
如果您希望在線查看推論結果(在計算時即時顯示),請添加以下參數: --model.init_args.model_cfg.test.online_vis True
要調整分數閾值 score_thr 參數,請添加該參數(例如,僅顯示分數高於 0.4 的所有實例):
--model.init_args.model_cfg.test.vis_thr 0.4
圖像現在將被儲存在 results_analysis/few_shot_classes/。左側的圖像顯示了真實標註,右側的圖像則顯示了我們無需訓練方法找到的分割實例。請注意,在這個例子中我們使用的是 few_shot_classes 分割,因此,我們應該只會看到這個分割中的類別分割實例(而不是 COCO 中的所有類別)。
#### 結果
在運行完驗證集中的所有圖像後,你應該會得到:
BBOX RESULTS:
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.368SEGM RESULTS:
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.342
🔍 自訂資料集
我們提供了在自訂資料集上運行我們流程的操作說明。註釋格式一律採用 COCO 格式。
總結; 若要直接查看如何在自訂資料集上運行完整流程,請參考scripts/matching_cdfsod_pipeline.sh以及 CD-FSOD 資料集的範例腳本(例如scripts/dior_fish.sh)
0. 準備自訂資料集 ⛵🐦
假設我們想在自訂資料集中偵測船隻⛵和鳥類🐦。要使用我們的方法,您需要:
- 每個類別至少 1 張已註釋的參考圖片(即 1 張船的參考圖片和 1 張鳥的參考圖片)
- 多張目標圖片,用以尋找我們目標類別的實例。
mkdir -p data/my_custom_dataset
python scripts/make_custom_dataset.py
這將會建立一個具有以下資料夾結構的自訂資料集:
data/my_custom_dataset/
├── annotations/
│ ├── custom_references.json
│ ├── custom_targets.json
│ └── references_visualisations/
│ ├── bird_1.jpg
│ └── boat_1.jpg
└── images/
├── 429819.jpg
├── 101435.jpg
└── (all target and reference images)
參考圖片視覺化(1-shot):| BIRD 🐦 的 1-shot 參考圖片 | BOAT ⛵ 的 1-shot 參考圖片 |
|:---------------------------:|:----------------------------:|
| |
|
0.1 僅有 bbox 標註時
我們也提供一個腳本,利用 SAM2 生成實例級分割遮罩。這在僅有參考圖片的邊界框標註時非常有用。
# Download sam_h checkpoint. Feel free to use more recent checkpoints (note: code might need to be adapted)
wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth -O checkpoints/sam_vit_h_4b8939.pth
Run automatic instance segmentation from ground truth bounding boxes.
python no_time_to_train/dataset/sam_bbox_to_segm_batch.py \
--input_json data/my_custom_dataset/annotations/custom_references.json \
--image_dir data/my_custom_dataset/images \
--sam_checkpoint checkpoints/sam_vit_h_4b8939.pth \
--model_type vit_h \
--device cuda \
--batch_size 8 \
--visualize
帶有實例級分割遮罩的參考圖像(由 SAM2 根據 gt 邊界框生成,1-shot):產生的分割遮罩視覺化結果已儲存在 data/my_custom_dataset/annotations/custom_references_with_SAM_segm/references_visualisations/。
| BIRD 🐦 的 1-shot 參考圖像(使用 SAM 自動分割) | BOAT ⛵ 的 1-shot 參考圖像(使用 SAM 自動分割) |
|:---------------------------------:|:----------------------------------:|
| |
|
0.2 將 coco 標註轉換為 pickle 檔案
python no_time_to_train/dataset/coco_to_pkl.py \
data/my_custom_dataset/annotations/custom_references_with_segm.json \
data/my_custom_dataset/annotations/custom_references_with_segm.pkl \
1
1. 以參考資料填充記憶體
首先,定義有用的變數並建立一個用於儲存結果的資料夾。為了正確顯示標籤,類別名稱應按照 json 檔案中出現的類別 id 順序排列。例如,bird 的類別 id 為 16,boat 的類別 id 為 9。因此,CAT_NAMES=boat,bird。
DATASET_NAME=my_custom_dataset
DATASET_PATH=data/my_custom_dataset
CAT_NAMES=boat,bird
CATEGORY_NUM=2
SHOT=1
YAML_PATH=no_time_to_train/pl_configs/matching_cdfsod_template.yaml
PATH_TO_SAVE_CKPTS=./tmp_ckpts/my_custom_dataset
mkdir -p $PATH_TO_SAVE_CKPTS
執行步驟 1:python run_lightening.py test --config $YAML_PATH \
--model.test_mode fill_memory \
--out_path $PATH_TO_SAVE_CKPTS/$DATASET_NAME\_$SHOT\_refs_memory.pth \
--model.init_args.dataset_cfgs.fill_memory.root $DATASET_PATH/images \
--model.init_args.dataset_cfgs.fill_memory.json_file $DATASET_PATH/annotations/custom_references_with_segm.json \
--model.init_args.dataset_cfgs.fill_memory.memory_pkl $DATASET_PATH/annotations/custom_references_with_segm.pkl \
--model.init_args.dataset_cfgs.fill_memory.memory_length $SHOT \
--model.init_args.dataset_cfgs.fill_memory.cat_names $CAT_NAMES \
--model.init_args.model_cfg.dataset_name $DATASET_NAME \
--model.init_args.model_cfg.memory_bank_cfg.length $SHOT \
--model.init_args.model_cfg.memory_bank_cfg.category_num $CATEGORY_NUM \
--trainer.devices 1
2. 後處理記憶體庫
python run_lightening.py test --config $YAML_PATH \
--model.test_mode postprocess_memory \
--ckpt_path $PATH_TO_SAVE_CKPTS/$DATASET_NAME\_$SHOT\_refs_memory.pth \
--out_path $PATH_TO_SAVE_CKPTS/$DATASET_NAME\_$SHOT\_refs_memory_postprocessed.pth \
--model.init_args.model_cfg.dataset_name $DATASET_NAME \
--model.init_args.model_cfg.memory_bank_cfg.length $SHOT \
--model.init_args.model_cfg.memory_bank_cfg.category_num $CATEGORY_NUM \
--trainer.devices 1#### 2.1 視覺化後處理記憶體庫
python run_lightening.py test --config $YAML_PATH \
--model.test_mode vis_memory \
--ckpt_path $PATH_TO_SAVE_CKPTS/$DATASET_NAME\_$SHOT\_refs_memory_postprocessed.pth \
--model.init_args.dataset_cfgs.fill_memory.root $DATASET_PATH/images \
--model.init_args.dataset_cfgs.fill_memory.json_file $DATASET_PATH/annotations/custom_references_with_segm.json \
--model.init_args.dataset_cfgs.fill_memory.memory_pkl $DATASET_PATH/annotations/custom_references_with_segm.pkl \
--model.init_args.dataset_cfgs.fill_memory.memory_length $SHOT \
--model.init_args.dataset_cfgs.fill_memory.cat_names $CAT_NAMES \
--model.init_args.model_cfg.dataset_name $DATASET_NAME \
--model.init_args.model_cfg.memory_bank_cfg.length $SHOT \
--model.init_args.model_cfg.memory_bank_cfg.category_num $CATEGORY_NUM \
--trainer.devices 1
記憶庫影像的 PCA 及 K-means 視覺化結果儲存在 results_analysis/memory_vis/my_custom_dataset。3. 對目標影像進行推論
如果將 ONLINE_VIS 設為 True,預測結果會儲存在 results_analysis/my_custom_dataset/,並在計算時即時顯示。請注意,開啟即時視覺化會大幅降低運行速度。
歡迎調整分數閾值 VIS_THR,以查看更多或更少分割的實例。
ONLINE_VIS=True
VIS_THR=0.4
python run_lightening.py test --config $YAML_PATH \
--model.test_mode test \
--ckpt_path $PATH_TO_SAVE_CKPTS/$DATASET_NAME\_$SHOT\_refs_memory_postprocessed.pth \
--model.init_args.model_cfg.dataset_name $DATASET_NAME \
--model.init_args.model_cfg.memory_bank_cfg.length $SHOT \
--model.init_args.model_cfg.memory_bank_cfg.category_num $CATEGORY_NUM \
--model.init_args.model_cfg.test.imgs_path $DATASET_PATH/images \
--model.init_args.model_cfg.test.online_vis $ONLINE_VIS \
--model.init_args.model_cfg.test.vis_thr $VIS_THR \
--model.init_args.dataset_cfgs.test.root $DATASET_PATH/images \
--model.init_args.dataset_cfgs.test.json_file $DATASET_PATH/annotations/custom_targets.json \
--model.init_args.dataset_cfgs.test.cat_names $CAT_NAMES \
--trainer.devices 1
結果
性能指標(使用與上述指令完全相同的參數)應如下所示:
BBOX RESULTS:
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.478SEGM RESULTS:
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.458
視覺結果儲存在 results_analysis/my_custom_dataset/。請注意,我們的方法適用於偽陰性,也就是不包含任何目標類別實例的圖像。點擊圖片可放大 ⬇️
| 目標圖像:含有船隻 ⛵(左為GT,右為預測) | 目標圖像:含有鳥類 🐦(左為GT,右為預測) |
|:----------------------:|:----------------------:|
| |
|
| 目標圖像:同時含有船隻及鳥類 ⛵🐦(左為GT,右為預測) | 目標圖像:不含船隻或鳥類 🚫(左為GT,右為預測) |
|:---------------------------------:|:----------------------------------:|
| |
|
🔬 消融實驗
主幹網路消融
為了評估我們方法在不同基礎模型上的可遷移性,我們將語義編碼器(DINOv2)與基於SAM的分割器替換為多種其他選項。
語義編碼器消融:
# CLIP (Sizes: b16, b32, l14, l14@336px)
bash scripts/clip/clipl14@336px.sh
bash scripts/clip/clipl14.sh
bash scripts/clip/clipb16.sh
bash scripts/clip/clipb32.shDINOV3 (Sizes: b, l, h)
bash scripts/dinov3/dinov3b.sh
bash scripts/dinov3/dinov3l.sh
bash scripts/dinov3/dinov3h.shPE (Sizes: g14, l14)
bash scripts/pe/PEg14.sh
bash scripts/pe/PEl14.sh分割器消融:
# SAM2 (Sizes: tiny, small, base+, large)
bash scripts/sam2/sam2_tiny.sh
bash scripts/sam2/sam2_small.sh
bash scripts/sam2/sam2_base_plus.sh
bash scripts/baseline/dinov2_sam_baseline.sh # SAM2 Large在 COCO 少量樣本資料集上的 VLM 評估
我們在 COCO 少量樣本資料集上評估 QWEN VLM。
bash scripts/vl-qwen/ablation-vl-qwen.sh參考圖像啟發式
為了理解為什麼不同的參考圖像會導致性能變化,我們分析了 COCO 新類別標註的統計特性。
#### 分析
我們研究了三個標註特徵:(1) 遮罩區域(物體尺寸), (2) 遮罩中心位置,以及 (3) 距離圖像邊緣的距離。
操作說明:
# Mask area distribution
python no_time_to_train/make_plots/mask_area_distribution.py \
--input data/coco/annotations/instances_val2017.json \
--output no_time_to_train/make_plots/mask_area_distribution/mask_area_distribution.png \
--edges-output no_time_to_train/make_plots/mask_area_distribution/bbox_edge_distance_histograms.png \
--center-output no_time_to_train/make_plots/mask_area_distribution/bbox_center_density.png \
--bins 80 \
--distance-bins 80 \
--disable-center-densityBbox center positions
python no_time_to_train/make_plots/bbox_positions.py \
--per-class-root data/coco/annotations/per_class_instances \
--filename centeredness_2d_hist_plain.png \
--max-cols 6 \
--output-dir ./no_time_to_train/make_plots/bbox_positions \
--outfile grid_bbox_positions.png
[輸出] 遮罩區域分布
[輸出] 邊界框中心密度
[輸出] 邊界框邊緣距離直方圖
#### 選擇
我們針對每個類別取樣 100 張多樣化 NBSP; 參考圖像,明確覆蓋不同的遮罩大小、中心和邊緣距離範圍。每個參考圖像會在一個固定且縮減的驗證子集中進行評估。
操作說明:
設定腳本: scripts/1shot_ref_ablation/setup.sh:
- 建立每個類別的 json 檔案
- 分析特定類別
- 以不同啟發式方法建立參考集
bash scripts/1shot_ref_ablation/setup.sh執行腳本: scripts/1shot_ref_ablation/gpu*.sh:
- 為每個參考集執行流程
# Example launch script that calls template script for each reference set
bash scripts/1shot_ref_ablation/gpu0.sh#### 結果
我們分析了檢測分數與參考圖像特徵(遮罩大小、中心位置、邊緣距離)的相關性。
操作說明:
python no_time_to_train/make_plots/heuristics_analysis.py
Outputs:
- no_time_to_train/make_plots/heuristics_analysis/heatmap_bbox_norm_scores.png
- no_time_to_train/make_plots/heuristics_analysis/heatmap_segm_norm_scores.png
- no_time_to_train/make_plots/heuristics_analysis/heatmap_center_bbox_norm_scores_kde_smooth.png
- no_time_to_train/make_plots/heuristics_analysis/heatmap_center_bbox_norm_scores.png
- no_time_to_train/make_plots/heuristics_analysis/heatmap_center_segm_norm_scores_kde_smooth.png
- no_time_to_train/make_plots/heuristics_analysis/heatmap_center_segm_norm_scores.png
- no_time_to_train/make_plots/heuristics_analysis/per_class_area_vs_raw_scores.png
- no_time_to_train/make_plots/heuristics_analysis/all_classes_area_vs_norm_scores.png
- no_time_to_train/make_plots/heuristics_analysis/edge_distance_vs_norm_scores.png
- no_time_to_train/make_plots/heuristics_analysis/bars_area_category_norm_scores.png
- no_time_to_train/make_plots/heuristics_analysis/bars_centered_norm_scores.png
- no_time_to_train/make_plots/heuristics_analysis/bars_avoid_sides_norm_scores.png
[輸出] 條形圖。遮罩區域(左)與中心化程度(右)對性能的影響
[輸出] 熱力圖。性能隨遮罩中心位置變化的二維分數圖
[輸出] 參考圖像性能與所有 COCO 新穎類別的遮罩區域關係
參考圖像退化
我們通過施加越來越強的高斯模糊,對逐步退化的參考圖像下的方法進行評估。
說明:
# Run different blur levels
bash scripts/blur_ablation/blur_ablation.shPlot grid of blur ablation results
python no_time_to_train/make_plots/plot_blur_results.py \
--results-root ./work_dirs/blur_ablation \
--class-id 0 \
--max-cols 4 \
--output-dir ./no_time_to_train/make_plots/blur_ablation \
--outfile grid_blur_ablation_class_0.png特徵相似度
用於視覺化參考圖像與目標圖像之間特徵相似度的腳本。
它可生成單一特徵相似度(路徑特徵),以及基於原型的相似度(聚合特徵)。
操作說明:
python no_time_to_train/make_plots/feature_similarity.py \
--classes orange \
--num-images 20 \
--min-area 12 \
--max-area 25000 \
--min-instances 2 \
--seed 123 \
--max-per-class 12
T-SNE 圖(DINOv2 特徵可分性)
DINOv2 特徵的 t-SNE 顯示對於不同類別有明顯分離,
但對於相似類別則有大量重疊,這表示混淆源於
骨幹特徵的幾何結構,而不是原型的選擇。
操作說明:
提取特徵
python no_time_to_train/make_plots/tsne-coco.py --extract繪製 T-SNE 圖
# Example spoon vs fork
python no_time_to_train/make_plots/tsne-coco.py --classes cat dog🛠️ 幫助工具
記憶體視覺化
在此加入圖片 feature_comparison_small.png
說明
若要視覺化某實驗的記憶體庫(PCA 和 K-means 視覺化),請調整下方指令。
請設定 DO_NOT_CROP 為 True/False(在 no_time_to_train/models/Sam2MatchingBaseline_noAMG.py)以決定參考圖像是否帶有裁切遮罩進行視覺化。
python run_lightening.py test --config $CONFIG \
--model.test_mode vis_memory \
--ckpt_path $RESULTS_DIR/memory_postprocessed.ckpt \
--model.init_args.dataset_cfgs.fill_memory.memory_pkl $RESULTS_DIR/$FILENAME \
--model.init_args.dataset_cfgs.fill_memory.memory_length $SHOT \
--model.init_args.dataset_cfgs.fill_memory.class_split $CLASS_SPLIT \
--model.init_args.model_cfg.dataset_name $CLASS_SPLIT \
--model.init_args.model_cfg.memory_bank_cfg.length $SHOT \
--model.init_args.model_cfg.memory_bank_cfg.category_num $CATEGORY_NUM \
--trainer.devices 1
將圖片調整為 512x512(使圖片為正方形)
要將圖片調整為 512x512 並保存到新目錄,請執行以下命令。這是針對論文圖表。
操作說明:
python no_time_to_train/make_plots/paper_fig_square_imgs.py
模型大小與記憶體
要計算模型大小與記憶體,請運行以下指令。
操作說明:
- 請參考
no_time_to_train/models/Sam2MatchingBaseline_noAMG_model_and_memory.py來計算模型大小與記憶體。
🌍 EO 資料集
評估腳本(EO 資料集)
評估腳本可於 scripts/EO 目錄中找到。EO 資料集使用 ./scripts/EO/EO_template.sh 腳本來執行評估。
每個 EO 實驗運行都會被儲存在 ./EO_results 目錄下。在實驗資料夾中我們會儲存:
- summary.txt 檔案(包含實驗設定與執行時間)。
- 測試集的預測視覺化(
results_analysis資料夾)。 - 記憶體視覺化(
memory_vis資料夾)。 - 少樣本註解的 pickle 檔案。
- 模型的檢查點(如果未被清理)。
圖表與表格
用於產生圖表和表格的額外腳本。EO 資料集的摘要 latex 表格:
python scripts/convert_datasets/summary_table_datasets.py
生成 EO 數據集的 LaTeX 表格:
python scripts/paper_figures/table_EO_results.py ./EO_results_no_heuristics
EO數據集的準確度圖:
python scripts/paper_figures/plot_EO_accuracy.py \
--input-root ./EO_results \
--output-root ./EO_results啟發式對 EO 數據集影響的總結:
python scripts/paper_figures/plot_EO_heuristic.py \
--no-heuristics ./EO_results_no_heuristics \
--heuristics ./EO_resultsEO 數據集的執行時間圖:
python scripts/paper_figures/plot_EO_runtime.py \
--input-root ./EO_results \
--output-root ./EO_results為論文圖表生成EO網格視覺化:
python scripts/paper_figures/plot_EO_grid.py \
--root ./EO_results_no_heuristics \
--dataset ISAID \
--shots 1📚 Citation
If you use this work, please cite us:
@article{espinosa2025notimetotrain,
title={No time to train! Training-Free Reference-Based Instance Segmentation},
author={Miguel Espinosa and Chenhongyi Yang and Linus Ericsson and Steven McDonagh and Elliot J. Crowley},
journal={arXiv preprint arXiv:2507.02798},
year={2025},
primaryclass={cs.CV}
}--- Tranlated By Open Ai Tx | Last indexed: 2026-03-13 ---