PhytoVision
EfficientNetV2-L
Mixed FP16 · A100
Logit-Adjusted CE
Balanced Sampling

Phytoplankton
Classification

Deep-learning pipeline for autonomous microscopy-based identification of 8–10 marine phytoplankton classes. Trained on 12,315 images across 2 library sources with two-stage fine-tuning and imbalance correction.

🌊
Total Images
0
↑ Library 1 + 2
🔬
Classes
0
8 active in training
Val Accuracy
0%
↑ Best epoch 7 / Stage 2
Parameters
118M
662K trainable
F1
Macro F1
0.50
110× class imbalance
01
Dataset Overview
Class distribution and composition across merged libraries
Class Distribution — Library 1 (8 classes)
Balance Ratio
110× imbalance
Sqrt sampling
Stratified split
Multi-Library
Library 110,473 img
Library 21,842 img
Combined12,315
Extra classesPennate Diatoms, Richelia
Split Details
Train8,378 (80%)
Validation2,095 (20%)
StrategyStratified
Steps/epoch262
Augmentation
RandomFlip horizontal
RandomRotation ±10%
RandomZoom ±10%
RandomTranslation ±6%
No contrast aug ← microscopy
02
Model Architecture
EfficientNetV2-L backbone · 384×384 · 118M params · Mixed FP16
Forward Pass — hover each block
Input
384×384×3
Augment
Flip·Rot·Zoom
Preprocess
ENv2 normalize
EfficientNetV2-L
117.7M · frozen S1
GAP
1280-dim
BN + Drop 0.4
1280-dim
Dense Swish
512-dim
Drop 0.3
512-dim
Logits fp32
8 classes out
Stage 1: Head only · LR 2e-4 · Cosine · 12ep
Stage 2: Top 5% unfrozen · LR 5e-6 · 10ep
Loss: SparseCatCE from_logits
Optimizer: AdamW · wd 1e-4
Batch 32 · Steps 262 · Mixed FP16
03
Training History
Stage 1 (ep 1–12) + Stage 2 fine-tune (ep 13–22) · 22 total epochs
Accuracy — Train vs Validation
Loss — Train vs Validation
Stage 1
Epochs1–12
Best val_acc59.86%
LR scheduleCosine 2e-4
TrainableHead only
Stage 2
Epochs13–22
Best val_acc60.62%
LRConst 5e-6
UnfrozenTop 5%
Best Val Accuracy
Epoch 19 of Stage 2
04
Model Evaluation
Confusion matrix · per-class F1 · 2,095 val samples
Confusion Matrix — hover cells for details
F1 Score — Radar
Per-Class Metrics — Precision / Recall / F1 / Support
ClassPrecisionRecallF1SupportF1 Bar
05
ESD Parameter Analysis
Equivalent Spherical Diameter · biovolume · carbon content derivations from CSV
Derivation Formulas — hover to explore
Biovolume
V = (π/6) × ESD³
Sphere approximation · µm³
Carbon Content
C = 0.109 × V^0.991
Menden-Deuer & Lessard 2000
Size Class
<2 · 2-20 · >20 µm
Pico · Nano · Micro
ESD (µm)
Biovolume (µm³)
Carbon (pgC/cell)
Aspect Ratio
📊
Awaiting CSV Import
ESD Distribution by Class
Box plots of Equivalent Spherical Diameter per class will render once CSV files are loaded from Google Drive.
esd_um
class_label
depth_m
date_collected
📈
Awaiting CSV Import
Biovolume vs Carbon Scatter
Scatter plot of per-cell biovolume vs estimated carbon content, coloured by species. Derived via Menden-Deuer & Lessard formula.
biovolume
carbon_pg
species
06
Geospatial Distribution
Sample collection coordinates — awaiting data from Anima
Ocean Sample Map — demo positions
Pacific · 24°N
Coordinate Data from Anima Pending
Cyanobacteria
Diatoms
Mixed
Unknown
📍
Station Metadata
Lat/Lon · depth · cruise ID · temp · salinity
lat
lon
depth_m
cruise_id
Expected Fields
Latitude / Longitude (decimal)
Sampling depth (m)
Collection date + cruise ID
Sea surface temp (°C)
Salinity (PSU)
07
Feature Histograms
Morphological and optical distributions — awaiting data from Yeshitha
Cell Size Distribution
0µm5µm10µm25µm50µm+
Awaiting — Yeshitha
Fluorescence Intensity
LowMedHigh
Awaiting — Yeshitha
Pixel Intensity (Grayscale)
064128192255
Awaiting — Yeshitha
08
Long Chain Finder
Identify and rank phytoplankton chains · connect CSV for live detection
Search Parameters
Set parameters and press Find Chains
Connect dataset CSV for live detection
💡 Long chains indicate nutrient limitation or colonial growth in Prochlorococcus
CSV required for real detections · demo data shown
PhytoVision · v9 · EfficientNetV2-L · TF 2.19.0 · A100
Session Active
🏠
Dashboard
📊
Dataset
Architecture
📈
Training
Evaluation
ESD
🗺
Geo
Chains