Краткий обзор в обнаружении объектов API TensorFlow. |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2019-04-16 22:10 "С момента инновационного прорыва в технологии нейронных сетей в 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 Комментарии: |
|