撰寫/攝影 | 曾吉弘 |
難度 |
★★★★☆ (要理解 python 與基本網路呼叫,難度1~10) |
時間 |
約1小時 |
材料表 |
|
微軟在2020下半年推出了 LOBE.ai 神經網路訓練工具,我們馬上寫了這篇文章 [微軟 LOBE ai – 離線訓練影像辨識模型!],裡面有一個即時影像推論的範例,在一般電腦或是單板電腦(Rasbperry Pi 或 Jetson Nano) 上都可以執行,如下圖:
最近一次更新之後,可以匯出的神經網路模型格式更豐富了,也提供了 iOS / Android 的 app 樣板讓您可以更快完成一個視覺辨識 app。
本篇文章是另一個小範例,LOBE 在訓練完神經網路之後就會產生一個本地端的 REST API 端點,可以自己呼叫自己,或是讓別台電腦透過 ip 來呼叫,並根據所訓練好的神經網路模型來回傳結果。適合不強調執行速度的情境下使用,程式也比較簡潔,基本上就對 LOBE API url 進行一次 POST 呼叫來送出一個 base64 影像,接著 LOBE 就會回傳預測結果,包含標籤與信心指數。
請根據 [微軟 LOBE ai – 離線訓練影像辨識模型!] 快速訓練一個模型吧!完成之後請在 Use 中找到 Lobe Connect in the Use tab to get started integrating your model.
點選之後會跳出一個選單,點選下拉式選單選到 [Python],可以看到所產生的端點與範例程式碼(本文末)其他選項還有 C#、Node.js、,方便不同技術背景的使用者快速使用。端點會長這樣:
http://localhost:38101/v1/predict/8658343e-1545-4354-b3ea-093f83ed9a4c
當然也可以把 localhost 改成您電腦的 IP,例如 192.168.x.x,就可以讓同一個網段的齊它電腦來呼叫這個 LOBE 端點了!
延續上一篇教學 中的 DOM 與 ZAKU,在此一樣使用這兩個相當具代表性的機器人來進行辨識,測試圖片如下圖:
由於這個範例只進行 http 呼叫,只要有 Python 環境並且不需要安裝AI框架就可以執行,請新增以下 lobe_connect.py (或任意檔名),在終端機中執行就可以看到結果了。下圖進行了三次呼叫,辨識結果分別為zaku、zaku、dom: