resnet18

Binary classifier for detecting cancer cell presence on micropatterns in phase contrast microscopy images.

Model description

Fine-tuned ResNet-18 (microsoft/resnet-18) that classifies 77x77 pixel grayscale crops as present (cancer cell on micropattern) or absent (empty micropattern). Part of the pipeline for analyzing T-cell killing assays.

Training

  • Base model: microsoft/resnet-18
  • Dataset: 420 manually annotated samples (28 crops x 15 timepoints) from a single position (Pos150)
  • Class balance: 60% present / 40% absent
  • Epochs: 20
  • Batch size: 32
  • Learning rate: 1e-4
  • Validation split: 20%
  • Training time: ~45 seconds on Apple Silicon

Performance

Metric Value
Accuracy 96.5%
F1 Score 0.97

Control validation (Pos140, no T-cells added)

  • 47/53 cells correctly classified as surviving all 50 timepoints
  • 6 false deaths (~11% false positive death rate)

Usage

from transformers import AutoImageProcessor, AutoModelForImageClassification
from PIL import Image

processor = AutoImageProcessor.from_pretrained("keejkrej/resnet18")
model = AutoModelForImageClassification.from_pretrained("keejkrej/resnet18")

image = Image.open("crop.png").convert("RGB")
inputs = processor(image, return_tensors="pt")
outputs = model(**inputs)

predicted_class = outputs.logits.argmax(-1).item()
label = model.config.id2label[predicted_class]  # "present" or "absent"

Input format

  • 77x77 pixel grayscale microscopy crops (uint16 normalized to uint8)
  • Converted to RGB (3-channel) before processing
  • Single micropattern site per crop

Labels

ID Label
0 absent
1 present
Downloads last month
68
Safetensors
Model size
11.2M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Evaluation results