Klasik nesne algılama modeli YOLO yeni yükseltildi ve bir bakışta hız 3 kat artırıldı!

Xinzhiyuan Derlemesi

Yazar: Joseph Redmon, Ali Farhadi

Çeviri: Xiao Qin

Xin Zhiyuan Rehberi Bu tür kağıtları nadiren görmelisiniz, tam metin küçük bir sohbet gibidir.YOLO'nun mucidi olmayı hak ediyorsunuz. Nesne algılama alanındaki klasik YOLO (Sadece Bir Kez Bakarsınız) makalesinin iki yazarı, Washington Üniversitesi'nden Joseph Redmon ve Ali Farhadi, yeni modelin daha iyi performans göstermesini sağlayan bir dizi tasarım iyileştirmesi olan YOLO v3'ü iyileştirmek için yakın zamanda YOLO'nun üçüncü sürümünü önerdiler. Daha hızlı. SSD'ye göre benzer performansa ulaşıldığında hız 3 kat, RetinaNet'e göre ise 3,8 kat artmaktadır.

Kod adresi: https://pjreddie.com/yolo/

Kağıt adresi: https://pjreddie.com/media/files/papers/YOLOv3.pdf

Bu yıl fazla araştırma yapmadım. Twitter oynayarak çok zaman geçirdim. GAN ile oynandı. Geçen yıl biraz işten ayrıldım; YOLO'da bazı iyileştirmeler yapmayı başardım. Ama dürüst olmak gerekirse, bu çok eğlenceli bir iş değil, sadece daha iyi hale getirmek için bir dizi güncelleme. Başkaları için de biraz araştırma yaptım.

Doğru, okuduğunuz şey aslında bir makalenin başlangıcı.

Bugün, Xinzhiyuan size alışılmadık bir çalışma, klasik bilgisayar görüşü modeli YOLO'nun yazarının bir güncellemesi getiriyor.

Sadece başlangıç değil, makalenin tamamı her yerde mizahla dolu. Sonunda okuyuculara @ yapmamalarını söylemeyi unutmuyorum.

İçiniz rahat olsun, bilgisayarla görme üzerine çalışan çoğu insan, bir milli parktaki zebraların sayısını saymak veya bahçelerine gizlice girerken kedileri izlemek gibi hoş ve iyi şeyler yapar. Ancak sorgulanan uygulamalarda bilgisayar görüşü kullanıldı ve araştırmacılar olarak en azından işimizin neden olabileceği zararı ve bu hasarı nasıl azaltabileceğimizi düşünme sorumluluğumuz var. Bu dünyaya çok değer veriyoruz.

Peki, yazarın Twitter'a daldığı yıl, YOLO'ya hangi güncellemeleri yaptılar?

YOLO'da bazı güncellemeler yaptık! Daha iyi performans göstermesi için bazı küçük tasarımlar yaptık. Bu yeni ağı da eğittik. YOLO ağının güncellenmiş sürümü, önceki sürümden biraz daha büyük, ancak daha doğrudur. Hala çok hızlı, bu yüzden endişelenme. 320 × 320 altında, YOLOv322 ms'de 22,2 mAP'de çalışır ve SSD ile aynı doğruluğa ulaşır, ancak hız 3 kat artar. Önceki sürümün 0.5 IOU mAP algılama indeksi ile karşılaştırıldığında, YOLOv3'ün performansı oldukça iyi. Titan X'de 51 ms'de 57.9 AP50'ye ulaşırken, RetinaNet'in 57.5 AP50'ye ulaşması 198 ms sürüyor.Performans benzer, ancak hız 3,8 kat arttı.

Tüm kodlar aşağıdaki URL'de mevcuttur: https://pjreddie.com/yolo/

Demo videosu:

Giriş

Bu yıl fazla araştırma yapmadım. Twitter oynayarak çok zaman geçirdim. GAN ile oynandı. Geçen yıl biraz işten ayrıldım; YOLO'da bazı iyileştirmeler yapmayı başardım. Ama dürüst olmak gerekirse, bu çok eğlenceli bir iş değil, sadece daha iyi hale getirmek için bir dizi güncelleme. Başkaları için de biraz araştırma yaptım.

Bu makale daha sonra YOLOv3'ü tanıtacak ve sonra size nasıl yaptığımızı anlatacağım. Denediğimiz ancak başarısız olduğumuz operasyonları da yazacağım. Son olarak, tüm bunların ne anlama geldiğini düşüneceğiz.

YOLOv3

YOLOv3 Hakkında: Esas olarak diğer insanlardan iyi fikirler alıyoruz. Ayrıca daha iyi bir sınıflandırma ağı da eğittik. Bu makale, herkesin anlayabilmesi için tüm sistemi en başından tanıtacaktır.

Şekil 1: Bu görüntü Odak Kaybı kağıdından alınmış ve değiştirilmiştir. YOLOv3, benzer performansa sahip diğer algılama yöntemlerinden önemli ölçüde daha hızlı çalışır. Çalışma zamanı, temelde aynı GPU'yu kullanan M40 veya Titan X'ten geliyor.

Sınırlayıcı kutu tahmini

YOLO9000'den sonra, sistemimiz sınırlayıcı kutuları tahmin etmek için çapa kutuları olarak boyut kümelerini kullanır. Ağ, her sınırlayıcı kutu için 4 koordinat tahmin eder. Hücre görüntünün sol üst köşesinden kaymışsa ve önceki sınırlayıcı kutu bir genişliğe ve yüksekliğe sahipse, tahmin aşağıdaki denkleme karşılık gelir:

Eğitim sırasında, hata kayıplarının karesi toplamını kullanırız. Bazı koordinatların yer gerçeği tahmin ediliyorsa, gradyan yer gerçeği değeri (yer gerçeği kutusundan hesaplanır) eksi tahmindir, yani :. Bu temel gerçek değeri, yukarıdaki denklem ters çevrilerek kolayca hesaplanabilir.

YOLOv3, her bir sınırlayıcı kutunun nesnellik puanını tahmin etmek için lojistik regresyon kullanır. Sınırlayıcı kutu, kesin referans nesnesiyle daha önceki herhangi bir sınırlayıcı kutudan daha örtüşüyorsa, değer 1 olmalıdır. Önceki sınırlayıcı kutu en iyisi değilse, ancak kesinlik nesnesi ile belirli bir eşikten daha fazla örtüşüyorsa, tahmini, tıpkı Daha Hızlı R-CNN gibi göz ardı ederiz. Eşik olarak .5 kullanıyoruz. Ancak fark, sistemimizin her bir temel gerçek nesnesine yalnızca bir sınırlayıcı kutu atamasıdır. Önceki sınırlayıcı kutu bir yer gerçeği nesnesine atanmamışsa, koordinat kaybı veya kategori tahmini olmayacak, yalnızca nesnellik olacaktır.

Şekil 2: Boyut önceleri ve konum tahminini içeren sınırlayıcı kutu. Kutunun genişliğini ve yüksekliğini küme ağırlık merkezlerinin ofseti olarak tahmin ediyoruz. Filtrenin uygulandığı yere göre sınırlayıcı kutunun merkez koordinatlarını tahmin etmek için sigmoid işlevini kullanırız. Bu resim YOLO9000 kağıdından alınmıştır.

Kategori tahmini

Her kutu, sınırlayıcı kutunun içerebileceği sınıfları tahmin etmek için çok etiketli sınıflandırmayı kullanır. Softmax kullanmıyoruz çünkü performans üzerinde bir etkisi olmadığını gördük, sadece bağımsız bir mantıksal sınıflandırıcı kullanıyoruz. Eğitim sürecinde, kategori tahmini için ikili çapraz entropi kaybını kullanırız.

Bu formül, Açık Görüntüler veri kümesi gibi daha karmaşık alanlara geçmemize yardımcı olur. Bu veri kümesinde örtüşen birçok etiket vardır (örneğin, Kadın ve Kişi). Her bir kutunun yalnızca bir kategori içerdiği varsayımını dayatmak için softmax'ı kullanabilirsiniz, ancak bu genellikle böyle değildir. Çok etiketli yöntemler verileri daha iyi simüle edebilir.

Farklı ölçeklerde tahmin

YOLOv3, farklı ölçeklerdeki 3 kutuyu tahmin edebilir. Sistemimiz, bu ölçeklerdeki özellikleri çıkarmak için bir özellik piramidi ağı kullanır. Temel özellik çıkarıcıda birkaç evrişimli katman ekledik. Son katman, 3B tensör kodlamasının sınırlayıcı kutusunu, nesnelliğini ve kategori tahminini tahmin eder. COCO veri setiyle ilgili deneylerimizde, her ölçek 3 kutuyu tahmin ediyor, bu nedenle tensör N × N ×, 4 sınırlayıcı kutu ofseti, 1 nesnelik tahmini ve 80 kategori tahminidir.

Daha sonra, önceki 2 katmandan özellik haritaları elde ediyor ve bunları iki kez örnekliyoruz. Ayrıca, özellik haritasını ağdan alıyoruz ve onu yukarı örnekleme özelliğimizle birleştirmek için öğe bazlı eklemeler kullanıyoruz. Bu yöntem, önceden örneklenmiş özelliklerden ve erken özellik haritalamanın ayrıntılı bilgilerinden daha anlamlı anlamsal bilgiler elde etmemizi sağlar. Ardından, birleştirilmiş özellik haritasını işlemek için birkaç tane daha evrişimli katman ekliyoruz ve son olarak boyutu iki katına çıkmış olmasına rağmen benzer bir Tensor tahmin ediyoruz.

Nihai ölçek için kutuyu tahmin etmek için aynı tasarımı tekrar gerçekleştiriyoruz. Bu nedenle, üçüncü ölçek için tahminimiz önceki tüm hesaplamalardan yararlanacak ve ilk ağdan iyi özellikler elde edecektir.

Sınırlayıcı kutu önceliklerini belirlemek için hala k-ortalamalı kümeleme kullanıyoruz. Sadece 9 küme ve 3 ölçek seçtik ve ardından kümeleri tüm ölçeklere eşit olarak böldük. COCO veri setinde, 9 küme (10 × 13), (16 × 30), (33 × 23), (30 × 61), (62 × 45), (59 × 119), (116 × 90), (156 × 198), (373 × 326).

Özellik çıkarıcı

Özellik çıkarımı gerçekleştirmek için yeni bir ağ kullanıyoruz. Yeni ağ, YOLOv2, Darknet-19'un ağı ve güncellenmiş artık ağı için kullanılan karma bir yöntemdir. Ağımız sürekli 3 × 3 ve 1 × 1 evrişimli katmanlar kullanıyor, ancak şimdi bazı kısayol bağlantıları var ve ağın boyutu önemli ölçüde daha büyük. 53 evrişimli katmana sahip, bu yüzden biz ona ... Darknet-53 !

Bu yeni ağ, Darknet19'dan çok daha güçlü ve ResNet-101 veya ResNet-152'den daha verimlidir. ImageNet'teki sonuçlar aşağıdadır:

Tablo 2: Ağların karşılaştırması. Her ağın doğruluğu, Bn Ops, kayan nokta işlemleri / saniye ve FPS.

Her ağ aynı ayarlarla eğitilir ve 256 × 256 tek hassasiyette test edilir. Çalışma süresi, Titan X üzerinde 256 × 256 olarak ölçülür. Darknet-53'ün en gelişmiş sınıflandırıcılarla karşılaştırılabilir olduğu, ancak daha az kayan nokta işlemine sahip olduğu ve daha hızlı olduğu görülebilir. Darknet-53, ResNet-101'den daha iyi performans gösterir ve 1,5 kat daha hızlıdır. Darknet-53 ve ResNet-152 benzer performansa sahiptir ve hız 2 kat artar.

Darknet-53 ayrıca saniyede en yüksek ölçüm kayan nokta işlemlerini gerçekleştirebilir. Bu, ağ yapısının GPU'dan daha iyi yararlanabileceği ve değerlendirmesini daha verimli ve daha hızlı hale getirebileceği anlamına gelir. Bunun başlıca nedeni, ResNets'in çok fazla katmana sahip olması ve verimli olmamasıdır.

Eğitim

Hala eğitim için tam resmi kullanıyoruz. Eğitim, çok fazla veri büyütme, toplu normalleştirme vb. İçin farklı ölçekler kullanıyoruz. Darknet sinir ağı çerçevesini eğitim ve test için kullanıyoruz.

Özel uygulamalar ve sonuçlar

YOLOv3 çok iyi performans gösterdi! Tablo 3'e bakınız. COCO'nun garip ortalama ortalama AP ölçüsü açısından, performans açısından SSD varyantıyla karşılaştırılabilir, ancak hız 3 kat artar. Ancak yine de RetinaNet modelinden daha kötüdür.

O sırada, mAP'nin "eski" algılama indeksi ile karşılaştırıldığında, YOLOv3, IOU = 0.5 (veya tablodaki AP50) olduğunda çok güçlüydü. Performansı neredeyse RetinaNet'e eşittir ve SSD varyantından çok daha yüksektir. Bu, YOLOv3'ün çok güçlü bir nesne algılama ağı olduğunu gösterir. Bununla birlikte, IOU eşiği arttıkça, YOLOv3'ün performansı azalır ve sınırlayıcı kutuyu nesne ile mükemmel şekilde hizalamanın etkisi o kadar iyi değildir.

Geçmişte, YOLO daha küçük nesneleri tespit etmede iyi değildi. Ancak şimdi bu durumun değiştiğini görüyoruz. Yeni çok ölçekli tahmin yöntemi nedeniyle, YOLOv3'ün nispeten yüksek APS performansına sahip olduğunu görüyoruz. Bununla birlikte, orta ve büyük boyutlu nesnelerde nispeten zayıf performans gösterir.

Doğruluk ve hızı ifade etmek için AP50 endeksi kullanıldığında (bkz. Şekil 3), YOLOv3'ün diğer algılama sistemlerine göre önemli avantajlara sahip olduğu görülebilir. Başka bir deyişle, YOLOv3 daha hızlı ve daha iyidir.

resim 3

Bazı denenmiş ve yararsız yöntemler

YOLOv3'ü araştırırken birçok yöntem denedik. Çoğu çalışmıyor. Bunlar anlaşılabilir.

Bağlantı kutusu x, y ofset tahmini. Geleneksel bağlantı kutusu tahmin mekanizmasını kullanmaya çalışıyoruz.Doğrusal aktivasyon, x ve y'nin ofsetini kutunun genişliğinin veya yüksekliğinin bir katı olarak tahmin etmek için kullanılabilir. Bu yöntemin modelin kararlılığını azalttığını ve etkisinin iyi olmadığını gördük.

Doğrusal x, y tahmini, mantıksal tahmin değil. Mantıksal aktivasyon yerine x ve y'nin ofsetini doğrudan tahmin etmek için doğrusal aktivasyonu kullanmaya çalışıyoruz. Bu MAP'de bir düşüşe yol açtı.

Odak kaybı. Odak kaybını kullanmaya çalışıyoruz. Bu yöntem, haritayı yaklaşık 2 puan azaltır. YOLOv3, ayrı nesne tahminine ve koşullu kategori tahminine sahip olduğu için Odak kaybı ile çözülen probleme karşı çok sağlam olabilir. Bu nedenle, çoğu örnek için kategori tahmininde kayıp yok mu? Veya başka nedenler? Bu tamamen kesin değil.

Tablo 3: Yine, bu resim küçük ayarlamalarla kağıttan. Burada gösterilen hız / doğruluk, mAP'de 0,5 IOU metriğinin değiş tokuşudur. Gördüğünüz gibi YOLOv3 çok güçlü çünkü çok yüksek ve sol eksenden uzak.

Çift IOU eşiği ve doğruluk tahsisi. Daha hızlı RCNN, eğitim sırasında iki IOU eşiği kullanır. Bir tahmin .7 temel gerçeği ile örtüşüyorsa, bu olumlu bir örnektir ve göz ardı edilir. Tüm zemin gerçeği nesneleri için 0,3'ten küçükse, bu olumsuz bir örnektir. Benzer stratejiler denedik, ancak iyi sonuçlar elde edemedik.

Bütün bunlar ne anlama geliyor

YOLOv3 iyi bir dedektördür. Hızlı ve çok doğru. COCO'da ortalama AP 0,5 ile 0,95 IOU arasında olduğunda doğruluk çok iyi değildir. Bununla birlikte, YOLOv3, 0,5 IOU göstergesi için çok iyidir.

Göstergeyi neden değiştirmeliyiz? Orijinal COCO belgesinde yalnızca şu belirsiz cümle vardı: "Değerlendirme sunucusu tamamlandığında, farklı değerlendirme göstergelerinin tam bir tartışmasını ekleyeceğiz." Russakovsky ve ark., Yazıda insanların 0.3 ile 0.5 IOU arasında ayrım yapmasının zor olduğunu belirtmişlerdir. "İnsanlar için 0,3 IOU değerine sahip bir sınırlayıcı kutuyu görsel olarak incelemek ve onu 0,5 IOU'dan ayırmak çok zordur." İnsanlar için bu farkı ayırt etmek zorsa, o kadar önemli değildir.

Belki de daha değerli soru şudur: "Artık bu dedektörlere sahibiz, onları ne için kullanıyoruz?" Bu tür araştırmaları yapan birçok kişi Google veya Facebook'ta çalışıyor. Sanırım en azından bu teknolojinin çok iyi yönetildiğini biliyoruz ve asla kişisel bilgilerinizi toplamak ve satmak için kullanılmayacak ... Bekleyin, amacının bu olduğunu söylediniz? Oh.

İçiniz rahat olsun, bilgisayarla görme üzerine çalışan çoğu insan, bir milli parktaki zebraların sayısını saymak veya bahçelerine gizlice girerken kedileri izlemek gibi hoş ve iyi şeyler yapar. Ancak sorgulanan uygulamalarda bilgisayar görüşü kullanıldı.Araştırmacılar olarak, en azından işimizin neden olabileceği zararı ve bu zararı nasıl azaltabileceğimizi düşünme sorumluluğumuz var. Bu dünyaya çok değer veriyoruz.

Son olarak, @ yapmayın. (Çünkü sonunda Twitter'dan vazgeçtim).

Hong Kong'da vahşi Chow Yun Fat nasıl yakalanır?
önceki
Bir haftalık perakende | Ele.me Koubei çifte on iki oynanışını duyurdu; Yonghui Süpermarket Yunchuang'dan dönüyor
Sonraki
Xiaogan yıkılacak! Gelecekte burada yaşayan insanların değeri fırlayacak!
Bordeaux'daki en değerli sekiz şarap!
Pamuk çağında e-ticaret karşı saldırısı: 150 milyon kayıptan altı yıl boyunca sektöre liderlik etmeye
Hoşçakal, yakışıklı anne! Burada olduğun için teşekkürler, o sevimli ihtiyar Alman
Son on yılda, üç kez giyim değişikliği yaşadığım kültürel personel
Dahi çocuk bir suç işledi ve bir ayda 150.000 yuan değerinde bir kurye çaldı!
Derin öğrenme sıkıştı: teknik kusurlar hiç çözülemiyor ve algoritma alanında büyük bir ilerleme yok
İsviçre'nin en güzel Fransız şehri Montrö
Gençliğini orduda nasıl geçiriyorsun? Son kana bakın!
Çay sıcak, kaseyi tutma duruşunun yanlış olduğu ortaya çıktı.
SenseTime Technology Xu Li: AI, 10 yıl içinde Hindistan ve Çin'in toplam çıktı değerini yaratacak
En Çinli kim | Eskiyi tükür ve yeniyi kabul et
To Top