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 usługi Product Understanding można przekazać obraz półki i uzyskać lokalizacje produktów i luk.
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 regionie Wschodnie stany USA lub Zachodnie stany USA 2. 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:
Przekaż obrazy, które chcesz przeanalizować do kontenera magazynu obiektów blob, i uzyskaj bezwzględny adres URL.
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>' }"
W razie potrzeby wprowadź w poleceniu następujące zmiany:
- Zastąp element
<subscriptionKey>
kluczem zasobu usługi Vision. - Zastąp element
<endpoint>
punktem końcowym zasobu usługi Vision. Na przykład:https://YourResourceName.cognitiveservices.azure.com
. - 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...
- Zastąp
<your_url_string>
zawartość adresem URL obiektu blob obrazu
- Zastąp element
Otwórz okno wiersza polecenia.
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 ProductUnderstandingResultApiModel
API rozumienia produktu są zwracane w polu JSON:
{
"imageMetadata": {
"width": 2000,
"height": 1500
},
"products": [
{
"id": "string",
"boundingBox": {
"x": 1234,
"y": 1234,
"w": 12,
"h": 12
},
"classifications": [
{
"confidence": 0.9,
"label": "string"
}
]
}
],
"gaps": [
{
"id": "string",
"boundingBox": {
"x": 1234,
"y": 1234,
"w": 123,
"h": 123
},
"classifications": [
{
"confidence": 0.8,
"label": "string"
}
]
}
]
}
Zapoznaj się z poniższymi sekcjami, aby zapoznać się z definicjami każdego pola JSON.
Model interfejsu API wyników usługi Product Understanding
Wyniki operacji zrozumienia produktu.
Nazwisko | Pisz | Opis | Wymagania |
---|---|---|---|
imageMetadata |
ImageMetadataApiModel | Informacje o metadanych obrazu, takie jak wysokość, szerokość i format. | Tak |
products |
DetectedObjectApiModel | Produkty wykryte na obrazie. | Tak |
gaps |
DetectedObjectApiModel | 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 |
BoundingBoxApiModel | Pole ograniczenia obszaru wewnątrz obrazu. | Tak |
classifications |
ImageClassificationApiModel | 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 klasyfikacji obrazów
Opisuje pewność klasyfikacji obrazów etykiety.
Nazwisko | Pisz | Opis | Wymagania |
---|---|---|---|
confidence |
liczba zmiennoprzecinkowa | Pewność przewidywania klasyfikacji. | Tak |
label |
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 usługi Product Understanding. Następnie dowiedz się, jak używać niestandardowego modelu rozpoznawania produktów, aby lepiej zaspokoić potrzeby biznesowe.