日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

如何使用Arduino KNN庫進行簡單的機器學習?

電子森林 ? 來源:硬禾學堂 ? 作者:硬禾學堂 ? 2021-04-01 10:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

除了像TensorFlow for Arduino這樣強大的深度學習架構(gòu)外,還有一些經(jīng)典的ML方法適用于嵌入式設(shè)備上的較小數(shù)據(jù)集,這些方法有用且易于理解-最簡單的方法之一就是KNN。

KNN的一個優(yōu)勢在于,一旦Arduino獲得了一些示例數(shù)據(jù),就可以立即對其進行分類。我們已經(jīng)發(fā)布了一個新的Arduino庫,可以快速輕松地將KNN導入在程序中,且無需進行設(shè)備外培訓或其他工具。

在本文中,我們將使用顏色分類器示例來介紹KNN。之前在深度學習中我們展示過相同的應(yīng)用程序,相比之下,KNN是一種更快、更輕量的方法,但無法擴展到更大,更復雜的數(shù)據(jù)集。

顏色分類示例

在本教程中,我們將介紹如何使用Arduino Nano 33 BLE Sense上的Arduino_KNN庫按顏色對其對象進行分類。

在進行配置時我們將需要進行以下準備:

Arduino Nano 33 BLESense開發(fā)板

MicroUSB數(shù)據(jù)線

打開Arduino IDE或Arduino Create的云端編譯器

安裝Arduino_KNN庫

從文件》示例》 Arduino_KNN中選擇ColorClassifier

編譯程序并上傳到您的Arduino開發(fā)板

Arduino_KNN庫

該示例使用了Arduino_KNN庫,該庫提供了一個簡單的界面,可在我們自己的程序中使用KNN:

#include 《Arduino_KNN.h》 // Create a new KNNClassifierKNNClassifier myKNN(INPUTS);

在本示例中,INPUTS = 3 用來表示顏色傳感器的R、G和B值。

采樣對象顏色

當打開串行監(jiān)視器時會看到以下消息:

Arduino KNN color classifierShow me an example Apple

Arduino開發(fā)板已準備好采樣對象顏色。如果你沒有蘋果,梨或者橙子,則可能需要通過編輯程序來放置不同的標簽。顏色傳感器最好在光線充足的房間中處理粗糙,無光澤的物體,并且每個類別都必須具有不同的顏色?。伾珎鞲衅鞑⒉皇菂^(qū)分橙色和橘子的理想選擇,但是它可以檢測到橙子的成熟程度。如果要按形狀對物體進行分類,則可以始終使用相機。)

當Arduino開發(fā)板靠近對象時,它將對顏色進行采樣并將其添加到KNN示例中,并帶有標記對象所屬類的數(shù)字(即代表蘋果,橙子或梨的數(shù)字0、1或2)。提供標記的示例數(shù)據(jù)的ML技術(shù)也稱為監(jiān)督學習。

程序中用于將示例數(shù)據(jù)添加到KNN函數(shù)的代碼如下:

readColor(color); // Add example color to the KNN modelmyKNN.addExample(color, currentClass);

顏色樣本的紅色,綠色和藍色級別也通過串口輸出:

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

程序為每個對象獲取30個顏色樣本??梢韵蚱滹@示一個對象,它將對顏色進行30次采樣-本教程不需要30個蘋果?。ūM管更廣泛的數(shù)據(jù)集將使模型更通用)

分類

通過獲取示例樣品,程序現(xiàn)在將要求猜測該對象。該示例的使用與獲取訓練數(shù)據(jù)時是相同的功能讀取顏色傳感器,只是這一次它調(diào)用分類函數(shù),當顯示顏色時,它將分類對象類:

readColor(color); // Classify the object classification = myKNN.classify(color, K);

您可以嘗試向其顯示一個對象,然后查看其效果:

Let me guess your object0.44,0.28,0.28You showed me an Apple

注意:這不是100%準確的,尤其是在物體表面變化或照明條件變化的情況下。我們也可以嘗試使用不同數(shù)量的實例、k的值以及不同的對象和環(huán)境,以查看其如何影響結(jié)果。 KNN如何運作?盡管Arduino_KNN庫完成了數(shù)學運算,但在為應(yīng)用程序選擇ML算法時,了解ML算法的工作原理很有用。簡而言之,KNN算法通過比較對象與先前看到的示例的接近程度來對對象進行分類。下面是一個示例圖表,其中包含平均每日溫度和濕度數(shù)據(jù)點。每個示例都標有一個季節(jié):

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

為了對新對象(圖表上的“?”)進行分類,KNN分類器將查找它所看到的最相似的先前示例。由于在我們的示例中有兩個輸入,因此算法通過計算新對象與每個先前示例之間的距離來實現(xiàn)此目的。上面最接近的示例標記為“Winter”。 KNN中的k只是算法考慮的最接近示例的數(shù)量。在k = 3的情況下,它會計算三個最接近的示例。在上面的圖表中,該算法將對Spring投2票,對Winter投1票-因此結(jié)果將變?yōu)镾pring。

KNN的一個缺點是訓練示例數(shù)據(jù)的數(shù)量越大,每次對對象進行分類時,KNN算法需要花費的檢查時間就越長。這使得KNN對于大型數(shù)據(jù)集不太可行,并且是KNN與基于深度學習的方法之間的主要區(qū)別。

按顏色分類的對象

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

在我們的顏色分類器示例中,來自顏色傳感器的三個輸入。每個對象的示例顏色可被視為位于R、G和B軸上的三維空間中的點。像往常一樣,KNN算法通過檢查輸入與先前看到的示例的接近程度來猜測對象,但是由于這次有3個輸入,因此必須計算三維空間中的距離。數(shù)據(jù)的維數(shù)越多,計算分類結(jié)果的工作就越多。

進一步的想法

這只是對KNN可能實現(xiàn)的快速了解。我們可以在庫示例中找到一個有關(guān)電路板方向的示例,以及一個可以繼續(xù)使用的簡單示例。你也可以將BLE Sense板上的任何傳感器用作輸入,甚至可以將KNN與其他ML技術(shù)結(jié)合使用。

當然,還有其他可用于Arduino的機器學習資源,包括TensorFlow Lite教程以及專業(yè)工具(如Edge Impulse和Qeexo)的支持。在接下來我們將更多的在Arduino上探索機器學習。

原文標題:使用Arduino KNN進行簡單的機器學習

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

責任編輯:haq

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

    關(guān)注

    2578

    文章

    55567

    瀏覽量

    794229
  • 機器學習
    +關(guān)注

    關(guān)注

    67

    文章

    8567

    瀏覽量

    137256
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6527

    瀏覽量

    197518

原文標題:使用Arduino KNN進行簡單的機器學習

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    機器學習特征工程:分類變量的數(shù)值化處理方法

    編碼是機器學習流程里最容易被低估的環(huán)節(jié)之一,模型沒辦法直接處理文本形式的分類數(shù)據(jù),尺寸(Small/Medium/Large)、顏色(Red/Blue/Green)、城市、支付方式等都是典型的分類
    的頭像 發(fā)表于 02-10 15:58 ?473次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習</b>特征工程:分類變量的數(shù)值化處理方法

    人工智能與機器學習在這些行業(yè)的深度應(yīng)用

    自人工智能和機器學習問世以來,多個在線領(lǐng)域的數(shù)字化格局迎來了翻天覆地的變化。這些技術(shù)從誕生之初就為企業(yè)賦予了競爭優(yōu)勢,而在線行業(yè)正是受其影響最為顯著的領(lǐng)域。人工智能(AI)與機器學習
    的頭像 發(fā)表于 02-04 14:44 ?704次閱讀

    機器學習和深度學習中需避免的 7 個常見錯誤與局限性

    無論你是剛?cè)腴T還是已經(jīng)從事人工智能模型相關(guān)工作一段時間,機器學習和深度學習中都存在一些我們需要時刻關(guān)注并銘記的常見錯誤。如果對這些錯誤置之不理,日后可能會引發(fā)諸多麻煩!只要我們密切關(guān)注數(shù)據(jù)、模型架構(gòu)
    的頭像 發(fā)表于 01-07 15:37 ?367次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習</b>和深度<b class='flag-5'>學習</b>中需避免的 7 個常見錯誤與局限性

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

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

    自制巡線解迷宮機器人(上)

    Arduino語法的靜態(tài)鏈接,取名為RVStarArduino,這樣不僅我可以將自己之前基于Arduino所做的機器人項目中的一些代碼無縫地移植過來,從而大大提高了項目的開發(fā)效率,還
    發(fā)表于 10-20 10:39

    Altium Designer集成如何進行離散編輯

    集成是一個原理圖庫和PCB封裝對應(yīng)好封裝的一個集合,集成的方便就是可以直接調(diào)用,但是往往我們需要對封裝添加或者修改,集成
    的頭像 發(fā)表于 10-16 11:06 ?1289次閱讀
    Altium Designer集成<b class='flag-5'>庫</b>如何<b class='flag-5'>進行</b>離散編輯

    Arduino Uno l兩輪自平衡機器人 電機驅(qū)動無輸出求解

    Arduino Uno l兩輪自平衡機器人 電機驅(qū)動無輸出求解
    發(fā)表于 10-15 06:36

    XKCON祥控輸煤皮帶智能機器人巡檢系統(tǒng)對監(jiān)測數(shù)據(jù)進行挖掘分析

    XKCON祥控輸煤皮帶智能機器人巡檢系統(tǒng)通過智能機器人在皮帶運行過程中對皮帶的運行狀態(tài)和環(huán)境狀況進行實時檢測,在應(yīng)用過程中,不但提升了巡視周期頻次,還通過大數(shù)據(jù)分析和深度學習算法,對監(jiān)
    的頭像 發(fā)表于 09-15 11:22 ?802次閱讀
    XKCON祥控輸煤皮帶智能<b class='flag-5'>機器</b>人巡檢系統(tǒng)對監(jiān)測數(shù)據(jù)<b class='flag-5'>進行</b>挖掘分析

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

    圖 1:基于深度學習的目標檢測可定位已訓練的目標類別,并通過矩形框(邊界框)對其進行標識。 在討論人工智能(AI)或深度學習時,經(jīng)常會出現(xiàn)“神經(jīng)網(wǎng)絡(luò)”、“黑箱”、“標注”等術(shù)語。這些概念對非專業(yè)
    的頭像 發(fā)表于 09-10 17:38 ?1074次閱讀
    如何在<b class='flag-5'>機器</b>視覺中部署深度<b class='flag-5'>學習</b>神經(jīng)網(wǎng)絡(luò)

    芯科科技Arduino開發(fā)資源重大更新

    Silicon Labs (芯科科技)近期于在線技術(shù)社群中發(fā)布了面向Arduino Core和Matter的重大更新,帶來了兩個關(guān)鍵突破:全面支持Matter 1.4標準,以及人工智能和機器
    的頭像 發(fā)表于 08-20 15:51 ?1147次閱讀

    FPGA在機器學習中的具體應(yīng)用

    隨著機器學習和人工智能技術(shù)的迅猛發(fā)展,傳統(tǒng)的中央處理單元(CPU)和圖形處理單元(GPU)已經(jīng)無法滿足高效處理大規(guī)模數(shù)據(jù)和復雜模型的需求。FPGA(現(xiàn)場可編程門陣列)作為一種靈活且高效的硬件加速平臺
    的頭像 發(fā)表于 07-16 15:34 ?3115次閱讀

    【嘉楠堪智K230開發(fā)板試用體驗】K230機器視覺相關(guān)功能體驗

    畫圖 機器學習模型在通過攝像頭獲取圖像后,經(jīng)過處理輸入后,在輸出環(huán)節(jié)通常還需要進行后處理,例如圖像檢測應(yīng)用中,目標位置的框選等。 在K230中提供了畫圖的功能,可以實現(xiàn)畫線段、畫矩形、畫圓、畫箭頭
    發(fā)表于 07-08 17:25

    免費分享Arduino入門+進階(全套例程+書籍)

    創(chuàng)意,比如控制燈光、傳感器、電機等。以下是Arduino入門+進階學習資料1.Arduino編程語言說明(相關(guān)文件可在下文掃碼領(lǐng)?。?.Arduino系列
    的頭像 發(fā)表于 05-22 11:40 ?1343次閱讀
    免費分享<b class='flag-5'>Arduino</b>入門+進階(全套例程+書籍)

    使用MATLAB進行無監(jiān)督學習

    無監(jiān)督學習是一種根據(jù)未標注數(shù)據(jù)進行推斷的機器學習方法。無監(jiān)督學習旨在識別數(shù)據(jù)中隱藏的模式和關(guān)系,無需任何監(jiān)督或關(guān)于結(jié)果的先驗知識。
    的頭像 發(fā)表于 05-16 14:48 ?1635次閱讀
    使用MATLAB<b class='flag-5'>進行</b>無監(jiān)督<b class='flag-5'>學習</b>

    《ESP32S3 Arduino開發(fā)指南》第二章 Arduino基礎(chǔ)知識

    的發(fā)展,在Arduino出現(xiàn)以前,雖然也有很多公司在推廣一些簡單易用的可編程控制器,但是由于開發(fā)平臺種類繁多,而且使用這些控制器基本上都需要對電子技術(shù)、數(shù)字邏輯、寄存器等內(nèi)容進行多方面的了解和
    發(fā)表于 05-13 09:28
    桐城市| 双牌县| 巴马| 华阴市| 泗洪县| 屯昌县| 二连浩特市| 大埔县| 黄平县| 巍山| 易门县| 确山县| 汤阴县| 光泽县| 黎城县| 巧家县| 南平市| 瑞金市| 志丹县| 宁安市| 绿春县| 娱乐| 砀山县| 曲靖市| 桐庐县| 晋江市| 铜山县| 蒙城县| 南丰县| 东平县| 远安县| 封开县| 马尔康县| 奈曼旗| 吉安市| 常熟市| 六盘水市| 商丘市| 高邮市| 水富县| 樟树市|