資料介紹
描述
?
這是全文的簡化版本,為了簡單起見,以便可以輕松地完成該項(xiàng)目的復(fù)制。在該模型中,使用與光相關(guān)的電子元件和機(jī)器學(xué)習(xí)機(jī)制進(jìn)行顏色檢測和識別;它本質(zhì)上是一個(gè) RGB LED 和一個(gè) CdS 單元(光傳感器,或 LDR)的組合,兩者都與環(huán)境光隔離。這些組件分別發(fā)射和感應(yīng)從特定顏色的物體反射的每種光(紅色、綠色和藍(lán)色)的強(qiáng)度。
多層感知器
多層感知器 (MLP) 是人工神經(jīng)網(wǎng)絡(luò)的前饋架構(gòu),具有輸入(非神經(jīng))層、隱藏層和輸出層。該網(wǎng)絡(luò)通過反向傳播算法進(jìn)行訓(xùn)練,執(zhí)行監(jiān)督學(xué)習(xí)(通過示例學(xué)習(xí))。
對于這個(gè)顏色傳感器,上面說明的神經(jīng)網(wǎng)絡(luò)接收3 個(gè)輸入(RGB 值),一個(gè)隱藏層有 6 個(gè)神經(jīng)元,一個(gè)輸出層有 10 個(gè)神經(jīng)元- 只是回憶一下:輸出層必須具有相同數(shù)量的類(顏色,in這種情況下),用于二值化輸出。對于本教程,網(wǎng)絡(luò)已經(jīng)過訓(xùn)練并且能夠識別顏色 :)。有關(guān)訓(xùn)練步驟和用于它的示例數(shù)據(jù)集的更多詳細(xì)信息,請查看我博客中的完整帖子。
顏色識別
可以使用我們訓(xùn)練有素的 MLP 網(wǎng)絡(luò)來執(zhí)行此任務(wù)。它允許對空間可分離的模式進(jìn)行分類和識別——在這種情況下非常有用。在其訓(xùn)練步驟中,網(wǎng)絡(luò)將區(qū)域映射到下圖所示的 RGB 顏色空間中,因此被超平面隔離的每個(gè)區(qū)域都代表一種顏色。因此,每個(gè)新的 RGB 顏色模式(表示為 3D 點(diǎn))都屬于特定區(qū)域,被分類為其各自的顏色。
為了使用 MLP 獲得泛化以更好地識別 RGB 模式,必須將訓(xùn)練集(具有上述 3D 空間所需輸出的顏色示例)呈現(xiàn)給網(wǎng)絡(luò)以進(jìn)行訓(xùn)練步驟。此項(xiàng)目中使用的訓(xùn)練集可在項(xiàng)目的GitHub存儲庫中獲得。如果您熱衷于神經(jīng)網(wǎng)絡(luò),請繼續(xù)閱讀本節(jié)并查看我開發(fā)的這個(gè)Playground ,這樣您就可以使用數(shù)據(jù)集自己訓(xùn)練網(wǎng)絡(luò)并在代碼中使用它:)。否則,跳到實(shí)施細(xì)節(jié)。
泛化將發(fā)生在訓(xùn)練集所包含的域中,因此值得關(guān)注空間每個(gè)組件的最小值和最大值!不要向網(wǎng)絡(luò)提供此域之外的模式,否則輸出將無法正常工作。
數(shù)據(jù)集(所有示例)包含 75 個(gè)顏色模式實(shí)例,范圍從 0 到 1。最初的范圍從 0 到 255,這些實(shí)例通過簡單地將每個(gè)值除以 255 進(jìn)行重新縮放,使得 0 <= x1, x2, x3 <= 1 . 從數(shù)據(jù)集中可以看出,重要的是要指出,輸出層只有一個(gè)神經(jīng)元必須輸出 1,而其余神經(jīng)元必須輸出 0。由于經(jīng)過訓(xùn)練的網(wǎng)絡(luò)輸出浮點(diǎn)值,因此后處理如下:
?
?
其中 yi 是第 i 個(gè)神經(jīng)元的輸出,max(y) 是最大的輸出值。實(shí)際上,輸出最大的神經(jīng)元給出 1 作為輸出,其余的給出 0。就這么簡單。
電子電路
由物體產(chǎn)生的所有檢測過程都發(fā)生在電子電路中,包括在連接到 Arduino 板的 Atmega328 中運(yùn)行的計(jì)算活動。從下面的示意圖中檢查接線。
代碼遵循上述使用共陽極RGB LED 的方案。
色彩理論
電子電路執(zhí)行的顏色感知基于顏色理論概念。由于還沒有涉及透鏡,因此只應(yīng)考慮具有不透明(和無光澤)材料的物體,避免處理 LED 的鏡面反射。另一方面,漫反射是用光進(jìn)行顏色檢測的關(guān)鍵。入射光會在不規(guī)則表面反射,不會產(chǎn)生破壞 CdS 電池功能的發(fā)光效果。
回到實(shí)際的顏色理論,當(dāng)光(某種顏色的)到達(dá)一個(gè)物體時(shí),它會根據(jù)該物體顏色的特性而反射。例如,到達(dá)黃色物體的紅光將根據(jù)該黃色成分中存在多少紅色而反射 - 請記住,我們談?wù)摰氖枪猓?/font>- 所以預(yù)計(jì)會有大量的紅光被反射,當(dāng)我們想到黃色的 RGB 成分(基本上是紅色和綠色)時(shí),這是有道理的。然而,當(dāng)藍(lán)光到達(dá)黃色物體時(shí),由于顏色成分中的藍(lán)色含量低,預(yù)計(jì)不會有強(qiáng)烈的反射。
考慮一個(gè)加色系統(tǒng),其中白色和黑色分別代表每種顏色的存在和不存在(此處有更多詳細(xì)信息),可以測量(使用 CdS 單元)來自 RGB LED 的每種光的最大和最小反射,這些反射將達(dá)到彩色對象。也就是說,可以對電路中涉及的電子元件進(jìn)行校準(zhǔn)。這是在檢測中獲得保真度以及確保穩(wěn)定檢測模式(避免異常值)的另一個(gè)關(guān)鍵 - 這是一個(gè)黃金提示:校準(zhǔn)后,嘗試(努力?。┎灰苿踊蛴|摸電子元件(特別是當(dāng)它們被放置在面包板中時(shí)),也不是您正在使用(您必須使用)將組件與環(huán)境光隔離的部件。
編程
對于校準(zhǔn)和識別,一旦有色物體暴露于 RGB LED 和 CdS 單元,顏色傳感器就會執(zhí)行三次迭代。在第一次迭代中,紅光照射到物體上,程序等待 CdS 細(xì)胞穩(wěn)定其感應(yīng);然后讀取模擬輸入并存儲紅光的反射。該程序針對綠色和藍(lán)色重復(fù)了兩次以上。顏色理論中顯示的圖很好地直觀地解釋了這個(gè)迭代過程。
關(guān)于校準(zhǔn),上述迭代過程執(zhí)行兩次:一次用于黑色,一次用于白色。正如色彩理論中所解釋的,這是為了檢測最大值和最小值——最初從接近零到接近 1024 ,根據(jù)讀數(shù)分辨率——紅、綠和藍(lán)光的反射,獲得真實(shí)范圍以正確重新調(diào)整到區(qū)間 [0 , 255](用于提供信息)和 [0, 1](饋送神經(jīng)網(wǎng)絡(luò)的實(shí)際輸入)。
建立光傳感器讀數(shù)的等待時(shí)間可能因每個(gè)電子元件而異,因此最好提供一個(gè)良好的延遲以確保穩(wěn)定的感應(yīng)。在我的例子中,我給出了 500 毫秒的延遲,但值得一開始使用一個(gè)更大的值,然后再減小它直到出現(xiàn)不穩(wěn)定行為的邊緣。
在檢測中,收集到的 RGB 值(范圍從 0 到 1)提供給 MLP,執(zhí)行實(shí)際的顏色識別。對于在 Arduino 中運(yùn)行的 MLP,我使用的是Neurona - 我編寫的一個(gè)庫,可以在 arduino 中輕松使用 ANN,它可以使用 Library Manager 從 Arduino IDE 安裝。另請查看此帖子以獲取更多詳細(xì)信息。
如前所述,網(wǎng)絡(luò)已經(jīng)經(jīng)過訓(xùn)練,可以在項(xiàng)目代碼中進(jìn)行檢測。它是使用我開發(fā)的Playground進(jìn)行訓(xùn)練的,將調(diào)整后的權(quán)重嵌入到代碼中,以便 Neurona 庫使網(wǎng)絡(luò)準(zhǔn)備好運(yùn)行。
測試
出于提供信息的目的,從數(shù)據(jù)集中提取了一些顏色以執(zhí)行一些識別測試:
圖外的數(shù)字用于識別,圖內(nèi)的數(shù)字表示錯(cuò)誤分類,參考哪些顏色被分類。
- 使用TCS230 TCS3200顏色傳感器制作顏色檢測器
- Arduino項(xiàng)目之玩轉(zhuǎn)顏色傳感器
- 帶閃光燈LED的顏色傳感器
- 可讀取顏色的傳感器Adafruit_TCS34725-master 4次下載
- TCS230顏色傳感器的原理與應(yīng)用及識別顏色的過程詳細(xì)說明 76次下載
- 搬運(yùn)機(jī)器人顏色傳感器模塊的概述及其特點(diǎn)和應(yīng)用的介紹 12次下載
- 傳感器顯示:大小、形狀和顏色 0次下載
- 顏色傳感器TCS230英版資料 0次下載
- 基于TCS3200顏色傳感器 71次下載
- TCS3200顏色傳感器配套資料 74次下載
- 基于顏色傳感器TCS230的氯離子和PH檢測儀設(shè)計(jì) 147次下載
- 基于Lego顏色傳感器的尋線小車程序 204次下載
- 基于TCS230傳感器的高精度顏色識別系統(tǒng)設(shè)計(jì)
- 煙葉初烤顏色采集器的設(shè)計(jì) 0次下載
- 顏色傳感器在新型養(yǎng)路機(jī)械中的應(yīng)用
- 基于CW32系列MCU的GY-33顏色識別模塊設(shè)計(jì) 1472次閱讀
- Python OpenCV教程:特定顏色的檢測 919次閱讀
- 利用單片機(jī)的顏色識別系統(tǒng)設(shè)計(jì) 2947次閱讀
- 分享一個(gè)不錯(cuò)的顏色檢測器/傳感器電路圖 3051次閱讀
- 分享一個(gè)不錯(cuò)的顏色傳感器電路圖 3281次閱讀
- 顏色識別傳感器的類型及原理解析 1.5w次閱讀
- 什么是顏色傳感器它有哪些類型的 7658次閱讀
- dfrobot TCS3200 顏色傳感器簡介 2728次閱讀
- digilent顏色傳感模塊簡介 1596次閱讀
- ev3顏色傳感器能夠識別幾種顏色 2.1w次閱讀
- 顏色傳感器和色標(biāo)傳感器的本質(zhì)區(qū)別及應(yīng)用解析 7089次閱讀
- 迎接顏色測量的新時(shí)代—— 顏色傳感器IC與光譜儀性能對比 3227次閱讀
- 顏色識別傳感器原理與應(yīng)用詳解 6.8w次閱讀
- 一文讀懂顏色傳感器使用方法 3.9w次閱讀
- 從9個(gè)方面讓傳感器處理任何顏色通道所產(chǎn)生的噪聲和非線性響應(yīng) 6066次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多