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

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

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

3天內不再提示

手語翻譯系統系列之使用旭日X3派實時識別播報手語

地瓜機器人 ? 2022-12-20 09:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、準備工作

硬件部分:旭日X3派,USB免驅攝像頭,電源適配器,燒錄Ubuntu系統的SD卡,USB揚聲器,顯示屏(或者VNC/SSH遠程連接)

軟件部分:Thonny IDE集成開發環境

1.jfif

首先,關于Ubuntu系統鏡像的燒錄官方有詳細的教程,這里不再贅述,我自己是選擇桌面Ubuntu 20.04,大家選擇最新的即可。如果是第一次進入系統,記得使用命令行更新一下軟件源等,使用快捷鍵ctrl+alt+T打開命令行,輸入以下命令:

# 更新軟件源 apt-get update # 更新升級所有軟件 apt-get upgrade

接下來就可以開始安裝Thonny IDE,作為一款輕量化的python集成開發環境,對新手十分友好,簡單易上手,后續安裝各種python依賴庫也相當方便。安裝方式Thonny官方網址提供了三種Linux的命令行下載方式,大家可以根據自己的情況進行選擇。

flatpak install org.thonny.Thonny //Flatpak sudo apt install thonny //Debian,Raspbian,Ubuntu,Mintand others sudo dnf install thonny //FedoraFedora

耐心等待程序安裝即可,如果中途出現異常大概率是網絡不穩定導致,檢查網絡連接并再次運行命令行即可。由于Ubuntu系統不會自動生成快捷方式,所以安裝成功后在命令行輸入Thonny即可啟動IDE。

重頭戲來了,安裝項目依賴庫。啟動Thonny IDE后,選擇左上方工具>>管理包,根據附件中提供的程序開始安裝python依賴庫。過程可能會比較漫長,這取決于當前網絡情況,還有部分庫文件可能會出現下載失敗的情況,請耐心多嘗試幾次。

2.jfif

import os import threading import cv2 import mediapipe as mp import time import torch as t from model import HandModel from tools.landmark_handle import landmark_handle from tools.draw_landmarks import draw_landmarks from tools.draw_bounding_rect import draw_bounding_rect import numpy as np from tools.draw_rect_text import draw_rect_txt from PIL import Image, ImageFont, ImageDraw import pyttsx3 # 大家可以根據這個來添加項目依賴

(PS.cv2是opencv-python的縮寫,在import的時候采用這種縮寫,但添加庫的時候不能直接搜索cv2,而是要打全稱opencv-python。)

二、實現原理

智能手語識別系統共包括語音播報模塊,模型訓練模塊,手勢識別模塊,文字轉寫模塊,一共可識別播報“也”、“吸引”、“美麗的”、 “相信”、“的”、“懷疑”、“夢想”、“表達”、“眼睛”、 “給”、“很難”、“有”、“許多”、“我”、“方法”、“不”, “只有”、“超過”、“請”、“放”、“說”、“微笑”、“星星”、“十分”、“看”、“你”等27個國家通用手語。

model_path = 'checkpoints/model_test1.pth' label = ["也", "吸引", "美麗的", "相信", "的", "懷疑", "夢想", "表達", "眼睛", "給", "很難","有","許多","我", "方法", "不", "只有", "結束", "請", "放", "說", "微信", "星星", "十分","看","你"]

語音播報模塊采用pyttsx3第三方庫,它是一個用于文字轉語音的第三方python庫,還可實現對音量,聲源,語速的調整,可脫機工作,兼容python2和python3

def run(): str_show = this_label star_date = open("2.txt", "w", encoding="utf-8") star_date.write(str_show) star_date.close() star_data = open("2.txt", "r", encoding="utf-8") star_read = star_data.readlines() star_data.close() file = "2.txt" res = open(file, encoding="utf-8").read() engine = pyttsx3.init() content = res engine.say(content) engine.runAndWait() time.sleep(1)

模型訓練模塊采用torch第三方庫,torch廣泛運用深度學習。它能夠幫助我們構建深度學習項目,強調靈活性,而且允許使用我們習慣的python表示方法來表達深度學習模型。算力高,易學習,比較容易入門。

# 模型保存地址 targetX = [0 for xx in range(label_num)] target = [] for xx in range(label_num): target_this = copy.deepcopy(targetX) target_this[xx] = 1 target.append(target_this) # 獨熱碼 lr = 1e-3 # learning rate model_saved = 'checkpoints/model' # 模型定義 model = HandModel() optimizer = t.optim.Adam(model.parameters(), lr=lr) criterion = nn.CrossEntropyLoss() loss_meter = meter.AverageValueMeter() epochs = 40 for epoch in range(epochs): print("epoch:" + str(epoch)) loss_meter.reset() count = 0 allnum = 1 for i in range(len(label)): data = np.load('./npz_files/' + label[i] + ".npz", allow_pickle=True) data = data['data'] for j in range(len(data)): xdata = t.tensor(data[j]) optimizer.zero_grad() this_target = t.tensor(target[i]).float() input_, this_target = Variable(xdata), Variable(this_target) output = model(input_) outLabel = label[output.tolist().index(max(output))] targetIndex = target[i].index(1) targetLabel = label[targetIndex] if targetLabel == outLabel: count += 1 allnum += 1 output = t.unsqueeze(output, 0) this_target = t.unsqueeze(this_target, 0) loss = criterion(output, this_target) loss.backward() optimizer.step() loss_meter.add(loss.data) print("correct_rate:", str(count / allnum)) t.save(model.state_dict(), '%s_%s.pth' % (model_saved, epoch))

準備好數據集就可以開始進行模型訓練,模型推薦在電腦上進行訓練,我自己的電腦是win10的系統,用的pycharm IDE的集成開發環境,如果只是想體驗一下的話也可以直接使用附件里訓練好的模型。

3.png

手勢識別模塊采用Mediapipe和OpenCV庫對人手進行特征提取與骨骼綁定,旭日X3派根據攝像頭捕捉的關鍵幀的進行特征提取,基于PyTorch模型進行推理,并將推理翻譯結果顯示到屏幕上,同時將翻譯結果以txt文件形式進行保存和API接入后上傳到百度語音開發平臺,由平臺進行人聲的合成,然后將生成的mp3文件下載到旭日X3派終端用揚聲器進行播放,實現了為語言障礙人士發聲,為“礙”發聲。

# 百度大腦AI開放平臺API接入實現語音合成的示例 def fetch_token(): print("fetch token begin") params = {'grant_type': 'client_credentials', 'client_id': API_KEY, 'client_secret': SECRET_KEY} post_data = urlencode(params) if (IS_PY3): post_data = post_data.encode('utf-8') req = Request(TOKEN_URL, post_data) try: f = urlopen(req, timeout=5) result_str = f.read() except URLError as err: print('token http response http code : ' + str(err.code)) result_str = err.read() if (IS_PY3): result_str = result_str.decode() print(result_str) result = json.loads(result_str) print(result) if ('access_token' in result.keys() and 'scope' in result.keys()): if not SCOPE in result['scope'].split(' '): raise DemoError('scope is not correct') print('SUCCESS WITH TOKEN: %s ; EXPIRES IN SECONDS: %s' % (result['access_token'], result['expires_in'])) return result['access_token'] else: raise DemoError('MAYBE API_KEY or SECRET_KEY not correct: access_token or scope not found in token response') """ TOKEN end """ if __name__ == '__main__': token = fetch_token() tex = quote_plus(TEXT) # 此處TEXT需要兩次urlencode print(tex) params = {'tok': token, 'tex': tex, 'per': PER, 'spd': SPD, 'pit': PIT, 'vol': VOL, 'aue': AUE, 'cuid': CUID, 'lan': 'zh', 'ctp': 1} # lan ctp 固定參數 data = urlencode(params) print('test on Web Browser' + TTS_URL + '?' + data) req = Request(TTS_URL, data.encode('utf-8')) has_error = False try: f = urlopen(req) result_str = f.read() headers = dict((name.lower(), value) for name, value in f.headers.items()) has_error = ('content-type' not in headers.keys() or headers['content-type'].find('audio/') < 0) except URLError as err: print('asr http response http code : ' + str(err.code)) result_str = err.read() has_error = True save_file = "error.txt" if has_error else 'result.' + FORMAT with open(save_file, 'wb') as of: of.write(result_str) if has_error: if (IS_PY3): result_str = str(result_str, 'utf-8') print("tts api error:" + result_str) print("result saved as :" + save_file) # 骨架綁定的可視化 draw_landmarks(frame, hand_local) brect = draw_bounding_rect(frame, hand_local)

4.png

文字轉寫模塊通過旭日X3派外接麥克風進行收音,API接入后將錄制的mp3文件上傳,通過云端語音平臺實時轉寫為文字后顯示到旭日X3派終端的屏幕上。最后利用python的多線程將手勢識別,語音播報,文字轉寫同時運行,至此,實現了聾啞人士與普通人的雙向無障礙溝通交流。

三、效果展示

得益于旭日X3派的強大算力,系統對手勢的識別展示并播報十分靈敏,畫面流程度也得到保障(溫馨提示:長時間運行請準備小風扇給開發板降溫哦)。

5.jfif


6.jfif

四、性能測試

系統測試方案:將訓練好模型導入旭日X3派中,接入電源后等待初始化完成,由小組成員們隨機在鏡頭前做出27個國家通用手語,將翻譯終端識別播報的準確率記錄,同時將識別的總時長記錄收集。

測試數據如下:

7.jfif


8.jfif

結果分析:實驗數據表明,27個國家通用手語隨機檢驗的識別準確率均在90%以上,單次執行時間也均在1秒之內。

結論:手語翻譯終端有很高的實時性,充分保障聾啞殘障人士的無障礙溝通交流。

本文轉自地平線開發者社區
原作者:鑫辰大海王

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

    關注

    5198

    文章

    20442

    瀏覽量

    333971
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    半年參與3萬輛寶馬X3生產,人形機器人“進廠打工”真成了

    了其人形機器人“進廠打工”的最新成果。 ? Figure 02:半年參與3萬輛寶馬X3生產,進入退役階段 ? 根據Figure AI的說法,在過去的六個月內,其第二代人形機器人Figure 02已經在寶馬集團斯帕坦堡工廠參與生產了3
    的頭像 發表于 11-24 08:25 ?7953次閱讀
    半年參與<b class='flag-5'>3</b>萬輛寶馬<b class='flag-5'>X3</b>生產,人形機器人“進廠打工”真成了

    樹莓5還是香橙5 Pro?兩款熱門開發板的詳細對比

    3B+,香橙則有3B Plus;樹莓迭代至5系列,香橙則跟進推出5、5B、5 Plus、5
    發表于 03-04 19:29

    谷歌推出TranslateGemma全新開放翻譯模型系列

    我們已正式推出 TranslateGemma,這一全新的開放翻譯模型系列基于 Gemma 3 構建,并提供 4B、12B 和 27B 三種參數規模。TranslateGemma 的問世標志著開放
    的頭像 發表于 02-26 10:22 ?489次閱讀

    華為路由 X3 Pro火了!業界首發Wi-Fi7+和透明天線,1299元起

    電子發燒友原創 章鷹 11月25日,在華為 Mate 80 系列 / Mate X7 及全場景新品發布會上,華為消費者BG CEO何剛宣布,首款藝術路由——華為路由 X3 Pro日照金山發布。這款
    的頭像 發表于 11-30 00:46 ?7207次閱讀
    華為路由 <b class='flag-5'>X3</b> Pro火了!業界首發Wi-Fi7+和透明天線,1299元起

    基于樹莓(RaspberryPi)構建高效實時監控系統

    由于樹莓體積小、可開發性強等特性,常被用于視頻監控場景中,結合 ZeroNews,可實現用戶在任意位置都能實時安全得訪問視頻監控系統。 先決條件:樹莓正常連接網絡,可訪問互聯網 第
    的頭像 發表于 09-22 15:14 ?1288次閱讀
    基于樹莓<b class='flag-5'>派</b>(RaspberryPi)構建高效<b class='flag-5'>實時</b>監控<b class='flag-5'>系統</b>

    奇瑞風云X3系列雙車上市

    8月16日,奇瑞汽車旗下風云品牌全新方盒子產品序列——風云X3與風云X3 PLUS正式宣告上市。風云X3系列基于iCAR 03系列煥新升級而
    的頭像 發表于 08-19 11:48 ?1106次閱讀

    零成本鋼鐵俠手套!樹莓+OpenCV 秒變手勢遙控器!

    大家好,這是一個樹莓和OpenCV的連載專題。使用樹莓與OpenCV實現姿態估計和面部特征點追蹤使用樹莓與OpenCV實現面部和運動追蹤的云臺系統使用樹莓
    的頭像 發表于 08-16 16:16 ?1270次閱讀
    零成本鋼鐵俠手套!樹莓<b class='flag-5'>派</b>+OpenCV 秒變手勢遙控器!

    如何使用樹莓與OpenCV實現面部和運動追蹤的云臺系統

    大家好,這是一個樹莓和OpenCV的連載專題。使用樹莓與OpenCV實現姿態估計和面部特征點追蹤使用樹莓與OpenCV實現面部和運動追蹤的云臺系統使用樹莓
    的頭像 發表于 08-14 17:45 ?1561次閱讀
    如何使用樹莓<b class='flag-5'>派</b>與OpenCV實現面部和運動追蹤的云臺<b class='flag-5'>系統</b>?

    如何使用樹莓+OpenCV實現姿態估計和面部特征點追蹤?

    大家好,這是一個樹莓和OpenCV的連載專題。使用樹莓與OpenCV實現姿態估計和面部特征點追蹤使用樹莓與OpenCV實現面部和運動追蹤的云臺系統使用樹莓
    的頭像 發表于 08-13 17:44 ?1306次閱讀
    如何使用樹莓<b class='flag-5'>派</b>+OpenCV實現姿態估計和面部特征點追蹤?

    樹莓分類器:用樹莓識別不同型號的樹莓

    在本教程系列的第一部分中,您將學習如何使用樹莓AI攝像頭來檢測不同的樹莓型號。本系列由DavidPlowman創建,他是樹莓工程師,專
    的頭像 發表于 06-13 16:39 ?1296次閱讀
    樹莓<b class='flag-5'>派</b>分類器:用樹莓<b class='flag-5'>派</b><b class='flag-5'>識別</b>不同型號的樹莓<b class='flag-5'>派</b>!

    韻樂Vinal X3/X5卡拉OK音頻處理器調音軟件簡介

    韻樂Vinal X3/X5卡拉OK音頻處理器調音軟件軟件簡介韻樂Vinal X3/X5調音軟件具有音箱處理器功能的卡拉ok效果器每個功能部分都獨立可調且有相應的PC界面可直觀調節易于操
    發表于 05-16 15:33 ?4次下載

    搭建樹莓網絡監控系統:頂級工具與技術終極指南!

    樹莓網絡監控系統是一種經濟高效且功能多樣的解決方案,可用于監控網絡性能、流量及整體運行狀況。借助樹莓,我們可以搭建一個網絡監控系統實時
    的頭像 發表于 05-14 15:32 ?1406次閱讀
    搭建樹莓<b class='flag-5'>派</b>網絡監控<b class='flag-5'>系統</b>:頂級工具與技術終極指南!

    RDK X3 帶飛的智能護理系統:讓機器人秒變貼心小棉襖

    濟往開來團隊帶著超燃黑科技來了!基于 RDK X3 開發的老年智能監控系統,跌倒秒報警、手勢一鍵呼叫、還能陪嘮嗑!最絕的是 開源代碼直接甩鏈接 ,技術黨狂喜!
    的頭像 發表于 05-09 21:53 ?754次閱讀
    RDK <b class='flag-5'>X3</b> 帶飛的智能護理<b class='flag-5'>系統</b>:讓機器人秒變貼心小棉襖

    車牌識別新花樣:樹莓打造智能車牌監控系統

    樹莓是創客們打造家庭安防系統的熱門選,這得益于其具備運用人工智能(AI)的能力。AI系統識別潛在威脅,在此情境下,還能
    的頭像 發表于 04-26 09:03 ?650次閱讀
    車牌<b class='flag-5'>識別</b>新花樣:樹莓<b class='flag-5'>派</b>打造智能車牌監控<b class='flag-5'>系統</b>!

    HMC-XTB110 無源x3倍頻器,24-30GHz輸入技術手冊

    HMC-XTB110是一款單芯片x3無源倍頻器,采用GaAs肖特基二極管技術,具有低轉換損耗和高度Fo隔離。 這款寬帶x3倍頻器無需直流電源,適用于低頻率的3倍頻率比直接生成高頻率更加經濟的大規模
    的頭像 發表于 04-16 16:15 ?938次閱讀
    HMC-XTB110 無源<b class='flag-5'>x3</b>倍頻器,24-30GHz輸入技術手冊