Skip to content

Практика по курсу "Основы компьютерного зрения"

Notifications You must be signed in to change notification settings

safarov-nm/cv-practice

 
 

Repository files navigation

Практика по курсу "Основы компьютерного зрения"

Требования к структуре директорий

Основная директория должна иметь название FamiliaIO. Внутри необходимо создать 3 вложенные диреитории в соответствии с номерами практических работ.

  • lab1
  • lab2
  • lab3

Практическая работа №1. Обработка изображений с использованием библиотеки OpenCV

Задача. Разработать библиотеку фильтров с помощью базовых операций над изображениями (матрицами) в OpenCV:

  • Функция перевода изображения в оттенки серого.
  • Функция изменения разрешения изображения.
  • Функция применения фотоэффекта сепии к изображению.
  • Функция применения фотоэффекта виньетки к изображению.
  • Функция пикселизации заданной прямоугольной области изображения.

Требования:

  • Язык разработки – Python, среда разработки – Spyder или любая другая.
  • При реализации функций можно использовать только базовые операции над изображением, нельзя использовать высокоуровневые функции обработки изображений библиотеки OpenCV.
  • Скрипт должен содержать набор функций в соответствии с перечнем из постановки задачи и демонстрировать их использование. Использование включает загрузку исходного изображения, применение функции фильтрации, отображение исходного и отфильтрованного изображения.
  • Скрипт должен сопровождаться файлом README.md, в котором дается описание алгоритма реализации каждого фильтра (мини-отчет).
  • В шапке файла README.md необходимо указать название практической работы: "Практическая работа №1. Обработка изображений с использованием библиотеки OpenCV".
  • Результаты выполнения практической работы должны быть выложены в личный форк репозитория курса. При этом директория практической работы содержит скрипт и файл README.md.

Практическая работа №2. Детектирование объектов на изображениях с использованием библиотеки OpenCV

Задача. Разработать приложение для детектирования объектов с использованием какой-либо обученной нейронной сети, которая доступна среди "зоопарка" моделей OpenCV. Классы целевых объектов для детектирования выбираются индивидуально, исходя из возможностей используемой модели.

Требования:

  • Язык разработки – Python, среда разработки – Spyder или любая другая.
  • При реализации необходимо использовать модуль DNN библиотеки OpenCV.
  • Приложение должно содержать функцию детектирования объектов, а также демонстрацию его использования. Демо загружает изображение/видео, вызывает функцию детектирования объектов, отображает изображение/кадр видео, на котором отрисованы прямоугольниками разных цветов объекты разных классов (цвет соответствует классу объектов), и выводит статистику (число объектов каждого класса на изображении/наборе просмотренных кадров видео). При отображении в левом верхнем углу каждого прямоугольника необходимо написать название класса и достоверность наличия объекта в этом прямоугольнике (точность для отображения вещественного числа – три знака после запятой), над прямоугольником необходимо указать наблюдаемый класс объектов.
  • Скрипт должен сопровождаться файлом README.md, в котором дается описание реализованных алгоритмов предварительной обработки изображений и обработки выхода сети (мини-отчет).
  • В шапке файла README.md необходимо указать название практической работы: "Практическая работа №3. Детектирование объектов на изображениях с использованием библиотеки OpenCV".
  • Результаты выполнения практической работы должны быть выложены в репозиторий курса. При этом директория практической работы содержит скрипт и файл README.md.

Практическая работа №3. Классификация изображений с использованием библиотеки OpenCV

Задача. Разработать два приложения для классификации изображений набора данных dogs-vs-cats. Приложение должно реализовывать алгоритм «мешок слов».

Примечания:

  1. В наборе данных имеется разметка только тренировочная выборка, поэтому предполагается использовать изображения этой выборки.
  2. Предлагается использовать 200 изображений в качестве тренировочной и 200 изображений качестве тестовой выборки (по 100 из каждого класса).

Приложение должно состоять из двух основных частей:

  • Реализация алгоритма "мешок слов".
  • Вычисление показателя качества решения задачи классификации на тестовой выборке.

Примечания:

  1. Для удобства проверки отдельные этапы имеет смысл визуализировать.
  2. Выбор метода машинного обучения для построения классификационой модели не ограничен.

Требования:

  • Язык разработки – Python, среда разработки – Spyder или любая другая.
  • Скрипт должен сопровождаться файлом README.md, в котором дается описание реализованных алгоритмов (мини-отчет).
  • В шапке файла README.md необходимо указать название практической работы: "Практическая работа №3. Классификация изображений с использованием библиотеки OpenCV".
  • Результаты выполнения практической работы должны быть выложены в репозиторий курса. При этом директория практической работы содержит скрипт и файл README.md.

About

Практика по курсу "Основы компьютерного зрения"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%