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.
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.