SAP Leonardo圖片處理相關的機器學習服務在SAP智慧服務場景中的應用

i042416發表於2019-09-28

本文作為Jerry最近正在做的一個專案的工作思路的梳理。

我們假設這樣一個服務場景,技師上門維修某裝置,發現裝置上某零件損壞了,假設這位技師由於種種原因,沒能根據自己的經驗識別出這個零件的型號。此時技師掏出自己的手機,給零件拍攝一張圖片,這張圖片透過手機上安裝的SAP某智慧解決方案,傳送到SAP Leonardo平臺,透過那裡的人工智慧服務,自動識別出這張圖片上面零件的準確型號,返回給技師。

SAP Leonardo上的人工智慧服務,在接收到技師上傳的圖片後,透過某種演算法將該圖片的特徵向量提取出來,然後再透過平臺上基於大量資料集訓練好的模型,識別出準確型號。因此,圖片特徵向量的提取,成為了這個智慧解決方案的首要步驟。

SAP Leonardo圖片處理相關的機器學習服務在SAP智慧服務場景中的應用

什麼是圖片的特徵向量?特徵向量的提取,從數學上說,就是透過某種演算法,把輸入圖片的二進位制流,轉換成一個向量(一維矩陣)的過程。

以下面這張圖裡的梯形和圓形為例,我們把圖形均勻地分成9個區域,在圖形中心觀察每個區域內圖形單元的梯度方向,就可以實現降維,把二維影像以一個一維矩陣來表示。

SAP Leonardo圖片處理相關的機器學習服務在SAP智慧服務場景中的應用

當然實際的圖形輪廓識別和降維處理採用的演算法比這個例子複雜得多,Jerry也不懂。幸運的是,對SAP partners來說,不需要了解這裡面的數學知識和技術知識,簡單地把SAP Leonardo上的人工智慧服務當成一個黑盒子,透過Restful API的方式,把要提取特徵向量的圖片“喂”給人工智慧服務,就能得到特徵向量輸出。

透過這個url進入SAP Leonardo圖片特徵向量提取服務的測試控制檯和幫助文件:

使用非常簡單,直接在測試控制檯裡從本地選擇一張圖片,點選執行按鈕:

SAP Leonardo圖片處理相關的機器學習服務在SAP智慧服務場景中的應用

得到了輸出的特徵向量:

SAP Leonardo圖片處理相關的機器學習服務在SAP智慧服務場景中的應用

有了特徵向量後,我們再回到文章開頭提到的場景。

假設我們想根據技師上傳的圖片分辨出圖片裡的零件型號,一種做法當然是採取Jerry之前一篇文章 如何對SAP Leonardo上的機器學習模型進行重新訓練 介紹的方法,提前準備大量該型號零件的圖片,然後使用這些圖片對Product Image Classification模型進行重新訓練。訓練結束之後,該API即可識別出對於給定一張圖片,代表的究竟是不是之前訓練過的某型號的零件。這是第一種實現思路。

SAP Leonardo圖片處理相關的機器學習服務在SAP智慧服務場景中的應用

既然我們如今已經拿到了待識別圖片的特徵向量,那麼可以嘗試第二種思路,即利用Leonardo上的另一個和圖片處理相關的人工智慧服務:圖片相似度評分

SAP Leonardo圖片處理相關的機器學習服務在SAP智慧服務場景中的應用

這個Restful API的輸入需要兩個壓縮包。第一個壓縮包存放的是一個存放了事先提取好的技師上傳的待匹配檔案的特徵向量,第二個壓縮包裡存放的是型號為A,B,C...等零件圖片的特徵向量。

SAP Leonardo圖片處理相關的機器學習服務在SAP智慧服務場景中的應用

如上圖所示,為簡單起見,第二個壓縮包我只存放了兩個檔案,分別存放的是型號A和型號B的特徵向量。

呼叫API,傳入這兩個壓縮包:

SAP Leonardo圖片處理相關的機器學習服務在SAP智慧服務場景中的應用

得到的結果表明,技師上傳的圖片和型號A的相似係數幾乎接近1,那麼顯然,該圖片代表型號A。

SAP Leonardo圖片處理相關的機器學習服務在SAP智慧服務場景中的應用

當然,除了直接上傳包含了圖片特徵向量的壓縮檔案之外,將這些檔案包含的特徵向量內容以JSON字串的方式作為輸入呼叫API也是可行的,JSON字串的格式在SAP官網裡有詳細說明,這裡不再贅述。

SAP Leonardo圖片處理相關的機器學習服務在SAP智慧服務場景中的應用

希望本文介紹的這些API對於大家實際工作中如何利用SAP Leonardo上的機器學習服務有所啟發,感謝閱讀。

更多閱讀

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":

SAP Leonardo圖片處理相關的機器學習服務在SAP智慧服務場景中的應用


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2658613/,如需轉載,請註明出處,否則將追究法律責任。

相關文章