AutoML ile küçük bir nesne algılama modelini eğitin

ŞUNLAR IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v2 (geçerli)Python SDK azure-ai-ml v2 (geçerli)

Bu makalede, Azure Machine Learning'de otomatik ML ile yüksek çözünürlüklü görüntülerdeki küçük nesneleri algılamak için bir nesne algılama modelini eğitmeyi öğreneceksiniz.

Genellikle, nesne algılamaya yönelik görüntü işleme modelleri, görece büyük nesnelere sahip veri kümelerinde iyi çalışır. Ancak, bellek ve hesaplama kısıtlamaları nedeniyle, bu modeller yüksek çözünürlüklü görüntülerdeki küçük nesneleri algılama görevi verildiğinde yetersiz performans gösterme eğilimindedir. Yüksek çözünürlüklü görüntüler genellikle büyük olduğundan, modele girişten önce yeniden boyutlandırılır ve bu da ilk görüntü boyutuna göre daha küçük nesneleri algılama yeteneklerini sınırlar.

Bu sorunla ilgili yardım almak için otomatik ML, görüntü işleme özelliklerinin bir parçası olarak döşemeyi destekler. Otomatik ML'deki döşeme özelliği, Küçük Nesne Algılama için Döşemenin Gücü'ndeki kavramları temel alır.

Döşeme sırasında her resim bir kutucuk kılavuzuna bölünür. Bitişik kutucuklar genişlik ve yükseklik boyutlarında birbiriyle çakışıyor. Kutucuklar, aşağıdaki görüntüde gösterildiği gibi özgün kutucuklardan kırpılır.

Örtüşen kutucuklardan oluşan bir kılavuza bölünmüş bir görüntüyü gösteren diyagram.

Önkoşullar

  • Azure Machine Learning çalışma alanı. Çalışma alanını oluşturmak için bkz . Çalışma alanı kaynakları oluşturma.

  • Bu makalede, görüntü işleme görevleri için otomatik makine öğrenmesi denemesi yapılandırma konusunda biraz bilgi sahibi olduğunuz varsayılır.

Desteklenen modeller

Döşeme kullanan küçük nesne algılama, nesne algılama görevi için görüntüler için Otomatik ML tarafından desteklenen tüm modeller için desteklenir.

Eğitim sırasında döşemeyi etkinleştirme

Döşemeyi etkinleştirmek için parametresini tile_grid_size '3x2' gibi bir değere ayarlayabilirsiniz; burada 3, genişlik boyutu boyunca kutucuk sayısıdır ve 2 yükseklik boyutu boyunca kutucuk sayısıdır. Bu parametre '3x2' olarak ayarlandığında; her resim 3 x 2 kutucuklu bir kılavuza bölünür. Her kutucuk bitişik kutucuklarla çakışıyor, böylece kutucuk kenarlıkta kalan tüm nesneler kutucuklardan birine tamamen dahil edilir. Bu çakışma, varsayılan olarak %25 olan parametresi tarafından tile_overlap_ratio denetlenmektedir.

Döşeme etkinleştirildiğinde, görüntünün tamamı ve ondan oluşturulan kutucuklar modelden geçirilir. Bu görüntüler ve kutucuklar modele min_size beslemeden önce ve max_size parametrelerine göre yeniden boyutlandırılır. Bu ek verilerin işlenmesi nedeniyle hesaplama süresi orantılı olarak artar.

Örneğin, parametre '3x2' olduğunda tile_grid_size hesaplama süresi, döşeme olmadan yaklaşık yedi kat daha yüksek olur.

Eğitim parametrelerinizde değerini tile_grid_size dize olarak belirtebilirsiniz.

ŞUNUN IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v2 (geçerli)

training_parameters:
  tile_grid_size: '3x2'

parametresinin değeri tile_grid_size görüntü boyutlarına ve görüntüdeki nesnelerin boyutuna bağlıdır. Örneğin, görüntülerde daha küçük nesneler olduğunda daha fazla sayıda kutucuk yararlı olabilir.

Veri kümeniz için bu parametre için en uygun değeri seçmek için hiper parametre aramasını kullanabilirsiniz. Bunu yapmak için hiper parametre alanınızda bu parametre için bir değer seçimi belirtebilirsiniz.

ŞUNUN IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v2 (geçerli)

search_space:
  - model_name:
      type: choice
      values: ['fasterrcnn_resnet50_fpn']
    tile_grid_size:
      type: choice
      values: ['2x1', '3x2', '5x3']

Çıkarım sırasında döşeme

Döşeme ile eğitilen bir model dağıtıldığında, döşeme çıkarım sırasında da gerçekleşir. Otomatik ML, çıkarım sırasında kutucukları oluşturmak için eğitimden alınan değeri kullanır tile_grid_size . Görüntünün tamamı ve ilgili kutucuklar model üzerinden geçirilir ve aşağıdaki görüntüde olduğu gibi, bu kutucuklardan gelen nesne teklifleri son tahminleri elde etmek için birleştirilir.

Son tahminleri oluşturmak için birleştirilen resim ve kutucuklardan nesne tekliflerini gösteren diyagram.

Not

Aynı nesne birden çok kutucuktan algılanıyor olabilir, yinelenenleri kaldırmak için yineleme algılaması yapılır.

Yinelenen algılama, kutucuklardan ve görüntüden gelen tekliflerde NMS çalıştırılarak yapılır. Birden çok teklif çakıştığında, en yüksek puana sahip olan seçilir ve diğerleri yinelenen olarak atılır. Aralarındaki birleşim (iou) üzerindeki kesişim parametresinden büyük olduğunda iki teklifin tile_predictions_nms_thresh çakıştığı kabul edilir.

Ayrıca, eğitimde etkinleştirmeden yalnızca çıkarım sırasında döşemeyi etkinleştirme seçeneğiniz vardır. Bunu yapmak için parametresini tile_grid_size eğitim için değil yalnızca çıkarım sırasında ayarlayın.

Bunun yapılması, bazı veri kümelerinde performansı artırabilir ve eğitim zamanında zorlanmayla birlikte gelen ek maliyete neden olmaz.

Döşeme hiper parametreleri

Döşeme özelliğini denetlemek için kullanabileceğiniz parametreler aşağıdadır.

Parametre Adı Açıklama Varsayılan
tile_grid_size Her görüntüyü döşemek için kullanılacak kılavuz boyutu. Eğitim, doğrulama ve çıkarım sırasında kullanılabilir.

Biçiminde bir dize '3x2' olarak geçirilmelidir.

Not: Tüm kutucuklar ve görüntüler model tarafından işlendiği için bu parametrenin ayarlanması hesaplama süresini orantılı olarak artırır.
varsayılan değer yok
tile_overlap_ratio Her boyuttaki bitişik kutucuklar arasındaki çakışma oranını denetler. Kutucuk sınırına düşen nesneler kutucuklardan birine tamamen sığmayacak kadar büyük olduğunda, nesnelerin kutucuklardan en az birine tamamen sığması için bu parametrenin değerini artırın.

[0, 1) içinde bir float olmalıdır.
0.25
tile_predictions_nms_thresh Kutucuklardan ve görüntüden tahminleri birleştirirken maksimum olmayan gizleme (nms) yapmak için kullanılacak birleşim eşiği üzerindeki kesişim. Doğrulama ve çıkarım sırasında kullanılabilir. Son tahminlerde nesne başına algılanan birden çok kutu varsa bu parametreyi değiştirin.

[0, 1] içinde kaydırılmalıdır.
0.25

Örnek not defterleri

Nesne algılama modelini ayarlama ve eğitma ile ilgili ayrıntılı kod örnekleri için bkz. nesne algılama örnek not defteri.

Not

Bu makaledeki tüm görüntüler, MIT lisans sözleşmesinin izin verilen kullanım bölümüne uygun olarak kullanıma sunulmuştur. Telif Hakkı © 2020 Roboflow, Inc.

Sonraki adımlar