Опубликован: 20.08.2013 | Уровень: для всех | Доступ: платный | ВУЗ: Новосибирский Государственный Университет
Введение в разработку мультимедийных приложений с использованием библиотек OpenCV и IPP Курс предусматривает ознакомление с основными задачами, моделями и методами создания мультимедийных приложений с акцентом на задачи компьютерного зрения и машинного обучения.
Лекционная часть курса расширяет кругозор слушателей в части алгоритмов решения ряда ключевых задач предметной области. Данная версия курса является вводной. Она предусматривает ознакомление с основными задачами, моделями и методами создания мультимедийных приложений с акцентом на задачи компьютерного зрения и машинного обучения. Отличительной особенностью курса является ориентация на практическое применение. Для этого авторами подготовлены подробные текстовые описания не только лекционной части, но и лабораторных работ, иллюстрирующих применение библиотек OpenCV и IPP для решения задач компьютерного зрения. Материалы лабораторного практикума включают коды программ, процесс пошаговой разработки которых описан в методических указаниях.
Необходимые знания: Предполагается, что слушатели курса владеют базовыми навыками программирования (основы алгоритмизации, алгоритмы и структуры данных, C/C++), а также знаниями математики в объеме первых двух курсов факультетов естественнонаучного профиля.

План занятий

ЗанятиеЗаголовок <<Дата изучения
-
Лекция 1
35 минут
Основные цветовые модели, представление изображения, базовые операции над изображениями
В лекции дается определение компьютерного зрения, рассматриваются области его применения. Рассматриваются вопросы формирования изображений. Приведена классификация изображений, а также описаны основные методы обработки изображений. Приводится характеристика основных цветовых пространств.
-
Тест 1
36 минут
-
Лекция 2
1 час 4 минуты
Введение в машинное обучение
В лекции рассматриваются основные задачи машинного обучения, приведены основные методы решения этих задач.
-
Тест 2
27 минут
-
Лекция 3
1 час 6 минут
Детекторы и дескрипторы ключевых точек. Алгоритмы классификации изображений. Задача детектирования объектов на изображениях и методы её решения
В лекции приводятся описание детекторов особых точек, дескрипторов особых точек, методах классификации изображений, методов детектирования объектов.
-
Тест 3
36 минут
-
Лекция 4
34 минуты
Начало работы с библиотекой OpenCV
В лекции приводятся: обзор библиотеки OpenCV, описание программ на C/C++ и Python.
-
Тест 4
18 минут
-
Лекция 5
17 минут
Введение в библиотеку IPP
В лекции приводится подробное описание структуры библиотеки IPP, модели ее использования. Описываются основные типы данных и функций, даны примеры работы с ними. Приведен пример создания приложения в среде MICROSOFT VISUAL STUDIO 2010.
-
Тест 5
24 минуты
-
Самостоятельная работа 1
1 час 52 минуты
Сборка и установка библиотеки OpenCV. Использование библиотеки в среде Microsoft Visual Studio
В работе предлагается описание возможных способов сборки и установки библиотеки OpenCV. Приводится последовательность действий, которые необходимо выполнить для настройки среды Microsoft Visual Studio при разработке приложений с использованием функций библиотеки. Далее рассматриваются некоторые элементарные операции обработки изображений, решается задача выделения контуров объекта и разрабатывается приложение с целью освоения этих элементарных операций. Описываются некоторые операции работы с видеоданными, рассматривается задача видеодетектирования лиц с использованием классификатора Хаара. Разрабатывается приложение, которое демонстрирует применение некоторых функций работы с видео, а также реализации указанного детектора, входящей в состав библиотеки OpenCV.
Оглавление
-
Самостоятельная работа 2
1 час 45 минут
Базовые операции обработки изображений
В работе предлагается описание базовых операций обработки изображений. Приводятся прототипы функций библиотеки OpenCV, содержащих реализацию рассматриваемых функций с описанием назначения входных параметров. Предлагаются примеры программ, демонстрирующие использование каждой функции. Проводится анализ результатов запуска этих программ на некоторых тестовых изображениях. Разрабатывается структура консольного графического редактора, который обеспечивает возможность применения рассматриваемых операций обработки изображений. Рассматривается структура графического редактора посредством использования Qt-компонент библиотеки OpenCV
Оглавление
-
Самостоятельная работа 3
1 час 35 минут
Машинное обучение
В работе приводится краткое описание некоторых алгоритмов классификации и кластеризации. Приводятся и описываются интерфейсы структур и классов, прототипы функций библиотеки OpenCV, реализующих рассматриваемые алгоритмы. Предлагаются примеры программ, демонстрирующие использование данных классов и функций. Приводятся результаты работы алгоритмов на модельных задачах. Разрабатывается структура приложений, для решения задач классификации и кластеризации.
Оглавление
-
Самостоятельная работа 4
1 час 9 минут
Классификация изображений с использованием bag-of-words методов
В работе предлагается описание основных шагов bag-of-words подхода для классификации изображений. Рассматриваются прототипы функций библиотеки OpenCV, необходимые для реализации данных шагов, с описанием назначения входных параметров. Предлагаются примеры подпрограмм, демонстрирующие использование каждой функции. Разрабатывается приложение, содержащее реализацию bag-of-words подхода для классификации двух категорий изображений. Проводится вычислительный эксперимент на наборе данных, применяемом на практике. Рассматривается зависимость результатов применения подхода от используемых параметров.
Оглавление
-
Самостоятельная работа 5
1 час 6 минут
Сборка и установка Intel® Integrated Performance Primitives. Использование библиотеки в среде Microsoft® Visual Studio
В работе предлагается описание процедуры установки библиотеки Intel® IPP в составе пакета Intel® Parallel Studio XE 2013. Приводится последовательность действий, которые необходимо выполнить для настройки среды Microsoft Visual Studio при разработке приложений с использованием функций библиотеки. Далее рассматривается задача медианной фильтрации изображения. Предлагается решение на базе библиотек OpenCV и Intel® IPP. Вводится задача определения прямых линий на изображении, описывается схема решения с использованием преобразования Хафа. Предлагается программные реализации на базе библиотек OpenCV и Intel® IPP.
Оглавление
-
Самостоятельная работа 6
47 минут
Сравнение производительности некоторых алгоритмов в библиотеках OpenCV и IPP
Работа построена следующим образом: в начале демонстрируется процесс разработки программного приложения, позволяющего единообразно орга-низовать запуск экспериментов по сравнению производительности. Далее поясняется, как можно выполнить сравнение для алгоритмов медианной фильтрации, эрозии, дилатации, построения гистограммы. Приводятся ре- зультаты первых прикидочных экспериментов, даются рекомендации и задания для самостоятельной проработки.
Оглавление
-
5 часов
-
Александра Максимова
Александра Максимова

При прохождении теста 1 в нем оказались вопросы, который во-первых в 1 лекции не рассматривались, во-вторых, оказалось, что вопрос был рассмаотрен в самостоятельно работе №2. Это значит, что их нужно выполнить перед прохождением теста? или это ошибка?
 

Алена Борисова
Алена Борисова

В лекции по обработке полутоновых изображений (http://www.intuit.ru/studies/courses/10621/1105/lecture/17979?page=2) увидела следующий фильтр:


    \begin{array}{|c|c|c|}
    \hline \\
    0 & 0 & 0 \\
    \hline \\
    0 & 2 & 0 \\
    \hline \\
    0 & 0 & 0 \\
    \hline 
    \end{array} - \frac{1}{9} \begin{array}{|c|c|c|}
    \hline \\
    0 & 0 & 0 \\
    \hline \\
    0 & 1 & 0 \\
    \hline \\
    0 & 0 & 0 \\
    \hline 
    \end{array}

В описании говорится, что он "делает изображение более чётким, потому что, как видно из конструкции фильтра, в однородных частях изображение не изменяется, а в местах изменения яркости это изменение усиливается".

Что вижу я в конструкции фильтра (скорее всего ошибочно): F(x, y) = 2 * I(x, y) - 1/9 I(x, y) = 17/9 * I(x, y), где F(x, y) - яркость отфильтрованного пикселя, а I(x, y) - яркость исходного пикселя с координатами (x, y). Что означает обычное повышение яркости изображения, при этом без учета соседних пикселей (так как их множители равны 0).

Объясните, пожалуйста, как данный фильтр может повышать четкость изображения?

Сергей Кротов
Сергей Кротов
Россия
Дмитрий Донсков
Дмитрий Донсков
Россия, Москва, Московский Авиационный Институт