Григорий Сапунов (eclass)

102
Компьютерное зрение и deep learning Григорий Сапунов Хакатон GoToHack Big Data Москва 22.02.2016 eclass.cc RoadAR

Upload: edutainme

Post on 20-Feb-2017

2.137 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Григорий Сапунов (eclass)

Компьютерное зрениеи deep learning

Григорий Сапунов

Хакатон GoToHack Big DataМосква 22.02.2016

eclass.cc RoadAR

Page 2: Григорий Сапунов (eclass)

“Простые задачи”Распознавание: классификация

и локализация

Page 3: Григорий Сапунов (eclass)

Классификация и Детектирование

http://tutorial.caffe.berkeleyvision.org/caffe-cvpr15-detection.pdf

(задача сложнее)

Page 4: Григорий Сапунов (eclass)

Распознавание: Дорожные знаки (IJCNN 2011)The German Traffic Sign Recognition Benchmark

● Мультиклассовая классификация● >40 классов● >50,000 изображений с реальных дорог

http://benchmark.ini.rub.de/?section=gtsrb&subsection=dataset

Page 5: Григорий Сапунов (eclass)

Распознавание: Дорожные знаки (IJCNN 2011)Первый случай создания системы с качеством распознавания выше человеческого.

http://benchmark.ini.rub.de/index.php?section=gtsrb&subsection=results#

Rank Team Representative Method Correct recognition rate(error rate)

1 IDSIA Dan Ciresan Committee of CNNs 99.46 % (0.54%)

2 INI Human Performance 98.84 % (1.16%)

3 sermanet Pierre Sermanet Multi-Scale CNNs 98.31 % (1.69%)

4 CAOR Fatin Zaklouta Random Forests 96.14 % (3.86%)

Page 6: Григорий Сапунов (eclass)

Распознавание: Рукописные цифры (MNIST)

● мультиклассовая классификация● 10 классов, 60000 изображений 28*28 пикселей

http://yann.lecun.com/exdb/mnist/

Page 7: Григорий Сапунов (eclass)

Распознавание: Рукописные цифры (MNIST)Человек: ≈0.2% ошибок

Первый сопоставимый результат: 0.23% (2012)

“Multi-column Deep Neural Networks for Image Classification”,Dan Cireșan, Ueli Meier, Jurgen Schmidhuberhttp://repository.supsi.ch/5145/1/IDSIA-04-12.pdf

Page 9: Григорий Сапунов (eclass)

Распознавание: CIFAR-10/100● 10/100 классов● 60000 изображений ● 32*32 пикселя

Человек: ~6% ошибок

https://www.cs.toronto.edu/~kriz/cifar.html

Page 10: Григорий Сапунов (eclass)

Распознавание: CIFAR-10/100

http://rodrigob.github.io/are_we_there_yet/build/classification_datasets_results.html#43494641522d3130

Page 11: Григорий Сапунов (eclass)

Large Scale Visual Recognition Challenge (ILSVRC)ILSVRC2015

● Object detection (200 категорий)● Object localization (1000 категорий)● Object detection from video

(30 категорий)● Scene classification (401 категория)

http://image-net.org/challenges/LSVRC/2015/index#maincomp

Page 12: Григорий Сапунов (eclass)
Page 13: Григорий Сапунов (eclass)
Page 14: Григорий Сапунов (eclass)

Для тех, кто в теме

Page 15: Григорий Сапунов (eclass)

Large Scale Visual Recognition Challenge (ILSVRC)

http://arxiv.org/abs/1409.0575

Page 16: Григорий Сапунов (eclass)

http://karpathy.github.io/2014/09/02/what-i-learned-from-competing-against-a-convnet-on-imagenet/

“Consider that there are more than 120 species of dogs in the dataset. We estimate that 28 (37%) of the human errors fall into this category, while only 7 (7%) of GoogLeNet errors do”

Page 17: Григорий Сапунов (eclass)

Ещё про ILSVRC

http://arxiv.org/abs/1502.01852

“We achieve 4.94% top-5 test error on the ImageNet 2012 classification dataset. This is a 26% relative improvement over the ILSVRC 2014 winner (GoogLeNet, 6.66%). To our knowledge, our result is the first to surpass human-level performance (5.1%, Russakovsky et al.) on this visual recognition challenge.”

Page 18: Григорий Сапунов (eclass)
Page 19: Григорий Сапунов (eclass)
Page 22: Григорий Сапунов (eclass)

Распознавание: Brain Image Segmentation (2012)

http://fiji.sc/Segmentation_of_neuronal_structures_in_EM_stacks_challenge_-_ISBI_2012

Page 23: Григорий Сапунов (eclass)

Распознавание: Brain Image Segmentation (2012)2 набора 512 × 512 пикселей × 30 срезов

Page 24: Григорий Сапунов (eclass)

Распознавание: Brain Image Segmentation (2012)Задача: по фотографиям электронного микроскопа срезов мозга (в данном случае это дрозофила) построить 3D-модель нейронов и дендритов.

Человеческий труд крайне долгий.

Page 25: Григорий Сапунов (eclass)
Page 26: Григорий Сапунов (eclass)

http://ufldl.stanford.edu/housenumbers/

>600 000 картинок с реальными фотографиями из Google Street View.

The Street View House Numbers (SVHN) Dataset

Page 27: Григорий Сапунов (eclass)
Page 28: Григорий Сапунов (eclass)

Компьютеры становятся лучше

человека в родных для него задачах

на восприятие

Page 29: Григорий Сапунов (eclass)

… хотя иногда и довольно беспомощныhttp://www.mirror.co.uk/news/weird-news/friendly-robot-hitchhiking-across-america-6184914

Page 30: Григорий Сапунов (eclass)

Автомобили-роботы

Page 31: Григорий Сапунов (eclass)

Автомобили-роботы

Page 32: Григорий Сапунов (eclass)
Page 33: Григорий Сапунов (eclass)

Автомобили-роботы

Page 34: Григорий Сапунов (eclass)

Автомобили-роботы: определение объектов

Page 35: Григорий Сапунов (eclass)

Автомобили-роботы: детекция пешеходов

Page 36: Григорий Сапунов (eclass)

Автомобили-роботы: распознавание знаков

Page 37: Григорий Сапунов (eclass)

Это началось не вчера.Немножко истории

Page 38: Григорий Сапунов (eclass)

DARPA Urban Challenge 2007

1 месторобот “Boss”

96 км «улиц», доставка условного груза в установленную точку менее, чем за 6 часов. Роботы должны были соблюдать правила дорожного движения (включая учёт дорожных знаков), ехать в потоке, уметь парковаться.

Page 39: Григорий Сапунов (eclass)

DARPA Grand Challenge 2005

1 месторобот “Stanley”6 часов 54 мин

Маршрут длиной 211,8 километра по каменистой пустыне Мохаве

Page 40: Григорий Сапунов (eclass)

Ernst DickmannsРаботы по роботизированным автомобилям в 1980-90е годы.

1994: "VAmP" Mercedes 500 SEL проехал более 1000 км по кольцевому шоссе в Париже со скоростю до 130 км/ч, автоматически перестраиваясь и пропуская машины.Автоматическое отслеживание до 12 других автомобилей.

1995: Тур в 1758 км из Мюнхена в Данию и обратно. Разгон на шоссе до 175 км/ч. Средняя дистанция автономной езды без перезапуска системы ~9 км; самый длинный полностью автономный участок 158 км. 95% дистанции проехано автономно.

Видеокамеры и саккадное зрение, процессоры 8086 (забудьте про GPU!).

http://www.youtube.com/watch?v=YZ6nPhUG2i0

Page 41: Григорий Сапунов (eclass)

Ernst Dickmanns: VAmP Mercedes 500 SEL (1990-е)

Page 42: Григорий Сапунов (eclass)

Ernst Dickmanns

https://www.youtube.com/watch?v=_HbVWm7wdmE

Page 43: Григорий Сапунов (eclass)

Живём в интересное время

Page 44: Григорий Сапунов (eclass)

George Hotz: Acura HackMeet the 26-Year-Old Hacker Who Built a Self-Driving Car... in His Garagehttps://www.youtube.com/watch?v=KTrgRYa2wbI

Page 45: Григорий Сапунов (eclass)

Дроны и коптеры

http://www.digitaltrends.com/cool-tech/swiss-drone-ai-follows-trails/

Поиск потерявшихся людей

Page 46: Григорий Сапунов (eclass)

● NVidia Jetson TK1/TX1 (192/256 CUDA Cores)● Raspberry Pi (ARM Cortex-A7 900MHz 4-ядра, 1 Гб ОЗУ)● Планшеты, телефоны, …● Google Project Tango

Hackers’ Time

Page 47: Григорий Сапунов (eclass)

SLAM

Page 48: Григорий Сапунов (eclass)

SLAM: Simultaneous Localization and Mapping

Page 49: Григорий Сапунов (eclass)

SLAM: Simultaneous Localization and MappingОдновременная локализация и построение карты.

Visual SLAM (vision-based SLAM) — использует только камеру (а не лидар или инерционные датчики). Может использовать одну камеру (монокулярный SLAM) или две (стерео SLAM).

Обычно real-time.

Это (в основном пока) не про deep learning. Но уже есть совмещение с семантической разметкой (здесь deep learning).

Page 50: Григорий Сапунов (eclass)

SLAM: Simultaneous Localization and MappingПример с использованием лидара:

Page 51: Григорий Сапунов (eclass)

LSD-SLAM: Large-Scale Direct Monocular SLAM

http://vision.in.tum.de/research/vslam/lsdslam

Page 52: Григорий Сапунов (eclass)

Семантический SLAM

https://www.doc.ic.ac.uk/~rfs09/docs/Salas-Moreno-R-2014-PhD-Thesis.pdf

Page 53: Григорий Сапунов (eclass)

SLAM++: SLAM на уровне объектов

http://www.doc.ic.ac.uk/~rfs09/slampp.html

Page 54: Григорий Сапунов (eclass)

Семантическая сегментация

Page 55: Григорий Сапунов (eclass)

http://arxiv.org/pdf/1301.3572.pdf Indoor Semantic Segmentation using depth information

Page 57: Григорий Сапунов (eclass)

https://www.youtube.com/watch?v=ZJMtDRbqH40 NYU Semantic Segmentation with a Convolutional Network (33 categories)

Page 58: Григорий Сапунов (eclass)

Другие интересные задачи работы с изображениями

Page 59: Григорий Сапунов (eclass)

Генерация описаний картинок

http://arxiv.org/abs/1411.4555 “Show and Tell: A Neural Image Caption Generator”

Page 60: Григорий Сапунов (eclass)
Page 61: Григорий Сапунов (eclass)
Page 62: Григорий Сапунов (eclass)
Page 63: Григорий Сапунов (eclass)
Page 64: Григорий Сапунов (eclass)

More Hacking: NeuralTalk and Walk

Ингредиенты:

● https://github.com/karpathy/neuraltalk2 Project for learning Multimodal Recurrent Neural Networks that describe images with sentences

● Веб-камера/ноутбук

Результат:

● https://vimeo.com/146492001

Page 65: Григорий Сапунов (eclass)

More hacking: NeuralTalk and Walk

Page 66: Григорий Сапунов (eclass)

More Hacking: DenseCap and ?

http://arxiv.org/abs/1511.07571 DenseCap: Fully Convolutional Localization Networks for Dense Captioning

Page 67: Григорий Сапунов (eclass)

Как же оно всё работает?

Page 68: Григорий Сапунов (eclass)

Как же оно всё работает?● Convolutional neural networks (CNN), свёрточные нейросети● Recurrent neural networks (RNN), рекуррентные нейросети + LSTM (Long

short-term memory)● Word embeddings (word2vec, GloVe)● Restricted Boltzmann Machines (RBM)● Autoencoders

Комбинации готовых “кирпичиков”

Page 69: Григорий Сапунов (eclass)

Операция свёртки (convolution)

Свёрточная нейронная сеть (Convolutional neural net, CNN) использует операцию свёртки для выделения локальных признаков на изображении.

inputkernel

output

http://intellabs.github.io/RiverTrail/tutorial/

Page 71: Григорий Сапунов (eclass)

CNN: Convolutional Neural Network

http://www.clarifai.com/technology

Page 72: Григорий Сапунов (eclass)

RNN: Recurrent Neural Network

Page 74: Григорий Сапунов (eclass)

RNN: Sequence to Sequence Learning

https://github.com/farizrahman4u/seq2seq

Page 75: Григорий Сапунов (eclass)

RNN: Sequence to Sequence Learning

http://www.cs.toronto.edu/~graves/arabic_ocr_chapter.pdf

Page 76: Григорий Сапунов (eclass)

Мультимодальное обучение

http://arxiv.org/abs/1411.2539 Unifying Visual-Semantic Embeddings with Multimodal Neural Language Models

Page 77: Григорий Сапунов (eclass)

Мультимодальное обучение

https://www.cs.utexas.edu/~vsub/

Page 78: Григорий Сапунов (eclass)

Word embeddings: word2vec

https://code.google.com/archive/p/word2vec/

Page 79: Григорий Сапунов (eclass)

Word embeddings: word2vec

https://code.google.com/archive/p/word2vec/

Page 80: Григорий Сапунов (eclass)

Word embeddings: GloVe

http://nlp.stanford.edu/projects/glove/

Page 81: Григорий Сапунов (eclass)

Ещё немного красивостейи интересностей

Page 82: Григорий Сапунов (eclass)
Page 83: Григорий Сапунов (eclass)
Page 84: Григорий Сапунов (eclass)
Page 85: Григорий Сапунов (eclass)

Visual Question Answering

https://avisingh599.github.io/deeplearning/visual-qa/

Page 86: Григорий Сапунов (eclass)

Visual Question Answering

http://arxiv.org/abs/1505.02074 Exploring Models and Data for Image Question Answering

Page 87: Григорий Сапунов (eclass)

Visual Question Answering

http://arxiv.org/abs/1505.02074 Exploring Models and Data for Image Question Answering

Page 88: Григорий Сапунов (eclass)

Reinforcement LearningУправление симулированным автомобилем на основе видеосигнала (2013)http://people.idsia.ch/~juergen/gecco2013torcs.pdf http://people.idsia.ch/~juergen/compressednetworksearch.html

Page 89: Григорий Сапунов (eclass)

Reinforcement Learning

Page 90: Григорий Сапунов (eclass)

Reinforcement LearningHuman-level control through deep reinforcement learning (2014)http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html

Playing Atari with Deep Reinforcement Learning (2013)http://arxiv.org/abs/1312.5602

Page 91: Григорий Сапунов (eclass)

Reinforcement Learning

Page 92: Григорий Сапунов (eclass)

More Fun & Hacking: Deep Dream

http://www.telegraph.co.uk/technology/google/11730050/deep-dream-best-images.html?frame=3370674

Page 93: Григорий Сапунов (eclass)
Page 97: Григорий Сапунов (eclass)

Интересно?Что делать дальше

Page 98: Григорий Сапунов (eclass)

Библиотеки для работы● OpenCV (http://opencv.org/) ● Caffe (http://caffe.berkeleyvision.org/) ● Torch7 (http://torch.ch/) ● Theano/Keras/… (http://deeplearning.net/software/theano/, http://keras.io/) ● TensorFlow (https://www.tensorflow.org/) ● Neon (http://neon.nervanasys.com/) ● ...

Page 99: Григорий Сапунов (eclass)

Что читать и смотреть- CS231n: Convolutional Neural Networks for Visual Recognition, Fei-Fei

Li, Andrej Karpathy, Stanford (http://vision.stanford.edu/teaching/cs231n/index.html)

- CS224d: Deep Learning for Natural Language Processing, Richard Socher, Stanford (http://cs224d.stanford.edu/index.html)

- Neural Networks for Machine Learning, Geoffrey Hinton (https://www.coursera.org/course/neuralnets)

- Подборка курсов по компьютерному зрению (http://eclass.cc/courselists/111_computer_vision_and_navigation)

- Подборка курсов по deep learning (http://eclass.cc/courselists/117_deep_learning)

- “Deep Learning”, Ian Goodfellow, Yoshua Bengio and Aaron Courville(http://www.deeplearningbook.org/)

Page 100: Григорий Сапунов (eclass)

Что читать и смотреть- Google+ Deep Learning community (https://plus.google.

com/communities/112866381580457264725) - VK Deep Learning community (http://vk.com/deeplearning) - Quora (https://www.quora.com/topic/Deep-Learning) - FB Deep Learning Moscow (https://www.facebook.

com/groups/1505369016451458/)- Twitter Deep Learning Hub (https://twitter.com/DeepLearningHub)- NVidia blog (https://devblogs.nvidia.com/parallelforall/tag/deep-learning/)- IEEE Spectrum blog (http://spectrum.ieee.org/blog/cars-that-think) - http://deeplearning.net/ - ...

Page 101: Григорий Сапунов (eclass)

За кем следить?- Jürgen Schmidhuber (http://people.idsia.ch/~juergen/) - Geoffrey E. Hinton (http://www.cs.toronto.edu/~hinton/)- Google DeepMind (http://deepmind.com/) - Yann LeCun (http://yann.lecun.com, https://www.facebook.com/yann.lecun) - Yoshua Bengio (http://www.iro.umontreal.ca/~bengioy, https://www.quora.

com/profile/Yoshua-Bengio)- Andrej Karpathy (http://karpathy.github.io/) - Andrew Ng (http://www.andrewng.org/)- ...