All Projects β†’ GuoleiSun β†’ Countseg

GuoleiSun / Countseg

Official code for "Object counting and instance segmentation with image-level supervision", in CVPR 2019 and TPAMI 2020

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Countseg

Sota Point Cloud
πŸ”₯Deep Learning for 3D Point Clouds (IEEE TPAMI, 2020)
Stars: ✭ 778 (+503.1%)
Mutual labels:  instance-segmentation
Panet
PANet for Instance Segmentation and Object Detection
Stars: ✭ 1,170 (+806.98%)
Mutual labels:  instance-segmentation
Bmaskr Cnn
Boundary-preserving Mask R-CNN (ECCV 2020)
Stars: ✭ 116 (-10.08%)
Mutual labels:  instance-segmentation
Acis
Actor-Critic Instance Segmentation (CVPR 2019)
Stars: ✭ 15 (-88.37%)
Mutual labels:  instance-segmentation
Data Science Bowl 2018
End-to-end one-class instance segmentation based on U-Net architecture for Data Science Bowl 2018 in Kaggle
Stars: ✭ 56 (-56.59%)
Mutual labels:  instance-segmentation
Awesome Referring Image Segmentation
πŸ“š A collection of papers about Referring Image Segmentation.
Stars: ✭ 91 (-29.46%)
Mutual labels:  instance-segmentation
Polyrnn Pp
Inference Code for Polygon-RNN++ (CVPR 2018)
Stars: ✭ 704 (+445.74%)
Mutual labels:  instance-segmentation
Deepco3
[CVPR19] DeepCO3: Deep Instance Co-segmentation by Co-peak Search and Co-saliency (Oral paper)
Stars: ✭ 127 (-1.55%)
Mutual labels:  instance-segmentation
Maskrcnn Modanet
A Mask R-CNN Keras implementation with Modanet annotations on the Paperdoll dataset
Stars: ✭ 59 (-54.26%)
Mutual labels:  instance-segmentation
Lanenet Lane Detection
Unofficial implemention of lanenet model for real time lane detection using deep neural network model https://maybeshewill-cv.github.io/lanenet-lane-detection/
Stars: ✭ 1,690 (+1210.08%)
Mutual labels:  instance-segmentation
Gcnet
GCNet: Non-local Networks Meet Squeeze-Excitation Networks and Beyond
Stars: ✭ 945 (+632.56%)
Mutual labels:  instance-segmentation
Yolact fcos
YOLACT: Real-time Instance Segmentation on the FCOS detector (without bbox cropping), achives 35.2mAP on coco val
Stars: ✭ 56 (-56.59%)
Mutual labels:  instance-segmentation
Condinst
Conditional Convolutions for Instance Segmentation, achives 37.1mAP on coco val
Stars: ✭ 101 (-21.71%)
Mutual labels:  instance-segmentation
Cell Detr
Official and maintained implementation of the paper Attention-Based Transformers for Instance Segmentation of Cells in Microstructures [BIBM 2020].
Stars: ✭ 26 (-79.84%)
Mutual labels:  instance-segmentation
Ac Fpn
Implement of paper γ€ŠAttention-guided Context Feature Pyramid Network for Object Detection》
Stars: ✭ 117 (-9.3%)
Mutual labels:  instance-segmentation
Labelme
Image Polygonal Annotation with Python (polygon, rectangle, circle, line, point and image-level flag annotation).
Stars: ✭ 7,742 (+5901.55%)
Mutual labels:  instance-segmentation
Seg By Interaction
Unsupervised instance segmentation via active robot interaction
Stars: ✭ 78 (-39.53%)
Mutual labels:  instance-segmentation
Swa object detection
SWA Object Detection
Stars: ✭ 128 (-0.78%)
Mutual labels:  instance-segmentation
Mask rcnn pytorch
Mask R-CNN for object detection and instance segmentation on Pytorch
Stars: ✭ 123 (-4.65%)
Mutual labels:  instance-segmentation
Semanticsegpapercollection
Stars: ✭ 102 (-20.93%)
Mutual labels:  instance-segmentation

Official code for Object Counting and Instance Segmentation with Image-level Supervision, in CVPR 2019 and TPAMI 2020

Paper (conference version) Paper (journal version) Supp Presentation Poster

block images

This code is built by Guolei Sun. For questions, please contact [email protected]

Requirements:

  1. System: ubuntu 16.04.
  2. NVIDIA GPU + CUDA CuDNN
  3. Python>=3.6
  4. Pytorch version 0.4
  5. Jupyter Notebook and ipywidgets
  6. Other common packages: numpy, scipy, and so on. Please refer to environment.yml.

Installation:

This respority uses some functions from PRM.

  1. Download this respority and unzip it. Make sure that the folders look like this:
  CountSeg
  β”œβ”€β”€ Nest-pytorch
      β”œβ”€β”€ ...
  β”œβ”€β”€ PRM-pytorch
      β”œβ”€β”€ ...
  β”œβ”€β”€ ...
  1. Go inside to "CountSeg" folder by "cd path/CountSeg", where path is where you store CountSeg in your computer.
  2. Install Nest, a flexible tool for building and sharing deep learning modules, created by Yanzhao
    pip install git+https://github.com/ZhouYanzhao/Nest.git
    
  3. Install PRM via Nest's CLI tool
    nest module install ./PRM-pytorch prm
    
    Validate the installation by "nest module list --filter prm", you should see something like this.
    ## Output:
    #
    # 3 Nest modules found.
    #[0] prm.fc_resnet50 (1.0.0)
    #[1] prm.peak_response_mapping (1.0.0)
    #[2] prm.prm_visualize (1.0.0)
    
    If you get some error, it is because that you miss some packages. Install them and do the validation again until you can get something like above
  4. Install Nest's build-in Pytorch modules
    nest module install ./Nest-pytorch pytorch
    

Dataset

  1. For Pascal, download dataset by simply running script in CountSeg/dataset folder.
    cd path/CountSeg/dataset
    chmod +x pascal_download.sh
    ./pascal_download.sh
    
    Before running the script, do not forget to change the save_path_2007 and save_path_2012 in pascal_download.sh to the path where you want to save pascal 2007 and 2012 dataset.
  2. For COCO dataset, please download dataset from COCO

Demo

Go to "CountSeg/demo" and run demo.

Test

To reproduce the results reproted in the paper.

  1. Pascal 2007 counting
    cd path/CountSeg
    jupyter notebook
    
    Then open eval_counting_pascal07.ipynb and simply run each cell inside it. Make sure you change the data path in eval_counting_pascal07.ipynb.
  2. COCO 2014 counting. Open jupyter notebook and run eval_counting_coco14.ipynb. Make sure you change the data path in eval_counting_coco14.ipynb.

Training

  1. Pascal 2007 and COCO 2014.
    cd path/CountSeg/experiments
    jupyter notebook
    
    Then open main-pascal.ipynb or main-coco.ipynb to do training on Pascal or COCO, respectively. Make sure you change the data path in config_counting_pascal07.yml and config_counting_coco14.yml.

Citation

If you find the code useful for your research, please cite:

@INPROCEEDINGS{cholakkal_sun2019object,
    author = {Cholakkal, Hisham and Sun, Guolei and Khan, Fahad Shahbaz and Shao, Ling},
    title = {Object Counting and Instance Segmentation with Image-level Supervision},
    booktitle = {CVPR},
    year = {2019}
}

@article{cholakkal_sun2020towards,
  title={Towards Partial Supervision for Generic Object Counting in Natural Scenes},
  author={Cholakkal, Hisham and Sun, Guolei and Khan, Salman and Khan, Fahad Shahbaz and Shao, Ling and Gool, Luc Van},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI)},
  year={2020}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].