Clasificación de imágenes del kit HMS ML. Herkese merhaba, bu yazımda sizlere… | de Önder Postoğlu | Desarrolladores de Huawei – Türkiye | Noviembre de 2020

Herkese merhaba, bu yazımda sizlere Clasificación de imágenes nedir ve nasıl kullanılır, bunlardan bahsedeceğim.

Clasificación de imágenes, kit HMS ML en bizlere sunduğu özelliklerden biridir. Bu özelliği kullanarak resimlerdeki nesneleri sınıflandırabiliriz. Nesne sınıflarına yiyecek, çiçek, spor, vb. şeyleri örnek olarak verebiliriz.

Eğer resimleri dosyalayan bir uygulama oluşturmak istiyorsanız, resimleri Clasificación de imágenes kullanarak sınıflandırıp kayıt edebilirsiniz.

Clasificación de imágenes sadece resimlerdeki objeleri sınıflandırmak ile kalmaz (detección de imágenes fijas), bunun yanında cihazın kamerasını kullanırken anlık olarak por nesneleri sınıflandırabilir (detección de flujo de cámara).

Nesnelerin tanınması cihaz tabanlı olarak de bulut tabanlı olarak de gerçekleştirilebilir.

Cihaz tabanlı tanımlama:

  1. Daha verimli

Bulut tabanlı tanımlama:

  1. Daha doğru sonuçlar

Huawei Developer console’a giriş yaptıktan sonra, projemizi oluşturuyoruz. Image Classification’ı kullanabilmemiz için Manage API’s kısmında ML Kit’i aktif hale getirmemiz gerekmektedir.

Daha sonra agconnect-services.json dosyasını indirip projemizin app dizininin altına kopyalıyoruz. Ve build.gradle dosyasında maven repository’lerini ayarlıyoruz.

SDK için iki seçenek bulunmaktadır: sdk base ve full sdk. Full sdk kullanılması tavsiye edilmektedir.

AndroidManifest.xml dosyasında izin ataması yapabilirsiniz. Reconocimiento de flujo de cámara Eğer kullanılacaksa kamera izni alınması gerekmektedir. Eğer cihazınızın depolama kısmından bir resim seçip bununla işlem yapmak istiyorsanız almacenamiento externo izni almanız gerekmektedir.

Yaptığım projede hem hem de detección de imágenes estáticas hem de camera stream detection kullandım. Detección de imágenes estáticas kullanırken depodan bir resim aldım ve onun üzerinde nesne sınıflandırması yaptım. Detección de flujo de cámara ‘por ise kamerayı kullanırken o anki nesnelerin kategorisini anlık olarak gördüm.

Detección de imágenes fijas

Analizador de clasificación de imágenes oluşturmak için dört adet yöntemimiz bulunmaktadır.

İlk iki yöntem cihaz tabanlı tanımlama için kullanılmaktadır. Diğer iki yöntem ise bulut tabanlı tanımlama için kullanılmaktadır. İkinci ve dördüncü yöntem, varsayılan ayarlar ile analyzer oluşturmak için, birinci ve üçüncü yöntem ise, istediğimiz ayarlar ile anlayzer oluşturmak için kullanılmaktadır.

Daha sonra MLFrame nesnesi oluşturuyoruz. Bu nesne, resmin bilgisini içerecektir.

Resim bilgisini Bitmap formatında parametre olarak göndermemiz isteniyor. Bu yüzden öncelikle, resimlerimizi Bitmap formatına çevirmemiz gerekmektedir.

Daha sonra nesne sınıflandırması yapmak için asyncAnalyseFrame fonksiyonunu çağırıyoruz.

Eğer tanımlama başarılı olduysa bize MLImageClassification nesnelerinin listesini döndürmektedir. «Nombre» değeri bize, nesnenin hangi sınıfa ait olduğunu belirtmektedir.

Tanımlama tamamlandıktan sonra kaynakları serbest bırakırız.

Detección de flujo de cámara

Tanımlama sonuçlarını işleyebilmek için Analizador de clasificaciónTransactor adlı bir sınıf oluşturuyoruz.

Analizador Daha sonra oluşturup, ClassificationAnalyzerTransactor sınıfımızı buna set ediyoruz.

Dinamik kamera akışını yakalamak ve bunu analyzer’a göndermek için LensEngine sınıfından bir obje oluşturuyoruz.

Daha sonra ejecutar fonksiyonunu çağırarak kamerayı başlatıp, akışı okuyoruz. Kamera çalıştığı sürece tanımlama her zaman devam eder. Eğer uygulamanız belli bir nesne sınıfını bulduktan sonra tanımlamayı durdurması gerekiyor ise yeni yöntemler entegre edilmesi gerekmektedir. Entegrasyon için buradan bilgi sahibi olabilirsiniz.

Tanımlama tamamlandıktan sonra kaynakları serbest bırakırız.

Image Classification’ın bu yöntemlerini kullanarak, resimlerdeki ve kamera akışındaki objelerin kategorilerine ulaşabilir ve bunları uygulamalarımızda kullanabiliriz.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *