Увлекательная история, как любитель Lego по имени Жак придумал алгоритм для сортировки огромного количества деталей с помощью нейросети.
После путешествия в Леголэнд, автор снова вернулся к детскому хобби — строительству из Lego. Цена на конструкторы высокая, даже при покупке подержанных наборов. Самая дешевая опция — покупка несортированных Lego деталей на вес, через аукционы на Ebay. Автор заметил, что цена подержанных наборов ~ 40$/кг, несортированных деталей ~ 10$/кг, редкие детали из Lego Technic доходят до 100$/кг. Существует индустрия людей, которые покупают несортированные детали оптом, сортируют их вручную на наборы или отбирают наиболее ценные детали, и продают в 4-10 раз дороже после сортировки.
В развлекательных целях автор решил сделать автоматический сортировщик. Однажды оставив заявку на покупку больших партий несортированных деталей на Ebay, Жак отправился спать. На следующее утро он выиграл аукционы и стал обладателем 2 тонн конструктора, который забил весь его гараж. Когда пути назад уже не было, он стал работать над сортировщиком.
На пути Жак столкнулся с многочисленными проблемами. Например, сложности возникли с нахождением подходящего конвейера для подачи деталей с нужной скоростью. После попадания на ленту конвейера, детали проезжали мимо камеры, которая фотографировала деталь для распознавания. Алгоритм распознавания деталей, ожидаемо, стал наиболее трудоемкой частью сортировщика. Необходимо было создать изображения тысячи разных деталей, с учетом сотни цветов.
Методом проб и ошибок с библиотеками компьютерного видения и байесовской классификацией, Жак остановил выбор на нейросети от Google — TensorFlow. Для работы с ней ему пришлось окончить несколько онлайн-курсов по machine learning (ссылка на курс: http://amp.gs/mA3i ). В результате, удалось за несколько дней научить нейросеть распознавать детали, повысив точность с 50 до 100 процентов.
После обработки изображения нейросетью, правильно распознанные детали сдуваются струей воздуха с конвейера в нужную корзину.
Ссылка на статью: http://amp.gs/mA3N
История в двух частях в блоге Жака:
Telegram канал Robotics Channel
Присоединяйся: