EPN-V2

ACIT4710 Digital Signal and Image Processing Course description

Course name in Norwegian
Digital Signal and Image Processing
Study programme
Master's Programme in Applied Computer and Information Technology
Weight
10.0 ECTS
Year of study
2023/2024
Course history

Introduction

Signal processing defines the mathematical tools used to analyze, model and operate on measured data from physical signals and their sources. In digital signal processing (DSP) the following topics are lectured: the different domains for describing discrete signals and linear time invariant systems, digital filters and frequency analysis. Images are two-dimensional signals and similar analytic methods apply. 

Recommended preliminary courses

It is recommended that students have some background knowledge in:

1) mathematics: calculus, linear algebra, statistics and probability theory, and numeric optimization

2) programming language in Python, Matlab or R

3) machine learning and/or data mining.

Required preliminary courses

Computational Intelligence is concerned with modern, bio-inspired approaches to artificial intelligence (AI) and is an umbrella term for the fields of neural networks (NN), fuzzy systems (FS) and evolutionary computation (EC). This course offers a comprehensive and systematic introduction to the fundamental concepts, principles, and methods in the three fields, a part of machine learning and deep learning, and several advanced topics (neuro-fuzzy systems, neuro-evolution, or fuzzy clustering). The course will illustrate major CI concepts, principles and methods using various application examples in engineering, biomedicine and business. In addition, the overview, history, state-of-the-art, and future trends of AI and CI field will be covered. The main modules for lectures include:

  • AI and CI: Overview and history
  • Fundamentals of neural networks
  • Introduction to deep learning
  • Fuzzy sets, logic and systems
  • Topics in evolutionary computation
  • Advanced topics
  • AI and CI: State-of-the-art and future

Learning outcomes

We are witnessing the era of Big Data where data is generated, collected, and processed at an unprecedented scale and data-driven decisions influence many aspects of modern life.

Data mining is the process of discovering patterns in large data sets involving methods in statistics and database systems. A large number of applications such IoT sensors generate large amounts of data streams. The necessity of data stream mining and learning from the data is increasingly becoming more prevalent and urgent.

Extracting knowledge from data sets requires not only computational power but also programming abstractions as well as analytical skills. In this course, the students will be exposed to the different approaches for data mining and stream processing such as association rules learning, anomaly detection, data clustering, visualizations, and extracting statistical features on the fly from large data streams. The students will be exposed to concrete data mining and neural network architectures including deep learning models for handling large data streams such as convolutional neural networks, recurrent neural networks, autoencoders, transformers and attentions. In this course, the student will also be exposed to different data mining systems, working end-to-end pipelines including performance evaluation, detecting overfitting, underfitting, and data defects. With a focus on data mining applications, we will study some powerful numerical linear algebra methods.

Content

Professor Anis Yazidi

Teaching and learning methods

No formal requirements over and above the admission requirements.

Course requirements

The student should have the following outcomes upon completing the course:

Knowledge

Upon successful completion of the course, the student:

  • has a deep understanding of how data mining can be used to extract knowledge from data sets.
  • has advanced knowledge of the different data mining algorithms

Skills

Upon successful completion of the course, the student:

  • can design and implement data mining algorithms
  • can deploy different data mining systems and configure them
  • can utilize a specialized library for data mining

General competence

Upon successful completion of the course, the student:

  • can use data mining systems to mine data
  • can analyse data mining solutions with regard to robustness and in relation to his/her intended tasks
  • can explain how data mining can be used in different applications areas such as business analytics

Assessment

This course is divided into two parts. The first part with focus on covering the principles of data mining and stream processing. Different seminars will be given on the different methodological aspects of data mining and stream processing as well as the programming paradigms and software tools that enable them.

The second part will focus on the students completing a programming project. The project can be chosen from a portfolio of available problems. The student will work in a group on the project and submit a final code-base with a report.

During this part, there may be lectures if needed, but most of the time will be spent on individual supervision of students in lab-sessions.

Practical training

Lab sessions.

Permitted exam materials and equipment

None.

Grading scale

Grade scale: A-F.

Examiners

Two examiners. External examiner is used periodically.

Course contact person

Professor Jianhua Zhang