加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

基于CNN(卷積神經(jīng)網(wǎng)絡(luò))的智能垃圾分類及遠(yuǎn)程監(jiān)控系統(tǒng)

07/23 11:47
810
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

一、項(xiàng)目名稱

基于CNN的智能垃圾分類及遠(yuǎn)程監(jiān)控系統(tǒng)

二、項(xiàng)目概述

本項(xiàng)目旨在利用LPC55S69芯片雙核計(jì)算資源,運(yùn)用圖像識(shí)別、智能控制技術(shù)實(shí)現(xiàn)智慧垃圾投放和監(jiān)測(cè)系統(tǒng)。core0內(nèi)核和powerquad將用來處理圖像分類中的計(jì)算,并通過mailbox發(fā)送結(jié)果給core1內(nèi)核;core1內(nèi)核則負(fù)責(zé)實(shí)時(shí)監(jiān)測(cè)垃圾桶狀態(tài)。具體功能如下。

1)系統(tǒng)基于神經(jīng)網(wǎng)絡(luò)算法開發(fā)板中實(shí)現(xiàn)圖像識(shí)別,并結(jié)合機(jī)械裝置對(duì)垃圾進(jìn)行精確投放。2)監(jiān)測(cè)垃圾桶的多維屬性,如垃圾桶編號(hào)及滿溢程序投入垃圾的種類、數(shù)量以及網(wǎng)絡(luò)接入等狀態(tài),同時(shí)系統(tǒng)將周期性地將數(shù)據(jù)經(jīng)由WIFI上傳并在LCD屏上顯示。

項(xiàng)目的想法是由最近國內(nèi)大火的垃圾分類給出的靈感,目前大部分垃圾分類還都是由人工進(jìn)行垃圾分類,這就導(dǎo)致了高昂的代價(jià)。所以我就想著能不能將深度學(xué)習(xí)加到垃圾分類中,這其中走了很多彎路。在項(xiàng)目初期,由于對(duì)深度學(xué)習(xí)還沒有十分理解,這也導(dǎo)致在之后的模型訓(xùn)練以及移植到MCU里用了不少時(shí)間。

三、項(xiàng)目圖

圖3.1 整體實(shí)物圖

? ?

圖3.2 整體實(shí)物點(diǎn)亮圖

項(xiàng)目使用了LPC55S69一塊、SG90舵機(jī)一個(gè)、OV7670攝像頭一個(gè)、HCSR04超聲波傳感器一個(gè)、LCD屏幕一塊、ESP8266-wifi模塊一個(gè)。

這三張圖是三個(gè)設(shè)備的連線圖,網(wǎng)絡(luò)號(hào)對(duì)應(yīng)與LPC55S69-EVK的網(wǎng)絡(luò)號(hào)。另外攝像頭使用了小板先轉(zhuǎn)換為灰度圖片,然后通過串口與開發(fā)板通信,使用USART0;ESP8266模塊通過串口與開發(fā)板通信,使用USART2。

四、項(xiàng)目功能

圖4.1 總流程圖

整體流程為M4內(nèi)核采集圖像并進(jìn)行圖像推理,最后將數(shù)據(jù)經(jīng)由mailbox發(fā)送給M0內(nèi)核。而在M4內(nèi)核處理大量運(yùn)算和數(shù)據(jù)時(shí),由于雙核的使用,M0內(nèi)核可以一直讀取傳感器數(shù)據(jù)并進(jìn)行發(fā)送,當(dāng)M4內(nèi)核處理完一次數(shù)據(jù)后M0內(nèi)核也能及時(shí)更新所需要發(fā)送的信息,大大提高了系統(tǒng)的實(shí)時(shí)性。在這里只加入了一個(gè)超聲波傳感器,沒有再將溫度、煙霧等傳感器加進(jìn)來,一是因?yàn)閭鞲衅鞔a的編寫都是大同小異的,二是3V3引腳有點(diǎn)不夠用了(XD)。

1、雙核的使用

M4內(nèi)核進(jìn)行圖像采集以及圖像推理功能。

由于我一直覺得官方的SPI函數(shù)有一點(diǎn)問題(就像LPC55S69-evk上P8的RX和TX引腳標(biāo)反了,SCTIMER來寫PWM最低只有1KHz),所以我寫了一個(gè)GPIO模擬SPI的程序驅(qū)動(dòng)的LCD。程序很穩(wěn)定,缺點(diǎn)就是刷新率低。

core1內(nèi)核控制各種模塊,接收core0內(nèi)核推理后的結(jié)果,將結(jié)果和其他傳感器數(shù)據(jù)經(jīng)由wifi打包發(fā)送給上位機(jī)。

圖4.2 上位機(jī)數(shù)據(jù)

圖4.2是調(diào)試助手中收到的數(shù)據(jù),每三個(gè)數(shù)據(jù)為一組,對(duì)應(yīng)開發(fā)板中程序。

2、CNN

程序中使用了卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)。AI這個(gè)東西,對(duì)于沒有接觸過的人就像黑匣子一樣,神秘莫測(cè)。但發(fā)展到如今這個(gè)階段,加上開發(fā)板性能的不端迭代提升,就算是做嵌入式開發(fā),也可以接觸和使用AI,讓AI為我們服務(wù)。

本次比賽也是我第一次將神經(jīng)網(wǎng)絡(luò)加入到嵌入式開發(fā)板中的嘗試,也學(xué)習(xí)了很多天,參考了不少代碼,最終形成了一套VS編寫的純C版本的CNN代碼和一套可以應(yīng)用在LPC55S69中的程序。在開發(fā)板中的程序只能進(jìn)行推理,VS中的程序可以進(jìn)行訓(xùn)練和推理,代碼在文末我也都會(huì)給出。使用流程就是在VS訓(xùn)練出模型,然后將模型移植到開發(fā)板中,開發(fā)板只需要按照模型進(jìn)行推理就可以。所謂模型,其實(shí)就是我代碼中core0內(nèi)核程序的主函數(shù)中的一大堆的100K的數(shù)據(jù),推理的過程就是利用這些參數(shù)進(jìn)行數(shù)學(xué)運(yùn)算的過程,所以可能理解其中的數(shù)學(xué)公式比較難,但是了解神經(jīng)網(wǎng)絡(luò)的流程和使用,還是不困難的。我也借此機(jī)會(huì)將這些代碼分享出來。

圖4.3 全連接神經(jīng)網(wǎng)絡(luò)圖

圖4.3是一個(gè)最簡單的全連接神經(jīng)網(wǎng)絡(luò)的模型。中間兩層是各使用了4個(gè)神經(jīng)元,每一層之間進(jìn)行全連接,最后得到輸出。右邊的公式就是神經(jīng)網(wǎng)絡(luò)中所應(yīng)用的數(shù)學(xué)公式。

圖4.4 垃圾分類CNN結(jié)構(gòu)

圖4.4是我的這套系統(tǒng)使用的模型的參數(shù)。模型是基于LeNet5模型修改的,比較粗糙。我也是AI路上的初學(xué)者,NXP官方有一套自己設(shè)計(jì)的微信CNN架構(gòu),使用了3層卷積,模型也只是90K左右,非常的厲害。

圖4.5 訓(xùn)練集樣式

圖4.5是我自己拍的數(shù)據(jù)集,三類加起來一共也只有幾百張。處理數(shù)據(jù)集的過程十分繁瑣,所以一個(gè)好的數(shù)據(jù)集就很重要,自己弄出來的數(shù)據(jù)集在種類上、位置分布上、圖片質(zhì)量上都比不上那些標(biāo)準(zhǔn)數(shù)據(jù)集。

這三張圖就是實(shí)物拍攝的效果。其中電池和紙板的實(shí)測(cè)效果很好,瓶子效果一般。從實(shí)圖和訓(xùn)練集中的圖不難看出,實(shí)際中的圖很黑、亮度都不高,這也是導(dǎo)致瓶子效果不好的原因。雖然卷積神經(jīng)網(wǎng)絡(luò)能夠很好的提取圖像特征,但是由于在開發(fā)板中的模型很小,加上攝像頭轉(zhuǎn)成灰度時(shí)圖像的處理過程失真嚴(yán)重,導(dǎo)致了瓶子效果不是很好(使用RGB效果更佳,但帶來的是模型的大小問題,沒有具體比較過)。

由于需要大量的計(jì)算,因此程序中也加入了powerquad的使用。但由于官方給出的powerquad函數(shù)精度只能為float,而我的模型計(jì)算的精度為double,因此我只能將powerquad應(yīng)用在了少數(shù)幾個(gè)函數(shù)上(開根號(hào)、指數(shù)運(yùn)算)上。

圖4.6 powerquad函數(shù)使用測(cè)試

圖4.6是我對(duì)powerquad的第一次嘗試使用。我將運(yùn)算量最大的點(diǎn)積運(yùn)算改為powerquad,在實(shí)際使用中,速度提升了很多(不止10倍),但是精度的不匹配導(dǎo)致輸出結(jié)果錯(cuò)誤。我也只能退而求其次將powerquad應(yīng)用在部分不很影響運(yùn)算過程的函數(shù)中。

3、性能

LPC55S69的性能很強(qiáng),由于雙核的使用,在主核心高速運(yùn)算的同時(shí)從核心能夠同時(shí)獲取傳感器數(shù)據(jù)、處理部分任務(wù)。

在本系統(tǒng)中,最需要資源的就是主核心采集和推理圖片的過程,其他過程都是簡單的數(shù)據(jù)傳輸,因此在主核心需要處理圖片時(shí),將開發(fā)板以150M全速前進(jìn),在處理完之后的部分時(shí)間內(nèi)以12M低速運(yùn)行,來降低電量消耗。

在使用LPC55S69的過程中,可以很好的感受到其功耗優(yōu)勢(shì)。在同一個(gè)開發(fā)板上,同時(shí)接入五個(gè)設(shè)備(包含一個(gè)顯示屏)并且全速運(yùn)行時(shí),不會(huì)出現(xiàn)電壓跳變。雙核的運(yùn)行也很穩(wěn)定,就算是主頻降低時(shí),我在從核心中的CRC加密以及數(shù)據(jù)經(jīng)由wifi的傳輸都沒有出現(xiàn)掉幀的情況。

很遺憾的就是沒有用上trustzone,本系統(tǒng)中很多數(shù)據(jù)都是動(dòng)態(tài)獲取的,最需要保存的就是神經(jīng)網(wǎng)絡(luò)的模型數(shù)據(jù)。但是神經(jīng)網(wǎng)絡(luò)太大,遠(yuǎn)遠(yuǎn)超過了trustzone的總大小。為了保證數(shù)據(jù)傳輸時(shí)的完整和安全,我在從核心代碼中給傳輸數(shù)據(jù)加入了CRC編碼。

五、演示視頻、項(xiàng)目文檔

演示視頻和LPC55S69項(xiàng)目工程

六、VS-純C版本CNN代碼

VS-CNN代碼

這份CNN代碼里不是垃圾分類的數(shù)據(jù)集,里面包含了一份讀入txt文件數(shù)據(jù)進(jìn)行訓(xùn)練的數(shù)據(jù)。txt文件已經(jīng)包含在工程中,打開工程即可運(yùn)行,注意:請(qǐng)使用VS2019!

txt內(nèi)的文件為我從串口獲取的攝像頭拍攝到的圖片處理后的像素值,內(nèi)容是0,1,2,3四個(gè)數(shù)的數(shù)據(jù)集。具體格式為28*28像素,0為黑,255為白。垃圾分類的數(shù)據(jù)集還沒有采集完成,完成后我也會(huì)更新上來。? ?? ? 在某種程度上,神經(jīng)網(wǎng)絡(luò)理論上都是可以放進(jìn)任何板子中的。這一套VS代碼輸出的數(shù)字集模型僅有27K,而垃圾分類系統(tǒng)中的模型使用了98K。通過對(duì)模型超參數(shù)的調(diào)整,再加上一個(gè)好的數(shù)據(jù)集,理論上都是可以以自己的需求,用多大的板子就訓(xùn)練出多大的模型。而且深度學(xué)習(xí)的好處不僅僅只在于我給出的圖像識(shí)別方面,將數(shù)據(jù)集換成語音信號(hào)數(shù)據(jù)集等等也都是有效的。

VS代碼可直接移植到開發(fā)板中(模型大小最好不要超過開發(fā)板ram的一半,以防超內(nèi)存),具體使用見 五??中項(xiàng)目工程。

  • 基于CNN的智能垃圾分類及遠(yuǎn)程監(jiān)控系統(tǒng).docx

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
ADAU1452KCPZ 1 Analog Devices Inc SigmaDSP Digital Audio Processor

ECAD模型

下載ECAD模型
$13.51 查看
ADRF6510ACPZ-WP 1 Analog Devices Inc 30 <span class="noTransform">MHz</span> Dual Programmable Filters and Variable Gain Amplifiers Package: 32 ld LFCSP (5x5mm CP-32-2); No of Pins: 32; Temperature Range: INDUSTRIAL; Container: 0/Tray
暫無數(shù)據(jù) 查看
LM3886TF/NOPB 1 Texas Instruments 68W, 1 Ch, 20-94V supply stereo Class-AB amplifier w/ Mute 11-TO-220 0 to 70

ECAD模型

下載ECAD模型
$9.27 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜