Участник:Akonushin — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Обо мне)
(Темы на 2017-2018 учебный год)
 
(не показано 10 промежуточных версии этого же участника)
Строка 2: Строка 2:
 
Меня зовут Конушин Антон. Я доцент департамент больших данных и информационного поиска ФКН НИУ ВШЭ и академический руководитель ОП "Прикладная математика и информатика". Также я руковожу лабораторией компьютерной графики и мультимедиа ВМК МГУ (http://graphics.cs.msu.ru/ru) и читаю лекции в Школе Анализа Данных Яндекса. Мои основные научные интересы - это компьютерное зрение, машинное обучение и компьютерная графика.
 
Меня зовут Конушин Антон. Я доцент департамент больших данных и информационного поиска ФКН НИУ ВШЭ и академический руководитель ОП "Прикладная математика и информатика". Также я руковожу лабораторией компьютерной графики и мультимедиа ВМК МГУ (http://graphics.cs.msu.ru/ru) и читаю лекции в Школе Анализа Данных Яндекса. Мои основные научные интересы - это компьютерное зрение, машинное обучение и компьютерная графика.
  
= Научные интересы и предлагаемые темы работ =
+
= Научные интересы =
 +
Основное приложение методов компьютерного зрения, которое мне сейчас интересно, это "разбор видео", т.е. извлечение всей возможной информации из видеоданных. Главный  рассматриваемый сейчас сценарий - это работа с данными видеонаблюдения. На выходе нужно получить всю возможную информацию - выделение всех людей, отслеживание их движения, определение их характеристик (пол, возраст), идентификация людей по лицу / походке / комплекции / одежде, вплоть до построения трёхмерной модели сцены в динамике.
  
Основная большая задача, которая мне интересна, это "разбор видео", т.е. извлечение всей возможной информации из видеоданных. Основной рассматриваемый сейчас сценарий - это работа с данными видеонаблюдения. На выходе нужно получить список наблюдаемых людей и объектов, траектории их движения в кадре, их характеристики, и даже трёхмерную модель каждого объекта. Решение такой задачи требует решения множества подзадач - выделение интересующих объектов в кадре и их частей, сопровождение объектов (т.е. построение траекторий), идентификация, распознавание атрибутов, оценка 3х мерной формы. Используемые методы можно разделить на три группы - построение признакового описания, классификация, и оценка параметров моделей. Сейчас задачи извлечения признаков из изображения и классификации решаются совместно с использованием нейросетей, и в этой области сейчас наблюдается бурный прогресс. Задача оценки параметров моделей с использованием имеющихся параметрических моделей, как мне кажется, временно отошла на второй план, но остаётся наиболее перспективным подходом для решения некоторых задач, в которых, например, данных никогда не будет достаточно для явного обучения нейросетей из-за слишком высокой размерности множества выходных параметров.  
+
Главный инструмент компьютерного зрения сейчас - это нейросетевые модели. Нейросети позволяют автоматических вычислять признаки из данных, и их обрабатывать. При этом решение многих задач можно строить в виде одной сложной нейросетевой модели. В этой области идёт бурный прогресс.
  
Задачи, которые я предлагаю в качестве тем курсовых и ВКР, можно условно разделить на 3 группы:
+
= Структура предлагаемых КР и ВКР =
* Изучение и развитие отдельных методов для нейросетей (например, исследование пакетной нормализации при обучении нейросетей)
+
Все темы КР и ВКР, которые я предлагаю в этом учебном году, связаны с построением, усовершенствованием и применением нейросетевых моделей для задач компьютерного зрения, в первую очередь для анализ видео с людьми. Поэтому общая схема выполнения всех КР и ВКР будет примерно следующая:
* Создание и совершенствование методов решения отдельных подзадач (например, детектор объектов)
+
* Развитие генеративных методов (например, Разбор двухмерных сцен с помощью порождающих моделей)
+
  
Большинство задач подходят одновременно и как курсовая для разных крусов., и как выпускная работа. Различие будет в масштабе проработки задачи. Например, в одном случае будет достаточно разобраться с библиотекой, воспроизвести алгоритм из статьи и провести его экспериментальную оценку. В другом случае, нужно будет его усовершенствовать.  
+
1) (Рекомендовано) Знакомство с нейросетями. Для этого нужно выполнить 2-3 небольших практических упражнений по нейросетям, на базе одного из фреймворков (Keras). Это позволит освоить ряд основных принципов работы с нейросетями для изображений (размножение данных, задание правильных функций потерь при обучении, использование предобученных моделей и дообучение и т.д.)
 +
2)Изучение набора базовых статей по теме (ключевые статьи в целом по нейросетям в зрении, набор конкретных по рассматриваемым моделям)
 +
3) Выбор конкретной модели и её реализации как базового алгоритма. Для многих задач есть готовые реализации. В этом случае нужно освоить реализацию - т.е. научиться обучать модель на своих данных, измерять качество, анализировать такую работу. В некоторых случаях конкретную модель предлагаю я, в других случаях её нужно будет выбрать самостоятельно по результатам проведённого обзора (п.2). Если модели в открытых источниках нет, тогда нужно будет выполнить самостоятельную реализацию этой модели. В зависимости от выбранной модели может потребоваться дополнительно изучить другой фреймворк нейросетей (Caffe, TensorFlow, Torch).  
 +
4) Собственно исследовательская часть, которая включает в себя проверку некоторой гипотезы о развитии этой модели, доработку модели, сбор данных и т.д.
 +
5) Текст КР. Если есть интересный, пусть небольшой, научный результат, тогда нужно будет написать по тексту диплома статью и подавать её.
  
При работе с нейросетями в качестве основного инструмента я предлагаю использовать библиотеку Caffe, одну из самых популярных для нейросетей. Писать с нуля реализацию нейросетей не вижу большого смысла. С другой стороны, для порождающих моделей, опирающихся на разные методы оптимизации, в основном на метод Монте-Карло в Марковских цепях, на данный момент нет столь же качественных библиотек. Поэтому придется реализовывать некоторые базовые процедуры или переписывать их, опираясь на реализации в других языках и пакетах. Так, например, порождающие модели (как часть интересной области "вероятностного программирования") активно исследуются в MIT, реализованы на внутреннем языке Julia, и хакерскими костылями стыкуются с библиотеками на других языках, что делает их непригодными для широкого использования. Поэтому в этой области есть возможность внести свой вклад в создание чего-то более востребованного, в т.ч. и получая консультации от авторов методов.  
+
В ходе выполнения курсовой работы на практике можно освоить работу с нейросетевыми моделями, изучать 1-2 фреймворка, научиться применять модели для решения конкретных задач анализа изображений. В зависимости от успехов можно будет успеть провести небольшое законченное исследование.  
  
Ещё один аспект. Ряд предложенных тем попадают в тематику гранта РФФИ "Развитие новых методов глубинного обучения в задачах обучения по большим объемам данных" (руководитель  Дмитрий Петрович Ветров), участником которого являюсь я и мой аспирант. Выбрав соответствующую тему и хорошо себя проявив вы получаете возможность войти в исследовательский коллектив этого проекта.
+
= Темы на 2017-2018 учебный год =
  
= Список тем (2015-2016 учебный год) =  
+
== Генеративные нейросетевые модели для синтеза обучающих данных (Generative cnn-based models for training data syntethis) ==
==== Исследование нейросетевых архитектур на базе CIFAR (Evaluation of neural architectures on CIFAR) 2-3 ====
+
Нейросетевые модели для синтеза и обработки изображений бурно прогрессируют в последние пару лет. Одно из направлений их использования - подготовка обучающих данных для других алгоритмов компьютерного зрения, например обучения и классификации детекторов и распознавателей объектов. Предварительные эксперименты показывают, что качество генерируемых данных достаточно для обучения на уровне обучения по реальным данным. Есть разные направления работы в рамках этой темы - исследование conditional generative models, постобработка синтетических изображений для повышения визуального качества, модели для встраивания данных в изображение, эксперименты с прямым линейным преобразованием в пространстве признаков. Виды объектов - дорожные знаки, автомобили, люди.
==== Исследование методов обучения нейросетевых архитектур (Evaluation of CNN training methods) 2-4 ====
+
 
==== Исследование процедуры пакетной нормализации при обучении нейросетей (Evaluation of batch normalization for CNN) 2-4 ====
+
== Генеративная нейросетевая модель изображения человека (Generative neural model for images of the person) ==
==== Исследование параметров обучения нейросетевых каскадов (Evaluation of training parameters for neural cascade)  2-3 ====
+
 
==== Дистилляция нейросетей (Distilling neural networks) 2-4 ====
+
== Распознавание объектов дорожной сцены для дополненной реальности (Road scene parsing for augmented reality) ==
==== Определение марки и цвета автомобиля с помощью нейросетей ( Car type and color estimation with neural networks) 2-4 ====
+
 
==== Определение цвета одежды человека (Clothing color estimation) 2-4 ====
+
== Нейросетевые детекторы объектов (CNN-based object detectors) ==  
==== Нейросетевой детектор объектов (CNN-based object detector) 2-4 ====
+
В рамках данной темы возможны различные направления исследований развития детектора объектов:
==== Сегментация изображений на основе нейросетей (Image segmentation with CNN) 2-4 ====
+
 
==== Исследование рекуррентных нейросетей для описания изображений (Evaluation of RNN for image description) 2-4 ====
+
* поиск редких объектов
==== Исследование порождающих нейросетей для генерации изображений (Image synthesis with generative neural networks) 2-4 ====
+
 
==== Поиск изображений по содержанию (Content-based image retrieval) 3-4 ====
+
* нейросетевой детектор голов и фигур людей для систем видеонаблюдения
==== Аннотация персонажей в видео (Person annotation in video) 2-4 ====
+
 
==== Определение наличия голоса в аудиодорожке (Voice detection in audio stream) 2-4 ====
+
* ускорение нейросетевых детекторов
==== Распознавание персонажей по голосу в видеофильмах (Voice-based person recognition in movies) 2-4 ====
+
Нейросетевые детекторы лиц людей на изображении работают сейчас очень хорошо, пусть и не идеально. Основное препятствие на пути использования этих методов в устройствах это их вычислительная сложность. Детектор лица работает порядка 200ms на изображение 1980*1080 на видеокарте Nvidia GTX 1070. Однако был предложен целый ряд методов, которые позволяют увеличить производительность нейросетевой модели. Предлагается исследовать применимость этих методов для ускорения детектора лиц.
==== Разбор двухмерных сцен с помощью порождающих моделей (2D scene parsing with generative models) 2-3 ====
+
 
==== Разбор трёхмерных сцен с помощью порождающих моделей  (3D scene parsing with generative models) 2-4 ====
+
== Повторная идентификация и классификация атрибутов человека по изображению фигуры (Person reidentification and classification) ==
==== Подсчёт и сопровождение людей с камеры Kinect (People counting and tracking with Kinect) 4 ====
+
Необходимо реализовать нейросетевую модель отображения изображения фигуры человека в вектор-признак, кодирующий внешность человека. Сравнение изображений людей по таким признакам позволяет определить повторное появление человека в видеопотоке. Также такие атрибуты человека, как пол, возраст, комплекция, можно определить, глядя на фотографию фигуры. Если известна "поза" человека, т.е. положение всех конечностей человека в кадре, то задача решается проще. Предлагается реализовать нейросетевую модель, на вход получающую изображение человека с размеченными частями тела, и определяющую атрибуты человека.
 +
 
 +
= Материалы =
 +
 
 +
* [http://caffe.berkeleyvision.org/ Caffe - deep learning framework] - наиболее активно используемая моими студентами библиотека нейросетей
 +
* [http://u.cs.biu.ac.il/~yogo/nnlp.pdf A Primer on Neural Network Models for Natural Language Processing] хорошее введение в нейросети на примере анализа текстов
 +
* [http://neuralnetworksanddeeplearning.com/ Neural Networks and Deep Learning] - неплохая небольшая книга по глуибнному обучению, с которой можно начинать изучение.
 +
* [http://www.iro.umontreal.ca/~bengioy/dlbook/ Deep Learning book] - черновая версия книги Yoshua Bengio, Ian Goodfellow and Aaron Courville про глубинное обучение. Большая и подробная. Можно читать в фоновом режиме, медленно и вдумчиво.
 +
* [https://github.com/robertsdionne/neural-network-papers robertsdionne/neural-network-papers] - Хорошая коллекция статей про нейросети. Часть мы уже разбирали на семинарах на ВМК, часть будем разбирать, часть посмотрим на семинарах в ВШЭ.
 +
* [https://colah.github.io/ Colah blog] - блог с хорошим описанием ряда вопросов по нейросетям, например, про backpropagation.
 +
* [http://nuit-blanche.blogspot.de/ Nuit Blance blog] - блог с описанием разных моментов по машинному обучению. Можно следить.
 +
* [http://cs231n.github.io/ Курс Стенфорда по нейросетям] - Много интересных материалов по нейросетям
 +
* [http://ufldl.stanford.edu/wiki/index.php/UFLDL_Tutorial] - Хороший тьюториал Стенфорда
 +
* [https://www.facebook.com/moscowcv?ref=aymt_homepage_panel Facebook Moscow Computer Vision Group] - страница семинара по компьютерному зрению в ШАД с дайджестами интересных ссылок

Текущая версия на 23:02, 12 октября 2017

Обо мне

Меня зовут Конушин Антон. Я доцент департамент больших данных и информационного поиска ФКН НИУ ВШЭ и академический руководитель ОП "Прикладная математика и информатика". Также я руковожу лабораторией компьютерной графики и мультимедиа ВМК МГУ (http://graphics.cs.msu.ru/ru) и читаю лекции в Школе Анализа Данных Яндекса. Мои основные научные интересы - это компьютерное зрение, машинное обучение и компьютерная графика.

Научные интересы

Основное приложение методов компьютерного зрения, которое мне сейчас интересно, это "разбор видео", т.е. извлечение всей возможной информации из видеоданных. Главный рассматриваемый сейчас сценарий - это работа с данными видеонаблюдения. На выходе нужно получить всю возможную информацию - выделение всех людей, отслеживание их движения, определение их характеристик (пол, возраст), идентификация людей по лицу / походке / комплекции / одежде, вплоть до построения трёхмерной модели сцены в динамике.

Главный инструмент компьютерного зрения сейчас - это нейросетевые модели. Нейросети позволяют автоматических вычислять признаки из данных, и их обрабатывать. При этом решение многих задач можно строить в виде одной сложной нейросетевой модели. В этой области идёт бурный прогресс.

Структура предлагаемых КР и ВКР

Все темы КР и ВКР, которые я предлагаю в этом учебном году, связаны с построением, усовершенствованием и применением нейросетевых моделей для задач компьютерного зрения, в первую очередь для анализ видео с людьми. Поэтому общая схема выполнения всех КР и ВКР будет примерно следующая:

1) (Рекомендовано) Знакомство с нейросетями. Для этого нужно выполнить 2-3 небольших практических упражнений по нейросетям, на базе одного из фреймворков (Keras). Это позволит освоить ряд основных принципов работы с нейросетями для изображений (размножение данных, задание правильных функций потерь при обучении, использование предобученных моделей и дообучение и т.д.) 2)Изучение набора базовых статей по теме (ключевые статьи в целом по нейросетям в зрении, набор конкретных по рассматриваемым моделям) 3) Выбор конкретной модели и её реализации как базового алгоритма. Для многих задач есть готовые реализации. В этом случае нужно освоить реализацию - т.е. научиться обучать модель на своих данных, измерять качество, анализировать такую работу. В некоторых случаях конкретную модель предлагаю я, в других случаях её нужно будет выбрать самостоятельно по результатам проведённого обзора (п.2). Если модели в открытых источниках нет, тогда нужно будет выполнить самостоятельную реализацию этой модели. В зависимости от выбранной модели может потребоваться дополнительно изучить другой фреймворк нейросетей (Caffe, TensorFlow, Torch). 4) Собственно исследовательская часть, которая включает в себя проверку некоторой гипотезы о развитии этой модели, доработку модели, сбор данных и т.д. 5) Текст КР. Если есть интересный, пусть небольшой, научный результат, тогда нужно будет написать по тексту диплома статью и подавать её.

В ходе выполнения курсовой работы на практике можно освоить работу с нейросетевыми моделями, изучать 1-2 фреймворка, научиться применять модели для решения конкретных задач анализа изображений. В зависимости от успехов можно будет успеть провести небольшое законченное исследование.

Темы на 2017-2018 учебный год

Генеративные нейросетевые модели для синтеза обучающих данных (Generative cnn-based models for training data syntethis)

Нейросетевые модели для синтеза и обработки изображений бурно прогрессируют в последние пару лет. Одно из направлений их использования - подготовка обучающих данных для других алгоритмов компьютерного зрения, например обучения и классификации детекторов и распознавателей объектов. Предварительные эксперименты показывают, что качество генерируемых данных достаточно для обучения на уровне обучения по реальным данным. Есть разные направления работы в рамках этой темы - исследование conditional generative models, постобработка синтетических изображений для повышения визуального качества, модели для встраивания данных в изображение, эксперименты с прямым линейным преобразованием в пространстве признаков. Виды объектов - дорожные знаки, автомобили, люди.

Генеративная нейросетевая модель изображения человека (Generative neural model for images of the person)

Распознавание объектов дорожной сцены для дополненной реальности (Road scene parsing for augmented reality)

Нейросетевые детекторы объектов (CNN-based object detectors)

В рамках данной темы возможны различные направления исследований развития детектора объектов:

  • поиск редких объектов
  • нейросетевой детектор голов и фигур людей для систем видеонаблюдения
  • ускорение нейросетевых детекторов

Нейросетевые детекторы лиц людей на изображении работают сейчас очень хорошо, пусть и не идеально. Основное препятствие на пути использования этих методов в устройствах это их вычислительная сложность. Детектор лица работает порядка 200ms на изображение 1980*1080 на видеокарте Nvidia GTX 1070. Однако был предложен целый ряд методов, которые позволяют увеличить производительность нейросетевой модели. Предлагается исследовать применимость этих методов для ускорения детектора лиц.

Повторная идентификация и классификация атрибутов человека по изображению фигуры (Person reidentification and classification)

Необходимо реализовать нейросетевую модель отображения изображения фигуры человека в вектор-признак, кодирующий внешность человека. Сравнение изображений людей по таким признакам позволяет определить повторное появление человека в видеопотоке. Также такие атрибуты человека, как пол, возраст, комплекция, можно определить, глядя на фотографию фигуры. Если известна "поза" человека, т.е. положение всех конечностей человека в кадре, то задача решается проще. Предлагается реализовать нейросетевую модель, на вход получающую изображение человека с размеченными частями тела, и определяющую атрибуты человека.

Материалы

  • Caffe - deep learning framework - наиболее активно используемая моими студентами библиотека нейросетей
  • A Primer on Neural Network Models for Natural Language Processing хорошее введение в нейросети на примере анализа текстов
  • Neural Networks and Deep Learning - неплохая небольшая книга по глуибнному обучению, с которой можно начинать изучение.
  • Deep Learning book - черновая версия книги Yoshua Bengio, Ian Goodfellow and Aaron Courville про глубинное обучение. Большая и подробная. Можно читать в фоновом режиме, медленно и вдумчиво.
  • robertsdionne/neural-network-papers - Хорошая коллекция статей про нейросети. Часть мы уже разбирали на семинарах на ВМК, часть будем разбирать, часть посмотрим на семинарах в ВШЭ.
  • Colah blog - блог с хорошим описанием ряда вопросов по нейросетям, например, про backpropagation.
  • Nuit Blance blog - блог с описанием разных моментов по машинному обучению. Можно следить.
  • Курс Стенфорда по нейросетям - Много интересных материалов по нейросетям
  • [1] - Хороший тьюториал Стенфорда
  • Facebook Moscow Computer Vision Group - страница семинара по компьютерному зрению в ШАД с дайджестами интересных ссылок