色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用i.MX RT1060跨接MCU通過TensorFlow Lite實施數字識別

嵌入式星球 ? 2020-09-29 11:45 ? 次閱讀

i.MX RT1060交叉MCU同樣適用于經濟高效的工業應用以及需要顯示功能的高性能和數據密集型消費類產品本文通過解釋如何實現一種嵌入式機器學習應用程序來演示該基于Arm?Cortex?-M7的MCU的功能,該應用程序可以檢測和分類用戶的手寫輸入。

為此,本文重點介紹流行的MNIST eIQ示例,該示例由幾個部分組成-數字識別由TensorFlow Lite模型執行,并且GUI用于提高i.MX RT1060設備的可用性。

看一下MNIST數據集和模型


本文使用的數據集包括60,000個訓練和10,000個手寫數字居中灰度圖像測試示例。每個樣本的分辨率為28x28像素:

圖1.MNIST數據集示例

樣本是從美國的高中生和人口普查局員工那里收集的。因此,數據集主要包含在北美書寫的數字示例。例如,對于歐洲風格的數字,必須使用其他數據集。與該數據集一起使用時,卷積神經網絡通常會提供最佳結果,甚至簡單的網絡也可以實現高精度因此,TensorFlow Lite是適合此任務的選項。

本文選擇的MNIST模型實現可在GitHub上作為正式的TensorFlow模型之一獲得,并且使用Python編寫。該腳本使用Keras庫以及tf.data,tf.estimator.Estimator和tf.layers API,并構建了一個卷積神經網絡,可以在測試樣本上實現高精度:

圖2.所用模型的可視化。

相應的模型定義如下圖3所示。

圖3.與模型可視化相對應的模型定義。

什么是TensorFlow Lite?在本示例中如何使用?


TensorFlow是一個著名的深度學習框架,已被大型公司廣泛用于生產中。這是由Google開發和維護的開源,跨平臺深度學習庫。提供了一個低級Python API,它對經驗豐富的開發人員非常有用,并且提供了高級庫(例如本例中使用的庫)。此外,TensorFlow得到了廣大社區的支持,并獲得了Google的出色在線文檔,學習資源,指南和示例。

為了使受計算限制的機器(例如移動設備和嵌入式解決方案)能夠運行TensorFlow應用程序,Google開發了TensorFlow Lite框架,該框架不支持TensorFlow框架的全部操作。它允許此類設備在已轉換為TensorFlow Lite的預訓練TensorFlow模型上進行推理。作為回報,這些經過轉換的模型無法進行進一步的訓練,但可以通過量化和修剪等技術進行優化。

將模型轉換為TensorFlow Lite


上面討論的經過訓練的TensorFlow模型必須先轉換為TensorFlow Lite,然后才能在i.MX RT1060 MCU上使用。為此,使用tflite_convert對其進行了轉換,并且出于兼容性原因,使用TensorFlow的1.13.2版來訓練和轉換模型:

tflite_convert
--saved_model_dir=
--output_file=converted_model.tflite
--input_shape=1,28,28
--input_array=Placeholder
--output_array=Softmax
--inference_type=FLOAT
--input_data_type=FLOAT
--post_training_quantize
--target_opsTFLITE_BUILTINS

最后,使用xdd實用程序將TensorFlow Lite模型轉換為二進制數組,以供應用程序加載:

xxd-iconverted_model.tflite>converted_model.h

xdd是一個十六進制轉儲實用程序,可用于將文件的二進制形式轉換為相應的十六進制轉儲表示形式,反之亦然。在這種情況下,TensorFlow Lite二進制文件將轉換為可添加到eIQ項目的C / C ++頭文件。轉換過程和tflite_convert實用程序在eIQ用戶指南中進行了詳細說明。該實用程序也在Google的官方文檔中進行了描述。

嵌入式Wizard Studio快速入門

#ifdef__cplusplus
extern"C"{
#endif
/*Ccode*/
#ifdef__cplusplus
}
#endif


為了利用MIMXRT1060-EVK的圖形功能,該項目中包含一個GUI。為此,使用了嵌入式向導Studio,這是一個IDE,用于為將在嵌入式設備上運行的應用程序開發GUI。盡管可以使用IDE的免費評估版,但該版本限制了圖形用戶界面的最大復雜性,并且還在GUI上添加了水印。

Embedded Wizard Studio的優點之一是能夠基于XNP的SDK生成MCUXpresso和IAR項目,這意味著在IDE中創建用戶界面后,開發人員可以立即在其設備上對其進行測試。

IDE提供了放置在畫布上的對象和工具,例如按鈕,觸敏區域,形狀等。然后將其屬性設置為適合開發人員的需求和期望。所有這些工作都以直觀和用戶友好的方式進行,并且大大加快了GUI開發過程。

但是,由于生成的GUI項目在C中,而qIQ示例在C / C ++中,因此,幾個轉換步驟必須將GUI項目與現有的eIQ應用程序項目合并。因此,某些頭文件的內容必須包含以下內容:

此外,大多數源文件和頭文件已移至SDK的中間件文件夾中的新文件夾,并且添加了新的包含路徑以反映這些更改。最后,比較并正確合并了一些特定于設備的配置文件。

完成的應用程序及其功能

該應用程序的GUI顯示在觸敏LCD上。它包含一個用于輸入數字的輸入區域和一個顯示分類結果的區域。運行推斷按鈕執行推斷,清除按鈕清除輸入和輸出字段。應用程序將預測的結果和置信度輸出到標準輸出。

圖4.示例應用程序的GUI包含一個輸入字段,一個輸出字段和兩個按鈕。結果和置信度也會打印到標準輸出中。

TensorFlow Lite模型精度

如上所述,該模型在對美國風格的手寫數字進行分類時可以在訓練和測試數據上實現高精度。但是,在本應用程序中不是這種情況,主要是因為用手指在LCD上書寫的數字與用筆在紙上書寫的數字永遠不會相同。這突出了在實際生產數據上訓練生產模型的重要性。

為了獲得更好的結果,必須收集一組新的數據。此外,方法必須相同。在這種情況下,必須使用觸摸屏輸入來采集樣品以繪制數字。存在進一步的技術來增加預測的準確性。恩智浦社區網站包含使用遷移學習技術的演練。

實施細節

嵌入式向導使用插槽作為觸發器來對GUI交互做出反應,例如,當用戶在輸入區域上拖動手指時。在這種情況下,插槽會在手指下方連續繪制一個像素寬的線。該行的顏色由主顏色常數定義。

清除按鈕的插槽將兩個字段中每個像素的顏色設置為背景色,運行推斷按鈕將保存對輸入區域,基礎位圖以及該區域的寬度和高度的引用,然后將其傳遞給本機處理它們的C程序。

由于來自機器學習模型的位圖只有28x28像素大,并且輸入區域被創建為112x112正方形,以使應用程序使用起來更加舒適,因此在縮小圖像時需要進行額外的預處理。否則,該過程會使圖像失真太多。

首先,創建一個具有輸入區域尺寸的8位整數數組,并用零填充。然后,對圖像和數組進行迭代,并將圖像中每個繪制的像素存儲為數組中的0xFF。處理輸入時,主要顏色的像素被認為是白色,其他所有像素都被認為是黑色。此外,每個像素都擴大為3x3正方形以加粗線條,這將使圖像縮小更為安全。在將圖像縮放到所需的28x28分辨率之前,將圖形裁剪并居中以類似于MNIST圖像:

圖5.包含預處理輸入數據的數組的可視化。

當應用程序啟動時,將分配,加載和準備機器學習模型。對于每個推理請求,模型的輸入張量都將帶有預處理輸入,并傳遞給模型。輸入必須逐像素復制到張量中,并且在此過程中必須將整數值轉換為浮點值。NXP應用筆記包含了代碼的詳細內存占用。

TensorFlow Lite:可行的解決方案


使用機器學習的手寫數字識別可能給嵌入式系統帶來問題,TensorFlow Lite提供了可行的解決方案。使用此解決方案,可以實現更復雜的用例,例如數字鎖上的引腳輸入字段。如本文所述,在實際生產數據上訓練生產模型至關重要。本文中使用的培訓數據由用筆寫在紙上的數字組成。反過來,當用于檢測觸摸屏上繪制的數字時,這會降低模型的整體準確性。此外,必須考慮到地區差異。

i.MX RT跨接MCU系列可以實現到各種嵌入式應用程序中,例如本文提供的示例。恩智浦(NXP)擁有有關i.MX RT跨接MCU系列的大量信息,可幫助彌合性能與可用性之間的鴻溝。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • tensorflow
    +關注

    關注

    13

    文章

    329

    瀏覽量

    60530
  • TensorFlow Lite
    +關注

    關注

    0

    文章

    26

    瀏覽量

    621
收藏 人收藏

    評論

    相關推薦

    恩智浦i.MX 91生態合作伙伴最新開發板資源

    恩智浦i.MX 91應用處理器系列能夠快速實現基于Linux的經濟高效的邊緣應用程序。i.MX 91處理器在保持實惠價格的同時,融合了高性能處理、安全性和高能效,并且為i.MX 93應用處理器系列提供了全面的硬件和軟件可擴展性。
    的頭像 發表于 12-20 17:00 ?358次閱讀

    恩智浦i.MX RT700系列MCU的優勢

    作為邊緣智能時代的嵌入式工程師,你對一款理想的MCU有何期待?高性能、高集成、低功耗、更安全,以及出眾的AI推理能力……恩智浦半導體新近發布的i.MX RT700跨界MCU系列,就是你
    的頭像 發表于 12-09 09:16 ?426次閱讀

    恩智浦發布i.MX 94系列應用處理器

    恩智浦半導體發布i.MX 9系列應用處理器的新成員i.MX 94系列。該系列旨在用于工業控制、可編程邏輯控制器(PLC)、遠程信息處理、工業和汽車網關以及樓宇和能量控制。
    的頭像 發表于 11-26 17:48 ?682次閱讀

    NXP專為邊緣AI打造的i.MX RT700跨界MCU到底強在哪?

    500和i.MX RT600跨界MCU的成功基礎上,恩智浦宣布推出i.MX RT700,超低功耗、集成多核和eIQ Neutron神經處理單
    發表于 11-08 09:40 ?789次閱讀
    NXP專為邊緣AI打造的<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>700跨界<b class='flag-5'>MCU</b>到底強在哪?

    如何在i.MX RT微控制器上初始化LWIP協議棧

    i.MX RT微控制器上初始化LWIP協議棧是一個復雜但有趣的過程,它涉及多個步驟和關鍵組件的配置.
    的頭像 發表于 10-12 11:48 ?362次閱讀
    如何在<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>微控制器上初始化LWIP協議棧

    恩智浦推出全新i.MX RT700跨界MCU系列

    高度集成的全新i.MX RT700跨界MCU旨在顯著節省功耗,配備eIQ Neutron神經處理單(NPU),可在邊緣端提供高達172倍的AI加速。
    的頭像 發表于 10-12 11:41 ?793次閱讀

    i.MX Linux開發實戰指南—基于野火i.MX系列開發板

    電子發燒友網站提供《i.MX Linux開發實戰指南—基于野火i.MX系列開發板.pdf》資料免費下載
    發表于 10-10 17:23 ?11次下載

    使用TPS65023的NXP i.MX 7電源設計

    電子發燒友網站提供《使用TPS65023的NXP i.MX 7電源設計.pdf》資料免費下載
    發表于 09-30 10:38 ?0次下載
    使用TPS65023的NXP <b class='flag-5'>i.MX</b> 7電源設計

    恩智浦半導體發布i.MX RT700系列MCU,賦能智能AI邊緣設備

    恩智浦半導體近期震撼發布了其最新力作——i.MX RT700跨界微控制器(MCU)系列,專為推動智能AI在邊緣端設備的應用而設計。這款創新產品精準定位可穿戴設備、消費級醫療設備、智能家居系統以及人機交互(HMI)平臺等前沿領域,
    的頭像 發表于 09-26 16:06 ?673次閱讀

    恩智浦i.MX RT1170 uSDHC eMMC啟動時間

    大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1170 uSDHC eMMC啟動時間。
    的頭像 發表于 08-08 15:32 ?584次閱讀
    恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1170 uSDHC eMMC啟動時間

    基于i.MX RT117H IOT EdgeReady智能HMI解決方案

    的復雜性。SLN-TLHMI-IOT基于i.MX RT117H交叉微控制器,是一款1GHz Arm? Cortex?-M7 + 440MHz Arm Cortex-M4MCU,具有智能HMI軟件的運行時
    的頭像 發表于 05-28 09:17 ?7266次閱讀
    基于<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>117H IOT EdgeReady智能HMI解決方案

    基于 NXP i.MX RT1060 + IW416 的 Matter Thermostat 智慧溫控器應用方案之 Apple 生態系統

    NXP i.MX RT1060 是一款搭載 Arm Cortex-M7 的跨界微控制器,具有強大的處理能力和低功耗特性,而 IW416 則是一款高度集成的 Wi-Fi 4 和 Bluetooth 5.2 系統單芯片(SoC),提供了低成本的連接解決方案。
    的頭像 發表于 03-28 15:54 ?722次閱讀
    基于 NXP <b class='flag-5'>i.MX</b> <b class='flag-5'>RT1060</b> + IW416 的 Matter Thermostat 智慧溫控器應用方案之 Apple 生態系統

    使用基于muRata CYW4343W的LBEE5KL1DX-883模塊,會持續向藍牙UART發送 0x01 0x03 0x0c 0x00沒有收到任何響應的原因?

    大家好,我正在使用基于 muRata CYW4343W的LBEE5KL1DX-883模塊。示意圖如下,有什么問題嗎? 我引用了 I.MX RT1060 SDK 中的示例,我已經成功移植了
    發表于 03-01 09:18

    使用i.MX RT500實現SPI/DMA AN14170應用指南

    電子發燒友網站提供《使用i.MX RT500實現SPI/DMA AN14170應用指南.pdf》資料免費下載
    發表于 02-01 10:05 ?0次下載
    使用<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>500實現SPI/DMA AN14170應用指南

    i.MX RT SDK的Wi-Fi TX功率表和信道掃描管理應用指南

    電子發燒友網站提供《i.MX RT SDK的Wi-Fi TX功率表和信道掃描管理應用指南.pdf》資料免費下載
    發表于 01-14 09:27 ?0次下載
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b> SDK的Wi-Fi TX功率表和信道掃描管理應用指南
    主站蜘蛛池模板: 最近免费视频中文2019完整版| 国产亚洲日韩另类在线播放| 色久久综合视频本道88| 韩国精品韩国专区久久| 最新亚洲人成网站在线影院| 亚洲欧美日韩综合影院| 日日夜夜国产| 日韩在线av免费视久久| 麻豆人妻无码性色AV| 国产露脸150部国语对白| 95国产欧洲精华液| 亚洲AV人无码综合在线观看蜜桃| 啦啦啦WWW在线观看免费高清版| 国产精品高清视频在线| 99精品网站| 伊人亚洲综合青草青草久热| 四虎永久免费网址| 嗯啊不要老师| 久久青草费线频观看国产| 国产精品永久免费| 国产黄大片在线视频| YELLOW视频在线观看免费版高清 | jizzjizz3d动漫| 永久精品免费影院在线观看网站| 亚洲免费网站在线观看| 无码骚夜夜精品| 日韩欧美高清一区| 少妇人妻偷人精品视蜜桃| 祺鑫WRITEAS流出来了| 美女叉腿掰阴大胆艺术照| 奶水太多h室友| 麻豆国产96在线日韩麻豆| 嫩草伊人久久精品少妇AV网站| 欧美最猛黑人AAAAA片| 麻豆人妻无码性色AV| 欧美黑人巨大videos免费| 久久亚洲AV成人无码国产漫画| 美女的让男人桶爽网站| 强姧伦久久久久久久久| 婷婷久久无码欧美人妻| 一本道dvd久久综合高清免费|