YOLO V1'den YOLO V3'e hedef tespit algoritmasını anlamak için bir makale

Tam metin özeti

Hedef tanıma, bilgisayarla görme alanında çok yaygın bir uygulama problemidir ve birçok hedef tanıma algoritması vardır.Bu makalede tanıtılan YOLO algoritması bunlardan biridir.Bu, RCNN, hızlı RCNN ve daha hızlı RCNN'den sonra. Ross Girshick, DL hedef tespit hızı problemi için başka bir çerçeve önerdi.Bu makalenin amacı, genel olarak YOLO algoritmasının gelişim geçmişini anlamaktır.Eğer onu detaylı bir şekilde uygulamak istiyorsanız, daha fazla ayrıntı ve önlem öğrenmeniz gerekir. Bu makale okuduktan yaklaşık 30 dakika sonra biraz daha uzundur.

YOLO V1'den YOLO V3'e

1. YOLO V1

YOLO V1

YOLO V1'in temel fikri

  • YOLO'nun ana fikri, tüm görüntüyü ağın girişi olarak kullanmak ve sınırlayıcı kutunun konumunu ve bunun kategorisini çıktı katmanında doğrudan döndürmektir.
  • Daha hızlı RCNN ayrıca tüm görüntüyü doğrudan girdi olarak kullanır, ancak daha hızlı olan RCNN bir bütün olarak hala RCNN önerisi + sınıflandırıcı fikrini benimser, ancak teklifin çıkarılması adımı CNN'de uygulanırken YOLO doğrudan Dönüş fikri.

YOLO V1

YOLO V1'in uygulama yöntemi

Bir görüntüyü SxS ızgara hücrelerine bölün.Bir nesnenin merkezi bu ızgaraya düşerse, bu ızgara nesneyi tahmin etmekten sorumludur.

Her ızgaranın B sınırlayıcı kutularını tahmin etmesi gerekir.Kendi konumuna geri dönmenin yanı sıra, her sınırlayıcı kutunun ayrıca bir güven değeri öngörmesi gerekir.

Bu güven, iki bilgi parçasını, tahmin edilen kutunun nesneyi içerdiğine dair güveni ve kutunun ne kadar doğru olduğunu temsil eder. Değeri şu şekilde hesaplanır:

Bunların arasında, bir nesne bir ızgara hücresine düşerse, ilk öğe 1, aksi takdirde 0'dır. İkinci öğe, tahmin edilen sınırlayıcı kutu ile gerçek temel gerçek arasındaki IoU değeridir.

Her bir sınırlayıcı kutunun 5 değeri (x, y, w, h) ve güveni tahmin etmesi gerekir ve her ızgara, C kategorisi olarak kaydedilen bir kategori bilgisini de tahmin eder. Sonra SxS ızgaraları vardır ve her ızgaranın B sınırlayıcı kutuları ve C kategorilerini tahmin etmesi gerekir. Çıkış, S x S x (5 * B + C) 'nin bir tensörüdür.

Not: Sınıf bilgisi her ızgara içindir ve güven bilgisi her sınırlayıcı kutu içindir.

Örneğin: PASCAL VOC'de görüntü girişi 448x448, S = 7, B = 2, 20 kategori vardır (C = 20) ve çıktı 7x7x30 tensördür.

Ağ yapısının tamamı aşağıda gösterilmiştir:

Testte, her bir ızgara tarafından tahmin edilen sınıf bilgisi ve sınırlayıcı kutu tarafından tahmin edilen güven bilgisi, her bir sınırlayıcı kutunun sınıfa özgü güven puanını elde etmek için çarpılır:

Denklemin sol tarafındaki ilk terim, her ızgara tahmininin kategori bilgisidir ve ikinci ve üçüncü terimler, her bir sınırlayıcı kutu tahmininin güvenirliğidir. Bu ürün, tahmin edilen kutunun belirli bir kategoriye ait olma olasılığını kodlar ve ayrıca kutunun doğruluğu hakkında bilgi içerir.

Her kutunun sınıfa özgü güven puanını elde ettikten sonra, eşiği ayarlayın, düşük puanlı kutuları filtreleyin ve nihai algılama sonucunu almak için ayrılmış kutularda NMS işlemini gerçekleştirin.

Not: * Çıktı katmanı tamamen bağlantılı bir katman olduğundan, YOLO eğitim modeli yalnızca algılama sırasında eğitim görüntüsü ile aynı giriş çözünürlüğünü destekler. * Her ızgara B sınırlayıcı kutularını tahmin edebilse de, sonunda nesne algılama çıktısı olarak yalnızca en yüksek IOU'ya sahip sınırlayıcı kutu seçilir, yani her ızgara yalnızca en fazla bir nesneyi tahmin edebilir. Nesne, görüntüdeki bir sürü veya kuş sürüsü gibi ekranın küçük bir bölümünü kapladığında, her ızgara birden çok nesne içerir, ancak bunlardan yalnızca biri algılanabilir. Bu, YOLO yöntemindeki bir kusurdur.

YOLO V1

YOLO V1'in uygulama ayrıntıları

Her grid 30 boyuta sahiptir.Bu 30 boyuttan 8'i dönüş kutusunun koordinatları, 2'si kutunun güvenirliği ve 20'si kategoridir.

X, y koordinatları, ilgili ızgaranın ofseti ile 0-1'e normalleştirilir ve w, h görüntünün genişliği ve yüksekliği ile 0-1'e normalize edilir.

Uygulamada en önemli şey, bu üç yönün iyi dengelenmesi için kayıp fonksiyonunun nasıl tasarlanacağıdır. Yazar, bunu yapmak için basit ve kaba bir şekilde toplam kare hata kaybını kullanır.

Bu yaklaşımla ilgili birkaç sorun vardır:

Birincisi, 8 boyutlu yerelleştirme hatasının ve 20 boyutlu sınıflandırma hatasının eşit derecede önemli olması açıkça mantıksızdır;

İkincisi, bir ızgarada hiç nesne yoksa (bir resimde bu tür çok sayıda ızgara varsa), bu ızgaralardaki kutuların güvenirliği, nesneli daha az ızgaraya kıyasla 0'a itilecektir, Bu yaklaşım, ağda istikrarsızlığa ve hatta farklılaşmaya neden olabilecek aşırı güçlüdür.

Çözüm:

  • 8 boyutlu koordinat tahminine daha fazla dikkat edin ve bu kayıplara daha büyük bir kayıp ağırlığı atayın.

  • Pascal VOC eğitiminde 5 alın.
  • Nesne bulunmayan bir kutunun güven kaybına, olarak kaydedilen küçük bir kayıp ağırlığı verilir.

  • Pascal VOC eğitiminde 0,5 alın.
  • Nesnenin bulunduğu kutunun güven kaybı ve kategori kaybının kayıp ağırlığı normalde 1 olarak ayarlanır.
  • Farklı boyutlardaki kutuların tahmininde, büyük kutunun tahminine kıyasla, küçük kutunun tahmini kesinlikle daha tahammül edilemez. Toplam kare hata kaybı, aynı ofset kaybı için aynıdır.
  • Yazar, bu sorunu hafifletmek için, orijinal yükseklik ve genişlik yerine kutunun genişliğinin ve yüksekliğinin karekökünü almak olan daha zor bir yöntem kullandı. Aşağıdaki şekle bakarak bunu anlamak kolaydır Küçük kutunun yatay eksen değeri küçüktür Bir ofset meydana geldiğinde, y ekseninin büyük kutudan daha büyük olduğunu yansıtacaktır. (Ayrıca yaklaşık bir yaklaşım)

Bir ızgara, birden fazla kutuyu tahmin eder ve umut, her kutu öngörücünün bir nesneyi tahmin etmekten özellikle sorumlu olmasıdır. Spesifik yöntem, şu anda tahmin edilen kutu ve temel doğruluk kutusundaki hangi IoU'nun daha büyük olduğunu, hangisinin sorumlu olduğunu görmektir. Bu yaklaşıma kutu öngörücünün uzmanlaşması denir.

Nihai kayıp işlevi aşağıdaki gibidir:

Bu kayıp fonksiyonunda:

  • Sınıflandırma hatası yalnızca ızgarada bir nesne olduğunda cezalandırılacaktır.
  • Yalnızca bir zemin doğruluğu kutusundan bir kutu öngörücüsü sorumlu olduğunda, kutunun koordinat hatası cezalandırılır ve hangi kesinlik kutusunun sorumlu olduğu, tahmin edilen değerinin ve yer gerçeği kutusunun IoU'sunun o hücrede olup olmadığına bağlıdır. Tüm kutuların en büyüğü.

Sızıntı RELU'yu kullanmak için aktivasyon işlevini kullanmak ve ImageNet ön eğitimini kullanan model vb. Gibi diğer ayrıntılar burada tekrarlanmayacaktır.

Not: * YOLO yöntem modeli eğitimi, nesne tanıma ve açıklama verilerine dayanır.Bu nedenle, YOLO'nun algılama etkisi, alışılmadık nesne şekilleri veya oranları için ideal değildir. * YOLO, birden fazla alt örnekleme katmanı kullanır ve ağ tarafından öğrenilen nesne özellikleri iyi değildir, bu da algılama etkisini etkileyecektir. * YOLO'nun kayıp fonksiyonunda, büyük nesnenin IOU hatası ve küçük nesnenin IOU hatasının ağ eğitimindeki kayba yakın katkıları vardır (karekök yöntemi kullanılsa da temelde sorunu çözmez). Bu nedenle, küçük nesneler için küçük IOU hataları, ağ optimizasyon süreci üzerinde de büyük bir etkiye sahip olacak ve böylece nesne algılamanın konumlandırma doğruluğunu azaltacaktır.

YOLO V1

YOLO V1'in dezavantajları

YOLO birbirine yakın nesneleri ve küçük grupları tespit etmede iyi bir performans göstermez, çünkü bir ızgarada yalnızca iki kutu öngörülür ve bunlar yalnızca bir kategoriye aittir.

Aynı tür nesneler için yeni ve alışılmadık en boy oranları ve diğer durumlar ortaya çıktığında, genelleme yeteneği zayıftır.

Kayıp fonksiyonu probleminden dolayı, tespit etkisini etkileyen ana sebep konumlandırma hatasıdır. Özellikle büyük ve küçük nesnelerin kullanımının güçlendirilmesi gerekiyor.

2. YOLO V2

YOLOv2: Endüstrideki en gelişmiş nesne algılama seviyesini temsil eder.Hızı diğer algılama sistemlerinden (FasterR-CNN, ResNet, SSD) daha hızlıdır ve kullanıcılar hızı ve doğruluğu arasında bir denge kurabilir.

YOLO9000: Bu ağ yapısı, algılama veri setindeki ve tanıma veri setindeki verileri karıştırmak için WordTree kullanan WordTree kullanımı sayesinde 9000'den fazla nesne sınıflandırmasını gerçek zamanlı olarak algılayabilir.

Proje kodu adresi:

YOLO V2

YOLO V2'ye Giriş

Mevcut algılama veri kümelerinin (Algılama Veri Kümeleri) birçok sınırlaması vardır, sınıflandırma etiketi bilgileri çok azdır, resim sayısı sınıflandırma veri kümesinden (Sınıflandırma Veri Kümeleri) daha azdır ve algılama veri kümesinin maliyeti çok yüksektir, bu da sınıflandırma veri kümesi olarak kullanılmasını imkansız hale getirir. kullanın. Bununla birlikte, mevcut sınıflandırma veri seti çok sayıda resme ve çok zengin sınıflandırma bilgisine sahiptir.

Makale yeni bir eğitim yöntemi-ortak eğitim algoritması önermektedir. Bu algoritma bu iki veri setini bir araya getirebilir. Nesneleri sınıflandırmak için hiyerarşik bir görünüm kullanın ve algılama veri setini genişletmek için büyük miktarda sınıflandırma veri seti verisi kullanın, böylece iki farklı veri setini karıştırın.

Ortak eğitim algoritmasının temel fikri, nesne dedektörlerini (Nesne Dedektörleri) aynı anda algılama veri seti ve sınıflandırma veri seti üzerinde eğitmek, nesnenin doğru konumunu öğrenmek için izleme veri setinin verilerini kullanmak ve sınıflandırma kategorisini artırmak için sınıflandırma veri setinin verilerini kullanmaktır. Sağlamlığı artırın.

YOLO9000, ortak bir eğitim algoritması kullanılarak eğitilmiştir.9000 sınıflandırma bilgisi kategorisine sahiptir.Sınıflandırma bilgisi ImageNet sınıflandırma veri setinden öğrenilir ve nesne konum tespiti COCO tespit veri setinden öğrenilir.

Kod ve ön eğitim modeli adresi:

YOLO V2

YOLO V2 için iyileştirme önlemleri

Toplu Normalleştirme

Ağı optimize etmek için Toplu Normalleştirme'yi kullanın, böylece ağ yakınsamayı iyileştirir ve aynı zamanda diğer düzenleme biçimlerine olan bağımlılığı ortadan kaldırır. YOLO'nun her bir evrişimli katmanına Yığın Normalleştirme eklenerek, mAP sonunda% 2 artırıldı ve model de düzenli hale getirildi. Eksikliği modelden fazla uydurmadan kaldırmak için Toplu Normalleştirme'yi kullanın.

Yüksek çözünürlüklü sınıflandırıcı

Mevcut endüstri standardı algılama yöntemleri, sınıflandırıcıyı ilk olarak eğitim öncesi ImageNet'e yerleştirmelidir. Alexnet'ten başlayarak, çoğu sınıflandırıcı 256 * 256'dan küçük resimlerde çalışır. Ve şimdi YOLO 224 * 224'ten 448 * 448'e çıktı, bu da ağın yeni giriş çözünürlüğüne adapte olması gerektiği anlamına geliyor.

Yeni çözünürlüğe uyum sağlamak için, YOLO v2 sınıflandırma ağına ImageNet üzerinde 448 * 448 çözünürlükle ince ayar yapılmıştır, 10 dönemlik ince ayar yapılmıştır, böylece ağın filtreleri ayarlamak için zamanı vardır, böylece daha iyi çalışabilir. Yeni çözünürlükte, tespit için kullanılan Sonuç Ağının da ayarlanması gerekiyor. Son olarak yüksek çözünürlük kullanılarak mAP% 4 artırıldı.

Bağlantı kutuları ile evrişim

YOLO üretimi, Sınırlayıcı Kutuların koordinat değerlerini doğrudan tahmin edebilen, tamamen bağlantılı bir katman içerir. Daha Hızlı R-CNN yöntemi, koordinat değerini doğrudan tahmin etmek yerine, Bağlantı Kutusunun ofsetini ve güvenirliğini tahmin etmek için yalnızca evrişimli katman ve Bölge Teklif Ağı'nı kullanır. Yazar, koordinat değeri yerine ofseti tahmin etmenin sorunu basitleştirdiğini ve sinir ağının öğrenilmesini kolaylaştırdığını buldu.

Sonunda YOLO, tamamen bağlı katmanı kaldırdı ve Sınırlayıcı Kutuları tahmin etmek için Bağlantı Kutularını kullandı. Yazar, ağdaki bir havuz katmanını kaldırdı ve bu, evrişimli katmanın çıktısının daha yüksek bir çözünürlüğe sahip olmasına izin verdi. Ağı, 448 * 448 yerine 416 * 416'da çalışacak şekilde küçültün. Resimdeki nesneler, özellikle nispeten büyük nesneler resmin merkezinde görünme eğiliminde olduğundan, nesnenin merkezinde bu nesneleri tahmin etmek için ayrı bir konum vardır. YOLO'nun evrişimli katmanı, görüntüyü altörneklemek için 32 değerini kullanır, bu nedenle giriş boyutu olarak 416 * 416'yı seçerek, sonunda 13 * 13 özellik haritası çıkarabilir. Anchor Box kullanımı doğruluğu biraz azaltacaktır, ancak onu kullanmak YOLO'nun binden fazla kutuyu tahmin etmesine izin verirken, hatırlama% 88'e ve mAP% 69,2'ye ulaşır.

Boyut kümeleri

Bağlantı Kutusunun boyutu daha önce manuel olarak seçildi, bu nedenle optimizasyon için hala yer var. Optimizasyon için, daha iyi bir değer bulmak üzere eğitim setinin Sınırlayıcı Kutuları üzerinde k-ortalama kümeleme çalıştırın.

Standart Öklid mesafesi k-ortalamasını kullanırsak, daha büyük kutular küçük kutulardan daha fazla hata üretecektir. Amacımız, Kutunun boyutuna bağlı olan IOU puanını iyileştirmek olduğu için, mesafe ölçümlerinin kullanımı:

Deneysel sonuçları analiz ederek (Şekil 2), soldaki resim: Modelin karmaşıklığı ve yüksek hatırlama tartıldıktan sonra, küme sınıflandırması sayısı K = 5 seçilir. Sağ: Çoğunluğu uzun ve ince kutular olan kümenin merkezidir.

Tablo 1, Bağlantı Kutularını seçmek için K araçları kullanılırken, Küme IOU değeri 5 olduğunda, AVG IOU değerinin 61 olduğunu ve kümeleme içermeyen yöntem için 60,9'dan daha yüksek olduğunu göstermektedir. Değer 9 olduğunda, AVG IOU daha önemli ölçüde iyileştirilir. Kısaca kümeleme yönteminin etkili olduğu anlamına gelir.

Doğrudan konum tahmini

Anchor Box yönteminin kullanılması, özellikle ilk birkaç yinelemede modeli kararsız hale getirecektir. Kararsız faktörlerin çoğu, Box'ın (x, y) konumu tahmin edilirken üretilir. Önceki YOLO yöntemine göre, ağ ofseti tahmin etmez, ancak YOLO'daki grid biriminin konumuna göre koordinatları tahmin eder, bu da Ground Truth değerini 0 ile 1 arasında yapar. Ağ sonuçlarının bu aralığa girmesine izin vermek için, ağ, sonuçların 0 ile 1 arasında olmasını sağlayacak şekilde ağ tahmin sonuçlarını sınırlandırmak için bir Lojistik Etkinleştirme kullanır. Ağ, her bir ızgara biriminde 5 Sınırlayıcı Kutu öngörür ve her Sınırlama Kutusunun beş koordinat değeri tx, ty, tw, th ve t0 vardır Aralarındaki ilişki aşağıdaki şekilde gösterilmektedir (Şekil 3). Bir ızgara biriminin resmin sol üst köşesine olan ofsetinin cx, cy ve Önceki Sınırlayıcı Kutuların genişliği ve yüksekliğinin pw, ph olduğu varsayıldığında, tahmin edilen sonuç aşağıdaki şeklin sağındaki formülde gösterilir:

Kısıtlamaların kullanılması nedeniyle, değerler parametreleştirilir ve ağın öğrenilmesi daha kolay ve daha kararlı hale gelir. Boyut kümeleri ve Doğrudan konum tahmini, Anchor Box kullanan diğer sürümlere kıyasla YOLO'yu yaklaşık% 5 oranında iyileştirmiştir.

İnce Taneli Özellikler

YOLO'nun değiştirilmiş özellik haritası boyutu 13 * 13'tür. Bu boyut, görüntüdeki büyük nesnelerin algılanması için yeterlidir.Aynı zamanda, bu ince taneli özelliğin kullanılması, küçük nesnelerin konumlandırılmasında da faydalı olabilir. Daha hızlı RCNN ve SSD'nin her ikisi de farklı aralıklarda çözünürlükler elde etmek için farklı boyutlarda özellik haritalarını kullanırken, YOLO farklı bir yaklaşım benimser.YOLO, önceki 26 * 26 çözünürlük katmanının özelliklerini elde etmek için bir Geçiş Katmanı ekler. . Bu Geçiş katmanı, yüksek çözünürlüklü özellikleri düşük çözünürlüklü özelliklerle ilişkilendirebilir. Bağlama yöntemi, bitişik özellikleri farklı Kanallarda yığmaktır. Bu yöntem Resnet'in Kimlik Eşleştirmesine benzer, dolayısıyla 26 * 26 * 512, 13 * 13 * 2048 olur. YOLO'daki dedektör, genişletilmiş özellik haritasının üzerinde yer alır, böylece YOLO'nun performansını% 1 oranında artıran ince taneli özellik bilgileri elde edebilir.

Çok Ölçekli Eğitim

Yazar, YOLOv2'nin farklı boyutlardaki görüntüler üzerinde sağlam bir şekilde çalışabileceğini umuyor, bu nedenle bu fikir eğitim modelinde kullanılıyor.

Önceki resmin boyutunu tamamlama yönteminden farklı olarak, YOLOv2 ağ parametrelerini birkaç yinelemede bir değiştirir. Ağ, her 10 grupta rastgele yeni bir görüntü boyutu seçecektir. Alt örnekleme parametresi 32 olduğundan, farklı boyutlar da minimum 320 * 320 olmak üzere 32'nin katları olarak {320, 352 ..... 608} seçilir. , Maksimum 608 * 608'dir, ağ otomatik olarak boyutunu değiştirecek ve eğitim sürecine devam edecektir.

Bu politika, ağın farklı giriş boyutları üzerinde iyi bir tahmin etkisi elde etmesini sağlar ve aynı ağ farklı çözünürlüklerde algılama yapabilir. Girdi görüntü boyutu nispeten küçük olduğunda daha hızlı çalışır ve girdi görüntü boyutu görece büyük olduğunda doğruluk yüksektir, bu nedenle YOLOv2'nin hızını ve doğruluğunu tartabilirsiniz.

Aşağıdaki resim, voc2007'nin hızını ve doğruluğunu gösterir

YOLO V2

YOLO V2 mimarisi

Eğitim süreci sırasında, ağ algılama veri setinden bir resim ve etiket bilgisiyle karşılaştığında, resmi geri yaymak için tam YOLO v2 kayıp işlevini kullanacaktır. Ağ, sınıflandırma veri seti ve sınıflandırma etiketi bilgilerinden bir resimle karşılaştığında, resmi geri yaymak için yalnızca tüm yapının sınıflandırma kısmının kayıp işlevini kullanır.

Bununla birlikte, algılama veri seti yalnızca "kedi" ve "köpek" gibi kaba etiket bilgilerine sahipken, sınıflandırma veri kümesinin etiket bilgileri daha ince taneli ve daha zengindir. Örneğin, köpek kategorisi "husky", "bull terrier", "golden retriever" vb. İçerir. Bu nedenle, izleme veri seti ve sınıflandırma veri seti üzerinde aynı anda eğitim almak istiyorsanız, bu etiket bilgilerini birleştirmek için tutarlı bir yöntem kullanılmalıdır.

Ayrıca, sınıflandırma için kullanılan yöntemlerin çoğu softmax katman yöntemleridir .. Softmax, sınıflandırma kategorilerinin birbirinden bağımsız olduğu anlamına gelir. Ve körü körüne karıştırılmış veri seti eğitimi, örneğin, algılama veri setinin sınıflandırma bilgilerinde "köpek" sınıflandırması olacaktır. Sınıflandırma veri setinde, farklı türde köpekler olacaktır: "husky" ve "bull terrier" Bu iki veri setinin sınıflandırma bilgileri birbirinden bağımsız değildir. Bu nedenle, veri setlerini karıştırmak için çok etiketli bir model kullanılır.Bir resmin birden fazla sınıflandırma bilgisine sahip olabileceği varsayılır ve sınıflandırma bilgilerinin birbirinden bağımsız olması gerektiği kuralı göz ardı edilebilir.

Hiyerarşik sınıflandırma

WordNet'in yapısı bir ağaç yapısı değil, yönlendirilmiş bir grafiktir. Dil karmaşık olduğu için, köpek kelimesi hem "köpek" hem de "evcil hayvanlar" a aittir ve "köpek" ve "evcil hayvanlar" WordNet'te eşanlamlıdır, bu nedenle ağaç yapısı kullanılamaz.

Yazar, ImageNet'te bulunan kavramlara dayalı bir hiyerarşik ağaç oluşturmayı umuyor. Bu hiyerarşik ağacı oluşturmak için, önce ImagenNet'te görünen isimleri kontrol edin, sonra bu isimleri WordNet'te bulun ve sonra bu isimlerin kök düğümlerine olan yolunu bulun (içinde Burada tüm kök düğümlerin fiziksel nesneler olduğunu varsayıyoruz.WordNet'te çoğu eşanlamlıların yalnızca bir yolu vardır, bu nedenle önce bu yoldaki tüm kelimeleri hiyerarşik ağaca ekleyin ve ardından geri kalanını yinelemeli olarak kontrol edin Ve bunları mümkün olduğunca az hiyerarşik ağaca ekleyin Ekleme ilkesi ağaca en kısa yolu eklemektir.

Bir düğümün mutlak olasılığını hesaplamak için, yalnızca bu düğümden kök düğüme giden tüm yolun tüm olasılıklarını çarpmak gerekir. Örneğin, bir resmin Norfolk terrier olup olmadığını bilmek istiyorsanız, aşağıdaki gibi hesaplayabilirsiniz:

Bu yöntemi doğrulamak için Darknet19 modeli WordTree üzerinde eğitildi ve eğitim için 1000 sınıf ImageNet kullanıldı.WordtTree 1K oluşturmak için tüm ara sözcükler WordTree'ye eklendi ve etiket alanı 1000'den 1369'a genişletildi. Eğitim sürecinde "Norfolk terrier" etiketli bir resim varsa bu resim de "köpek" ve "memeli" gibi etiketler alacaktır. Kısacası, artık bir resim çok işaretlidir ve işaretlerin birbirinden bağımsız olmasına gerek yoktur.

Şekil 5'te gösterildiği gibi, önceki ImageNet sınıflandırması, sınıflandırma için büyük bir softmax kullanmıştır. Şimdi, WordTree'nin yalnızca aynı kavram altında eşanlamlılar üzerinde softmax sınıflandırması yapması gerekiyor.

Aynı eğitim parametrelerini kullanan bu hiyerarşik Darknet19, doğrulukta sadece hafif bir düşüşle% 71,9 ilk-1 doğruluk ve% 90,4 ilk-5 doğruluk elde eder.

Bu yöntemin avantajı: bilinmeyen veya yeni nesneleri sınıflandırırken performans düşüşü zariftir. Örneğin, bir köpeğin fotoğrafını görürseniz, ancak ne tür bir köpek olduğunu bilmiyorsanız, güven tahmini "köpek" dir ve diğer köpek türleri "husky", "bull terrier" ve "golden retriever" ile eş anlamlıdır. Bunları beklemek düşük güven.

Wordtree ile veri kümesi kombinasyonu

Veri kümesindeki kategorileri hiyerarşik ağaçtaki eş anlamlılarla eşleştirmek için WordTree'yi kullanın Örneğin, Şekil 6'da WordTree ImageNet ve COCO'yu karıştırır.

Ortak sınıflandırma ve tespit

Yazarın amacı, Son Derece Büyük Ölçekli bir dedektör yetiştirmektir. Bu nedenle, eğitim sırasında WordTree, COCO algılama veri setini ImageNet'teki Top9000 sınıfı ile karıştırmak için kullanılır Karma veri seti 9,418 sınıflı WordTree'ye karşılık gelir. Öte yandan, ImageNet veri kümesi çok büyük olduğu için yazar, iki veri kümesi arasındaki veri miktarını dengelemek için COCO veri kümesindeki verileri yüksek hızda örnekleyerek COCO veri kümesi ile ImageNet veri kümesi arasında veri oluşturuyor. Ses oranı 1: 4'e ulaşır.

YOLO9000 eğitimi, YOLO v2 çerçevesine dayanır, ancak çıktı boyutunu sınırlamak için 5 yerine 3 öncelik kullanır. Ağ, algılama veri setinde bir resim ile karşılaştığında, normalde ters yönde ilerler.Sınıflandırılmış veri setinde bir resimle karşılaştığında, sadece geri yayılma için sınıflandırmanın kayıp fonksiyonunu kullanır. Yazar aynı zamanda IOU'nun en az 0,3 olduğunu varsaymaktadır. Son olarak, bu varsayımlara dayanarak geri yayılım gerçekleştirilir.

Ortak eğitim yöntemini kullanan YOLO9000, resimdeki nesnelerin konumunu tespit etmeyi öğrenmek için COCO algılama veri setini kullanır ve çok sayıda kategorinin nasıl sınıflandırılacağını öğrenmek için ImageNet sınıflandırma veri setini kullanır.

Bu yöntemi değerlendirmek için eğitim sonuçları ImageNet Detection Task kullanılarak değerlendirilir.

Değerlendirme sonucu:

YOLO9000, 19.7 mAP'ye ulaştı. 156 adet öğrenilmemiş sınıflandırma verisi üzerinde test edildi, mAP 16.0'a ulaştı.

YOLO9000'in haritası DPM'den daha yüksektir ve YOLO daha gelişmiş özelliklere sahiptir.YOLO9000, kısmen denetimli bir şekilde farklı eğitim setlerinde eğitilmiştir ve 9000 nesne kategorisini algılayabilir ve gerçek zamanlı çalışmayı sağlayabilir.

YOLO9000, hayvanlar için iyi bir tanıma performansına sahip olmasına rağmen, tanıma performansı "sungalsses" veya "mayo" gibi giysi veya ekipman kategorileri için çok iyi değildir. Bkz. Tablo 7. Bunun veri kümesinin veri bileşimi ile çok ilgisi vardır.

YOLO V2

YOLO V2'nin Özeti

YOLO v2, son teknoloji nesne algılamanın mevcut durumunu temsil eder. Çeşitli izleme veri setlerinde diğer algılama sistemlerinden daha hızlıdır ve hız ve doğruluk açısından takas edilebilir.

YOLO 9000'in ağ yapısı, algılama ve sınıflandırma işlevlerinin eşzamanlı optimizasyonu sayesinde 9.000'den fazla nesne sınıflandırmasının gerçek zamanlı tespitine izin verir. Farklı kaynaklardan gelen eğitim verilerini karıştırmak için WordTree'yi ve ImageNet ve COCO veri setlerini eşzamanlı olarak eğitmek için ortak optimizasyon tekniklerini kullanan YOLO9000, izleme veri seti ile tanıma veri seti arasındaki üretim boşluğunu daha da azaltır.

3. YOLO V3

YOLO V3

YOLO V3'e Giriş

YOLOv3, 20FPS hızında Pascal Titan X üzerinde 608x608 görüntüleri işleyebilir ve COCO test-dev üzerinde mAP@0.5% 57.9'a ulaşır; bu, RetinaNet (FocalLoss belgesinde önerilen tek aşamalı ağ) sonuçlarına benzer ve 4 kat daha hızlıdır.

YOLO v3'ün modeli önceki modele göre çok daha karmaşıktır.Model yapısının boyutunu değiştirerek hız ve doğruluğu tartabilirsiniz.

Hız karşılaştırması aşağıdaki gibidir:

"YOLOv3, aynı doğruluğu elde ederken diğer algılama yöntemlerinden önemli ölçüde daha hızlıdır. Zaman, M40 veya Titan X gibi aynı GPU altında ölçülür.

Kısacası, YOLOv3'ün önceki algılama sistemi, algılama görevlerini gerçekleştirmek için sınıflandırıcı veya konumlandırıcıyı yeniden kullanır. Modeli görüntünün birden çok konumuna ve ölçeğine uygularlar. Daha yüksek puan alan alanlar test sonuçları olarak kabul edilebilir. Ayrıca diğer hedef tespit yöntemlerine kıyasla tamamen farklı bir yöntem kullanıyoruz. Tüm görüntüye tek bir sinir ağı uyguluyoruz Ağ, görüntüyü farklı bölgelere böler, böylece her bölgenin sınırlayıcı kutusunu ve olasılığını tahmin eder.Bu sınırlayıcı kutular, tahmin edilen olasılıkla ağırlıklandırılır. Modelimizin sınıflandırıcı tabanlı sistemlere göre bazı avantajları vardır. Test sırasında görüntünün tamamına bakar, bu nedenle tahmini görüntüdeki küresel bilgileri kullanır. Binlerce tek hedef görüntü gerektiren R-CNN'in aksine, tek bir ağ değerlendirmesiyle tahminler yapar. Bu, YOLOv3'ü çok hızlı yapar, genellikle R-CNN'den 1000 kat ve Hızlı R-CNN'den 100 kat daha hızlıdır.

YOLO V3

YOLO V3'ün iyileştirmeleri

İyileştirmeler:

1. Çok ölçekli tahmin (FPN benzeri)

2. Daha iyi temel sınıflandırma ağı (ResNet sınıfı) ve sınıflandırıcı darknet-53, aşağıdaki şekle bakın

3. Sınıflandırıcı-kategori tahmini:

YOLOv3, her kutuyu sınıflandırmak için Softmax kullanmaz. Dikkat edilmesi gereken iki ana nokta vardır:

a. Softmax, her kutuya bir kategori (en yüksek puana sahip olan) atanmasına izin verir. Açık Görüntüler gibi bir veri kümesi için, hedef çakışan kategori etiketlerine sahip olabilir, bu nedenle Softmax, çoklu etiketli sınıflandırma için uygun değildir.

b. Softmax, birden çok bağımsız lojistik sınıflandırıcı ile değiştirilebilir ve doğruluk oranı azalmaz.

c. Sınıflandırma kaybı, ikili çapraz entropi kaybını benimser.

Çok ölçekli tahmin

Her ölçek 3 kutuyu öngörür ve çapa tasarım yöntemi, boyutlarına göre eşit olarak 3 ölçeğe bölünmüş 9 küme merkezini elde etmek için hala kümeleme kullanır.

  • Ölçek 1: Temel ağ ve çıktı kutusu bilgilerinden sonra bazı evrişimli katmanlar ekleyin.
  • Ölçek 2: Ölçek 1'deki sondan bir önceki katmanın evrişimli katmanından üst örnek (x2) ve bunu son 16x16 özellik haritasına ekleyin ve ölçek 1'den daha büyük olan çoklu evrişimlerden sonra kutu bilgilerini çıktı olarak alın. çift.
  • Ölçek 3: Ölçek 2'ye benzer, 32x32 özellik haritası kullanarak

Temel ağ Darknet-53

Darknet-53'ün doğruluğu ResNet-101 veya ResNet-152'ninkine benzer, ancak hızı daha hızlıdır.Karşılaştırma aşağıdaki gibidir:

Algılama yapısı aşağıdaki gibidir:

YOLOv3, mAP@0.5 ve küçük hedef AP'lerde iyi sonuçlara sahiptir, ancak IOU arttıkça performans düşer, bu da YOLOv3'ün temel gerçeğe tam olarak uymadığını gösterir.

Teknoloji Tanrı Yanıtı | Liu Qiangdong'un vakası yeni bir "kavun" ekliyor, netizenler: zengin çocuklar dışarıda ve kendilerini korumalılar
önceki
Nesne algılamada maksimum olmayan bastırma (NMS) hesaplaması
Sonraki
İnanılmaz! Ateş ejderhası bahçesi bir ışık denizine dönüşüyor, Maoming, Gaozhou'daki bu meyve bahçesinde zengin olmak için bilim ve teknoloji yoluna bakın!
Guangdong kız öğrenci yanlışlıkla paylaşılan bir arabayı sürdü ve başka bir paylaşılan arabanın ardından bir Mercedes-Benz'e çarptı
"Game of Thrones" un veri bilimi ile yorumu: Demir Taht'a sonunda kim ulaşacak?
İçten yanma! Devrildi! 26 Nisan'da Şangay'da birkaç trafik kazası daha meydana geldi!
Tianguan Villasına doğru yürüyün: Jiajiang Lezzetini Tadın ve Tianguan Efsanesini Dinleyin (Fotoğraf)
Küçük bir işleme alanını araştırın! Zhangmutou Kasabası, yasadışı kanalizasyon boşaltımına karşı yaptırım başlattı
Zhouzhuang'da drama var: Bai Xianyong hayalini Zhouzhuang'da arıyor ve Kunqu Operası'nın mirasını hayal ediyor
Chaozhou "Ulusal Sigorta" Guangji Köprüsü vuruldu ve izlendi: Uzmanlar iskelelerin hasarsız olduğunu belirledi ve tüm köprü yeniden açıldı
Turing Konferansı 2019 | Prelüd: Tsinghua Daniel Liu Yunhao'nun Gözü Her Şeyin İnternetinde
Bir yağmur fırtınasında, Xinfeng, Shaoguan'da iki kişi nehirdeki "izole adada" mahsur kaldı ve itfaiyeciler "kaderi" teslim etti.
İmzalamanız gereken bir "tutuklama emriniz" var mı? "Kamu güvenliği, savcı ve hukuk" gibi davranan dolandırıcılara karşı dikkatli olun
2019 İkinci Çeyrek için Changsheng Fonu Yatırım Stratejisi Raporu
To Top