2016-09-14 4 views
3

прочитав this article о парне, который использует тензорный поток для сортировки огурца в девяти разных классах. Мне было интересно, можно ли применить этот тип процесса к большому количеству классов. Моя идея состояла бы в том, чтобы использовать его для идентификации деталей Lego.Использование тензорного потока для идентификации легированных кирпичей?

На данный момент сайт, такой как Bricklink, описывает более 40,000 different parts, поэтому он будет немного отличаться от примера огурца, но мне интересно, подходит ли оно. Нет простого способа получить сотни изображений для каждой части, но делает возможным следующий процесс:

  • сфотографировать деталь;
  • попытайтесь идентифицировать деталь с помощью тензорного потока;
  • если он не идентифицирует правильную деталь, сделайте больше снимков и подайте им нейронную сеть;
  • Перейти к следующей детали.

Таким образом, каждый раз, когда мы сталкиваемся с новой частью, мы «учим» сеть своей ссылкой, чтобы ее можно было узнать в следующий раз. Подобно этому и после сотен итераций, контролируемых человеком, можем ли мы представить, что тензорный поток способен распознавать детали? По крайней мере, самые распространенные?

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

Спасибо.

+0

Помните, что у вас есть 3D-модель CAD всех частей, которые, по крайней мере, вы могли бы использовать для создания обучающих изображений – Eric

ответ

1

Вы можете прочитать о работе Жака Mattheij, он на самом деле использует настроенную версию Xception работает на https://keras.io/.

Введение Sorting 2 Metric Tons of Lego.

В Sorting 2 Tons of Lego, The software Side вы можете прочитать:

Жесткий вызов, чтобы иметь дело с рядом должен был получить учебный набор большой достаточно, чтобы сделать работу с возможным 1000+ классов. Сначала это казалось непреодолимой проблемой. Я не мог понять, как сделать достаточное количество изображений и пометить их вручную в приемлемое время, даже самые оптимистичные расчеты заставили меня работать 6 месяцев или дольше полный рабочий день, чтобы сделать набор данных, который позволил бы машина до работает со многими классами деталей, а не только с одной.

В конце концов решение смотрело мне в лицо, по крайней мере, на неделю , прежде чем я, наконец, убедился: это не имеет значения. Все, что имеет значение, это то, что машина накладывает собственные изображения большую часть времени, а затем мне нужно всего лишь , чтобы исправить ошибки. По мере улучшения будет меньше ошибок . Это очень быстро расширило количество обучающих образов. В первый же день мне удалось выложить примерно 500 частей. На следующий день машина добавила еще 2000, причем около половины из них помечены неправильно. Итоговые 2500 частей, на которых основывался следующий раунд обучения через 3 дня, в результате чего появилось еще 4000 деталей, 90% из которых были помечены правильно! Поэтому мне пришлось только исправить около 400 частей, ополаскивать, повторить ... Итак, к концу двух недель появился набор данных 20K, все помечены правильно.

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

Недавнее обновление - Sorting 2 Tons of Lego, Many Questions, Results.


CHOLLET, François. Xception: Deep Learning with Depthwise Separable Convolutions. arXiv preprint arXiv:1610.02357, 2016.

+0

Спасибо Алессандро, я пропустил этот пост в блоге, он кажется сказать, что решение было действительно более эффективным, чем Tensorflow, поэтому я буду принимать этот ответ, поскольку он кажется лучшим способом! Благодарю. – Sylvain

0

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

Я действительно думаю о тензорном потоке, так как я могу запустить его локально.

codelab: TensorFlow для Поэтов, описывает почти точно, что вы хотите достичь,

Для демо версии Ватсон: https://www.ibm.com/developerworks/community/blogs/ibmandgoogle/entry/Lego_bricks_recognition_with_Watosn_lego_and_raspberry_pi?lang=en

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