SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Конкурс Avito-2016:
«Распознавание марки и модели
автомашин на изображениях»
Евгений Нижибицкий
ВМК МГУ, Rambler&Co
13 августа 2016 г.
Вместо введения
Описание задачи
• Цель конкурса — создание эффективного алгоритма
классификации изображений автомобилей
• «Эффективность» измеряется в Accuracy
Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 2 / 19
Вместо введения
Особенности данных
• Три выборки по 310000, 92000 и 217000 картинок (A/B/C)
• B использовалась для «public leaderboard»’а до 1-го дедлайна
• После 1-го дедлайна ответы для B тоже были выданы
• C использовалась для «private leaderboard»’а
• Всего 236 классов, но все они безымянные
Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 3 / 19
Вместо введения
Нейросети наше всё
• Обученный на ImageNet человек — 5%
• 3 × Inception-ResNet-v21 (Февраль 2016) — 3.1%
1
Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 4 / 19
Вместо введения
Вычислительные ресурсы
• Intel i7-4790K
• GeForce GTX 980 Ti
• SSD 500 MB/sec
• Intel i7-6700
• 2×GeForce GTX TITAN X
• SSD 500 MB/sec
Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 5 / 19
Подходы к решению
Обзор моделей I
Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 6 / 19
Подходы к решению
Обзор моделей II
Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 7 / 19
Подходы к решению
GoogleNet
Обучение на 90% выборки A с валидацией на остатке:
Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 8 / 19
Подходы к решению
GoogleNet
Качество на 10%-валидации:
Итерации Кропы Точность
400k 1x1 91.06
400k+200k 1x1 92.13
400k 1x10 92.63
400k+200k 1x10 93.54
400k+200k+500k 1x10 93.71
Сделанные посылки:
Итерации Кропы Точность
200k 1x1 89.78
400k+200k 1x10 92.89
Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 9 / 19
Подходы к решению
Небольшое отступление
После GoogleNet в последующих моделях на большинстве графиков
будет рассматриваться качество для такого разбиения подвыборок:
• 384000 изображений — обучение
• 12000 изображений — валидация
• ∼7000 изображений — проверка скриптов для теста
Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 10 / 19
Подходы к решению
ResNet-34 / Torch
Microsoft Research Asia — Deep Residual Learning for Image Recognition
• https://github.com/facebook/fb.resnet.torch
Что делаем:
• Используем 256x256 без сохранения пропорций
• Используем стандартную стратегию LR из репозитория
• Модифицируем несколько lua-файлов для получения
возможности сохранять айдишники картинок вместе с
содержимым и записывать вероятности в HDF5-файлы
• В остальном все в основном как в инструкции по ссылке
Что не понравилось:
• По умолчанию (частые) дампы моделей занимают гигабайты
• Пришлось написать adhoc-скрипт в crontab
Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 11 / 19
Подходы к решению
ResNet-34 / Torch
Качество одной модели ResNet-34 на валидации
Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 12 / 19
Подходы к решению
Inception-v3 / Tensorflow
Google Inc. — Rethinking the Inception Architecture for Computer Vision
• https://github.com/tensorflow/models
Что делаем:
• Используем исходные картинки — делаем бинарные шарды
• Делаем много своих файлов на основе таковых для имаджнета с
более мягкими условиями искажений для создания картинок на
лету, добавляем возможность сохранять айдишники картинок
вместе с содержимым и записывать вероятности в HDF5-файлы
• Разные интервалы для генерации искажений уменьшаем раза в 2
• Оставляем как минимум 40% исходных изображений (а не 8!)
Что не понравилось:
• Не удалось получить валидную выдачу всех предсказаний с id
• Пришлось гонять сессии tensorflow с 1 картинкой
Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 13 / 19
Подходы к решению
Inception-v3 / Tensorflow
Качество одной модели Inception-v3 на валидации
Итерации Точность
5000 0.7735
10000 0.9031
15000 0.9262
20000 0.9347
30000 0.9446
60000 0.9518
90000 0.9544
120000 0.9571
Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 14 / 19
Подходы к решению
Объединение различных моделей
Качество для различных смесей (рассматривались различные
сценарии того, что успеет обучиться и предсказаться):
Модель Точность
ResNet341-crop 0.9497
ResNet3410-crop 0.9537
2 × ResNet3410-crop 0.9559
Inception-v31-crop 0.9564
Inception-v310-crop 0.9588
ResNet3410-crop · Inception-v31-crop 0.9594
ResNet3410-crop · Inception-v310-crop 0.9608
2 × Inception-v310-crop 0.9613
2 × ResNet3410-crop · 2 × Inception-v310-crop 0.9627
Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 15 / 19
Результат
Итоговая модель
Предсказания — arg max вероятностей, полученных по формуле
ResNet340.15
10-crop · ResNet340.15
10-crop · Inception-v30.35
10-crop · Inception-v30.35
10-crop
Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 16 / 19
Результат
Вычислительная сложность
ResNet-34:
• 32 картинки в батче
• 3250MB памяти на батч
• 12000 батчей на эпоху
• 1 эпоха за 45 минут
• Полное обучение (90 эпох) — 60 часов
Inception-v3:
• 32 картинки в батче
• 11750MB памяти на батч
• 12000 батчей на эпоху
• 1 эпоха за 4 часа
• Полное обучение (12 эпох) — 48 часов
Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 17 / 19
Результат
Финальный рейтинг
Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 18 / 19
Спасибо!

Weitere ähnliche Inhalte

Andere mochten auch

"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)AvitoTech
 
"RT индексы в поиске Avito" Вячеслав Крюков (Avito)
"RT индексы в поиске Avito" Вячеслав Крюков (Avito)"RT индексы в поиске Avito" Вячеслав Крюков (Avito)
"RT индексы в поиске Avito" Вячеслав Крюков (Avito)AvitoTech
 
Андрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyondАндрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyondAvitoTech
 
Рекомендации в Avito - Василий Лексин (Avito)
Рекомендации в Avito - Василий Лексин (Avito)Рекомендации в Avito - Василий Лексин (Avito)
Рекомендации в Avito - Василий Лексин (Avito)AvitoTech
 
"Building data streams" Константин Евтеев (Avito)
"Building data streams" Константин Евтеев (Avito)"Building data streams" Константин Евтеев (Avito)
"Building data streams" Константин Евтеев (Avito)AvitoTech
 
Зачем в Avito Аналитика?
Зачем в Avito Аналитика?Зачем в Avito Аналитика?
Зачем в Avito Аналитика?AvitoTech
 
"Marshroute: удобный и расширяемый роутинг в iOS-приложении" Тимур Юсипов (Av...
"Marshroute: удобный и расширяемый роутинг в iOS-приложении" Тимур Юсипов (Av..."Marshroute: удобный и расширяемый роутинг в iOS-приложении" Тимур Юсипов (Av...
"Marshroute: удобный и расширяемый роутинг в iOS-приложении" Тимур Юсипов (Av...AvitoTech
 
"Икскод, джейсон, два скетча" Олег Фролов (Avito)
"Икскод, джейсон, два скетча" Олег Фролов (Avito)"Икскод, джейсон, два скетча" Олег Фролов (Avito)
"Икскод, джейсон, два скетча" Олег Фролов (Avito)AvitoTech
 
"Favicon на стероидах" Александр Амосов (Avito)
"Favicon на стероидах" Александр Амосов (Avito)"Favicon на стероидах" Александр Амосов (Avito)
"Favicon на стероидах" Александр Амосов (Avito)AvitoTech
 
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)AvitoTech
 
"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)
"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)
"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)AvitoTech
 
"Опыт использования Sphinx в Ozon.ru" Игорь Чакрыгин (OZON.RU)
"Опыт использования Sphinx в Ozon.ru" Игорь Чакрыгин (OZON.RU)"Опыт использования Sphinx в Ozon.ru" Игорь Чакрыгин (OZON.RU)
"Опыт использования Sphinx в Ozon.ru" Игорь Чакрыгин (OZON.RU)AvitoTech
 
"Деплой кода процедур" Мурат Кабилов (Avito)
"Деплой кода процедур" Мурат Кабилов (Avito)"Деплой кода процедур" Мурат Кабилов (Avito)
"Деплой кода процедур" Мурат Кабилов (Avito)AvitoTech
 
"Подходы, используемые в разработке iOS-клиента Viber" Кирилл Лашкевич (Viber)
"Подходы, используемые в разработке iOS-клиента Viber" Кирилл Лашкевич (Viber)"Подходы, используемые в разработке iOS-клиента Viber" Кирилл Лашкевич (Viber)
"Подходы, используемые в разработке iOS-клиента Viber" Кирилл Лашкевич (Viber)AvitoTech
 
"Ускорение сборки большого проекта на Objective-C + Swift" Иван Бондарь (Avito)
"Ускорение сборки большого проекта на Objective-C + Swift" Иван Бондарь (Avito)"Ускорение сборки большого проекта на Objective-C + Swift" Иван Бондарь (Avito)
"Ускорение сборки большого проекта на Objective-C + Swift" Иван Бондарь (Avito)AvitoTech
 
"Kotlin и rx в android" Дмитрий Воронин (Avito)
"Kotlin и rx в android" Дмитрий Воронин  (Avito)"Kotlin и rx в android" Дмитрий Воронин  (Avito)
"Kotlin и rx в android" Дмитрий Воронин (Avito)AvitoTech
 
"Удобный и расширяемый роутинг в iOS-приложении" Тимур Юсипов (Avito)
"Удобный и расширяемый роутинг в iOS-приложении" Тимур  Юсипов (Avito)"Удобный и расширяемый роутинг в iOS-приложении" Тимур  Юсипов (Avito)
"Удобный и расширяемый роутинг в iOS-приложении" Тимур Юсипов (Avito)AvitoTech
 
"Basis.js - Production Ready SPA Framework" Сергей Мелюков (Avito)
"Basis.js - Production Ready SPA Framework" Сергей Мелюков (Avito)"Basis.js - Production Ready SPA Framework" Сергей Мелюков (Avito)
"Basis.js - Production Ready SPA Framework" Сергей Мелюков (Avito)AvitoTech
 
"Быстрое внедрение Sphinx на примере проекта Фоксфорд.Учебник" Антон Ковалёв ...
"Быстрое внедрение Sphinx на примере проекта Фоксфорд.Учебник" Антон Ковалёв ..."Быстрое внедрение Sphinx на примере проекта Фоксфорд.Учебник" Антон Ковалёв ...
"Быстрое внедрение Sphinx на примере проекта Фоксфорд.Учебник" Антон Ковалёв ...AvitoTech
 
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)Ontico
 

Andere mochten auch (20)

"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
 
"RT индексы в поиске Avito" Вячеслав Крюков (Avito)
"RT индексы в поиске Avito" Вячеслав Крюков (Avito)"RT индексы в поиске Avito" Вячеслав Крюков (Avito)
"RT индексы в поиске Avito" Вячеслав Крюков (Avito)
 
Андрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyondАндрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyond
 
Рекомендации в Avito - Василий Лексин (Avito)
Рекомендации в Avito - Василий Лексин (Avito)Рекомендации в Avito - Василий Лексин (Avito)
Рекомендации в Avito - Василий Лексин (Avito)
 
"Building data streams" Константин Евтеев (Avito)
"Building data streams" Константин Евтеев (Avito)"Building data streams" Константин Евтеев (Avito)
"Building data streams" Константин Евтеев (Avito)
 
Зачем в Avito Аналитика?
Зачем в Avito Аналитика?Зачем в Avito Аналитика?
Зачем в Avito Аналитика?
 
"Marshroute: удобный и расширяемый роутинг в iOS-приложении" Тимур Юсипов (Av...
"Marshroute: удобный и расширяемый роутинг в iOS-приложении" Тимур Юсипов (Av..."Marshroute: удобный и расширяемый роутинг в iOS-приложении" Тимур Юсипов (Av...
"Marshroute: удобный и расширяемый роутинг в iOS-приложении" Тимур Юсипов (Av...
 
"Икскод, джейсон, два скетча" Олег Фролов (Avito)
"Икскод, джейсон, два скетча" Олег Фролов (Avito)"Икскод, джейсон, два скетча" Олег Фролов (Avito)
"Икскод, джейсон, два скетча" Олег Фролов (Avito)
 
"Favicon на стероидах" Александр Амосов (Avito)
"Favicon на стероидах" Александр Амосов (Avito)"Favicon на стероидах" Александр Амосов (Avito)
"Favicon на стероидах" Александр Амосов (Avito)
 
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)
 
"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)
"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)
"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)
 
"Опыт использования Sphinx в Ozon.ru" Игорь Чакрыгин (OZON.RU)
"Опыт использования Sphinx в Ozon.ru" Игорь Чакрыгин (OZON.RU)"Опыт использования Sphinx в Ozon.ru" Игорь Чакрыгин (OZON.RU)
"Опыт использования Sphinx в Ozon.ru" Игорь Чакрыгин (OZON.RU)
 
"Деплой кода процедур" Мурат Кабилов (Avito)
"Деплой кода процедур" Мурат Кабилов (Avito)"Деплой кода процедур" Мурат Кабилов (Avito)
"Деплой кода процедур" Мурат Кабилов (Avito)
 
"Подходы, используемые в разработке iOS-клиента Viber" Кирилл Лашкевич (Viber)
"Подходы, используемые в разработке iOS-клиента Viber" Кирилл Лашкевич (Viber)"Подходы, используемые в разработке iOS-клиента Viber" Кирилл Лашкевич (Viber)
"Подходы, используемые в разработке iOS-клиента Viber" Кирилл Лашкевич (Viber)
 
"Ускорение сборки большого проекта на Objective-C + Swift" Иван Бондарь (Avito)
"Ускорение сборки большого проекта на Objective-C + Swift" Иван Бондарь (Avito)"Ускорение сборки большого проекта на Objective-C + Swift" Иван Бондарь (Avito)
"Ускорение сборки большого проекта на Objective-C + Swift" Иван Бондарь (Avito)
 
"Kotlin и rx в android" Дмитрий Воронин (Avito)
"Kotlin и rx в android" Дмитрий Воронин  (Avito)"Kotlin и rx в android" Дмитрий Воронин  (Avito)
"Kotlin и rx в android" Дмитрий Воронин (Avito)
 
"Удобный и расширяемый роутинг в iOS-приложении" Тимур Юсипов (Avito)
"Удобный и расширяемый роутинг в iOS-приложении" Тимур  Юсипов (Avito)"Удобный и расширяемый роутинг в iOS-приложении" Тимур  Юсипов (Avito)
"Удобный и расширяемый роутинг в iOS-приложении" Тимур Юсипов (Avito)
 
"Basis.js - Production Ready SPA Framework" Сергей Мелюков (Avito)
"Basis.js - Production Ready SPA Framework" Сергей Мелюков (Avito)"Basis.js - Production Ready SPA Framework" Сергей Мелюков (Avito)
"Basis.js - Production Ready SPA Framework" Сергей Мелюков (Avito)
 
"Быстрое внедрение Sphinx на примере проекта Фоксфорд.Учебник" Антон Ковалёв ...
"Быстрое внедрение Sphinx на примере проекта Фоксфорд.Учебник" Антон Ковалёв ..."Быстрое внедрение Sphinx на примере проекта Фоксфорд.Учебник" Антон Ковалёв ...
"Быстрое внедрение Sphinx на примере проекта Фоксфорд.Учебник" Антон Ковалёв ...
 
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
 

Ähnlich wie "Распознавание марки и модели автомашин на изображениях" Евгений Нижибицкий (Rambler&Co)

Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)AvitoTech
 
Денис Тучин, Проверка гипотез Kanban Method с помощью имитационной модели
Денис Тучин, Проверка гипотез Kanban Method с помощью имитационной моделиДенис Тучин, Проверка гипотез Kanban Method с помощью имитационной модели
Денис Тучин, Проверка гипотез Kanban Method с помощью имитационной моделиScrumTrek
 
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)Ontico
 
Artisto App, Highload 2016
Artisto App, Highload 2016Artisto App, Highload 2016
Artisto App, Highload 2016Eduard Tyantov
 
Виктор Русакович - Выборы, выборы, все фреймворки… приторны
Виктор Русакович - Выборы, выборы, все фреймворки… приторныВиктор Русакович - Выборы, выборы, все фреймворки… приторны
Виктор Русакович - Выборы, выборы, все фреймворки… приторныFDConf
 
Денис Тучин - Проверка гипотез Kanban Method с помощью имитационной модели
Денис Тучин - Проверка гипотез Kanban Method с помощью имитационной моделиДенис Тучин - Проверка гипотез Kanban Method с помощью имитационной модели
Денис Тучин - Проверка гипотез Kanban Method с помощью имитационной моделиDenis Tuchin
 
Наложение видеоэффектов с OpenGL ES 2.0 with Shaders, Максим Решетей
Наложение видеоэффектов с OpenGL ES 2.0 with Shaders, Максим РешетейНаложение видеоэффектов с OpenGL ES 2.0 with Shaders, Максим Решетей
Наложение видеоэффектов с OpenGL ES 2.0 with Shaders, Максим РешетейCoub
 
Наложение видеоэффектов с OpenGL ES 2.0 и Shaders
Наложение видеоэффектов с OpenGL ES 2.0 и ShadersНаложение видеоэффектов с OpenGL ES 2.0 и Shaders
Наложение видеоэффектов с OpenGL ES 2.0 и ShadersCodeFest
 
Автоматизация это модно
Автоматизация это модноАвтоматизация это модно
Автоматизация это модноAndrey Rebrov
 
Автоматическое тестирование мобильных приложений на основе скриншотов
Автоматическое тестирование мобильных приложений на основе скриншотовАвтоматическое тестирование мобильных приложений на основе скриншотов
Автоматическое тестирование мобильных приложений на основе скриншотовSergey Borisov
 
Denis Perevalov -- Computer Vision with OpenCV 2
Denis Perevalov -- Computer Vision with OpenCV 2Denis Perevalov -- Computer Vision with OpenCV 2
Denis Perevalov -- Computer Vision with OpenCV 2Uralcsclub
 
Особенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотовОсобенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотовSQALab
 
Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщикаmcslayer
 
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Yandex
 
А.Левенчук -- предпринимательство: кейс NVIDIA
А.Левенчук -- предпринимательство: кейс NVIDIAА.Левенчук -- предпринимательство: кейс NVIDIA
А.Левенчук -- предпринимательство: кейс NVIDIAAnatoly Levenchuk
 
Опыт тестирования API САПР платформы
Опыт тестирования API САПР платформыОпыт тестирования API САПР платформы
Опыт тестирования API САПР платформыSQALab
 

Ähnlich wie "Распознавание марки и модели автомашин на изображениях" Евгений Нижибицкий (Rambler&Co) (20)

Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
 
Денис Тучин, Проверка гипотез Kanban Method с помощью имитационной модели
Денис Тучин, Проверка гипотез Kanban Method с помощью имитационной моделиДенис Тучин, Проверка гипотез Kanban Method с помощью имитационной модели
Денис Тучин, Проверка гипотез Kanban Method с помощью имитационной модели
 
SECON'2014 - Сергей Шпадырев - Разработка 3D-игры на Flash: едем с костылями...
SECON'2014 - Сергей Шпадырев -  Разработка 3D-игры на Flash: едем с костылями...SECON'2014 - Сергей Шпадырев -  Разработка 3D-игры на Flash: едем с костылями...
SECON'2014 - Сергей Шпадырев - Разработка 3D-игры на Flash: едем с костылями...
 
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
 
Artisto App, Highload 2016
Artisto App, Highload 2016Artisto App, Highload 2016
Artisto App, Highload 2016
 
Виктор Русакович - Выборы, выборы, все фреймворки… приторны
Виктор Русакович - Выборы, выборы, все фреймворки… приторныВиктор Русакович - Выборы, выборы, все фреймворки… приторны
Виктор Русакович - Выборы, выборы, все фреймворки… приторны
 
Денис Тучин - Проверка гипотез Kanban Method с помощью имитационной модели
Денис Тучин - Проверка гипотез Kanban Method с помощью имитационной моделиДенис Тучин - Проверка гипотез Kanban Method с помощью имитационной модели
Денис Тучин - Проверка гипотез Kanban Method с помощью имитационной модели
 
Наложение видеоэффектов с OpenGL ES 2.0 with Shaders, Максим Решетей
Наложение видеоэффектов с OpenGL ES 2.0 with Shaders, Максим РешетейНаложение видеоэффектов с OpenGL ES 2.0 with Shaders, Максим Решетей
Наложение видеоэффектов с OpenGL ES 2.0 with Shaders, Максим Решетей
 
Наложение видеоэффектов с OpenGL ES 2.0 и Shaders
Наложение видеоэффектов с OpenGL ES 2.0 и ShadersНаложение видеоэффектов с OpenGL ES 2.0 и Shaders
Наложение видеоэффектов с OpenGL ES 2.0 и Shaders
 
Hydra Renderer
Hydra RendererHydra Renderer
Hydra Renderer
 
Автоматизация это модно
Автоматизация это модноАвтоматизация это модно
Автоматизация это модно
 
Автоматическое тестирование мобильных приложений на основе скриншотов
Автоматическое тестирование мобильных приложений на основе скриншотовАвтоматическое тестирование мобильных приложений на основе скриншотов
Автоматическое тестирование мобильных приложений на основе скриншотов
 
Denis Perevalov -- Computer Vision with OpenCV 2
Denis Perevalov -- Computer Vision with OpenCV 2Denis Perevalov -- Computer Vision with OpenCV 2
Denis Perevalov -- Computer Vision with OpenCV 2
 
Особенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотовОсобенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотов
 
Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщика
 
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
 
А.Левенчук -- предпринимательство: кейс NVIDIA
А.Левенчук -- предпринимательство: кейс NVIDIAА.Левенчук -- предпринимательство: кейс NVIDIA
А.Левенчук -- предпринимательство: кейс NVIDIA
 
Опыт тестирования API САПР платформы
Опыт тестирования API САПР платформыОпыт тестирования API САПР платформы
Опыт тестирования API САПР платформы
 
Ray tracing systems_msu
Ray tracing systems_msuRay tracing systems_msu
Ray tracing systems_msu
 
Ray tracing systems_msu
Ray tracing systems_msuRay tracing systems_msu
Ray tracing systems_msu
 

Mehr von AvitoTech

Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...AvitoTech
 
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)AvitoTech
 
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)AvitoTech
 
Yandex Tank - Арсений Фомченко
Yandex Tank - Арсений ФомченкоYandex Tank - Арсений Фомченко
Yandex Tank - Арсений ФомченкоAvitoTech
 
Migro - Юрий Богомолов
Migro - Юрий БогомоловMigro - Юрий Богомолов
Migro - Юрий БогомоловAvitoTech
 
TableKit - Максим Соколов
TableKit - Максим СоколовTableKit - Максим Соколов
TableKit - Максим СоколовAvitoTech
 
Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)AvitoTech
 
SimplePEG - Алексей Охрименко
SimplePEG - Алексей ОхрименкоSimplePEG - Алексей Охрименко
SimplePEG - Алексей ОхрименкоAvitoTech
 
Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
 Как перестать бояться и начать контрибьютить - Алексей Кудрявцев Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
Как перестать бояться и начать контрибьютить - Алексей КудрявцевAvitoTech
 
"Анонимизация фото с помощью Vision", Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision", Хомутников Тимофей, AvitoAvitoTech
 
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the AirAvitoTech
 
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb..."ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...AvitoTech
 
ASO for iOS 11
ASO for iOS 11ASO for iOS 11
ASO for iOS 11AvitoTech
 
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)AvitoTech
 
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...AvitoTech
 
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)AvitoTech
 
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)AvitoTech
 
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...AvitoTech
 
Конкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий РубцовКонкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий РубцовAvitoTech
 
Конкурс Авито-2017 - Решение 3ое место
Конкурс Авито-2017 - Решение 3ое местоКонкурс Авито-2017 - Решение 3ое место
Конкурс Авито-2017 - Решение 3ое местоAvitoTech
 

Mehr von AvitoTech (20)

Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
 
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
 
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
 
Yandex Tank - Арсений Фомченко
Yandex Tank - Арсений ФомченкоYandex Tank - Арсений Фомченко
Yandex Tank - Арсений Фомченко
 
Migro - Юрий Богомолов
Migro - Юрий БогомоловMigro - Юрий Богомолов
Migro - Юрий Богомолов
 
TableKit - Максим Соколов
TableKit - Максим СоколовTableKit - Максим Соколов
TableKit - Максим Соколов
 
Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)
 
SimplePEG - Алексей Охрименко
SimplePEG - Алексей ОхрименкоSimplePEG - Алексей Охрименко
SimplePEG - Алексей Охрименко
 
Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
 Как перестать бояться и начать контрибьютить - Алексей Кудрявцев Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
 
"Анонимизация фото с помощью Vision", Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision", Хомутников Тимофей, Avito
 
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
 
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb..."ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
 
ASO for iOS 11
ASO for iOS 11ASO for iOS 11
ASO for iOS 11
 
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
 
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
 
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
 
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
 
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
 
Конкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий РубцовКонкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий Рубцов
 
Конкурс Авито-2017 - Решение 3ое место
Конкурс Авито-2017 - Решение 3ое местоКонкурс Авито-2017 - Решение 3ое место
Конкурс Авито-2017 - Решение 3ое место
 

"Распознавание марки и модели автомашин на изображениях" Евгений Нижибицкий (Rambler&Co)

  • 1. Конкурс Avito-2016: «Распознавание марки и модели автомашин на изображениях» Евгений Нижибицкий ВМК МГУ, Rambler&Co 13 августа 2016 г.
  • 2. Вместо введения Описание задачи • Цель конкурса — создание эффективного алгоритма классификации изображений автомобилей • «Эффективность» измеряется в Accuracy Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 2 / 19
  • 3. Вместо введения Особенности данных • Три выборки по 310000, 92000 и 217000 картинок (A/B/C) • B использовалась для «public leaderboard»’а до 1-го дедлайна • После 1-го дедлайна ответы для B тоже были выданы • C использовалась для «private leaderboard»’а • Всего 236 классов, но все они безымянные Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 3 / 19
  • 4. Вместо введения Нейросети наше всё • Обученный на ImageNet человек — 5% • 3 × Inception-ResNet-v21 (Февраль 2016) — 3.1% 1 Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 4 / 19
  • 5. Вместо введения Вычислительные ресурсы • Intel i7-4790K • GeForce GTX 980 Ti • SSD 500 MB/sec • Intel i7-6700 • 2×GeForce GTX TITAN X • SSD 500 MB/sec Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 5 / 19
  • 6. Подходы к решению Обзор моделей I Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 6 / 19
  • 7. Подходы к решению Обзор моделей II Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 7 / 19
  • 8. Подходы к решению GoogleNet Обучение на 90% выборки A с валидацией на остатке: Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 8 / 19
  • 9. Подходы к решению GoogleNet Качество на 10%-валидации: Итерации Кропы Точность 400k 1x1 91.06 400k+200k 1x1 92.13 400k 1x10 92.63 400k+200k 1x10 93.54 400k+200k+500k 1x10 93.71 Сделанные посылки: Итерации Кропы Точность 200k 1x1 89.78 400k+200k 1x10 92.89 Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 9 / 19
  • 10. Подходы к решению Небольшое отступление После GoogleNet в последующих моделях на большинстве графиков будет рассматриваться качество для такого разбиения подвыборок: • 384000 изображений — обучение • 12000 изображений — валидация • ∼7000 изображений — проверка скриптов для теста Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 10 / 19
  • 11. Подходы к решению ResNet-34 / Torch Microsoft Research Asia — Deep Residual Learning for Image Recognition • https://github.com/facebook/fb.resnet.torch Что делаем: • Используем 256x256 без сохранения пропорций • Используем стандартную стратегию LR из репозитория • Модифицируем несколько lua-файлов для получения возможности сохранять айдишники картинок вместе с содержимым и записывать вероятности в HDF5-файлы • В остальном все в основном как в инструкции по ссылке Что не понравилось: • По умолчанию (частые) дампы моделей занимают гигабайты • Пришлось написать adhoc-скрипт в crontab Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 11 / 19
  • 12. Подходы к решению ResNet-34 / Torch Качество одной модели ResNet-34 на валидации Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 12 / 19
  • 13. Подходы к решению Inception-v3 / Tensorflow Google Inc. — Rethinking the Inception Architecture for Computer Vision • https://github.com/tensorflow/models Что делаем: • Используем исходные картинки — делаем бинарные шарды • Делаем много своих файлов на основе таковых для имаджнета с более мягкими условиями искажений для создания картинок на лету, добавляем возможность сохранять айдишники картинок вместе с содержимым и записывать вероятности в HDF5-файлы • Разные интервалы для генерации искажений уменьшаем раза в 2 • Оставляем как минимум 40% исходных изображений (а не 8!) Что не понравилось: • Не удалось получить валидную выдачу всех предсказаний с id • Пришлось гонять сессии tensorflow с 1 картинкой Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 13 / 19
  • 14. Подходы к решению Inception-v3 / Tensorflow Качество одной модели Inception-v3 на валидации Итерации Точность 5000 0.7735 10000 0.9031 15000 0.9262 20000 0.9347 30000 0.9446 60000 0.9518 90000 0.9544 120000 0.9571 Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 14 / 19
  • 15. Подходы к решению Объединение различных моделей Качество для различных смесей (рассматривались различные сценарии того, что успеет обучиться и предсказаться): Модель Точность ResNet341-crop 0.9497 ResNet3410-crop 0.9537 2 × ResNet3410-crop 0.9559 Inception-v31-crop 0.9564 Inception-v310-crop 0.9588 ResNet3410-crop · Inception-v31-crop 0.9594 ResNet3410-crop · Inception-v310-crop 0.9608 2 × Inception-v310-crop 0.9613 2 × ResNet3410-crop · 2 × Inception-v310-crop 0.9627 Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 15 / 19
  • 16. Результат Итоговая модель Предсказания — arg max вероятностей, полученных по формуле ResNet340.15 10-crop · ResNet340.15 10-crop · Inception-v30.35 10-crop · Inception-v30.35 10-crop Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 16 / 19
  • 17. Результат Вычислительная сложность ResNet-34: • 32 картинки в батче • 3250MB памяти на батч • 12000 батчей на эпоху • 1 эпоха за 45 минут • Полное обучение (90 эпох) — 60 часов Inception-v3: • 32 картинки в батче • 11750MB памяти на батч • 12000 батчей на эпоху • 1 эпоха за 4 часа • Полное обучение (12 эпох) — 48 часов Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 17 / 19
  • 18. Результат Финальный рейтинг Евгений Нижибицкий Конкурс Avito-2016 13 августа 2016 г. 18 / 19