RM新时代网站-首页

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>TensorFlow手勢識別樹莓派開源

TensorFlow手勢識別樹莓派開源

2022-11-09 | zip | 0.76 MB | 次下載 | 2積分

資料介紹

描述

該項(xiàng)目背后的想法是創(chuàng)建一個能夠根據(jù)手指手勢驅(qū)動執(zhí)行器的設(shè)備。

該項(xiàng)目專門用于識別 raspberry-pi 相機(jī)拍攝的手部流圖像。

用于訓(xùn)練模型的圖像數(shù)據(jù)集是臨時創(chuàng)建的,圖像僅從 Raspberry 相機(jī)(而非其他設(shè)備)拍攝,具有中性背景。

該模型基于Inception v3模型的遷移學(xué)習(xí),為處理項(xiàng)目需求而定制。最后一層從Inception v3模型中刪除,并添加了幾層以使用新數(shù)據(jù)集進(jìn)行自定義,并僅提供四種情況的輸出。

該模型使用先前在桌面(32 Gb ram + GPU)上收集和預(yù)分類的圖像進(jìn)行訓(xùn)練。一旦模型經(jīng)過訓(xùn)練和測試,它就會被導(dǎo)出到 Raspberry Pi。

創(chuàng)建數(shù)據(jù)集

該項(xiàng)目的目的是確定我手指的位置。

因此,它創(chuàng)建了一個圖像數(shù)據(jù)集,其中手指在四個不同的位置{'無'、'一根手指'、'多于一根手指'、'手閉合'}。

手的位置總是顛倒的。

創(chuàng)建模型

使用的模型基于稱為遷移學(xué)習(xí)的技術(shù)。從已經(jīng)完全訓(xùn)練的預(yù)先存在的模型(Inception v3 模型)中刪除了最后幾層,并添加了額外的幾個新層。

在代碼下方自定義添加到模型的層。

last_layer = pre_trained_model.get_layer('mixed7')
last_output = last_layer.output

#creating a model using the previous model without the last few layers
x = layers.Flatten()(last_output)
# Add a fully connected layer with 100 hidden units and ReLU activation
x = layers.Dense(100, activation='relu')(x)
# Add a dropout rate of 0.2
x = layers.Dropout(0.2)(x)                  
# Add a final sigmoid layer for the classification of the 4 status
x = layers.Dense(4, activation='softmax')(x)           
 
model = Model( pre_trained_model.input, x)

訓(xùn)練模型

訓(xùn)練僅基于圖像的數(shù)據(jù)集,并添加了一些可變性以強(qiáng)制模型進(jìn)行泛化。這種可變性或多樣性(稱為數(shù)據(jù)增強(qiáng))允許人為地增加訓(xùn)練示例的數(shù)量并提高分類的質(zhì)量。

training_datagen = ImageDataGenerator(
      rescale = 1./255,
      rotation_range=40,
      width_shift_range=0.2,
      height_shift_range=0.2,
      shear_range=0.2,
      zoom_range=0.2,
      horizontal_flip=True,
      fill_mode='nearest')

該模型僅擬合了 20 個 epoch,足以擬合模型并避免過度擬合。

history = model.fit(
            train_generator,
            validation_data = validation_generator,
            steps_per_epoch = 5,
            epochs = 20,
            validation_steps = 5,
            verbose = 2)

該模型的準(zhǔn)確性非常好,特別是對于驗(yàn)證數(shù)據(jù)集(由沒有可變性(數(shù)據(jù)增強(qiáng))的真實(shí)圖像組成)。

poYBAGNomOuAeyDhAAAoFrzMpfY303.png
?

一旦模型足夠好,它就會被保存并導(dǎo)出。

model.save("C:\\gits_folders\\Tensorflow_Lite_embeded\\raspbery\\enzo_02")

到目前為止描述的所有步驟都在 Jupiter notebook 上,可在下面的鏈接中找到:

https://github.com/EnzoCalogero/Tensorflow_Lite_embeded/blob/main/raspbery/enzo_01/Enzo01%204%20elements.ipynb

將模型部署到 Raspberry PI

模型訓(xùn)練和測試由一個相當(dāng)強(qiáng)大的桌面執(zhí)行。完成這些步驟后,必須將最終結(jié)果移至 Raspberry PI。

Raspberry PI 應(yīng)該僅執(zhí)行從 Raspberry PI 相機(jī)拍攝的圖像流中進(jìn)行的推斷(計(jì)算量如此之大,比訓(xùn)練密集得多)。

export_dir = "C:\\gits_folders\\Tensorflow_Lite_embeded\\raspbery\\enzo_02"
loaded = tf.saved_model.load(export_dir)

converter = tf.lite.TFLiteConverter.from_saved_model(export_dir)
converter.optimizations = [tf.lite.Optimize.DEFAULT]

tflite_model = converter.convert()
tflite_model_file = 'enzo02_converted_model.tflite'

with open(tflite_model_file, "wb") as f:
    f.write(tflite_model)

在代碼之后,模型保存在一個文件(“enzo_02”)中,該文件可以輕松地從桌面復(fù)制到 Raspberry PI 文件系統(tǒng)。然后,它可以被運(yùn)行在 Raspberry PI 上的 python 腳本讀取。

from tflite_runtime.interpreter import Interpreter
....
interpreter = Interpreter(args.model)
  interpreter.allocate_tensors()
  _, height, width, _ = interpreter.get_input_details()[0]['shape']

完整的腳本可在鏈接中找到:

https://github.com/EnzoCalogero/Tensorflow_Lite_embeded/blob/main/raspbery/Enzo_mod_01/classify_picamera_servo.py

下面是一個如何午餐腳本的示例:

python3 classify_picamera_servo.py   --model ./enzo01_converted_model.tflite   --labels ./labels

電路概述

電路非常簡單。帶有攝像頭的樹莓派 4 是核心組件。他們收集視頻流并使用部署的模型執(zhí)行推理。然后,根據(jù)推理結(jié)果,一個信號被發(fā)送到 PCA9685,PCA9685 相應(yīng)地操作 3 個伺服系統(tǒng)。

用于操作 3 個伺服系統(tǒng)的 PCA9685 工作負(fù)載由 9v 的外部電池支持。

?

pYYBAGNomO6AEwC2AANjaoySBu8574.jpg
簡化電氣
?

建立旗幟

這 3 個標(biāo)志是使用 Polymorph 材料創(chuàng)建的。Polymorph 是一種特殊類型的塑料,其熔化溫度約為 60?C,用沸水加熱即可成型為任何形狀。一旦冷卻,它就會變成一種非常堅(jiān)韌的類似尼龍的聚合物。由于它是一種熱塑性塑料,Polymorph 可以多次重新加熱和熱成型。

pYYBAGNomPGAJEYBAADoyn_IVKQ625.jpg
多晶型材料
?

它的使用非常簡單,您只需將一些多晶型物放入一杯水中,在微波爐中加熱幾分鐘(直到多晶型物變得透明)。

pYYBAGNomPSALibGAABeEnDRa8I404.jpg
沸水中的多晶型物
?

然后將其從水中取出并開始將其塑造成所需的形狀。

poYBAGNomPeAdrgtAACSsFAut7g696.jpg
多晶型材料,同時是熱的和可延展的
?

在這個項(xiàng)目中,多形體被賦予了標(biāo)志形狀并添加了一個伺服臂(對于 3 個標(biāo)志中的每一個)。冷卻后,他們創(chuàng)建了一個獨(dú)特的結(jié)構(gòu),其中插入了服務(wù)器臂。因此,很容易將它們連接到伺服系統(tǒng)。

poYBAGNomP6AG4FDAA8P_vSUDsk075.jpg
創(chuàng)建旗幟的形狀
?
pYYBAGNomQWAQTHQABETx0yjZqw625.jpg
最后的旗幟
?

我們通過添加彩色多形體來區(qū)分旗幟,因此每個旗幟都有不同的顏色。

3D 打印外殼和最終建筑

最終的建筑非常簡單,使用附件部分的 .stl 文件 3D 打印伺服支架和 Raspberry PI/相機(jī)支架。將每個標(biāo)志連接到一個伺服器,并將伺服器插入其支架。

然后,將 Raspberry Pi 及其攝像頭插入外殼中。

pYYBAGNomQ2AafiFAA6WaXXZuwQ922.jpg
伺服箱內(nèi)視圖
?
poYBAGNomROAQrCRAAndbjsMdro797.jpg
樹莓派相機(jī)外殼細(xì)節(jié)
?

?

?

poYBAGNomRiAKbotAApg3_v1q24851.jpg
設(shè)備準(zhǔn)備就緒
?

?

?


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

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  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開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  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ū)動電路設(shè)計(jì)》 溫德爾著
  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é)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
RM新时代网站-首页