當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 我們生活在一個(gè)特定的世界,幾乎每個(gè)人都在談?wù)摂?shù)據(jù)和潛在價(jià)值。繪制大量的原始數(shù)據(jù)是復(fù)雜且難以解釋的。近年來(lái),學(xué)習(xí)機(jī)器使我們能夠?qū)崿F(xiàn)在線公司迄今為止所做的大部分價(jià)值,但現(xiàn)在它們正在擴(kuò)展到物理世界。然而,對(duì)于許多人來(lái)說(shuō),傳感器數(shù)據(jù)和集成KI模型之間的路徑似乎幾乎無(wú)法逾越。

我們生活在一個(gè)特定的世界,幾乎每個(gè)人都在談?wù)摂?shù)據(jù)和潛在價(jià)值。繪制大量的原始數(shù)據(jù)是復(fù)雜且難以解釋的。近年來(lái),學(xué)習(xí)機(jī)器使我們能夠?qū)崿F(xiàn)在線公司迄今為止所做的大部分價(jià)值,但現(xiàn)在它們正在擴(kuò)展到物理世界。然而,對(duì)于許多人來(lái)說(shuō),傳感器數(shù)據(jù)和集成KI模型之間的路徑似乎幾乎無(wú)法逾越。

WriTIngembeddedsoftwareisnotoriouslyTIme-consuming,andisknowntotakeatleast10-20TImeslongerthandesktopsoftware被發(fā)展的狀態(tài)開發(fā)區(qū)[1].Itdoesnothavetobethatway.Here,wewillwalkyouthrougharealAIproject—fromtoembeddedapplicaTIon—usingourefficient,time-savingmethod.

今天,處理和解釋傳感器數(shù)據(jù)的絕大多數(shù)軟件都是基于傳統(tǒng)的方法:變換、濾波、統(tǒng)計(jì)分析等。這些方法是由一個(gè)人設(shè)計(jì)的,他參考他們的個(gè)人領(lǐng)域知識(shí),在數(shù)據(jù)中尋找某種“指紋。通常,這種指紋是數(shù)據(jù)中事件的復(fù)雜組合,需要機(jī)器學(xué)習(xí)才能成功地解決問題。

Tobeabletoprocesssensordatainreal-time,themachinelearningmodelneedstorunlocallyonthechip,closetothesensoritself—usuallycalled“theedge.”Here,weexplainhowamachinelearningapplicationcanbecreated,fromtheinitialdatacollectionphasetothefinalembeddedapplication.Asanexample,welookataprojectweatImagimobcarriedouttogetherwiththeradarmanufacturerAcconeer.

(左)Acconeer生產(chǎn)世界上最小、最節(jié)能的產(chǎn)品雷達(dá)系統(tǒng)。

在2019年,Imagimob與Acconeer合作,創(chuàng)建了一個(gè)帶有手勢(shì)識(shí)別的嵌入式應(yīng)用程序。兩家公司都專注于為小型電池供電設(shè)備提供解決方案,對(duì)能源效率、處理能力和BOM成本提出了極端要求。我們的目標(biāo)硬件包含一個(gè)基于ArmCortex-M0-M4架構(gòu)的MCU,它提供了市場(chǎng)上最節(jié)能的平臺(tái)。對(duì)于我們Imagimob來(lái)說(shuō),邊緣計(jì)算幾乎已經(jīng)成為最小ArmCortexM系列MCU上的高級(jí)計(jì)算的同義詞。重要的是,能夠運(yùn)行我們的應(yīng)用程序在下端的ArmCortexM系列MCU,因?yàn)樗蚴澜绫砻?,我們正在瞄?zhǔn)地球上最小的設(shè)備。這就是我們希望從市場(chǎng)角度出發(fā)的地方。

Acconeer生產(chǎn)世界上最小、最節(jié)能的雷達(dá)系統(tǒng)。數(shù)據(jù)包含大量信息,對(duì)于手勢(shì)控制等高級(jí)用例,需要復(fù)雜的解釋。在數(shù)據(jù)輸出流的頂部運(yùn)行機(jī)器學(xué)習(xí)軟件對(duì)這些案例有很大的好處。因此,Imagimob-Aconeer協(xié)作在創(chuàng)建全新的和創(chuàng)造性的嵌入式應(yīng)用程序方面是一個(gè)很好的匹配。

我們與Acconeer的項(xiàng)目的目標(biāo)是創(chuàng)建一個(gè)嵌入式應(yīng)用程序,該應(yīng)用程序可以使用雷達(dá)數(shù)據(jù)實(shí)時(shí)分類五種不同的手勢(shì)(包括用于喚醒應(yīng)用程序的一個(gè)手勢(shì))。由于雷達(dá)體積小,可以放置在一對(duì)耳機(jī)中,手勢(shì)將作為虛擬按鈕來(lái)引導(dǎo)功能,通常被編程成物理按鈕。該項(xiàng)目的最終產(chǎn)品被確定為一個(gè)運(yùn)行在ArmCortex-M4架構(gòu)上的C庫(kù),該庫(kù)于2020年1月在拉斯維加斯的CES上被展示為一個(gè)健壯的現(xiàn)場(chǎng)演示。對(duì)于演示,我們使用耳朵耳機(jī)。然而,我們的長(zhǎng)期產(chǎn)品目標(biāo)是在耳內(nèi)耳機(jī)中使用這項(xiàng)技術(shù)。我們認(rèn)為,手勢(shì)檢測(cè)特別會(huì)改變耳內(nèi)耳機(jī)的可用性,因?yàn)樗鼈兊拿娣e有限,這使得物理按鈕的放置變得困難。

在其核心,(監(jiān)督)機(jī)器學(xué)習(xí)是關(guān)于找到一個(gè)函數(shù)(F),根據(jù)y=f(X)將一些輸入數(shù)據(jù)(X)映射到一些輸出數(shù)據(jù)(Y)。該函數(shù)或“模型”是通過(guò)處理許多不同的輸入/輸出對(duì)(x,y)和“學(xué)習(xí)”它們之間的關(guān)系來(lái)找到的。如果y是一個(gè)連續(xù)的值,那么這個(gè)問題被稱為回歸問題。但如果y取離散值,則被認(rèn)為是一個(gè)分類問題。因此,機(jī)器學(xué)習(xí)項(xiàng)目的第一步是收集這些數(shù)據(jù)對(duì)。模型構(gòu)建是第二步。嵌入式項(xiàng)目的最后一步是在目標(biāo)平臺(tái)上部署模型。下面,我們以手勢(shì)識(shí)別項(xiàng)目為指導(dǎo)示例,通過(guò)這些步驟。

機(jī)器學(xué)習(xí)項(xiàng)目的第一步是收集數(shù)據(jù)對(duì)。模型構(gòu)建是第二步,a嵌入式項(xiàng)目的最后一步是在目標(biāo)平臺(tái)上部署模型。

(左)我們?yōu)槌跏茧A段建造了一個(gè)粗糙的試驗(yàn)臺(tái)datacollectionwhich由雷達(dá)傳感器組成安裝在上面development板和放置在一個(gè)一對(duì)耳機(jī)。

從表面上看,數(shù)據(jù)收集似乎不是一項(xiàng)艱巨的任務(wù)。但這一步通常被低估了,根據(jù)我們的經(jīng)驗(yàn),這是大部分時(shí)間都花在這里的。首先要考慮的是如何從傳感器中物理地獲取數(shù)據(jù)。許多傳感器帶有一個(gè)開發(fā)板,可以從中提取數(shù)據(jù),通常是通過(guò)某種電纜連接到PC機(jī)。對(duì)于手勢(shì)識(shí)別項(xiàng)目,我們搭建了一個(gè)粗糙的試驗(yàn)臺(tái),用于初始數(shù)據(jù)采集,由安裝在開發(fā)板上的雷達(dá)傳感器組成,放置在一對(duì)耳機(jī)上,如下圖所示。在這種情況下,我們使用了AcconeerXM112雷達(dá)傳感器和XB112突破板。

接下來(lái)要考慮的是如何有效地標(biāo)記數(shù)據(jù)。換句話說(shuō),你需要弄清楚如何為每個(gè)“x”標(biāo)記適當(dāng)?shù)摹皔”。這可能看起來(lái)很瑣碎,但當(dāng)涉及到最小化這一步所需的人工工作量時(shí),這是至關(guān)重要的??紤]到大量的數(shù)據(jù),如果您不能正確地理解這一點(diǎn),它將成為一項(xiàng)非常耗時(shí)的任務(wù)。對(duì)于傳感器時(shí)間序列數(shù)據(jù),通常不可能僅僅通過(guò)查看數(shù)據(jù)來(lái)標(biāo)記數(shù)據(jù),否則,例如圖像數(shù)據(jù)可能是可能的。

幫助標(biāo)記過(guò)程的一種方法是將視頻記錄附加到數(shù)據(jù)中。ImagimobCapture是一個(gè)Android應(yīng)用程序,它將同步視頻記錄附加到每個(gè)傳感器數(shù)據(jù)流中。標(biāo)簽可以直接在應(yīng)用程序中完成,也可以在桌面應(yīng)用程序ImagimobStudio中完成。在我們的雷達(dá)手勢(shì)識(shí)別項(xiàng)目中,數(shù)據(jù)流看起來(lái)如下:

雷達(dá)手勢(shì)識(shí)別項(xiàng)目中的數(shù)據(jù)流。

在這里,數(shù)據(jù)從傳感器,帶有USB串口,發(fā)送到PC。在PC上,服務(wù)器運(yùn)行并將數(shù)據(jù)發(fā)送到手機(jī)上的ImagimobCapture,而手勢(shì)則被視頻記錄。標(biāo)記的數(shù)據(jù),連同其視頻記錄,然后發(fā)送回PC,或云存儲(chǔ),如果數(shù)據(jù)是遠(yuǎn)程收集。從存儲(chǔ)中,數(shù)據(jù)可以下載到ImagimobStudio,當(dāng)它是建模階段的時(shí)候。

我們定義了以下一組手勢(shì)(“覆蓋傳感器”僅用于喚醒應(yīng)用程序),并記錄了大約七個(gè)不同的人的數(shù)據(jù)。

從七個(gè)不同的人記錄了上述一組手勢(shì)的數(shù)據(jù)。

數(shù)據(jù)收集過(guò)程的一個(gè)例子如下圖所示。手勢(shì)識(shí)別模型僅限于特定的手勢(shì),但可以很容易地用其他手勢(shì)進(jìn)行再訓(xùn)練。

手勢(shì)數(shù)據(jù)采集過(guò)程的一個(gè)例子。

一旦數(shù)據(jù)到位并貼上標(biāo)簽,就該建立機(jī)器學(xué)習(xí)模型了。通常,人們開始建立模型只是為了很快意識(shí)到他們需要調(diào)整一些標(biāo)簽。你是做什么的?手動(dòng)進(jìn)入并編輯文本文件和更新數(shù)據(jù)是很麻煩的,這是我們都希望盡可能避免的。相反,圖形工具是可取的。ImagimobStudio將數(shù)據(jù)與視頻記錄一起加載,并允許用戶以圖形方式拖動(dòng)和修剪標(biāo)簽。一個(gè)例子,以一個(gè)記錄的手勢(shì),顯示在下面的圖像。視頻與綠色數(shù)據(jù)一起可見。在底部,藍(lán)色的標(biāo)簽顯示出來(lái),我們可以看到它們緊緊地放在手勢(shì)周圍(非零數(shù)據(jù))。

ImagimobStudio將數(shù)據(jù)與視頻記錄一起加載,并允許用戶以圖形方式拖動(dòng)和修剪標(biāo)簽。這是一個(gè)有記錄的手勢(shì)的例子。

如果數(shù)據(jù)已經(jīng)在ImagimobCapture中預(yù)先標(biāo)記,那么通過(guò)文件并確保數(shù)據(jù)是正確的,并且標(biāo)簽已經(jīng)到位,這是一個(gè)相對(duì)較小的任務(wù)。沒有正確標(biāo)記的數(shù)據(jù),很難找到一個(gè)好的模型。找到一個(gè)高精度的好模型通常需要多次迭代和實(shí)驗(yàn)。首先要決定使用什么機(jī)器學(xué)習(xí)技術(shù),例如隨機(jī)森林、支持向量機(jī)或人工神經(jīng)網(wǎng)絡(luò)等。在過(guò)去的幾年里,深度學(xué)習(xí)由于具有原始數(shù)據(jù)的令人印象深刻的學(xué)習(xí)能力而受到歡迎。深度學(xué)習(xí)的主要吸引力之一是它排除了手動(dòng)查找功能的需要,這是更傳統(tǒng)的機(jī)器學(xué)習(xí)方法所需要的。它具有提高精度和消除大量手工工作的潛力。然而,仍有許多所謂的超參數(shù)有待選擇,例如網(wǎng)絡(luò)的體系結(jié)構(gòu)、所謂的學(xué)習(xí)率和許多其他參數(shù)。

在ImagimobStudio中,用戶經(jīng)歷了構(gòu)建深度神經(jīng)網(wǎng)絡(luò)的過(guò)程。用戶定義要試用多少種不同類型的超參數(shù),然后程序自動(dòng)搜索所有組合并保存最佳模型。

在ImagimobStudio中,用戶被引導(dǎo)通過(guò)構(gòu)建深度神經(jīng)網(wǎng)絡(luò)的過(guò)程。用戶定義要試用多少種不同類型的超參數(shù),然后程序自動(dòng)搜索所有組合并保存最佳模型。

一旦您對(duì)模型的健壯性感到滿意,就該是過(guò)程中的最后一步了:將模型導(dǎo)出到C代碼并為嵌入式硬件構(gòu)建庫(kù)。

當(dāng)從PC環(huán)境中的高級(jí)語(yǔ)言軟件開發(fā)到微控制器(MCU)上的低級(jí)編程時(shí),復(fù)雜性急劇增加。發(fā)育時(shí)間增加的因子為10-20并不少見[1]。例如,障礙可能包括更難的內(nèi)存和處理限制,更長(zhǎng)的調(diào)試周期,以及更難找到的更糟糕的錯(cuò)誤類型。

在ImagimobStudio中,以.h5文件形式訓(xùn)練的模型很容易轉(zhuǎn)換為特定硬件類型的C代碼,如“Edge”選項(xiàng)卡所示。

在ImagimobStudio中,以.h5文件形式(用于從Tensorflow、Keras和其他深度學(xué)習(xí)框架導(dǎo)出模型權(quán)重和體系結(jié)構(gòu)的通用格式)的經(jīng)過(guò)訓(xùn)練的模型可以很容易地轉(zhuǎn)換為特定硬件類型的C代碼,如上一幅圖像中的“Edge”選項(xiàng)卡所示。

然后編譯C代碼并將其閃爍到硬件上。我們通常構(gòu)建一個(gè)庫(kù),可以集成到C應(yīng)用程序中。右邊,可以看到現(xiàn)場(chǎng)演示的嵌入式版本。它有一個(gè)電池驅(qū)動(dòng)的Acconeer物聯(lián)網(wǎng)模塊XM122與藍(lán)牙連接。人工智能應(yīng)用程序運(yùn)行在XM122模塊上,其中包括來(lái)自北歐半導(dǎo)體的NRF52840SoC,該模塊基于ArmCortexM4MCU。

現(xiàn)場(chǎng)演示的嵌入式版本。

在這里,你可以看看最后的演示:

圖像手勢(shì)檢測(cè)庫(kù)的核心是針對(duì)時(shí)間序列數(shù)據(jù)的人工神經(jīng)網(wǎng)絡(luò)。它是專門設(shè)計(jì)的,腦海中有一個(gè)小的記憶足跡。庫(kù)用C編寫并在靜態(tài)庫(kù)中編譯,然后與主AcconeerC應(yīng)用程序一起編譯。 ·TheGesturedetectionlibraryusesradardatafromtheAcconeerXM122IoTModuleasinput ·Thememoryfootprintofthegesturelibraryisapproximately80kBRAM ·Thelibraryrunsona32-bit64MHzArmCortexM4MCUwith1MBFlashand256kBRAM ·Thelibraryprocessesroughly30kBofdatapersecond ·TheexecutiontimeoftheAImodelisroughly70mswhichmeansthatitpredictsagestureatapproximately14.3Hz

在2020年6月,由Imagimob、Acconeer和Flexworks組成的一個(gè)財(cái)團(tuán)從瑞典Vinnova獲得了價(jià)值45萬(wàn)$的贈(zèng)款,以采取下一步建設(shè)gesturhe控制的耳內(nèi)耳機(jī)。Acconeer將覆蓋傳感部分,F(xiàn)lexworks將負(fù)責(zé)硬件和力學(xué),我們?cè)贗magimob將開發(fā)手勢(shì)檢測(cè)應(yīng)用程序。在這個(gè)項(xiàng)目中,我們不僅將建立第一個(gè)手勢(shì)控制的耳內(nèi)耳機(jī),而且我們還將致力于一個(gè)硬件加速系統(tǒng)的機(jī)器學(xué)習(xí)代碼在單片機(jī)上。我們將繼續(xù)使用ArmCortexM系列,并受益于Arm提供的先進(jìn)解決方案。

John malm digital analysis and development algorithmus擔(dān)任imagimob machines的學(xué)習(xí)開發(fā)者[(1)]麥康奈爾,史蒂夫,軟件評(píng)估,秘密黑藝術(shù),微軟出版社,2006年

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉