2017-02-21 9 views
1

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

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

ответ

5

Большой вопрос. Обнаружение нескольких объектов в одном и том же изображении кипит, по сути, является «проблемой сегментации». Два хороших и популярных алгоритма: YOLO (вы только смотрите один раз) и SSD (однопоточный мультибокс-детектор). Я включил ссылки на них внизу.

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

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

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

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

+0

Блестящий ответ и ссылки, которые вы указали, были на месте! Я наградил тебя щедростью. Большое спасибо за то, что поделились своими опытом в этой теме! – JohnV

1

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

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

Смежные вопросы