Skip to content

About

A workshop aimed at teaching researchers how to develop and implement computer vision models.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

CeR-computer-vision

Why Learn Computer Vision in Research?

Computer vision is a transformative technology that enables researchers to extract meaningful insights from visual data. In many fields, such as biology, medicine, environmental science, and engineering, visual data is abundant but underutilized. By learning computer vision, researchers can:

  • Automate repetitive tasks, such as image classification, object detection, and segmentation.
  • Analyze large datasets efficiently, enabling discoveries that would be impossible manually.
  • Enhance the reproducibility and scalability of their research workflows.
  • Apply cutting-edge techniques to solve domain-specific problems, such as disease diagnosis, ecological monitoring, or material analysis.
  • Stay competitive in a research landscape increasingly driven by data and machine learning.

This workshop equips researchers with the skills to harness computer vision for their unique challenges, empowering them to innovate and accelerate their research.

Lesson Plan

Lesson Structure (8 hours total)

Lesson Duration Topics
0: Setup & Foundations 20 min Jupyter setup, PyTorch import, GPU check
1: Image Fundamentals 30 min Images as arrays, basic transforms, visualization
2: Building Blocks of CNNs 60 min Convolutions, pooling, activation functions
3: Classification Pipeline 90 min DataLoader, augmentation, training loop, validation, testing, inference
4: Transfer Learning 75 min Pretrained models, fine-tuning, unfreezing layers, training on custom data
5: Working with Real Data 60 min Data preparation, class imbalance, debugging common issues
6: Hands-On Research Task 60 min Apply to provided research-adjacent dataset or bring-your-own
7: Model Saving & Loading 15 min Save/load checkpoints and trained models
Q&A/Wrap-Up 20 min Open Q&A, troubleshooting, next steps

Learning Objectives

  1. Understand the fundamentals of convolutional neural networks (CNNs) and how they process images.
  2. Load, preprocess, and augment image data for training.
  3. Train and evaluate image classification models.
  4. Use transfer learning effectively with pretrained models.
  5. Fine-tune models on custom datasets.
  6. Deploy basic computer vision models for inference.
  7. Diagnose and fix common training problems (e.g., overfitting, data imbalance).
  8. Document and reproduce experiments.

Tools Used

Category Tool Purpose
Core Framework PyTorch Deep learning, model building
Vision Library torchvision Pretrained models, datasets, transforms
Supporting NumPy, Pillow Array operations, image I/O
Notebooks Jupyter/Colab Interactive learning environment
Visualization Matplotlib, Tensorboard Training curves, predictions, debugging
Experiment Tracking Weights & Biases (W&B) OR MLflow Reproducibility, hyperparameter logging
Optional Depth OpenCV Advanced preprocessing, domain-specific ops
Deployment ONNX OR TorchScript Model export and inference

About

A workshop aimed at teaching researchers how to develop and implement computer vision models.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages