Zephyrnet Logosu

Küçük Veri Kümesi Tabanlı Nesne Algılama

Tarih:

günlüklerde nesne algılama
İllüstrasyon: © Herkes İçin IoT

Herhangi bir makine öğrenimi projesine başlamak genellikle şu soruyla başlar: "Ne kadar veri yeterlidir?" Cevap, üretim verilerinin çeşitliliği, açık kaynaklı veri kümelerinin mevcudiyeti ve sistemin beklenen performansı gibi bir dizi faktöre bağlıdır; liste uzun bir süre devam edebilir. Bu makalede, yalnızca büyük miktarda veriden öğrenen makineler hakkındaki popüler bir efsaneyi çürütmek ve küçük bir veri kümesiyle makine öğrenimi uygulamasının bir kullanım örneğini paylaşmak istiyoruz. 

hızla benimsenmesiyle derin öğrenme Bilgisayarlı görmede, makinelerin yardımıyla çözülmesi gereken, giderek artan sayıda çeşitli görevler vardır. Bu küçük veri kümesi makine öğrenimi uygulamalarını gerçek dünyada anlamak için nesne algılama görevine odaklanalım..

Nesne Algılama Nedir? 

Nesne algılama, bir fotoğraf veya videodaki nesneleri tanımlama ve bulma ile ilgilenen bir bilgisayarlı görme dalıdır. Nesne algılamanın amacı, makine öğrenmesi yardımıyla dijital bir görüntü veya videoda belirli özelliklere sahip nesneleri bulmaktır. Genellikle, nesne algılama, öğe tanıma için bir ön adımdır: önce nesneleri tanımlamamız gerekir ve ancak o zaman belirli öğeleri tanımlamak için tanıma modellerini uygulayabiliriz. 

Nesne Algılama İş Kullanım Örnekleri 

Nesne algılama, görsel inceleme, depo otomasyonu, envanter yönetimi, güvenlik ve daha fazlası gibi görevler için yapay zeka destekli çözümlerin temel görevidir. Aşağıda, endüstriler arasında başarıyla uygulanan bazı nesne algılama kullanım durumları verilmiştir.

Üretim

Kalite güvencesi ve envanter yönetiminden tasnif ve montaja kadar, nesne algılama birçok üretim sürecinin otomasyonunda önemli bir rol oynar. Makine öğrenimi algoritmaları, sistemin herhangi bir kusuru hızlı bir şekilde algılamasına veya nesneleri otomatik olarak saymasına ve bulmasına olanak tanır. Bu algoritmalar, insan hatasını ve bu nesneleri kontrol etmek ve sıralamak için harcanan zamanı en aza indirerek envanter doğruluğunu geliştirmelerini sağlar.

Otomotiv Hizmetleri

Makine öğrenimi şu alanlarda kullanılır: öz-sürüş araba, yaya algılama ve şehirlerdeki trafik akışını optimize etme. Nesne algılama, sürücünün yakın çevresindeki araçları ve engelleri algılamak için kullanılır. Taşımacılıkta, araçları algılamak ve saymak için nesne tanıma kullanılır. Ayrıca trafik analizi için kullanılır ve otoyollarda veya kavşaklarda durmuş arabaların tespit edilmesine yardımcı olur.

Perakende

Nesne algılama, raf görüntülerini ideal durumla analiz edip karşılaştırarak SKU'ları (Stok Tutma Birimleri) algılamaya yardımcı olur. Donanıma entegre edilen bilgisayarlı görme teknikleri, perakende mağazalarında bekleme süresinin azaltılmasına, müşterilerin ürünlerle etkileşim biçiminin izlenmesine ve teslimatın otomatikleştirilmesine yardımcı olur. 

Sağlık hizmeti

Nesne algılama, CT taramaları, MRI'lar ve X-ışınları gibi tıbbi görüntüleri incelemek için kullanılır. Yüksek riskli hastaları belirlemeye yardımcı olmak, anormallikleri tespit etmek ve hatta cerrahi yardım sağlamak için kanser taramasında da kullanılır. Telesağlık için tıbbi muayenelere yardımcı olmak için nesne algılama ve tanımanın uygulanması, sağlık hizmetlerinin hastalara sunulma şeklini değiştiren yeni bir trenddir. 

Güvenlik ve gözetim

Nesne algılama uygulamaları arasında insan algılama ve yüz tanıma özelliğine sahip video gözetim sistemleri bulunmaktadır. Makine öğrenimi algoritmalarını kullanan bu tür sistemler, biyometrik kimlik doğrulama ve uzaktan gözetim için tasarlanmıştır. Bu teknoloji intiharı önlemek için bile kullanılmıştır.

Lojistik ve depo otomasyonu

Nesne algılama modelleri, envanter yönetimi, kalite kontrol ve tedarik zinciri yönetiminin otomasyonunun yanı sıra kusur tespiti için ürünleri görsel olarak inceleme yeteneğine sahiptir. Yapay zeka destekli lojistik çözümler, barkod algılama yerine nesne algılama modellerini kullanır ve böylece manuel taramanın yerini alır.  

Bir Nesne Algılama Sistemi Nasıl Geliştirilir: PoC Yaklaşımı

Yukarıda bahsedilenler gibi görevler için kullanılacak bir nesne tespit sistemi geliştirmenin diğer ML projelerinden hiçbir farkı yoktur. Tipik olarak, birkaç deney turu sırasında kontrol edilecek bir hipotez oluşturmakla başlar.

Böyle bir hipotez, yazılım geliştirmede Kavram Kanıtı (PoC) yaklaşımının bir parçasıdır. Bu durumda teslimat bir nihai ürün olmadığı için makine öğrenimi ile uyumludur. Araştırma yapmak, seçilen yaklaşımın kullanılabileceğine veya farklı bir yön seçmek için fazladan deneyler yapılması gerektiğine karar vermemize izin verecek sonuçlar bulmamızı sağlar.

Soru "makine öğrenimi için ne kadar veri yeterlidir" ise, hipotez "Modelin optimal bir performans düzeyine ulaşması için 150 veri örneği yeterlidir" gibi bir başlangıç ​​ifadesi olabilir.

gibi deneyimli makine öğrenimi uygulayıcıları Andrew Ng (Google Brain'in kurucu ortağı ve Baidu'da eski baş bilim adamı) tavsiye etmek makine öğrenimi işleviyle sistemin ilk yinelemesini hızlı bir şekilde oluşturma, ardından dağıtma ve oradan yineleme.

Bu yaklaşım, üretim ekibinden gelen veriler ve geri bildirimlerle yükseltilebilen, işlevsel ve ölçeklenebilir bir prototip sistemi oluşturmamıza olanak tanır. Bu çözüm, nihai sistemi en baştan oluşturmaya çalışmakla kıyaslandığında çok daha verimlidir. Bu nitelikteki bir prototip, mutlaka büyük miktarda veri gerektirmez. 

“Ne kadar veri yeterli” sorusunu yanıtlamak için hiçbir makine öğrenimi uzmanının tam olarak ne kadar veriye ihtiyaç olduğunu tahmin edemeyeceği yadsınamaz bir şekilde doğrudur. Bunu öğrenmenin tek yolu, bir hipotez kurmak ve onu gerçek dünya koşulları altında test etmektir. Aşağıdaki nesne algılama örneğinde yaptığımız tam olarak budur.

Vaka Çalışması: Lojistikte Otomatik Öğe Sayımı için Küçük Veri Kümesi Kullanarak Nesne Algılama

Amacımız, lojistik için nesneleri algılayabilen bir sistem oluşturmaktı. Malların üretimden depoya veya depodan tesislere taşınması, genellikle faturalar ve bir veri tabanı kullanılarak fiili miktarın ara kontrolünü ve koordinasyonunu gerektirir. Manuel olarak gerçekleştirilirse, bu görev saatlerce insan çalışmasını gerektirir ve yüksek kayıp, hasar veya yaralanma riski içerir. 

İlk hipotezimiz, lojistik amaçlar için çeşitli öğelerin otomatik olarak sayılması sorununu ele almak için küçük bir açıklamalı veri kümesinin yeterli olacağıydı. 

Birçoğunun alacağı soruna geleneksel yaklaşım, klasik bilgisayarlı görme tekniklerini kullanmaktır. Örneğin, yuvarlak nesneleri algılamak ve saymak için bir Sobel filtre kenar algılama algoritması ile Hough daire dönüştürme yöntemleri birleştirilebilir. Bu yöntem basit ve nispeten güvenilirdir; ancak, iyi tanımlanmış yuvarlak veya oval şekle sahip nesneler üreten bir üretim hattı gibi kontrollü bir ortam için daha uygundur.

Seçtiğimiz kullanım durumunda, klasik yöntemler, nesnelerin şekli, görüntülerin kalitesi ve aydınlatma koşullarının tümü büyük ölçüde değişebileceğinden çok daha az güvenilirdir. Üstelik bu klasik yöntemler toplanan verilerden bir şey öğrenemez. Bu, daha fazla veri toplayarak sistemi iyileştirmeyi zorlaştırır. Bu durumda en iyi seçenek, bunun yerine sinir ağı tabanlı bir nesne algılayıcıya ince ayar yapmak olacaktır.

Veri toplama ve etiketleme 

Küçük bir veri kümesiyle bir nesne algılama deneyi gerçekleştirmek için, kamu kaynakları aracılığıyla erişilebilen birkaç görüntüyü topladık ve manuel olarak açıkladık. Ahşap kütüklerin tespitine odaklanmaya karar verdik ve açıklamalı görüntüleri bölümlere ayırdık. tren ve onaylama böler.

Ayrıca bir dizi topladık test günlüklerin trenden bir şekilde farklı olacağı etiketsiz görüntüler ve verilen için modelin algılama yeteneklerinin sınırlarının nerede olduğunu görmek için doğrulama görüntüleri (yönlendirme, boyut, şekil veya günlüklerin rengi) tren ayarlayın.

Nesne algılama ile uğraştığımız için görüntü açıklamaları sınırlayıcı kutular olarak gösterilir. Bunları oluşturmak için açık kaynaklı tarayıcı tabanlı bir araç kullandık. VGG Görüntü Açıklamasıküçük ölçekli bir veri kümesi oluşturmak için yeterli işlevselliğe sahip olan . Ne yazık ki, araç kendi formatında ek açıklamalar üretir ve daha sonra bu nota dönüştürülür. COCO nesne algılama standardı

Nesne algılamada, veri miktarı yalnızca veri kümesindeki görüntü sayısıyla değil, aynı zamanda her görüntüdeki bireysel nesne örneklerinin miktarıyla da belirlenir. Bizim durumumuzda, görüntüler oldukça yoğun bir şekilde nesnelerle doluydu - örnek sayısı görüntü başına 50-90'a ulaştı.

Detectron2 Nesne Algılama 

Kullanmaya karar verdiğimiz model, Daha hızlı R-CNN Facebook tarafından bilgisayarla görme kitaplığında dedektör2

Daha hızlı R-CNN'nin nesne algılama için nasıl çalıştığına daha yakından bakalım. İlk olarak, bir girdi görüntüsü omurgadan geçirilir (bir görüntü sınıflandırma problemi için önceden eğitilmiş derin bir CNN modeli) ve özellik haritası adı verilen sıkıştırılmış bir temsile dönüştürülür. Özellik haritaları daha sonra, özellik haritalarında bir ilgi nesnesi içermesi muhtemel alanları tanımlayan Bölge Teklif Ağı (RPN) tarafından işlenir.

Daha sonra, alanlar, RoI havuzlama işlemi kullanılarak özellik haritalarından çıkarılır ve sınırlayıcı kutu ofset kafası (her bölge için doğru sınırlayıcı kutu koordinatlarını tahmin eder) ve nesne sınıflandırma kafası (bölgedeki nesnenin sınıfını tahmin eder) tarafından işlenir.

Daha Hızlı R-CNN (Bölge Tabanlı Evrişimli Sinir Ağı), R-CNN mimarisinin 3. yinelemesidir. 

Daha hızlı R-CNN, iki aşamalı bir nesne algılama modelidir. Nesne tekliflerini örneklemek için RPN alt ağını içerir. Ancak, nesne tespiti için küçük veri setinin tek çözümü bu değildir.

Bu bölge önerisi tarama aşaması olmadan ilgili nesneleri bulmaya çalışan tek aşamalı dedektör modelleri de vardır. Tek aşamalı dedektörler daha basit mimarilere sahiptir ve genellikle iki aşamalı modellere kıyasla daha hızlıdır ancak daha az hassastır. Örnekler şunları içerir: yolov4 ve yolov5 mimariler, – bu ailelerden daha hafif yapılandırılmış modellerden bazıları, maksimum 50-140 FPS'de çalışan Daha Hızlı R-CNN'ye kıyasla, 15-25 FPS'ye kadar (algılama kalitesinden ödün vermesine rağmen) ulaşabilir.

Faster R-CNN'nin açıkladığı orijinal makale 2016'da yayınlandı ve zaman içinde mimaride, kullandığımız Detectron2 kitaplığına yansıyan bazı küçük iyileştirmeler aldı.

Örneğin, deneylerimiz için seçilen model konfigürasyonu, R50-FPN, CVPR 50'de tanıtılan bir kavram olan Özellik Piramit Ağı ile ResNet-2017 omurgasını kullanır kâğıt ve o zamandan beri özellik çıkarma için CNN omurgalarının bir elyafı haline geldi. Daha basit bir ifadeyle, Özellik Piramidi Ağlarında kullandığımız, CNN'den çıkarılan en derin özellik haritaları ile sınırlı değildir, aynı zamanda düşük ve orta seviye özellik haritalarını da içerir. Bu, sıkıştırma sırasında en derin seviyelere kadar kaybolacak olan küçük nesne algılamasına izin verir.

Sonuçlar

Deneylerimizde aşağıdaki metodolojiyi kullandık: 

  1. Önceden eğitilmiş bir Daha Hızlı R-CNN örneği alın KOKO 2017 80 nesne sınıfına sahip veri kümesi.
  2. Modeli 320 yeni sınıf için eğitmek için sınırlayıcı kutu regresyonundaki 80 birimi ve sınıflandırma başlıklarındaki 4 birimi sırasıyla 1 ve 1 birim ile değiştirin (sınırlayıcı kutu regresyon başlığı, X, Y, W'yi gerilemek için her sınıf için 4 birime sahiptir) , sınırlama kutusunun H boyutları; burada X, Y, bbox merkezinin merkez koordinatlarıdır ve W, H, genişliği ve yüksekliğidir). 

Bazı ön çalıştırmalardan sonra aşağıdaki eğitim parametrelerini seçtik:

  • Model yapılandırması: R50-FPN
  • Öğrenme oranı: 0.000125
  • Parti boyutu: 2
  • RoI kafaları için parti boyutu: 128
  • Maksimum yineleme: 200

Parametre seti ile eğitimin en ilginç yönüne bakmaya başladık: doğrulama setinde iyi sonuçlar elde etmek için kaç eğitim örneğine ihtiyaç vardı. 1 görüntü bile 90'a kadar örnek içerdiğinden, daha az sayıda örneği test etmek için ek açıklamaların bir kısmını rastgele kaldırmak zorunda kaldık. Keşfettiğimiz şey, 98 örnekli doğrulama setimiz için 10 eğitim örneğinde sadece 1-2 test örneği alabileceğimiz, 25'te zaten yaklaşık 40'a sahip olduğumuz ve 75 ve daha yüksek bir seviyede tüm örnekleri tahmin edebildiğimizdi.

Eğitim örneklerinin sayısının 75'ten 100'e ve 200'e çıkarılması, aynı nihai eğitim sonuçlarına yol açtı. Ancak, eğitim örneklerinin daha yüksek çeşitliliği nedeniyle model daha hızlı yakınsadı.

Doğrulama setinden görüntü üzerinde 237 örnekle eğitilen modelin tahminleri aşağıdaki görüntüde görülebilir; birkaç yanlış pozitif vardır (kırmızı oklarla gösterilir), ancak güvenleri düşüktür ve bu nedenle güven eşiği ~%80 olarak ayarlanarak çoğunlukla filtrelenebilir. 

Bir sonraki adımda, etiketsiz test görüntülerinde eğitilen modelin performansını araştırdık. Beklendiği gibi, eğitim seti dağılımına benzer görüntüler kendinden emin ve yüksek kaliteli tahminlere sahipken, günlüklerin olağandışı şekil, renk veya yönelime sahip olduğu görüntüler modelin çalışması için çok daha zordu.

Bununla birlikte, test setindeki zorlu görüntülerde bile, eğitim örneklerinin sayısını artırmanın olumlu bir etkisi olduğunu gözlemledik. Aşağıdaki resimde, tren görüntüsü sayısındaki artışla modelin ek örnekleri (yeşil yıldızlarla işaretlenmiş) almayı nasıl öğrendiğini gösteriyoruz (1 tren görüntüsü – 91 örnek, 2-4 görüntü – 127-237 örnek). 

Özetlemek gerekirse, sonuçlar modelin doğrulama veri setindeki örneklerin ~%95'ini alabildiğini gösterdi. 75-200 nesne örneğiyle ince ayar yapıldıktan sonra, sağlanan doğrulama verileri tren verilerine benziyordu. Bu, uygun eğitim örneklerinin seçilmesinin sınırlı bir veri senaryosunda kaliteli nesne algılamayı mümkün kıldığını kanıtlar.

Nesne Algılamanın Geleceği

Nesne algılama, son yıllarda ortaya çıkan en yaygın kullanılan bilgisayarlı görme teknolojilerinden biridir. Bunun nedeni öncelikle çok yönlülüktür. Mevcut modellerden bazıları, tüketici elektroniğinde başarılı bir şekilde uygulanır veya sürücü yardım yazılımına entegre edilirken, diğerleri, lojistiği otomatikleştirmek ve sağlık ve üretim sektörlerini dönüştürmek için kullanılan robotik çözümlerin temelidir.

Nesne algılama görevi, uzun vadede insanları sıkıcı işler yapmaktan kurtarmamızı ve çoklu riskleri azaltmamızı sağlayacak olan yapay zeka güdümlü yazılım ve robotik için bir temel oluşturduğundan, dijital dönüşüm için çok önemlidir.

Plato Ai. Web3 Yeniden Düşünüldü. Güçlendirilmiş Veri Zekası.
Erişmek için buraya tıklayın.

Kaynak: https://www.iotforall.com/small-dataset-based-object-detection

spot_img

En Son İstihbarat

spot_img

Bizimle sohbet

Merhaba! Size nasıl yardım edebilirim?