Comments 33
А что делать, если нет монетки рядом? А перспективная коррекция положения монетки и болтика?
del
И не вижу графика итоговых точностей. Такое обилие классов и такая длинна пайплайна приводит к накоплению ошибки. На каждом уровне ошибка выше и выше. С какой вероятностью полностью определит выход правильно?
Условно, если вы классифицируете 5 параметров с точностью 90% итоговая точность должна получатсья 0.9^5 = 60%, что достаточно хреновенько…
//Упс, увидел что пост выложил не автор доклада, а Роман (приветствую!). Если авторы тут появляются, то вопрос к ним:)
Со своей стороны, могу предположить, что точность будет падать не так сильно. Скорее всего точность каждой модели зависит от связанных параметров (например, плохого освещения или контрастного фона).
Грубо говоря, если 10% ошибок каждой модели связаны строго с одними и теми же изображениями, то итоговая точность составит те же 90%, а не 60%. Естественно, в реальных условиях будет какой-то промежуточный вариант. Но раз клиент остался доволен — значит не все так плохо.
Кроме Amazona, у нас было два конкурента-стартапа со своими решениями для заказчика.
Космос прямо. Такая жесткая демотивация сразу. Начинаешь читать статью, и первая мысль «хм, до какой только узкой нетривиальной ниши люди не додумаются, чтобы свой голубой не то, что океан, а хотя бы пруд найти?», а тут такое — все придумано до нас, даже пытаться не стоит.
распечатали на принтере много цветных фонов, купили эти 50 болтов и сфотографировали на фонах данные для обучения
интересно, смотрели ли в сторону чего-то вроде 3d max? Уверен, что 3д модели шурупов должны быть в свободном доступе, и, на первый взгляд, нагенерировать миллионы изображений не кажется сложной задачей.
Если просто рендерить много углов съемки для многих деталей, то сеть на реальных фото плохо работает(точность ~76%). Добавляли разные тени, блики, фоны, артефакты съемки — прогресс был очень медленный (~81%), при этом мы фотографировали сами и смотрели что нужно имитировать в 3D.
В итоге четыре человека с помощью смартфонов за три обычных рабочих дня, сфотографировали выборку которая дала сразу 89%.
Успешно использовать рендер можно только если:
- Есть 3D модели или их дешевле сделать чем фотографировать исходник
- Конечные условия съемки изделий будут «тепличными» и их легко имитировать для обучения сети
Там был конвейер и роботы, которые должны брать детали, сверлить в них дырки и класть обратно. Там кроме теней и бликов (да, это жизненно важно), использовали ещё две техники.
Роботов-то мало, у каждого камера, можно снять с инеё индивидуальные шумы и добавить в обуечние, помогает.
И ещё стилевой перенос! Можно брать рендер и с него переносить стиль на реальную картинку на камере (вроде бы именно в эту сторону), и типа огненно работает. Причём визуально картинки до и после переноса не отличаются. =)
У нас же был кейс идентичный статье (Хобби проект на благо родного предприятия).
Розничные клиенты с разовыми покупками фитингов для пневмо линий, гидро линий и т.д. Каталог 1500 фитингов. Клиент может нормально заказать только если знает партномер или точные размеры (у всех производителей разные допуски, даже на общие стандарты) И чу-чуть магии слов: «там насечка косая», «две продольные канавки», «ну итальянский! Что не понятного…»
Решение в итоге не такое технологичное как в статье: Клиент высылают фотку в почту, меседжер или форму на сайте. И менеджер (который раньше просто сливался от таких заказов) Скармливает фотку скрипту, тот выдает первые 5 по вероятности позиции. Все на Python, OpenCV для предобработки, «по учебнику» Xception и RESNET50 (обучали на gtx1080ti сотрудника, поэтому ограничены в ресурсах).
если: Есть 3D модели
ну ну… в наше то время жаловатся на отсутствие 3д модели болтов.
Если рассматривать реальный мир, мало кому нужна точная модель шурупа или болта с точной резьбой и тем более фото реалистичной текстурой и материалом. У нас точно такая же ситуация вышла, есть 1500 моделей в которых только контуры и значимые размеры, финишная отделка вообще не сделана, а это весомые признаки для сети.
Второй момент, это сравнение затрат на хорошего специалиста 3D который понимает как приблизить картинку к реальности(про Style Transfer мы не догадались тогда) и на 4х офисных планктонов с телефонами в руках. Большой вопрос от какого кол-ва деталей 3D путь выйдет более рентабельным.
Это не так просто. В индустрии автономного вождения это отдельная ниша--создание синтетических картинок как будто бы из камеры автономного автомобиля. К примеру, очень важно качественно воспроизводить всевозможные заплатки на асфальте, потому что без них сети плохо учатся понимать дорожную разметку. Есть фирмы, которые делают рендер через ray tracing. Есть фирмы, которые делают качественные 3д модели реальных городов и дорог и их динамически меняют (пешеходы, машины, время дня). Но заплатки на асфальте, мусорки, разбитые бордюры, свисающие провода--это все сохраняется.
Изучили карту всех признаков и поняли — чтобы описать 15 000 разных шурупов, их требуется всего 50.
Есть подозрение что на шурупы таки должны быть всякие госты-DIN'ы, и даже китайские производители хотящие что-либо продать будут им следовать!
Не удержался :)
А как можно отличить по фотографии болт М4х20 от болта М5х25, которые отличаются только масштабом, причём несильно? Неужели фотографии с монеткой достаточно для обеспечения приемлемой точности, ведь возможны, например, перспективные искажения.
тип — tip (12 атрибутов);
покрытие резьбы — thread coverage (4 атрибутов).
Перевод неверный, первое явно не тип, а конец шурупа, а второе лучше назвать как «длина резьбы» или даже «отношение длины резьбы к общей длине шурупа».
Было бы здорово точно так же классифицировать лампочки на lamptest.ru AlexeyNadezhin
Представьте — мы купили стол, но потерялся один маленький шуруп, и стол без него не собрать.
Просто сфотографируйте потерявшийся шуруп и мы вам поможем!
ЗЫ: Да, я знаю, что обычно метизов больше одного в комплекте. Но.
Как мы обучили нейронную сеть классифицировать шурупы