Как распознать несколько объектов в одном и том же изображении

62
7

Я новичок в TensorFlow.

На самом деле, я тестирую некоторые примеры классификации "Сверточная нейронная сеть" на веб-сайте TensorFlow и объясняет, как КЛАССИФИКАЦИЯ входных изображений в заранее определенные классы, но проблема в том, что я не могу понять, как ДЕТЕКТрировать несколько объектов в то же изображение. Например, у меня было входное изображение с кошкой и собакой, и я хочу, чтобы мой график отображал на выходе, что они оба из них "КАТ И СОБАКА" на изображении.

спросил(а) 2017-02-21T13:16:00+03:00 3 года назад
1
Решение
114

Отличный вопрос. Обнаружение нескольких объектов в одном и том же изображении кипит, по сути, является "проблемой сегментации". Двумя хорошими и популярными алгоритмами являются YOLO (вы только посмотрите один раз) и SSD (One Shot Multibox Detector). Я включил ссылки на них внизу.

Я бы посмотрел несколько видеороликов о том, как работает YOLO, и посмотрите, понимаете ли вы эту идею. Затем прочитайте статью на SSD и посмотрите, почему вы используете этот алгоритм еще быстрее и точнее.

Оба алгоритма однопроходные: они только смотрят на изображение "один раз" и предсказывают ограничивающие поля для категорий, которые они видят. Есть более точные алгоритмы, но они медленнее (они сначала выбирают много точек, которые они хотят посмотреть, а затем запускают классификатор только в этом месте. В результате они запускают этот классификатор многократно на изображение, что является медленным).

Как вы заявили, что вы новичок в Tensorflow, вы можете попробовать этот код, сделанный другими людьми: https://github.com/thtrieu/darkflow. Очень обширное readme показывает вам, как начать работу с вашим собственным набором данных.

Удачи, и сообщите нам, если у вас есть другие вопросы, или если эти алгоритмы не соответствуют вашему прецеденту.

ответил(а) 2017-07-18T09:34:00+03:00 2 года, 7 месяцев назад
61

Наивный подход к тому, что вы пытаетесь сделать, - это классифицировать части изображения самостоятельно.


Но есть несколько лучших методов обнаружения объектов. На самом деле существует TensorFlow Object Detection API, который дает вам доступ к наиболее распространенным методам обнаружения объектов, таким как Faster R-CNN или SSD.

ответил(а) 2017-07-18T09:45:00+03:00 2 года, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема