Altbilgi içeriğine atla
BARKOD ARAçLARI

QR Kod Makine Öğrenmesi: Geliştiriciler İçin Bir Eğitim

Hızlı Yanıt (QR) kodları, modern toplumun ayrılmaz bir parçası haline geldi ve bilgilerin nasıl paylaşıldığı ve erişildiği konusunda devrim yarattı. Bu iki boyutlu barkodlar, bir akıllı telefon kamerası kullanarak hızla bilgi almak için taranabilen siyah ve beyaz kareler matrisinden oluşur; bunlar arasında URL'ler, iletişim bilgileri, web sitesi URL'leri, ürün ayrıntıları ve daha fazlası yer alır. Ancak teknoloji geliştikçe QR kodlarının yetenekleri de gelişir. Makine Öğrenimi (ML), QR kodu üretimi, tanıma ve kod çözme süreçlerini geliştirmede güçlü bir araç olarak ortaya çıktı ve kullanıcı deneyimlerini geliştirdi ve daha fazla işlevsellik kazandırdı.

Bilgi ve veri değişimi dünyası, QR kodları ve barkodların yaygın kullanımıyla dönüştü. Bu iki boyutlu kodlar, dijital içeriğe hızlı erişim sağlar ve endüstriler arasında çeşitli amaçlar için hizmet eder. Ancak, QR kodları ve barkodlar arasında ayrım yapmak, özellikle de çeşitli kodlar ile ilgilenirken zor olabilir. Makine Öğrenimi (ML) ve .NET/C# çerçevesinin gücünü kullanarak, geliştiriciler, QR kodları ve barkodlarını doğru bir şekilde sınıflandıran, veri işleme işlemlerini hızlandıran ve kullanıcı deneyimlerini geliştiren akıllı bir sistem oluşturabilir. IronBarcode'un kod çözme yeteneklerini entegre etmek çözümü daha da geliştirir ve tanınan kodlardan doğru içerik çıkarılmasını sağlar.

Bu makalede, verilen girdiyi Barkod veya QR Kod olarak sınıflandıracak modeli eğiteceğiz ve ardından IronBarcode kullanarak Giriş kodunu çözeceğiz.

ML.NET Model Builder Kullanarak QR Kod Sınıflandırması

Model Builder, Visual Studio içinde entegre bir araç olup Makine Öğrenimi modellerinin oluşturulma sürecini sezgisel bir arayüz sunarak basitleştirir. Model Builder'ı kullanarak QR kodları ve barkodlar arasında ayrım yapan bir sınıflandırma modeli oluşturacağız. Sınıflandırma tamamlandıktan sonra IronBarcode'u tanınan kodları çözmek için entegre edeceğiz.

Adım 1: Veri Toplama

Herhangi bir model türünü eğitmenin ilk adımı veri toplamadır. Modeli eğitmek için veriye ihtiyaçımız var. Kaggle'dan veri indirdim. Tercihinize göre herhangi bir kaynaktan indirebilirsiniz. Veri setini indirdikten sonra ana bir dizin oluşturun ve her iki veri setini de bu ana dizin içerisine koyun. Veri iki alt dizine düzenlenmiştir:

  1. Barkodlar
  2. QR kodları

QR Kod Makine Ogrenimi (Geliştirici Tutorial): Sekil 1

Bir sonraki adım Visual Studio'yu açmak ve yeni bir Makine Öğrenimi Modeli oluşturmaktır.

Adım 2: Visual Studio'da Proje Oluşturma ve Yeni Bir Makine Öğrenimi Modeli Ekleme

Projenizi Visual Studio'da oluşturun. Proje, ASP.NET Web API, ASP.NET MVC, WEB Forms veya bir konsol uygulaması gibi herhangi bir türde olabilir. Bu örnekte bir konsol uygulaması kullanıyorum. Çözüm Gezgini'nden Proje'ye sağ tıklayın. Aşağıda gösterildiği gibi Ekle > Makine Öğrenimi Modeli'ni seçin.

QR Kod Makine Ogrenimi (Geliştirici Tutorial): Sekil 2

Makine öğrenimi modelinizi adlandırın ve Ekle düğmesine tıklayın.

QR Kod Makine Ogrenimi (Geliştirici Tutorial): Sekil 3

Adım 3: Senaryo Seçme

Makine öğrenimi model dosyasını ekledikten sonra yeni bir pencere açılacaktır. Aşağıdaki sayfayı kaydırın ve Görsel Sınıflandırma seçeneğini seçin. Görsel sınıflandırma, bu eğitimde kullanacağımız Bilgisayar görüşü tekniklerinden biridir. Verilen bir görüntüden, Tanınmasını gerektirmediğimiz için Hızlı Yanıt Kodu (QR Kodu) ile Barkod arasında sadece ayrım yapmamız gerektiğinden, Görsel Tanımayı seçiyoruz.

QR Kod Makine Ogrenimi (Geliştirici Tutorial): Sekil 4

Adım 4: Ortamı Seçme

Senaryoyu seçtikten hemen sonraki adım ortamı seçmektir. Modeli eğitmek için ya yerel sistemimizi ya da Azure Bulutu'nu seçebiliriz. Ortam olarak Azure'u kullanmak için aktif bir Azure aboneliğine sahip olmamız gerekmektedir.

Adım 5: Veri Seçme

Bu adımda, daha önce 1. adımda topladığımız verileri iletmemiz gerekmektedir. İlk adımda, Model Builder tarafından gerekli olduğu şekilde veriyi alt kategorilere zaten ayırdık.

Veri setinizin ana dizin yolunu Klasör Seçeneği seçeneğinde sağlayın. Verilerimizi aşağıdaki gibi önizleyebiliriz.

QR Kod Makine Ogrenimi (Geliştirici Tutorial): Sekil 5

Veri önizlemesinde QR kodları sekmesine tıklayarak QR Kod klasörünü de görüntüleyebiliriz.

QR Kod Makine Ogrenimi (Geliştirici Tutorial): Sekil 6

Veri seçildikten sonra İleri düğmesine tıklayın; bu sizi eğitim ekranına götürür.

Adım 6: Modeli Eğitme

Modeli Eğitmeye Başla'ya tıklayın ve aşağıdaki gibi eğitime başlayacaktır. Lütfen Visual Studio'nun Yönetici Modu ile açık olmadığından emin olun, aksi takdirde hata verir.

QR Kod Makine Ogrenimi (Geliştirici Tutorial): Sekil 7

Eğitime başlayacaktır ve zaman alacaktır. Eğitim süresi sistem yeteneklerine bağlı olarak farklılık gösterecektir. Model Builder, AutoML kullanır. Otomatik olarak uygun makine öğrenimi tekniklerini, hata düzeltme seviyesini, desen tanımayı, gürültü azaltmayı, kontrast ayarlamayı, öğrenme sürecini ve diğer ayarları kullanacaktır.

Adım 7: Model Değerlendirme

Eğitimden sonra, doğru sınıflandırmayı sağlamak için test verilerini geçerek modelin performansını değerlendirin.

Adım 8: Modeli Kullanma

Model eğitilip değerlendirildikten sonra, onu dışa aktarabilir ve kullanabiliriz. Bizim kullanım senaryomuzda, Barkoddan QR Kodunu sınıflandırmalı ve ardından kodlanmış verilerini okumalıyız. Verileri çözümlemek için üçüncü taraf bir kütüphaneye ihtiyaç duyarız çünkü makine öğrenimi modeli QR kodunu veya barkodunu çözemez, sadece sınıflandıracaktır.

IronBarcode, hem QR Kodu hem de Barkodu çözümlemek için ideal bir kütüphanedir. Tek bir kütüphane kullanarak her iki türdeki kodu da basit bir şekilde çözebiliriz. İlerlemeye başlamadan önce IronBarcode hakkında biraz bilgi verelim.

Jordi Bardia
Yazılım Mühendisi
Jordi Python, C# ve C++ konularında en yetkin, Iron Software'deki yeteneklerini kullanmadığı zamanlarda; oyun programlıyor. Ürün testi, ürün geliştirme ve araştırma sorumluluklarını paylaşan Jordi, sürekli ürün gelişimine büyük değer katıyor. Çeşitli deneyimleri onu ...
Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara