IT-Universitetet i København
  Tilbage Kursusoversigt
Kursusnavn (dansk):Introduction to Graphics and Image Analysis 
Kursusnavn (engelsk):Introduction to Graphics and Image Analysis 
Semester:Forår 2016 
Udbydes, softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:7,50 
Min. antal deltagere:12 
Forventet antal deltagere:30 
Maks. antal deltagere:45 
Formelle forudsætninger:Basic ability to program in some imperative programming language (Java, Python, C/C++/C#. This is normally obtained by following the first semester undergraduate course Grundlæggende Programmering (GPP).

You also need to know basic mathematical concepts (vectors, differentiation) known from your high school education.

The course is intended for both bachelor and master students. 
Læringsmål:After completing this course, the students should be able to:

- Define, describe and relate concepts and mechanisms underpinning CV and CG methods.

- Analyze and explain key aspects of building medium-sized computer vision applications.

- Explain, design and implement medium-sized interactive computer graphics and computer vision applications (e.g. in C# or python).

-Explain the differences and commonalities of CG and CG and how these techniques can be combined.

- Evaluate, select and adapt appropriate computer vision and graphics techniques by applying the theoretical concepts and practical techniques from the course.

- Clearly explain and employ basic linear algebra for computer vision and computer graphics.

- Describe how GPUs can be applied in computer graphics and computer vision application and identify the challenges of using GPUs in these domains.

- Apply the theory and implement rudimentary research papers within CV and CG. 
Fagligt indhold:The objectives of this course are to provide students with the fundamental knowledge, comprehension, and skills required to design, build, and evolve smaller computer vision (CV) and computer graphics applications (CG).

Computer vision (image analysis) and computer graphics play decisive roles in our society in relation to automated processes in industry and in our daily lives. The dramatic increase of cameras in mobile devices and other consumer products (QRCodes, Kinnect and many others) makes it evident that developing applications based on efficient and accurate techniques are needed to keep up with the large amounts of data produced by cameras.
2D and 3D compute graphics (CG) on the other hand has been an integral part of our daily interaction with computers and (obviously) has a huge application domain (games, displays etc.), but has also lead to the developments of GPU’s. While seemingly different, computer vision / image analysis and computer graphics have quite a lot in common. The basic commonalities and difference between CV and CG will be covered in the course.
The objectives of this course are to provide students with the fundamental knowledge, comprehension, and skills required to design and build smaller computer vision and computer graphics applications on e.g. a PC or a mobile phone.
Through the course the student should be able to use the technique in more advanced topics on game engines, graphics, computer vision and pervasive computing. The course is an intruductory course to the basics of computer vision and computer graphics and the intention is that the student will have sufficient knowledge to follow more advanced courses on game engines, graphics, computer vision and object recognition.

The course gives an introduction to computer graphics, computer vision/image analysis, linear algebra and GPU programming. In the course we will present the fundamental models used for CV and CG as well as techniques to implement them. You will in the exercises and mandatory assignments be getting hands-on experience with the techniques described during the lectures. In the exercises we will use images from digital cameras and web cameras to illustrate the theory. Web cameras can be borrowed.

In particular we will describe

• Pixel-based and local processing of images (smoothing, edges, conversion between color spaces) and Color image processing.
•Segmentation and object recognition and a brief introduction to machine learning
•Geometric transformations (2D and 3D)
•Cameras, Stereo, structured light (Kinnect).
•Texture-mapping, shadows, hidden surface removal and lighting
•Basics of GPU programming.

Python will the main platform for the course yet students may chose to use C#. 
Læringsaktiviteter:14 ugers undervisning bestående af forelæsninger og øvelser

14 lectures + 14 exercise sessions. 4 mandatory homework will be given through-out the semester. Mandatory assignments will be handed in and used by the student in the exam

We will spend 6 hours a week on lectures and exercises. There will be assignment reaching beyond the exercise hours.

You are expected to work systematically. The course gives plenty of opportunities in the guided exercise session to gain hands-on experience with solving problems and with implementing algorithms in Python (or C# as the student desires).

We will be using sections from various references for the teaching material. 

Obligatoriske aktivititer:Content


This course has 4 mandatory assignments, that need to be completed/approved before being eligible to register for the examination.


What if the student fails to pass a mandatory activity:

Be aware: The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt. 
Eksamensform og -beskrivelse:D22: Aflevering med mundtlig eksamen suppleret af aflevering., (7-scale, external exam)

Hand-in report, programme code and result: video/pictures
The duration of this oral exam is 30 minutes.  

Litteratur udover forskningsartikler:Various notes