Özel proje oluşturma

Tamamlandı

Özel bir Azure AI Vision modeli oluşturmak için öncelikle bir Azure AI Services kaynağına (veya Azure AI Vision kaynağına) ihtiyacınız vardır. Bu kaynak aboneliğinize dağıtıldıktan sonra özel bir proje oluşturmanız gerekir.

Özel Görüntü İşleme projesinin bileşenleri

Özel projenin ilk bileşeni veri kümesidir. Veri kümesi, modelinizi eğitirken kullanacağınız görüntü koleksiyonunuz ve bu görüntülerle ilgili etiket bilgilerini tanımlayan COCO dosyasıdır . Veri kümeniz bir Azure blob depolama kapsayıcısında depolanır ve bu ünitede COCO dosyası hakkında daha fazla bilgi edineceğiz.

Görüntülerinizi ve sınıf etiketlerinizi tanımladıktan sonra özel modelinizi eğitebilirsiniz. Modelinizi eğitirken eğitilen modelin türünü, hangi veri kümesinin kullanılacağını ve eğitim bütçenizi (zaman içinde) belirtirsiniz. Model eğitimi tamamlandığında performansı görüntüleyebilir ve tahminler için modeli kullanabilirsiniz.

Çoğu durumda, izlediğiniz adımlar şunlardır:

  1. Blob depolama kapsayıcınızı oluşturun ve yalnızca eğitim görüntülerini karşıya yükleyin.
  2. Projeniz için veri kümesini oluşturun ve blob depolama kapsayıcınıza bağlayın. Veri kümenizi oluştururken, bunun ne tür bir proje olduğunu tanımlarsınız (görüntü sınıflandırması, nesne algılama veya ürün tanıma).
  3. Blob depolama kapsayıcınızda COCO dosyasını oluşturan Azure Machine Learning Veri Etiketleme Projenizde verilerinizi etiketleyin.
  4. Etiketli görüntüler için tamamlanmış COCO dosyanızı veri kümenize Bağlan.
  5. Oluşturulan veri kümesi ve etiketler üzerinde özel modelinizi eğitin.
  6. Performansı doğrulayın ve eğitilen performans beklentileri karşılamıyorsa yineleyin.

Performansınızdan memnun olduğunuzda model Vision Studio'da veya kendi uygulamanızda kullanılabilir.

COCO dosyaları

COCO dosyası, şu özellikleri tanımlayan belirli bir biçime sahip bir JSON dosyasıdır:

  • görüntüler: Blob depolamadaki görüntü konumunu, adını, genişliğini, yüksekliğini ve kimliğini tanımlar.
  • ek açıklamalar: Görüntünün hangi kategori olarak sınıflandırıldığı, alan ve sınırlayıcı kutu (nesne algılama için etiketleniyorsa) dahil olmak üzere sınıflandırmaları (veya nesneleri) tanımlar.
  • kategoriler: Adlandırılmış etiket sınıfının kimliğini tanımlar.

Çoğu durumda, COCO dosyaları bir Azure Machine Learning Veri Etiketleme Projesi'nde eğitim görüntülerinizi etiketleyerek oluşturulur. Eski bir Özel Görüntü İşleme projesinden geçiş gerçekleştiriyorsanız, COCO dosyanızı oluşturmak için geçiş betiğini kullanabilirsiniz.

Örnek bir COCO dosyası şuna benzer:

{
  "images": [
    {
      "id": 1,
      "width": 1024,
      "height": 768,
      "file_name": "abc.jpg",
      "coco_url": "AmlDatastore://fruit/abc.jpg",
      "absolute_url": "https://myBlobStorage.blob.core.windows.net/fruit/abc.jpg",
      "date_captured": "<date>"
    },
    {
      "id": 2,
      "width": 1024,
      "height": 768,
      "file_name": "xyz.jpg",
      "coco_url": "AmlDatastore://fruit/xyz.jpg",
      "absolute_url": "https://myBlobStorage.blob.core.windows.net/fruit/xyz.jpg",
      "date_captured": "<date>"
    },
    <...>
  ],
  "annotations": [
    {
      "id": 1,
      "category_id": 1,
      "image_id": 1,
      "area": 0.0
    },
    {
      "id": 2,
      "category_id": 1,
      "image_id": 2,
      "area": 0.0
    },
    <...>
  ],
  "categories": [
    {
      "id": 1,
      "name": "apple"
    },
    {
      "id": 2,
      "name": "orange"
    },
    {
      "id": 3,
      "name": "banana"
    }
  ]
}

Bir nesne algılama veri kümesini etiketliyorsanız, COCO dosyasındaki her ek açıklama, dizideki değerlerin Sol, Üst, Genişlik ve Yükseklik olduğu bir sınırlayıcı kutu dizisi de içerir.

"bbox": [
    0.11803319477782331,
    0.41586723392402375,
    0.7765206955096307,
    0.3483334397217212
]

Veri kümenizi oluşturma

Blob depolama kapsayıcınızda görüntüleriniz olduktan sonra, REST API'yi veya Vision Studio'yu kullanarak eğitim için veri kümenizi oluşturabilirsiniz. REST isteği aşağıdaki REST çağrısına benzer olacaktır:

curl -X PUT https://<endpoint>/computervision/datasets/<dataset-name>?api-version=<version>\
  -H "Content-Type: application/json" \
  -H "Ocp-Apim-Subscription-Key: <subscription-key>" \
  --data-ascii "
  {
    'annotationKind':'imageClassification',
    'annotationFileUris':['<URI>']
  }"

Vision Studio kullanıyorsanız özel model kutucuğuna gider, kaynağınızı seçer ve veri kümenizi oluşturursunuz. Buradan bir Azure Machine Learning Veri Etiketleme Projesi açabilir veya oluşturabilir ya da mevcut bir COCO dosyasını karşıya yükleyebilirsiniz. Bu modüldeki alıştırmada veri kümenizi bu şekilde nasıl oluşturacağınız açıklanır.

Vision Studio'yu kullanmak, REST isteğinde COCO dosyasını belirtmek yerine Azure Machine Learning'deki etiketleme projenize bağlanmanızı sağlar. Bu modüldeki örneklerin geri kalanı Vision Studio'yu kullanır, ancak tercih ettiğiniz yöntem REST ise belge sayfalarından yararlanabilirsiniz.