資料介紹
描述
?
這是全文的簡化版本,為了簡單起見,以便可以輕松地完成該項目的復制。在該模型中,使用與光相關的電子元件和機器學習機制進行顏色檢測和識別;它本質上是一個 RGB LED 和一個 CdS 單元(光傳感器,或 LDR)的組合,兩者都與環境光隔離。這些組件分別發射和感應從特定顏色的物體反射的每種光(紅色、綠色和藍色)的強度。
多層感知器
多層感知器 (MLP) 是人工神經網絡的前饋架構,具有輸入(非神經)層、隱藏層和輸出層。該網絡通過反向傳播算法進行訓練,執行監督學習(通過示例學習)。
對于這個顏色傳感器,上面說明的神經網絡接收3 個輸入(RGB 值),一個隱藏層有 6 個神經元,一個輸出層有 10 個神經元- 只是回憶一下:輸出層必須具有相同數量的類(顏色,in這種情況下),用于二值化輸出。對于本教程,網絡已經過訓練并且能夠識別顏色 :)。有關訓練步驟和用于它的示例數據集的更多詳細信息,請查看我博客中的完整帖子。
顏色識別
可以使用我們訓練有素的 MLP 網絡來執行此任務。它允許對空間可分離的模式進行分類和識別——在這種情況下非常有用。在其訓練步驟中,網絡將區域映射到下圖所示的 RGB 顏色空間中,因此被超平面隔離的每個區域都代表一種顏色。因此,每個新的 RGB 顏色模式(表示為 3D 點)都屬于特定區域,被分類為其各自的顏色。
為了使用 MLP 獲得泛化以更好地識別 RGB 模式,必須將訓練集(具有上述 3D 空間所需輸出的顏色示例)呈現給網絡以進行訓練步驟。此項目中使用的訓練集可在項目的GitHub存儲庫中獲得。如果您熱衷于神經網絡,請繼續閱讀本節并查看我開發的這個Playground ,這樣您就可以使用數據集自己訓練網絡并在代碼中使用它:)。否則,跳到實施細節。
泛化將發生在訓練集所包含的域中,因此值得關注空間每個組件的最小值和最大值!不要向網絡提供此域之外的模式,否則輸出將無法正常工作。
數據集(所有示例)包含 75 個顏色模式實例,范圍從 0 到 1。最初的范圍從 0 到 255,這些實例通過簡單地將每個值除以 255 進行重新縮放,使得 0 <= x1, x2, x3 <= 1 . 從數據集中可以看出,重要的是要指出,輸出層只有一個神經元必須輸出 1,而其余神經元必須輸出 0。由于經過訓練的網絡輸出浮點值,因此后處理如下:
?
?
其中 yi 是第 i 個神經元的輸出,max(y) 是最大的輸出值。實際上,輸出最大的神經元給出 1 作為輸出,其余的給出 0。就這么簡單。
電子電路
由物體產生的所有檢測過程都發生在電子電路中,包括在連接到 Arduino 板的 Atmega328 中運行的計算活動。從下面的示意圖中檢查接線。
代碼遵循上述使用共陽極RGB LED 的方案。
色彩理論
電子電路執行的顏色感知基于顏色理論概念。由于還沒有涉及透鏡,因此只應考慮具有不透明(和無光澤)材料的物體,避免處理 LED 的鏡面反射。另一方面,漫反射是用光進行顏色檢測的關鍵。入射光會在不規則表面反射,不會產生破壞 CdS 電池功能的發光效果。
回到實際的顏色理論,當光(某種顏色的)到達一個物體時,它會根據該物體顏色的特性而反射。例如,到達黃色物體的紅光將根據該黃色成分中存在多少紅色而反射 - 請記住,我們談論的是光!- 所以預計會有大量的紅光被反射,當我們想到黃色的 RGB 成分(基本上是紅色和綠色)時,這是有道理的。然而,當藍光到達黃色物體時,由于顏色成分中的藍色含量低,預計不會有強烈的反射。
考慮一個加色系統,其中白色和黑色分別代表每種顏色的存在和不存在(此處有更多詳細信息),可以測量(使用 CdS 單元)來自 RGB LED 的每種光的最大和最小反射,這些反射將達到彩色對象。也就是說,可以對電路中涉及的電子元件進行校準。這是在檢測中獲得保真度以及確保穩定檢測模式(避免異常值)的另一個關鍵 - 這是一個黃金提示:校準后,嘗試(努力?。┎灰苿踊蛴|摸電子元件(特別是當它們被放置在面包板中時),也不是您正在使用(您必須使用)將組件與環境光隔離的部件。
編程
對于校準和識別,一旦有色物體暴露于 RGB LED 和 CdS 單元,顏色傳感器就會執行三次迭代。在第一次迭代中,紅光照射到物體上,程序等待 CdS 細胞穩定其感應;然后讀取模擬輸入并存儲紅光的反射。該程序針對綠色和藍色重復了兩次以上。顏色理論中顯示的圖很好地直觀地解釋了這個迭代過程。
關于校準,上述迭代過程執行兩次:一次用于黑色,一次用于白色。正如色彩理論中所解釋的,這是為了檢測最大值和最小值——最初從接近零到接近 1024 ,根據讀數分辨率——紅、綠和藍光的反射,獲得真實范圍以正確重新調整到區間 [0 , 255](用于提供信息)和 [0, 1](饋送神經網絡的實際輸入)。
建立光傳感器讀數的等待時間可能因每個電子元件而異,因此最好提供一個良好的延遲以確保穩定的感應。在我的例子中,我給出了 500 毫秒的延遲,但值得一開始使用一個更大的值,然后再減小它直到出現不穩定行為的邊緣。
在檢測中,收集到的 RGB 值(范圍從 0 到 1)提供給 MLP,執行實際的顏色識別。對于在 Arduino 中運行的 MLP,我使用的是Neurona - 我編寫的一個庫,可以在 arduino 中輕松使用 ANN,它可以使用 Library Manager 從 Arduino IDE 安裝。另請查看此帖子以獲取更多詳細信息。
如前所述,網絡已經經過訓練,可以在項目代碼中進行檢測。它是使用我開發的Playground進行訓練的,將調整后的權重嵌入到代碼中,以便 Neurona 庫使網絡準備好運行。
測試
出于提供信息的目的,從數據集中提取了一些顏色以執行一些識別測試:
圖外的數字用于識別,圖內的數字表示錯誤分類,參考哪些顏色被分類。
- 使用TCS230 TCS3200顏色傳感器制作顏色檢測器
- Arduino項目之玩轉顏色傳感器
- 帶閃光燈LED的顏色傳感器
- 可讀取顏色的傳感器Adafruit_TCS34725-master 4次下載
- TCS230顏色傳感器的原理與應用及識別顏色的過程詳細說明 76次下載
- 搬運機器人顏色傳感器模塊的概述及其特點和應用的介紹 12次下載
- 傳感器顯示:大小、形狀和顏色 0次下載
- 顏色傳感器TCS230英版資料 0次下載
- 基于TCS3200顏色傳感器 71次下載
- TCS3200顏色傳感器配套資料 74次下載
- 基于顏色傳感器TCS230的氯離子和PH檢測儀設計 147次下載
- 基于Lego顏色傳感器的尋線小車程序 204次下載
- 基于TCS230傳感器的高精度顏色識別系統設計
- 煙葉初烤顏色采集器的設計 0次下載
- 顏色傳感器在新型養路機械中的應用
- 基于CW32系列MCU的GY-33顏色識別模塊設計 1472次閱讀
- Python OpenCV教程:特定顏色的檢測 919次閱讀
- 利用單片機的顏色識別系統設計 2947次閱讀
- 分享一個不錯的顏色檢測器/傳感器電路圖 3051次閱讀
- 分享一個不錯的顏色傳感器電路圖 3281次閱讀
- 顏色識別傳感器的類型及原理解析 1.5w次閱讀
- 什么是顏色傳感器它有哪些類型的 7658次閱讀
- dfrobot TCS3200 顏色傳感器簡介 2728次閱讀
- digilent顏色傳感模塊簡介 1596次閱讀
- ev3顏色傳感器能夠識別幾種顏色 2.1w次閱讀
- 顏色傳感器和色標傳感器的本質區別及應用解析 7089次閱讀
- 迎接顏色測量的新時代—— 顏色傳感器IC與光譜儀性能對比 3227次閱讀
- 顏色識別傳感器原理與應用詳解 6.8w次閱讀
- 一文讀懂顏色傳感器使用方法 3.9w次閱讀
- 從9個方面讓傳感器處理任何顏色通道所產生的噪聲和非線性響應 6066次閱讀
下載排行
本周
- 1使用單片機實現七人表決器的程序和仿真資料免費下載
- 2.96 MB | 44次下載 | 免費
- 2聯想E46L DAOLL6筆記本電腦圖紙
- 1.10 MB | 2次下載 | 5 積分
- 3MATLAB繪圖合集
- 27.12 MB | 2次下載 | 5 積分
- 4PR735,使用UCC28060的600W交錯式PFC轉換器
- 540.03KB | 1次下載 | 免費
- 5UCC38C42 30W同步降壓轉換器參考設計
- 428.07KB | 1次下載 | 免費
- 6DV2004S1/ES1/HS1快速充電開發系統
- 2.08MB | 1次下載 | 免費
- 7模態分解合集matlab代碼
- 3.03 MB | 1次下載 | 2 積分
- 8美的電磁爐維修手冊大全
- 1.56 MB | 1次下載 | 5 積分
本月
- 1使用單片機實現七人表決器的程序和仿真資料免費下載
- 2.96 MB | 44次下載 | 免費
- 2UC3842/3/4/5電源管理芯片中文手冊
- 1.75 MB | 15次下載 | 免費
- 3DMT0660數字萬用表產品說明書
- 0.70 MB | 13次下載 | 免費
- 4TPS54202H降壓轉換器評估模塊用戶指南
- 1.02MB | 8次下載 | 免費
- 5STM32F101x8/STM32F101xB手冊
- 1.69 MB | 8次下載 | 1 積分
- 6HY12P65/HY12P66數字萬用表芯片規格書
- 0.69 MB | 6次下載 | 免費
- 7華瑞昇CR216芯片數字萬用表規格書附原理圖及校正流程方法
- 0.74 MB | 6次下載 | 3 積分
- 8華瑞昇CR215芯片數字萬用表原理圖
- 0.21 MB | 5次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評論
查看更多