How labiip/dacseg works
DaCSeg is a PyTorch Mask R-CNN-based instance-segmentation project with overlap-aware chromosome annotations and model components. Its main workflow prepares COCO-style data, loads and augments examples, trains a detector/segmenter, evaluates COCO metrics, and supports prediction with trained weights. The README also documents single- and multi-GPU training and standalone validation. Edges reflect the sampled dataset, backbone, training, and evaluation code plus documented capabilities; wiring inside unsampled prediction and model modules is shown only at the documented subsystem level.
Main entry points: faster_rcnn_framework.py Mask R-CNN framework · train.py Single-device training · train_multi_GPU.py Multi-device training · validation.py Standalone validation
Components 23
Data preparation
- Overlap converter
OCA/transform_coco_overlap.py - Overlap-else converter
OCA/transform_coco_overlapelse.py - COCO annotations
- Chromosome images
data/imgb - Overlap dataset
data/my_dataset_overlap.py - Overlap-else dataset
data/my_dataset_overlap_else.py - Image transforms
transforms.py
Training and inference
- Single-device training
train.py - Multi-device training
train_multi_GPU.py - Prediction
predict.py - Standalone validation
validation.py - Trained weights
Detection model
- ResNet FPN
backbone/resnet50_fpn_model.py - Feature pyramid
backbone/feature_pyramid_network.py - Mask R-CNN framework
network_files/faster_rcnn_framework.py - Region proposals
network_files/rpn_function.py - ROI heads
network_files/overlap_roi_head.py - Overlap mask head
network_files/overlap_mask_rcnn.py - Reconstruction networks
network_files/con_net.py
Evaluation
- COCO metrics
train_utils/coco_eval.py - COCO results
Training utilities
- Train/eval loop
train_utils/train_eval_utils.py
Other components
- Researcher
Connections 35
- Researcher → Overlap converter: prepares data
- Researcher → Overlap-else converter: prepares data
- Overlap converter → COCO annotations: writes annotations
- Overlap-else converter → COCO annotations: writes annotations
- Chromosome images → Overlap dataset: image input
- COCO annotations → Overlap dataset: loads labels
- Chromosome images → Overlap-else dataset: image input
- COCO annotations → Overlap-else dataset: loads labels
- Researcher → Single-device training: starts training
- Researcher → Multi-device training: starts training
- Single-device training → Overlap-else dataset: loads dataset
- Single-device training → Image transforms: applies transforms
- Multi-device training → Overlap-else dataset: loads dataset
- Multi-device training → Image transforms: applies transforms
- Single-device training → Mask R-CNN framework: trains model
- Multi-device training → Mask R-CNN framework: trains model
- Mask R-CNN framework → ResNet FPN: extracts features
- ResNet FPN → Feature pyramid: builds pyramid
- Mask R-CNN framework → Region proposals: proposes regions
- Mask R-CNN framework → ROI heads: processes proposals
- ROI heads → Overlap mask head: predicts masks
- ROI heads → Reconstruction networks: uses reconstruction
- Single-device training → Train/eval loop: runs epochs
- Multi-device training → Train/eval loop: runs epochs
- Train/eval loop → COCO metrics: evaluates predictions
- COCO metrics → COCO results: writes metrics
- Single-device training → Trained weights: saves weights
- Multi-device training → Trained weights: saves weights
- Researcher → Prediction: requests prediction
- Trained weights → Prediction: loads weights
- Prediction → Mask R-CNN framework: runs inference
- Researcher → Standalone validation: starts validation
- Trained weights → Standalone validation: loads weights
- Standalone validation → Mask R-CNN framework: runs evaluation
- Standalone validation → COCO metrics: computes metrics