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.
- 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
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
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.
- Python 3.8+ - Download from python.org
- Windows users: Check "Add Python to PATH" during installation
- VS Code (recommended) - Download from code.visualstudio.com
Step 1: Run the installer
Open Terminal/Command Prompt in this folder and run:
# Linux/macOS
chmod +x install.sh
./install.sh
# Windows
install.batStep 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
.ipynbfile in the Explorer panel - Select the ECE4076 kernel when prompted
- You're ready to go!
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| Action | Shortcut |
|---|---|
| Run cell | Click ▶ or Ctrl+Alt+Enter |
| Run all cells | View → Run All Cells |
| Run cells above | Cell menu → Run Above |
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 python3oryum install python3
Verify: python3 --version
Error: bash: ./install.sh: Permission denied
Solution:
chmod +x install.sh
./install.shSolution: 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
Solution: Use the conda-based installer instead:
# Linux/macOS
chmod +x install_conda.sh
./install_conda.shThis 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.
Solution: Make sure you're using the ECE4076 kernel
- In VS Code: Look for "Select Kernel" button (top right of notebook)
- 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"Solution:
- Terminal → New Terminal (Ctrl+`)
- Run:
source ece4076_env/bin/activate # Linux/macOS python -m ipykernel install --user --name ece4076 --display-name "ECE4076"
- Reload VS Code (Ctrl+Shift+P → Reload Window)
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# Linux/macOS
rm -rf ece4076_env
./install.sh
# Windows
Delete the ece4076_env folder manually
Then double-click install.bat- Check the error message—it often contains the solution
- Search the error online (Gemini, DeepSeek, GPT, etc.)
- Ask on our forums
You may want to brush up on Python skills before starting. Check out this Python intro notebook.
- Michael Burke
- Mehrtash Harandi
- Aaron Choong
- Haoyang Jiang
- Week 5 based on an example from Tom Drummond