Scancam menggunakan ML.NET untuk mencegah pencurian bahan bakar
Pelanggan
Scancam Industries
Produk & jasa
ML.NET
ASP.NET Core
Xamarin
Azure
Industri
Keamanan & Penyelidikan
Ukuran Organisasi
Kecil (1-100 karyawan)
Negara/wilayah
Australia
Scancam adalah perusahaan pencegahan kehilangan. Salah satu produk utama mereka adalah solusi anti-pencurian bahan bakar yang melayani pengecer bahan bakar dan menyediakan solusi menyeluruh untuk mencegah dan mengelola pencurian bahan bakar, termasuk pemulihan utang.
Masalah bisnis
Pencurian bahan bakar menghabiskan biaya sektor ritel bahan bakar Australia jutaan dolar setiap tahun. Di stasiun pengisian bahan bakar di Australia, pelanggan mengisi tangki bahan bakar terlebih dahulu dan membayar setelahnya. Beberapa pengendara mengemudi tanpa membayar bahan bakar, dan beberapa pengendara menyadari mereka lupa dompet mereka atau tidak memiliki cukup uang untuk membayar bahan bakar yang baru saja mereka keluarkan. Drive-off ini dan kegagalan untuk membayar mengakibatkan kerugian ribuan dolar untuk pengecer bahan bakar.
Solusi Scancam menggunakan teknologi pengenalan pelat nomor untuk mendeteksi kendaraan di stasiun pengisian bahan bakar dan memberikan peringatan bagi pelanggar yang diketahui (orang-orang yang berutang ke salah satu stasiun pengisian bahan bakar di jaringan mereka). Solusinya juga meliputi fasilitas untuk melaporkan pencurian bahan bakar, pembuatan cuplikan insiden otomatis, pembayaran online, dan pengembalian utang.
Mengapa ML.NET?
Scancam terutama merupakan toko .NET. Sebelum ML.NET, perusahaan menjalankan deteksi objek pada kontainer Docker terpisah yang menjalankan kode Python. Ketika Custom Vision menambahkan pengekssporan model deteksi objek, Scancam diportkan ke ML.NET, yang memungkinkan perusahaan untuk menghosting komponen pembelajaran mesin dalam basis kode yang sama dengan aplikasi mereka.
Scancam menjalankan kode C# dari perangkat edge terkecil di lingkungan lokal hingga cloud. Scancam dapat menggunakan bahasa dan peralatan C# yang sama pada komponen apa pun dalam solusinya dan dapat dengan mudah memindahkan kode dari cloud ke edge dan sebaliknya (misalnya, dari Azure Functions ke gambar kontainer ASP.NET Core yang berjalan di perangkat ARM32).
Dampak ML.NET
ML.NET memberi Scancam fleksibilitas untuk memindahkan tempat kode dijalankan dengan mudah, yaitu di perangkat edge, perangkat seluler, atau cloud. Fungsionalitas deteksi objek ML.NET yang dihasilkan mengurangi kebutuhan bandwidth Scancam hingga 35% dan karena itu mengurangi kebutuhan komputasi cloud, sementara komponen deteksi anomali akan memantau ratusan perangkat secara proaktif.
ML.NET membantu kami meningkatkan produktivitas dengan memungkinkan kami untuk membuat kode komponen ML dalam bahasa dan alat yang sama yang kami gunakan untuk hal lain. ML.NET menyediakan batu loncatan termudah bagi pengembang .NET kami untuk mulai mengintegrasikan pembelajaran mesin ke aplikasi kami."
Mengingat jendela waktu terbatas yang tersedia sejak kendaraan terdeteksi hingga saat pengendara mulai memompa bahan bakar (5-7 detik), ML.NET mengizinkan Scancam untuk menambahkan deteksi objek ke alur pemrosesan mereka dengan hampir tidak ada dampak pada kinerja dengan prediksi yang memakan waktu rata-rata ~300 mdtk.
Arsitektur solusi
Tumpukan teknis Scancam terdiri dari ML.NET, ASP.NET Core, Xamarin di iOS, dan Azure (App Service, Azure Functions, Azure Service Bus, Azure Storage, Azure Cosmos DB, SignalR, Azure SQL Database).
Saat kendaraan mengemudi ke pompa bahan bakar, kamera memicu kejadian ke titik akhir HTTP yang berjalan di ASP.NET Core di Docker. ML.NET kemudian digunakan untuk mendeteksi keberadaan kendaraan terlebih dahulu, lalu mendeteksi adanya pelat nomor pada kendaraan tersebut. Mereka kemudian menggunakan teknologi pengenalan pelat lisensi terpisah untuk memindai nomor dan huruf pelat lisensi dan menyerahkannya ke fungsi Azure untuk memicu sisa alur pemrosesan cloud berbasis Azure, termasuk memeriksa silang pelat lisensi dengan database pelanggar yang diketahui dan menyiarkan pelat lisensi yang terdeteksi ke tampilan iPad dan TV melalui SignalR.
Aplikasi klien
Aplikasi pengguna akhir utamanya adalah aplikasi Xamarin yang digunakan oleh penjaga stasiun pengisian bahan bakar di iPad. Aplikasi ini menampilkan semua pelat nomor yang terdeteksi di setiap pompa bensin dan menampilkan peringatan jika pelat nomor tercatat dalam database pelanggar yang diketahui. Hal ini memungkinkan operator konsol mencegah pengisian bahan bakar dan meminta pelanggan untuk membayar bahan bakar di awal sebelum mengaktifkan pompa.
Deteksi objek
Sebagian besar kamera yang digunakan Scancam mengandalkan deteksi gerakan untuk mendeteksi kendaraan yang bergerak masuk dan keluar dari area pompa bahan bakar. Mereka mendapatkan ratusan ribu acara dari ratusan kamera setiap hari. Mengingat seberapa sibuk stasiun bahan bakar, Scancam dapat memperoleh banyak pemicu palsu. Pemicu palsu ini mengakibatkan kejadian yang tidak diinginkan yang perlu diproses untuk pengenalan pelat lisensi, yang pada gilirannya menghabiskan banyak bandwidth internet yang tersedia terbatas di stasiun bahan bakar.
Untuk mengurangi jumlah kejadian yang perlu dikirim ke cloud untuk diproses, Scancam menggunakan Azure Custom Vision untuk melatih model deteksi objek untuk mendeteksi keberadaan kendaraan dan visibilitas wilayah pelat lisensi dalam gambar dan mengekspor model dalam format ONNX. Mereka kemudian menggunakan model dengan ML.NET di perangkat edge untuk melakukan praproses kejadian kamera sebelum mengirim ke cloud untuk pemrosesan lebih lanjut.
Deteksi anomali
Pemindaian juga menerapkan ML.NET untuk deteksi anomali guna mendeteksi lonjakan (misalnya, area pemicu gerakan yang salah, ambang pemicu terlalu rendah) dan dips (misalnya, kamera tersingkir dari posisi, diblokir, pengaturan paparan salah) dalam kejadian kamera sebagai bagian dari pemantauan kesehatan instalasi kamera. Deteksi ini memungkinkan Scancam untuk dengan mudah menemukan potensi masalah dengan ratusan kamera mereka tanpa harus mencari secara manual melalui log.
Klasifikasi gambar
Scancam juga berencana menambahkan pembuatan kendaraan dan identifikasi model ke solusi ML.NET mereka.
Siap untuk memulai?
Tutorial langkah demi langkah kami akan membantu Anda menjalankan ML.NET di komputer.