Skip to:

MSU/USDA-ARS AI Workshops

Image processing using classical machine learning and deep learning

Workshop I:

Introduction to Image Processing and Classical Machine Learning

Module 1: Short Review of Python Basics / Anaconda / Juypter
  • Python basics
  • Jupyter notebooks
  • Basic python commands, loop structures, etc.
  • Some useful python packages: tensorflow, numpy, matplotlib, scipy
  • Managing environments with Conda
Module 2: Image Processing Fundamentals
  • How cameras capture imagery
  • Image representations
  • Reading and displaying images
  • Displaying important image characteristics
  • Image augmentations: Color transformations, cropping, resizing, rotating, flipping, patches
  • Filtering
Module 3: Classical Machine Learning Fundamentals (image processing applications)
  • Machine learning methods
  • Unsupervised, semi-supervised, supervised learning
  • Reinforcement Learning
  • Hand crafted feature extraction
  • Classifers
    • K-Neiarest Neighbors Classifier
    • Support Vector Machine
    • Linear classifier
    • Kernel classifier
    • Decision boundaries
  • Regression
    • Linear
    • Non-linear
    • Multi-variable
  • Neural Networks
    • Physical Motivation
    • Basic Architecture and Components
    • Backpropagation in Neural Network
  • Data Curation
    • Split the dataset into training, validation, and test data Labeling
    • Cross validation Method/Leave-one-out
    • Bad data?
  • Assessing Results
    • Overall accuracy (classifier)
    • MSE, RMSE, r-squared (regression)
    • Over and under fitting
Day 1
10:00 AM - 10:20 AM Welcome and presenter introductions
10:20 AM - 11:00 AM Module 1: Short Review of Python Basics / Anaconda / Juypter
11:00 AM - 11:10 AM Break
11:10 AM - 12:00 AM Module 1: Short Review of Python Basics / Anaconda / Juypter (cont.)
Module 2: Image Processing Fundamentals
12:00 AM - 1:00 PM Lunch Break
1:00 PM - 2:00 PM Module 2: Image Processing Fundamentals (cont)
2:00 PM - 2:10 PM Break
2:10 PM - 3:00 PM Module 2: Image Processing Fundamentals (cont)
3:00 PM - 3:10 PM Break
3:10 PM - 3:50 PM Module 3: Classical Machine Learning Fundamentals
3:50 PM - 4:00 PM Wrap up
Day 2
10:00 AM - 11:00 AM Module 3: Classical Machine Learning Fundamentals
11:00 AM - 11:10 AM Break
11:10 AM - 12:00 AM Module 3: Classical Machine Learning Fundamentals (cont)
12:00 AM - 1:00 PM Lunch Break
1:00 PM - 2:00 PM Module 3: Classical Machine Learning Fundamentals (cont)
2:00 PM - 2:10 PM Break
2:10 PM - 3:00 PM Module 3: Classical Machine Learning Fundamentals (cont)
3:00 PM - 3:10 PM Break
3:10 PM - 3:50 PM Module 3: Classical Machine Learning Fundamentals (cont)
3:50 PM - 4:00 PM Wrap up
Workshop II:

Advanced Topics in Deep Learning

Module 1: GPU, CPU, TPU for Deep learning training
  • What is a CPU, GPU, TPU?
  • Why GPU is faster than CPU?/Architectural Differences
  • How to use GPUs to train Deep Learning models
  • Using the NOAA CPU cluster
Module 2: Deep Learning Fundamentals
  • Animal basis for Neural Networks and Convolutional Neural Networks (CNNs)
  • Tensorflow
    • What is TensorFlow?
    • Basic model creation (sequential)
    • Functional form of model
  • Basic blocks in a convolutional neural network
    • Convolution
    • Activations
    • Pooling
    • Transposed convolution: review of matrix convolution
    • Fully connected
    • Softmax
  • Types of networks
    • Regression
    • Classification
    • Object detection - bounding box, mask (region detection)
    • Semantic segmentation
  • Neural Network backpropagation
  • Loss terms
    • MSE
    • Binary and categorical Cross-Entropy
    • Dice
  • Optimization
    • SGD
    • Adam
  • Regularization
    • Batch Normalization
    • L1 and L2 loss
    • Dropout
  • Examples of networks
    • AlexNet
    • YOLO
    • RCNN
    • UNet
  • Training and testing
    • Assessing performance
    • Overfitting
    • Underfitting
    • Loss
    • Accuracy / MSE
  • Loading and saving trained models
Module 3: Visualizing Deep Learning Networks
  • Printed summaries of network architectures
  • Plots of network connections
  • Visualizing activations
  • Pulling from outputs
  • T-SNE
Day 1
10:00 AM - 10:20 AM Welcome and presenter introductions
10:20 AM - 11:00 AM Module 1: GPU, CPU, TPU for Deep learning
11:00 AM - 11:10 AM Break
11:10 AM - 12:00 AM Module 1: GPU, CPU, TPU for Deep learning (cont.)
Module 2:
12:00 AM - 1:00 PM Lunch Break
1:00 PM - 2:00 PM Module 2: Basics of Neural Networks and Deep Learning
2:00 PM - 2:10 PM Break
2:10 PM - 3:00 PM Module 2: Basics of Neural Networks and Deep Learning (cont)
3:00 PM - 3:10 PM Break
3:10 PM - 3:50 PM Module 2: Basics of Neural Networks and Deep Learning (cont)
3:50 PM - 4:00 PM Wrap up
Day 2
10:00 AM - 11:00 AM Module 2: Basics of Neural Networks and Deep Learning (cont)
11:00 AM - 11:10 AM Break
11:10 AM - 12:00 AM Module 2: Basics of Neural Networks and Deep Learning (cont)
12:00 AM - 1:00 PM Lunch Break
1:00 PM - 2:00 PM Module 3: Training and Testing a Neural Network
2:00 PM - 2:10 PM Break
2:10 PM - 3:00 PM Module 3: Training and Testing a Neural Network (cont)
3:00 PM - 3:10 PM Break
3:10 PM - 3:50 PM Module 3: Training and Testing a Neural Network (cont)
3:50 PM - 4:00 PM Wrap up
Day 3
10:00 AM - 11:00 AM Module 4: Visualizing Deep Learning Networks
11:00 AM - 11:10 AM Break
11:10 AM - 12:00 AM Module 4: Visualizing Deep Learning Networks
12:00 AM - 1:00 PM Lunch Break
1:00 PM - 2:00 PM Module 4: Visualizing Deep Learning Networks
2:00 PM - 2:20 PM Wrap Up