資料介紹
描述
?
這是全文的簡化版本,為了簡單起見,以便可以輕松地完成該項目的復制。在該模型中,使用與光相關的電子元件和機器學習機制進行顏色檢測和識別;它本質(zhì)上是一個 RGB LED 和一個 CdS 單元(光傳感器,或 LDR)的組合,兩者都與環(huán)境光隔離。這些組件分別發(fā)射和感應從特定顏色的物體反射的每種光(紅色、綠色和藍色)的強度。
多層感知器
多層感知器 (MLP) 是人工神經(jīng)網(wǎng)絡的前饋架構(gòu),具有輸入(非神經(jīng))層、隱藏層和輸出層。該網(wǎng)絡通過反向傳播算法進行訓練,執(zhí)行監(jiān)督學習(通過示例學習)。

對于這個顏色傳感器,上面說明的神經(jīng)網(wǎng)絡接收3 個輸入(RGB 值),一個隱藏層有 6 個神經(jīng)元,一個輸出層有 10 個神經(jīng)元- 只是回憶一下:輸出層必須具有相同數(shù)量的類(顏色,in這種情況下),用于二值化輸出。對于本教程,網(wǎng)絡已經(jīng)過訓練并且能夠識別顏色 :)。有關訓練步驟和用于它的示例數(shù)據(jù)集的更多詳細信息,請查看我博客中的完整帖子。
顏色識別
可以使用我們訓練有素的 MLP 網(wǎng)絡來執(zhí)行此任務。它允許對空間可分離的模式進行分類和識別——在這種情況下非常有用。在其訓練步驟中,網(wǎng)絡將區(qū)域映射到下圖所示的 RGB 顏色空間中,因此被超平面隔離的每個區(qū)域都代表一種顏色。因此,每個新的 RGB 顏色模式(表示為 3D 點)都屬于特定區(qū)域,被分類為其各自的顏色。

為了使用 MLP 獲得泛化以更好地識別 RGB 模式,必須將訓練集(具有上述 3D 空間所需輸出的顏色示例)呈現(xiàn)給網(wǎng)絡以進行訓練步驟。此項目中使用的訓練集可在項目的GitHub存儲庫中獲得。如果您熱衷于神經(jīng)網(wǎng)絡,請繼續(xù)閱讀本節(jié)并查看我開發(fā)的這個Playground ,這樣您就可以使用數(shù)據(jù)集自己訓練網(wǎng)絡并在代碼中使用它:)。否則,跳到實施細節(jié)。
泛化將發(fā)生在訓練集所包含的域中,因此值得關注空間每個組件的最小值和最大值!不要向網(wǎng)絡提供此域之外的模式,否則輸出將無法正常工作。

數(shù)據(jù)集(所有示例)包含 75 個顏色模式實例,范圍從 0 到 1。最初的范圍從 0 到 255,這些實例通過簡單地將每個值除以 255 進行重新縮放,使得 0 <= x1, x2, x3 <= 1 . 從數(shù)據(jù)集中可以看出,重要的是要指出,輸出層只有一個神經(jīng)元必須輸出 1,而其余神經(jīng)元必須輸出 0。由于經(jīng)過訓練的網(wǎng)絡輸出浮點值,因此后處理如下:
?

?
其中 yi 是第 i 個神經(jīng)元的輸出,max(y) 是最大的輸出值。實際上,輸出最大的神經(jīng)元給出 1 作為輸出,其余的給出 0。就這么簡單。
電子電路
由物體產(chǎn)生的所有檢測過程都發(fā)生在電子電路中,包括在連接到 Arduino 板的 Atmega328 中運行的計算活動。從下面的示意圖中檢查接線。

代碼遵循上述使用共陽極RGB LED 的方案。
色彩理論
電子電路執(zhí)行的顏色感知基于顏色理論概念。由于還沒有涉及透鏡,因此只應考慮具有不透明(和無光澤)材料的物體,避免處理 LED 的鏡面反射。另一方面,漫反射是用光進行顏色檢測的關鍵。入射光會在不規(guī)則表面反射,不會產(chǎn)生破壞 CdS 電池功能的發(fā)光效果。
回到實際的顏色理論,當光(某種顏色的)到達一個物體時,它會根據(jù)該物體顏色的特性而反射。例如,到達黃色物體的紅光將根據(jù)該黃色成分中存在多少紅色而反射 - 請記住,我們談論的是光!- 所以預計會有大量的紅光被反射,當我們想到黃色的 RGB 成分(基本上是紅色和綠色)時,這是有道理的。然而,當藍光到達黃色物體時,由于顏色成分中的藍色含量低,預計不會有強烈的反射。

考慮一個加色系統(tǒng),其中白色和黑色分別代表每種顏色的存在和不存在(此處有更多詳細信息),可以測量(使用 CdS 單元)來自 RGB LED 的每種光的最大和最小反射,這些反射將達到彩色對象。也就是說,可以對電路中涉及的電子元件進行校準。這是在檢測中獲得保真度以及確保穩(wěn)定檢測模式(避免異常值)的另一個關鍵 - 這是一個黃金提示:校準后,嘗試(努力?。┎灰苿踊蛴|摸電子元件(特別是當它們被放置在面包板中時),也不是您正在使用(您必須使用)將組件與環(huán)境光隔離的部件。
編程
對于校準和識別,一旦有色物體暴露于 RGB LED 和 CdS 單元,顏色傳感器就會執(zhí)行三次迭代。在第一次迭代中,紅光照射到物體上,程序等待 CdS 細胞穩(wěn)定其感應;然后讀取模擬輸入并存儲紅光的反射。該程序針對綠色和藍色重復了兩次以上。顏色理論中顯示的圖很好地直觀地解釋了這個迭代過程。
關于校準,上述迭代過程執(zhí)行兩次:一次用于黑色,一次用于白色。正如色彩理論中所解釋的,這是為了檢測最大值和最小值——最初從接近零到接近 1024 ,根據(jù)讀數(shù)分辨率——紅、綠和藍光的反射,獲得真實范圍以正確重新調(diào)整到區(qū)間 [0 , 255](用于提供信息)和 [0, 1](饋送神經(jīng)網(wǎng)絡的實際輸入)。
建立光傳感器讀數(shù)的等待時間可能因每個電子元件而異,因此最好提供一個良好的延遲以確保穩(wěn)定的感應。在我的例子中,我給出了 500 毫秒的延遲,但值得一開始使用一個更大的值,然后再減小它直到出現(xiàn)不穩(wěn)定行為的邊緣。
在檢測中,收集到的 RGB 值(范圍從 0 到 1)提供給 MLP,執(zhí)行實際的顏色識別。對于在 Arduino 中運行的 MLP,我使用的是Neurona - 我編寫的一個庫,可以在 arduino 中輕松使用 ANN,它可以使用 Library Manager 從 Arduino IDE 安裝。另請查看此帖子以獲取更多詳細信息。
如前所述,網(wǎng)絡已經(jīng)經(jīng)過訓練,可以在項目代碼中進行檢測。它是使用我開發(fā)的Playground進行訓練的,將調(diào)整后的權(quán)重嵌入到代碼中,以便 Neurona 庫使網(wǎng)絡準備好運行。
測試
出于提供信息的目的,從數(shù)據(jù)集中提取了一些顏色以執(zhí)行一些識別測試:

圖外的數(shù)字用于識別,圖內(nèi)的數(shù)字表示錯誤分類,參考哪些顏色被分類。
- 使用TCS230 TCS3200顏色傳感器制作顏色檢測器
- Arduino項目之玩轉(zhuǎn)顏色傳感器
- 帶閃光燈LED的顏色傳感器
- 可讀取顏色的傳感器Adafruit_TCS34725-master 4次下載
- TCS230顏色傳感器的原理與應用及識別顏色的過程詳細說明 76次下載
- 搬運機器人顏色傳感器模塊的概述及其特點和應用的介紹 12次下載
- 傳感器顯示:大小、形狀和顏色 0次下載
- 顏色傳感器TCS230英版資料 0次下載
- 基于TCS3200顏色傳感器 71次下載
- TCS3200顏色傳感器配套資料 74次下載
- 基于顏色傳感器TCS230的氯離子和PH檢測儀設計 147次下載
- 基于Lego顏色傳感器的尋線小車程序 204次下載
- 基于TCS230傳感器的高精度顏色識別系統(tǒng)設計
- 煙葉初烤顏色采集器的設計 0次下載
- 顏色傳感器在新型養(yǎng)路機械中的應用
- 基于CW32系列MCU的GY-33顏色識別模塊設計 2041次閱讀
- Python OpenCV教程:特定顏色的檢測 1134次閱讀
- 利用單片機的顏色識別系統(tǒng)設計 3416次閱讀
- 分享一個不錯的顏色檢測器/傳感器電路圖 3323次閱讀
- 分享一個不錯的顏色傳感器電路圖 3548次閱讀
- 顏色識別傳感器的類型及原理解析 1.6w次閱讀
- 什么是顏色傳感器它有哪些類型的 7981次閱讀
- dfrobot TCS3200 顏色傳感器簡介 2893次閱讀
- digilent顏色傳感模塊簡介 1747次閱讀
- ev3顏色傳感器能夠識別幾種顏色 2.1w次閱讀
- 顏色傳感器和色標傳感器的本質(zhì)區(qū)別及應用解析 7401次閱讀
- 迎接顏色測量的新時代—— 顏色傳感器IC與光譜儀性能對比 3467次閱讀
- 顏色識別傳感器原理與應用詳解 6.9w次閱讀
- 一文讀懂顏色傳感器使用方法 3.9w次閱讀
- 從9個方面讓傳感器處理任何顏色通道所產(chǎn)生的噪聲和非線性響應 6223次閱讀
下載排行
本周
- 1人形機器人電機驅(qū)動和傳感報告
- 4.27 MB | 9次下載 | 免費
- 2Altium Designer元件庫
- 17.11 MB | 6次下載 | 免費
- 324V2A開關電源PCB資料分享
- 0.23 MB | 4次下載 | 1 積分
- 4GD100PIX120C6SNA規(guī)格書
- 0.98 MB | 3次下載 | 免費
- 5Multisim模擬電路仿真教程
- 1.93 MB | 1次下載 | 3 積分
- 6BK7258英文規(guī)格書
- 1.67 MB | 1次下載 | 免費
- 7RA4L1硬件手冊
- 21.89 MB | 1次下載 | 免費
- 8RA4L1_SENSOR-V1原理圖
- 754.36 KB | 1次下載 | 免費
本月
- 1晶體三極管的電流放大作用詳細說明
- 0.77 MB | 32次下載 | 2 積分
- 2雙極型三極管放大電路的三種基本組態(tài)的學習課件免費下載
- 4.03 MB | 25次下載 | 1 積分
- 3AIWA HS-J303 MKⅡ維修手冊
- 22.47 MB | 24次下載 | 10 積分
- 4九陽豆?jié){機高清原理圖
- 2.47 MB | 23次下載 | 1 積分
- 5多級放大電路的學習課件免費下載
- 1.81 MB | 21次下載 | 2 積分
- 6AIWA HS-J202/HS-J202M/HS-J800維修手冊
- 13.60 MB | 16次下載 | 10 積分
- 7東芝彩色電視機29SF6C維修說明書
- 4.86 MB | 9次下載 | 1 積分
- 8人形機器人電機驅(qū)動和傳感報告
- 4.27 MB | 9次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191382次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183338次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81586次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論