Görmek gerekir! Tek bir makalede en gelişmiş gerçek zamanlı nesne algılama sistemi YOLO'da ustalaşın

Tam metin 3866 Kelimeler, tahmini öğrenme süresi 20 Dakika veya daha uzun

Bu makale, nesne algılama için YOLO'nun (Yalnızca Bir Kez Bakarsınız) nasıl kullanılacağını ayrıntılı olarak analiz edecektir. Bu tekniği tam olarak anlamak için önce nesne sınıflandırması, algılama ve bölümleme arasındaki farkı bilmelisiniz.

Nesne sınıflandırması nedir?

Resim kaynağı: https://goo.gl/BPtB4f

Sistemin, görüntü etiketini tahmin eden bir sınıflandırıcıya eşdeğer olan görüntü içeriğinin niteliklerini tahmin etmeye çalıştığı süreçtir.

Basitçe söylemek gerekirse, kedileri ve köpekleri öngören bir sınıflandırma sistemi varsa, sistem (veya sınıflandırıcı) içine girilen tüm test görüntülerini tahmin edecek ve sınıflandıracaktır. Şu anda, görüntü sınıflandırması için etiketler köpek ve kedidir.

Not: Herhangi bir sınıflandırıcı yalnızca eğitim aldığı sınıf etiketini tahmin edebilir. Bu nedenle, yukarıdaki durumda, giriş görüntüsü bir fil olsa bile, sınıflandırıcı yalnızca bir köpek veya kedi çıktısı verecektir. Filleri tanımak için, sistemin tamamı fil veri setine göre sıfırdan eğitilmelidir (veya önceden eğitilmiş bir modelden yüklenmelidir).

Nesne sınıflandırma yöntemi

Yukarıdaki şekil, soyut özellikleri temsil etmek için pikselleri kullanmanın genel bir yöntemini göstermektedir. Alt katman, orijinal piksellerdir, yukarıdaki pikseller, düşük seviyeli özellikler oluşturmak için birleştirilir ve düşük seviyeli özellikler, yüksek seviyeli özellikler oluşturmak için birleştirilir.

Sınıflandırma problemlerini çözmek için mevcut herhangi bir makine öğrenimi ve derin öğrenme tekniklerini uygulayabiliriz. Dahil etmek:

· Görüntü özelliklerinin iki sınıflandırması

· Görüntü özelliklerine dayalı vektör makinesini destekleyin

Görüntü özelliklerine dayalı yapay sinir ağı

Görüntü özelliklerine dayalı evrişimli sinir ağı

Bunlar arasında CNN (Convolutional Neural Network), en iyi görüntü sınıflandırma mimarilerinden biridir. En son modellerin tümü bir dereceye kadar CNN ile birleştirilir ve bu da gücünü kanıtlar.

Nesne algılama

Nesne algılama, bilgisayarla görme ve görüntü işleme ile ilgili bir bilgisayar teknolojisidir.Dijital görüntülerde ve videolarda belirli türde anlamsal nesneleri (insanlar, binalar veya arabalar gibi) algılayabilir. Daha çok üzerinde çalışılan nesne algılama alanları arasında yüz algılama ve yaya algılama bulunmaktadır. Nesne algılama, görüntü alma ve video gözetimi dahil olmak üzere birçok bilgisayar görüş alanına uygulanabilir.

Daha geleneksel bir anlamda, sahnedeki her nesneyi algılamayı, etiketlerini sınıflandırmayı ve nesnenin sınırlayıcı kutusunu (veya çokgenini) bulmayı ifade eder.

Son bölüm aşağıdaki en son teknolojileri içerir:

· YOLO

· RetinaNet

· RCNN

· Hızlı RCNN

· Daha hızlı RCNN

· RCNN'yi Maske

YOLO

Yalnızca Bir Kez Bakarsınız, en gelişmiş gerçek zamanlı nesne algılama sistemidir. Başlangıçta 2015 civarında geliştirildi ve o sırada diğer teknolojilerden biraz daha iyiydi.

YOLO, CNN ve çapa çerçevelerine dayalı basit bir mimariye sahiptir ve yaygın kullanım sorunları için gerçek zamanlı bir nesne algılama teknolojisidir. Zamanın ilerlemesiyle, YOLO yinelemeye ve daha hızlı ve daha iyi olmaya devam ediyor. Geçmiş sürümler şunları içerir:

· YOLO V1

· YOLO V2

· YOLO V3

YOLO V2'nin doğruluğu ve hızı V1'den daha iyidir.

YOLO V3'ün hızı yükseltilmemiş olmasına rağmen, V2'den daha doğrudur.

Referanslar

1. https://arxiv.org/abs/1506.02640

2. YOLO V3: https://pjreddie.com/media/files/papers/YOLOv3.pdf

YOLO nasıl çalışır?

YOLO, görüntüyü 13 × 13 hücreye böler: her hücre 5 sınırlayıcı kutuyu tahmin etmekten sorumludur. Sınırlayıcı kutu, nesneyi çevreleyen dikdörtgeni tanımlar. YOLO ayrıca, tahmin edilen sınırlayıcı kutunun aslında bir nesneyi ne kadar iyi içerdiğini bize söyleyen bir güven düzeyi de verir.

Önceki algılama sistemleri, algılama için sınıflandırıcılar veya konumlandırıcılar kullandı, modeli görüntünün birden çok konumuna ve ölçeğine uyguladı ve görüntünün yüksek puanlı alanını algılama hedefi olarak kullandı.

YOLO tamamen farklı bir yaklaşım benimsedi. Tüm görüntüye tek bir sinir ağı uygular Ağ, görüntüyü bölgelere böler, her bölgenin sınırlayıcı kutusunu ve olasılığını tahmin eder ve olasılığa göre tüm sınırlayıcı kutulara ağırlık atar.

YOLO V3 daha doğrudur. Aşağıdaki şekil YOLO V3'ün genel mimarisini göstermektedir:

YOLO nasıl edinilir

YOLO ikili dosyaları (ve kaynakları) aşağıdaki kaynaklardan indirilebilir:

· Https://pjreddie.com/darknet/yolo/

· GitHub: https://github.com/pjreddie/darknet

YOLO, darknet'e dayanır ve C'nin içine yerleştirilmiştir. Darknet, C dili ve CUDA ile yazılmış açık kaynaklı bir sinir ağı çerçevesidir.

YOLO nasıl kullanılır

I. Depoyu alın

git klon https://github.com/pjreddie/darknet

II. Derleme kaynağı

Kaynağı doğrudan make ile derleyebilirsiniz. Elde ettiğiniz darknet dizinine gidin ve aşağıdaki komutu çalıştırın:

https://github.com/pjreddie/darknet

Not: Make, C kaynak dosyalarını derleme talimatlarından oluşan Makefile'ı kullanır.

Yapma işlemini tamamladıktan sonra, YOLO'yu çalıştırmak için kullanılabilecek ikili yürütülebilir dosya olan darknet adlı bir dosya alacaksınız.

III. Darknet yürütme izinlerini alın

./Darknet komutunu çalıştırırken, izin hatası alırsanız, bu, kullanıcının ikili dosyayı çalıştırmak için yürütülebilir izne sahip olmadığı anlamına gelir. Aşağıdaki komutu girmeniz yeterlidir:

chmod u + x darknet

Daha sonra darknet çalıştırılabilir.

YOLO yapısı

I. Yapılandırma dosyası

YOLO tamamen tak ve çalıştır, yani YOLO her türlü nesneyi algılayacak şekilde yapılandırılabilir. Aslında, CNN mimarisini de değiştirebilir ve kendiniz kullanabilirsiniz. YOLO bunu cfg / altındaki yapılandırma dosyalarını kullanarak başarır.

Yapılandırma dosyası .cfg ile biter.

Yapılandırma dosyası temel olarak şunları içerir:

· CNN mimarisi (hiyerarşi ve aktivasyon)

· Ankraj Çerçevesi

· Kategori sayısı

· Öğrenme oranı

Optimizasyon teknolojisi

· Giriş boyutu

Olasılık puanı eşiği

· Parti boyutu

Farklı sürümlere bağlı olarak, V1 ila V3 gibi birden fazla konfigürasyon olabilir veya eğitimi küçük bir seviyede tamamlayabilirsiniz. Aşağıdaki iki web sitesinden farklı konfigürasyonlar indirilebilir:

· YOLOV3 (dolu): https://github.com/pjreddie/darknet/blob/master/cfg/yolov3.cfg

· Tiny YOLO V3: https://github.com/pjreddie/darknet/blob/master/cfg/yolov3-tiny.cfg

II. Ağırlık

Her konfigürasyonun ilgili eğitim öncesi ağırlıkları vardır. Burada sadece YOLO V3 alıntılanmıştır.

· Tam ağırlık

YOLO V3 tam ağırlık indirme:

https://pjreddie.com/media/files/yolov3.weights.

9.000'den fazla kategori içerir.

· Küçük ağırlık

80 YOLO V3 eğitimli kategorinin ağırlıkları:

https://pjreddie.com/media/files/yolov3-tiny.weights.

YOLO'yu test et

Yukarıda belirtildiği gibi, tüm işlemler darknet yürütülebilir dosyalar ile yürütülür. Diyelim ki test.jpeg adında bir görüntü var, nesneyi aşağıdaki gibi tahmin etmeyi deneyebilirsiniz:

./darknet yolov3-tiny.cfg yolov3-tiny.weights test.jpeg algıladı

Genellikle .cfg, cfg / dizinindedir. Ağırlıklar / dizinde yolov3-tiny olduğunu varsayarsak, komut şudur:

./darknet cfg / yolov3-tiny.cfg ağırlıklarını / yolov3-tiny.weights test.jpeg'i algılar

Çalıştırıldıktan sonra, darknet dosyasının aynı dizininde tahminler.jpeg adında bir görüntü olacaktır. Tahmin türünü ve ilgili sınırlayıcı kutuyu görüntüleyebilirsiniz.

Eğitim

Eğitim biraz daha karmaşık çünkü işler ve yapılandırmalar doğru olmalı. Aşağıdaki komut bunu yapabilir:

./darknet dedektör treni özel / cfg / obj.data özel / cfg / tiny-yolo.cfg özel / tiny-yolo_100.weights

Eğitim komutu ayrıştırma

Burada .cfg ve .weights, daha önce bahsedilen yapılandırma ve ağırlık dosyalarını ifade eder. Öncelikle aşağıdaki içerikle obj.data dosyasını kullanın:

sınıflar = 1 train = custom / cfg / train.txt valid = özel / cfg / test.txt isimler = obj.names yedekleme = yedekleme /

obj.names

Dosya bir dizi kategori adı içerir. Örneğin:

kedi köpek arka fon bisiklet

train.txt

Bu dosya, ağa beslenecek bir dizi eğitim görüntüsü içerir. Dosya adı çok benzer:

özel / tren-resimleri / 11.jpg özel / tren resimleri / 12.jpg özel / tren resimleri / 13.jpg ... ...

Burada tren görüntüleri / tüm eğitim görüntülerini içerir. Bu dizin, görüntülere ek olarak, görüntülere karşılık gelen sınırlayıcı kutu metin dosyalarını da içerir.

Böylece özel / train-images / 11.txt aldık, içerik:

00,325024801587301570,39500661375661380,128968253968253980,09523809523809523

İlk sayı, nesne adlarında karşılık gelen kimliği veya kategoriyi temsil eder ve kalan sayılar sınırlayıcı kutuyu temsil eder. Birden çok kategoride birden fazla kutu varsa, o zaman şöyle olmalıdır:

00,325024801587301570,39500661375661380,128968253968253980,095238095238095230 0.525024801587301570.39500661375661380.128968253968253980.095238095238095231 0,325024801587301570,39500661375661380,128968253968253980,09523809523809523

test.txt

Bu dosya bazı test görüntüleri içerir.

Not: .cfg'de kategori sayısı, obj.names'te bulunan toplam kategori sayısına değiştirilmelidir.

Yukarıdakiler YOLO'nun nasıl kullanılacağıdır. Yukarıdaki gösterim işlemi Linux sistemine dayanmaktadır ve Windows sistemi için adımlar benzerdir.

Yorum Beğen Takip Et

AI öğrenme ve geliştirmenin kuru mallarını paylaşalım

Tam platform yapay zeka dikey öz medya "temel okuma" yı takip etmeye hoş geldiniz

HUAWEI operasyondan şok oldu! 2799 yuan yeni makine, yüz gerdirmenize, bacakları inceltmenize ve germenize yardımcı olacak
önceki
Film hayranları geliyor! Kendi film öneri sisteminizi oluşturun
Sonraki
Bugün Core Voice | Acil! Apple bazı MacBook Uzmanlarını geri çağırdı, vuruldun mu?
"IU" "Paylaş" 190623 "Druner Hotel" IU'nun Lu Zhenjiu'ya ters itirafı mı? "Yani aklıma uyuyor"
Kadınları nesneleştirmek, sosyal hapsedmek mi? Seks robotları "büyük bir vatana ihanet" midir?
"GFRIEND" "Haberler" 190623 Yuju-Yinghe, "Merhaba" bölümünde çalışmaya başladı! Yakınlık ve aşk kol kola
190623 Cai Xukun'un "Moda COSMO" nun harika iç sayfası Sevimli Xiaokui, resmi mühür tarafından onaylandı.
Derin öğrenme kavun ve sebzeleri kesebilir mi? Minimum kod elde edilebilir
İşlev sınıflandırması big PK: Sırasıyla Sigmoid ve Softmax nasıl kullanılır?
Sincan turizmi o zamanlar "petrol şehri" Karamay yeşil
"GOT7" "Paylaş" 190623 Önümüzdeki anne sevgisinin yükselen değerinin erken uyarısı! Benimle çocukları çalmak için Güney Kore'ye kim gidecek?
AI depremleri tahmin ediyor: yol hala uzun, ancak gelecek beklenebilir
Zhu Zhengting'in kotlu beyaz T'si ferahlatıcı ve yakışıklı, siyah çerçeveli gözlükler lise son sınıf öğrencisi gibi görünüyor
Bugün Xinsheng | Analistler Apple'ın 2020'de 5G iPhone'u piyasaya sürmesini bekliyor
To Top