Lab in signal and image processing

EE-490(f)

Media

Media

This file is part of the content downloaded from Lab in signal and image processing.

These lab sessions are hands-on exercises focusing on the basics of image processing. The main objective is to learn how to use some important image processing libraries, namely OpenCV, numpy and TensorFlow, to perform image analysis tasks.

The lab will contain four main parts : 

  • Introduction to image processing and hand-crafted features
  • Object detection and recognition
  • Object tracking
  • Introduction to Deep Neural Network

You will practice each part through coding exercises in Python.

IMPORTANT NOTE: There is no dedicated lecture session for this course. All interactions will be done via Moodle and E-mails. TA office hours are available for each assignment on request.

Introduction

Dear all,

Welcome to the course "EE-490(f): Lab in signal and image processing". Please find below important information about the course.  

1. All labs use Python as the main programming language and Jupyter Notebooks for submissions.

2. The details on the environment to use and to install are online on the Moodle (See the next section).

3. You have to work by groups of two: 

  • Hard deadline (no submission after 23:59) as indicated in the assignment definition.
  • One notebook per group of two (Include both names in the first cell of the notebook.) but each member of the group must submit the notebook.
  • Remember to refresh your notebook and run everything before submitting. The notebooks submitted without running will not be evaluated!

4. Questions on the assignments : there is no specific hours assigned for this lab in your schedule. TAs office hours (On request)

  • Via forum (Moodle) for general questions on the assignments.
  • Via email (devavrat.tomar@epfl.ch) if necessary. 

5. Percentage of the total grade by assignment: 

  • Assignment 1: Introduction to Image Processing (20%) 
  • Assignment 2: Object Detection  (25%)
  • Assignment 3: Object Tracking (25%)
  • Assignment 4: Introduction to Deep Neural Network (30%)

Thank you,

We hope you will enjoy these labs.


Installation - Instructions

For these labs we'll need PythonOpenCV and the basic scientific packages. If you don't know how to install those on your platform, we recommend installing Anaconda, a distribution of the conda package and environment manager. Please follow the below instructions to install it.

  1. Go to https://www.anaconda.com/download and download the Python 3.x installer for platform (i.e. Windows, macOS, or Linux).
  2. Install with default options
  3. Open the Anaconda Prompt (e.g. from the Windows Start menu), or the Terminal for macOS and Linux users.
  4. We will create a conda virtual environment for this lab to keep dependencies required separate from your different projects. Create the IPLAB environment with: `conda create --name IPLAB python=3.8`
  5. Activate the environment with: `conda activate IPLAB`
  6. Install the required dependencies: `pip install opencv-contrib-python==3.4.17.61 matplotlib jupyter`
  7. Start Jupyter with `jupyter notebook` from the root folder of the lab. The command should open a new tab in your web browser.
  8. Edit and run the notebooks from your browser.


If a specific lab needs additional packages, instructions will be provided to install them accordingly.


Introduction to Image Processing

First assignment on "Introduction to Image Processing"


Object Detection and Recognition


Second assignment on "Object Detection and Recognition" 

Object Tracking

Third assignment on "Object Tracking" 

Introduction to Deep Neural Network