每天都在汆肉中醒来青梅,好男人www在线观看,少妇无码自慰毛片久久久久久,国产欧美另类久久久精品丝瓜

登錄注冊
新聞 資訊 金融 知識 財經(jīng) 理財 科技 金融 經(jīng)濟 產(chǎn)品 系統(tǒng) 連接 科技 聚焦
首頁 > 金融 > > 正文

開源丨基于邊緣 AI+TencentOS Tiny的智能安防系統(tǒng)

2021-03-12 17:01:07來源:互聯(lián)網(wǎng)

本文轉(zhuǎn)載于極術(shù)社區(qū)

極術(shù)專欄:Arm技術(shù)博客

作者:鄭亞斌丨Arm中國生態(tài)技術(shù)市場經(jīng)理

一、概述

隨著邊緣計算和深度學(xué)習(xí)領(lǐng)域的不斷發(fā)展,越來越多的端側(cè) AI 設(shè)備開始出現(xiàn)在我們的視野中。本次提出的這一方案著眼于邊緣計算與深度學(xué)習(xí)場景,提出了一款應(yīng)用于無人值守倉儲、居民社區(qū)或危險禁入?yún)^(qū)域的智能監(jiān)控方案,具有成本低、功耗低等優(yōu)勢。此處以人體檢測為例,對于長時間徘徊于某區(qū)域的行人進行智能識別,并且將異常現(xiàn)象及時上報云端,從而實現(xiàn)邊緣 AI,TencentOS Tiny 以及騰訊云完美結(jié)合的智能安防案例。

二、系統(tǒng)創(chuàng)新點

1. 本系統(tǒng)采用了 TencentOS Tiny 這一物聯(lián)網(wǎng)實時操作系統(tǒng)來實現(xiàn)片上資源的智能化管理。一方面,它可以靈活高效的管理系統(tǒng)的片上資源,為系統(tǒng)并發(fā)執(zhí)行多個任務(wù)提供了基礎(chǔ) ;另一方面,搭載 TencentOS Tiny 的端側(cè)系統(tǒng)可以方便的與騰訊云對接,依托于騰訊云的豐富資源為端云結(jié)合帶來了更多的可能性。

2. 本系統(tǒng)搭載了Tensorflow Lite Micro 超低功耗 AI 推理框架以及 Arm CMSIS-NN 加速庫。Tensorflow Lite Micro 是 Tensorflow 針對微控制器應(yīng)用場景所設(shè)計的 AI 推理框架。它占用的資源少,運行時內(nèi)存最低只需要 16KB。并且它依托于Tensorflow 平臺強大的技術(shù)生態(tài),使得更多開發(fā)者可以方便的集成、使用 AI 算法。Tensorflow Lite Micro 通過使能 Arm 開源加速庫 CMSIS-NN ,為端側(cè)帶來人工智能的新活力。

CMSIS-NN:

https://www.keil.com/pack/doc/CMSIS/NN/html/index.html

3. 目前 Tensorflow Lite Micro 及 CMSIS-NN 組件已經(jīng)合并到 TencentOS Tiny GitHub 倉庫,其中提供了 Tensorflow Lite Micro 源碼以及針對 Arm Cortex-M 系列的 MDK lib 庫文件,可以方便開發(fā)者集成到 MCU 開發(fā)環(huán)境中。

Tensorflow Lite Micro 及 CMSIS-NN:

https://github.com/Tencent/TencentOS-tiny/tree/master/components/ai/tflite_micro

4. 本系統(tǒng)將邊緣 AI 和 TencentOS Tiny 結(jié)合,面向區(qū)域安防管理,提出了一種新的端云系統(tǒng)架構(gòu)。通過對系統(tǒng)的驗證并配合詳細的用戶移植文檔,讓整個系統(tǒng)具備在多領(lǐng)域多場景的可遷移性與易用性。

系統(tǒng)拓撲結(jié)構(gòu)圖:

單個 TencentOS Tiny 內(nèi)部結(jié)構(gòu)圖:

系統(tǒng) Demo 展示:

設(shè)備檢測的正確率與模型設(shè)計和模型訓(xùn)練息息相關(guān)。經(jīng)過測試,采用 Tensorflow Lite Micro 官方 github 中的 Person Detection 模型開發(fā)的行人檢測例程,其檢測正確率達到 84%。端側(cè)檢測到行人后,MCU 將有關(guān)行人的數(shù)據(jù)上傳到云端,云端根據(jù)收到的信息來喚醒其他高性能設(shè)備,進一步獲取更加詳實的真實數(shù)據(jù)。

相比與傳統(tǒng)的社區(qū)管理員通過大量連接高清攝像頭的屏幕來完成社區(qū)安全管理的方法相比,這種基于 TencentOS Tiny 和 CMSIS-NN 的端云協(xié)同智能安防系統(tǒng)僅會在端側(cè)檢測到行人后才會觸發(fā)相應(yīng)事件。這不僅減輕了管理員的工作負擔(dān),更重要的是端側(cè)實現(xiàn)的智能化應(yīng)用將極大的節(jié)省系統(tǒng)帶寬,提升系統(tǒng)響應(yīng)的同時也降低了成本,是一種綜合能力較強的解決方案。

三、系統(tǒng)移植概述

我們已將相關(guān)代碼和文檔開源至官方主倉庫,開發(fā)者可以按照指南進行移植和應(yīng)用。

1. 準(zhǔn)備目標(biāo)硬件(開發(fā)板 / 傳感器 / 模組)

開發(fā)板 :NUCLEO-L496ZG,MCU 為 STM32L496ZG

Camera :獲取 RGB 圖像,本例程使用 OV2640 攝像頭

通信模組 :負責(zé) MCU 與云端之間的通信,本例程選用的樂鑫 ESP8266

2.準(zhǔn)備系統(tǒng)軟件

參考 TencentOS Tiny 基于 Keil 的移植教程進行移植。

為了方便初始化 MCU 外設(shè),后續(xù)要繼續(xù)使用 STM32CubeMX 軟件,請確保正確安裝。在系統(tǒng)移植完成后,工程可以進行線程任務(wù)切換,通過串口打印“hello world”,表明基礎(chǔ) Keil 工程代碼準(zhǔn)備完畢。

準(zhǔn)備 Tensorflow Lite Micro 組件。

基于 Keil 的移植教程:

https://github.com/Tencent/TencentOS-tiny/blob/master/doc/10.Porting_Manual_for_KEIL.md

本次我們使用 Tensorflow Lite Micro 推理框架來實現(xiàn)行人檢測任務(wù),用戶可以直接采用主倉庫中 TencentOS-tinycomponentsai flite_micro 路徑下對應(yīng)的lib 庫文件來集成到系統(tǒng)中,然后調(diào)用相關(guān)的 API 即可將 AI 組件部署在 MCU 平臺上。

制作 lib 庫文件以及能使 CMSIS NN 加速。

請參考 Tensorflow Lite Micro 組件使用說明。

使用說明:

https://github.com/Tencent/TencentOS-tiny/blob/master/components/ai/tflite_micro/TFlite_Micro_Component_User_Guide.md

3. 系統(tǒng)移植流程

在獲得基礎(chǔ)工程后,我們首先移植驅(qū)動代碼

添加與本例程相關(guān)的 Necluo STM32L496RG 的攝像頭驅(qū)動代碼 ( 此處采用官方倉庫中的驅(qū)動代碼)

Necluo STM32L496RG 的攝像頭驅(qū)動代碼:

https://github.com/Tencent/TencentOS-tiny/tree/master/board/NUCLEO_STM32L496ZG/BSP/Hardware/Src

重寫 mcu_init 函數(shù)中的 DCMI 幀中斷回調(diào)函數(shù)。值得注意的是,當(dāng)使用 CubeMX 重新配置外設(shè)并生成代碼時,代碼需要寫在 CubeMx 生成的注釋語句內(nèi),這樣添加的代碼才不會被覆蓋。如下所示,代碼添加在 /* USER CODE BEGIN 4 / 和 / USER CODE END 4 */ 注釋語句之間 :

添加 LCD 程序顯示攝像頭圖像 :

將 Tensorflow Lite Micro 的模型和數(shù)據(jù)接入代碼添加到工程中,同時添加

TencentOS-tinycomponentsai flite_microKEIL etarget.c

TencentOS-tinycomponentsai flite_microARM_CortexM4_lib tensorflow_lite_micro.lib

模型和數(shù)據(jù)接入代碼:

https://github.com/Tencent/TencentOS-tiny/tree/master/examples/tflitemicro_person_detection

最后關(guān)閉 Keil 的 Microlib 庫,include 相關(guān)的文件

注 :最下方的路徑為

調(diào)整優(yōu)化等級和指定 tflite_micro 的 debug 信息輸出串口 :

其中宏 NUCLEO_STM32L496ZG 指定 Nucleo STM32L496 的 hlpuart1 為系統(tǒng)printf 函數(shù)的輸出串口,具體定義在 Nucleo STM32L496 BSP 文件夾中的mcu_init.c 中 。

至此 Tensorflow Lite Micro 已經(jīng)成功的移植到 MCU 平臺中,可以開始設(shè)計與行人檢測有關(guān)的應(yīng)用層代碼。

設(shè)計圖像預(yù)處理函數(shù)。在本例程中,模型的輸入為灰度圖,為完成攝像頭獲取的 RGB 圖像到灰度圖轉(zhuǎn)換,需要解析出 RGB565 像素格式中 R、G、B 通道的數(shù)據(jù),再根據(jù)公式計算出單個像素點的灰度,具體代碼如下 :

編寫行人檢測線程任務(wù)函數(shù) :

應(yīng)用程序主體若在 10 幀中檢測到超過半數(shù)的人像,就判定為異常并上報云端。根據(jù)實際的測試結(jié)果,執(zhí)行一幀圖像推理耗時約 633ms。

在 MCU 端處理完行人檢測后,MCU 與云端建立數(shù)據(jù)連接并傳輸數(shù)據(jù)。部分代碼如下 :

4. 騰訊物聯(lián)網(wǎng)開發(fā)平臺 - 騰訊連連小程序開發(fā)

為了方便用戶實時查看端側(cè)上傳的信息(是否有異常報警、人流量計數(shù)等)以及控制設(shè)備端發(fā)出報警提示,我們利用騰訊云 IoT Explorer 開發(fā)平臺,開發(fā)騰訊連連小程序。

開發(fā)過程如下,登錄騰訊云開發(fā)平臺 :

步驟一 :新建產(chǎn)品

步驟二 :跟據(jù)場景和應(yīng)用定義數(shù)據(jù)模板

設(shè)備端上傳只讀數(shù)據(jù) :

1.行人檢測 :設(shè)備端檢測到行人時,標(biāo)志位置為 1

2.異常停留報警 :當(dāng)設(shè)備端持續(xù)檢測到行人時,觸發(fā)異常停留報警,標(biāo)志位置為 1

3.行人計數(shù) :當(dāng)設(shè)備端的行人檢測結(jié)果從無人變化為有人時,人流量計數(shù)值 +1

設(shè)備端接收控制指令 :

報警提示 :當(dāng)用戶看到有異常停留時,可以控制設(shè)備端發(fā)出報警提示,也可以關(guān)閉報警提示

步驟三 :編輯小程序的面板

由于目前騰訊連連提供的模板較少,暫時使用按鈕顯示設(shè)備狀態(tài)信息。

步驟四 :設(shè)備調(diào)試

將產(chǎn)品 ID、密鑰、設(shè)備號等信息填入設(shè)備端程序

移植基于 TencentOS Tiny 的 AT 組件和 ESP8266 適配的 SAL 框架

設(shè)備端編寫上行和下行數(shù)據(jù)處理程序

四、結(jié)語

我們提出了一種基于邊緣 AI+TencentOS Tiny 的新架構(gòu),雖然在用戶前端還有很多改進的空間,但通過對整體方案的驗證并且配合詳細的用戶移植文檔,使我們的工作具備了可遷移性和擴展性,同時也實現(xiàn)了 TencentOS Tiny 對于人工智能領(lǐng)域的支持。未來我們會繼續(xù)完善 Tensorflow Lite Micro 組件并不斷更新應(yīng)用,致力于豐富整個TencentOS Tiny 以及 Arm 生態(tài)。隨著越來越多的廠商采用 Arm Cortex-M55 和Ethos-U NPU IP 方案,相信未來端側(cè) AI 的應(yīng)用會更加廣闊。

TencentOS Tiny AI 組件 :

https://github.com/Tencent/TencentOS-tiny/tree/master/components/ai/tflite_micro

Arm Cortex-M4 :

https://www.arm.com/products/silicon-ip-cpu/cortex-m/cortex-m4

Arm Cortex-M55 :

https://www.arm.com/products/silicon-ip-cpu/cortex-m/cortex-m55

Arm Ethos-U55 :

https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u55

Arm Ethos-U65 :

https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u65

TensorFlow Lite for Microcontrollers :https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/micro

五、致謝

感謝 TencentOS Tiny 以及 TensorFlow 開源社區(qū)團隊的大力支持,感謝個人開發(fā)者鄧可笈,楊慶生和劉恒言的貢獻。

https://aijishu.com/a/1060000000188831

關(guān)鍵詞: 開源 基于 邊緣 AI

推薦內(nèi)容

熱點
39熱文一周熱點
主站蜘蛛池模板: 东乡族自治县| 德江县| 阳东县| 禹城市| 洛扎县| 龙岩市| 壤塘县| 承德市| 哈尔滨市| 海城市| 金塔县| 普定县| 柳州市| 海晏县| 中山市| 南澳县| 田东县| 周宁县| 望江县| 五原县| 朝阳市| 台东县| 张掖市| 昌宁县| 始兴县| 额尔古纳市| 亚东县| 昭通市| 辉南县| 石泉县| 赤壁市| 滨海县| 兖州市| 文登市| 武功县| 常宁市| 淮南市| 体育| 八宿县| 称多县| 高州市|