Scancam использует ML.NET для предотвращения кражи топлива

Клиент
Scancam Industries

Продукты и службы
ML.NET
ASP.NET Core
Xamarin
Azure

Промышленность
Безопасность и расследования

Размер организации
Малый (от 1 до 100 сотрудников)

Страна/регион
Австралия

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

Бизнес-проблема

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

Решение Scancam использует технологию распознавания номерных знаков для обнаружения транспортных средств на заправочных станциях и предоставляет предупреждения для известных правонарушителей (людей, которые должны деньги на любой из заправочных станций в их сети). Он также включает в себя возможность сообщать о кражах топлива, автоматическое создание видеозаписи инцидентов, онлайн-платежи и взыскание долгов.

Почему ML.NET?

Scancam — это прежде всего магазин .NET. До появления ML.NET компания выполняла обнаружение объектов в отдельном контейнере Docker с кодом Python. Когда в Custom Vision был добавлен экспорт моделей обнаружения объектов, Scancam перенесла его на ML.NET, что позволило компании размещать компоненты машинного обучения в той же кодовой базе, что и их приложения.

Scancam запускает код C# от самых маленьких пограничных устройств на месте до облака. Они могут использовать один и тот же знакомый язык C# и инструменты для любого компонента своих решений и могут легко перемещать код из облака в периферию и наоборот (например, из функций Azure в образы контейнеров ASP.NET Core, работающие на устройствах ARM32).

Влияние ML.NET

ML.NET дает Scancam возможность легко перемещаться туда, где выполняется их код, то есть на периферийных устройствах, мобильных устройствах или в облаке. Полученная в результате функция обнаружения объектов ML.NET снизила требования к пропускной способности Scancam на 35% и, следовательно, уменьшила их требования к облачным вычислениям, в то время как компоненты обнаружения аномалий будут активно отслеживать сотни устройств.

ML.NET позволил нам повысить производительность, позволив кодировать наши компоненты ML на том же языке и инструментах, которые мы используем для всего остального. ML.NET предоставил нашим разработчикам .NET самую простую отправную точку для начала интеграции машинного обучения в наши приложения".

Джун Табадеро, технический директор Scancam Industries

Учитывая ограниченное время, доступное с момента обнаружения транспортного средства до момента, когда водитель инициирует подачу топлива (5–7 секунд), ML.NET позволила Scancam добавить обнаружение объектов в конвейер обработки, что практически не влияет на производительность благодаря среднему значению 300 мс.

Архитектура решения

Технический стек Scancam состоит из ML.NET, ASP.NET Core, Xamarin для iOS и Azure (служба приложений, функции Azure, служебная шина Azure, хранилище Azure, Azure Cosmos DB, SignalR, база данных SQL Azure).

Когда транспортное средство подъезжает к заправочной станции, камера инициирует событие для конечной точки HTTP, работающей на ASP.NET Core в Docker. Затем ML.NET используется, чтобы сначала определить наличие транспортных средств, а затем определить наличие номерных знаков на этих транспортных средствах. Затем они используют отдельную технологию распознавания номерных знаков для сканирования номеров и букв и передачи их функции Azure для запуска оставшегося конвейера облачной обработки на основе Azure, включая перекрестную проверку номерного знака с базой данных известных правонарушителей и трансляцию обнаруженных номерных знаков на iPad и дисплеи телевизоров через SignalR.

Клиентское приложение

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

Обнаружение объекта

Большинство камер, используемых Scancam, обнаруживают подъезд транспортных средств к топливным колонкам и их отъезд путем регистрации движения. Компания получает сотни тысяч событий от сотен камер ежедневно. Учитывая загрузку заправок, Scancam может получать тонны ложных срабатываний, каждое из которых требует обработки и распознавания номерных знаков. Это сильно загружает и без того ограниченную пропускную способность Интернета на заправочных станциях.

Чтобы сократить количество событий, которые необходимо отправить в облако для обработки, Scancam использовала Пользовательское визуальное распознавание Azure в целях обучения модели обнаружения объектов для обнаружения присутствия транспортного средства и видимости области номерного знака на изображении и экспортировала модель в формате ONNX. Затем они используют модель с ML.NET на периферийных устройствах для предварительной обработки событий камеры перед отправкой в облако для дальнейшей обработки.

Обнаружение аномалий

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

Классификация изображений

Scancam также планирует добавить марку и идентификацию модели транспортного средства в свое ML.NET решение.

Готовы приступить?

Наше пошаговое руководство поможет вам запустить ML.NET на вашем компьютере.

Начать