This site contains learning materials for two AI Workshops run by New Mexico State University Klipsch School of Electrical and Computer Engineering and the USDA Agricultural Research Service. Participants are introduced to basic concepts via powerpoint lecture and guided through hands-on programming in an interactive jupyter notebook framework. Participants are encouraged to actively modify and expand the provided python code, and to bring their own imagery for analysis.

  • AI Workshop 1: Intro to Image Processing, Classical Machine Learning, and Deep Learning

    This three-day workshop covers the basics of image processing, classical machine learning, and deep learning in python. Topics in image processing include the basics of image processing, including conventions of image representation, visualization, common transformations, and filtering operations. Topics in classical machine learning will include the basics of feature extraction and labels; training, testing, and validation; and common methods for image classification. Topics in deep learning will include the basics of convolutional neural networks; training, testing, and validation in deep learning; and transfer learning.

  • AI Workshop 2: Advanced Topics in Deep Learning for Image Proccessing

    This two-day workshop provides more in-depth exploration of some common deep learning architectures used in image processing. The first day covers methods to explore, visualize, and modify network architectures. The second day covers extensions to the convolutional neural network for such tasks as image segmentation, object detection, and spatio-temporal analysis.

Before you come

Before you come

Get your computer set up before class begins

Set me up!

Learn

Learn

Workshop lessons and exercises

View material

Archive

Archive

Older materials from previously taught sessions

View material

Learning Goals

By the end of Workshop 1 participants should be able to:

1) display and interpret grayscale and color images,
2) apply common image transforms and filters to images,
3) extract hand-designed features from an image dataset and format those features for use in machine learning,
4) apply common machine learning classifiers to an image dataset and assess performance,
5) define a convolutional neural network (CNN) for classification of images, including pre-processing of the input data, and
6) train and test a CNN for classification of images, including implementation of a simple transfer learning.

By the end of Workshop 2 participants should be able to:

1) visualize characteristics of a CNN to help interpret performance,
2) modify a CNN architecture for application to new data (application of more complex transfer learning), and
3) apply methods learned for classification CNNs to other forms of CNNs, e.g., image segmentation, object detection.