Boundary IoU API (Beta version)

Overview

Boundary IoU API (Beta version)

Bowen Cheng, Ross Girshick, Piotr Dollár, Alexander C. Berg, Alexander Kirillov

[arXiv] [Project] [BibTeX]

This API is an experimental version of Boundary IoU for 5 datasets:

To install Boundary IoU API, run:

pip install git+https://github.com/bowenc0221/boundary-iou-api.git

or

git clone [email protected]:bowenc0221/boundary-iou-api.git
cd boundary_iou_api
pip install -e .

Summary of usage

We provide two ways to use this api, you can either replace imports with our api or do offline evaluation.

Replacing imports

Our Boundary IoU API supports both evaluation with Mask IoU and Boundary IoU with the same interface as original ones. Thus, you only need to change the import, without worried about breaking your existing code.

  1. COCO instance segmentation
    replace

    from pycocotools.coco import COCO
    from pycocotools.cocoeval import COCOeval

    with

    from boundary_iou.coco_instance_api.coco import COCO
    from boundary_iou.coco_instance_api.cocoeval import COCOeval

    and set

    COCOeval(..., iouType="boundary")
  2. LVIS instance segmentation
    replace

    from lvis import LVISEval

    with

    from boundary_iou.lvis_instance_api.eval import LVISEval

    and set

    LVISEval(..., iou_type="boundary")
  3. Cityscapes instance segmentation
    replace

    import cityscapesscripts.evaluation.evalInstanceLevelSemanticLabeling as cityscapes_eval

    with

    import boundary_iou.cityscapes_instance_api.evalInstanceLevelSemanticLabeling as cityscapes_eval

    and set

    cityscapes_eval.args.iou_type = "boundary"
  4. COCO panoptic segmentation
    replace

    from panopticapi.evaluation import pq_compute

    with

    from boundary_iou.coco_panoptic_api.evaluation import pq_compute

    and set

    pq_compute(..., iou_type="boundary")
  5. Cityscapes panoptic segmentation
    replace

    from cityscapesscripts.evaluation.evalPanopticSemanticLabeling as evaluatePanoptic

    with

    from boundary_iou.cityscapes_panoptic_api.evalPanopticSemanticLabeling import evaluatePanoptic

    and set

    evaluatePanoptic(..., iou_type="boundary")

Offline evaluation

We also provide evaluation code that can evaluates your prediction files for each dataset.

  1. COCO instance segmentation

    python ./tools/coco_instance_evaluation.py \
        --gt-json-file COCO_GT_JSON \
        --dt-json-file COCO_DT_JSON \
        --iou-type boundary
  2. LVIS instance segmentation

    python ./tools/lvis_instance_evaluation.py \
        --gt-json-file LVIS_GT_JSON \
        --dt-json-file LVIS_DT_JSON \
        --iou-type boundary
  3. Cityscapes instance segmentation

    python ./tools/cityscapes_instance_evaluation.py \
        --gt_dir GT_DIR \
        --result_dir RESULT_DIR \
        --iou-type boundary
  4. COCO panoptic segmentation

    python ./tools/coco_panoptic_evaluation.py \
        --gt_json_file PANOPTIC_GT_JSON \
        --gt_folder PANOPTIC_GT_DIR \
        --pred_json_file PANOPTIC_PRED_JSON \
        --pred_folder PANOPTIC_PRED_DIR \
        --iou-type boundary
  5. Cityscapes panoptic segmentation

    python ./tools/cityscapes_panoptic_evaluation.py \
        --gt_json_file PANOPTIC_GT_JSON \
        --gt_folder PANOPTIC_GT_DIR \
        --pred_json_file PANOPTIC_PRED_JSON \
        --pred_folder PANOPTIC_PRED_DIR \
        --iou-type boundary

Citing Boundary IoU

If you find Boundary IoU helpful in your research or wish to refer to the referenced results, please use the following BibTeX entry.

@inproceedings{cheng2021boundary,
  title={Boundary {IoU}: Improving Object-Centric Image Segmentation Evaluation},
  author={Bowen Cheng and Ross Girshick and Piotr Doll{\'a}r and Alexander C. Berg and Alexander Kirillov},
  booktitle={CVPR},
  year={2021}
}

Contact

If you have any questions regarding this API, please contact us at bcheng9 AT illinois.edu

Owner
Bowen Cheng
Ph.D. at University of Illinois Urbana-Champaign
Bowen Cheng
An introduction to bioimage analysis - http://bioimagebook.github.io

Introduction to Bioimage Analysis This book tries explain the main ideas of image analysis in a practical and engaging way. It's written primarily for

Bioimage Book 20 Nov 28, 2022
Image Matching Evaluation

Image Matching Evaluation (IME) IME provides to test any feature matching algorithm on datasets containing ground-truth homographies. Also, one can re

32 Nov 17, 2022
IAST: Instance Adaptive Self-training for Unsupervised Domain Adaptation (ECCV 2020)

This repo is the official implementation of our paper "Instance Adaptive Self-training for Unsupervised Domain Adaptation". The purpose of this repo is to better communicate with you and respond to y

CVSM Group - email: <a href=[email protected]"> 84 Dec 12, 2022
Learning Efficient Online 3D Bin Packing on Packing Configuration Trees

Learning Efficient Online 3D Bin Packing on Packing Configuration Trees This repository is being continuously updated, please stay tuned! Any code con

86 Dec 28, 2022
Discovering Interpretable GAN Controls [NeurIPS 2020]

GANSpace: Discovering Interpretable GAN Controls Figure 1: Sequences of image edits performed using control discovered with our method, applied to thr

Erik Härkönen 1.7k Jan 03, 2023
Official pytorch implementation of "DSPoint: Dual-scale Point Cloud Recognition with High-frequency Fusion"

DSPoint Official pytorch implementation of "DSPoint: Dual-scale Point Cloud Recognition with High-frequency Fusion" Coming soon, as soon as I finish a

Ziyao Zeng 14 Feb 26, 2022
Align and Prompt: Video-and-Language Pre-training with Entity Prompts

ALPRO Align and Prompt: Video-and-Language Pre-training with Entity Prompts [Paper] Dongxu Li, Junnan Li, Hongdong Li, Juan Carlos Niebles, Steven C.H

Salesforce 127 Dec 21, 2022
Technical experimentations to beat the stock market using deep learning :chart_with_upwards_trend:

DeepStock Technical experimentations to beat the stock market using deep learning. Experimentations Deep Learning Stock Prediction with Daily News Hea

Keon 449 Dec 29, 2022
DRLib:A concise deep reinforcement learning library, integrating HER and PER for almost off policy RL algos.

DRLib:A concise deep reinforcement learning library, integrating HER and PER for almost off policy RL algos A concise deep reinforcement learning libr

329 Jan 03, 2023
More than a hundred strange attractors

dysts Analyze more than a hundred chaotic systems. Basic Usage Import a model and run a simulation with default initial conditions and parameter value

William Gilpin 185 Dec 23, 2022
Official repository of "BasicVSR++: Improving Video Super-Resolution with Enhanced Propagation and Alignment"

BasicVSR_PlusPlus (CVPR 2022) [Paper] [Project Page] [Code] This is the official repository for BasicVSR++. Please feel free to raise issue related to

Kelvin C.K. Chan 227 Jan 01, 2023
Code for Multiple Instance Active Learning for Object Detection, CVPR 2021

Language: 简体中文 | English Introduction This is the code for Multiple Instance Active Learning for Object Detection, CVPR 2021. Installation A Linux pla

Tianning Yuan 269 Dec 21, 2022
One-line your code easily but still with the fun of doing so!

One-liner-iser One-line your code easily but still with the fun of doing so! Have YOU ever wanted to write one-line Python code, but don't have the sa

5 May 04, 2022
DvD-TD3: Diversity via Determinants for TD3 version

DvD-TD3: Diversity via Determinants for TD3 version The implementation of paper Effective Diversity in Population Based Reinforcement Learning. Instal

3 Feb 11, 2022
PyGCL: Graph Contrastive Learning Library for PyTorch

PyGCL: Graph Contrastive Learning for PyTorch PyGCL is an open-source library for graph contrastive learning (GCL), which features modularized GCL com

GCL: Graph Contrastive Learning Library for PyTorch 594 Jan 08, 2023
This repository contains the source code of an efficient 1D probabilistic model for music time analysis proposed in ICASSP2022 venue.

Jump Reward Inference for 1D Music Rhythmic State Spaces An implementation of the probablistic jump reward inference model for music rhythmic informat

Mojtaba Heydari 25 Dec 16, 2022
Codes for NeurIPS 2021 paper "Adversarial Neuron Pruning Purifies Backdoored Deep Models"

Adversarial Neuron Pruning Purifies Backdoored Deep Models Code for NeurIPS 2021 "Adversarial Neuron Pruning Purifies Backdoored Deep Models" by Dongx

Dongxian Wu 31 Dec 11, 2022
View model summaries in PyTorch!

torchinfo (formerly torch-summary) Torchinfo provides information complementary to what is provided by print(your_model) in PyTorch, similar to Tensor

Tyler Yep 1.5k Jan 05, 2023
Yolact-keras实例分割模型在keras当中的实现

Yolact-keras实例分割模型在keras当中的实现 目录 性能情况 Performance 所需环境 Environment 文件下载 Download 训练步骤 How2train 预测步骤 How2predict 评估步骤 How2eval 参考资料 Reference 性能情况 训练数

Bubbliiiing 11 Dec 26, 2022
Train an imgs.ai model on your own dataset

imgs.ai is a fast, dataset-agnostic, deep visual search engine for digital art history based on neural network embeddings.

Fabian Offert 5 Dec 21, 2021