Overview

CSCI 3397/PSYC 3317 is an advanced undergraduate-level class covering both digital image processing (week 1-5) and state-of-the-art deep learning (week 6-15) methods to analyze biomedial images. There are four real-world case studies in BIO, MED, PSYC, and NEURO with hands-on coding experience.

Schedule

Theme Date Topic Materials Assignments

Module I: Digital Image Processing (DIP)

DIP Basics
[Week 1-2]
Wed, Jan. 18 Lec. 1: Introduction
Overview, logistics
Coding: Colab, Python
lab0 out
Fri, Jan. 20 Lec. 2: Image Formation
Digital image, biomedical images
Coding: Imageio, Matplotlib
Mon, Jan. 23 Lec. 3: Pixel-level Processing
Transfer function
Coding: NumPy
Wed, Jan. 25 Lec. 4: Patch-level Processing
Linear and nonlinear filtering
Coding: NumPy
lab0 due
ps1 out (dip)
Fri, Jan. 27 Lab 1: Numpy Basics
Maths review: linear algebra
DIP+2D Images
[Week 3-5]
Mon, Jan. 30 Lec. 5: Image Features
Edge, corner, texture
Task I: Region of Interest (ROI) Detection
  • [T] Chap. 4.2.3, 5.3, 5.10
Wed, Feb. 1 Case I (BIO): Microscopy Image Analysis
Guest: Dr. Clarence Yapp (@HMS)
Task II: Image Preprocessing lab1 due
Fri, Feb. 3 Lab 2: Registration Toolbox
Mon, Feb. 6 Lec. 6: Image Transformation
Image transformation
Coding: OpenCV
Task III: Image Registeration
  • [T] Chap. 10.1
Wed, Feb. 8 Lec. 7: Transformation Estimation
Feature matching, RANSAC
Task III: Image Registeration
  • [T] Chap. 10.2
lab2 due
Fri, Feb. 10 Lab 3: Registration Toolbox
Mon, Feb. 13 Lec. 8: Image Segmentation
Semantic: Otsu thresholding
Instance: connected component
Task IV: Object segmentation
  • [T] Chap. 6.1-6.5
ps1 due
Wed, Feb. 15 Lec. 9: Image Segmentation II
Instance: Watershed, Graph cut
Task IV: Object segmentation
  • [T] Chap 6.7, 8.1
lab3 due
Fri, Feb. 17 Lab 4: Segmentation Toolbox
Post-processing: Morphological operation
Analysis: Descriptive statistics

Module II: Deep Learning (DL)

DL Basics
[Week 6-9]
Mon, Feb. 20 Lec. 10: Machine Learning Overview
ML: pipeline, tasks
Coding: Scikit-learn
Overview fp team sign-up
ps2 out (dip+image)
Wed, Feb. 22 Lec. 11: Linear Regression
Layer: linear, polynomial feature
Optimization: least-square estimation
AlexNet: linear layer lab4 due
Fri, Feb. 24 Lab. 5: Unsupervised Learning
Kmeans, PCA
Mon, Feb. 27 Lec. 12: Linear Classification I
Layer: transfer function (sign, logistic)
AlexNet: loss layer fp team info due
Wed, Mar. 1 Lec. 13: Linear Classification II
Optimization: stochastic gradient descent
Code: Pytorch
AlexNet: model lab5 due
Fri, Mar. 3 Lab 6: BC Admission Classification
Softmax, Multilayer Perceptron
Pytorch: Dataloader
No Class (Happy Spring Break)
Mon, Mar. 13 Lec. 14: Multilayer Perceptron
Softmax
Layer: activation linear
AlexNet: non-linear layer fp check-in (in-person)
Wed, Mar. 15 Lec. 15: Convolutional Neural Networks
Layer: convolution, pooling
AlexNet: remaining layers ps2 due
Fri, Mar. 17 Lec. 16: Backpropagation
Backpropagation as dynamic programming
Mon, Mar. 20 Lec. 17: Deep Learning Review
MOLD
lab6 due
ps3 out (dl)
DL+2D Images
[Week 10-12]
Wed, Mar. 22 Case II (MED): Ultrasound Image Analysis
Guest: Prof. Jinhee Park (@BC)
Overview and applications fp proposal due
Fri, Mar. 24 Lec. 18: Image Prediction
3x3 Filter, BatchNorm, ResNet
lab7 due
Mon, Mar. 27 Lec. 19: Hacker's Guide
Wed, Mar. 29 Lec. 20: Object Detection
Problem setup, R-CNN
Target domain: bounding boxes fp check-in (data)
Fri, Mar. 31 Lec. 21: Object Detection II
Fast/Faster R-CNN, YOLO
lab8 due
Mon, Apr. 3 Lec. 22: Image Segmentation
FCN, Encoder-Decoder, UNet
Application: Fetal head segmentation ps3 due
Wed, Apr. 5 Lec. 23: Image Generation
GAN and conditional GAN
Target domain: natural images fp check-in (model)
lab9 due
ps4 out (dl+image)
No Class (Good Friday)
No Class (Easter Monday)
DL+Videos
[Week 13-14]
Wed, Apr. 12 Case III: (PSYC) Human Video Analysis
Guest: Prof. John Christianson (@BC)
Deep learning for PSYC
Overview and applications
Fri, Apr. 14 Lec. 24: Image Generation II
Style transfer and DALL.E
Tue, Apr. 18
(Mon class)
Lec. 25: Motion Estimation
Motion representation
Optical flow
lab10 due
Wed, Apr. 19 Lec. 26: Video Classification
Action recognition
Recurrent Neural Network
lab9 due
Fri, Apr. 21 Lec. 27: Object Tracking
Research presentation
Direct tracking
ps4 due
DL+3D Volumes
[Week 15]
Mon, Apr. 24 Case IV: (NEURO) Connectomics with Expansion Microscopy
Guest: Ruihan Zhang (PhD@MIT)
  • raw data -> measurement
fp check-in (in-person)
Wed, Apr. 26 Lec. 28: Volumetric Processing
Representation: voxel, point cloud, implicit surface
pointNet, NERF
Final Projects
[Week 15-18]
Fri, Apr. 28 Presentation I
fp slide due
Mon, May. 1 Presentation II
Wed, May. 3 Presentation III
Mon, May. 15 fp report/code due


Staff & Office Hours


Name Office hours
Donglai Mon/Tue 3-4pm @ 245 Beacon Rm. 528F
Gabriel Wed 1-2pm, Thu 1:30-2:30pm @ 245 Beacon Rm. 122
Michael Tue 2-3pm, Fri 4-5pm @ 245 Beacon Rm. 122
  • Office hours will take place in person (or Zoom if needed).
  • Donglai will hold additional one-on-one AMA office hours Tue 4-5pm/Wed 3-4pm (15-min by appointment)


Course information

This is a challenging course and we are here to help you become a more-AI version of yourself. Please feel free to reach out if you need help in any form.

1. Get help (besides office hours)

  • Dropbox: The lecture pdfs will be uploaded to Dropbox (follow the link) and you can ask questions there by making comments on the slides directly.
  • Discord: For labs/psets/final projects, we will create dedicated channels for you to ask public questions. If you cannot make your post public (e.g., due to revealing problem set solutions), please directly DM TAs or the instructor separately, or come to office hours. Please note, however, that the course staff cannot provide help debugging code, and there is no guarantee that they'll be able to answer last-minute homework questions before the deadline. We also appreciate it when you respond to questions from other students! If you have an important question that you would prefer to discuss over email, you may email the course staff, or you can contact the instructor by email directly.
  • Support: The university counseling services center provides a variety of programs and activities.
  • Accommodations for students with disabilities: If you are a student with a documented disability seeking reasonable accommodations in this course, please contact Kathy Duggan, (617) 552-8093, dugganka@bc.edu, at the Connors Family Learning Center regarding learning disabilities and ADHD, or Rory Stein, (617) 552-3470, steinr@bc.edu, in the Disability Services Office regarding all other types of disabilities, including temporary disabilities. Advance notice and appropriate documentation are required for accommodations.

2. Homework submission

All programming assignments are in Python on Colab, always due at midnight (11:59 pm) on the due date.
  • Install Colab on the browser: Sign in to your Google account, follow the [link] to the folder of assignments, click on lab0.ipynb, click on "Open with" and "Connect more apps", install "Colaboratory".
  • Submission: You need save a copy of the file in your own Google drive, so that you can save your edits. Afterwards, you can download the ipynb file and submit it to Canvas.
  • Lab (1 per week): Every lecture has a lab exercise to help you gain the hands-on understanding about the material. The lab on previous week's lectures is due on Wednesday. We will go through some code in class and you need to finish up the exercises.
  • Pset (4 in total): In each pset, we will build a working prototype for a biology lab or a healthcare startup.
  • Final project: (guideline) In lieu of a final exam, we'll have a final project. This project will be completed in small groups during the last weeks of the class. The direction for this project is open-ended: you can either choose from a list of project ideas that we distribute, or you can propose a topic of your own. A short project proposal will be due approximately halfway through the course. During the final exam period, you'll turn in a final report and give a short presentation. You may use an ongoing research work for your final project, as long it meets the requirements.

3. Academic policy

  • Late days: You'll have 10 late days each for labs and psets respectively over the course of the semester. Each time you use one, you may submit a homework assignment one day late without penalty. You are allowed to use multiple late days on a single assignment. For example, you can use all of your days at once to turn in one assignment a week late. You do not need to notify us when you use a late day; we'll deduct it automatically. If you run out of late days and still submit late, your assignment will be penalized at a rate of 10% per day. If you edit your assignment after the deadline, this will count as a late submission, and we'll use the revision time as the date of submission (after a short grace period of a few minutes). We will not provide additional late time, except under exceptional circumstances, and for these we'll require documentation (e.g., a doctor's note). Please note that the late days are provided to help you deal with minor setbacks, such as routine illness or injury, paper deadlines, interviews, and computer problems; these do not generally qualify for an additional extension.
  • Academic integrity: While you are encouraged to discuss homework assignments with other students, your programming work must be completed individually. You may not search for solutions online, or to use existing implementations of the algorithms in the assignments. Thus it is acceptable to learn from another student the general idea for writing program code to perform a particular task, or the technique for solving a mathematical problem, but unacceptable for two students to prepare their assignments together and submit what are essentially two copies of identical work. If you have any uncertainty about the application of this policy, please check with me. Failure to comply with these guidelines will be considered a violation of the University policies on academic integrity. Please make sure that you are familiar with these policies. We will use moss.pl tool to check each lab and pset for plagriasm detection.

4. Additional resource
Acknowledgements: This course is a biomedical version of CSCI 3343: Computer Vision with concrete biomedical image analysis applications. See the "Acknowledge" section in that class.