aliceh0ng commited on
Commit
c7da562
·
0 Parent(s):

Add fine-tuned Cellpose-SAM model weights and model card

Browse files
.gitattributes ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ models/finetuned/**/models/* filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ .DS_Store
2
+ __pycache__/
3
+ *.py[cod]
4
+ .ipynb_checkpoints/
5
+ models/finetuned/**/figures/
README.md ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ tags:
4
+ - cellpose
5
+ - image-segmentation
6
+ - fluorescence-microscopy
7
+ - bacteria
8
+ - confocal
9
+ base_model: cellpose/cellpose-sam
10
+ ---
11
+
12
+ # Cellpose-SAM fine-tuned for bacterial segmentation in mouse colon tissue
13
+
14
+ Fine-tuned weights for [Cellpose-SAM](https://github.com/MouseLand/cellpose) (`cpsam`) to segment individual bacteria in Zeiss Airyscan confocal images of mouse colon tissue sections.
15
+
16
+ ## Model description
17
+
18
+ The base model (`cpsam`) was fine-tuned on manually annotated BFP-channel patches from 16-bit TIFF stacks acquired on a Zeiss LSM 900 Airyscan at 100× magnification. Images contain bacteria expressing a BFP constitutive reporter, embedded in colon tissue with fecal autofluorescence.
19
+
20
+ **Key imaging parameters:**
21
+ - Pixel size: 0.035 µm/px
22
+ - Expected bacterial diameter: ~43 px (~1.5 µm)
23
+ - Input channel: BFP (constitutive, used for segmentation only)
24
+ - Stack size: (4, 6323, 6344) uint16
25
+
26
+ ## Available model runs
27
+
28
+ | Run | Train patches | Val patches | Cells annotated | AP@0.5 base | AP@0.5 fine-tuned |
29
+ |-----|--------------|-------------|-----------------|-------------|-------------------|
30
+ | `4stacks_5x5_norm` | 75 | 25 | 3,913 | 0.641 | **0.724** |
31
+ | `5stacks` | 35 | 8 | 4,641 | 0.885 | 0.842 |
32
+ | `1stack` | — | — | — | — | — |
33
+
34
+ `4stacks_5x5_norm` is the recommended model (largest annotated patch set, best AP improvement over base).
35
+
36
+ ## How to use
37
+
38
+ ```python
39
+ from cellpose import models
40
+ import numpy as np
41
+
42
+ # Load fine-tuned model
43
+ model = models.CellposeModel(
44
+ pretrained_model="path/to/models/finetuned/4stacks_5x5_norm/models/cpsam_4stacks_5x5_norm",
45
+ gpu=True
46
+ )
47
+
48
+ # bfp_norm: float32 [0, 1] normalised BFP channel (2D array)
49
+ masks, flows, styles = model.predict(
50
+ [bfp_norm],
51
+ diameter=43, # round(1.5 / 0.035)
52
+ channels=[0, 0],
53
+ normalize=True
54
+ )
55
+ ```
56
+
57
+ **Important:** always normalise the BFP channel before inference (`normalize=True` or manual p1–p99 stretch). Measure fluorescence intensities from the raw uint16 stack, not the normalised image.
58
+
59
+ ## Training details
60
+
61
+ - Base model: `cpsam` (Cellpose-SAM)
62
+ - Epochs: 100
63
+ - Learning rate: 1e-5
64
+ - Weight decay: 0.1
65
+ - Batch size: 1
66
+ - Framework: Cellpose 4.x (`train.train_seg`)
67
+ - Hardware: NVIDIA GPU (CUDA 12.6)
68
+
69
+ ## Intended use
70
+
71
+ Segmentation of bacteria (~1.5 µm) in Airyscan confocal images of mouse colon tissue for downstream fluorescence ratio measurements (GFP/BFP osmotic stress, RFP/BFP oxidative stress reporters).
72
+
73
+ Post-segmentation filters recommended:
74
+ 1. Size filter: 8–300 px²
75
+ 2. Spectral filter: remove objects where min(GFP, RFP) / BFP > 0.6 (fecal autofluorescence)
76
+ 3. SYTOX exclusion: remove objects overlapping > 25% with SYTOX+ host nuclei
models/finetuned/1stack/models/cpsam_finetuned ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9efeeb4ef576bdad6f99c3e32dff571776fb5b2a7bac28b11700817d0ac797c5
3
+ size 1218638243
models/finetuned/4stacks_5x5_norm/annotations.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "annotated_train": [
3
+
4
+ "Scene-01-20260416-C3M2_Tcol_1-A01Export-01_c1-4_stack",
5
+ "Scene-04-20260416-C3M2_Tcol_3-A01Export-06_c1-4_stack",
6
+ "Scene-05-20260416-C3M2_Pcol_2-A01Export-07_c1-4_stack",
7
+ "Scene-06-20260416-C3M2_Pcol_1-A01Export-08_c1-4_stack"
8
+
9
+ ]
10
+ }
models/finetuned/4stacks_5x5_norm/losses.json ADDED
@@ -0,0 +1,206 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "train_losses": [
3
+ 0.1470970908179879,
4
+ 0.14280604326010993,
5
+ 0.08668827597769753,
6
+ 0.06820661813214732,
7
+ 0.05847628867505894,
8
+ 0.05624830764524328,
9
+ 0.0894672537742493,
10
+ 0.05079159116256051,
11
+ 0.058009657344470424,
12
+ 0.06252908549077499,
13
+ 0.0721242892034934,
14
+ 0.07878532054174381,
15
+ 0.0711975631431172,
16
+ 0.06201121828848651,
17
+ 0.04969973565467323,
18
+ 0.04221136723586824,
19
+ 0.057416409716825004,
20
+ 0.08007866989258522,
21
+ 0.06456684654345736,
22
+ 0.06983763948878428,
23
+ 0.0506325890251901,
24
+ 0.06917757960191617,
25
+ 0.06743577012229555,
26
+ 0.059784916142816655,
27
+ 0.06237870822864352,
28
+ 0.05623223176332734,
29
+ 0.0574417450351757,
30
+ 0.04434795874248569,
31
+ 0.04859505581621003,
32
+ 0.06306201783377521,
33
+ 0.06179325063324844,
34
+ 0.048228384820007096,
35
+ 0.04332713907555444,
36
+ 0.05172139843625094,
37
+ 0.050803053100729204,
38
+ 0.054533105639275166,
39
+ 0.046261301792304345,
40
+ 0.05348889923344056,
41
+ 0.0751100899282028,
42
+ 0.04439351665894113,
43
+ 0.04061061179895963,
44
+ 0.056366308493985946,
45
+ 0.044939486186000674,
46
+ 0.03928713157404369,
47
+ 0.08139273978051885,
48
+ 0.05066678731314217,
49
+ 0.05081006165884901,
50
+ 0.05350084146717563,
51
+ 0.062070576412855495,
52
+ 0.0531386282115515,
53
+ 0.054863547750962124,
54
+ 0.057854709778330286,
55
+ 0.07938782613035679,
56
+ 0.06576605394288587,
57
+ 0.0548466194991488,
58
+ 0.07464743239455857,
59
+ 0.048097253193554936,
60
+ 0.06723481159977382,
61
+ 0.057492569981550334,
62
+ 0.04713209259993164,
63
+ 0.050328729118336926,
64
+ 0.03485392045695335,
65
+ 0.04680498436879134,
66
+ 0.061053627264336684,
67
+ 0.05057701545001085,
68
+ 0.03443690091274523,
69
+ 0.054374227461618525,
70
+ 0.0506487723296353,
71
+ 0.034474156267242505,
72
+ 0.0714527938311221,
73
+ 0.045786460238256645,
74
+ 0.05448499069723766,
75
+ 0.07655500041815685,
76
+ 0.05475753917834178,
77
+ 0.06604362122142145,
78
+ 0.053723814981834345,
79
+ 0.04298036513248614,
80
+ 0.07201862307760167,
81
+ 0.062164929657010363,
82
+ 0.0716463479482142,
83
+ 0.05063831342005869,
84
+ 0.05164919118610366,
85
+ 0.04755301324485724,
86
+ 0.05350877836657067,
87
+ 0.04738918868262165,
88
+ 0.05157914667952961,
89
+ 0.05688467302922315,
90
+ 0.05879420917675209,
91
+ 0.04353352682024706,
92
+ 0.05980892521076991,
93
+ 0.05784763035577877,
94
+ 0.05719790937699145,
95
+ 0.06058727096785636,
96
+ 0.05236009782839877,
97
+ 0.05439545734358641,
98
+ 0.04226019134143522,
99
+ 0.06617063626094023,
100
+ 0.03543460139151042,
101
+ 0.03907904096946974,
102
+ 0.028261175126341794
103
+ ],
104
+ "val_losses": [
105
+ 0.20270178876817227,
106
+ 0.0,
107
+ 0.0,
108
+ 0.0,
109
+ 0.0,
110
+ 0.05480176730197854,
111
+ 0.0,
112
+ 0.0,
113
+ 0.0,
114
+ 0.0,
115
+ 0.05781135312397964,
116
+ 0.0,
117
+ 0.0,
118
+ 0.0,
119
+ 0.0,
120
+ 0.0,
121
+ 0.0,
122
+ 0.0,
123
+ 0.0,
124
+ 0.0,
125
+ 0.04780416376073845,
126
+ 0.0,
127
+ 0.0,
128
+ 0.0,
129
+ 0.0,
130
+ 0.0,
131
+ 0.0,
132
+ 0.0,
133
+ 0.0,
134
+ 0.0,
135
+ 0.047801945098908616,
136
+ 0.0,
137
+ 0.0,
138
+ 0.0,
139
+ 0.0,
140
+ 0.0,
141
+ 0.0,
142
+ 0.0,
143
+ 0.0,
144
+ 0.0,
145
+ 0.049854809293174186,
146
+ 0.0,
147
+ 0.0,
148
+ 0.0,
149
+ 0.0,
150
+ 0.0,
151
+ 0.0,
152
+ 0.0,
153
+ 0.0,
154
+ 0.0,
155
+ 0.044820896815217566,
156
+ 0.0,
157
+ 0.0,
158
+ 0.0,
159
+ 0.0,
160
+ 0.0,
161
+ 0.0,
162
+ 0.0,
163
+ 0.0,
164
+ 0.0,
165
+ 0.04211683547677239,
166
+ 0.0,
167
+ 0.0,
168
+ 0.0,
169
+ 0.0,
170
+ 0.0,
171
+ 0.0,
172
+ 0.0,
173
+ 0.0,
174
+ 0.0,
175
+ 0.041883666682406326,
176
+ 0.0,
177
+ 0.0,
178
+ 0.0,
179
+ 0.0,
180
+ 0.0,
181
+ 0.0,
182
+ 0.0,
183
+ 0.0,
184
+ 0.0,
185
+ 0.04192465856205672,
186
+ 0.0,
187
+ 0.0,
188
+ 0.0,
189
+ 0.0,
190
+ 0.0,
191
+ 0.0,
192
+ 0.0,
193
+ 0.0,
194
+ 0.0,
195
+ 0.042008217318507374,
196
+ 0.0,
197
+ 0.0,
198
+ 0.0,
199
+ 0.0,
200
+ 0.0,
201
+ 0.0,
202
+ 0.0,
203
+ 0.0,
204
+ 0.0
205
+ ]
206
+ }
models/finetuned/4stacks_5x5_norm/losses.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d4df625a7e50306874fa201b53d021394370498ea6eea8a7cecfb25d1ef5e63f
3
+ size 2130
models/finetuned/4stacks_5x5_norm/models/cpsam_4stacks_5x5_norm ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3a02909a208a34629f4e8a6a89e5f357bb75916e3ad5dfa6cf33952f272f7af1
3
+ size 1218645236
models/finetuned/4stacks_5x5_norm/run_info.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "run_name": "4stacks_5x5_norm",
3
+ "date": "2026-04-24",
4
+ "annotated_stacks": [
5
+ "Scene-01-20260416-C3M2_Tcol_1-A01Export-01_c1-4_stack",
6
+ "Scene-04-20260416-C3M2_Tcol_3-A01Export-06_c1-4_stack",
7
+ "Scene-05-20260416-C3M2_Pcol_2-A01Export-07_c1-4_stack",
8
+ "Scene-06-20260416-C3M2_Pcol_1-A01Export-08_c1-4_stack"
9
+ ],
10
+ "train_stacks": [
11
+ "Scene-01-20260416-C3M2_Tcol_1-A01Export-01_c1-4_stack",
12
+ "Scene-04-20260416-C3M2_Tcol_3-A01Export-06_c1-4_stack",
13
+ "Scene-06-20260416-C3M2_Pcol_1-A01Export-08_c1-4_stack"
14
+ ],
15
+ "val_stacks": [
16
+ "Scene-05-20260416-C3M2_Pcol_2-A01Export-07_c1-4_stack"
17
+ ],
18
+ "n_train_patches": 75,
19
+ "n_val_patches": 25,
20
+ "n_cells_total": 3913,
21
+ "n_epochs": 100,
22
+ "ap_base": 0.6406,
23
+ "ap_finetuned": 0.7243,
24
+ "model_path": "D:\\cellpose-biosensor\\cellpose-biosensor\\models\\finetuned\\4stacks_5x5_norm\\models\\cpsam_4stacks_5x5_norm",
25
+ "losses_npz": "D:\\cellpose-biosensor\\cellpose-biosensor\\models\\finetuned\\4stacks_5x5_norm\\losses.npz",
26
+ "losses_json": "D:\\cellpose-biosensor\\cellpose-biosensor\\models\\finetuned\\4stacks_5x5_norm\\losses.json"
27
+ }
models/finetuned/5stacks/models/cpsam_5stacks ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e880368794b885b471f89c81f6b6272f7bd7af51dce8393131f739710467d594
3
+ size 1218641986
models/finetuned/5stacks/run_info.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "run_name": "5stacks",
3
+ "date": "2026-04-21",
4
+ "annotated_stacks": [
5
+ "Scene-01-20260416-C3M2_Tcol_1-A01Export-01_c1-4_stack",
6
+ "Scene-04-20260416-C3M2_Tcol_3-A01Export-06_c1-4_stack",
7
+ "Scene-05-20260416-C3M2_Pcol_2-A01Export-07_c1-4_stack",
8
+ "Scene-06-20260416-C3M2_Pcol_1-A01Export-08_c1-4_stack",
9
+ "Scene-09-20260416-C3M2_Dcol_3-A01Export-11_c1-4_stack"
10
+ ],
11
+ "train_stacks": [
12
+ "Scene-01-20260416-C3M2_Tcol_1-A01Export-01_c1-4_stack",
13
+ "Scene-04-20260416-C3M2_Tcol_3-A01Export-06_c1-4_stack",
14
+ "Scene-05-20260416-C3M2_Pcol_2-A01Export-07_c1-4_stack",
15
+ "Scene-09-20260416-C3M2_Dcol_3-A01Export-11_c1-4_stack"
16
+ ],
17
+ "val_stacks": [
18
+ "Scene-06-20260416-C3M2_Pcol_1-A01Export-08_c1-4_stack"
19
+ ],
20
+ "n_train_patches": 35,
21
+ "n_val_patches": 8,
22
+ "n_cells_total": 4641,
23
+ "n_epochs": 100,
24
+ "ap_base": 0.8845,
25
+ "ap_finetuned": 0.8417,
26
+ "model_path": "D:\\cellpose-biosensor\\cellpose-biosensor\\models\\finetuned\\5stacks\\models\\cpsam_5stacks"
27
+ }
models/finetuned/latest_model_path.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ D:\cellpose-biosensor\cellpose-biosensor\models\finetuned\4stacks_5x5_norm\models\cpsam_4stacks_5x5_norm