МИНОБРНАУКИ РОССИИ
федеральное государственное бюджетное образовательное учреждение высшего образования
«Алтайский государственный университет»

Компьютерное зрение в прикладных задачах

рабочая программа дисциплины
Закреплена за кафедройКафедра вычислительной техники и электроники
Направление подготовки09.03.01. Информатика и вычислительная техника
ПрофильАлгоритмы искусственного интеллекта
Форма обученияОчная
Общая трудоемкость3 ЗЕТ
Учебный план09_03_01_Информатика и вычислительная техника_АИИ-2025
Часов по учебному плану 108
в том числе:
аудиторные занятия 42
самостоятельная работа 66
Виды контроля по семестрам
диф. зачеты: 6

Распределение часов по семестрам

Курс (семестр) 3 (6) Итого
Недель 18
Вид занятий УПРПДУПРПД
Лекции 16 16 16 16
Лабораторные 26 26 26 26
Сам. работа 66 66 66 66
Итого 108 108 108 108

Программу составил(и):
к.ф.-м.н, Доцент, Калачев А.В.

Рецензент(ы):
к.ф.-м.н, Доцент, Мансуров А.В

Рабочая программа дисциплины
Компьютерное зрение в прикладных задачах

разработана в соответствии с ФГОС:
Федеральный государственный образовательный стандарт высшего образования - бакалавриат по направлению подготовки 09.03.01 Информатика и вычислительная техника (приказ Минобрнауки России от 19.09.2017 г. № 929)

составлена на основании учебного плана:
09.03.01 Информатика и вычислительная техника
утвержденного учёным советом вуза от 26.06.2023 протокол № 4.

Рабочая программа одобрена на заседании кафедры
Кафедра вычислительной техники и электроники

Протокол от 27.06.2025 г. № 135/24-25
Срок действия программы: 2024-2025 уч. г.

Заведующий кафедрой
к.ф-м.н., Пашнев Владимир Валентинович, доц., зав. кафедрой "Вычислительной техники и электроники"


1. Цели освоения дисциплины

1.1.Дисциплина призвана познакомить с актуальными направлениями и проблемами развития технологий получения и обработки изображений, алгоритмов и приемов машинного зрения.
Задачи, которые реализует программа:
1. знакомство системами зрения;
2. знакомство с аппаратными средствами получения изображений;
3. изучение основ алоритмов обработки и анализа изображений;
4. изучение основ работы с библиотекой OpenCV.

2. Место дисциплины в структуре ООП

Цикл (раздел) ООП: Б1.В.01

3. Компетенции обучающегося, формируемые в результате освоения дисциплины

ПК-1Способен классифицировать и идентифицировать задачи искусственного интеллекта, выбирать адекватные методы и инструментальные средства решения задач искусственного интеллекта
ПК-1.1 Знать: основные определения искусственного интеллекта и систем искусственного интеллекта, историю развития науки об искусственном интеллекте, эволюцию и главные тренды систем искусственного интеллекта; классы решаемых задач с помощью систем искусственного интеллекта; основные параметры идентификации задач искусственного интеллекта: назначение, сфера применения, виды используемых знаний, временные аспекты решения задач.
ПК-1.2 Уметь: определять принадлежность проблемной и предметной областей к классу решаемых задач с помощью систем искусственное интеллекта и основные параметры идентификации задач систем искусственного интеллекта.
ПК-1.3 Владеть: Классифицирует и идентифицирует задачи систем искусственного интеллекта в зависимости от особенностей проблемной и предметной областей:
ПК-1.4 Знать: методы и инструментальные средства решения задач с использованием систем искусственного интеллекта в зависимости от особенностей проблемной области, критерии выбора методов и инструментальных средств решения интеллектуальных задач, подходы к выбору методов и инструментальных средств систем искусственного интеллекта, процесс, стадии и методологии разработки решений на основе искусственного интеллекта.
ПК-1.5 Уметь: осуществлять оценку критериев выбора методов и инструментальных средств решения задач с помощью систем искусственного интеллекта н выбор методов и инструментальных средств в зависимости от особенностей проблемной и предметной областей.
ПК-1.6 Владеть: Выбирает методы и инструментальные средства искусственного интеллекта для решения задач в зависимости от особенностей проблемной и предметной областей.
ПК-1.7 Знать: методы сбора и обобщения информации о проблемной области путем опроса экспертов, исходных данных о функционировании проблемной и предметной областей, документированных источников знании, а также формирования требований к системе искусственного интеллекта.
ПК-1.8 Уметь: осуществлять сбор и обобщение информации о проблемной области путем опроса экспертов, исходных данных о функционировании проблемной области, документированных источников знаний, а также формировать требования к системе искусственного интеллекта.
ПК-1.9 Умеет: осуществлять сбор исходной информации с использованием платформ данных (облачных и внутрикорпоративных).
ПК-1.10 Владеть: . Собирает исходную информацию и формирует требования к решению задач с использованием методов искусственного интеллекта.
ПК-7Способен создавать и внедрять одну или несколько сквозных цифровых субтехнологий искусственного интеллекта
ПК-7.1 Знать: принципы построения систем компьютерного зрения, методы и технологии искусственного интеллекта для анализа изображений и видео, методы и подходы к планированию и реализации проектов по созданию систем искусственного интеллекта на основе сквозной цифровой субтехнологии «Компьютерное зрение».
ПК-7.2 Уметь: применять методы и подходы к планированию и реализации проектов по созданию и поддержке системы искусственного интеллекта на основе сквозной цифровой субтехнологии «Компьютерное зрение».
ПК-7.3 Владеть: компетенцичями в реализации проектов в области сквозной цифровой субтехнологии «Компьютерное зрение»:
ПК-7.4 Знать: принципы построения систем обработки естественного языка, методы и технологии искусственного интеллекта для анализа естественного языка, методы и подходы к планированию и реализации проектов по созданию систем искусственного интеллекта на основе сквозной цифровой субтехнологии «Обработка естественного языка».
ПК-7.5 Уметь: применять методы и подходы к планированию и реализации проектов по созданию и поддержке системы искусственного интеллекта на основе сквозной цифровой субтехнологии «Обработка естественного языка».
ПК-7.6 Владеть: Участвует в реализации проектов в области сквозной цифровой субтехнологии «Обработка естественного языка»:
В результате освоения дисциплины обучающийся должен
3.1.Знать:
3.1.1.Основные методы обработки и анализа изображений и видеопотока
3.2.Уметь:
3.2.1.Выстраивать необходимую цепочку преобразований изображения/видеопотока при его обработке для решения поставленной задачи
3.3.Иметь навыки и (или) опыт деятельности (владеть):
3.3.1.Установки, настройки и применения библиотек обработки изображений (в частности OpenCV), выбора и применения нейронных сетей для анализа изображений

4. Структура и содержание дисциплины

Код занятия Наименование разделов и тем Вид занятия Семестр Часов Компетенции Литература
Раздел 1.
1.1. «Отступление в биологию – или «как мы сами видим мир»». Устройство зрительного тракта человека и животных; свет, цвет, особенности восприятия изображений и цветов «Отступление в биологию – или «как мы сами видим мир»». Устройство зрительного тракта человека и животных; свет, цвет, особенности восприятия изображений и цветов «Отступление в биологию – или «как мы сами видим мир»». Устройство зрительного тракта человека и животных; свет, цвет, особенности восприятия изображений и цветов «Отступление в биологию – или «как мы сами видим мир»». Устройство зрительного тракта человека и животных; свет, цвет, особенности восприятия изображений и цветов Лекции 6 2 Л1.1, Л1.2
1.2. «Отступление в биологию – или «как мы сами видим мир»». Устройство зрительного тракта человека и животных; свет, цвет, особенности восприятия изображений и цветов «Отступление в биологию – или «как мы сами видим мир»». Устройство зрительного тракта человека и животных; свет, цвет, особенности восприятия изображений и цветов «Отступление в биологию – или «как мы сами видим мир»». Устройство зрительного тракта человека и животных; свет, цвет, особенности восприятия изображений и цветов «Отступление в биологию – или «как мы сами видим мир»». Устройство зрительного тракта человека и животных; свет, цвет, особенности восприятия изображений и цветов Сам. работа 6 8
1.3. «Что такое машинное зрение и зачем оно вообще». Определение машинного зрения; типовые задачи и области применения; аппаратные средства получения изображений и псевдоизображений; программные средства машинного зрения «для народа» «Что такое машинное зрение и зачем оно вообще». Определение машинного зрения; типовые задачи и области применения; аппаратные средства получения изображений и псевдоизображений; программные средства машинного зрения «для народа» Лекции 6 2 Л1.2
1.4. «OpenCV Python. Установка и настройка программного окружения». Язык программирования Python, открытая библиотека обработки изображений OpenCV, от установки до запуска Сам. работа 6 4
1.5. «Начало работы с изображениями». Загрузка и сохренение изображений, преобразования форматов, захват изображения с камеры, воспроизведение и запись видеопотока Лабораторные 6 2
1.6. «Базовые операции обработки изображений». Свойства изображений; выделение и обработка отдельной области изображения; арифметические операции; изменение цветовых пространств; бинаризация изображений; геометрические преобразования; фильтрация изображений Лекции 6 3
1.7. «Базовые операции обработки изображений». Свойства изображений; выделение и обработка отдельной области изображения; арифметические операции; изменение цветовых пространств; бинаризация изображений; геометрические преобразования; фильтрация изображений Лабораторные 6 4 Л1.3, Л2.1, Л1.4
1.8. «Базовые операции обработки изображений». Свойства изображений; выделение и обработка отдельной области изображения; арифметические операции; изменение цветовых пространств; бинаризация изображений; геометрические преобразования; фильтрация изображений Сам. работа 6 6
1.9. «Продвинутые операции обработки изображений». Градиенты; выделение границ; пирамиды изображений; выделение и анализ контуров; гистограммы изображения и их применение. Лекции 6 2 Л1.3, Л2.1
1.10. «Продвинутые операции обработки изображений». Градиенты; выделение границ; пирамиды изображений; выделение и анализ контуров; гистограммы изображения и их применение. Лабораторные 6 4 Л1.3, Л1.4
1.11. «Продвинутые операции обработки изображений». Градиенты; выделение границ; пирамиды изображений; выделение и анализ контуров; гистограммы изображения и их применение. Сам. работа 6 6
1.12. «Анализ изображений». Преобразование Фурье; поиск через соответствие шаблону; преобразование Хафа и его применение; стереозрение и карты глубины Лекции 6 1
1.13. «Анализ изображений». Преобразование Фурье; поиск через соответствие шаблону; преобразование Хафа и его применение; стереозрение и карты глубины Лабораторные 6 4 Л1.3, Л2.1
1.14. «Анализ изображений». Преобразование Фурье; поиск через соответствие шаблону; преобразование Хафа и его применение; стереозрение и карты глубины Сам. работа 6 6
1.15. «K-Nearest Neighbour и его применение в CV». kNN в OpenCV, распознавание рукописного текста; алгоритмы кластеризации и их применение. Лекции 6 2 Л2.1, Л1.4
1.16. «K-Nearest Neighbour и его применение в CV». kNN в OpenCV, распознавание рукописного текста; алгоритмы кластеризации и их применение. Лабораторные 6 4
1.17. «K-Nearest Neighbour и его применение в CV». kNN в OpenCV, распознавание рукописного текста; алгоритмы кластеризации и их применение. Сам. работа 6 6
1.18. «Каскадные классификаторы Хаара и обработка оптического потока.» Обнаружение лиц; обработка оптического потока; вычитание фона; отслеживание движений Лекции 6 2
1.19. «Каскадные классификаторы Хаара и обработка оптического потока.» Обнаружение лиц; обработка оптического потока; вычитание фона; отслеживание движений Лабораторные 6 4 Л1.3, Л1.4
1.20. «Каскадные классификаторы Хаара и обработка оптического потока.» Обнаружение лиц; обработка оптического потока; вычитание фона; отслеживание движений Сам. работа 6 16
1.21. «нейронные сети и глубокое обучение(DNN) в OpenCV» Основные возможности DNN, MobileNets и Single Shot Detectors; распознавание объектов на изображениях и в режиме реального времени Лекции 6 2 Л1.3, Л2.1
1.22. «нейронные сети и глубокое обучение(DNN) в OpenCV» Основные возможности DNN, MobileNets и Single Shot Detectors; распознавание объектов на изображениях и в режиме реального времени Лабораторные 6 4 Л2.1
1.23. «нейронные сети и глубокое обучение(DNN) в OpenCV» Основные возможности DNN, MobileNets и Single Shot Detectors; распознавание объектов на изображениях и в режиме реального времени Сам. работа 6 14

5. Фонд оценочных средств

5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины
-1. Что является основной задачей компьютерного зрения?
A) Обучение компьютеров воспроизведению звуков человеческой речи
Б) Обучение компьютерных систем "видеть", обрабатывать, анализировать и интерпретировать визуальные данные (изображения и видео) так же, как это делает человек
В) Создание текстовых описаний для изображений без их анализа
Г) Управление роботами без использования камер
Правильный ответ: Б
2. Какая технология лежит в основе современных систем компьютерного зрения?
A) Регрессионный анализ
Б) Линейная алгебра
В) Глубокое обучение (Deep Learning) с использованием сверточных нейронных сетей (CNN)
Г) Классическая физика
Правильный ответ: В
3. Что такое сегментация изображений?
A) Процесс объединения нескольких изображений в одно
Б) Процесс разделения изображения на несколько сегментов или областей (пикселей), которые логически связаны между собой
В) Изменение разрешения изображения
Г) Обнаружение краев объектов без их классификации
Правильный ответ: Б
4. Какой из перечисленных примеров относится к областям применения компьютерного зрения?
A) Прогнозирование погоды
Б) Автономные транспортные средства и медицинская диагностика
В) Управление базами данных
Г) Разработка веб-сайтов
Правильный ответ: Б
5. Что такое распознавание объектов (Object Recognition) в контексте компьютерного зрения?
A) Определение наличия людей на изображении
Б) Идентификация и классификация различных объектов на изображении или в видеопотоке
В) Измерение расстояния до объектов
Г) Улучшение яркости изображения
Правильный ответ: Б
6. Какая библиотека является стандартным инструментом с открытым исходным кодом для задач компьютерного зрения?
A) TensorFlow
Б) PyTorch
В) OpenCV (Open Source Computer Vision Library)
Г) scikit-learn
Правильный ответ: В
7. Какую задачу решает метод обнаружения объектов (Object Detection)?
A) Определяет, к какому классу относится изображение в целом
Б) Определяет местоположение и класс одного или нескольких объектов на изображении с помощью ограничивающих рамок (bounding boxes)
В) Генерирует новые изображения
Г) Размывает изображение для защиты конфиденциальности
Правильный ответ: Б

8. Что такое классификация изображений (Image Classification)?
A) Создание 3D-модели объекта на основе одного изображения.
Б) Процесс присвоения изображению одного или нескольких классов (меток) из предопределенного набора категорий.
В) Удаление шумов с изображения.
Г) Обнаружение движения в видеопотоке.
Правильный ответ: Б
9. В чем заключается ключевое отличие между семантической сегментацией и сегментацией экземпляров (instance segmentation)?
A) Семантическая сегментация использует цвет, а сегментация экземпляров — черно-белые изображения.
Б) Семантическая сегментация присваивает класс каждому пикселю, но не различает отдельные экземпляры одного и того же класса (например, все люди имеют один цвет); сегментация экземпляров различает каждый отдельный объект как уникальный экземпляр.
В) Сегментация экземпляров работает быстрее, чем семантическая сегментация.
Г) Семантическая сегментация используется только для видео, а сегментация экземпляров — для статичных изображений.
Правильный ответ: Б
10. Что такое "признаки Хаара" (Haar features) и в каком классическом алгоритме компьютерного зрения они использовались?
A) Метод для сжатия изображений, использовался в формате JPEG.
Б) Простые прямоугольные шаблоны для извлечения признаков яркости, использовались в алгоритме Виолы-Джонса (Viola-Jones) для быстрого обнаружения лиц.
В) Метод для 3D-реконструкции сцены.
Г) Алгоритм для изменения цветовой палитры изображения.
Правильный ответ: Б
11. Какая функция активации чаще всего используется в выходном слое нейронной сети для задачи многоклассовой классификации (когда объект может принадлежать только к одному из N классов)?
A) ReLU (Rectified Linear Unit)
Б) Sigmoid
В) Tanh
Г) Softmax
Правильный ответ: Г
12. Что означает термин "переобучение" (overfitting) в машинном обучении и компьютерном зрении?
A) Модель показывает низкие результаты как на тренировочных, так и на тестовых данных.
Б) Модель слишком хорошо выучила тренировочный набор данных, включая шум и случайные флуктуации, и из-за этого плохо обобщает данные на новых (невиданных) изображениях.
В) Модель недостаточно сложна для решения поставленной задачи.
Г) Модель обучается слишком быстро.
Правильный ответ: Б
13. Какой термин описывает процесс создания карт глубины (depth maps) и 3D-моделей из 2D-изображений?
A) Аутсорсинг
Б) Стереоскопия (Stereo Vision) или Структура из движения (Structure from Motion, SfM)
В) Аугментация данных (Data Augmentation)
Г) Нормализация гистограммы
Правильный ответ: Б


14. Что такое не-максимальное подавление (Non-Maximum Suppression, NMS) в задачах обнаружения объектов?
A) Метод для увеличения количества ограничивающих рамок (bounding boxes) вокруг объекта.
Б) Техника постобработки, используемая для удаления избыточных, перекрывающихся ограничивающих рамок и выбора наиболее точной из них для каждого объекта.
В) Метод изменения размера изображения без потери качества.
Г) Алгоритм для автоматической коррекции цвета на изображениях.
Правильный ответ: Б
15. Какую роль играют пулинг-слои (pooling layers) в архитектуре сверточных нейронных сетей (CNN)?
A) Они добавляют новые цветовые каналы к изображению.
Б) Они увеличивают пространственное разрешение изображения.
В) Они уменьшают пространственный размер представления (высоту и ширину), тем самым сокращая количество параметров и вычислений, а также делая модель более устойчивой к небольшим сдвигам объекта (инвариантность к сдвигу).
Г) Они применяют функцию активации к данным.
Правильный ответ: В (хотя этот ответ подразумевается из общих знаний, а не конкретного сниппета)
16. Что такое "оптический поток" (Optical Flow) в компьютерном зрении?
A) Количество света, проходящего через линзу камеры.
Б) Метод оценки видимого движения объектов, поверхностей и краев в последовательности видеокадров, представленный в виде поля векторов движения пикселей.
В) Тип фильтра для улучшения качества изображения.
Г) Процесс преобразования цветного изображения в черно-белое.
Правильный ответ: Б
17. Для чего используются дескрипторы признаков, такие как SIFT или SURF, в классическом компьютерном зрении?
A) Для генерации реалистичных лиц людей.
Б) Для кодирования информации о внешнем виде (форме, текстуре, градиентах) локальной области вокруг ключевой точки изображения в компактный числовой вектор, что позволяет сравнивать и сопоставлять объекты на разных изображениях.
В) Для выполнения операции свертки в нейронных сетях.
Г) Для добавления шума на изображение с целью аугментации данных.
Правильный ответ: Б
18. Какой из перечисленных методов является распространенной техникой аугментации данных (Data Augmentation)?
A) Удаление всех объектов с изображения.
Б) Применение геометрических преобразований (таких как горизонтальное отражение, поворот, масштабирование, кадрирование) и изменение параметров цвета (яркость, контрастность) для увеличения разнообразия обучающего набора данных.
В) Преобразование изображения в звуковой файл.
Г) Использование только оригинальных, неизмененных изображений для обучения.
Правильный ответ: Б


5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.)
--Не предусмотрено
5.3. Фонд оценочных средств для проведения промежуточной аттестации
Примерный перечень финальных проектов по курсу.

1) Нанести на выбранное видео масштабную сетку 10*10 линий в логарифмическом масштабе, начиная от центра.
в нижней части изображения пустить «бегущую» текстовую строку.

2) Добавьте на видео титры в стиле «Звездные войны»

3) Разбейте выбранное изображение на 24 равные части, переместите их местами в произвольном порядке и сформируйте новое «хаотичное» изображение, выведите оба изображения на экран.

4) Изменить размер исходного изображения в Pi() раз;
- разбить изображение на плоскости HSV;
- сформировать мозаику из исходного изображения и плоскостей HSV;
- повернуть сформированное изображение на 30 градусов по часовой стрелке.

5) На основе картинки

Скомпонуйте спектр фотосферы Солнца
а)без учета процентного содержания элементов основных элементов
б) с учетом процентного содержания элементов

Состав фотосферы – водород(73,46%); гелий(24,85%); кислород(0,77%); углерод(0,29%); железо(0,16%); неон(0,12%); азот(0,09%); кремний(0,07%); магний(0,05%); сера(0,04%)

6) В выбранной папке с изображениями провести коррекцию гистограммы для всех изображений. Результаты сохранить в новой папке.

7) Для выбранного видео с записью движения с видом от первого лица, для трех произвольных областей изображения ( например, центр, края) в реальном времени просчитывать скорость и направление смещения. Результат отображать на том же видео в виде векторов (длина вектора пропорциональна движению)

8) Для видео с записью потока автомобилей в реальном времени обнаруживать автомобили и для каждого найденного автомобиля оценивать расстояние до него и скорость.

9)Для рисунка ниже подсчитать количество и средний размер зерен, определить процент инородных элементов от общего количества

6. Учебно-методическое и информационное обеспечение дисциплины

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 Клетте Р. Компьютерное зрение. Теория и алгоритмы: Издательство "ДМК Пресс", 2019 e.lanbook.com
Л1.2 Крейман Г. Биологическое и компьютерное зрение: Издательство "ДМК Пресс", e.lanbook.com
Л1.3 Ян Эрик Солем Программирование компьютерного зрения на языке Python: Издательство "ДМК Пресс", 2016 e.lanbook.com
Л1.4 Кэлер А., Брэдски Г. Изучаем OpenCV 3. Разработка программ компьютерного зрения на C++ с применением библиотеки OpenCV : 2017, e.lanbook.com
6.1.2. Дополнительная литература
Авторы Заглавие Издательство, год Эл. адрес
Л2.1 Матвеев А. И. Цифровая обработка изображений в OpenCv. Практикум: Учебное пособие для вузов: Издательство "Лань", 2022 e.lanbook.com
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
Название Эл. адрес
Э1 Основы машинного зрения portal.edu.asu.ru
6.3. Перечень программного обеспечения
Интерпретатор Python, библиотеки OpenCV, NumPyMicrosoft Office 2010 (Office 2010 Professional, № 4065231 от 08.12.2010), (бессрочно);
Microsoft Windows 7 (Windows 7 Professional, № 61834699 от 22.04.2013), (бессрочно);
Chrome (http://www.chromium.org/chromium-os/licenses), (бессрочно); 7-Zip (http://www.7-zip.org/license.txt), (бессрочно);
AcrobatReader (http://wwwimages.adobe.com/content/dam/Adobe/en/legal/servicetou/Acrobat_com_Additional_TOU-en_US-20140618_1200.pdf), (бессрочно);
ASTRA LINUX SPECIAL EDITION (https://astralinux.ru/products/astra-linux-special-edition/), (бессрочно);
LibreOffice (https://ru.libreoffice.org/), (бессрочно);
Веб-браузер Chromium (https://www.chromium.org/Home/), (бессрочно);
Антивирус Касперский (https://www.kaspersky.ru/), (до 23 июня 2024);
Архиватор Ark (https://apps.kde.org/ark/), (бессрочно);
Okular (https://okular.kde.org/ru/download/), (бессрочно);
Редактор изображений Gimp (https://www.gimp.org/), (бессрочно)
6.4. Перечень информационных справочных систем

7. Материально-техническое обеспечение дисциплины

8. Методические указания для обучающихся по освоению дисциплины