AIST_2013

Alexander Alekhin edited this page Jun 16, 2016 · 3 revisions
Clone this wiki locally

АИСТ 2013

Докладчик: Кирилл Корняков

Предварительная подготовка

Для практического занятия по OpenCV необходимо предварительно проделать следующее:

  1. Установить OpenCV согласно инструкции для вашей платформы, руководства находятся здесь.
  2. Запустить на своей машине один из простейших сэмплов, например этот.
  3. Основное время будет посвящено задаче нахождения плоского текстурного объекта, руководствуясь следующим уроком. Для тех, кто с данной задачей знаком, предлагается выбрать себе урок по душе, и пройти его самостоятельно, при необходимости обращаясь за помощью.

План занятия

Теоретическая часть

  1. Ответы на вопросы
  2. Вводная информация
    • Понятие локальных особенностей, детекторы и дескрипторы
    • Практическое применение features2d модуля (AR, stitching, TOD)
  3. Разбор приложения для практического занятия

Практическая часть

  1. Запустить простое OpenCV приложение на своей машине (пример).
  2. Запустить приложение для детектирования плоского текстурного объекта согласно инструкции. Тестовые изображения прикреплены к данной странице ниже.
  3. Задания:
    1. Запустить приложение на собственном изображении. Для этого нужно сделать 2 снимка: плоское изображение объекта (скан) и его изображение в сцене. Стоит выбрать крупный объект с “богатой” текстурой, а также аккуратно вырезать эталонное изображение.
    2. Преобразовать приложение таким образом, чтобы поиск объекта осуществлялся на видео. Для работы с камерой необходимо использовать класс VideoCapture.
    3. Вставить замер времени работы алгоритма (getTickCount, getTickFrequency).
    4. Сократить время работы за счет вынесения подсчета дескрипторов для эталонной картинки из тела цикла.
    5. Попробовать BFMatcher. Внимание: следует использовать метрики сравнения, соответствующие выбранным дескрипторам.
    6. Попробовать другие детекторы особых точек, например SIFT, ORB (features2d, nonfree).
  4. Дополнительные примеры (https://github.com/opencv/opencv/blob/2.4/samples/cpp/):
    1. matching_to_many_images.cpp
    2. brief_match_test.cpp
    3. descriptor_extractor_matcher.cpp
    4. detector_descriptor_evaluation.cpp
    5. detector_descriptor_matcher_evaluation.cpp
    6. freak_demo.cpp
    7. generic_descriptor_match.cpp
    8. matcher_simple.cpp
    9. video_homography.cpp
    10. Python: samples/python2/feature_homography.py, http://www.youtube.com/watch?v=FirtmYcC0Vc

Приложения