一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>開(kāi)源硬件自動(dòng)售貨機(jī)

開(kāi)源硬件自動(dòng)售貨機(jī)

2022-11-02 | zip | 0.06 MB | 次下載 | 3積分

資料介紹

描述

為什么選擇自動(dòng)售貨機(jī)?

自動(dòng)售貨機(jī)為用戶提供各種產(chǎn)品,如零食、飲料、比薩餅、紙杯蛋糕、蘇打水等。機(jī)器的界面包括一個(gè)數(shù)字鍵盤(pán),用戶可以在其中選擇所需的產(chǎn)品、輸入產(chǎn)品 ID 并進(jìn)行購(gòu)買。在covid-19爆發(fā)期間,最常被觸摸的按鈕板或控制臺(tái)被污染,因此我們無(wú)法為自動(dòng)售貨機(jī)使用數(shù)字鍵盤(pán)界面。這就是為什么最好選擇可以取代我們常規(guī)數(shù)字鍵盤(pán)控制臺(tái)的手勢(shì)控制系統(tǒng)。

這個(gè)怎么運(yùn)作?

深度學(xué)習(xí)模型是使用一些非常常見(jiàn)的手勢(shì)數(shù)據(jù)集構(gòu)建的,例如 Palm、Okay、Peace、Fist 和 L。富含這些手勢(shì)的 Kaggle 數(shù)據(jù)集可用于訓(xùn)練和測(cè)試模型 | 資源

pYYBAGNh68mAG4caAABM4r2FeYA054.png
5 個(gè)手勢(shì)的日期集
?

與其從頭開(kāi)始構(gòu)建順序模型,不如使用預(yù)訓(xùn)練模型,這就是我使用 VGG-16 神經(jīng)網(wǎng)絡(luò)的原因。除了能夠?qū)φ掌械奈矬w進(jìn)行分類之外,模型權(quán)重是免費(fèi)提供的,可以在我們自己的模型和應(yīng)用程序中加載和使用。這是一個(gè)沉重的模型,但預(yù)測(cè)準(zhǔn)確性非常令人滿意。我的訓(xùn)練模型可以在這里找到。它是使用帶有TensorFlow后端的Keras API生成的。

里面發(fā)生了什么

我們?cè)诨灸P筒季种锌吹降模写蠹s 4 層 -> 輸入層、輸出層,在兩個(gè)隱藏層之間。

  • 信息被輸入輸入層,輸入層將其傳輸?shù)诫[藏層
  • 兩層之間的互連為每個(gè)輸入隨機(jī)分配權(quán)重(權(quán)重是與輸入相乘的數(shù)值參數(shù),主要將輸入轉(zhuǎn)換為輸出
  • 在將權(quán)重與它們單獨(dú)相乘后添加到每個(gè)輸入的偏差(偏差只是為調(diào)整輸出而添加的數(shù)字參數(shù))
  • 加權(quán)和被轉(zhuǎn)移到激活函數(shù)
  • 激活函數(shù)確定應(yīng)該觸發(fā)哪些節(jié)點(diǎn)進(jìn)行特征提取
  • 該模型將應(yīng)用程序功能應(yīng)用于輸出層以傳遞輸出
  • 調(diào)整權(quán)重,并反向傳播輸出以最小化錯(cuò)誤

對(duì)于 VGG16 ,它不過(guò)是 16 層的堆棧。在這些層上,完成了不同的操作,例如:卷積、relu、最大池化等。來(lái)源可找到有關(guān) VGG-16 架構(gòu)及其實(shí)現(xiàn)方式的更多信息。

poYBAGNh69CAcVU6AACM2ZYYMkQ218.png
VGG-16 架構(gòu)
?

在繼續(xù)前進(jìn)之前

由于我們將使用 Raspberry-pi Zero W,我們需要擁有精簡(jiǎn)版的 Tensor Flow 才能將TinyML集成到我們的項(xiàng)目中。這樣,后端處理將盡可能順利地運(yùn)行。這就是為什么需要TF_lite 模型的原因。我的 TensorFlow lite 模型可以在這里找到。要了解更多關(guān)于 TensorFlow lite 模型從 TensorFlow 模型的轉(zhuǎn)換,我們可以去這里。

我使用Jupyter Notebook來(lái)構(gòu)建代碼并生成模型。因此,數(shù)據(jù)集必須存儲(chǔ)在本地。我如何構(gòu)建、訓(xùn)練、調(diào)整和測(cè)試我的模型,我使用的數(shù)據(jù)集也可以在這里找到。試圖使筆記本盡可能簡(jiǎn)單,用有用的注釋表示代碼:)。

圖像處理任務(wù)的四個(gè)階段概述

首先,相機(jī)開(kāi)始捕捉被分解成幀的視頻OpenCv 有助于每次迭代獲取一幀并執(zhí)行以下操作:

  • 獲取幀時(shí),應(yīng)用使用 OpenCv 雙邊濾波器功能的平滑濾波器。應(yīng)用平滑濾波器去除幀中的高空間頻率噪聲。
將前景與背景分開(kāi)以僅獲取手勢(shì)
  • 使用 OpenCv background_model_mog2 函數(shù)從靜態(tài)背景中提取移動(dòng)對(duì)象(手勢(shì))以單獨(dú)獲取前景對(duì)象。
  • 創(chuàng)建 background_model 后,通過(guò)一次迭代應(yīng)用 [3*3] 內(nèi)核來(lái)使用像 erode 這樣的形態(tài)學(xué)操作。在輸出中,小對(duì)象被移除,因此只剩下實(shí)質(zhì)性對(duì)象。然后進(jìn)行按位“與”操作,只保持輸出的相關(guān)部分,其他像素變暗。
獲取提取手勢(shì)的二值圖像
  • 首先,從背景模型中提取的圖像被轉(zhuǎn)換為??灰色。
  • 然后應(yīng)用高斯模糊濾波器來(lái)降低噪聲。選擇尺寸通常為標(biāo)準(zhǔn)偏差三倍的掩模。
  • 通過(guò)應(yīng)用一定的閾值將灰度圖像轉(zhuǎn)換為二值圖像。顏色空間的灰度或子空間在分類中產(chǎn)生了復(fù)雜性。這就是為什么最好使用二進(jìn)制圖像。
設(shè)置目標(biāo)圖像進(jìn)行預(yù)測(cè)
  • 這里堆棧操作執(zhí)行沿新軸連接圖像數(shù)組的序列。
  • 目標(biāo)圖像需要調(diào)整大小,這樣訓(xùn)練后的模型可以預(yù)測(cè)圖像并且不會(huì)與圖像大小沖突。
  • 進(jìn)行預(yù)測(cè)之前的下一步也是最后一步是,目標(biāo)圖像需要重新整形為 224*224*3 (width*height*color_channel_number)。
然后將目標(biāo)圖像輸入 predict_rgb_image 函數(shù),該函數(shù)返回圖像的預(yù)測(cè)分?jǐn)?shù)和預(yù)測(cè)類別。
poYBAGNh69SAJ-ROAACgkyLxEf8655.png
經(jīng)過(guò)一系列圖像處理操作后從輸入到輸出的轉(zhuǎn)換。
?

系統(tǒng)工作流程

pYYBAGNh69iAUo_XAACY5TFjZPQ628.png
系統(tǒng)流程
?

硬件

硬件部分分為兩個(gè)部分:

  • 捕獲流,檢測(cè)手勢(shì),通過(guò)藍(lán)牙將產(chǎn)品 ID 發(fā)送到 Arduino 無(wú)觸摸控制臺(tái):由 Raspberry Pi Zero W 完成。
  • 從 Pi 接收產(chǎn)品 id,發(fā)送要購(gòu)買的物品:由 Arduino 控制臺(tái)完成。

在硬件部分,我們將嘗試僅模擬 AutoVend 的手勢(shì)檢測(cè)、顯示控制臺(tái)和功能。我們不會(huì)關(guān)注它的機(jī)械部分。因?yàn)?,機(jī)械部件的功能與任何自動(dòng)售貨機(jī)相同。

為了從攝像頭流中獲取圖像幀并檢測(cè)手勢(shì),我們需要給 Raspberry Pi 零 W 上電。為此,我們可以使用 1100mAh 11.1 伏的鋰聚合物電池,并通過(guò)降壓轉(zhuǎn)換器將 11.1 伏轉(zhuǎn)換為 5 伏。

帶攝像頭設(shè)置的 Raspberry-pi 零 W

pYYBAGNh6-KAcmZ2AAQGwV3etyE243.png
帶有 Pi 攝像頭的樹(shù)莓派
?

現(xiàn)場(chǎng)直播

poYBAGNh6-iAQ1svAAHFJujWJAk667.png
使用 VNC 查看器從 Raspberry-pi 直播
?

溝通

我們有一個(gè)集成的藍(lán)牙模塊與我們的 Raspberry-pi 零 W,此外,我們可以使用外部藍(lán)牙模塊并通過(guò)串口連接它。我們將使用它與 Arduino 進(jìn)行通信。在 Arduino 部分,我們有 HC-05 藍(lán)牙模塊。為了在它們之間建立通信,我們將使用 COM/Serial 端口,它偵聽(tīng)任何嘗試連接的外部設(shè)備的操作 -like: here on COM8, the Bluetooth module integrated with Arduino is trying to connect with Raspberry-pi.

# Sample Code Snippet

serialPort = serial.Serial(port = "COM8", baudrate=9600,
bytesize=8, timeout=2, stopbits=serial.STOPBITS_ONE)

我們需要保持特定的波特率,否則集成 Arduino 的藍(lán)牙模塊無(wú)法同步。我們需要以下庫(kù)來(lái)完成這項(xiàng)工作。

import serial

展示

模擬購(gòu)買、訂購(gòu)和向用戶顯示不同提示的工作;一個(gè) 16*2 液晶面板將與 Arduino 集成。

撥動(dòng)開(kāi)關(guān)

撥動(dòng)開(kāi)關(guān)將用于喚醒機(jī)器。這將使整個(gè)相機(jī)過(guò)程從頭開(kāi)始工作。

力量

一個(gè) 9v 電池將為電路供電,使用線性轉(zhuǎn)換器 7805 將其轉(zhuǎn)換為 5v。然后將其饋入模擬自動(dòng)售貨機(jī)的面包板。

免觸摸控制臺(tái)

Arduino 控制臺(tái)的最終外觀

pYYBAGNh6_qAZyqaAAG2IOjm8sk176.png
最終電路組裝
?
pYYBAGNh7BaALOsxAArnHvAwvjs280.png
最終電路組裝
?

?

我們將如何購(gòu)買

假設(shè)這是 AutoVend 的產(chǎn)品映射,其中 11、12、13 ... ... 64、65、66 代表產(chǎn)品 ID。

poYBAGNh7C-ADa7fAACDX9YYzXk956.png
AutoVend 產(chǎn)品映射
?

現(xiàn)在,我們有這兩個(gè)手勢(shì)圖可供選擇

pYYBAGNh7DKAR8OyAACiOMzgHoM460.png
手勢(shì)圖-1
?

Other Digits(Except from 1 to 3):當(dāng)我們想選擇其他數(shù)字,這里沒(méi)有,我們需要去另一個(gè)手勢(shì)圖。最后一個(gè)手勢(shì)模式有助于打破這張地圖。

poYBAGNh7DWADX9oAACaLzQ00Sk860.png
手勢(shì)地圖-2
?

其他數(shù)字(4 到 6 除外):與前面描述的相同。目的是打破這張地圖。

技巧:正如我們所見(jiàn),所有數(shù)字都是使用由三個(gè)符號(hào)組成的特定模式構(gòu)建的。如果我們需要選擇一個(gè)數(shù)字(如:4),那么我們必須對(duì)所有三個(gè)標(biāo)志進(jìn)行手勢(shì)。但是,如果我們要手勢(shì)多位數(shù)字(如:45),那么我們不必兩次都手勢(shì)。只需要打手勢(shì)一次,就可以打手勢(shì)了。

L + 好的 + 拳頭 + 好的 = 數(shù)字 (45)

我們想購(gòu)買 ID-15 的產(chǎn)品

poYBAGNh7DeANdfpAACP9UB32Go459.png
自動(dòng)售貨功能
?

使用這兩個(gè)地圖,我們需要在相機(jī)之前順序顯示以下手勢(shì)

poYBAGNh7DqAYB6lAACr7CPgW50228.png
順序手勢(shì)的步驟
?

最后,我們需要顯示手勢(shì)“L”

pYYBAGNh7D2ABGAtAAAj-aQTEdY559.png
恭喜購(gòu)買
?

所以整個(gè)打手勢(shì)的過(guò)程:

Peace + L + Okay + Peace + Okay + Palm + Fist + Okay + Palm + Okay + L = Digit(15)

讓我們使用 ID-15 購(gòu)買產(chǎn)品:

我們將模擬Raspberry Pi 的手勢(shì)步驟,并了解無(wú)觸摸Arduino控制臺(tái)的功能。

?

結(jié)論:

我使用本地機(jī)器(例如筆記本電腦)和Jupyter Notebook來(lái)訓(xùn)練、測(cè)試和評(píng)估模型。最后,我生成了 TensorFlow lite 模型。在 raspberry pi 零上執(zhí)行實(shí)時(shí)手勢(shì)識(shí)別,并在帶有VNC 查看器應(yīng)用程序的筆記本電腦上看到提要。無(wú)觸摸控制臺(tái)是用 Arduino Nano 構(gòu)建的。

使用AutoVend ,不僅可以自動(dòng)化購(gòu)買雜貨的整個(gè)過(guò)程,而且還可以成為我們的常規(guī)小工具如何智能到足以為我們提供抵御 Covid-19 大流行的安全性的一個(gè)很好的例子 :)


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)