Altbilgi içeriğine atla
BARKOD ARAçLARı

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:

  1. Barkodlar
  2. QR kodları

QR Kod Makine Öğrenimi (Geliştirici Eğitimi): Şekil 1

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.

QR Kod Makine Öğrenimi (Geliştirici Eğitimi): Şekil 2

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

QR Kod Makine Öğrenimi (Geliştirici Eğitimi): Şekil 3

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.

QR Kod Makine Öğrenimi (Geliştirici Eğitimi): Şekil 4

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.

QR Kod Makine Öğrenimi (Geliştirici Eğitimi): Şekil 5

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

QR Kod Makine Öğrenimi (Geliştirici Eğitimi): Şekil 6

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.

QR Kod Makine Öğrenimi (Geliştirici Eğitimi): Şekil 7

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.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

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