Leifeng.com AI teknolojisi inceleme notu: Bu makale Tensorflow Nesne Algılamadan Piksel Bilge Sınıflandırmaya kadar "Tupu Teknolojisi" tarafından derlenmiştir.
Son zamanlarda, TensorFlow'un "Nesne Algılama API'si", nesnenin piksel konumuna bağlı olarak hedef nesnenin pikselini belirleyebilen yeni bir işleve sahiptir. Başka bir deyişle, TensorFlow'un nesne algılaması, orijinal görüntü seviyesinden piksel seviyesine başarıyla yükseldi.
Resimdeki nesneleri tanımlamak için TensorFlow'un "Nesne Algılama API'sini" kullanın ve nihai sonuç, resimdeki farklı nesneleri çerçeveleyen bir kutudur. Son zamanlarda, bu "nesne algılama API'si", nesnenin pikselini hedef nesnenin piksel konumuna göre belirleyebilen ve nesnenin piksel sınıflandırmasını gerçekleştirebilen yeni bir işleve sahiptir.
TensorFlow'un nesne algılama API modeli-Mask-RCNN
"Örnek bölümleme", nesne algılamanın, sıradan nesne algılamaya dayalı olarak nesne hakkında daha doğru ve kapsamlı bilgiler elde etmemizi sağlayan bir uzantısıdır.
Hangi koşullar altında bu kadar kesin bilgilere ihtiyacımız var?
sürücüsüz araba
Güvenliği sağlamak için sürücüsüz arabaların yoldaki diğer araçları ve yayaları doğru bir şekilde bulması gerekir.
Robot sistemi
Robot iki parçayı birleştirdiğinde, iki parçanın tam konumu biliniyorsa, robotun çalışması daha verimli ve doğru olacaktır.
"Örnek segmentasyonu" için birçok yöntem vardır. TensorFlow, "örnek segmentasyonu" için Maske RCNN algoritmasını kullanır.
Maske RCNN algoritma mimarisi
Mask RCNN'yi tanıtmadan önce, daha hızlı R-CNN'i tanıyalım.
Daha hızlı RCNN, nesne algılama için bir algoritmadır. İki aşamaya bölünmüştür: İlk aşama, aday nesnelerin çerçevesini oluşturan "Aday Bölge Oluşturma Ağı" (RPN) olarak adlandırılır; ikinci aşama ise esasen Hızlıdır R-CNN algoritması, her aday çerçeveden nesne özelliklerini elde etmek için RollPool'u kullanır ve sınıflandırma ve çerçeve regresyonu gerçekleştirir. Bu iki aşamada kullanılan özellikler paylaşılarak görüntü tahmini sonuçlarının daha hızlı elde edilmesi sağlanabilir.
Daha hızlı R-CNN'nin her bir aday nesne için iki çıkışı vardır, biri sınıflandırma etiketi ve diğeri nesne sınırlama kutusudur. Ve Maske-RCNN, sınırdaki nesnenin piksellerini temsil eden ikili bir maske olan Faster R-CNN'nin iki çıktısına dayalı bir maske çıktısı eklemektir. Ancak bu yeni eklenen maske çıktısı, orijinal sınıflandırma ve sınır çıktısından farklıdır, nesnenin daha ayrıntılı uzamsal düzeni ve konum bilgisini gerektirir. Bu nedenle, Maske R-CNN'nin bir "tam evrişimli sinir ağı" (FCN) kullanması gerekir.
Tam Evrişimli Sinir Ağı (FCN) algoritma mimarisi
"Tam evrişimli sinir ağı", "anlamsal bölümlemede" çok yaygın bir algoritmadır. Bir görüntüyü ilk olarak orijinal boyutunun 32'de biri kadar açmak için farklı blokların evrişim ve havuz katmanlarını kullanır. Ardından, bu ayrıntı düzeyinde tahmin sınıflandırması yapın ve son olarak resmi orijinal boyutuna geri yüklemek için yukarı örnekleme ve ters evrişim katmanını kullanın.
Bu nedenle, Maske RCNN'nin devasa bir ağ mimarisi oluşturmak için Daha Hızlı RCNN ve "Tamamen Evrişimli Sinir Ağı" nın bir kombinasyonu olduğu söylenebilir.
Resim testi
Mask RCNN'yi resimlerle test etmek için TensorFlow web sitesinde paylaşılan kodu kullanabilirsiniz. Aşağıdakiler benim test sonuçlarım:
Uçurtma Görüntüsünde RCNN'yi Maskeleyin
Video testi
Benim için en ilginç şey bu modeli YouTube videoları ile test etmek. YouTube'dan birkaç video indirdim ve video testine başladım.
Video testinin ana adımları:
1. Videodan her kareyi çıkarmak için VideoFileClip işlevini kullanın;
2. Videoda yakalanan her resim üzerinde nesne algılaması yapmak için fl_image işlevini kullanın ve ardından orijinal video resmini değiştirilmiş video resmiyle değiştirin;
3. Son olarak, değiştirilmiş video görüntülerini yeni bir videoda birleştirin.
GitHub adresi: https://github.com/priya-dwivedi/Deep-Learning/blob/master/Mask_RCNN/Mask_RCNN_Videos.ipynb
Sonraki adımlar şunları içerir:
Daha yüksek doğrulukta bir modeli test edin ve iki test sonucu arasındaki farkı gözlemleyin;
Maske RCNN'yi özelleştirilmiş bir veri kümesinde test etmek için TensorFlow'un nesne algılama API'sini kullanın.
Bu makale Leifeng.com'un köşe yazarı tarafından derlenmiştir ve yeniden basılması Leifeng.com'dan izin gerektirir.
kdnuggets aracılığıyla