Udostępnij za pośrednictwem


Rozpoznawanie produktów półek (wersja zapoznawcza): analizowanie obrazów półek przy użyciu wstępnie wytrenowanego modelu

Najszybszym sposobem rozpoczęcia korzystania z rozpoznawania produktów jest użycie wbudowanych wstępnie wytrenowanych modeli sztucznej inteligencji. Za pomocą interfejsu API rozpoznawania produktów możesz przekazać obraz półki i uzyskać lokalizacje produktów i luk.

Zdjęcie półki detalicznej z produktami i lukami wyróżnionymi prostokątami.

Uwaga

Marki pokazane na obrazach nie są powiązane z firmą Microsoft i nie wskazują żadnej formy poparcia produktów firmy Microsoft lub firmy Microsoft przez właścicieli marki, ani poparcia właścicieli marki lub ich produktów przez firmę Microsoft.

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie
  • Po utworzeniu subskrypcji platformy Azure utwórz zasób usługi Vision w witrynie Azure Portal. Należy ją wdrożyć w obsługiwanym regionie świadczenia usługi Azure (zobacz Dostępność regionów). Po wdrożeniu wybierz pozycję Przejdź do zasobu.
    • Będziesz potrzebować klucza i punktu końcowego z utworzonego zasobu, aby połączyć aplikację z usługą Azure AI Vision. W dalszej części przewodnika wklejysz klucz i punkt końcowy do poniższego kodu.
  • Zasób usługi Azure Storage z kontenerem magazynu obiektów blob. Utwórz jeden
  • Zainstalowano bibliotekę cURL . Możesz też użyć innej platformy REST, takiej jak Swagger lub rozszerzenie klienta REST dla programu VS Code.
  • Obraz półki. Możesz pobrać nasz przykładowy obraz lub przynieść własne obrazy. Maksymalny rozmiar pliku na obraz wynosi 20 MB.

Analizowanie obrazów półek

Aby przeanalizować obraz półki, wykonaj następujące czynności:

  1. Przekaż obrazy, które chcesz przeanalizować do kontenera magazynu obiektów blob, i uzyskaj bezwzględny adres URL.

  2. Skopiuj następujące curl polecenie do edytora tekstów.

    curl -X PUT -H "Ocp-Apim-Subscription-Key: <subscriptionKey>" -H "Content-Type: application/json" "<endpoint>/computervision/productrecognition/ms-pretrained-product-detection/runs/<your_run_name>?api-version=2023-04-01-preview" -d "{
        'url':'<your_url_string>'
    }"
    
  3. W razie potrzeby wprowadź w poleceniu następujące zmiany:

    1. Zastąp element <subscriptionKey> kluczem zasobu usługi Vision.
    2. Zastąp element <endpoint> punktem końcowym zasobu usługi Vision. Na przykład: https://YourResourceName.cognitiveservices.azure.com.
    3. Zastąp element <your_run_name> unikatową nazwą przebiegu testu dla kolejki zadań. Jest to asynchroniczna nazwa kolejki zadań interfejsu API, aby móc później pobrać odpowiedź interfejsu API. Na przykład .../runs/test1?api-version...
    4. Zastąp <your_url_string> zawartość adresem URL obiektu blob obrazu
  4. Otwórz okno wiersza polecenia.

  5. Wklej edytowane curl polecenie z edytora tekstów w oknie wiersza polecenia, a następnie uruchom polecenie.

Sprawdzanie odpowiedzi

Po pomyślnym przetworzeniu żądania zostanie zwrócona odpowiedź w formacie JSON. Wyniki interfejsu ProductRecognitionResultApiModel API rozpoznawania produktu są zwracane w polu JSON:

"ProductRecognitionResultApiModel": {
  "description": "Results from the product understanding operation.",
  "required": [
    "gaps",
    "imageMetadata",
    "products"
  ],
  "type": "object",
  "properties": {
    "imageMetadata": {
      "$ref": "#/definitions/ImageMetadataApiModel"
    },
    "products": {
      "description": "Products detected in the image.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/DetectedObject"
      }
    },
    "gaps": {
      "description": "Gaps detected in the image.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/DetectedObject"
      }
    }
  }
}

Zapoznaj się z poniższymi sekcjami, aby zapoznać się z definicjami każdego pola JSON.

Model interfejsu API wyników rozpoznawania produktu

Wyniki operacji rozpoznawania produktu.

Nazwisko Pisz Opis Wymagania
imageMetadata ImageMetadataApiModel Informacje o metadanych obrazu, takie jak wysokość, szerokość i format. Tak
products DetectedObject Produkty wykryte na obrazie. Tak
gaps DetectedObject Wykryto luki na obrazie. Tak

Model interfejsu API metadanych obrazów

Informacje o metadanych obrazu, takie jak wysokość, szerokość i format.

Nazwisko Pisz Opis Wymagania
width integer Szerokość obrazu w pikselach. Tak
height integer Wysokość obrazu w pikselach. Tak

Wykryty model interfejsu API obiektów

Opisuje wykryty obiekt na obrazie.

Nazwisko Pisz Opis Wymagania
id string Identyfikator wykrytego obiektu. Nie.
boundingBox Pole ograniczenia Pole ograniczenia obszaru wewnątrz obrazu. Tak
tags TagsApiModel Klasyfikacja ufności wykrytego obiektu. Tak

Model interfejsu API usługi Box ograniczenia

Pole ograniczenia obszaru wewnątrz obrazu.

Nazwisko Pisz Opis Wymagania
x integer Współrzędna lewa górna lewa część obszaru w pikselach. Tak
y integer Górna współrzędna lewego górnego punktu obszaru w pikselach. Tak
w integer Szerokość mierzona od lewego górnego punktu obszaru w pikselach. Tak
h integer Wysokość mierzona od lewego górnego punktu obszaru w pikselach. Tak

Model interfejsu API tagów obrazów

Opisuje pewność klasyfikacji obrazów etykiety.

Nazwisko Pisz Opis Wymagania
confidence liczba zmiennoprzecinkowa Pewność przewidywania klasyfikacji. Tak
name string Etykieta przewidywania klasyfikacji. Tak

Następne kroki

W tym przewodniku przedstawiono sposób wykonywania podstawowego wywołania analizy przy użyciu wstępnie wytrenowanego interfejsu API REST rozpoznawania produktów. Następnie dowiedz się, jak używać niestandardowego modelu rozpoznawania produktów, aby lepiej zaspokoić potrzeby biznesowe.