Üretim için uçta uçtan uca görüntü işleme

Azure Data Factory
Azure IoT Edge
Azure IoT Hub
Azure Machine Learning
Azure Pipelines

Bu örnek mimaride, üretimde nesnelerin İnterneti (IoT) görüntü işlemeye yönelik uçtan uca bir yaklaşım gösterilmektedir.

Mimari

Diagram showing the end-to-end approach to computer vision from the edge to the cloud and back.

Bu mimarinin bir Visio dosyasını indirin.

Veri akışı

  1. IoT Edge özel modülü canlı video akışını yakalar, karelere ayırır ve bir olayın oluşup oluşmadığını belirlemek için görüntü verilerinde çıkarım gerçekleştirir.
  2. Özel modül, ham video dosyalarını ham medya deposu işlevi gören Azure Depolama'a yüklemek için Azure depolama SDK'sı yöntemlerini veya blob API'sini de kullanır.
  3. Özel modül, çıkarım sonuçlarını ve meta verilerini Azure IoT Hub'a gönderir ve bu da her iki yöndeki iletişimler için merkezi bir ileti hub'ı işlevi görür.
  4. Azure Logic Apps, olay olayları hakkındaki iletiler için IoT Hub'ı izler. Logic Apps çıkarım sonuçlarını ve meta verileri depolama için Microsoft Dataverse'e yönlendirir.
  5. Bir olay oluştuğunda Logic Apps, site mühendisine SMS ve e-posta bildirimleri gönderir. Site mühendisi, olayı onaylamak ve çözmek için Power Apps tabanlı bir mobil uygulama kullanır.
  6. Power Apps, olayla ilgili bilgileri görüntülemek için Blob Depolama Dataverse ve ham video dosyalarındaki çıkarım sonuçlarını ve meta verilerini çeker. Power Apps, Dataverse'i site mühendisinin sağladığı olay çözümlemesiyle güncelleştirir. Bu adım, modeli yeniden eğitme amacıyla döngüde insan doğrulama işlevi görür.
  7. Azure Data Factory, ham medya deposundan ham video dosyalarını getiren ve Dataverse'den ilgili çıkarım sonuçlarını ve meta verileri alan veri düzenleyicidir.
  8. Data Factory ham video dosyalarının yanı sıra meta verileri de denetim amacıyla bir video arşivi olarak hizmet veren Azure Data Lake'te depolar.
  9. Data Factory ham video dosyalarını karelere ayırır, çıkarım sonuçlarını etiketlere dönüştürür ve verileri ML veri deposu işlevi gören Blob Depolama yükler.
  10. Model kodundaki değişiklikler, operatörlerin el ile de tetikleyebileceği Azure Pipelines model orchestrator işlem hattını otomatik olarak tetikler. Kod değişiklikleri, Azure Machine Learning'de ML modeli eğitim ve doğrulama işlemini de başlatır.
  11. Azure Machine Learning, ML veri deposundaki verileri doğrulayarak ve gerekli veri kümelerini Azure Premium Blob Depolama kopyalayarak modeli eğitmeye başlar. Bu performans katmanı, daha hızlı model eğitimi için bir veri önbelleği sağlar.
  12. Azure Machine Learning modeli eğitmek, eğitilen modelin performansını doğrulamak, yeni eğitilen modele göre puan vermek ve modeli Azure Machine Learning kayıt defterine kaydetmek için Premium veri önbelleğindeki veri kümesini kullanır.
  13. Azure Pipelines model düzenleyici, yeni eğitilen ML modelinin performansını gözden geçirerek önceki modellerden daha iyi olup olmadığını belirler. Yeni model daha iyi performans gösterirse işlem hattı modeli Azure Machine Learning'den indirir ve Azure Container Registry'de yayımlamak üzere ML çıkarım modülünün yeni bir sürümünü oluşturur.
  14. Yeni bir ML çıkarım modülü hazır olduğunda Azure Pipelines, Container Registry'deki modül kapsayıcısını IoT Hub'daki IoT Edge modülüne dağıtır.
  15. IoT Hub, IoT Edge cihazını yeni ML çıkarım modülüyle güncelleştirir.

Components

  • Azure IoT Edge hizmeti, buluta daha az veri göndermek, olaylara hızlı tepki vermek ve düşük bağlantı koşullarında çalışmak için cihaz verilerini yerel olarak analiz eder. IoT Edge ML modülü, video akışı verilerinden eyleme dönüştürülebilir içgörüler ayıklayabilir.
  • Azure IoT Hub , milyonlarca IoT cihazı ile bulut tabanlı arka uç arasında güvenilir ve güvenli çift yönlü iletişimler sağlayan yönetilen bir hizmettir. IoT Hub, IoT cihazlarını denetlemek ve yapılandırmak için cihaz başına kimlik doğrulaması, ileti yönlendirme, diğer Azure hizmetleriyle tümleştirme ve yönetim özellikleri sağlar.
  • Azure Logic Apps , uygulamaları, verileri, hizmetleri ve sistemleri tümleştiren otomatik iş akışları oluşturmaya ve çalıştırmaya yönelik sunucusuz bir bulut hizmetidir. Geliştiriciler, ortak görev iş akışlarını zamanlamak ve yönetmek için görsel tasarımcı kullanabilir. Logic Apps'te birçok popüler bulut hizmeti, şirket içi ürün ve diğer hizmet olarak yazılım (SaaS) uygulamaları için bağlayıcılar bulunur. Bu çözümde Logic Apps, site mühendislerine SMS ve e-posta uyarıları gönderen otomatik bildirim iş akışını çalıştırır.
  • Power Apps bir veri platformu ve bir uygulama, hizmet ve bağlayıcı paketidir. Hızlı bir uygulama geliştirme ortamı görevi görür. Temel alınan veri platformu Microsoft Dataverse'dir.
  • Dataverse , Power Apps için bulut tabanlı bir depolama platformudur. Dataverse, döngüdeki insan bildirimlerini destekler ve MLOps veri işlem hattıyla ilişkili meta verileri depolar.
  • Azure Blob Depolama yapılandırılmamış veriler için ölçeklenebilir ve güvenli nesne depolama alanıdır. Arşivler, veri gölleri, yüksek performanslı bilgi işlem, makine öğrenmesi ve bulutta yerel iş yükleri için kullanabilirsiniz. Bu çözümde Blob depolama, ML veri deposu için yerel bir veri deposu ve ML modelini eğiten bir Premium veri önbelleği sağlar. Blob Depolama premium katmanı, bu örnekteki döngüdeki insan video etiketlemesi gibi hızlı yanıt süreleri ve yüksek işlem hızları gerektiren iş yüklerine yöneliktir.
  • Data Lake Depolama, yüksek performanslı analiz iş yükleri için yüksek düzeyde ölçeklenebilir ve güvenli bir depolama hizmetidir. Veriler genellikle birden çok heterojen kaynaktan gelir ve yapılandırılmış, yarı yapılandırılmış veya yapılandırılmamış olabilir. Azure Data Lake Storage 2. Nesil, Azure Data Lake Storage 1. Nesil özelliklerini Blob Depolama ile birleştirir ve dosya sistemi semantiği, dosya düzeyi güvenlik ve ölçeklendirme sağlar. Ayrıca Blob Depolama katmanlı depolama, yüksek kullanılabilirlik ve olağanüstü durum kurtarma özellikleri sunar. Bu çözümde Data Lake Depolama ham video dosyaları ve meta veriler için arşiv video deposu sağlar.
  • Azure Data Factory , veri tümleştirme ve dönüştürme iş akışları için hibrit, tam olarak yönetilen, sunucusuz bir çözümdür. Kod içermeyen bir kullanıcı arabirimi ve kullanımı kolay bir izleme paneli sağlar. Azure Data Factory, veri taşıma için işlem hatlarını kullanır. Eşleme veri akışları ayıklama, dönüştürme ve yükleme (ETL) ve ayıklama, yükleme ve dönüştürme (ELT) gibi çeşitli dönüştürme görevlerini gerçekleştirir. Bu örnekte Data Factory, ETL işlem hattındaki verileri, yeniden eğitme amacıyla depoladığı çıkarım verileriyle düzenler.
  • Azure Machine Learning , modelleri hızla oluşturmaya ve dağıtmaya yönelik kurumsal düzeyde bir makine öğrenmesi hizmetidir. Tüm beceri düzeylerindeki kullanıcılara düşük kod tasarımcısı, otomatik makine öğrenmesi ve çeşitli IDE'leri destekleyen barındırılan bir Jupyter not defteri ortamı sağlar.
  • Azure DevOps ekip tabanlı geliştirici hizmetlerinin bir parçası olan Azure Pipelines, sürekli tümleştirme (CI) ve sürekli dağıtım (CD) işlem hatları oluşturur. Bu örnekte Azure Pipelines model düzenleyici ML kodunu doğrular, sunucusuz görev işlem hatlarını tetikler, ML modellerini karşılaştırır ve çıkarım kapsayıcısını oluşturur.
  • Container Registry , kapsayıcılı ML modelleri de dahil olmak üzere Docker kapsayıcı görüntülerini oluşturmak, depolamak ve yönetmek için Docker kayıt defterini oluşturur ve yönetir.
  • Azure İzleyici , Ekiplerin sorunları proaktif olarak belirleyebilmesi ve performans ile güvenilirliği en üst düzeye çıkarabilmesi için Azure kaynaklarından telemetri toplar.

Alternatifler

Video akışını görüntü çerçevelerine bölmek için veri işlem hattını kullanmak yerine IoT Edge cihazına bir Azure Blob Depolama modülü dağıtabilirsiniz. Çıkarım modülü daha sonra çıkarım yapılan görüntü çerçevelerini uç cihazdaki depolama modülüne yükler. Depolama modülü, çerçevelerin doğrudan ML veri deposuna ne zaman yükleneceğini belirler. Bu yaklaşımın avantajı, veri işlem hattından bir adımı kaldırmasıdır. Avantaj, uç cihazın Azure Blob Depolama sıkı bir şekilde bağlı olmasıdır.

Model düzenleme için Azure Pipelines veya Azure Data Factory kullanabilirsiniz.

  • Azure Pipelines avantajı, ML model koduyla yakın bağlantılarıdır. CI/CD aracılığıyla kod değişiklikleriyle eğitim işlem hattını kolayca tetikleyebilirsiniz.
  • Data Factory'nin avantajı, her işlem hattının gerekli işlem kaynaklarını sağlayabilmesidir. Data Factory, NORMAL CI/CD akışını tıkayabilecek ML eğitimini çalıştırmak için Azure Pipelines aracılarını tutmaz.

Senaryo ayrıntıları

Tam otomatik akıllı fabrikalar verileri analiz etmek, sistemleri çalıştırmak ve zaman içindeki süreçleri geliştirmek için yapay zeka (AI) ve makine öğrenmesi (ML) kullanır.

Bu örnekte kameralar, ml modeli çalıştıran bir Azure IoT Edge cihazına görüntü gönderir. Model çıkarımları hesaplar ve daha fazla işlem için buluta eyleme dönüştürülebilir çıkış gönderir. İnsan müdahaleleri, ML modelinin yakaladığı zekanın bir parçasıdır. ML işlemi, ML algoritmalarını eğitme, test etme, ayarlama ve doğrulamanın sürekli döngüsüdür.

Olası kullanım örnekleri

Üretim süreçleri, güvenlik ve kalite güvencesi uygulamalarında IoT görüntü işlemesini kullanır. IoT görüntü işleme sistemleri:

  • Uygun etiketleme gibi üretim yönergeleriyle uyumluluğu sağlamaya yardımcı olun.
  • Yüzey eşitsizliği gibi üretim hatalarını belirleyin.
  • Bina veya alan girişlerini izleyerek güvenliği artırın.
  • Kişisel koruyucu ekipman (KKD) kullanımını ve diğer güvenlik uygulamalarını algılayarak çalışan güvenliğini koruma.

Dikkat edilmesi gereken noktalar

Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanılabilecek bir dizi yol gösteren ilke olan Azure İyi Tasarlanmış Çerçeve'nin yapı taşlarını uygular. Daha fazla bilgi için bkz . Microsoft Azure İyi Tasarlanmış Çerçeve.

Uygunluk

ML tabanlı uygulamalar genellikle eğitim için bir kaynak kümesi ve hizmet için başka bir kaynak kümesi gerektirir. Canlı üretim istekleri bu kaynakları doğrudan kullanmadiğinden eğitim kaynakları genellikle yüksek kullanılabilirliğe ihtiyaç duymaz. İstekleri sunma için gereken kaynakların yüksek kullanılabilirliğe sahip olması gerekir.

Operations

Bu çözüm üç işletim alanına ayrılmıştır:

  • IoT işlemlerinde uç cihazdaki bir ML modeli, bağlı kameralardan çıkarım video karelerine kadar gerçek zamanlı görüntüler kullanır. Uç cihaz ayrıca denetim ve model yeniden eğitme için kullanmak üzere önbelleğe alınmış video akışlarını bulut depolama alanına gönderir. ML yeniden eğitildikten sonra Azure IoT Hub, uç cihazı yeni ML çıkarım modülüyle güncelleştirir.

  • MLOps model eğitimi, testi ve dağıtım işlemlerini yönetmek için DevOps uygulamalarını kullanır. MLOps yaşam döngüsü yönetimi, karmaşık karar alma veya modelleri üretime alma için ML modellerini kullanma sürecini otomatikleştirir. MLOps'un anahtarı, ML modellerini oluşturan, eğiten, değerlendiren ve dağıtan ekipler arasındaki sıkı koordinasyondur.

  • Döngüdeki insan işlemleri, otomasyondaki belirli adımlarda müdahale etmelerini bildirir. Döngüdeki insan işlemlerinde çalışanlar makine öğrenmesi tahminlerinin sonuçlarını denetler ve değerlendirir. İnsan müdahaleleri, ML modelinin yakaladığı zekanın bir parçası haline gelir ve modelin doğrulanmasında yardımcı olur.

    Aşağıdaki insan rolleri bu çözümün bir parçasıdır:

    • Site mühendisleri Logic Apps'in gönderdiği olay bildirimlerini alır ve ML modelinin sonuçlarını veya tahminlerini el ile doğrular. Örneğin, site mühendisi modelin başarısız olduğunu tahmin ettiği bir vanayı inceler.

    • Veri etiketleyicileri , uçtan uca çözümün döngüsünü tamamlamak için veri kümelerini yeniden eğitmek üzere etiketler. Veri etiketleme işlemi, algoritmalar aracılığıyla güvenilir bir model eğitilirken ilk adım olarak özellikle görüntü verileri için önemlidir. Bu örnekte Azure Data Factory, video karelerini pozitif ve hatalı pozitif gruplandırmalar halinde düzenleyerek veri etiketleyicinin çalışmasını kolaylaştırır.

    • Veri bilimciler , algoritmaları doğru gerçek hayatta tahminler yapmak üzere eğitmek için etiketlenmiş veri kümelerini kullanır. Veri bilimcileri bir modeli otomatik olarak eğitmek ve doğrulamak için CI işleminde GitHub Actions veya Azure Pipelines ile MLOps kullanır. Eğitim el ile tetiklenebilir veya yeni eğitim betikleri veya verileri denetlenerek otomatik olarak tetiklenebilir. Veri bilimciler, modelleri otomatik olarak kaydedebilen, dağıtabilen ve yönetebilen bir Azure Machine Learning çalışma alanında çalışır.

    • IoT mühendisleri, kapsayıcılardaki IoT Edge modüllerini Container Registry'de yayımlamak için Azure Pipelines'ı kullanır. Mühendisler, CD işlem hattı kullanarak altyapıyı isteğe bağlı olarak dağıtabilir ve ölçeklendirebilir.

    • Kasa ty denetçileri anomalileri algılamak, uyumluluğu değerlendirmek ve modelin tahminleriyle ilgili sorular ortaya çıktığında sonuçları onaylamak için arşivlenmiş video akışlarını gözden geçirir.

    Bu çözümde IoT Hub, kameralardan telemetriyi alır ve ölçümleri Azure İzleyici'ye gönderir, böylece site mühendisleri araştırma ve sorun giderme işlemleri yapabilir. Azure Machine Learning, Gözlemlenebilirlik ölçümlerini ve model telemetrisini Azure İzleyici'ye göndererek IoT mühendislerinin ve veri bilim insanlarının işlemleri iyileştirmesine yardımcı olur.

Performans

IoT cihazlarının belleği ve işlem gücü sınırlıdır, bu nedenle cihaza gönderilen model kapsayıcısının boyutunu sınırlamak önemlidir. Model çıkarımı yapabilen ve kabul edilebilir bir süre içinde sonuç üretebilen bir IoT cihazı kullandığınızdan emin olun.

Eğitim modellerinin performansını iyileştirmek için bu örnek mimaride Azure Premium Blob Depolama kullanılır. Bu performans katmanı, döngüdeki insan video etiketleme senaryosu gibi hızlı yanıt süreleri ve yüksek işlem hızları gerektiren iş yükleri için tasarlanmıştır.

Performansla ilgili dikkat edilmesi gerekenler, veri alımı işlem hattı için de geçerlidir. Data Factory, yüksek performanslı ve uygun maliyetli bir çözüm sağlayarak veri taşımayı en üst düzeye çıkarır.

Ölçeklenebilirlik

Bu çözümde kullanılan bileşenlerin çoğu otomatik olarak ölçeklendirilen yönetilen hizmetlerdir.

IoT uygulaması için ölçeklenebilirlik, IoT Hub kotalarına ve azaltmaya bağlıdır. Dikkate alınması gereken faktörler şunlardır:

  • IoT Hub'a gelen iletilerde en yüksek günlük kota.
  • IoT Hub örneğindeki bağlı cihazların kotası.
  • Veri alımı ve işleme aktarım hızı.

ML'de ölçeklenebilirlik, modelleri büyük veri kümelerine karşı eğitmek için kullanılan ölçek genişletme kümelerini ifade eder. Ölçeklenebilirlik, ML modelinin onu kullanan uygulamaların taleplerini karşılamasını da sağlar. Bu gereksinimleri karşılamak için ML kümesinin CPU'larda ve grafik işleme birimi (GPU) özellikli düğümlerde ölçeği genişletme sağlaması gerekir.

Ölçeklenebilir çözümler tasarlama hakkında genel yönergeler için Azure Mimari Merkezi'ndeki performans verimliliği denetim listesine bakın.

Güvenlik

Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanılmasına karşı güvence sağlar. Daha fazla bilgi için bkz . Güvenlik sütununa genel bakış.

Dataverse'de ve diğer Azure hizmetlerinde erişim yönetimi yalnızca yetkili kullanıcıların ortama, verilere ve raporlara erişebilmesini sağlamaya yardımcı olur. Bu çözüm, parolaları ve gizli dizileri yönetmek için Azure Key Vault kullanır. Depolama, müşteri tarafından yönetilen anahtarlar kullanılarak şifrelenir.

Güvenli IoT çözümleri tasarlama hakkında genel yönergeler için bkz . Azure Güvenlik Belgeleri ve Azure IoT başvuru mimarisi.

Maliyet iyileştirme

Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarını aramaktır. Daha fazla bilgi için bkz . Maliyet iyileştirme sütununa genel bakış.

Genel olarak, maliyetleri tahmin etmek için Azure fiyatlandırma hesaplayıcısını kullanın. Diğer önemli noktalar için bkz . Maliyet iyileştirme.

Azure Machine Learning ayrıca ek maliyetler doğuran Container Registry, Azure Depolama ve Azure Key Vault hizmetlerini de dağıtır. Daha fazla bilgi için bkz . Azure Machine Learning nasıl çalışır? Mimari ve kavramlar.

Azure Machine Learning fiyatlandırması, bulutta modeli eğitmek için kullanılan sanal makinelere (VM) yönelik ücretleri içerir. Azure Machine Learning'in ve Azure bölgesi başına VM'lerin kullanılabilirliği hakkında bilgi için bkz . Bölgeye göre kullanılabilir ürünler.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl Yazar:

Sonraki adımlar