Введение
Привет, Хабр! Это моя первая статья, по этому не судите строго. Однажды я решил создать стартап по разработке автоматической автозаправочной станции, включающий, в том числе "роботизированную" руку, способную автоматически заправлять транспортные средства, независимо от марки. В целом про проект я планирую написать отдельную статью, а в этой рассказать об одной из его задач - распознавании лючка горловины топливного бака.
Описание задачи
Для открытия лючка бензобака, для дальнейшей заправки транспортного средства, необходимо правильно спозиционировать руку робота. После позиционирования, осуществляется открытие лючка с помощью присоски. Соответственно, необходимо, в автоматическом режиме, распознавать контур лючка бензобака. Так как я слабо разбирался в распознавании образов, первым делом, я решил изучить различные методы, с помощью которых, данная задача может быть решена.
Мы можем отнести задачу распознавания крышки лючка заправочной горловины бензобака к типу - сегментации образов. Для решения задач данного типа применяются, к примеру, следующие методы: контурный анализ, нейронные сети, методы фильтрация и т.д. В общем случае задача сегментации образов не решена - отсутствуют универсальные алгоритмы, но существуют решения для частных случаев.
Задачу распознавания лючка я пробовал решать классическим (контурный анализ) и нейросетевым методом.
В рамках классического подхода был разработан алгоритм обнаружения, на основе методов контурного анализа. В рамках нейросетевого подхода, были опробованы различные нейросетевые архитектуры и в дальнейшем выбор остановился на U-net, дополненной промежуточным слоем нормализации весов.
Как показано далее — качество обнаружения объектов при помощи нейросети, основанной на архитектуре U-Net – слабо зависит от условий освещенности (достаточно освещения самого объекта), от расстояния до объекта и зашумленности (уровень перекрытия контура объекта должен быть не более 20%).
В результате применения алгоритма на основе классических методов контурного анализа качество распознавания заданного объекта (измерялось метрикой Дайса) – 0.85, качество распознавания алгоритмом обнаружения на основе нейросетевого метода – 0.96, что свидетельствует о том, что применение нейросетевого подхода для решения задачи обнаружения заданных объектов дает более точный результат. Качество распознавания измерялось на контрольной выборке, состоящей из произвольно выбранном из собранного датасета множестве изображений. Но обо всем по порядку.
Датасет
Для тестирования и оценки качества распознавания реализованных алгоритмов был собран датасет изображений крышeк горловин бензобаков (далее — КЛГ), состоящий из более чем 2500 различных фотографий крыльев автомобилей (разрешение не меньше 1024x1024x3), а также «попиксельных» масок (разметок) КЛГ, аналогичного размера.
В датасет включались изображения произвольных крыльев легковых транспортных средств, находящихся на улицах и соответствующие следующим требованиям:
легковой автомобиль произвольной расцветки,
площадь загрязнений не более 20% от площади КЛГ, то есть в базу данных попадали только «слабо» загрязненные изображения,
расстояние до автомобиля от фотоаппарата 50-150 см,
преимущественно светлое время суток, фотографии были сделаны без дополнительной вспышки, причем в датасет были включены несколько фотографий, выполненных в темное время суток, с использованием вспышки,
фотографии были сделаны при помощи камеры мобильного телефона, которая обеспечивала заданное разрешение.
Разметка фотографий (то есть выделение контура КЛГ) осуществлялась по внутренней границе КЛГ.
Методика сравнения алгоритмов
Для оценки качества обнаружения объектов был применен следующий подход:
Из датасета было выбрано подмножество - контрольная выборка, состоящая из 70 изображений, полученных в условиях различного освещения, разной степени загрязненности, а также с изображением разных видов КЛГ («скругленный прямоугольник» или «круглый» КЛГ).
Все изображения из контрольной выборки подавались на вход разработанных алгоритмов. В результате работы алгоритм на выходе выдавал маску, отмечающую местоположение объекта КЛГ. По каждой полученной, в результате работы алгоритма, маске, и маске, сохраненной в датасете, рассчитывалась метрика Дайса. Для каждого разработанного алгоритма рассчитывалась усредненное значение, получаемое расчетом среднего по величине метрики Дайса на каждом изображении контрольной выборки.
Для каждого алгоритма измерялось его время работы для каждого изображения из контрольной выборки. Для получения второй оценки качества время работы усреднялось по всем фотографиям контрольной выборки. Одновременно с расчетом, сохранялось время работы алгоритма.
Метрика Дайса
Для контроля качества обнаружения КЛГ на изображении использовалась метрика Дайса (Dice):
где P - площадь, A - предсказанная маска, B - фактическая маска
Эта метрика представляет собой отношение площади пересечения обнаруженного контура КЛГ и контура фактической маски к площади объединения данных контуров.
За лучший алгоритм брался алгоритм, у которого оба параметра являются наилучшими на контрольной выборке: усредненная метрика Дайса – максимальная, среднее время работы – минимальное.
Алгоритм обнаружения КЛГ на основе дескрипторов Фурье и классификатора контуров на основе случайного леса
Описание алгоритма обнаружения КЛГ:
-
Применение к исходному изображению алгоритма Mean Shift
Алгоритм Mean Shift является итерационным, выполняет сдвиг каждой точки изображения к среднему из точек в ее окрестности, среднее смещение — это процесс поиска мод на поверхности, построенной с выбранным ядром.
Применение билатерального фильтра
-
Трансформация изображения в пространство HSV и получение HSV маски
После трансформации вычисляется маска. При вычислении маски в расчет берутся следующие предположения:
большая часть изображения имеет однородный тон (H)
съемка производилась при естественном освещении
Тогда в каждой локальной области изображения размера выбранного шага, производится поиск максимальных порогов для H и V, при которых обнуляется наибольшее количество пикселей рассматриваемой области. В результате ненулевые элементы маски будут отражать неосвещенные участки изображения.
-
Применяется метод Phase Stretch Transform для поиска границ на изображении
PST или Phase Stretch Transform — алгоритм обнаружения краев, который находит изменения интенсивности цвета на изображении.
PST работает с входным изображением в градациях серого и выводит карту границ. Выходная карта границ, такая же, как размер входного изображения, является двоичной с значение пикселя равно 1, где оператор PST находит резкие переходы по интенсивности, и 0 в остальных точках.
PST использует изотропный фильтр Гаусса с заданной пользователем масштабом. Поскольку резкие переходы интенсивности на краях и/или углах, отображаются в высоких частотах. Полученные на шаге 4 границы отфильтровываются при помощи маски, полученной на шаге 3.
К полученным на шаге 5 границам применяется медианный фильтр и морфологическое преобразование - наращивание.
Производится выделение контуров на полученной на предыдущем шаге изображении при помощи алгоритма Satoshi Suzuki.
Найденные контуры аппроксимируются при помощи алгоритма Рамера-Дугласа-Пеккера.
-
Производится отбор полученных контуров по геометрическим признакам
Полученные на предыдущем шаге контуры, отбираются по следующим критериям: площадь и длина контура. В случае если площадь или периметр найденного контура меньше заданного порогового значения – данный контур исключается из рассмотрения, те исключаются очень маленькие и очень большие контуры по сравнению с изображением.
Для полученных контуров производится вычисление дескрипторов Фурье
За лучший контур берется тот, у которого Евклидово расстояние между его дескрипторами Фурье и дескрипторами Фурье шаблона - наименьшее.
-
Для отсеивания ложно положительных контуров используется классификатор «Случайный лес». Который предварительно обучается следующим образом:
рассчитывается метрика Дайса для полученного контура и известной маски.
в случае если значение метрики Дайса меньше порогового значения, то дескрипторам полученного контура присваивается метка 0, иначе 1.
по результатам прогона всего датасета производится обучение классификатора с подобранными параметрами.
Случайный лес
Алгоритм машинного обучения, заключающийся в использовании комитета (ансамбля) решающих деревьев. Алгоритм сочетает в себе две основные идеи: метод бэггинга и метод случайных подпространств. Алгоритм применяется для задач классификации, регрессии и кластеризации. Основная идея заключается в использовании большого ансамбля решающих деревьев, каждое из которых само по себе даёт очень невысокое качество классификации, но за счёт их большого количества результат получается хорошим.
Расчет метрики Дайса
Метрика Дайса рассчитывалась на контуре, полученном в результате работы алгоритмов и его размеченной маски.
Обнаружение КЛГ при помощи нейронной сети с архитектурой U-Net
Решение задачи обнаружения КЛГ, основанное на контурном анализе, содержит в себе следующие отрицательные моменты: тонкая настройка на конкретный датасет и условия съемки (освещение, расстояние до КЛГ), то есть в случае изменчивости условий данный подход требует перенастройки и зачастую применения разных алгоритмов обнаружения.
В конкретной задаче обнаружения КЛГ существует большое количество различных типов лючков, лючки могут быть повернуты к камере под разными углами, и съемка может происходить в разное время суток и в разных метеорологических условиях.
Для решения задачи обнаружения КЛГ при помощи нейронной сети были проанализированы различные их архитектуры, используемых для решения задач компьютерного зрения.
Основными архитектурами, продемонстрировавшими наименьшую ошибку на обучающих данных, являются: AlexNet, GoogLeNet, VGG-19, ResNet-50, ResNet-152, Inception v4, U-net. На момент проведения анализа одни из лучших результатов по качеству распознавания изображений показала архитектура U-Net именно поэтому она была выбрана за основу для решения задачи обнаружения КЛГ.
Алгоритм обучения U-Net
U-Net — архитектура свёрточной нейронной сети, предназначенная для сегментации изображений. Архитектура сети представляет собой полносвязную свёрточную сеть, модифицированную так, чтобы она могла работать с меньшим количеством примеров (обучающих образов).
U-Net считается одной из стандартных архитектур сверточной нейронной сети для решения задач сегментации (в том числе и обнаружения объектов), когда нужно не только определить класс изображения целиком, но и сегментировать его области по классу, т. е. создать маску, которая будет разделять изображение на несколько классов. Архитектура состоит из стягивающего пути для захвата контекста и симметричного расширяющегося пути, который позволяет осуществить точную локализацию
Сжимающий путь похож на типичную свёрточную сеть, он содержит два подряд свёрточных слоя 3x3, после которых идет слой ReLU и пулинг с функцией максимума 2×2 с шагом 2.
Каждый шаг расширяющего пути содержит слой, обратный пулингу, который расширяет карту признаков, после которого следует свертка 2x2, которая уменьшает количество каналов признаков. После идет конкатенация с соответствующем образом обрезанной картой признаков из сжимающего пути и две свертки 3x3, после каждой из которой идет ReLU. Обрезка нужна из-за того, что мы теряем пограничные пиксели в каждой свертке. На последнем слое свертка 1x1 используется для приведения каждого 64-компонентного вектора признаков до требуемого количества классов.
Исходные изображения с разрешением не ниже 1024x1024 и соответствующие им изображения масок использовались для обучения сети. В качестве функции активации на последнем свёрточном слое использовалась сигмоида. Функция активация на остальных слоях – ReLU. Минимизируемая функция потерь – кросс-энтропия с добавлением метрики Дайса:
где P-площадь фигуры, A — предсказанная маска на изображении x, B – размеченная маска (размеченная). В качестве оптимизатора был выбран Adam. Каждую эпоху сравнивалась усредненная метрика Дайса на валидационной выборке, в случае если значение метрики было меньше чем, из предыдущей сохраненной, то полученные на данной эпохе веса нейронной сети — сохранялись.
Также осуществлялась аугментация данных, то есть генерация дополнительных изображений на основе существующих.
Существует множество вариантов аугментации. Самыми популярными являются следующие: отражение по горизонтали (horizontal flip), случайное кадрирование (random crop) и изменение цвета (color jitter). Можно применять различные комбинации, например, одновременно выполнять поворот и случайное масштабирование. Кроме того, можно варьировать величину насыщенности (saturation) и значения (value) всех пикселей (компоненты S и V цветового пространства HSV). Для каждого изображения применялась процедура аугментации с настраиваемыми случайными параметрами.
По сравнению с оригинальной архитектурой U-Net для ускорения тренировки НС была применена методика нормализации весов по мини батчам. Если на вход некоторому слою нейронной сети поступает вектор размерности. Нормализуем данный вектор по каждой размерности k и добавим два параметра сжатия и сдвига нормализованной величины для каждого Данные параметры настраиваются в процессе обучения вместе с остальными параметрами модели.
Результаты работы алгоритмов
Тестирование алгоритмов осуществлялось на сервере со следующими характеристиками:
CPU: 2 x Intel Xeon 2.3 GHz
Memory: 13 Gb
GPU
Алгоритм обнаружение КЛГ на основе дескрипторов Фурье и классификатора контуров на основе случайного леса
Алгоритм реализован на языке Python с использованием библиотеки OpenCV. На вход алгоритму последовательно подаются изображения из контрольной выборки. Качество обнаружения КЛГ оценивалось при помощи метрики Дайса.
Усредненная метрика Дайса на контрольной выборке: 0.842
Примеры изображений, полученные после выполнения соответствующего шага алгоритма представлены ниже
Обнаружение КЛГ при помощи U-Net
Алгоритм реализован на языке Python с использованием библиотек Tensorflow и Keras.
Обучение
Экспериментально подобраны следующие значения гиперпараметров:
размер батча: 2
кол-во эпох обучения: 30
разделение датасета на тренировочный и валидационный в пропорции: 80/20
по сравнению с исходной архитектурой U-Net после сверточного слоя добавлена нормализация весов
функция активации после каждого слоя – ReLU
функция активации после последнего слоя – Сигмоида
функция потерь: сумма кросс-энтропия и 1-Дайс
Параметры аугментации
нормализация яркости изображения
отражение по горизонтали: случайно с вероятность 50%
сдвиги по горизонтали и вертикали случайно не более чем на 10% от размера изображения
По результатам обучения значение метрики Дайса, рассчитанное за эпоху сократилось с 0.45 после первой эпохи до 0. 02565 после 30 эпохи обучения, что свидетельствует о "хорошей" сходимость НС.
Предсказание местоположения КЛГ
Результаты обнаружения КЛГ на тестовой выборке после двух эпох и после 30 эпох обучения НС представлены ниже.
Распознанные НС точки, считаются относящимися к КЛГ в случае, если значение яркости в них выше 0.9.
Усредненный коэффициент Дайса по тестовой выборке (70 изображений, не участвовавших в обучении) составляет:
после 2-х эпох обучения: 0.4863103,
после 30 эпох обучения: 0.9668401, это значит, что 96% всех точек КЛГ нейросеть смогла детектировать успешно.
Две эпохи обучения недостаточны для уверенного распознавания КЛГ, при этом после 30 эпох обучения НС распознает КЛГ достаточно уверенно. В рамках работы было проведено обучение НС на разном количестве эпох (при одинаковых остальных параметрах), результаты контроля точности представлены в таблице ниже:
Количество эпох обучения |
Усредненная Dice |
5 |
0,41 |
12 |
0.95 |
15 |
0.95 |
Как можно увидеть из таблицы, приемлемое качество обнаружения КЛГ достигается после 12 эпох обучения НС, что подтверждается графиком.
В рамках работы было проведено исследование процесса обучения и последующего обнаружения КЛГ при помощи различных модификаций архитектуры U-Net, а именно: применение нормализации по мини батчам, добавление дропаута. Результаты обучения НС и усредненной метрики Дайса представлены в таблице ниже:
Архитектура U-Net |
Количество эпох обучения |
Dice |
Время обучения (мин) |
U-Net + batch normalization |
12 |
0.95 |
61 |
U-Net + batch normalization + dropout (0.1) |
12 |
0.96 |
63 |
U-Net + dropout (0.1) |
12 |
0.90 |
55 |
В дальнейших исследованиях использовалась НС, обученная с добавлением нормализации по минибатчам и дропаутом 0.1.
Исследование зависимости качества результата обнаружения КЛГ от входных данных
Исследование устойчивости работы НС в зависимости от входных данных для проведения обучения НС. Для исследования зависимости обнаружения КЛГ было выполнено следующие действия:
Сформирован второй датасет в 1349 изображений, который был разделен на два подмножества: для обучения и для контроля.
-
Данные датасета разделены на классы: «скругленные» лючки и «круглые» лючки – см рисунок ниже.
Проведено обучение НС только подмножестве «круглых».
Рассчитана метрика Дайса для контрольной выборки из подмножества изображений «круглые» лючки.
-
Проведено обучение на всем датасете («круглые» и «скругленные» совместно). После обучения НС на всем датасете повторно рассчитана метрика на контрольной выборке круглые лючки и на контрольной выборке, которая включала как круглые, так и скругленные КЛГ.
Результаты представлены в таблице ниже:
Вид контрольной выборки |
Датасет, на котором проведено обучение U-Net |
Dice |
«Круглые» КЛГ |
Только «круглые» КЛГ |
0.96 |
«Скругленные» КЛГ |
Только «скругленные» КЛГ |
0.92 |
«Круглые» и «скругленные» КЛГ |
«круглые» и скругленные» КЛГ |
0.96 |
Распознавания «нетипичных» изображений КЛГ
Для обучения НС обнаружению КЛГ в различных условиях, которые могут встретиться при работе на автозаправочных станциях в датасет были включены изображения ТС с загрязненными, плохо различимыми, повернутыми, слабо освещенными КЛГ. Некоторые изображения с КЛГ могут содержать на себе рисунки, надписи, переходы цвета (например, раскраска «хамелеон»), отражения фотографа (человека, участвующего в сборе датасета), а также изображения могут не содержать КЛГ вообще. Такие изображения также были включены в датасет
Результаты обнаружения «нетипичных» КЛГ приведены ниже
Вид лючка |
Dice |
КЛГ с надписями, рисунками, снегом |
0.80 |
КЛГ с переходами цвета, а также нетипичной формы или расположения |
0.89 |
КЛГ с отсутствующими лючками и результат работы НС |
0.81 |
Заключение
В результате были разработаны и реализованы классический и нейросетевой подход обнаружения заданных объектов на изображениях по их контурному представлению и выполнено сравнение их эффективности:
Алгоритм |
Время обнаружения КЛГ (сек.) |
Качество обнаружения (Dice) |
На основе дескрипторов Фурье и классификатора контуров «Случайный лес» |
0.5 |
0.842 |
На основе нейронной сети U-Net (+батч нормализация, +дропаут) |
0.3 |
0.96 |
По результатам сравнения можно сделать однозначный вывод о преимуществе нейросетевого подхода перед классическим для обнаружения КЛГ.
Комментарии (99)
Andchir
02.07.2023 21:40+5Статья полезная, спасибо. Но идея автоматизированного открытия лючка бензобака по-моему обречена на провал. Потому что есть много вариантов, при которых люк не удастся открыть легко и планово. Например, на морозе люк подмерзает, а пластиковый поводок, как на фото, проворачивается вместе с крышкой. Механизированная рука в подобных случаях может что-то повредить. Это только один пример, но, думаю, подобных проблем будет много.
Более правильный подход - разработка специального лючка бензобака.Фото
Astroscope
02.07.2023 21:40+7Более правильный подход - разработка специального лючка бензобака.
Это невозможно практически. Даже если будет разработан и насильственно внедрен такой стандарт, то появится он только на новых автомобилях для рынков, принявших этот стандарт. А уже имеющиеся автомобили - они так и останутся такими, какие они есть. В уже имеющихся автомобилях ничего не поменяется, а первые лет десять-пятнадцать они будут оставаться большинством автопарка и, постепенно уменьшаясь в процентном отношении, никогда не достигнув полного нуля, пусть даже лет через двадцать их доля начнет заметно сокращаться, а лет через тридцать их, опять же в процентном отношении, останется немного.
Нет, это неправильный подход.
JPEGEC
02.07.2023 21:40+7Учитывая страсть производителей делать тысячи вариантов оптики, генераторов, стартеров, колесных шпилек/гаек и прочих фишек и штекеров затея с единообразным лючком бака представляется слабореальной.
Javian
02.07.2023 21:40+2Они умудрились тоже самое с электромобилями начать делать.
Didimus
02.07.2023 21:40Надо было делать в формате заправочного пистолета. Они унифицированы
Astroscope
02.07.2023 21:40+1Они унифицированы
Отличаются между собой бензиновый, дизельный и для крупнотоннажного транспорта. Это специально для того, чтобы нельзя было вставить бензиновый пистолет в дизельный бак или наоборот, а для грузовиков и автобусов просто большого сечения, т.к. баки заметно больше легковых.
Art3
02.07.2023 21:40Не наоборот, бензиновый в дизельный вставляется без проблем. Ну и дизель для бензинового авто это приговор, а наоборот нет.
zuek
02.07.2023 21:40Ммммм... в юности подмешивал в топливную смесь своему мокику всякое - от керосина до олифы (на олифу "обиделся" - заглох в 10 км от дома и пришлось его толкать, но после снятия головки цилиндра и чистки свечи и камеры сгорания "ожил") - вроде ещё лет 7 после моих выкрутасов отбегал у двоюродных братьев.
Я понимаю - V-50 многократно более "тупой", чем современные автомобильные движки, но неужели всё прям столь фатально? ...ну, то, что катализатор, при его наличии, перегреется от избытка недогоревшего топлива - понятно, но вот прям всегда "приговор?
Vsevo10d
02.07.2023 21:40А почему вы думаете, что убьете именно поршневую? В первую очередь засрутся форсунки, если нет - то клапана, датчики тоже многократно офигеют, выставят какие-нибудь неадекватные параметры смеси/опережения зажигания.
iig
02.07.2023 21:40катализатор, при его наличии, перегреется от избытка недогоревшего топлива
Топливо сначала зажечь нужно. У безиновых двигателей степень сжатия значительно меньше. Заведется на остатках бензина и остановится через пару тактов с соляркой. Промывка топливной системы, и, пожалуй, все.
Astroscope
02.07.2023 21:40Не наоборот, бензиновый в дизельный вставляется без проблем.
Тонкий бензиновый не отжимает защелки клапана в более толстой дизельной горловине. Но да, такая конструкция применена не во всех дизельных машинах.
Trabant_Vishnya
02.07.2023 21:40+5Плюс есть производители, у которых вообще на ключ закрывается пробка
Astroscope
02.07.2023 21:40+7Лючки часто заперты изнутри и открываются механическим (тросиком), электрическим или пневматическим приводом - в двух последних случаях как связанным с центральным замком, так независимым от него, т.е. разблокируются вместе с отпиранием дверей или своей отдельной кнопкой. Во многих фургонах и производных от них малотоннажных грузовиках лючок механически блокируется водительской дверью. Попытки открыть правильно опознанный, но запертый лючок, очевидно будут неуспешными.
Если лючок не запирается в принципе, то велика вероятность обнаружить не просто пробку, а механически (ключом) запертую пробку. Впрочем, завинчивающейся пробки может и не быть вовсе - совершенно достаточно клапана в горловине, который открывается вставляемым заправочным пистолетом.
white-wild
02.07.2023 21:40+1Видимо следующей задачей будет распознавание марки машины.
iig
02.07.2023 21:40+3Более правильно распознавать марку машины при вьезде на заправку, и выдавать рекомендацию, к какой колонке ехать. Те кто поддерживают автоматическую заправку, направо, кто не поддерживает - налево.
konst90
02.07.2023 21:40+3Мне кажется, здесь бы помог публичный API от ГИБДД. Распознал номер, сделал запрос - в ответ получил марку авто.
usrsse2
02.07.2023 21:40Только получил её как в СТС, т. е. в виде "RENAULT SSENIS" (Scenic) или "Смарт Форд" (Smart ForFour).
С марками вариантов меньше, чем с моделями, но достаточно ли только марки? Распознает "Москвич", и что, Москвич 3 имеет такой же люк бензобака, что и Москвич 412?
konst90
02.07.2023 21:40+1Марки, разумеется, недостаточно. В пределах одной марки расположение лючка (Rio и Carnival) может отличаться сильнее, чем в одном классе (Kia Rio и Solaris).
Wesha
02.07.2023 21:40"Смарт Форд"
Тут тоже нейросеть понадобится!
SSENIS
Ну, хорошо хоть, не на P...
Nazar_Kam
02.07.2023 21:40+1Как-то всё неоднозначно. Если ИИ может достоверно обнаружить лючок, уже хорошо.
Но в разных машинах по-разному открываются баки:
Где-то изнутри салона человеком - здесь в принципе, ничего сложного (дёрнул рычаг, манипулятор сам всё сделает).
Где-то снаружи Push to open - здесь уже сложнее. Бак, скорее всего, будет закрыт на ключ, который будет необходимо передать роботу, способному правильно открыть бак. После чего главное, чтобы робот не забыл вернуть ключик :)
Wesha
02.07.2023 21:40+2Всё правильно: где автомат может открыть, там водила кайфует в кабине, потягивая кофе, и ржОт над тем, у кого машина особенная, и тот пешкарит в зной и пургу открывать роботу люк. При помощи естественного отбора
и какой-то материколичество неправильных машин асимптотически стремится к нулю.saege5b
02.07.2023 21:40+1Зачем?
Сейчас оно решается "мальчиком в жилетке".
Больше вопрос с оплатой: до сих пор нужно топать своими ножками в магазинчик. Дистанционных не так и много. При этом, много колонок содержат модули оплаты картой.
cupraer
02.07.2023 21:40-5Сейчас оно решается "мальчиком в жилетке".
В некоторых странах рабский труд отменили.
Forvad
02.07.2023 21:40>>Сейчас оно решается "мальчиком в жилетке"
Мальчику в жилетке надо зарплату платить и всякую социалку.
vvbob
02.07.2023 21:40+2В Доминикане как-то брал машину на прокат, у них ты просто подъезжаешь к колонке, даешь деньги заправщику, либо расплачиваешься картой через терминал, и он-же тебя заправляет (чеки выдают, у него касса портативная есть). Все это тоже можно не выбираясь из машины проделать.
ИМХО робот тут не справится, слишком много сложностей с разными марками машины, надо как-то взаимодействовать с водителями, что-бо они открыли лючок, надо понимать что в какую машину можно заливать, а что нельзя (дизель, например в машину с бензиновым мотором, или наоборот)
zuek
02.07.2023 21:40Да проще даже - вот, у меня Лада Гранта - какой бензин лить? 92? 95? "Экто"/"Ультра"/"Супер"/...?
vvbob
02.07.2023 21:40Ну, тут хотя-бы если вам вместо 95 нальют 92, ничего особо плохого не случится, ну может машина менее резво будет кататься, да и то в повседневной эксплуатации это незаметно будет, а вот соляру с бензином перепутать, это уже куда как хуже..
shiru8bit
02.07.2023 21:40+2В Москве и +100 км оплата через телефон почти повсеместно. За два года топать в магазинчик пришлось один раз. Колонка с оплатой картой тоже встретилась один раз, но и она поддерживала оплату через телефон.
SergeiGozalov Автор
02.07.2023 21:40Да, это один из самых важных вопросов. Действительно, автоматическая заправка не нужна если есть человек - автомобиль легко может быть заправлен, да и с дополнительным сервисом: протереть стекла, фары к примеру. Но человеку надо платить зп, налоги, искать ему замену на случай отпуска и тд Возникает вопрос экономической эффективности для собственника АЗС
iig
02.07.2023 21:40Но человек все равно нужен. Для обслуживания чего угодно не распознанного камерой. Мотоциклы, канистры, ретротехника.
konst90
02.07.2023 21:40Такой "дополнительный сервис" надо гнать поганой метлой. Неправильно протереть современные пластиковые фары - это зацарапать их. Не фатально, но попортит.
Vsevo10d
02.07.2023 21:40+4И производитель такой, радостно потирая ручки: эээ, у нас стекол отдельно не бывает, менять надо весь блок с отражателем и фишками ;)
iig
02.07.2023 21:40Неправильно протереть современные пластиковые фары
Обычно на заправке сначала спрашивают, а потом протирают.
Tarakanator
02.07.2023 21:40+1Вчера попробовал в первый раз оплатите через телефон (яндекс заправки)
Заправился, выскочило сообщение об оплате, пока выбирал нужную карту оно пропало... и всё. Заправщик говорит не он эту систему приудмал, иди плати в здание.
Поддержка в чате через 3 часа так и не ответила.
zuek
02.07.2023 21:40+2Яндекс.Заправки смотрят на Вас с недоумением... или Вы не в России сейчас? Просто вот колонок со встроенным эквайрингом я за последние лет пять как-то не видел, а с начала "самоизоляции" популярность бесконтактной оплаты в приложениях ой, как выросла (от Брянска до Питера - это то, за что готов поручиться лично, но и родня с Урала подтверждает такую же картину).
Tarakanator
02.07.2023 21:40Вчера попробовал в первый раз оплатите через телефон (яндекс заправки)Заправился, выскочило сообщение об оплате, пока выбирал нужную карту оно пропало... и всё. Заправщик говорит не он эту систему приудмал, иди плати в здание.Поддержка в чате через 3 часа так и не ответила.
Astroscope
02.07.2023 21:40ржОт над тем, у кого машина особенная
Легко и радостно ржать из среднестатистического обмылка для офисного планктона над владельцами хотродов, спорткаров и всяческой винтажной классики - это же так поднимает самооценку. :)
тот пешкарит в зной и пургу открывать роботу люк
А что, кнопкой из салона отпереть нельзя? Что важнее - дополнительная защита или удобство заправки? У меня, когда я жил в постсоветском городе, воровали пробки и пытались засунуть в бак окурки, потому что лючок не запирался - это при том, что машина ночевала в гараже! Пришлось купить пробку с замком. В менее недоразвитых странах мира проблема, наверное, менее острá, но в общем-то и в благополучном районе города, находящегося в благополучной стране, такое может случиться. Лучше уж отпирать вручную, если невозможно дистанционно.
При помощи естественного отбора
и какой-то материколичество неправильных машин асимптотически стремится к нулю.Для среднестатистического покупателя это не критерий выбора - не киллерфича. Если у вас машина с левым рулем, насколько вы озабочены, чтобы лючок бензобака был справа или наоборот для правого руля, чтобы подъезжая к заправочной колонке спокойно открывать дверь, а не искать нечто среднее между "вроде пролезу" и "шланг не дотянется"?
Wesha
02.07.2023 21:40когда я жил в постсоветском городе, воровали пробки и пытались засунуть в бак окурки, потому что лючок не запирался - это при том, что машина ночевала в гараже!
(задумчиво) Значит, где-то была мааааааленькая дырочка...
vvbob
02.07.2023 21:40+2Подъезжаешь к заправке, через "Яндекс заправку" (не реклама) оплачиваешь бензин, подходит заправщик, заправляет, ты уезжаешь.. Из машины можно вообще не выходить.
Я обычно предпочитаю выходить - размяться немного не повредит.
Tarakanator
02.07.2023 21:40+1Вчера попробовал в первый раз оплатите через телефон (яндекс заправки) Заправился, выскочило сообщение об оплате, пока выбирал нужную карту оно пропало... и всё. Заправщик говорит не он эту систему приудмал, иди плати в здание.Поддержка в чате через 3 часа так и не ответила.
vvbob
02.07.2023 21:40+1Чем сложнее система, тем больше вероятность глюков. С другой стороны робот заправщик если заглючит, так он может и машину испортить.
Tarakanator
02.07.2023 21:40+2А может и водителя. Если к примеру примет карман куртки байкера за лючок бензобака.
akakoychenko
02.07.2023 21:40+2На первый взгляд кажется, что идея ну точно не полетит. Все таки, слишком уж высок риск промахнуться на следующем этапе, и залить бензином всю заправку. Учитывая, что при этом может вылететь искра из выхлопной трубы, то ситуация взрывоопасная во всех смыслах.
Ну и да, учитывая, что лючок открывается по разному (изнутри, снаружи, может быть как-то модифицирован или кустарно починен), то логично, что иметь библиотеку всех моделей автомобилей, у которых вероятность однажды приехать на заправку, условно, выше 0.01% в данном регионе, необходимо (банально, чтобы сразу включать голосовой модуль, если люк открывается изнутри, а не тыкаться секунд 10, вызывая хейт водителя, чтобы понять это экспериментально). А, если будет библиотека и распознавание модели (подозреваю, что кто-то уже разпознавание модели сделал), то, тогда, и поиск лючка становится задачей сильно проще
SergeiGozalov Автор
02.07.2023 21:40Добрый день,
Как я уже сказал - я тут новичок, по этому еще не знаю как лучше давать обратную связь по оставленным комментариям. Напишу пока все мысли в отдельном. А в последствии либо обновлю эту статью, либо напишу отдельную в которой расскажу о стартапе в общем (идее и технологических решениях).Множество комментариев касались идеи заправки в целом. По нашему мнению технологически задача осуществимая для большинства случаев, конечно, будут исключения - главное научиться эти исключения распознавать и даже не пытаться автоматически заправлять в данных случаях.
Первое, что необходимо сделать это предложить пользователям зарегистрироваться с помощью сайта/мобильного приложения - это позволит по номеру при въезде на заправку определить марку/модель автомобиля (как правильно отметили направить известного пользователя на автоматическую заправку) и "понимать" как открывать лючок, отвинчивать или нет пробку и тд
Второе, если правильное определение пользователя позволит, с помощью обратной связи (мобильное приложение/голос), напомнить о закрытой пробке.
Третье, автомобили у которых аппаратно процесс автоматической заправки невозможен - будут исключены и их водителям будет разъяснено почему.
Четвертое, автоматическая оплата за бензин также осуществляется через мобильное приложение или же просто с пополненного заранее счета пользователя.
iig
02.07.2023 21:40+6Первое, что необходимо сделать это предложить пользователям зарегистрироваться
Ну вот, опять регистрироваться :( Чтобы зачем? Время открытия люка и вставляния заправочного пистолета ничтожно по сравнению с временем заправки. Экономия 20 секунд раз в пару недель?
автоматическая оплата за бензин
Уже придумана оплата с помощью терминала и QR-кода. Достаточно удобно.
с пополненного заранее счета пользователя.
Это ужасно. Ещё не забывать пополнять специальный счет.
ЗЫ: несказанно бесят господа, которые мало что идут пешком в кассу платить кешем/картой (машина просто стоит и занимает место у колонки), стоят там в очереди (машина продолжает стоять), озвучивают заказ, расплачиваются (машина продолжает стоять), посещают кафе/туалет (машина продолжает стоять уже заправленная). Хотя у каждого есть и телефон, и возможность быстрой оплаты. Мои наблюдения говорят что экономия времени посетителей заправки не интересует. Даже вместе с бонусами за быструю оплату.
SergeiGozalov Автор
02.07.2023 21:40Благодарю за подробный комментарий,
Уже придумана оплата с помощью терминала и QR-кода. Достаточно удобно.
Конечно ! чем больше возможностей оплаты тем лучше , думаю что для кого то удобно пополнить счет предварительно и даже не думать о телефоне , QR коде и тд, другим подойдут другие варианты, естественно никакого смысла не имеет реализовывать оплату самостоятельно - только интеграция с существующими решениями.
Ну вот, опять регистрироваться :( Чтобы зачем?
Регистрация, к сожалению, нужна практически везде, естественно можно ее сделать удобным способом не напрягая дополнительно пользователя , получив его данные (конечно с предварительного согласия ) через какие-либо сайты, возможно конечно пробовать без регистрации но тогда надо будет делать более интеллектуальное и , соответственно, менее безопасное решение
по поводу ЗЫ
Как любая новая идея, конечно, непонятно на сколько она необходима, кто то хочет идти в магазин размяться , кто то предпочтет даже стекло не открывать (при эпидемии, например), кто то будет использовать автопилот и спать во время заправки или же машина будет заправляться/заряжаться сама :)
victor-homyakov
02.07.2023 21:40+4Первое, что необходимо сделать это предложить пользователям зарегистрироваться с помощью сайта/мобильного приложения
Извините, но достало уже, когда для совершения обыденных вещей в голове разработчика возникает вот это "зарегистрироваться".
И ещё несколько моментов:
База пользователей с номерами и моделями автомобилей не будет представлять интереса ни для кого? Как вы будете охранять мои данные?
А если у меня в семье несколько автомобилей, да ещё пара-тройка служебных? Для каждого заводить свой телефон? Или перелогиниваться? А если не перелогинился или перелогинился не в ту машину - робот сделает в крыле новое отверстие там, где в базе прописан люк?
Для регистрации через сайт на этот сайт сначала надо зайти. А если связь в местности, где стоит заправка, плохая? А если у человека на телефоне просто закончился интернет? А если он проездом в роуминге?
Мобильное приложение - как обычно, получится ещё один монстр на полгигабайта, который поместится не на каждый бюджетный телефон. А чтобы скачать и установить его, находясь уже на заправке - см. предыдущий пункт. А потом в приложении тупо не будет твоей модели автомобиля или будет, но в следующей версии и за донат :)
SergeiGozalov Автор
02.07.2023 21:40База пользователей с номерами и моделями автомобилей не будет представлять интереса ни для кого? Как вы будете охранять мои данные?
можно не сохранять персональные данные (ФИО, дата рождения, ...), а только гос рег знак и марку/модель, такая база не представляет интереса. если же персональные данные все же понадобятся то тогда надо будет хранить их отдельно от ГРЗ и марки/модели, а также сертифицировать базу в соответствии с законодательством
А если у меня в семье несколько автомобилей, да ещё пара-тройка служебных? ...
не надо, тк реализовано распознавание ГРЗ и по нему происходит поиск марки/модели автомобиля для определения лючка и его типа. Конечно при любом раскладе робот не сделает дырку тк у него стоит УЗ датчик который контролирует расстояние и тд
Для регистрации через сайт на этот сайт сначала надо зайти
проблема связи решается раздачей wifi на заправке, но вопрос хороший, что если вообще нет связи на заправке? Базу ведь на заправку не скачаешь. Возможно, на таких заправках робот будет работать в "специальном" режиме
victor-homyakov
02.07.2023 21:40можно не сохранять персональные данные (ФИО, дата рождения, ...), а только гос рег знак и марку/модель
Тогда водителю вообще не нужно ни приложение ни сайт: первый раз на одной из заправок сети в кассе сказал марку/модель, а они там уже сами сохранят.
Главное - не забыть обновить запись в базе при переносе номера на другую машину :)
Wesha
02.07.2023 21:40+1напомнить о закрытой пробке
Ой, не о пробке надо напоминать, боярин, ой, не о пробке...
vk6677
02.07.2023 21:40+1Существует ещё и мототехника. Там свои особенности.
iig
02.07.2023 21:40+5Хе-хе. В детстве читал фантастический рассказ. Там земной космический корабль пролетал мимо брошенного инопланетного. Инопланетная автоматика решила, что корабль терпит бедствие (стандартный автоответчик не работает, логично же), поэтому автоматически пристыковала потерпевших, автоматически прорезала дырку в том месте где у стандартного инопланетного корабля должен быть люк. Дальше земляне выкручивались сами ;)
Wesha
02.07.2023 21:40+2автоматически прорезала дырку в том месте где у стандартного инопланетного корабля должен быть люк.
mihailikus
02.07.2023 21:40Есть какая-нибудь зацепка, по которой можно было бы нагуглить название рассказа?
Wesha
02.07.2023 21:40+1Есть какая-нибудь зацепка, по которой можно было бы нагуглить название рассказа?
Да — можно, например, посмотреть одним комментарием выше.
Ugli
02.07.2023 21:40да, например - обязательно открыть ключом лючок, плюс часто бензобак может находиться и под сиденьем
fndrey357
02.07.2023 21:40Ощущение такое, что автопроизводители специально ставят разнобой лючков, чтобы не было автоматики...
SergeiGozalov Автор
02.07.2023 21:40конечно, и еще думаю это для того чтобы продавать запчасти. Как с сокетами, разъемами и тд
vvbob
02.07.2023 21:40+2Просто единого стандарта нет, вот и ставят где удобнее вывести по компоновочным соображениям. Плюс дизайнеры извращаются по всякому, что-бы не быть похожими на остальных.
event1
02.07.2023 21:40Стандарта нет, затраты несущественные, а проблема, по сути, незначительная. По-этому получается вразнотык.
ivymike
02.07.2023 21:40Интересная статья.
Как инженерный и технический подход к решению задачи - интересно почитать.
Для решения задачи детектирования границы смотрели в сторону оператора Хюккеля?
Ну, а взлетит или нет сложно сказать)) не буду экспертом, но попробую предположить, что суммарная ЗП всех заправщиков в мире не намного больше, чем стоимость реализации данного сервиса.
SergeiGozalov Автор
02.07.2023 21:40Интересная статья.
Как инженерный и технический подход к решению задачи - интересно почитать.
Благодарю,
Для решения задачи детектирования границы смотрели в сторону оператора Хюккеля?
не смотрел, еще пробовал решать через метрику Хаусдорфа, но тут описывать не стал тк результаты получались не очень.
nikolz
02.07.2023 21:40Можно решить проблему и без ИИ. Моя идея решения данной проблемы следующая.
Нет надобности получать картинку . Ставим TOF сканер (я их использую в своих устройствах) вертикальной линии по высоте крыла машины. Когда машина подъезжает к заправке, то сканер сканирует расстояние до поверхности (разрешение датчика 1 мм) . Любой люк имеет зазор между крышкой и поверхностью крыла. Этот зазор мы и находим. При этом не имеет значение день, ночь, цвет крыла ,форма лючка. И все работает в реальном времени и не требует суперкомпьютера.
don_alex_88
02.07.2023 21:40Классная работа! Планируется ли распознование производить один раз или будет реал-тайм? По идее надо еще расстояние до лючка высчитывать - будет какой-то измеритель дистанции или тоже и изображения считывать планируете?
virt50
02.07.2023 21:40Надеюсь придут к тому , что надо полностью унифицировать эти лючки. Для машин с ДВС наверное уже не успеют, но для "электричек" точно будет.
Astroscope
02.07.2023 21:40+1Для машин с ДВС наверное уже не успеют, но для "электричек" точно будет.
Для электричек даже вилки с розетками не могут унифицировать и привести к единому общемировому стандарту. Не похоже, что с электричками что-то получится, максимум - какие-то региональные стандарты на вилки с розетками. А лючки - они не просто разные, а еще и в разных местах находятся. У кого-то в крыльях, у кого-то там, где при ДВС была бы решетка радиатора - как можно унифицировать лючки там, где они важный элемент эстетики, уникальный для каждой модели? И так далее.
Надеюсь придут к тому , что надо полностью унифицировать эти лючки.
Зачем, что это даст? Кузовные детали и так уникальны для каждой модели, что даст унификация лючка, кроме ограничений на эстетику и функциональность?
AbortYou
02.07.2023 21:40Идея не взлетит, т.к. стоимость её реализации дороже возможной прибыли.
poglazoff
02.07.2023 21:40из серии "автоматические мойки для машин не взлетят, т.к. стоимость её реализации дороже возможной прибыли"
BugM
02.07.2023 21:40Так они и не взлетели. Несмотря на полную простоту и дешевизну по сравнению с тем что тут предлагается.
poglazoff
02.07.2023 21:40Так они и не взлетели
Пруфов, разумеется, не будет?
На первый раз простительно, потому что контрпруфы найти было слишком легко: The Global Automatic Car Wash Market size was estimated at USD 1,926.24 million in 2021 and expected to reach USD 2,090.17 million in 2022.Несмотря на полную простоту и дешевизну по сравнению с тем что тут предлагается.
Как сравниваете дешевизну?
BugM
02.07.2023 21:40Я сравниваю распространенность и массовость. Если новая технология во всем лучше старой, то старая довольно быстро исчезает. Пример: хранение данных или видео. Ручные мойки никуда не исчезли. Значит новая технология не то чтобы лучше старой. Она другая.
На глазок. Роботы, тем более универсальные роботы очень дороги и в производстве и в эксплуатации. А тут нужна огромная универсальность. Не видно почему это окупится или почему кто-то за них заплатит. Вон у Теслы тоже не взлетело. Хотя проблем явно меньше.
Astroscope
02.07.2023 21:40контрпруфы найти было слишком легко
Тут бы вместо market size увидеть market share.
BugM
02.07.2023 21:40+2https://www.precedenceresearch.com/car-wash-service-market
30 миллиардов примерно. Процентов 7 у автоматических моек есть. Ну такое себе… На захват рынка совсем не похоже.
vvbob
02.07.2023 21:40+1Автоматическая мойка прямо очень сильно проще в реализации, ее в принципе можно сконструировать без использования вообще какой-либо электроники сложнее механического реле. А вот автозаправщик уже так не получится сделать.
В принципе это возможно было-бы, если бы был какой-то стандарт на расположение и конструкцию заправочных люков и пробок для бака, причем, желательно, с машинночитаемыми обозначениями типа заливаемого топлива. Но в реальности этого нет, и организовать практически невозможно, слишком много машин уже выпущено.
Tarakanator
02.07.2023 21:40А что насчёт ложно-позитивных распознаваний?
Сколько лючков бензобаков найдёт робот на байкере(карманы с лючками не спутает?)
Как будет обеспечиваться безопасность байкера во время открытия лючка?
BugM
Под лючком есть пробка обычно. Не взлетит в общем.
loginoffvich
лючка может и не быть - обратная связь (фильм 2020) на первых минутах показывает такое австралийское авто
lak
ЗАЗ 968М заливная горловина под капотом (там где у нормальных машин багажник), соответственно лючка на крыльях нет. Но таких не много.
Yuriy_krd
У москвича 2140 чтобы добраться до крышки заправочной горловины нужно "открыть" задний номер.
Didimus
Хорошая фича, чтобы нарушать под камерами
loginoffvich
сейчас если травинка прилетела считается сокрытие номера - сосед на четырке сломаную дверь леской привязал к болту номерa и отдал 500
konst90
500 это за неумышленное загрязнение, ему ещё повезло. За умышленное - 5000 или лишение до трех месяцев.
Tarakanator
нет. 500 это за нечитаемые. Если они грязные, но читаемые штрафа нет.
Поэтому за травинку штрафа 500р быть не может. Либо номера читаемые, либо это неважно т.к. вы сами налепили травинку, чтобы номера хуже читались. Но тогда штраф не 500р.
Ну если конечно травинка это не лопух.
Wesha
"в первый раз, конечно, да..." (c)