Diagnosis of Osteosarcoma Through CNN
Developed and trained a convolutional neural network to classify osteosarcoma from histopathology images, reaching roughly 82% accuracy.
- Role
- UCSB SRA Researcher
- Dates
- June 2023 — July 2023
- Capabilities
- Convolutional neural networks · Image classification · Research methodology · Model evaluation · Healthcare AI applications
01
Problem / Opportunity
Osteosarcoma diagnosis from histopathology images is traditionally manual and time-intensive — a well-trained model could help flag classifications faster and support pathologists.
02
Role & Team
Research Assistant (UCSB Summer Research Academy) — model development, training, and evaluation.
Co-authored with Aviva Wang and Amy Li. I built and trained the model and wrote the abstract and introduction; Aviva and I wrote the methods and results together; Amy compiled the references and reviewed prior work. Mentored by researchers at UC Santa Barbara through the Summer Research Academy.
03
Process & Timeline
Preprocessed and augmented 1,144 H&E-stained histopathology images (rotation, shifts, flips) from the Cancer Imaging Archive, split into a 7:2:1 train/validation/test set, then iterated on model architecture and image resolution to find a configuration that actually learned within the available compute before evaluating on held-out data.
04
Technical Approach
A custom convolutional neural network — three convolution + max-pool blocks (32 → 64 → 128 channels) followed by two dense layers with dropout and a softmax output — trained on images resized to 375 × 375, the point that preserved enough diagnostic detail without exceeding available memory.
05
Key Decisions
Chose to design a small custom CNN from scratch instead of fine-tuning a deeper pretrained model like VGG19, prioritizing a model that could actually finish training on the compute available. Spent significant time tuning the image resize dimensions specifically, landing on 375 × 375 pixels after testing showed that was the balance point.
06
Challenges & Iteration
Started with transfer learning on VGG19, matching prior state-of-the-art work, but kept running out of GPU on Google Colab with no realistic way to finish enough epochs on CPU. Switched to a smaller custom CNN, but the first version wasn't learning at all — just guessing one class for every image — because resizing down to 224 × 224 had thrown away too much detail. After testing several sizes under the same compute ceiling, 375 × 375 turned out to be the balance point. The next problem was overfitting, which dropout layers between the fully connected layers fixed.
07
Results & Outcomes
~82% classification accuracy on histopathology image data
Matched competitive results using a fraction of the layers and training epochs of deeper models
Reached 82.41% accuracy (0.81 weighted precision, 0.77 recall, 0.78 F1) using only 12 layers and 50 training epochs — a fraction of the resources used by comparable models like VGG19 (93.9% accuracy, 19 layers, 1,500 epochs) and MobileNetV2 (91%, 53 layers, 100 epochs). The model most often confused non-tumor images for viable tumors.
08
Reflection
The accuracy gap against deeper, pretrained models was the point, not a shortfall — the simplest model that still worked needed a fraction of the compute those models required to hit 90%+. It reframed how I think about tradeoffs in applied ML: sometimes the right benchmark isn't maximum accuracy, but the most accessible tool a pathologist could actually run.
09