PyTorch implementation of our extended model, termed as Search and Identification Network (SINet-V2).
Authors: Deng-Ping Fan, Ge-Peng Ji, Ming-Ming Cheng & Ling Shao.
-
Introduction. This repository contains the source code, prediction results, and evaluation toolbox of our Search and Identification Network, also called SINet-V2 (arXiv / SuppMaterial / ProjectPage) , which are the journal extension version of our paper SINet (github / pdf) published at CVPR-2020.
-
Highlights. Compared to our conference version, we achieve new SOTA in the field of COD via the two well-elaborated sub-modules, including neighbor connection decoder (NCD) and group-reversal attention (GRA). Please refer to our paper for more details.
If you have any questions about our paper, feel free to contact me via e-mail (gepengai.ji@gmail.com). And if you are using our code and evaluation toolbox for your research, please cite this paper (BibTeX).
- [2021/07/20] HUAWEI 藤蔓技术论坛2021 Talk: “伪装目标检测技术与应用”,报告人:范登平,2021. (PPT下载)
- [2021/06/16] Update latest download link (Pytorch / Jittor) on four testing dataset, including CHAMELEON, CAMO, COD10K, and NC4K.
- [2021/06/11] 🔥 「图形与几何计算」公众号报道:计图开源:隐蔽目标检测新任务在计图框架下推理性能大幅提升。
- [2021/06/05] The Jittor convertion of SINet-V2 (inference code) is available right now. It has robust inference efficiency compared to PyTorch version, please enjoy it. Many thanks to Yu-Cheng Chou for the excellent conversion from pytorch framework)
- [2021/06/01] 🔥 Our TPAMI-2021 paper is early access to IEEE Xplore.
- [2021/05/18] 机器之心走近全球顶尖实验室系列之「伪装目标检测:挑战、方法和应用」视频报告分享(链接)。
- [2021/05/16] Jittor code will come soon ...
- [2021/05/01] Updating the download link of training/testing dataset in our experiments.
- [2021/04/20] The release of inference map on the 2021-CVPR-NC4K test dataset, which can be downloaded from the Google Drive.
- [2021/02/21] Upload the whole project.
- [2021/01/16] Create repository.
Figure 1: Task relationship. One of the most popular directions in computer vision is generic object detection.
Note that generic objects can be either salient or camouflaged; camouflaged objects can be seen as difficult cases of
generic objects. Typical generic object detection tasks include semantic segmentation and panoptic
segmentation (see Fig. 2 b).
Figure 2: Given an input image (a), we present the ground-truth for (b) panoptic segmentation
(which detects generic objects including stuff and things), (c) salient instance/object detection
(which detects objects that grasp human attention), and (d) the proposed camouflaged object detection task,
where the goal is to detect objects that have a similar pattern (e.g., edge, texture, or color) to the natural habitat.
In this case, the boundaries of the two butterflies are blended with the bananas, making them difficult to identify.
This task is far more challenging than the traditional salient object detection or generic object detection.
References of Salient Object Detection (SOD) benchmark works
[1] Video SOD: Shifting More Attention to Video Salient Object Detection. CVPR, 2019. (Project Page)
[2] RGB SOD: Salient Objects in Clutter: Bringing Salient Object Detection to the Foreground. ECCV, 2018. (Project Page)
[3] RGB-D SOD: Rethinking RGB-D Salient Object Detection: Models, Datasets, and Large-Scale Benchmarks. TNNLS, 2020. (Project Page)
[4] Co-SOD: Taking a Deeper Look at the Co-salient Object Detection. CVPR, 2020. (Project Page)
The training and testing experiments are conducted using PyTorch with a single GeForce RTX TITAN GPU of 24 GB Memory.
Note that our model also supports low memory GPU, which means you should lower the batch size.
-
Prerequisites:
Note that SINet-V2 is only tested on Ubuntu OS with the following environments. It may work on other operating systems (i.e., Windows) as well but we do not guarantee that it will.
-
Creating a virtual environment in terminal:
conda create -n SINet python=3.6
. -
Installing necessary packages: PyTorch > 1.1, opencv-python
-
-
Prepare the data:
-
downloading testing dataset and move it into
./Dataset/TestDataset/
, which can be found in Google Drive. -
downloading training/validation dataset and move it into
./Dataset/TrainValDataset/
, which can be found in Google Drive -
downloading pretrained weights and move it into
./snapshot/SINet_V2/Net_epoch_best.pth
, which can be found in this download link (Google Drive). -
downloading Res2Net weights on ImageNet dataset download link (Google Drive).
-
-
Training Configuration:
-
Assigning your costumed path, like
--train_save
and--train_path
inMyTrain_Val.py
. -
Just enjoy it via run
python MyTrain_Val.py
in your terminal.
-
-
Testing Configuration:
-
After you download all the pre-trained model and testing dataset, just run
MyTesting.py
to generate the final prediction map: replace your trained model directory (--pth_path
). -
Just enjoy it!
-
One-key evaluation is written in MATLAB code (link),
please follow this the instructions in ./eval/main.m
and just run it to generate the evaluation results in ./res/
.
The complete evaluation toolbox (including data, map, eval code, and res): link.
They can be found in download link(Pytorch / Jittor) on four testing dataset, including CHAMELEON, CAMO, COD10K, NC4K.
If you find this project useful, please consider citing:
@article{fan2021concealed,
title={Concealed Object Detection},
author={Fan, Deng-Ping and Ji, Ge-Peng and Cheng, Ming-Ming and Shao, Ling},
journal={IEEE TPAMI},
year={2021}
}
-
If the image cannot be loaded in the page (mostly in the domestic network situations).
The source code is free for research and education use only. Any comercial use should get formal permission first.