Polc planogram-megfelelősége (előzetes verzió)
A planogram egy diagram, amely a kiskereskedelmi termékek megfelelő elhelyezését jelzi a polcokon. A Planogram Compliance API segítségével összehasonlíthatja egy fénykép elemzési eredményeit az áruház planogram-bemenetével. Visszaadja a planogramban lévő összes pozíciót, valamint azt, hogy egy termék megtalálható-e az egyes pozíciókban.
Feljegyzés
A képeken látható márkák nem kapcsolódnak a Microsofthoz, és nem jelzik a Microsoft- vagy Microsoft-termékek márkatulajdonosok általi jóváhagyásának semmilyen formáját, illetve a márkatulajdonosok vagy termékeik Microsoft általi jóváhagyását.
Előfeltételek
- A Product Understanding API-val már be kell állítania és futtatnia kell az alapszintű Product Understanding-elemzést .
- a cURL telepítve van. Másik REST-platformot is használhat, például a Swaggert vagy a VS Code REST-ügyfélbővítményét .
Planogramséma előkészítése
A planogramadatoknak egy adott JSON-formátumban kell rendelkezniük. A meződefiníciókat az alábbi szakaszokban találja.
"planogram": {
"width": 100.0,
"height": 50.0,
"products": [
{
"id": "string",
"name": "string",
"w": 12.34,
"h": 123.4
}
],
"fixtures": [
{
"id": "string",
"w": 2.0,
"h": 10.0,
"x": 0.0,
"y": 3.0
}
],
"positions": [
{
"id": "string",
"productId": "string",
"fixtureId": "string",
"x": 12.0,
"y": 34.0
}
]
}
Az X és az Y koordináták a bal felső forráshoz viszonyítva vannak, a szélesség és a magasság pedig az egyes határolókereteket lefelé és jobbra is kiterjeszti. Az alábbi ábra példákat mutat be a koordinátarendszerre.
Feljegyzés
A képeken látható márkák nem kapcsolódnak a Microsofthoz, és nem jelzik a Microsoft- vagy Microsoft-termékek márkatulajdonosok általi jóváhagyásának semmilyen formáját, illetve a márkatulajdonosok vagy termékeik Microsoft általi jóváhagyását.
A planogramsémában lévő mennyiségek nem meghatározott egységekben vannak. Ezek a hüvelykeknek, centimétereknek vagy bármely más mértékegységnek felelnek meg. Az egyező algoritmus kiszámítja a fényképelemzési egységek (képpontok) és a planogram-egységek közötti kapcsolatot.
Planogram API-modell
A planogram-egyeztetési műveletek planogramjának ismertetése.
Név | Típus | Leírás | Kötelező |
---|---|---|---|
width |
double | A planogram szélessége. | Igen |
height |
double | A planogram magassága. | Igen |
products |
ProductApiModel | A planogramban szereplő termékek listája. | Igen |
fixtures |
FixtureApiModel | A tervrajzban lévő fixtúrák listája. | Igen |
positions |
PositionApiModel | A planogram pozícióinak listája. | Igen |
Termék API-modell
Egy termék leírása a planogramban.
Név | Típus | Leírás | Kötelező |
---|---|---|---|
id |
húr | A termék azonosítója. | Igen |
name |
húr | A termék neve. | Igen |
w |
double | A termék szélessége. | Igen |
h |
double | A berendezés magassága. | Igen |
Fixture API-modell
A planogramban található rögzítési elemet (polcot vagy hasonló hardvert) ismerteti.
Név | Típus | Leírás | Kötelező |
---|---|---|---|
id |
húr | A szerelvény azonosítója. | Igen |
w |
double | A berendezés szélessége. | Igen |
h |
double | A berendezés magassága. | Igen |
x |
double | Bal eltolás a forrástól hüvelykben vagy centiméterben. | Igen |
y |
double | Felső eltolás a forrástól hüvelyk vagy centiméter mértékegységben. | Igen |
Pozíció API-modell
A termék pozícióját ismerteti a planogramban.
Név | Típus | Leírás | Kötelező |
---|---|---|---|
id |
húr | A pozíció azonosítója. | Igen |
productId |
húr | A termék azonosítója. | Igen |
fixtureId |
húr | Annak a berendezésnek az azonosítója, amelyen a termék található. | Igen |
x |
double | Bal eltolás a forrástól hüvelykben vagy centiméterben. | Igen |
y |
double | Felső eltolás a forrástól hüvelyk vagy centiméter mértékegységben. | Igen |
Elemzési eredmények lekérése
Ezután egy Product Understanding API-hívást kell végrehajtania egy egyéni modellel.
A visszaadott JSON-szövegnek struktúrának "detectedProducts"
kell lennie. Megjeleníti a polcon észlelt összes terméket a betanítási szakaszban használt termékspecifikus címkékkel.
"detectedProducts": {
"imageMetadata": {
"width": 21,
"height": 25
},
"products": [
{
"id": "01",
"boundingBox": {
"x": 123,
"y": 234,
"w": 34,
"h": 45
},
"classifications": [
{
"confidence": 0.8,
"label": "Product1"
}
]
}
],
"gaps": [
{
"id": "02",
"boundingBox": {
"x": 12,
"y": 123,
"w": 1234,
"h": 123
},
"classifications": [
{
"confidence": 0.9,
"label": "Product1"
}
]
}
]
}
Az egyeztetési kérelem előkészítése
Csatlakoztassa a planogramséma JSON-tartalmát az elemzési eredmények JSON-tartalmához, például a következőhöz:
"planogram": {
"width": 100.0,
"height": 50.0,
"products": [
{
"id": "string",
"name": "string",
"w": 12.34,
"h": 123.4
}
],
"fixtures": [
{
"id": "string",
"w": 2.0,
"h": 10.0,
"x": 0.0,
"y": 3.0
}
],
"positions": [
{
"id": "string",
"productId": "string",
"fixtureId": "string",
"x": 12.0,
"y": 34.0
}
]
},
"detectedProducts": {
"imageMetadata": {
"width": 21,
"height": 25
},
"products": [
{
"id": "01",
"boundingBox": {
"x": 123,
"y": 234,
"w": 34,
"h": 45
},
"classifications": [
{
"confidence": 0.8,
"label": "Product1"
}
]
}
],
"gaps": [
{
"id": "02",
"boundingBox": {
"x": 12,
"y": 123,
"w": 1234,
"h": 123
},
"classifications": [
{
"confidence": 0.9,
"label": "Product1"
}
]
}
]
}
Ezt a szöveget fogja használni az API-kérelem törzsében.
A planogramnak megfelelő API meghívása
Másolja a következő
curl
parancsot egy szövegszerkesztőbe.curl.exe -H "Ocp-Apim-Subscription-Key: <subscriptionKey>" -H "Content-Type: application/json" "<endpoint>/computervision/planogramcompliance:match?api-version=2023-04-01-preview" -d "<body>"
Hajtsa végre a következő módosításokat a parancs megfelelő területein:
- Cserélje le a Vision erőforráskulcs értékét
<subscriptionKey>
. - Cserélje le a Vision-erőforrásvégpont értékét
<endpoint>
. Például:https://YourResourceName.cognitiveservices.azure.com
- Cserélje le az értékeket
<body>
az előző szakaszban előkészített csatlakoztatott JSON-sztringre.
- Cserélje le a Vision erőforráskulcs értékét
Nyisson meg egy parancsablakot.
Illessze be a szerkesztett
curl
parancsot a szövegszerkesztőből a parancssori ablakba, majd futtassa a parancsot.
A válasz vizsgálata
A rendszer sikeres választ ad vissza a JSON-ban, amely megjeleníti az egyes planogram-pozíciókban észlelt termékeket (vagy hiányosságokat). A meződefiníciókat az alábbi szakaszokban találja.
{
"matchedResultsPerPosition": [
{
"positionId": "01",
"detectedObject": {
"id": "01",
"boundingBox": {
"x": 12,
"y": 1234,
"w": 123,
"h": 12345
},
"classifications": [
{
"confidence": 0.9,
"label": "Product1"
}
]
}
}
]
}
Planogram egyező pozíció API-modellje
Párosított planogram pozícióazonosítója és a termékmegértési eredmény megfelelő észlelt objektuma.
Név | Típus | Leírás | Kötelező |
---|---|---|---|
positionId |
húr | A planogram pozícióazonosítója megegyezik a megfelelő észlelt objektummal. | Nem |
detectedObject |
DetectedObjectApiModel | Egy kép észlelt objektumát ismerteti. | Nem |