機器學習橋和外部計算(Machine Learning Bridge and External Compute)

前言大綱

Spot 提供了非本機外執行計算並將其輕鬆集成到您的 API 程序中的功能。例如,您可能想要運行基於深度學習的邊界內檢測器,來識別您想要命令機器人撿起的球。

network_compute_bridge API 可以幫助您協調各種組件之間的網絡,並為您的圖像調用添加預處理和後處理,根據需要為您捕獲和旋轉圖像。平板電腦應用程序具有內置功能,可在駕駛時在線查看邊界框檢測器的輸出((Menu > Utilities > ML Model Viewer,菜單 > 實用工具 > ML 模型查看器)。

範例概念Example Concept

您已經訓練了一個模型來檢測網球。您想構建一個腳本來走到一個區域中的每個網球。由於您的網球檢測器的計算成本很高,因此您決定在與 Spot 相同的 WiFi 網絡上運行一台大型服務器來進行計算。

您可以通過以下方式進行設置:

  • 大型服務器在服務器機房中運行,與 Spot 位於同一 WiFi 網絡上。
  • 您的客戶端筆記本電腦有一個腳本,用於查詢"網絡計算橋Network Compute Bridge to":
    • 捕捉圖像
    • 在該圖像上運行網球檢測器
    • 將結果返回給腳本
    • 根據結果,您的腳本命令機器人走向網球。

系統組件

  • Spot robot
  • Server running computation
  • mounted on Spot or externally networked
  • Client computer
  • robot tablet
  • external computer
  • same computer as is running the server

發現服務器和模型Discovering Servers and Models

計算服務器註冊到 Spot 的目錄(Directory.)

客戶端可以使用該目錄來查找可用的服務器(請參閱:列出服務 listing services)。

服務器應該實現 ListAvailableModels RPC 來通知客戶端他們的可用計算。

範例客戶端和服務器

預處理和後處理

如果您正在處理圖像,您可以:

  • 讓機器人捕捉圖像
  • 發送已經捕獲的圖像進行計算
如果您選擇 (1),您可以選擇讓機器人旋轉圖像以對齊水平。許多 ML 檢測器偏向於水平捕獲的圖像,因此這是改善結果的好方法。

如果您使用旋轉功能,機器人將:

  • 捕獲圖像
  • 將圖像旋轉到水平方向
  • 發送到外部服務器
  • 接收
  • 向您發送帶有相應邊界框的原始圖像。
  • 邊界框結果並取消旋轉框,使其與原始圖像對齊
  • 向您發送帶有相應邊界框的原始圖像。

RPC 定義: 

NetworkComputeBridge 是 API 客戶端和機器人之間的 API 接口。

NetworkComputeBridgeWorker 是機器人和計算服務器之間的 API 接口

其他數據

API 在 proto 中提供了一個 Any 字段,允許您打包任意輸入和輸出數據。此字段允許您對任何數據執行外部計算。但是,平板電腦應用程序將無法解釋此自定義數據。



















  • 參考資料

    特色、摘要,Feature、Summary:

    關鍵字、標籤,Keyword、Tag:

    留言

    這個網誌中的熱門文章

    Ubuntu 常用指令、分類與簡介

    iptables的觀念與使用

    網路設定必要參數IP、netmask(遮罩)、Gateway(閘道)、DNS

    了解、分析登錄檔 - log

    Python 與SQLite 資料庫

    Blogger文章排版範本

    Pandas 模組

    如何撰寫Shell Script

    查詢指令或設定 -Linux 線上手冊 - man

    下載網頁使用 requests 模組