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

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

Feb 20, 2017

Download

Education

Edutainme
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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/)- ...