女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

    關注

    2563

    文章

    52573

    瀏覽量

    763704
  • 驅動器
    +關注

    關注

    54

    文章

    8632

    瀏覽量

    149056
  • 機器學習
    +關注

    關注

    66

    文章

    8492

    瀏覽量

    134088

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    精準監測,健康無憂--XC3576H工控主板賦能亞健康檢測

    健康風險。核心功能包括:1.生理指標監測:通過生物電、光學傳感器等技術,檢測心率、血氧、血壓、血糖趨勢等關鍵指標,無需抽血即可獲取身體數據。2.疲勞度
    的頭像 發表于 05-28 17:56 ?88次閱讀
    精準監測,<b class='flag-5'>健康</b>無憂--XC3576H工控主板賦能亞<b class='flag-5'>健康</b><b class='flag-5'>檢測</b>儀

    【「# ROS 2智能機器人開發實踐」閱讀體驗】視覺實現的基礎算法的應用

    : 一、機器人視覺:從理論到實踐 第7章詳細介紹了ROS2在機器視覺領域的應用,涵蓋了相機標定、OpenCV集成、視覺巡線、二維碼識別以及深度學習目標檢測等內容。
    發表于 05-03 19:41

    如何檢測電機的好壞?

    檢測電機的好壞可以通過多種方法綜合判斷,以下是一些常用的檢測方法: ? 一、外觀檢查 首先,通過觀察電機的外觀,可以初步
    的頭像 發表于 04-23 17:23 ?574次閱讀

    斷路器的檢測方法

    斷路器的檢測方法多種多樣,以下是一些常見的檢測方法: 一、直觀檢查 直觀檢查是斷路器檢測的基礎步驟,主要通過觀察斷路器的外觀來判斷
    發表于 12-27 10:29

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

    來源:Master編程樹“機器學習”最初的研究動機是讓計算機系統具有人的學習能力以便實現人工智能。因為沒有學習能力的系統很難被認為是具有智能的。目前被廣泛采用的
    的頭像 發表于 11-16 01:07 ?844次閱讀
    什么是<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 ?4199次閱讀

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

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

    機器視覺在焊接質量檢測中的應用

    的可能性。今天跟隨創想智控小編一起了解機器視覺在焊接質量檢測中的應用。 1. 機器視覺原理 機器視覺是一種利用計算機技術對圖像進行分析和處理的技術。它
    的頭像 發表于 08-13 16:33 ?542次閱讀

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

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

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

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

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

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

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

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

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

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

    機器學習算法原理詳解

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

    名單公布!【書籍評測活動NO.35】如何用「時間序列與機器學習」解鎖未來?

    設備的運行狀況,生成各種維度的報告。 同時,通過大數據分析和機器學習技術,可以對業務進行預測和預警,從而協助社會和企業進行科學決策、降低成本創造新的價值。 當今時代,數據無處不在,
    發表于 06-25 15:00