91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

通過機器學(xué)習(xí)檢測葉子顏色并對其健康狀態(tài)作出判斷

電子森林 ? 來源:Aduino Project Hub ? 作者:Arduino “having11” ? 2021-04-01 10:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前提

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

硬件

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

設(shè)置TinyML

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

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

npm install -g edge-impulse-cli

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

edge-impulse-data-forwarder

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

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

顏色識別

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

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

APDS.readColor()

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

掃描儀

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

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

收集數(shù)據(jù)

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

處理和發(fā)送顏色信息

如前所述,使用

APDS.readColor()

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

Serial.printf()

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

訓(xùn)練模型

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

測驗

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

可以通過添加更多訓(xùn)練數(shù)據(jù)并減慢訓(xùn)練速度來提高此準確性。

代碼

#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入門到精通】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2576

    文章

    55069

    瀏覽量

    791529
  • 驅(qū)動器
    +關(guān)注

    關(guān)注

    54

    文章

    9084

    瀏覽量

    155645
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    66

    文章

    8554

    瀏覽量

    136986

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    穿孔機頂頭檢測機器視覺深度學(xué)習(xí)

    頂頭狀態(tài)。 檢測頂頭算法 引入人工智深度學(xué)習(xí)技術(shù),通過Keras實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(CNN),用Numpy實現(xiàn)采集數(shù)據(jù)的訓(xùn)練,得到符合現(xiàn)場需求的模型,進一步提升
    發(fā)表于 12-22 14:33

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

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

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

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

    如何深度學(xué)習(xí)機器視覺的應(yīng)用場景

    深度學(xué)習(xí)視覺應(yīng)用場景大全 工業(yè)制造領(lǐng)域 復(fù)雜缺陷檢測:處理傳統(tǒng)算法難以描述的非標準化缺陷模式 非標產(chǎn)品分類:對形狀、顏色、紋理多變的產(chǎn)品進行智能分類 外觀質(zhì)量評估:基于學(xué)習(xí)的外觀質(zhì)量標
    的頭像 發(fā)表于 11-27 10:19 ?230次閱讀

    設(shè)備的狀態(tài)監(jiān)測可以通過哪些方式實現(xiàn)?

    設(shè)備狀態(tài)監(jiān)測的核心是 通過 “硬件傳感 + 軟件自檢 + 通信反饋 + 遠程聯(lián)動”,實現(xiàn)對設(shè)備 “健康狀態(tài)、運行狀態(tài)、安全
    的頭像 發(fā)表于 11-07 09:44 ?913次閱讀

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

    ,絕大多數(shù)人的膚色分量位于這個區(qū)間中?;诖耍梢?b class='flag-5'>通過判斷圖像中像素點的Cb和Cr分量,從而判斷是否存在人臉以及人臉位置。當然,這種檢測方法十分容易出現(xiàn)誤差,只要
    發(fā)表于 10-28 07:07

    如何判斷諧波檢測設(shè)備的環(huán)境干擾強度?

    判斷諧波檢測設(shè)備的環(huán)境干擾強度,需結(jié)合 “定性場景識別 + 定量工具測量 + 設(shè)備狀態(tài)反饋”,從 “是否有干擾源、干擾強度數(shù)值、干擾對設(shè)備的影響” 三個維度綜合判斷,核心是區(qū)分 “弱干
    的頭像 發(fā)表于 10-13 17:26 ?802次閱讀

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

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

    機器視覺檢測PIN針

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

    如何通過日常數(shù)據(jù)判斷電源紋波是否超標?

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

    如何在機器視覺中部署深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

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

    機器學(xué)習(xí)異常檢測實戰(zhàn):用Isolation Forest快速構(gòu)建無標簽異常檢測系統(tǒng)

    本文轉(zhuǎn)自:DeepHubIMBA無監(jiān)督異常檢測作為機器學(xué)習(xí)領(lǐng)域的重要分支,專門用于在缺乏標記數(shù)據(jù)的環(huán)境中識別異常事件。本文深入探討異常檢測技術(shù)的理論基礎(chǔ)與實踐應(yīng)用,
    的頭像 發(fā)表于 06-24 11:40 ?1428次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學(xué)習(xí)</b>異常<b class='flag-5'>檢測</b>實戰(zhàn):用Isolation Forest快速構(gòu)建無標簽異常<b class='flag-5'>檢測</b>系統(tǒng)

    精準監(jiān)測,健康無憂--XC3576H工控主板賦能亞健康檢測

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

    【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】視覺實現(xiàn)的基礎(chǔ)算法的應(yīng)用

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

    如何檢測電機的好壞?

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