您好,上海丝瓜色版app儀表自儀銷售網歡迎您!

官方微信|聯係丝瓜色版app|

上自儀微信

上海丝瓜色视频儀表股份有限公司,上海丝瓜草莓儀表有限公司

上海丝瓜草莓儀表自儀銷售網熱線:

021-62155955021-56725115

您是否在找: 上海丝瓜草莓儀表廠膜片壓力表|上海丝瓜草莓儀表廠不鏽鋼壓力表|
上海丝瓜色版app视频在线观看儀表四廠簡介

在嵌入式IoT節點中運行機器學習代碼以輕鬆識別對象

來源:上海丝瓜色视频儀表有限公司作者:發表時間:2020-10-13 13:55:03

 在動態環境中運行的物聯網(IoT)網絡已從對象檢測擴展到了在安全性,環境監控,安全性和工業物聯網(IIoT)等應用程序中包括可視對象識別。由於對象識別是自適應的,並且涉及使用機器學習(ML)模型,因此這是一個複雜的領域,可能很難從頭開始學習並難以有效實施。

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