0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Intel Analytics Zoo上分布式TensorFlow的美的/KUKA工業(yè)檢測平臺

電子設(shè)計(jì) ? 來源:電子發(fā)燒友網(wǎng) ? 2018-10-17 10:30 ? 次閱讀

背景

工業(yè)檢查(用于產(chǎn)品缺陷檢測)是現(xiàn)代制造業(yè)的重要組成部分。隨著人工智能計(jì)算機(jī)視覺和大數(shù)據(jù)技術(shù)的發(fā)展,我們可以建立先進(jìn)的工業(yè)檢測系統(tǒng)以實(shí)現(xiàn)和人類水平媲美的準(zhǔn)確性,并具有更高的效率和更低的成本。在本文中,我們將分享我們在美的/ KUKA,使用英特爾Analytics Zoo(一個(gè)基于Apache Spark、TensorFlow和BigDL的開源數(shù)據(jù)分析+ AI平臺),來建立基于深度學(xué)習(xí)的工業(yè)檢測平臺的經(jīng)驗(yàn)。

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

為了便于構(gòu)建和生成大數(shù)據(jù)的深度學(xué)習(xí)應(yīng)用程序,AnalyticsZoo(https://github.com/intel-analytics/analytics-zoo)提供了統(tǒng)一的數(shù)據(jù)分析+AI平臺,可將Spark,TensorFlow和BigDL程序無縫集成到一個(gè)統(tǒng)一的數(shù)據(jù)分析流水線中;然后,整個(gè)流水線可以透明地?cái)U(kuò)展到(運(yùn)行在標(biāo)準(zhǔn)的Intel至強(qiáng)服務(wù)器上的)Hadoop/Spark集群,以進(jìn)行分布式訓(xùn)練或推理。

如上圖所示,美的 / KUKA的工業(yè)檢測平臺是一個(gè)建立在Analytics Zoo之上的端到端數(shù)據(jù)分析流水線,包括

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

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

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

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

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

在檢測時(shí)間期間,具有相機(jī)的工業(yè)機(jī)器人可以自動拍攝產(chǎn)品的照片,并通過HTTP將圖像發(fā)送到網(wǎng)絡(luò)服務(wù)以檢測各種缺陷(例如,缺失標(biāo)簽或螺栓等),如下所示。

Spark,TensorFlow和BigDL的統(tǒng)一集成

如前所述,Analytics Zoo提供了“集成數(shù)據(jù)分析”的深度學(xué)習(xí)編程模型,因此用戶可以輕松開發(fā)端到端的數(shù)據(jù)分析+ AI 流水線(使用Spark,TensorFlow,Keras等),然后透明地運(yùn)行在大型Hadoop / Spark集群上、使用BigDL和Spark進(jìn)行分布式訓(xùn)練和推理。此外,用戶還可以輕松部署端到端的流水線,以實(shí)現(xiàn)低延遲的在線服務(wù)(使用Analytics Zoo提供的POJO風(fēng)格的模型服務(wù)API)。

例如,為了以分布式方式處理缺陷檢測流水線的訓(xùn)練數(shù)據(jù),我們可以使用PySpark將原始圖像數(shù)據(jù)讀取到RDD中,然后應(yīng)用一些變換來解碼圖像,并提取邊界框和類標(biāo)簽,如下所示。

<<<

train_rdd = sc.parallelize(examples_list)

.map(lambda x: read_image_and_label(x))

.map(lambda image: decode_to_ndarrays(image))

<<<

返回的RDD(train_rdd)中的每條記錄都包含一個(gè)NumPy ndarray的列表(即圖像,邊界框,類和檢測到的框的數(shù)量),它可以直接用于創(chuàng)建TensorFlow模型,并在Analytics Zoo上進(jìn)行分布式訓(xùn)練。我們可以通過創(chuàng)建TFDataset (如下所示)來實(shí)現(xiàn)這一功能。

<<<

dataset = TFDataset.from_rdd(train_rdd,

names=["images", "bbox", "classes", "num_detections"],

shapes=[[300, 300, 3],[None, 4], [None], [1)]],

types=[tf.float32, tf.float32, tf.int32, tf.int32],

batch_size=BATCH_SIZE,

hard_code_batch_size=True)

<<<

在Analytics Zoo中,TFDataset表示一個(gè)分布式存儲的記錄集合,其中每條記錄包含一個(gè)或多個(gè)Tensorflow Tensor對象。然后我們可以直接將這些Tensor作為輸入構(gòu)建Tensorflow模型。例如,我們使用

了Tensorflow Object Detection API構(gòu)建了SSDLite + MobileNet V2模型(如下圖所示):

<<<

# using tensorflow object detection api to construct model

# https://github.com/tensorflow/models/tree/master/research/object_detection

from object_detection.builders import model_builder

images, bbox, classes, num_detections = dataset.tensors

detection_model = model_builder.build(model_config, is_training=True)

resized_images, true_image_shapes = detection_model.preprocess(images)

detection_model.provide_groundtruth(bbox, classes)

prediction_dict = detection_model.predict(resized_images, true_image_shapes)

losses = detection_model.loss(prediction_dict, true_image_shapes)

total_loss = tf.add_n(losses.values())

>>>>

在模型構(gòu)建之后,我們首先加載預(yù)先訓(xùn)練的Tensoflow模型,然后使用Analytics Zoo中的TFOptimizer(如下所示)對模型進(jìn)行微調(diào)訓(xùn)練;最終我們在驗(yàn)證數(shù)據(jù)集上達(dá)到0.97 mAP@0.5。

>>>>

with tf.Session() as sess:

init_from_checkpoint(sess, CHECKPOINT_PATH)

optimizer = TFOptimizer(total_loss, RMSprop(LR), sess)

optimizer.optimize(end_trigger=MaxEpoch(20))

save_to_new_checkpoint(sess, NEW_CHEKCPOINT_PATH)

>>>>

在運(yùn)行過程中,Analytics-Zoo使用PySpark從磁盤中讀取了輸入數(shù)據(jù)并進(jìn)行預(yù)處理,并構(gòu)造了一個(gè)Tensorflow Tensor的RDD。然后,基于BigDL和Spark 對Tensorflow 模型進(jìn)行分布式訓(xùn)練(如BigDL技術(shù)報(bào)告所述)。無需修改代碼或手動配置, 整個(gè)訓(xùn)練流程就可以自動從單個(gè)節(jié)點(diǎn)擴(kuò)展到基于Intel至強(qiáng)服務(wù)器的大型Hadoop / Spark集群。

模型訓(xùn)練結(jié)束后,我們還可以基于與訓(xùn)練流程類似的流水線,使用PySpark,TensorFlow和BigDL在Analytics Zoo上執(zhí)行大規(guī)模的分布式評估/推斷。

低延遲的在線服務(wù)

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

<<<

AbstractInferenceModel model = new AbstractInferenceModel(){};

model.loadTF(modelPath, 0, 0, false);

List<List<JTensor>> output = model.predict(inputs);

<<<

結(jié)論

Midea / KUKA通過結(jié)合人工智能,計(jì)算機(jī)視覺和大數(shù)據(jù)技術(shù),在Analytics Zoo(https://github.com/intel-analytics/analytics-zoo)上成功構(gòu)建了先進(jìn)的工業(yè)檢測系統(tǒng)。它使用了工業(yè)機(jī)器人,相機(jī)和英特爾至強(qiáng)服務(wù)器等工具對產(chǎn)品的缺陷進(jìn)行自動檢測。尤其是Analytics Zoo提供統(tǒng)一的數(shù)據(jù)分析 + AI平臺,可將Spark,BigDL和TensorFlow程序無縫集成到一個(gè)數(shù)據(jù)分析流水線中,從而可以輕松構(gòu)建和生產(chǎn)化部署基于大數(shù)據(jù)的深度學(xué)習(xí)應(yīng)用程序(包括分布式訓(xùn)練和推理,以及低延遲在線服務(wù))。您可以參考Github上的示例了解更多詳細(xì)信息。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 英特爾
    +關(guān)注

    關(guān)注

    61

    文章

    9967

    瀏覽量

    171794
  • Web服務(wù)
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    18461
  • SPARK
    +關(guān)注

    關(guān)注

    1

    文章

    105

    瀏覽量

    19911
收藏 人收藏

    評論

    相關(guān)推薦

    分布式IO工業(yè)自動化數(shù)據(jù)采集與分析的核心

    隨著工業(yè)自動化技術(shù)的不斷發(fā)展,分布式IO在工業(yè)自動化領(lǐng)域的應(yīng)用越來越廣泛。作為一種先進(jìn)的控制技術(shù),分布式IO能夠?qū)崿F(xiàn)設(shè)備的分布式控制和監(jiān)測,
    發(fā)表于 12-28 14:47

    分布式入侵檢測系統(tǒng)的設(shè)計(jì)

    分布式入侵檢測系統(tǒng)的設(shè)計(jì)入侵檢測是網(wǎng)絡(luò)安全的一個(gè)新方向,其重點(diǎn)是有效地提取特征數(shù)據(jù)并準(zhǔn)確地分析出非正常網(wǎng)絡(luò)行為。該文在深入研究分析公共入侵檢測框架理論和現(xiàn)有入侵
    發(fā)表于 03-10 09:55

    分布式軟件系統(tǒng)

    分布式軟件系統(tǒng)分布式軟件系統(tǒng)(Distributed Software Systems)是支持分布式處理的軟件系統(tǒng),是在由通信網(wǎng)絡(luò)互聯(lián)的多處理機(jī)體系結(jié)構(gòu)執(zhí)行任務(wù)的系統(tǒng)。它包括
    發(fā)表于 07-22 14:53

    LED分布式恒流原理

    分布式恒流源節(jié)點(diǎn)設(shè)置分布式恒流技術(shù)就是在需要恒流的節(jié)點(diǎn)串接,低壓差線性恒流驅(qū)動器。低壓差很重要,關(guān)系到產(chǎn)品驅(qū)動效率。做到恒流驅(qū)動有很多種,其中低壓差線性恒流就可以實(shí)現(xiàn)一切LED應(yīng)用設(shè)計(jì),即穩(wěn)定又簡單
    發(fā)表于 03-09 16:47

    如何設(shè)計(jì)分布式干擾系統(tǒng)?

    什么是分布式干擾系統(tǒng)?分布式干擾系統(tǒng)是一種綜合化、一體化、小型化、網(wǎng)絡(luò)化和智能化系統(tǒng),是將眾多體積小,重量輕,廉價(jià)的小功率偵察干擾機(jī)裝置在易于投放的小型平臺上,撒布在接近***擾目標(biāo)空域地,通過指令
    發(fā)表于 08-08 06:57

    分布式系統(tǒng)的優(yōu)勢是什么?

    當(dāng)討論分布式系統(tǒng)時(shí),我們面臨許多以下這些形容詞所描述的 同類型: 分布式的、刪絡(luò)的、并行的、并發(fā)的和分散的。分布式處理是一個(gè)相對較新的領(lǐng)域,所以還沒有‘致的定義。與順序計(jì)算相比、并行的、并發(fā)的和
    發(fā)表于 03-31 09:01

    分布式恒流的優(yōu)缺點(diǎn)是什么?

     分布式恒流技術(shù)就是在需要恒流的節(jié)點(diǎn)串接,低壓差線性恒流驅(qū)動器。低壓差很重要,關(guān)系到產(chǎn)品驅(qū)動效率。做到恒流驅(qū)動有很多種,其中低壓差線性恒流就可以實(shí)現(xiàn)一切LED應(yīng)用設(shè)計(jì),即穩(wěn)定又簡單,結(jié)合開關(guān)電源,有著完美的恒流驅(qū)動架構(gòu)。
    發(fā)表于 04-01 09:03

    TensorFlow的特點(diǎn)和基本的操作方式

    Tensorflow是Google開源的深度學(xué)習(xí)框架,來自于Google Brain研究項(xiàng)目,在Google第一代分布式機(jī)器學(xué)習(xí)框架DistBelief的基礎(chǔ)發(fā)展起來。Tensorflow
    發(fā)表于 11-23 09:56

    如何高效完成HarmonyOS分布式應(yīng)用測試?

    2.0發(fā)布以來,開發(fā)者在測試和架HarmonyOS分布式應(yīng)用過程中遇到很多挑戰(zhàn)和困難??傮w可歸納為以下三點(diǎn):分布式應(yīng)用上架測試通過率低:開發(fā)者提交上架的分布式應(yīng)用基礎(chǔ)質(zhì)量較差。如圖
    發(fā)表于 12-13 18:07

    Intel Analytics Zoo/BigDL為客服平臺添加AI的實(shí)踐(一)

    本系列博客主要分享了微軟 Azure 的團(tuán)隊(duì)使用 Intel Analytics Zoo 在 Azure 的平臺上為客戶支持服務(wù)平臺添加 A
    的頭像 發(fā)表于 10-17 10:30 ?4677次閱讀

    分布式工業(yè)物聯(lián)網(wǎng)云平臺是怎樣的

    分布式工業(yè)物聯(lián)網(wǎng)云平臺是基于智能傳感器、無線傳輸技術(shù)、大規(guī)模數(shù)據(jù)處理與遠(yuǎn)程控制等物聯(lián)網(wǎng)核心技術(shù)與互聯(lián)網(wǎng)、無線通信、云計(jì)算大數(shù)據(jù)技術(shù)高度融合開發(fā)的一套物聯(lián)網(wǎng)云服務(wù)平臺。
    發(fā)表于 06-25 10:35 ?1738次閱讀

    Analytics Zoo: 統(tǒng)一的大數(shù)據(jù)分析+AI 平臺

    怎么應(yīng)用 Analytics Zoo ?比如在阿里云上面部署 EMR,使用 Analytics Zoo。
    的頭像 發(fā)表于 07-02 11:18 ?4800次閱讀

    Intel制造行業(yè)AI案例分享:美的工業(yè)視覺檢測平臺

    Intel制造行業(yè)AI案例分享:美的工業(yè)視覺檢測平臺 [項(xiàng)目背景] 作為白色家電行業(yè)領(lǐng)軍企業(yè),美的
    的頭像 發(fā)表于 12-26 10:43 ?4151次閱讀

    如何使用TensorFlow進(jìn)行大規(guī)模和分布式的QML模擬

    中,我們將逐步帶您了解如何使用 TensorFlowTensorFlow Quantum 進(jìn)行大規(guī)模和分布式
    的頭像 發(fā)表于 08-10 17:31 ?2636次閱讀

    分布式工業(yè)物聯(lián)網(wǎng)平臺:引領(lǐng)智能制造的新篇章

    隨著全球化和信息化進(jìn)程的加速,分布式工業(yè)物聯(lián)網(wǎng)平臺作為智能制造的重要基石,正逐步展現(xiàn)出其強(qiáng)大的潛力和廣泛的應(yīng)用前景。這一平臺通過整合不同地區(qū)的人力物力資源,實(shí)現(xiàn)產(chǎn)品生產(chǎn)的最低消耗,并借
    的頭像 發(fā)表于 09-27 17:09 ?234次閱讀