YOLO vs Inception на уникальных изображениях

У меня есть изображения уникальных продуктов, которые используются на моем рабочем месте. Я не могу себе представить, что в исходной базе данных уже есть аналогичные элементы, на которых ее обучали.

Я пробовал тренировать модель с помощью YOLO. Это длилось очень-очень долго. Может быть, 7 минут между эпохами; и я хотел сделать 1000 эпох из-за небольшого размера данных.

Я использовал tiny-yolov2-voice cfg / weight на 1.0 GPU. У меня было видео с этим предметом, но я разбил его на кадры, чтобы можно было комментировать. Затем я попытался потренироваться на изображениях (не на видео). Продукция связана со здоровьем. Практически все, что использовалось бы в больнице.

Айв также использовал начальный метод для изображений, которые я получил от Google. Я заметил, что начальный метод был очень быстрым и давал точные прогнозы. Однако меня беспокоит, что мои изображения слишком уникальны, чтобы их можно было изначально использовать.

Какой метод лучше всего использовать?

Если вы порекомендуете YOLO, не могли бы вы посоветовать, как ускорить тренировочную фазу?

Если вы порекомендуете начало, не могли бы вы объяснить, почему он работает с уникальными изображениями? Думаю, мне сложно понять, как inception знает, по какому предмету я пытаюсь тренироваться, без аннотаций.

заранее спасибо


person Yousuf    schedule 18.06.2018    source источник
comment
Пожалуйста, добавьте подробности к вашему вопросу, например, установили ли вы darknet или COCO и какую версию YOLO вы используете? Он работает на CPU или GPU? Вы тренируетесь на одиночных изображениях или видео? Добавьте что-нибудь полезное. Также может быть полезно получить представление о характере ваших специальных продуктов. Спасибо!   -  person David    schedule 18.06.2018
comment
Спасибо, Дэвид. Я добавил некоторые детали. Кроме того, я почти уверен, что это даркнет. Вот ссылка на репозиторий github, который я использовал. github.com/thtrieu/darkflow   -  person Yousuf    schedule 18.06.2018


Ответы (2)


Просто мое впечатление (без рекомендаций или даже подобного опыта)

Взглянув на рекомендации по оборудованию, относящиеся к darknet, можно предположить, что вы можете запастись собственное оборудование, чтобы получить более быстрые результаты.
Я читал о трех различных версиях YOLO и ожидаю, что если вы загрузите рекомендуемые файлы, в них будет включено много обучения GFLOPS, но если модели никогда не подходят для ваших продуктов, то для вас они никогда может быть очень полезным.
Должен признать, что я не был активен ни с YOLO, ни с Tensorflow, поэтому мое впечатление может быть совершенно бесполезным.
Если вы посмотрите несколько видео с YOLO, вы можете заметить, что иногда верблюд помечен лошадью, и точность кажется плохой, но это зависит от порога, который применяется к изображениям, поэтому видео выглядят потрясающе, поскольку кажется, что распознавание выполняется так быстро, но с более высокой точностью процесс замедлится - также в зависимости от натренированные мотивы.
Они никогда этого не скрывают, а объясняют на изображении, что Если собака обозначена как корова, а лошадь как овца (версия 2), то в сочетании с даркнетом он становится намного быстрее, но менее точен, поэтому использование даркнета также является важным аспектом.
Информация о деталях кажется довольно плохой на веб-сайтах YOLO, они представляют ее больше, как если бы вы делали с поп-звездой, в сравнение веб-сайт Tensorflow выглядит более академичным и информирует о математике, лежащей в основе фреймворка.
Что касается Tensorflow, я не знаю о рекомендациях по оборудованию, но, поскольку вы писали, ваши результаты полезны, возможно, они немного или даже намного меньше.
Мне кажется, что YOLO в первую очередь предназначен для обнаружения в (живом) видео в реальном времени и требует длительного обучения для обеспечения высокой точности. Так что, в зависимости от вашего варианта использования, это может быть правильным, но вы должны инвестировать в оборудование, вероятно, для профессионального использования.
Это не мнение против Tensorflow, но мне нужно было проверить больше, и, похоже, требуется больше времени, чтобы получить впечатление. Что касается Tensorflow, на данный момент я даже не могу сказать, можно ли его использовать для обнаружения в реальном времени, насколько он точен, и если результаты тогда все же лучше, чем у YOLO.

Я предполагаю, что в отношении обоих решений это вопрос задействованных элементов (например, решение о включении даркнета для повышения скорости), конфигурации, обучения и корректировок. Вероятно, всегда есть что увеличить в скорости и точности, поэтому инвестирование в систему распознавания будет не статическим процессом с фиксированным концом на временной шкале, а постоянным процессом.

Это всего лишь краткий обзор моих впечатлений, у меня никогда не было опыта работы с каким-либо программным обеспечением для распознавания, и я вряд ли рекомендую вам принимать какое-либо решение на основе моих слов.
Просто если вы хотите использовать любое профессиональное программное обеспечение для распознавания, особенно для распознавания в реальном времени вам, вероятно, придется инвестировать в оборудование.

person David    schedule 18.06.2018

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

Подробнее о трансферном обучении

person Rizvi Hasan    schedule 17.11.2018