Краткий обзор в обнаружении объектов API TensorFlow.

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


"С момента инновационного прорыва в технологии нейронных сетей в 2012 году, когда глубокая модель на основе CNN-сети под названием AlexNet выиграла ежегодный конкурс по распознаванию изображений ImageNet, резко сократив частоту ошибок, многие исследователи в области компьютерного зрения и обработки естественного языка начали использовать преимущества глубоко обучающихся моделей.

Современные реализации обнаружения объектов на основе глубокого обучения основаны на сверточных нейронных сетях (CNN-сетях) и строятся поверх предварительно натренированных моделей, таких как AlexNet, Google Inception, либо поверх еще одной популярной сети VGG. У этих CNN-сетей обычно натренированы миллионы параметров, и они могут конвертировать входное изображение в набор признаков, которые могут далее использоваться для таких задач, как классифицирование изображений, рассмотренное нами в предыдущей главе, и обнаружение объектов, среди прочих задач, связанных с компьютерным зрением.

В 2014 году был предложен новейший детектор объектов под названием RCNN (Regions with CNN features, участки с CNN-признаками), в котором сеть AlexNet была вторично натренирована набором помеченных данных для обнаружения объектов, и он показал большое улучшение точности, по сравнению с традиционными методами обнаружения. RCNN-детектор сочетает в себе метод «предложений участков» (region proposals), который генерирует около 2000 возможных участков-кандидатов, и выполняет CNN-сеть в каждом из этих участков для классифицирования и предсказания ограничительной рамки. Затем он объединяет эти результаты для создания результата обнаружения. Процесс тренировки RCNN-детектора довольно сложен и занимает несколько дней. Скорость выведения заключения также довольно медленная, занимающая на GPU почти минуту для одного изображения.

С тех пор как был предложен RCNN-детектор, один за другим стали выходить более эффективные алгоритмы обнаружения объектов: быстрый RCNNдетектор (Fast RCNN), более быстрый RCNN-детектор (Faster RCNN), детектор YOLO (You Only Look Once, вы смотрите только раз), SSD-детектор (Single Shot Multibox Detector, однократный многорамочный детектор) и детектор YOLO v2.

В 2014 году Андрей Карпати (Andrej Karpathy) написал хорошее введение в RCNN-детектор «Playing around with RCNN, State of the Art Object Detector» («Игрушки с RCNN – современный детектор объектов») (https://cs.stanford.edu/people/karpathy/rcnn). В рамках Стэнфордского курса CS231n Джастина Джонсона (Justin Johnson) есть хорошая видеолекция «Spatial Localization and Detection» («Пространственная локализация и обнаружение»), посвященная обнаружению объектов с подробной информацией о RCNN-детекторе, быстром RCNN-детекторе, более быстром RCNN-детекторе и YOLO-детекторе. SSD-детектор подробно описывается на веб-странице https://github.com/weiliu89/caffe/tree/ssd. Детектору YOLO2 посвящен замечательный веб-сайт https://pjreddie.com/darknet/yolo.

Быстрый RCNN-детектор (Faster RCNN) значительно улучшает процесс тренировки и сроки выведения заключения (10 часов на тренировку и 2.x секунд на заключение). Это достигается путем применения CNN-сети ко всему входному изображению, а не к тысячам предложенных участков, и потом занятия предложениями участков. Более быстрый RCNN-детектор повышает скорость выведения заключения, приближаясь к реальному времени (0.2 сек), благодаря использованию сети предложений участков, делая уже более ненужным трудоемкий процесс обработки предложений участков после тренировки. В отличие от семейства алгоритмов обнаружения на основе RCNN-детектора, детекторы SSD и YOLO – это однократные методы, то есть они применяют одну CNN-сеть к полному входному изображению без использования предложений участков и классифицирования участков. Это делает оба метода очень быстрыми, а их средняя прецизионность (Mean Average Precision, mAP) составляет около 80%, опережая более быстрый RCNN-детектор1.

Если вы впервые слышите об этих методах, то вы, вероятно, почувствуете себя немного растерянным. Но как разработчику, заинтересованному во внедрении технологии ИИ в мобильные приложения, вам не нужно разбираться во всех тонкостях настройки глубокой нейросетевой архитектуры и тренировки моделей обнаружения объектов; вы просто должны знать, как все это использовать, и, если необходимо, выполнять вторичную тренировку предварительно натренированных моделей, а также знать, как использовать предварительно натренированные и вторично натренированные модели в приложениях для iOS и Android.

Как применять предварительно натренированные модели обнаружения объектов, а также вторично натренированные модели в своем приложении для iOS описано в книге "Умные мобильные проекты с TensorFlow". Содержание, ознакомительные главы и информация о предзаказе на сайте ДМК Пресс


Источник: cs.stanford.edu

Комментарии: