Views
No views yet
cross_icl_best50_package/
├── README.md (this file)
├── inputs/
│ ├── inputs_k1.jsonl (400 samples, K=1)
│ ├── inputs_k2.jsonl (400 samples, K=2)
│ ├── inputs_k4.jsonl (400 samples, K=4)
│ └── inputs_k8.jsonl (400 samples, K=8)
├── support_images/
│ ├── K1/<class>/<stem>__K1.jpg (red boxes drawn, K=1 subset)
│ ├── K2/<class>/<stem>__K2.jpg
│ ├── K4/<class>/<stem>__K4.jpg
│ └── K8/<class>/<stem>__K8.jpg
└── query_images/
└── <class>/<file> (clean, no annotations)inputs/*.jsonl are package-relative. After untar,
they resolve correctly from the package root.| field | type | notes |
|---|---|---|
sample_id | str | <class>__<support_stem>__K{n}__<query_stem> |
class | str | one of 8 classes |
k | int | 1 / 2 / 4 / 8 |
prompt | str | ready-to-send user text with <bbox_start>...<bbox_end> tokens filled |
prompt_template | str | which of the 2 templates was used |
support_image | str (rel path) | reference image with K red boxes drawn |
support_image_size | [W, H] | always [1024, 1024] |
support_boxes_pixel | [[x1,y1,x2,y2], ...] | K reference boxes in pixel coords |
support_boxes_tokens | str | same boxes serialized as tokens |
query_image | str (rel path) | clean query image |
query_image_size | [W, H] | always [1024, 1024] |
query_gt_boxes_pixel | [[x1,y1,x2,y2], ...] | ground-truth boxes for evaluation |
query_gt_boxes_tokens | list[str] | same GT serialized as tokens |
support_stem | str | support image stem (no extension, no K suffix) |
A: "Please detect all objects belonging to the same category as the boxes [{boxes}] in the second image. The boxes are marked in the first image."
B: "The first image shows reference objects marked by red boxes at [{boxes}]. Please detect all objects of the same category in the second image."[
{"type": "image", "path": support_image},
{"type": "image", "path": query_image},
{"type": "text", "text": prompt},
]<bbox_start><xA><yB><xC><yD><bbox_end> with A,B,C,D ∈ [0, 1024].
Extract with regex:1import re
2TOK = re.compile(r"<x(\d+)><y(\d+)><x(\d+)><y(\d+)>")
3def parse(text: str) -> list[list[int]]:
4 boxes = []
5 for m in TOK.finditer(text or ""):
6 x1, y1, x2, y2 = (int(v) for v in m.groups())
7 if 0 <= x1 <= 1024 and 0 <= y1 <= 1024 and x2 > x1 and y2 > y1:
8 boxes.append([x1, y1, x2, y2])
9 return boxespixel = grid / 1024 * img_size._remote_best50_mf1_5095.py — P/R/F1/mF1_remote_best50_miou_5095.py — mIoU@50:95 + mIoU_best_remote_best50_per_class_k8_prf_miou.py — per-class table{"class": ..., "k": ..., "query_gt_boxes_pixel": [...], "pred_boxes_pixel": [...]}BEST50 / pred_k{k}.jsonl to your file.metrics_per_class_k8_prf_miou.json for full breakdown).