當前位置:
首頁 > 知識 > 基於Intel Analytics Zoo上分散式TensorFlow的美的/KUKA工業檢測平台

基於Intel Analytics Zoo上分散式TensorFlow的美的/KUKA工業檢測平台

背景

工業檢查(用於產品缺陷檢測)是現代製造業的重要組成部分。隨著人工智慧,計算機視覺和大數據技術的發展,我們可以建立先進的工業檢測系統以實現和人類水平媲美的準確性,並具有更高的效率和更低的成本。在本文中,我們將分享我們在美的/ KUKA,使用英特爾Analytics Zoo(一個基於Apache Spark、TensorFlow和BigDL的開源數據分析+ AI平台),來建立基於深度學習的工業檢測平台的經驗。


基於Analytics Zoo的端到端的解決方案

為了便於構建和生成大數據的深度學習應用程序,Analytics Zoo 提供了統一的數據分析+ AI平台,可將Spark,TensorFlow和BigDL程序無縫集成到一個統一的數據分析流水線中;然後,整個流水線可以透明地擴展到(運行在標準的Intel至強伺服器上的)Hadoop / Spark集群,以進行分散式訓練或推理。

如上圖所示,Midea / KUKA的工業檢測平台是一個建立在Analytics Zoo之上的端到端數據分析流水線,包括

(1)使用Spark以分散式方式處理從製造流水線獲取的大量圖像。

(2)使用Tensorflow Object Detection API直接構建對象檢測(例如,SSDLite + MobileNet V2)模型

(3)直接使用在第一步中預處理的圖像RDD,以分散式方式在Spark集群上訓練(或微調)對象檢測模型。

(4)直接使用評估圖像集的RDD,以分散式方式在Spark集群上評估(或推斷)訓練模型。

(5)使用Analytics Zoo中POJO模式的API, 將整個Pipeline 部署在低延遲的、在線Web 服務中。

在檢測時間期間,具有相機的工業機器人可以自動拍攝產品的照片,並通過HTTP將圖像發送到網路服務以檢測各種缺陷(例如,缺失標籤或螺栓等),如下所示。

Spark,TensorFlow和BigDL的統一集成

如前所述,Analytics Zoo提供了「集成數據分析」的深度學習編程模型,因此用戶可以輕鬆開發端到端的數據分析+ AI 流水線(使用Spark,TensorFlow,Keras等),然後透明地運行在大型Hadoop / Spark集群上、使用BigDL和Spark進行分散式訓練和推理。此外,用戶還可以輕鬆部署端到端的流水線,以實現低延遲的在線服務(使用Analytics Zoo提供的POJO風格的模型服務API)。

例如,為了以分散式方式處理缺陷檢測流水線的訓練數據,我們可以使用PySpark將原始圖像數據讀取到RDD中,然後應用一些變換來解碼圖像,並提取邊界框和類標籤,如下所示。

返回的RDD(train_rdd)中的每條記錄都包含一個NumPy ndarray的列表(即圖像,邊界框,類和檢測到的框的數量),它可以直接用於創建TensorFlow模型,並在Analytics Zoo上進行分散式訓練。我們可以通過創建TFDataset(如下所示)來實現這一功能。

在Analytics Zoo中,TFDataset表示一個分散式存儲的記錄集合,其中每條記錄包含一個或多個Tensorflow Tensor對象。然後我們可以直接將這些Tensor作為輸入構建Tensorflow模型。例如,我們使用了Tensorflow Object Detection API構建了SSDLite + MobileNet V2模型(如下圖所示):

在模型構建之後,我們首先載入預先訓練的Tensoflow模型,然後使用Analytics Zoo中的TFOptimizer(如下所示)對模型進行微調訓練;最終我們在驗證數據集上達到0.97 mAP@0.5。

在運行過程中,Analytics Zoo使用PySpark從磁碟中讀取了輸入數據並進行預處理,並構造了一個Tensorflow Tensor的RDD。然後,基於BigDL和Spark 對Tensorflow 模型進行分散式訓練(如BigDL技術報告所述)。無需修改代碼或手動配置, 整個訓練流程就可以自動從單個節點擴展到基於Intel至強伺服器的大型Hadoop / Spark集群。

模型訓練結束後,我們還可以基於與訓練流程類似的流水線,使用PySpark,TensorFlow和BigDL在Analytics Zoo上執行大規模的分散式評估/推斷。

低延遲的在線服務

如下所示,我們也可以使用Analytics Zoo提供的POJO風格的模型服務API輕鬆部署推理流水線,以實現低延遲的在線服務(例如,Web服務,Apache Storm,Apache Flink等等)。有關詳細信息,請參閱:https://analytics-zoo.github.io/master/#ProgrammingGuide/inference/


結論

Midea / KUKA通過結合人工智慧,計算機視覺和大數據技術,在Analytics Zoo上成功構建了先進的工業檢測系統。它使用了工業機器人,相機和英特爾至強伺服器等工具對產品的缺陷進行自動檢測。尤其是Analytics Zoo提供統一的數據分析 + AI平台,可將Spark,BigDL和TensorFlow程序無縫集成到一個數據分析流水線中,從而可以輕鬆構建和生產化部署基於大數據的深度學習應用程序(包括分散式訓練和推理,以及低延遲在線服務)。您可以參考Github上的示例了解更多詳細信息。

譯文出處

https://software.intel.com/en-us/articles/industrial-inspection-platform-in-midea-and-kuka-using-distributed-tensorflow-on-analytics


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI研習社 的精彩文章:

「九歌」——基於深度學習的中國古典詩歌自動生成系統
Python程序員深度學習「四大名著」之一

TAG:AI研習社 |