A deep learning project for automatic 3D cell detection, cell tracking, and lineage reconstruction from time-lapse fluorescence microscopy of developing zebrafish embryos.
This project is based on the BioHub Cell Tracking During Development Kaggle Competition, where the objective is to reconstruct complete cell lineage graphs from 4D microscopy videos.
Understanding how cells move, divide, and develop over time is one of the fundamental problems in developmental biology.
Each dataset sample consists of a 4D microscopy movie (3D + Time) showing fluorescently labeled zebrafish embryo cells. The challenge is to automatically:
- Detect individual cells
- Track cells across time
- Identify cell division events
- Build complete lineage graphs
This project develops an end-to-end deep learning pipeline to solve this problem.
The primary objectives of this project are:
- Detect cell centroids from 3D microscopy volumes.
- Track individual cells through consecutive time frames.
- Detect parent-daughter relationships during cell division.
- Reconstruct complete lineage graphs.
- Generate predictions in the required GEFF submission format.
Dataset:
BioHub Cell Tracking During Development
Each training sample contains:
Sample
│
├── .zarr
│ └── 4D microscopy volume
│
└── .geff
└── Ground truth tracking graph
Image dimensions:
(T, Z, Y, X)
Example:
(100, 64, 256, 256)
Where
- T = Time
- Z = Depth
- Y = Height
- X = Width
Each annotation graph contains
Nodes
│
├── Cell Observation
│
└── Properties
├── Time
├── X
├── Y
└── Z
Edges
Observation A
↓
Observation B
A branching edge represents a cell division.
biohub-cell-tracking/
│
├── notebooks/
│ ├── 01_Data_Exploration.ipynb
│ ├── 02_Preprocessing.ipynb
│ ├── 03_Baseline_Model.ipynb
│ ├── 04_Model_Training.ipynb
│ └── 05_Inference.ipynb
│
├── src/
│ ├── data/
│ │ ├── loader.py
│ │ ├── preprocessing.py
│ │ ├── geff.py
│ │ └── visualization.py
│ │
│ ├── models/
│ │
│ ├── training/
│ │
│ ├── inference/
│ │
│ └── utils/
│
├── configs/
│
├── outputs/
│
├── requirements.txt
│
└── README.md
Microscopy Video
↓
Image Preprocessing
↓
Cell Detection
↓
Feature Extraction
↓
Cell Tracking
↓
Division Detection
↓
Lineage Graph Reconstruction
↓
GEFF Submission
- Project setup
- Dataset exploration
- Understanding Zarr format
- Understanding GEFF graph format
- Node and edge analysis
- Cell trajectory analysis
- Cell division exploration
- Image preprocessing
- Dataset pipeline
- Baseline tracking model
- Model training
- Evaluation
- Inference pipeline
- Python
- PyTorch
- NumPy
- Pandas
- Zarr
- Matplotlib
- NetworkX
- OpenCV
- Jupyter Notebook
- Kaggle
- 3D Cell Detection Network
- Graph Neural Networks (GNN)
- Transformer-based Cell Tracking
- Self-supervised Representation Learning
- Temporal Attention Networks
- Multi-object Tracking Optimization
Given a microscopy movie, predict:
- Cell locations
- Cell identities
- Cell trajectories
- Cell divisions
- Complete lineage graph
This project is based on the BioHub Cell Tracking During Development competition and dataset provided for the Kaggle community.