遇见数据集

RevealLayer-100K

收藏
魔搭社区2026-07-15 更新2026-07-15 收录
官方服务:

资源简介:

# RevealLayer Open Dataset RevealLayer Open is the open-source dataset accompanying **RevealLayer: Disentangling Hidden and Visible Layers via Occlusion-Aware Image Decomposition**. Paper: https://arxiv.org/html/2605.11818v1 Accepted by ICML 2026 RevealLayer studies **box-guided layered image decomposition** for natural images. Given an RGB image and instance bounding boxes, the task is to decompose the scene into a clean background and object-level foreground layers, where each foreground layer is represented as RGBA. This repository only redistributes data and annotations that are released by the RevealLayer authors. Third-party benchmark images and ground-truth annotations from AIM-500, RefMatte_RW100, and OBER-Test/ObjectClear are **not included** in this repository. ## License The RevealLayer dataset, processed annotations, metadata, and scripts released in this repository are licensed under the **Apache License 2.0**. Some evaluation metadata or conversion scripts may refer to third-party benchmarks, including AIM-500, RefMatte_RW100, and OBER-Test/ObjectClear. Their original images and ground-truth annotations are not redistributed here. Users should download those datasets from their official sources and follow the corresponding original licenses and usage terms. ## Repository Structure A typical directory structure is: ```text RevealLayer_open/ ├── train/ │ ├── <sample_id>/ │ │ ├── full_image.png │ │ ├── background.png │ │ ├── layer_0.png │ │ ├── layer_1.png │ │ └── ... │ └── metaData.json │ ├── Benchmark/ │ ├── RevealLayerBenchMark-200/ │ │ ├── <sample_id>/ │ │ │ ├── full_image.png │ │ │ ├── background.png │ │ │ ├── layer_0.png │ │ │ └── ... │ │ └── metaData.json │ │ │ └── RevealLayerBenchMark-wild/ │ ├── <sample_id>/ │ │ └── full_image.png │ └── metaData.json │ └── README.md ``` The exact number of layers varies across samples. ## Metadata Format Each split or benchmark subset contains a `metaData.json` file. It is a list of sample dictionaries. ### Training / Fully Annotated Samples A fully annotated sample generally follows this format: ```json { "imgid": "sample_id", "full_image": "sample_id/full_image.png", "background": "sample_id/background.png", "LayerInfoRaw": [ "sample_id/layer_0.png", "sample_id/layer_1.png" ], "detections": [ { "bbox": [x1, y1, x2, y2] } ] } ``` Field meanings: | Field | Type | Description | | --- | --- | --- | | `imgid` | string | Unique sample identifier. | | `full_image` | string | Relative path to the original RGB image. | | `background` | string | Relative path to the clean background image. | | `LayerInfoRaw` | list[string] | Relative paths to object-level foreground RGBA layers. | | `detections` | list[dict] | Instance bounding boxes used as box guidance. | | `bbox` | list[number] | Bounding box in `[x1, y1, x2, y2]` format. | The `detections` field only keeps bounding boxes. Labels and confidence scores are not required for the RevealLayer task and are not included. ### Wild Benchmark Samples `RevealLayerBenchMark-wild` contains in-the-wild images with bounding-box annotations only. It does **not** include clean background ground truth or foreground RGBA ground truth. A wild sample generally follows this format: ```json { "imgid": "sample_id", "full_image": "sample_id/full_image.png", "background": "", "LayerInfoRaw": [], "detections": [ { "bbox": [x1, y1, x2, y2] } ] } ``` For `RevealLayerBenchMark-wild`, the `background` field may be an empty string and `LayerInfoRaw` may be empty. This indicates that no background or foreground-layer ground truth is provided. ## Benchmark Notes ### Included Benchmark Subsets - **RevealLayerBenchMark-200**: a fully annotated benchmark subset for evaluating background reconstruction and foreground RGBA layer decomposition. - **RevealLayerBenchMark-wild**: a wild-image benchmark subset with `full_image` and bounding boxes only. It is intended for qualitative and real-world robustness evaluation. It does not contain background or foreground-layer ground truth. ## Loading Example ```python import json from pathlib import Path from PIL import Image root = Path("RevealLayer_open/train") metadata_path = root / "metaData.json" with open(metadata_path, "r", encoding="utf-8") as f: samples = json.load(f) sample = samples[0] full_image = Image.open(root / sample["full_image"]).convert("RGB") background = None if sample.get("background"): background = Image.open(root / sample["background"]).convert("RGB") layers = [] for layer_path in sample.get("LayerInfoRaw", []): layers.append(Image.open(root / layer_path).convert("RGBA")) boxes = [det["bbox"] for det in sample.get("detections", [])] ``` ## Data Usage Notes - Paths in `metaData.json` are relative to the corresponding split or subset directory. - Bounding boxes use `[x1, y1, x2, y2]` coordinates. - Foreground layers are stored as RGBA images when ground truth is available. - Some benchmark samples, especially wild images, may not contain background or foreground-layer ground truth. - Third-party benchmark data are not redistributed in this repository. Users are responsible for complying with the original licenses when reproducing evaluations on those datasets. ## Citation If you find this dataset useful, please cite: ```bibtex @inproceedings{wang2026reveallayer, title={RevealLayer: Disentangling Hidden and Visible Layers via Occlusion-Aware Image Decomposition}, author={Wang, Binhao and Zhao, Shihao and Cheng, Bo and Ji, Qiuyu and Ma, Yuhang and Wu, Liebucha and Liu, Shanyuan and Leng, Dawei and Yin, Yuhui}, booktitle={International Conference on Machine Learning}, year={2026} } ``` #

提供机构:
maas
创建时间:
2026-05-14
二维码
社区交流群
二维码
科研交流群
商业服务