Skip to content
/ ECE4076 Public

Interactive class notebooks for ECE4076 Computer Vision.

License

Notifications You must be signed in to change notification settings

mgb45/ECE4076

Repository files navigation

ECE4076/5176 Computer Vision

Interactive class notebooks for ECE4076/5176 Computer Vision at Monash University.

This repository contains in-class activities using Jupyter notebooks alongside pre-recorded lectures, paired with laboratory sessions where students implement related concepts. The course covers both classical computer vision and modern deep learning methods.


Course Content

Main Weeks

  • Week 1: Image handling and basic manipulation, high dimensional signals
  • Week 2: Image filtering, Difference of Gaussians, Keypoint Detection, Patch Matching
  • Week 3: Invariances and image transformations, asymmetric feature matching
  • Week 4: Camera models and homography estimation using RANSAC
  • Week 5: Camera projection, vanishing points and lines
  • Week 6: Multiple view geometry, space carving
  • Week 7: Clustering and Gaussian mixture models
  • Week 8: Logistic regression and face detection
  • Week 9: Understanding gradient descent
  • Week 10: Object detection with AlexNet and ResNets, Attention
  • Week 11: Object recognition with RCNNs and YOLO
  • Week 12: Image segmentation with U-Nets

Bonus Content

Additional material available in the bonus_content/ folder:

  • Vision Transformers
  • Variational Autoencoders
  • Vector Quantised Variational Autoencoders
  • Generative Adversarial Networks
  • CLIP (Contrastive Language-Image Pre-training)
  • Diffusion Models

Installation (5 minutes)

Warning: This installation will take a significant amount of disk space. If your hard drive is full, you may want to consider opening the notebooks in Google Colab instead and installing required packages as needed.

Prerequisites

  • Python 3.8+ - Download from python.org
    • Windows users: Check "Add Python to PATH" during installation
  • VS Code (recommended) - Download from code.visualstudio.com

Setup Steps

Step 1: Run the installer

Open Terminal/Command Prompt in this folder and run:

# Linux/macOS
chmod +x install.sh
./install.sh

# Windows
install.bat

Step 2: Open in VS Code

  • File → Open Folder → Select this ECE4076 folder
  • Wait for VS Code to load (~10 seconds)
  • Click "Install" when prompted to install recommended extensions

Step 3: Start a notebook

  • Click any .ipynb file in the Explorer panel
  • Select the ECE4076 kernel when prompted
  • You're ready to go!

Alternative: Command Line Only

If you prefer Jupyter in your browser:

# Activate environment
source ece4076_env/bin/activate      # Linux
. ece4076_env/bin/activate           # macOS
ece4076_env\Scripts\activate.bat      # Windows

# Start Jupyter
jupyter notebook

VS Code Features

Running Cells

Action Shortcut
Run cell Click ▶ or Ctrl+Alt+Enter
Run all cells View → Run All Cells
Run cells above Cell menu → Run Above

Troubleshooting

"Python is not installed"

Solution: Download and install from python.org

  • Windows: Check "Add Python to PATH" during installation
  • macOS: Use Homebrew: brew install python3
  • Linux: Use package manager: apt install python3 or yum install python3

Verify: python3 --version

"Permission denied" (Linux/macOS)

Error: bash: ./install.sh: Permission denied

Solution:

chmod +x install.sh
./install.sh

Installation hangs or takes too long

Solution: Be patient! PyTorch downloads can take time.

  • Check internet connection
  • If interrupted, run the script again—it resumes from where it left off
  • Ensure you have ~2GB free disk space

Python package issues (especially on Windows)

Solution: Use the conda-based installer instead:

# Linux/macOS
chmod +x install_conda.sh
./install_conda.sh

This creates a self-contained conda environment and avoids common dependency conflicts. Windows users: ensure conda is installed, then run the bash command above in a conda prompt or PowerShell.

"ModuleNotFoundError" when running notebooks

Solution: Make sure you're using the ECE4076 kernel

  1. In VS Code: Look for "Select Kernel" button (top right of notebook)
  2. Choose "ECE4076 (./ece4076_env/bin/python)"

If not available:

source ece4076_env/bin/activate  # Linux/macOS
python -m ipykernel install --user --name ece4076 --display-name "ECE4076"

"Kernel not found" in VS Code

Solution:

  1. Terminal → New Terminal (Ctrl+`)
  2. Run:
    source ece4076_env/bin/activate  # Linux/macOS
    python -m ipykernel install --user --name ece4076 --display-name "ECE4076"
  3. Reload VS Code (Ctrl+Shift+P → Reload Window)

"ImportError: No module named 'cv2'" or similar

Solution: Activate the environment before running notebooks

source ece4076_env/bin/activate      # Linux
. ece4076_env/bin/activate           # macOS
ece4076_env\Scripts\activate.bat      # Windows
jupyter notebook

Need to reinstall everything

# Linux/macOS
rm -rf ece4076_env
./install.sh

# Windows
Delete the ece4076_env folder manually
Then double-click install.bat

Still stuck?

  1. Check the error message—it often contains the solution
  2. Search the error online (Gemini, DeepSeek, GPT, etc.)
  3. Ask on our forums

Preparation

You may want to brush up on Python skills before starting. Check out this Python intro notebook.


Contributors & Acknowledgements

  • Michael Burke
  • Mehrtash Harandi
  • Aaron Choong
  • Haoyang Jiang
  • Week 5 based on an example from Tom Drummond

About

Interactive class notebooks for ECE4076 Computer Vision.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors