色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通過機器學習檢測葉子顏色并對其健康狀態作出判斷

電子森林 ? 來源:Aduino Project Hub ? 作者:Arduino “having11” ? 2021-04-01 10:10 ? 次閱讀

前提

就像人類一樣,植物也可能染病,比如植物的葉子可能會因真菌或其他病原體而發黃或出現斑點。因此,通過機器學習的力量,可以掃描顏色,然后將其用于訓練一個模型,該模型可以檢測葉子的顏色并對其健康狀態作出判斷。

硬件

這個項目主要用Arduino Nano 33 BLE Sense,它之所以被選中主要是它具有一組功能強大的傳感器,包括9DoF IMU,APDS-9960(顏色,手勢,接近度和亮度),麥克風以及溫度/濕度/壓力傳感器組合。為了使電路板圍繞植物的葉子移動并進行測量,將一對步進電機與一對DRV8825驅動器板配合使用。

設置TinyML

對于此項目,列出的針對Arduino Nano 33 BLE Sense on Edge Impulse的內置傳感器將不起作用,這意味著將我們必須使用data forwarder而不是serial daemon。

首先,創建一個新項目并將其命名。接下來需要通過Node.js以及NPM來安裝EdgeImpulse CLI。然后運行:

npm install -g edge-impulse-cli

如果找不到安裝路徑,則可能需要將其安裝路徑添加到PATH環境變量中。接下來,運行

edge-impulse-data-forwarder

并確保其有效,然后按Ctrl + C退出。

d97068ba-9245-11eb-8b86-12bb97331649.jpg

顏色識別

APDS-9960的工作原理是:通過物體表面所反射的光線波長來讀取顏色。為了與傳感器通信,最好安裝Arduino APDS9960庫,該庫可以訪問一些有用的功能。

在代碼中,首先初始化APDS-9960,然后程序進入循環功能,等待直到有顏色數據出現。如果有讀數,則使用

APDS.readColor()

以及與表面的接近程度來讀取顏色。每個RGB分量都從0-2 ^ 16-1數轉換為其值與總和的比率。

掃描儀

掃描葉子的顏色是通過在兩個軸上移動裝備以使葉子在車載APDS-9960下方經過的各個位置進行的。通過沿順時針或逆時針方向旋轉絲杠來移動每個軸,以使程序段沿任一方向平移。整個系統是在Fusion 360中設計的,下面是這些設計的一些渲染圖:

X軸位于Y軸的頂部,從而使頂部程序段在兩個軸上移動。Y軸上有一個附加的V輪,以支撐步進電機的重量。零件是使用PLA打印的,填充量約為45%。

收集數據

當系統首次啟動時,步進電機是不知道它的初始位置的,因此我們必須進行原點復位,(可通過限位開關實現)。接下來初始化APDS-9960。有一個定義為兩個元素的數組的邊界框,它們包含一個框的相對角。在這兩個位置之間選擇一個隨機點,然后將步進器運行到該位置,同時讀取它們之間的顏色。

處理和發送顏色信息

如前所述,使用

APDS.readColor()

來讀取顏色。計算總和后,將計算百分比,然后通過調用

Serial.printf()

的方法通過USB發送百分比。值用逗號分隔,每個讀數用換行符分隔。數據轉發器程序接收到數據后,會將其作為帶有給定標簽(健康或不健康)的訓練數據發送到Edge Impulse云端。

訓練模型

收集完所有訓練數據后,就該建立一個可以區分健康葉子和不健康葉子的模型了。我使用了由三軸時間序列,頻譜分析模塊和Keras模塊組成的脈沖。查看以下屏幕截圖可以了解我如何從數據中生成這些功能:

測驗

為了測試新模型,這次我收集了一些新的測試數據,這是不健康的。該模型的準確性約為63%,并且在通過一些測試功能后,能夠在大多數時間正確地對葉子進行分類。

可以通過添加更多訓練數據并減慢訓練速度來提高此準確性。

代碼

#include 《Arduino_APDS9960.h》#include 《AccelStepper.h》#include 《MultiStepper.h》#include “pinDefs.h” int r, g, b, c, p;

float sum;

AccelStepper xStepper(AccelStepper::DRIVER, STEPPER_1_STEP, STEPPER_1_DIR);

AccelStepper yStepper(AccelStepper::DRIVER, STEPPER_2_STEP, STEPPER_2_DIR);

MultiStepper steppers;// a random location will be chosen within the bounding box

const long boundingBox[2][2] = { {0,0}, {40,40}};

void setup(){ Serial.begin(115200); while(!Serial);

if(!APDS.begin()) { Serial.println(“Could not init APDS9960”); while(1); }

pinMode(X_AXIS_HOMING_SW, INPUT_PULLUP); pinMode(Y_AXIS_HOMING_SW, INPUT_PULLUP); //Serial.println(digitalRead(X_AXIS_HOMING_SW) + digitalRead(Y_AXIS_HOMING_SW)); xStepper.setPinsInverted(X_AXIS_DIR); yStepper.setPinsInverted(Y_AXIS_DIR); xStepper.setMaxSpeed(150); yStepper.setMaxSpeed(150); steppers.addStepper(xStepper); steppers.addStepper(yStepper); homeMotors();}

void loop(){ long randomPos[2]; randomPos[0] = random(boundingBox[0][0], boundingBox[1][0]) * STEPS_PER_MM; randomPos[1] = random(boundingBox[0][1], boundingBox[1][1]) * STEPS_PER_MM; steppers.moveTo(randomPos);

while(steppers.run()) { if(!APDS.colorAvailable() || !APDS.proximityAvailable()){} else { APDS.readColor(r, g, b, c); sum = r + g + b; p = APDS.readProximity();

if(!p && c 》 10 && sum 》= 0) { float rr = r / sum, gr = g / sum, br = b / sum; Serial.printf(“%1.3f,%1.3f,%1.3f

”, rr, gr, br); } } }}

void homeMotors(){ // home x //Serial.println(“Now homing x”); while(digitalRead(X_AXIS_HOMING_SW))

xStepper.move(-1);

// home y //Serial.println(“Now homing y”); while(digitalRead(Y_AXIS_HOMING_SW)) yStepper.move(-1); xStepper.setCurrentPosition(0); yStepper.setCurrentPosition(0);}

原理圖

dae9a12a-9245-11eb-8b86-12bb97331649.png

原文標題:Arduino使用TinyML掃描植物的葉子確定植物的健康

文章出處:【微信公眾號:FPGA入門到精通】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2552

    文章

    51228

    瀏覽量

    754679
  • 驅動器
    +關注

    關注

    53

    文章

    8259

    瀏覽量

    146610
  • 機器學習
    +關注

    關注

    66

    文章

    8425

    瀏覽量

    132771

原文標題:Arduino使用TinyML掃描植物的葉子確定植物的健康

文章出處:【微信號:xiaojiaoyafpga,微信公眾號:電子森林】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    什么是機器學習通過機器學習方法能解決哪些問題?

    來源:Master編程樹“機器學習”最初的研究動機是讓計算機系統具有人的學習能力以便實現人工智能。因為沒有學習能力的系統很難被認為是具有智能的。目前被廣泛采用的
    的頭像 發表于 11-16 01:07 ?447次閱讀
    什么是<b class='flag-5'>機器</b><b class='flag-5'>學習</b>?<b class='flag-5'>通過</b><b class='flag-5'>機器</b><b class='flag-5'>學習</b>方法能解決哪些問題?

    晶體管的工作狀態判斷方法

    晶體管的工作狀態判斷是電子工程領域中的一項重要技能,它對于確保電路的正常運行和性能優化至關重要。晶體管的工作狀態通常根據其內部PN結的偏置情況來判斷,主要包括截止
    的頭像 發表于 09-23 18:16 ?2695次閱讀

    基于機器學習的IWR6843AOP跌倒和姿態檢測實現

    電子發燒友網站提供《基于機器學習的IWR6843AOP跌倒和姿態檢測實現.pdf》資料免費下載
    發表于 09-03 10:02 ?1次下載
    基于<b class='flag-5'>機器</b><b class='flag-5'>學習</b>的IWR6843AOP跌倒和姿態<b class='flag-5'>檢測</b>實現

    時序邏輯電路中如何判斷有效狀態和無效狀態

    在時序邏輯電路中,有效狀態和無效狀態判斷是電路分析和設計的重要環節。有效狀態是指電路在實際工作過程中被利用到的狀態,它們構成了電路的有效循
    的頭像 發表于 08-12 15:51 ?2961次閱讀

    觸發器的無效狀態怎么判斷

    觸發器的無效狀態判斷是一個涉及數據庫管理和維護的重要方面。觸發器作為數據庫中的一種特殊對象,有效性直接關系到數據庫操作的正確性和性能。
    的頭像 發表于 08-12 14:46 ?805次閱讀

    【「時間序列與機器學習」閱讀體驗】全書概覽與時間序列概述

    如何通過根因分析技術獲得導致故障的維度和元素,包括基于時間序列異常檢測算法的根因分析、基于熵的根因分析、基于樹模型的根因分析、規則學習等。 ●第7章“智能運維的應用場景”:介紹智能運維領域的應用,包括
    發表于 08-07 23:03

    mesh中的非葉子節點是如何配置的?

    mesh中的非葉子節點是如何配置的?是mesh網絡自動生成嗎?
    發表于 07-11 08:28

    深度學習在工業機器視覺檢測中的應用

    隨著深度學習技術的快速發展,在工業機器視覺檢測中的應用日益廣泛,展現出巨大的潛力。工業機器
    的頭像 發表于 07-08 10:40 ?1108次閱讀

    機器學習算法原理詳解

    機器學習作為人工智能的一個重要分支,目標是通過讓計算機自動從數據中學習改進
    的頭像 發表于 07-02 11:25 ?1136次閱讀

    怎么判斷MOS管的工作狀態

    MOS管(Metal-Oxide-Semiconductor Field-Effect Transistor,金屬-氧化物半導體場效應晶體管)是現代電子電路中常見的關鍵元件,工作狀態直接影響電路的性能和穩定性。本文將詳細探討如何判斷
    的頭像 發表于 05-30 16:42 ?1946次閱讀

    實例分享:如何使用阿童木顏色傳感器檢測轉動軸的轉向

    摘要本案例描述了如何利用顏色傳感器來檢測轉動軸的轉向。河北省客戶提出了一個問題,希望能夠判斷他們的轉向軸是正轉還是反轉,轉速并不快。阿童木工程師提供解決方案,通過在圓柱體上貼上三種不同
    的頭像 發表于 05-23 13:50 ?307次閱讀
    實例分享:如何使用阿童木<b class='flag-5'>顏色</b>傳感器<b class='flag-5'>檢測</b>轉動軸的轉向

    機器視覺如何檢測橡膠圈外觀尺寸檢測

    外觀檢測 機器視覺系統可以檢測橡膠圈表面的缺陷,裂紋、氣泡、凹陷等。通過圖像處理算法,系統能夠準確識別標記出這些缺陷。系統能夠精確識別
    的頭像 發表于 03-15 17:24 ?595次閱讀

    如何判斷rlc串聯電路達到諧振狀態

    判斷RLC串聯電路達到諧振狀態是一個重要的問題,在電路設計和實際應用中有著廣泛的應用。要準確判斷RLC串聯電路是否達到諧振狀態,需要從電路的特性、頻率響應和振蕩條件等多個方面進行綜合分
    的頭像 發表于 03-09 09:07 ?4426次閱讀

    軌道式智能巡檢機器通過搭載各項檢測設備進行環境采集

    在電力場所內內,智能巡檢機器通過搭載雙光譜紅外熱成像儀沿著軌道穩穩經過,可對變電站保護壓板狀態、變電站二次開關等設備狀態等進行圖像信息采集;
    的頭像 發表于 03-06 09:46 ?557次閱讀
    軌道式智能巡檢<b class='flag-5'>機器</b>人<b class='flag-5'>通過</b>搭載各項<b class='flag-5'>檢測</b>設備進行環境采集

    顏色傳感器實時檢測轉動軸轉向

    摘要 本案例描述了如何利用顏色傳感器來檢測轉動軸的轉向。河北省客戶提出了一個問題,希望能夠判斷他們的轉向軸是正轉還是反轉,轉速并不快。阿童木工程師提供解決方案,通過在圓柱體上貼上三種不
    的頭像 發表于 02-26 13:52 ?383次閱讀
    <b class='flag-5'>顏色</b>傳感器實時<b class='flag-5'>檢測</b>轉動軸轉向
    主站蜘蛛池模板: 国产精品热久久高潮AV袁孑怡 | 日本高清无人区影院| 欧美 日韩 无码 有码 在线| 小女生RAPPER入口| china中国gay偷拍| 狠狠色狠狠色综合日日32| 日本调教网站| 51国产午夜精品免费视频| 国产专区青青在线视频| 伦理片92伦理午夜| 亚洲色图激情小说| 国产高清在线观看视频| 欧美雌雄双性人交xxxx| adc我们的永久网址| 欧美另类一区| 粗暴玩烂货调教| 无码99久热只有精品视频在线| 国产盗摄一区二区| 性欧美videosex18嫩| 黄色大片久久| 中字幕视频在线永久在线| 免费女人光着全身网站| YELLOW视频在线观看大全| 色久久久综合88一本道| 国产成人免费视频| 亚洲AV永久无码精品老司机蜜桃| 和尚轮流澡到高潮H| 越南女 黑人 痛苦 大叫| 美女靠逼漫画| 成人特级毛片| 亚洲电影不卡| 乱码国产丰满人妻WWW| xxx日本hd| 亚洲 自拍 欧洲 视频二区| 久久99视热频国只有精品| 99久久蜜臀亚洲AV无码精品| 日本无码毛片久久久九色综合| 国产精品看高国产精品不卡| 亚洲免费视频日本一区二区| 良家人妻无码专区九色颜射| 成人高清网站|