weih527 / SSNS-Net

Semi-Supervised Neuron Segmentation via Reinforced Consistency Learning

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Semi-Supervised Neuron Segmentation via Reinforced Consistency Learning

Wei Huang, Chang Chen, Zhiwei Xiong(*), Yueyi Zhang, Xuejin Chen, Xiaoyan Sun, Feng Wu

*Corresponding Author

University of Science and Technology of China (USTC)

Introduction

This repository is the official implementation of the paper, "Semi-Supervised Neuron Segmentation via Reinforced Consistency Learning", where more visual results and implementation details are presented.

Installation

This code was tested with Pytorch 1.0.1 (later versions may work), CUDA 9.0, Python 3.7.4 and Ubuntu 16.04. It is worth mentioning that, besides some commonly used image processing packages, you also need to install some special post-processing packages for neuron segmentation, such as waterz and elf.

If you have a Docker environment, we strongly recommend you to pull our image as follows,

docker pull registry.cn-hangzhou.aliyuncs.com/renwu527/auto-emseg:v5.4

or

docker pull renwu527/auto-emseg:v5.4

Dataset

Datasets Sizes Resolutions Species Download (Processed)
AC3/AC4 1024x1024x256, 1024x1024x100 6x6x30 nm^3 Mouse BaiduYun (Access code: weih) or GoogleDrive
CREMI 1250x1250x125 (x3) 4x4x40 nm^3 Drosophila BaiduYun (Access code: weih) or GoogleDrive
Kasthuri15 10747x12895x1850 6x6x30 nm^3 Mouse BaiduYun (Access code: weih) or GoogleDrive

Training stage

Take the training on the AC3 dataset as an example.

1. Pre-training

python pre_training.py -c=pretraining_snemi3d

2. Consistency learning

Weight Sharing (WS)

python main.py -c=seg_snemi3d_d5_u200

EMA

python main_ema.py -c=seg_snemi3d_d5_1024_u200_ema

Validation stage

Take the validation on the AC3 dataset as an example.

1. Predict affinities

 python inference.py -c=seg_snemi3d_d5_1024_u200 -mn=seg_ac3_d5_1024_u200_WS -id=seg_ac3_d5_1024_u200_WS -m=snemi3d-ac3

2. Evaluate on Waterz

python2 evaluate_waterz.py -mn=seg_ac3_d5_1024_u200_WS -id=seg_ac3_d5_1024_u200_WS -m=snemi3d-ac3

3. Evaluate on LMC

python evaluate_lmc.py -mn=seg_ac3_d5_1024_u200_WS -id=seg_ac3_d5_1024_u200_WS -m=snemi3d-ac3

Model Zoo

We provide the trained models on the AC3 dataset at BaiduYun and GoogleDrive, including the pre-trained model and the segmentation models on different numbers of labeled (*L) and unlabeled (*U) sections (1024x1024).

Methods Models Download
pre-training pretraining_snemi3d.ckpt BaiduYun (Access code: weih) or GoogleDrive
5L+200U (WS) seg_ac3_d5_1024_u200_WS.ckpt BaiduYun (Access code: weih) or GoogleDrive
5L+200U (EMA) seg_ac3_d5_1024_u200_EMA.ckpt BaiduYun (Access code: weih) or GoogleDrive
10L seg_kasthuri15_d10.ckpt BaiduYun (Access code: weih) or GoogleDrive
10L+200U seg_kasthuri15_d10_u200.ckpt BaiduYun (Access code: weih) or GoogleDrive
50L+200U seg_kasthuri15_d50_u200.ckpt BaiduYun (Access code: weih) or GoogleDrive
100L seg_kasthuri15_d100.ckpt BaiduYun (Access code: weih) or GoogleDrive
100L+200U seg_kasthuri15_d100_u200.ckpt BaiduYun (Access code: weih) or GoogleDrive
100L+1000U seg_kasthuri15_d100_u1000.ckpt BaiduYun (Access code: weih) or GoogleDrive

More visual results on the Kasthuri15 dataset

To demonstrate the generalizability performance of our method on the large-scale EM data, we test our models on the Kasthuri15 dataset. The quantitative results can be found in our paper. Here, we provide more visual results on the Subset3 dataset to qualitatively demonstrate the superiority of our semi-supervised method compared with the existing supervised method with full labeled data (100L).

id5884

id1455

id6913

Left images are the results of the supervised method (100L), while right images are the results of our semi-supervised method (100L+1000U), where blue and red arrows represent split and merge errors, respectively.

Related Projects

funkey/waterz

constantinpape/elf

Contact

If you have any problem with the released code, please do not hesitate to contact me by email (weih527@mail.ustc.edu.cn).

About

Semi-Supervised Neuron Segmentation via Reinforced Consistency Learning


Languages

Language:Python 100.0%