国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

    關注

    2576

    文章

    55041

    瀏覽量

    791333
  • 驅動器
    +關注

    關注

    54

    文章

    9083

    瀏覽量

    155526
  • 機器學習
    +關注

    關注

    66

    文章

    8553

    瀏覽量

    136949

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    穿孔機頂頭檢測機器視覺深度學習

    頂頭狀態檢測頂頭算法 引入人工智深度學習技術,通過Keras實現卷積神經網絡(CNN),用Numpy實現采集數據的訓練,得到符合現場需求的模型,進一步提升
    發表于 12-22 14:33

    如何通過性能表現判斷備用電池是否需要更換?

    判定,以下是詳細方法和標準: 一、放電續航能力測試:核心判定指標 電池的續航時長是容量衰減的直接體現,也是判斷是否更換的關鍵依據,操作和判定標準如下: 測試流程 確保電池處于 滿電浮充狀態
    的頭像 發表于 12-10 11:19 ?951次閱讀
    如何<b class='flag-5'>通過</b>性能表現<b class='flag-5'>判斷</b>備用電池是否需要更換?

    如何判斷備用電池是否需要更換?

    參數判定:量化評估電池健康狀態通過裝置本地屏、Web 界面或萬用表獲取電池關鍵參數,對比以下閾值判斷是否需更換: 電池類型 核心監測參數 健康
    的頭像 發表于 12-10 11:17 ?538次閱讀
    如何<b class='flag-5'>判斷</b>備用電池是否需要更換?

    如何深度學習機器視覺的應用場景

    深度學習視覺應用場景大全 工業制造領域 復雜缺陷檢測:處理傳統算法難以描述的非標準化缺陷模式 非標產品分類:對形狀、顏色、紋理多變的產品進行智能分類 外觀質量評估:基于學習的外觀質量標
    的頭像 發表于 11-27 10:19 ?220次閱讀

    設備的狀態監測可以通過哪些方式實現?

    設備狀態監測的核心是 通過 “硬件傳感 + 軟件自檢 + 通信反饋 + 遠程聯動”,實現對設備 “健康狀態、運行狀態、安全
    的頭像 發表于 11-07 09:44 ?902次閱讀

    基于FPGA的膚色檢測方案簡介

    ,絕大多數人的膚色分量位于這個區間中。基于此,可以通過判斷圖像中像素點的Cb和Cr分量,從而判斷是否存在人臉以及人臉位置。當然,這種檢測方法十分容易出現誤差,只要
    發表于 10-28 07:07

    如何判斷諧波檢測設備的環境干擾強度?

    判斷諧波檢測設備的環境干擾強度,需結合 “定性場景識別 + 定量工具測量 + 設備狀態反饋”,從 “是否有干擾源、干擾強度數值、干擾對設備的影響” 三個維度綜合判斷,核心是區分 “弱干
    的頭像 發表于 10-13 17:26 ?793次閱讀

    “芯”助力健康監測:新潔能NCE6050A如何點亮血壓檢測儀的精準信號

    在當今數字化醫療蓬勃發展的時代,精準的健康監測設備成為守護人們健康的堅實防線。而血壓檢測儀作為其中的關鍵一環,精準度直接關系到人們對自身健康
    的頭像 發表于 10-10 16:56 ?780次閱讀
    “芯”助力<b class='flag-5'>健康</b>監測:新潔能NCE6050A如何點亮血壓<b class='flag-5'>檢測</b>儀的精準信號

    機器視覺檢測PIN針

    物理損傷)必須進行極其精密的測量與核查。以往依賴人眼的檢測方式存在明顯短板:不僅作業速度慢、受人員狀態影響大(易疲勞導致誤判),而且在面對日益嚴苛的微米級精度標準時顯得力不從心。相比之下,基于機器視覺
    發表于 09-26 15:09

    如何通過日常數據判斷電源紋波是否超標?

    可觀測的異常表現。結合日常可獲取的數據(如設備運行狀態、簡單監測值、故障日志),可通過以下 4 個維度間接判斷,覆蓋工業、消費電子等常見場景: 一、通過 “設備運行
    的頭像 發表于 09-23 11:06 ?1092次閱讀
    如何<b class='flag-5'>通過</b>日常數據<b class='flag-5'>判斷</b>電源紋波是否超標?

    如何在機器視覺中部署深度學習神經網絡

    圖 1:基于深度學習的目標檢測可定位已訓練的目標類別,通過矩形框(邊界框)對進行標識。 在討論人工智能(AI)或深度
    的頭像 發表于 09-10 17:38 ?901次閱讀
    如何在<b class='flag-5'>機器</b>視覺中部署深度<b class='flag-5'>學習</b>神經網絡

    機器學習異常檢測實戰:用Isolation Forest快速構建無標簽異常檢測系統

    本文轉自:DeepHubIMBA無監督異常檢測作為機器學習領域的重要分支,專門用于在缺乏標記數據的環境中識別異常事件。本文深入探討異常檢測技術的理論基礎與實踐應用,
    的頭像 發表于 06-24 11:40 ?1414次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習</b>異常<b class='flag-5'>檢測</b>實戰:用Isolation Forest快速構建無標簽異常<b class='flag-5'>檢測</b>系統

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

    健康風險。核心功能包括:1.生理指標監測:通過生物電、光學傳感器等技術,檢測心率、血氧、血壓、血糖趨勢等關鍵指標,無需抽血即可獲取身體數據。2.疲勞度
    的頭像 發表于 05-28 17:56 ?579次閱讀
    精準監測,<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 ?6793次閱讀