вторник, 16 февраля 2016 г.

Материалы по лабораторным занятиям курса "Теория электрических цепей (Часть 2)" будут выкладываться в рамках данного поста. Для выполнения лабораторных работ допускается использовать следующие пакеты MATLABOctaveFreeMat или SciLab. Все указанные пакеты имеют схожий листинг. Последние три являются бесплатными! Перед выполнением лабораторных работ настоятельно рекомендуется ознакомиться со  следующими материалами!

Темы лабораторных работ
  1. Спектры цифровых сигналов (описание .pdf). Первая лабораторная работа выполняется в рамках учебного пособия Брюханов Ю.А. Лабораторный практикум по курсу "Цифровые цепи и сигналы", стр. 18-43. Пример проигрывания сигнала с разной частотой дискретизации (ссылка).
  2. Исследование цифровых цепей первого порядка (описание .pdf). Вторая лабораторная работа выполняется в рамках учебного пособия Брюханов Ю.А. Лабораторный практикум по курсу "Цифровые цепи и сигналы", стр. 44-68.
  3. Исследование цифровых цепей второго порядка (описание .pdf). Третья лабораторная работа выполняется в рамках учебного пособия Брюханов Ю.А. Лабораторный практикум по курсу "Цифровые цепи и сигналы", стр. 69-105. При выполнении лабораторной работы разрешается выбрать одну из двух цепей для составления отчета (либо нерекурсивную, либо рекурсивную)!
  4. Дискретизация сигналов (описание .pdf).
  5. Квантование сигналов (описание .pdf).
  6. Многоскоростная цифровая обработка сигналов (описание .pdfm-файлы .rar).
С уважением, Владимир Волохов.

Начинает свою работу страница курса-факультатива "Системы технического зрения".

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

Обращаю ваше внимание на то, что данный курс является прямым продолжением дисциплины "Цифровая обработка изображений" 2015 (ссылка)!

Темы лекционных занятий
  1. Введение и обзор материала курса (презентация .pptx). Tiny images - "крошки картинки" (ссылка). "Терминатор 2: Судный день. Как снимали фильм" (ссылка). Microsoft Kinect - "гаджет для Xbox 360" (ссылка). Камера Lytro и рефокусировка после съемки (ссылка). Лекции по истории фотографии от Андрея Пелюховского смотрим здесь.
  2. Анализ бинарных изображений. Первое понятие о распознавании объектов (презентация .pptx).
  3. Алгоритмические и математические принципы систем автоматического распознавания номерных знаков (ссылкапрезентация .pptx). Интересный алгоритм детектирования номерных знаков (ссылка). Пример реализации простого алгоритма детектирования номерных знаков в среде Matlab (ссылка).
  4. Сегментация изображений. Часть 1 (презентация .pptx). Несколько интересных статей по теме лекции можно найти в источнике [18] (ссылка 1ссылка 2ссылка 3). Неплохая обзорная видеолекция на тему сегментации изображений и видео может быть найдена в online курсе Guillermo Sapiro "Image and video processing: From Mars to Hollywood with a stop at the hospital" (ссылка). Смотреть нужно лекцию №5, для просмотра нужна регистрация на сайте www.coursera.org. Пример законченного кода для самостоятельного исследования по методу K-средних, а также анализу главных компонент из курса Andrew Ng "Machine Learning" на www.coursera.org (ссылка).
  5. Сегментация изображений. Часть 2 (презентация .pptx). Обзорная видеолекция на тему выделения границ и детектирования линий на изображениях может быть найдена в online курсе Guillermo Sapiro "Image and video processing: From Mars to Hollywood with a stop at the hospital" (ссылка). Смотреть нужно лекцию №5, для просмотра нужна регистрация на сайте www.coursera.org. Про детектор Кэнни читаем оригинальную статью здесь. Про детектор линейных сегментов можно найти информацию на сайте научного журнала IPOL (Image Processing On Line) по обработке и анализу изображений (ссылка). Пример заполнения аккумулятора при выполнении преобразования Хафа можно найти здесь. Примеры Matlab-кодов, демонстрирующих работу детектора Кэнни и преобразования Хафа для детектирования прямых и окружностей, можно скачать здесь. Предлагаемые коды используют функции открытой библиотеки по компьютерному зрению OpenCV (ссылка). Для подключения OpenCV в Matlab необходимо ознакомиться с источником [27] в дополнительных материалах ниже.
  6. Машинное обучение. Часть 1 (презентация .pptx). Про автономный вертолет читаем здесь. Законченная реализация алгоритма линейной регрессии с одной и несколькими переменными из online курса Andrew Ng "Machine Learning" на www.coursera.org (ссылка). С оригинальным Стэнфордским курсом по машинному обучению Andrew Ng можно ознакомиться здесь или здесь. Неплохо написанную книжку по машинному обучению Stephen Marsland "Machine Learning: An Algorithmic Perspective" можно скачать здесь. Эта книга хорошо подходит для понимания базовых концепций в данной области. В ней есть примеры реализации алгоритмов машинного обучения на языке Python. Рекомендую ознакомиться с книжкой, написанной Александром Борисовичем Мерковым (к.т.н., сотрудник Института системного анализа РАН) "Введение в методы статистического обучения" (ссылка). Книга написана просто, доступно и дает хороший обзор современных методов распознавания. Так же рекомендуется ознакомиться с отечественным профессиональным информационно-аналитическим ресурсом, который посвящен машинному обучению, распознаванию образов и интеллектуальному анализу данных (ссылка).
  7. Машинное обучение. Часть 2 (презентация .pptx). Законченная реализация алгоритма логистической регрессии с регуляризацией и без нее из online курса Andrew Ng "Machine Learning" на www.coursera.org (ссылка).
  8. Машинное обучение. Часть 3 (презентация .pptx). Законченная реализация алгоритма логистической регрессии с регуляризацией и нейронной сети прямого распространения для решения задачи многоклассовой классификации на базе данных рукописных цифр MNIST из online курса Andrew Ng "Machine Learning" на www.coursera.org (ссылка). Обращаю внимание на то, что в предложенной реализации по умолчанию используется только 5000 тренировочных примеров (вместо изначальных 60000) из базы данных MNIST, а также на то, что тестирование рассматриваемых алгоритмов осуществляется на примерах, которые использовались на этапе обучения. Поэтому сравнить полученные результаты с уже имеющимися на аналогичной базе данных (ссылка) нельзя! Несколько баз данных для обучение, в том числе MNIST (в удобном, родном для Matlab формате mat) можно найти здесь. Интересно почитать следующую статью про сверточную нейронную сеть LeNet 5 (ссылка).
  9. Машинное обучение. Часть 4 (презентация .pptx). Законченная реализация алгоритма обучения нейронной сети прямого распространения для решения задачи многоклассовой классификации на базе данных рукописных цифр MNIST из online курса Andrew Ng "Machine Learning" на www.coursera.org (ссылка). Автономное вождение / проект ALVINN (видео позаимствовано из курса Andrew Ng "Machine Learning" на www.coursera.org).
  10. Машинное обучение. Часть 5 (презентация .pptx). Пример законченного кода для самостоятельного исследования по регуляризованной линейной регрессии, а также таких понятий как смещение и дисперсия из курса Andrew Ng "Machine Learning" на www.coursera.org (ссылка).
  11. Детектирование лиц на основе алгоритма Виола / Джонса (презентация .pptx). Ссылка на статью Viola P., Jones M. Robust Real-time Object Detection // Int. J. Computer Vision. 2004. V. 57, 2. P. 137–154 (ссылка). Демонстрационные программные коды, которые использовались в лекции можно найти здесь. Для запуска кодов требуется установить библиотеку OpenCV по ссылке [27] в дополнительных материалах ниже. Видеоролики, демонстрирующие использование алгоритма Виола / Джонса для управления мобильным роботом (ссылка 1ссылка 2).
  12. Анализ главных компонент. Распознавание лиц (презентация .pptx). Ссылка на статью Turk M., Pentland А. Eigenfaces for Recognition // Journal of Cognitive neuroscience. 1991. V. 3, №1. P. 73–86 (ссылка). Ссылка на копию оригинальной статьи К. Пирсона 1901 г., в которой был предложен анализ главных компонент (ссылка). Хорошее введение в анализ главных компонент представлено в следующей статьеПример законченного кода для самостоятельного исследования по анализу главных компонент, а также метода K-средних из курса Andrew Ng "Machine Learning" на www.coursera.org (ссылка). Дополнительно про анализ главных компонент и другие методы сокращения размерности можно почитать в книге Stephen Marsland "Machine Learning: An Algorithmic Perspective" (ссылка). Про применение анализа главных компонент в других задачах обработки цифровых изображений можно прочитать здесь.
  13. Детектирование номерных знаков транспортных средств с использованием алгоритма детектирования аномалий (презентация .pptx). Пример реализации алгоритма детектирования номерных знаков в среде Matlab (ссылка).
  14. Основы видеонаблюдения. Основой настоящей лекции является следующий источник. При изучении данной темы следующая книга может оказаться полезной. Лекция выносится на самостоятельное изучение!
  15. Трехмерное зрение и формирование структуры из движения (презентация .pptx). Про пространственное-временное стерео читаем здесь. Формирование структуры из движения (ссылка).
  16. Системы технического зрения в задаче управления автономными мобильными роботами (презентация .pptx). Примеры решения задач следования по черной линии (видео), контроля скорости вращения двигателя (видео), контроля угла (видео), перемещения в целевую точку (видео), локализации на основе гистограммного фильтра (видео) и системы технического зрения (видео). Интересный источник по мини- и микроробототехнике (ссылка). Презентация к докладу Альберта Ефимова (руководитель робототехнического центра Фонда "Сколково") "Состояние и перспективы отечественной робототехники" (ссылка).
  17. Вопросы к зачету (ссылка).
Практические задания
  1. Простой алгоритм распознавания номерных знаков (описаниетестовые изображения .rarизображения эталонов цифр .rar). Срок сдачи задания - 23.03.2016.
Тестовые задания
  1. Тест № 1 (ссылка).
  2. Тест № 2 (ссылка).
  3. Тест № 3 (ссылка).
  4. Тест № 4 (ссылка).
  5. Тест № 5 (ссылка).
  6. Тест № 6 (ссылка).
  7. Тест № 7 (ссылка).
  8. Тест № 8 (ссылка).
  9. Тест № 9 (ссылка).
Лабораторные работы
  1. Анализ бинарных изображений и первое понятие о распознавании образов (ссылка).
  2. Алгоритмы сегментации цифровых изображений (ссылка).
  3. Классификация рукописных символов на основе методов машинного обучения (ссылка).
  4. Алгоритм детектирования дорожных знаков (архив .rar). Настоящая лабораторная работа является опциональной и представляет собой пример исследования некоторого частного алгоритма компьютерного зрения и пример написания технического отчета, полученного на основе данного исследования.
  5. Обработка цифровых изображений с использованием анализа главных компонент (ссылка).
  6. Детектирование объектов интереса на основе метода вычитания фона и цветовых меток (ссылка).
Дополнительные материалы
  1. Szelicki R. Computer Vision: Algorithms and Applications. Springer, 2010 (ссылка).
  2. Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer, 2009 (ссылка).
  3. Конушин А. и др. Курс "Введение в компьютерное зрение", 2010. Лаборатория компьютерной графики при ВМК МГУ (ссылка).
  4. Конушин А. и др. Курс "Введение в компьютерное зрение", 2011. Лаборатория компьютерной графики при ВМК МГУ (ссылка).
  5. Конушин А. и др. Курс "Введение в компьютерное зрение", 2012. Лаборатория компьютерной графики при ВМК МГУ (ссылка).
  6. Конушин А. и др. Курс "Введение в компьютерное зрение", 2013. Лаборатория компьютерной графики при ВМК МГУ (ссылка).
  7. Конушин А. и др. Курс "Доп. главы компьютерного зрения", 2013. Лаборатория компьютерной графики при ВМК МГУ (ссылка).
  8. Kemelmacher I., Rao R., Seitz S., Shapiro L. Computer Vision (CSE 455), 2003 - 2010. University of Washington (ссылка).
  9. Lazebnik S. Computer Vision (COMP 776), 2008 - 2011. The University of North Carolina at Chapel Hill (ссылка).
  10. Thrun S. Computer Vision / Introduction to Computer Vision (CS 223b), 2004 - 2009. Stanford University (ссылка).
  11. Darrell T. Computer Vision (CS 280), 2009. University of California, Berkeley (ссылка).
  12. Duraiswami R. Fundamentals of Computer Vision (CMSC 828d), 2000 / Computer Vision (CMSC 426), 2005. UMIACS (ссылка). 
  13. Torralba A. Advances in Computer Vision (6.869), 2010. Massachusetts Institute of Technology (ссылка).
  14. Ng A. Machine Learning (CS 229), 2009. Stanford University (ссылка 1ссылка 2).
  15. Конушин A. Семантическая классификация изображений (видеолекции), 2010. Сomputer Science клуб при ПОМИ РАН (ссылка).
  16. Ерухимов В. Компьютерное зрение и библиотека OpenCV (видеолекции), 2011. Сomputer Science клуб при ПОМИ РАН (ссылка).
  17. Конушин А. Курсы "Введение в компьютерное зрение" и "Доп. главы компьютерного зрения" (видеолекции), 2011. Лаборатория компьютерной графики при ВМК МГУ (ссылка).
  18. Сетевой журнал "Компьютерная графика и мультимедиа" (ссылка).
  19. Efros A. Learning-Based Methods in Vision (16-721), 2009. Carnegie Mellon University (ссылка).
  20. Efros A. Computational Photography (15-463 / 15-862), 2010. Carnegie Mellon University (ссылка).
  21. Сайт научного журнала IPOL (Image Processing On Line) по обработке и анализу изображений (ссылка).
  22. Pattern Analysis, Statistical Modeling and Computational Learning Visual Object Classes Challenge (ссылка).
  23. Сайт Российской ассоциации искусственного интеллекта (ссылка).
  24. Конушин А. и др. Курс "Введение в компьютерное зрение", 2015. Лаборатория компьютерной графики при ВМК МГУ (ссылка 1ссылка 2).
  25. Васильева Н. Анализ изображений и видео (видеолекции), 2012. Сomputer Science Center (ссылка).
  26. Подключение открытой библиотеки по компьютерному зрению VLFeat в Matlab (ссылка).
  27. Подключение открытой библиотеки по компьютерному зрению OpenCV в Matlab (ссылка).
Online курсы

Информация по наиболее интересным online курсам приведена в первой презентации. Напоминаю, что с 2011 года ряд западных университетов начал практику создания online курсов (www.coursera.orgwww.udacity.org) по различным дисциплинам. Например, "Искусственный интеллект", "Машинное обучение", "Компьютерное зрение" и т.д. Для ознакомления с материалами курсов (видеолекциями, практическими заданиями и т.д.) нужна регистрация! Дополнительно необходимо отметить, что появились online лекции по курсу "Машинное обучение", читаемые сотрудниками ШАД (Школы анализа данных Яндекс). Ссылка на курс здесь.

Руководитель курса: доц. каф. ДЭС Волохов В.А.