İçindekiler[Saklamak][Göstermek]
Derin öğrenmedeki en basit ama en ilgi çekici fikirlerden biri nesne algılamadır. Temel fikir, her bir öğeyi karşılaştırılabilir özellikleri temsil eden ardışık sınıflara bölmek ve ardından etrafına bir kutu çizmektir.
Bu ayırt edici özellikler, onları kategorize etmemize yardımcı olan biçim veya renk kadar basit olabilir.
uygulamaları Nesne algılama Bilgisayarla Görme ve Görüntü İşleme alanındaki önemli gelişmeler sayesinde tıp bilimleri, otonom sürüş, savunma ve askeriye, kamu yönetimi ve diğer birçok alanda yaygın olarak kullanılmaktadır.
Burada, Pytorch üzerine inşa edilmiş harika bir açık kaynaklı nesne algılama araç seti olan MMDetection'a sahibiz. Bu makalede, MMDetection'ı ayrıntılı olarak inceleyeceğiz, uygulamalı olarak çalışacağız, özelliklerini tartışacağız ve çok daha fazlasını yapacağız.
Nedir MMAlgılama?
The MMAlgılama araç kutusu, özellikle nesne tanımlama ve örnek segmentasyonu içeren problemler için bir Python kod tabanı olarak oluşturuldu.
PyTorch uygulaması kullanılır ve modüler bir şekilde oluşturulur. Nesne tanıma ve örnek segmentasyonu için, çeşitli metodolojilerde çok çeşitli etkili modeller derlenmiştir.
Etkili çıkarım ve hızlı eğitime izin verir. Öte yandan, araç kutusu 200'den fazla önceden eğitilmiş ağ için ağırlıklar içerir ve bu da onu nesne tanımlama alanında hızlı bir düzeltme haline getirir.
Mevcut teknikleri uyarlama veya mevcut modülleri kullanarak yeni bir dedektör oluşturma yeteneği ile MMDetection, bir kıyaslama işlevi görür.
Araç kutusunun temel özelliği, normal bir sistemden basit, modüler parçalar içermesidir. nesne algılama benzersiz işlem hatları veya benzersiz modeller oluşturmak için kullanılabilecek çerçeve.
Bu araç setinin kıyaslama yetenekleri, mevcut bir çerçevenin üzerine yeni bir dedektör çerçevesi oluşturmayı ve performansını karşılaştırmayı kolaylaştırır.
Özellikler
- Faster RCNN, Mask RCNN, RetinaNet vb. gibi popüler ve modern algılama çerçeveleri doğrudan araç seti tarafından desteklenir.
- İnce ayar (veya yeniden eğitim) için 360'tan fazla önceden eğitilmiş modelin kullanımı.
- COCO, Şehir Manzaraları, LVIS ve PASCAL VOC dahil olmak üzere iyi bilinen görüntü veri kümeleri için.
- GPU'larda tüm temel bbox ve mask işlemleri yürütülür. Detectron2, maskrcnn-benchmark ve SimpleDet gibi diğer kod tabanları, bundan daha hızlı veya bununla eşit olarak eğitilebilir.
- Araştırmacılar parçalıyor nesne algılama benzersiz bir nesne algılama sistemi oluşturmak için birleştirilebilen birkaç modüle çerçeve.
MMAlgılama Mimarisi
MMDetection, her biri kendi mimarisine sahip çeşitli önceden oluşturulmuş modellere sahip bir araç kutusu olduğu için herhangi bir modele uygulanabilecek genel bir tasarım belirtir. Aşağıdaki bileşenler bu genel mimariyi oluşturur:
- Omurga: ResNet-50 gibi, son tam bağlı katmana sahip olmayan omurga, bir görüntüyü özellik haritalarına dönüştüren bileşendir.
- Boyun: Boyun, omurgayı kafalara bağlayan bölümdür. Omurganın ham özellik haritalarında belirli ayarlamalar veya yeniden yapılandırmalar yapar. Özellik Piramit Ağı bir örnektir (FPN).
- Yoğun Kafa (AnchorHead/AnchorFreeHead): RPNHead, RetinaHead ve FCOSHead gibi AnchorHead ve AnchorFreeHead gibi özellik haritalarının yoğun alanlarında çalışan bileşendir.
- RoI Çıkarıcı: RoIPooling benzeri operatörlerin kullanımı ile, RoIwise özelliklerini tek veya bir dizi özellik haritasından çeken bölümdür. SingleRoIExtractor örneği, RoI özelliklerini eşleşen özellik piramitleri seviyesinden çıkarır.
- RolKafa (BBoxHead/MaskHead): RoI özelliklerini girdi olarak kullanan ve sınırlayıcı kutu sınıflandırması/regresyon ve maske tahmini gibi RoI tabanlı göreve özel tahminler üreten sistemin bölümüdür.
Tek aşamalı ve iki aşamalı dedektörlerin yapısı, yukarıda belirtilen kavramlar kullanılarak gösterilmektedir. Sadece birkaç yeni parça oluşturarak ve mevcut olanlardan bazılarını birleştirerek kendi prosedürlerimizi geliştirebiliriz.
MMDetection'da bulunan modellerin listesi
MMDetection, birkaç iyi bilinen model ve görev odaklı modüller için birinci sınıf kod tabanları sağlar. Daha önce yapılmış modeller ve MMDetection araç kutusu ile kullanılabilecek uyarlanabilir yöntemler aşağıda listelenmiştir. Daha fazla model ve yöntem eklendikçe liste büyümeye devam ediyor.
- Hızlı R-CNN
- Daha hızlı R-CNN
- Maske R-CNN
- retina ağı
- DCN
- DCNv2
- Kademeli R-CNN
- M2Det
- YHİ
- Kazı Kazan
- Çift Kafa R-CNN
- Izgara R-CNN
- FSAF
- Terazi R-CNN
- GCNet
- HRNet
- Maske Puanlama R-CNN
- FCOS
- SSD
- R-FCN
- Karma Hassasiyet Eğitimi
- Ağırlık Standardizasyonu
- Hibrit Görev Kademesi
- Kılavuzlu Ankraj
- Genelleştirilmiş Dikkat
MMDetection kullanarak nesne algılama modeli oluşturma
Bu eğitimde, kurulumu ve kullanımı kolay olduğu için Google ortak çalışma not defteri olacağız.
Montaj
İhtiyacımız olan her şeyi kurmak için önce gerekli kütüphaneleri kuracağız ve MMdetection GitHub projesini klonlayacağız.
ortam içe aktarılıyor
Projemizin ortamı şimdi depodan içe aktarılacak.
Kitaplıkları ve MMdetection'ı içe aktarma
Şimdi elbette MMdetection ile birlikte gerekli kitaplıkları içe aktaracağız.
Önceden eğitilmiş kontrol noktalarını indirin
MMdetection'ın önceden eğitilmiş model kontrol noktaları, daha fazla ayarlama ve çıkarım için şimdi indirilmelidir.
Bina modeli
Şimdi modeli oluşturacağız ve kontrol noktalarını veri kümesine uygulayacağız.
dedektörü çıkarsama
Artık model düzgün bir şekilde oluşturulduğuna ve yüklendiğine göre, ne kadar mükemmel olduğunu kontrol edelim. MMDetection'ın üst düzey API çıkarım dedektörünü kullanıyoruz. Bu API, çıkarım sürecini kolaylaştırmak için tasarlanmıştır.
Sonuç
Hadi sonuçlara bir göz atalım.
Sonuç
Sonuç olarak, MMDetection araç kutusu SimpleDet, Detectron ve Maskrcnn-benchmark gibi yakın zamanda piyasaya sürülen kod tabanlarından daha iyi performans gösteriyor. Geniş model koleksiyonu ile,
MMDetection artık en son teknolojidir. MMDetection, verimlilik ve performans açısından diğer tüm kod tabanlarından daha iyi performans gösterir.
MMdetection ile ilgili en güzel şeylerden biri, artık farklı bir yapılandırma dosyasına işaret edebilmeniz, farklı bir kontrol noktası indirebilmeniz ve modelleri değiştirmek isterseniz aynı kodu çalıştırabilmenizdir.
onlara bakmanı tavsiye ederim talimatlar aşamalardan herhangi birinde sorun yaşarsanız veya bazılarını farklı şekilde gerçekleştirmek isterseniz.
Yorum bırak