The course will include 8 homework assignments that must be completed within one week after they have been published on this page. Each homework is worth of 2 points. By correctly answering to all homework assignments you will earn 16 points. In order to take the exam you need at least 8 points.
Assignments are small tasks that you need to complete with Python together with OpenCV. The solutions are returned by email. Assignments can be made in groups of two students. For every assignment, there are instructions specifying what must be returned. The results are published on a web page with the student numbers (no names). Therefore, it is important that you include your student number in the report.
|21 Jan 19 at 23.59||
A1 - Camera calibration
|27 Jan 19 at 23.59||
A2 - Color spaces
|03 Feb 19 at 23.59||
A3 - Segmentation
|10 Feb 19 at 23.59||
A4 - Texture
|18 Feb 19 at 23.59||
A5 - Recognition
|24 Feb 19 at 23.59||
A6 - Motion
|03 Mar 19 at 23.59||
A7 - Hough transform
|10 Mar 19 at 23.59||
A8 - Triangulation
Jupyter notebooks can be downloaded from here.
Late homework policy
If you miss the deadline the amount of points will be reduced based the following rules:
Results for all assignments can be found here.
The programming assignments are delivered as browser-based Jupyter notebooks, which are documents containing both live code and rich text elements, like headers, paragraphs, equations, figures and links. In practice, this means that you should download the assignment notebook from this website and perform the requested image processing tasks in the reserved code shells, and answer the questions written in bold.
Naturally, it is possible to do the programming part with your favorite Python editor, etc. However, it is highly recommended to work directly on the provided notebooks because they provide detailed step-by-step instructions how to perform the image processing tasks, and you will have to put your code in the notebook form in the end anyway.
The easiest and recommended way of using Jupyter notebooks is to install Anaconda (Python 3.7 version) on your own computer. Anaconda is an open-source scientific package manager that includes all the packages you will use while making the programming assignments, including matplotlib, NumPy, SciPy, scikit-image and Jupyter.
For installation follow these instructions (use Python 3.7 version).
The assignments use some functions from OpenCV. In Anaconda, OpenCV can be installed by opening Anaconda Prompt and writing:
conda install -c menpo opencv
For those who do not want to install Anaconda to their computer, one option is to use the Jupyter notebooks provided by CSC. Here are brief instructions:
1. In a browser open the page and log in with Haka and the university credentials.
2. Select the environment Jupyter Machine Learning and press Launch new.
3. Press Open in browser to lauch the file manager view.
4. Press New and Terminal to open a terminal tab.
5. In the terminal write:
pip install opencv-python==220.127.116.11
pip install opencv-contrib-python==18.104.22.168
exit (and close the tab)
6. In the file manager view press New and Python 3 to launch a new notebook.
Notice! Lifetime of the notebooks is limited to 10 hours. You need to download your work before the time runs out.
Using Jupyter notebooks
To begin working with Jupyter notebooks, just navigate to the folder where you have downloaded the assignment files, and run a notebook served from command line (using terminal on Mac/Linux or command prompt on Windows) by typing:
This opens the Jupyter notebook dashboard in your web browser at your current working directory where you are able to open the interactive Python notebook (.ipynb) files.
For more detailed tutorial on Jupyter notebooks, please refer to this video, for instance.
For those who have not completed Digital Image Processing (521467A) it is highly recommended to go through the pre-tutorial notebooks to learn some basic functions and practices needed for making the programming assignments. Another resource for learning Python and Jupyter is the Course Introduction to Python notebook provided by CSC.
Instructions for the first week to get started with the programming exercise: