Raf planogramı uyumluluğu (önizleme)
Planogram, perakende ürünlerin raflara doğru yerleşimini gösteren bir diyagramdır. Planogram Uyumluluk API'si, bir fotoğraftan alınan analiz sonuçlarını mağazanın planogram girişiyle karşılaştırmanıza olanak tanır. Planogramdaki tüm konumların ve her konumda bir ürünün bulunup bulunmadığını gösteren bir hesap döndürür.
Not
Görüntülerde gösterilen markalar Microsoft'a bağlı değildir ve Microsoft veya Microsoft ürünlerinin marka sahipleri tarafından herhangi bir şekilde onaylandığını ya da marka sahiplerinin veya ürünlerinin Microsoft tarafından onaylandığını göstermez.
Önkoşullar
- Product Understanding API'siyle temel Product Understanding analizini ayarlamış ve çalıştırmış olmanız gerekir.
- cURL yüklü. Alternatif olarak, Swagger veya VS Code için REST İstemci uzantısı gibi farklı bir REST platformu da kullanabilirsiniz.
Planogram şeması hazırlama
Planogram verilerinizin belirli bir JSON biçiminde olması gerekir. Alan tanımları için aşağıdaki bölümlere bakın.
"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
}
]
}
X ve Y koordinatları sol üst çıkış noktasıyla ilişkilidir ve genişlik ve yükseklik her sınırlayıcı kutuyu aşağı ve sağa doğru genişletir. Aşağıdaki diyagramda koordinat sistemi örnekleri gösterilmektedir.
Not
Görüntülerde gösterilen markalar Microsoft'a bağlı değildir ve Microsoft veya Microsoft ürünlerinin marka sahipleri tarafından herhangi bir şekilde onaylandığını ya da marka sahiplerinin veya ürünlerinin Microsoft tarafından onaylandığını göstermez.
Planogram şemasındaki miktarlar özel olmayan birimlerdedir. Bunlar inç, santimetre veya başka bir ölçü birimine karşılık gelebilir. Eşleşen algoritma, fotoğraf çözümleme birimleri (piksel) ile planogram birimleri arasındaki ilişkiyi hesaplar.
Planogram API modeli
Planogram eşleştirme işlemleri için planogramı açıklar.
Adı | Tür | Açıklama | Gerekli |
---|---|---|---|
width |
çift | Planogramın genişliği. | Yes |
height |
çift | Planogramın yüksekliği. | Yes |
products |
ProductApiModel | Planogramdaki ürünlerin listesi. | Yes |
fixtures |
FikstürApiModel | Planogramdaki fikstürlerin listesi. | Yes |
positions |
PositionApiModel | Planogramdaki konumların listesi. | Yes |
Ürün API'si modeli
Planogramdaki bir ürünü açıklar.
Adı | Tür | Açıklama | Gerekli |
---|---|---|---|
id |
Dize | Ürünün kimliği. | Yes |
name |
Dize | Ürünün adı. | Yes |
w |
çift | Ürünün genişliği. | Yes |
h |
çift | Fikstürün yüksekliği. | Yes |
Fikstür API modeli
Planogramdaki bir fikstür (raf veya benzer donanım) açıklar.
Adı | Tür | Açıklama | Gerekli |
---|---|---|---|
id |
Dize | Fikstürün kimliği. | Yes |
w |
çift | Fikstür genişliği. | Yes |
h |
çift | Fikstürün yüksekliği. | Yes |
x |
çift | İlk kaynaktan, inç veya santimetre cinsinden sol uzaklık. | Yes |
y |
çift | İlk kaynaktan, inç veya santimetre cinsinden üst uzaklık. | Yes |
KONUM API'si modeli
Bir ürünün planogramdaki konumunu açıklar.
Adı | Tür | Açıklama | Gerekli |
---|---|---|---|
id |
Dize | Konumun kimliği. | Yes |
productId |
Dize | Ürünün kimliği. | Yes |
fixtureId |
Dize | Ürünün üzerinde olduğu fikstürün kimliği. | Yes |
x |
çift | İlk kaynaktan, inç veya santimetre cinsinden sol uzaklık. | Yes |
y |
çift | İlk kaynaktan, inç veya santimetre cinsinden üst uzaklık. | Yes |
Analiz sonuçlarını alma
Ardından, özel bir modelle Product Understanding API çağrısı yapmanız gerekir.
Döndürülen JSON metni bir "detectedProducts"
yapı olmalıdır. Rafta algılanan tüm ürünleri, eğitim aşamasında kullandığınız ürüne özgü etiketlerle birlikte gösterir.
"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"
}
]
}
]
}
Eşleşen isteği hazırlama
Planogram şemanızın JSON içeriğini analiz sonuçlarının JSON içeriğiyle birleştirin, örneğin:
"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"
}
]
}
]
}
Bu, API isteği gövdesinde kullanacağınız metindir.
Planogram eşleştirme API'sini çağırma
Aşağıdaki
curl
komutu bir metin düzenleyicisine kopyalayın.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>"
Gerektiğinde komutta aşağıdaki değişiklikleri yapın:
- değerini
<subscriptionKey>
Görüntü İşleme kaynak anahtarınızla değiştirin. - değerini
<endpoint>
Görüntü İşleme kaynak uç noktanızla değiştirin. Örneğin:https://YourResourceName.cognitiveservices.azure.com
. - değerini
<body>
önceki bölümde hazırladığınız birleştirilmiş JSON dizesiyle değiştirin.
- değerini
Bir komut istemi penceresi açın.
Düzenlenen
curl
komutu metin düzenleyicisinden komut istemi penceresine yapıştırın ve ardından komutunu çalıştırın.
Yanıtı inceleme
Her planogram konumunda algılanan ürünleri (veya boşlukları) gösteren başarılı bir yanıt JSON olarak döndürülür. Alan tanımları için aşağıdaki bölümlere bakın.
{
"matchedResultsPerPosition": [
{
"positionId": "01",
"detectedObject": {
"id": "01",
"boundingBox": {
"x": 12,
"y": 1234,
"w": 123,
"h": 12345
},
"classifications": [
{
"confidence": 0.9,
"label": "Product1"
}
]
}
}
]
}
Planogram eşleştirme konumu API modeli
Ürün anlama sonucundan eşleştirilmiş planogram konum kimliği ve buna karşılık gelen algılanan nesne.
Adı | Tür | Açıklama | Gerekli |
---|---|---|---|
positionId |
Dize | Planogramdaki konum kimliği, ilgili algılanan nesneyle eşleşmiş. | Hayır |
detectedObject |
DetectedObjectApiModel | Bir görüntüde algılanan nesneyi açıklar. | Hayır |
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin