QR Kod Makine Öğrenimi: Geliştiriciler için Bir Eğitim
Kısa Yanıt (QR) kodları, modern toplumun ayrılmaz bir parçası haline gelerek bilgilerin paylaşılma ve erişilme şeklini devrim yarattı. Bu iki boyutlu barkodlar, bir akıllı telefon kamerası kullanılarak taranabilen, URL'ler, iletişim detayları, web sitesi URL'leri, ürün detayları ve daha fazlası gibi depolanan bilgilerin hızlıca alınabileceği siyah beyaz karelerden oluşan bir matrikstir. Ancak, teknoloji geliştikçe, QR kodlarının yetenekleri de gelişmektedir. Makine Öğrenimi (ML), QR kodu üretme, tanıma ve deşifre etme süreçlerini geliştiren güçlü bir araç olarak ortaya çıkmış, böylece kullanıcı deneyimlerini iyileştirip işlevselliği artırmıştır.
QR kodlarının ve barkodların yaygın kullanımı ile bilgi ve veri değişim dünyası dönüştü. Bu iki boyutlu kodlar, dijital içeriğe hızlı erişim sağlar ve sanayi genelinde çeşitli amaçlara hizmet eder. Bununla birlikte, özellikle çeşitli kodların kullanımı söz konusu olduğunda, QR kodlarını ve barkodları ayırt etmek zor olabilir. Makine Öğrenimi (ML) gücünden ve .NET/C# çerçevesinden yararlanarak, geliştiriciler QR kodları ve barkodları doğru bir şekilde sınıflandıran, veri işlemeyi kolaylaştıran ve kullanıcı deneyimlerini iyileştiren zeki bir sistem oluşturabilirler. IronBarcode'un kod çözme yeteneklerini entegre etmek, tanınan kodlardan doğru içeriğin çıkarılmasına olanak tanıyarak çözümü daha da güçlendirir.
Bu makalede, verilen giriş kodunu Barkod veya QR Kodu olarak sınıflandıracak modeli eğiteceğiz ve ardından IronBarcode kullanarak giriş kodunu çözeceğiz.
QR Kodu Sınıflandırması için ML.NET Model Builder Kullanımı
Model Builder, Visual Studio içinde yer alan entegre bir araçtır ve Makine Öğrenme modelleri oluşturma sürecini sezgisel bir arayüz sunarak basitleştirir. Model Builder'ı, QR kodları ve barkodları ayırt eden bir sınıflandırma modeli oluşturmak için kullanacağız. Sınıflandırma tamamlandıktan sonra, tanınan kodları çözmek için IronBarcode'u entegre edeceğiz.
Adım 1: Veri Toplama
Herhangi bir model türünü eğitmek için atılacak ilk adım veri toplamadır. Modeli eğitmek için verilere ihtiyacımız var. Kaggle üzerinden veri indirdim. Kendi tercihinize göre herhangi bir kaynaktan indirebilirsiniz. Verisetini indirdikten sonra ana dizin oluşturun ve her iki verisetini de bu ana dizin içine koyun. Veriler iki alt dizine örgütlenmiştir:
- Barkodlar
- QR kodları

Bir sonraki adım Visual Studio'yu açmak ve yeni bir Makine Öğrenme Modeli oluşturmaktır.
Adım 2: Visual Studio'da Proje Oluştur ve Yeni Makine Öğrenme Modeli ekle
Projenizi Visual Studio'da oluşturun. Proje türü ASP.NET Web API, ASP.NET MVC, WEB Forms veya konsol uygulaması gibi herhangi bir şey olabilir. Bu örnekte, bir konsol uygulaması kullanıyorum. Solution Explorer'dan Projeye sağ tıklayın. Aşağıda gösterildiği gibi Ekle > Makine Öğrenme Modeli seçeneğini seçin.

Makine öğrenme modelinize bir isim verin ve Ekle Düğmesine tıklayın.

Adım 3: Senaryo Seç
Makine öğrenme modeli dosyasını ekledikten sonra yeni bir pencere açılacaktır. Aşağıya kaydırın ve Görüntü Sınıflandırma seçeneğini seçin. Görüntü Sınıflandırma, bu eğitimde kullanacağımız Bilgisayar Görüşü tekniklerinden biridir. Yalnızca Hızlı Yanıt Kodu (QR Kod) ile Barkod arasındaki farkı ayırt etmemiz gerektiğinden, Görüntü tanı yerine Görüntü sınıflandırmayı seçiyoruz, verilen bir görüntüden onları tanımamız gerekmiyor.

Adım 4: Ortam Seç
Bir senaryo seçtikten sonraki adım ortamı seçmektir. Modeli eğitmek için ya yerel sistemimizi ya da Azure Bulutu'nu seçebiliriz. Azure'u ortamımız olarak kullanmak için aktif bir Azure aboneliğimiz olmalıdır.
Adım 5: Verileri Seç
Bu adımda, Model Builder'ın gerektirdiği şekilde daha önce adım #1'de topladığımız verileri geçirmemiz gerekiyor. Verileri adım #1'de alt kategorizasyonlara göre zaten düzenledik.
Veri setinizin ana dizin yolu Seçim Klasörü seçeneğinde belirtin. Aşağıda gösterildiği gibi verilerimizi inceleyebiliriz.

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

Veriyi seçtikten sonra, İleri düğmesine tıklayın, sizi eğitim ekranına yönlendirecektir.
Adım 6: Modeli Eğit
Model Eğitimini Başlat'a tıklayın ve aşağıda gösterildiği gibi eğitim başlayacaktır. Lütfen Visual Studio'nun Yönetici Modu ile açık olmadığından emin olun, aksi takdirde bir hata alacaktır.

Eğitim başlayacak ve zaman alacaktır. Eğitim süresi sistem yeteneklerine bağlı olarak değişir. Model Builder, AutoML kullanır. Otomatik olarak uygun makine öğrenme tekniklerini, hata düzeltme seviyesini, desenleri tanır, gürültü azaltımı, kontrast ayarlaması, öğrenme süreci ve diğer ayarları uygun bir şekilde kullanır.
Adım 7: Model Değerlendirmesi
Eğitimden sonra, modelin performansını kontrol etmek ve doğru sınıflandırma sağlamak için test verilerini kullanarak değerlendirin.
Adım 8: Modeli Kullan
Model eğitilip değerlendirildikten sonra dışa aktarabilir ve kullanabiliriz. Kullanım durumumuzda, Barkod ile QR Kodunu sınıflandırmalı ve ardından kodlanmış verilerini okumalıyız. Verileri çözmek için üçüncü taraf bir kütüphaneye ihtiyacımız var çünkü makine öğrenim modeli QR kodunu veya barkodu çözemeyecek, sadece sınıflandıracaktır.
IronBarcode, hem QR Kodu hem de Barkod'u çözmek için ideal bir kütüphanedir. Her iki kod türünü de tek bir kütüphane kullanarak basit bir şekilde çözebiliriz. IronBarcode hakkında daha fazla bilgi edinmeden önce kısa bir giriş yapalım.


