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.
Ö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.
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
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
- Modelin nasıl ve nereye dağıtılacağı hakkında daha fazla bilgi edinin.
- Her iş için sağlanan performans grafiklerinin ve ölçümlerin tanımları ve örnekleri için bkz . Otomatik makine öğrenmesi denemesi sonuçlarını değerlendirme.
- Öğretici: AutoML ve Python ile nesne algılama modelini eğitme.
- Görüntü işleme görevleri için hangi hiper parametrelerin kullanılabilir olduğunu görün.
- AutoML'den görüntü işleme modellerinde ONNX ile tahmin yapma