2016-11-07 60 views
1

我正在使用java腳本/ Jquery從我的客戶端代碼使用微軟的api。 這是代碼。我使用相機捕捉圖像,然後將該圖像轉換爲blob並將其發送到api。我正在得到結果。但是這個API需要4-6秒左右才能得到結果。這是通常還是可能有一些性能改善?Microsoft Face Api響應時間?

謝謝!

var params = { 
    // Request parameters 
    "returnFaceId": "true", 
    "returnFaceLandmarks": "false", 
    "returnFaceAttributes": "age,gender,glasses", 
}; 

jQuery.ajax({ 
    url: "https://api.projectoxford.ai/face/v1.0/detect?" + $.param(params), 
    beforeSend: function(xhrObj){ 
     // Request headers 
     xhrObj.setRequestHeader("Content-Type","application/octet-stream"); 
     xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","Mykey"); 
    }, 
    type: "POST", 
    // Request body 
    data: data, 
    processData: false, 

}) 
.done(function(data) { 
    console.timeEnd("callMicrosoftService"); 

    parseData(data); 

}) 
.fail(function() { 
    alert("error"); 
}); 
+0

是否需要或不需要花費時間上傳源圖片來理解4-6secs的測量? – dlatikay

+0

我發佈圖像作爲blob在帖子正文中。我沒有使用單獨的請求上傳它。 – Ashish

+0

如果這意味着上傳源圖片所需的時間包含在4-6秒內,那可能是它的一半或更多......平均文件大小是多少(MB?)? – dlatikay

回答

0

如果查詢較少的面部屬性的調用將返回更快:

注意,每個面的屬性分析有額外的計算和時間成本。

來源:https://dev.projectoxford.ai/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236

它很難說這是否是「正常」與否,因爲這取決於很多因素。

除此之外,通過改變客戶端的東西,您將無法提高很多,因爲實際計算取決於服務器資源分配以及在那裏分配給您的帳戶的配額。

+0

感謝@dlatikay的迴應。但我需要這些屬性,因爲我必須進一步使用它們。我明白,實際的計算髮生在服務器上。所以如果我使用付費服務而不是免費服務,結果可能會更快。 – Ashish