Add model card for Phoenix

#1
by nielsr HF Staff - opened
Files changed (1) hide show
  1. README.md +66 -0
README.md ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ pipeline_tag: image-segmentation
4
+ ---
5
+
6
+ # Phoenix: Learning from Adversity — Semantic-Aware Mask Refinement through Adversarial Perturbation
7
+
8
+ Phoenix is a model-agnostic refinement layer that turns coarse or noisy segmentation masks into precise object masks. It can be used as a deployment add-on for existing segmenters, a data-quality step for annotations, or an on-demand refinement tool.
9
+
10
+ - **Paper**: [arXiv](https://arxiv.org/abs/2607.29059) (ECCV 2026)
11
+ - **Project page**: [https://phoenix-eccv26.github.io](https://phoenix-eccv26.github.io)
12
+ - **Code**: [https://github.com/naver-ai/Phoenix](https://github.com/naver-ai/Phoenix)
13
+ - **Demo**: [https://huggingface.co/spaces/naver-iv/phoenix-demo](https://huggingface.co/spaces/naver-iv/phoenix-demo)
14
+ - **Checkpoints**: [https://huggingface.co/naver-iv/phoenix-weights](https://huggingface.co/naver-iv/phoenix-weights)
15
+ - **Evaluation data**: [https://huggingface.co/datasets/naver-iv/phoenix-eval-data](https://huggingface.co/datasets/naver-iv/phoenix-eval-data)
16
+
17
+ ## Quick start
18
+
19
+ ```python
20
+ import numpy as np, phoenix
21
+ from PIL import Image
22
+
23
+ model = phoenix.build_phoenix("ckpt/phoenix_efficientvit_xl1.pt")
24
+ refiner = phoenix.PhoenixRefiner(model)
25
+
26
+ image = np.array(Image.open("image.jpg").convert("RGB"))
27
+ noisy = np.array(Image.open("noisy_mask.png").convert("L"))
28
+ refined = refiner.refine(image, noisy, refine_iters=5) # -> bool HxW mask
29
+ ```
30
+
31
+ Command line:
32
+
33
+ ```bash
34
+ python infer.py --checkpoint ckpt/phoenix_efficientvit_xl1.pt \
35
+ --image assets/examples/instance/00_image.jpg \
36
+ --mask assets/examples/instance/00_noisy.png \
37
+ --output refined.png
38
+ ```
39
+
40
+ ## Checkpoints
41
+
42
+ Download all checkpoints from [naver-iv/phoenix-weights](https://huggingface.co/naver-iv/phoenix-weights) into `ckpt/`.
43
+
44
+ | File | Encoder | Used for |
45
+ |---|---|---|
46
+ | `phoenix_vit_h_instseg.pt` | ViT-H | Instance segmentation (Tables 1 & 2) and Cityscapes (Table S3) |
47
+ | `phoenix_efficientvit_xl1.pt` | EfficientViT-XL1 | Lightweight instance segmentation and the demo |
48
+ | `phoenix_vit_h_dis.pt` | ViT-H | DIS fine-grained segmentation (Table 3) |
49
+ | `phoenix_efficientvit_xl1_dis.pt` | EfficientViT-XL1 | Lightweight DIS model used by the demo |
50
+ | `phoenix_vit_h_voc.pt` | ViT-H | VOC semantic segmentation (Table S2) |
51
+
52
+ ## Citation
53
+
54
+ ```bibtex
55
+ @inproceedings{kim2026phoenix,
56
+ title = {Learning from Adversity: Semantic-Aware Mask Refinement
57
+ through Adversarial Perturbation},
58
+ author = {Kim, Beomyoung and Hwang, Sung Ju},
59
+ booktitle = {European Conference on Computer Vision (ECCV)},
60
+ year = {2026},
61
+ }
62
+ ```
63
+
64
+ ## License
65
+
66
+ Apache 2.0. See [LICENSE](https://github.com/naver-ai/Phoenix/blob/main/LICENSE) for details.