91精品国产综合久久麻豆,精品久久久一区二区三级,无码日韩精品一区二区免费暖暖,99久久综合久中文字幕

您好,上海自動化儀表自儀銷售網(wǎng)歡迎您!

官方微信|聯(lián)系我們|

上自儀微信

上海自動化儀表股份有限公司,上海自動化儀表有限公司

上海自動化儀表自儀銷售網(wǎng)熱線:

021-56413113021-56725115

您是否在找: 上海自動化儀表廠膜片壓力表|上海自動化儀表廠不銹鋼壓力表|
上海自動化儀表四廠簡介

在嵌入式IoT節(jié)點中運行機器學習代碼以輕松識別對象

來源:上海自動化儀表有限公司作者:發(fā)表時間:2020-10-13 13:55:03

 在動態(tài)環(huán)境中運行的物聯(lián)網(wǎng)(IoT)網(wǎng)絡(luò)已從對象檢測擴展到了在安全性,環(huán)境監(jiān)控,安全性和工業(yè)物聯(lián)網(wǎng)(IIoT)等應(yīng)用程序中包括可視對象識別。由于對象識別是自適應(yīng)的,并且涉及使用機器學習(ML)模型,因此這是一個復雜的領(lǐng)域,可能很難從頭開始學習并難以有效實施。

 
困難源于一個事實,即ML模型僅與其數(shù)據(jù)集一樣好,并且一旦獲取了正確的數(shù)據(jù),就必須對該系統(tǒng)進行適當?shù)呐嘤栆允蛊淦鹱饔茫允蛊鋵嵱谩?/div>
 
本文將向開發(fā)人員展示如何將Google的TensorFlow Lite for Microcontrollers ML模型實現(xiàn)到Microchip Technology微控制器中。然后,它將說明如何在TensorFlow Lite中使用圖像分類和對象檢測學習數(shù)據(jù)集,以最少的自定義編碼輕松識別對象。
 
然后,它將引入Adafruit Industries的TensorFlow Lite ML入門套件,該套件可使開發(fā)人員熟悉ML的基礎(chǔ)知識。
 
嵌入式視覺系統(tǒng)的ML
廣義上講,ML為計算機或嵌入式系統(tǒng)提供了類似于人的模式識別功能。從人類感覺的角度來看,這意味著使用諸如麥克風和攝像機之類的傳感器來模仿人類對聽覺和視覺的感覺感知。盡管傳感器很容易用于捕獲音頻和視頻數(shù)據(jù),但是一旦將數(shù)據(jù)數(shù)字化并存儲起來,就必須對其進行處理,以便可以與代表已知聲音或?qū)ο蟮拇鎯δJ竭M行匹配。挑戰(zhàn)在于,例如,攝像機為視覺對象捕獲的圖像數(shù)據(jù)將與對象內(nèi)存中存儲的數(shù)據(jù)不完全匹配。需要在視覺上識別對象的ML應(yīng)用程序必須處理數(shù)據(jù),以便它可以準確有效地將相機捕獲的圖案與存儲在內(nèi)存中的圖案進行匹配。
 
有不同的庫或引擎用于匹配傳感器捕獲的數(shù)據(jù)。TensorFlow是一個用于匹配模式的開源代碼庫。TensorFlow Lite for Microcontrollers代碼庫專為在微控制器上運行而設(shè)計,因此減少了內(nèi)存和CPU要求以在更有限的硬件上運行。具體來說,它需要一個32位微控制器,并使用少于25 KB的閃存。
 
但是,雖然TensorFlow Lite for Microcontrollers是ML引擎,但系統(tǒng)仍需要學習要識別的模式的數(shù)據(jù)集。不管ML引擎有多好,該系統(tǒng)僅與其學習數(shù)據(jù)集一樣好,對于視覺對象,某些學習數(shù)據(jù)集對于許多大型模型可能需要數(shù)GB的數(shù)據(jù)。更多數(shù)據(jù)需要更高的CPU性能才能快速找到準確的匹配項,這就是為什么這些類型的應(yīng)用程序通??梢栽诠δ軓姶蟮挠嬎銠C或高端筆記本電腦上運行的原因。
 
對于嵌入式系統(tǒng)應(yīng)用程序,僅應(yīng)將應(yīng)用程序必需的那些特定模型存儲在學習數(shù)據(jù)集中。如果系統(tǒng)應(yīng)該識別工具和硬件,則可以刪除代表水果和玩具的模型。這減小了學習數(shù)據(jù)集的大小,從而降低了嵌入式系統(tǒng)的內(nèi)存需求,從而在降低成本的同時提高了性能。
 
ML微控制器
為了運行用于微處理器的TensorFlow Lite,Microchip Technology的目標是使用基于Arm®Cortex®-M4F的ATSAMD51J19A-AFT微控制器在微控制器中進行機器學習(圖1)。它具有512 KB的閃存和192 KB的SRAM存儲器,并以120兆赫(MHz)的速度運行。ATSAMD51J19A-AFT是Microchip Technology ATSAMD51  ML微控制器系列的一部分。它符合汽車AEC-Q100 1級質(zhì)量標準,并在-40°C至+ 125°C的溫度范圍內(nèi)運行,使其適用于最苛刻的IoT和IIoT環(huán)境。它是一種低壓微控制器,在120 MHz下運行時的工作電壓為1.71至3.63伏。
ATSAMD51J19A基于以120 MHz運行的Arm Cortex-M4F內(nèi)核。
 
ATSAMD51J19A聯(lián)網(wǎng)選項包括用于工業(yè)聯(lián)網(wǎng)的CAN 2.0B和用于大多數(shù)有線網(wǎng)絡(luò)的10/100以太網(wǎng)。這使微控制器可以在各種IoT網(wǎng)絡(luò)上運行。USB 2.0接口支持主機和設(shè)備操作模式,可用于設(shè)備調(diào)試或系統(tǒng)聯(lián)網(wǎng)。
 
處理ML代碼時,4 KB的組合指令和數(shù)據(jù)緩存可提高性能。浮點單元(FPU)對于改善ML代碼的性能以及處理原始傳感器數(shù)據(jù)也很有用。
 
存儲學習數(shù)據(jù)集
ATSAMD51J19A還具有用于外部程序或數(shù)據(jù)存儲器存儲的QSPI接口。對于超出芯片上閃存容量的學習數(shù)據(jù)集的額外數(shù)據(jù)存儲,這很有用。QSPI還具有就地執(zhí)行(XiP)支持,用于外部高速程序存儲器擴展。
 
ATSAMD51J19A還具有SD / MMC存儲卡主機控制器(SDHC),對于ML應(yīng)用非常有用,因為它可以輕松地交換ML代碼和學習數(shù)據(jù)集。TensorFlow Lite for Microcontrollers引擎可以在ATSAMD51J19A的512 KB閃存中運行,而學習數(shù)據(jù)集則可以定期進行升級和改進。學習數(shù)據(jù)集可以存儲在外部QSPI閃存或QSPI EEPROM中,并且可以根據(jù)網(wǎng)絡(luò)配置通過網(wǎng)絡(luò)進行遠程升級。但是,對于某些系統(tǒng),將存儲卡與另一個具有改進的學習數(shù)據(jù)集的存儲卡進行物理交換會更方便。在此配置中,開發(fā)人員需要確定是否應(yīng)將系統(tǒng)設(shè)計為熱交換存儲卡,或者是否需要關(guān)閉IoT節(jié)點。
 
如果IoT節(jié)點受到空間的限制,那么最好使用盡可能多的應(yīng)用程序放入微控制器存儲器中,而不是使用外部存儲器。Microchip Technology的ATSAMD51J20A-AFT與ATSAMD51J19A相似,并且引腳兼容,不同之處在于它具有1 MB的閃存和256 KB的SRAM,從而為學習數(shù)據(jù)集提供了更多的片上存儲空間。
 
使用TensorFlow Lite開發(fā)微控制器
Adafruit Industries利用4317 TensorFlow Lite for Microcontrollers開發(fā)套件支持ATSAMD51J19A的開發(fā)(圖2)。該評估板具有2 MB的QSPI閃存,可用于存儲學習數(shù)據(jù)集。該套件帶有用于ML音頻識別的麥克風插孔。它的1.8英寸彩色160 x 128 TFT LCD可用于開發(fā)和調(diào)試。當TensorFlow Lite for Microcontrollers與語音識別學習數(shù)據(jù)集一起使用時,該顯示器還可用于語音識別演示。當應(yīng)用程序識別不同的單詞時,它們可以顯示在屏幕上。
 
Adafruit Industries套件還具有八個按鈕,一個三軸加速度計,一個光傳感器,一個微型揚聲器和一個鋰聚合物電池。ATSAMD51J19A的USB 2.0端口被引到用于電池充電,調(diào)試和編程的連接器。
 
Adafruit套件隨附了適用于微控制器的TensorFlow Lite的最新版本??梢允褂肬SB端口將學習數(shù)據(jù)集加載到ATSAMD51J19A微控制器的512 KB閃存中,或加載到外部2 MB QSPI存儲器中。
 
為了進行圖像識別評估,可以將TensorFlow對象檢測學習集加載到開發(fā)板上。開發(fā)板具有用于連接微控制器的并行和串行端口的端口,其中許多端口可用于連接外部攝像機。將對象檢測學習設(shè)置加載到微控制器上后,LCD可以用于顯示對象檢測ML處理結(jié)果的輸出,因此,如果識別出香蕉,則TFT顯示屏可能會顯示識別出的對象以及百分比置信度。結(jié)果顯示示例可能顯示為:
 
香蕉:95%
扳手:12%
眼鏡:8%
梳子:2%
 
對于物聯(lián)網(wǎng)對象檢測應(yīng)用程序的開發(fā),這可以加快開發(fā)速度并幫助診斷任何不正確的檢測結(jié)果。
 
結(jié)論
ML是一個不斷擴展的領(lǐng)域,需要專門技能才能從頭開發(fā)微控制器和模型,并在邊緣高效地實現(xiàn)它們。但是,在低成本,高效的微控制器或開發(fā)板上使用現(xiàn)有的代碼庫(例如TensorFlow Lite for Microcontrollers)可節(jié)省時間和金錢,從而產(chǎn)生了可用于快速檢測IoT節(jié)點中對象的高性能ML系統(tǒng),可靠,高效。