電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用Sony Spresense和人工智能識別不良駕駛習(xí)慣

使用Sony Spresense和人工智能識別不良駕駛習(xí)慣

2023-02-06 | zip | 0.21 MB | 次下載 | 免費(fèi)

資料介紹

描述

不良駕駛習(xí)慣導(dǎo)致危險(xiǎn)的駕駛條件

我們的 10n2 項(xiàng)目旨在通過使用 Sony Spresense 和人工智能識別不良駕駛習(xí)慣。年輕的司機(jī)可以而且確實(shí)在很小的時候就養(yǎng)成了很多不良習(xí)慣。不良習(xí)慣的范圍從不正確的手部位置到在控制車輛時使用移動設(shè)備。國家安全委員會報(bào)告稱,手機(jī)使用每年導(dǎo)致160 萬起車禍!隨著新司機(jī)的誕生,我們非常有興趣在不良駕駛習(xí)慣養(yǎng)成習(xí)慣之前幫助他們消除這種習(xí)慣。

人工智能和物聯(lián)網(wǎng)來拯救

10n2 設(shè)備不僅會檢測手機(jī)使用情況,還會檢測手部位置不當(dāng)、急轉(zhuǎn)彎、短??焖偌铀俸吞印?/font>所有這些都會導(dǎo)致危險(xiǎn)的駕駛條件。當(dāng)檢測到違規(guī)行為時,司機(jī)會收到實(shí)時通知。

?

設(shè)備收集的信息用于在 Google 地球 KML 中生成報(bào)告,其中詳細(xì)說明檢測到的違規(guī)行為以及地理位置。收集違規(guī)行為,并在旅行的各個部分計(jì)算分?jǐn)?shù)。司機(jī)可以回顧他們的行程并了解他們可以改進(jìn)的地方。

?

構(gòu)建設(shè)備

10n2 是 3d 打印材料、DiY 電氣元件、Sony Spresense 板和攝像頭、經(jīng)過 Edge Impulse 訓(xùn)練的 CNN 和一些使其全部工作的代碼的組合。

pxl_20220805_153400343_mp_dFJrWatOMz.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
?

10n2 坐騎

首先要做的是打印 10n2 安裝。將model.stl加載到切片軟件(如Cura )中,生成許多3d打印機(jī)使用的gcode。獲得 gcode 后,將其加載到 3d 打印機(jī)上,打印大約需要 1 小時。在 Ender3 Pro 上!

pxl_20220805_143251229_mp_E1KEIgskew.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
?

現(xiàn)場準(zhǔn)備

現(xiàn)在是時候按照索尼網(wǎng)站上的精彩文檔準(zhǔn)備 Sony Spresense 了。啟動并運(yùn)行 Spresense 并安裝 Sony 相機(jī)板后,就可以將電池插座焊接到主板上了。

安裝組件

下一步是安裝 MPU 和按鈕開關(guān)。10n2 安裝座具有 MPU 和按鈕的安裝座。MPU 使用 M3 螺絲固定,按鈕使用 Velcro 直接安裝到 10n2 安裝座。

pxl_20220805_155354965_wb44EzYbWq.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
?

電線組件

現(xiàn)在組件已安裝,您可以按照下面的接線圖連接 MPU 和按鈕。可以通過在相機(jī)帶狀電纜下方布設(shè)電線來實(shí)現(xiàn)電線管理。這樣可以讓電線遠(yuǎn)離您,并有助于 GPS 信號。

pxl_20220805_155905920_mp_oixSwZcn4C.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
?

收尾工作

設(shè)備全部連接好后,我們現(xiàn)在可以安裝電池外殼和 Velcro(用于將 10n2 設(shè)備安裝到車頂)。電池外殼粘在相機(jī)支架的底部。這有兩個目的;1) 固定電池 (duh) 和 2) 為相機(jī)捕捉圖像和執(zhí)行實(shí)時分類提供正確的角度。您還可以安裝輕型 3.5 毫米。杰克揚(yáng)聲器作為這一點(diǎn)。

pxl_20220805_162059106_NRQqpGdo1T.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
?

恭喜!你現(xiàn)在對硬件不滿意了。

加載 10n2 軟件

GitHub 上提供了所有 10n2 軟件。要加載軟件,建議您遵循 Spresense SDK 設(shè)置,克隆存儲庫并使用 VSCode 將軟件直接安裝到設(shè)備。

IDE準(zhǔn)備

按照Sony Spresense IDE 指南為您的環(huán)境安裝和配置軟件。

10n2 準(zhǔn)備和構(gòu)建

現(xiàn)在您已經(jīng)準(zhǔn)備好一個 IDE,是時候克??隆 10n2 存儲庫了。將存儲庫克隆到新的 VSCode 項(xiàng)目。10n2 存儲庫有一個 10n2 sdk.config ,其中包含運(yùn)行 10n2 軟件所需的所有 nuttx/spresense 配置。通過微型 USB 將您的 Spresense 設(shè)備連接到您的計(jì)算機(jī),并確保它被 VSCode 識別。現(xiàn)在,您可以通過左鍵單擊您的 VSCode 項(xiàng)目并選擇Spresense:Build and Flash 來刷新您的設(shè)備。

10n2-build_f3rgu4gTUx.png?auto=compress%2Cformat&w=740&h=555&fit=max
?

如果一切順利,沒有任何問題,您應(yīng)該可以使用 10n2 設(shè)備了!

掛載 10n2

10n2需要倒置安裝在駕駛員頭部后方約 12 英寸處,并在車門之間居中,向下傾斜約 15 度(由電池支架提供)。

?
?
?
10n2-deployed_i4sjeRKNSa.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
?
1 / 2
?

訓(xùn)練

10n2 設(shè)備使用Edge Impulse在 10n2 的核心設(shè)計(jì)模型和訓(xùn)練 CNN。該模型是一個簡單的 3 類(手/無手/細(xì)胞)2D 量化卷積模型。由于 Sony Spresense 的內(nèi)存/計(jì)算限制,我們決定使用簡單的 CNN。量化是必不可少的,因?yàn)樗鼓P瓦_(dá)到可管理的大小。Edge Impulse 具有易于使用的量化模型方法,以及有關(guān)如何在目標(biāo)硬件上使用量化模型的詳細(xì)說明。

10n2-ei-model_USrst73XId.png?auto=compress%2Cformat&w=740&h=555&fit=max
?

如您所見,該模型訓(xùn)練得相對較好并且表現(xiàn)出奇的好。

10n2-ei-testing_ITF951BQbE.png?auto=compress%2Cformat&w=740&h=555&fit=max
?

數(shù)據(jù)

該模型是在 96x96 位圖像灰度 8 位圖像上訓(xùn)練的。我們選擇 96x96 是因?yàn)樗鼊偤米阋愿采w視野中的方向盤,又小到足以為我們的目標(biāo)平臺制作大小合適的模型,而 96x96 是許多流行的預(yù)訓(xùn)練模型中的常見尺寸。

數(shù)據(jù)采集

數(shù)據(jù)直接從 Spresense 和 Sony Camera 開發(fā)板收集*。對于我們的 96x96 下采樣,我們使用相機(jī) x 坐標(biāo)中 192-288 的像素和相機(jī) y 坐標(biāo)中 12-108 的像素。它位于相機(jī)的右上象限,即覆蓋方向盤和手部位置的象限。

* 所有數(shù)據(jù)均在 2007 年本田 CRV 中收集

安裝 EI 模型

一旦你有了一個你喜歡的模型,你就可以使用很棒的 Edge Impulse 網(wǎng)站來構(gòu)建一個可部署的模型。10n2項(xiàng)目采用C++模型部署方式

10n2-ei-deploy_SCQNMsK0iK.png?auto=compress%2Cformat&w=740&h=555&fit=max
?

獲得 C++ 模型部署 zip 后,您需要做的就是將以下文件提取到 10n2 存儲庫中的等效文件:

model_metadata.h
tflite-resolver.h
tflite-trained.h //model weights

代碼

任何項(xiàng)目中我最喜歡的部分是代碼!完整的 10n2 代碼可通過 GitHub 獲得。本節(jié)將突出顯示導(dǎo)入部件。首先,SMP是必需的,因?yàn)?10n2 對 Spresense 的要求很高。SMP 允許異步使用所有 6 個內(nèi)核。10n2 將一個完整的核心專用于 TensorFlow 推理引擎,并將剩余的核心分配給相機(jī)捕捉、數(shù)據(jù)收集和 KML 生成等功能。

SMP 示例

您會注意到在使用 SMP 時設(shè)置 CPU 親和性很重要。這告訴調(diào)度程序哪個 CPU 運(yùn)行 p 線程。

bool imu_init(void)
{
    printf("imu init\n");
    imu_running = true;
    cpu_set_t cpuset = 1 << 2;
    pthread_create(&imu_th_consumer, NULL, &_imu_q_read, NULL);
    int rc;
    rc = pthread_setaffinity_np(imu_th_consumer, sizeof(cpu_set_t), &cpuset);
    if (rc != 0)
    {
        printf("Unable set CPU affinity : %d", rc);
    }

    return true;
}

Edge Impulse 模型推理

EI生成的TFLM模型是量化的。必須對輸入和輸出進(jìn)行量化和反量化以獲得有意義的結(jié)果。

量化

int8_t quantize(uint8_t pixel_grayscale)
{

    // ITU-R 601-2 luma transform
    // see: https://pillow.readthedocs.io/en/stable/reference/Image.html#PIL.Image.Image.convert
    int32_t gray = (iRedToGray * pixel_grayscale) + (iGreenToGray * pixel_grayscale) + (iBlueToGray * pixel_grayscale);
    gray >>= 16; // scale down to int8_t
    gray += EI_CLASSIFIER_TFLITE_INPUT_ZEROPOINT;
    if (gray < -128)
        gray = -128;
    else if (gray > 127)
        gray = 127;
    return static_cast8_t>(gray);
}

反量化

for (int k = 0; k < NUM_CLASSES; k++)
      {
          //dequantized output
          conf = (od[k] - EI_CLASSIFIER_TFLITE_OUTPUT_ZEROPOINT) * EI_CLASSIFIER_TFLITE_OUTPUT_SCALE;

      }

急轉(zhuǎn)彎、加速和減速都是根據(jù) MPU 收集的數(shù)據(jù)計(jì)算得出的。MPU 安裝在 10n2 的一側(cè),Z 軸朝上,Y 軸沿車輛的加速度軸,Z 軸垂直于 X 和 Y。

加速/減速

通過確定 Y 樣本在 100 Hz 的 moving.35 秒窗口上的斜率來計(jì)算加速度和減速度。樣品。如果坡度高于閾值,則認(rèn)為車輛加速過快。如果坡度低于閾值 (± 500),則認(rèn)為車輛減速過快。

急轉(zhuǎn)彎

轉(zhuǎn)彎的計(jì)算方式與加速度相同,但使用來自 MPU 的 X 加速度并使用小得多的斜率閾值 (+- 250)。

坑洞

通過對沿 Z 軸的加速度使用標(biāo)準(zhǔn)偏差閾值來識別坑洞。如果標(biāo)準(zhǔn)偏差 > 1800,那么我們認(rèn)為這是一個底池持有。

收集的數(shù)據(jù)

10n2 記錄原始傳感器數(shù)據(jù)以及 csv 中的計(jì)算數(shù)據(jù)。當(dāng) 10n2 處于“訓(xùn)練”模式時,也會收集圖像數(shù)據(jù)。CSV 數(shù)據(jù)以以下 CSV 格式存儲:

t	slopex	slopey	slopez	inf	conf	acx	acy	acz	gyx	gyy	gyz	y	M	d	h	m	s	us	type	lat	lon
23915	-98	55.299999	-27	0	0.53125	4225	-210	644	205	-129	-54	2022	8	3	23	42	23	586585	1	39.513708	-104.764668
24016	17.1	44.599998	-15.6	2	0.589843	4949	-4	641	-71	-75	20	2022	8	3	23	42	24	817926	1	39.513708	-104.764668
24117	-11.2	-31.700001	-6.1	1	0.46875	4870	-99	713	-53	-196	32	2022	8	3	23	42	25	433078	1	39.513708	-104.764668
24218	-67.400002	-35.200001	-7.1	0	0.953125	4969	10	685	-60	-104	-2	2022	8	3	23	42	26	648016	1	39.513708	-104.764668
24321	-12.1	7.8	6.6	1	0.734375	5005	-44	704	-60	-120	15	2022	8	3	23	42	27	890861	1	39.513708	-104.764668

結(jié)論

如果你做到了這一點(diǎn),謝謝。我們在開發(fā)我們認(rèn)為有用的產(chǎn)品方面度過了愉快的時光。我們歡迎所有評論和問題,希望您喜歡 10n2。要查看更多信息,請在線訪問我們。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)