美術(shù)教育機構(gòu)網(wǎng)站建設(shè)方案萬網(wǎng)域名注冊
目錄
- 前言
- 總體設(shè)計
- 系統(tǒng)整體結(jié)構(gòu)圖
- 系統(tǒng)流程圖
- 運行環(huán)境
- 模塊實現(xiàn)
- 1. 數(shù)據(jù)預(yù)處理
- 2. 數(shù)據(jù)增強
- 3. 模型構(gòu)建
- 4. 模型訓(xùn)練及保存
- 5. 模型評估
- 6. 模型測試
- 系統(tǒng)測試
- 1. 訓(xùn)練準(zhǔn)確率
- 2. 測試效果
- 3. 模型應(yīng)用
- 1)程序下載運行
- 2)應(yīng)用使用說明
- 3)測試結(jié)果
- 相關(guān)其它博客
- 工程源代碼下載
- 其它資料下載
前言
本項目依賴于Keras深度學(xué)習(xí)模型,旨在對手語進行分類和實時識別。為了實現(xiàn)這一目標(biāo),項目結(jié)合了OpenCV庫的相關(guān)算法,用于捕捉手部的位置,從而能夠?qū)σ曨l流和圖像中的手語進行實時識別。
首先,項目使用OpenCV庫中的算法來捕捉視頻流或圖像中的手部位置。這可以涉及到膚色檢測、運動檢測或者手勢檢測等技術(shù),以精確定位手語手勢。
接下來,項目利用CNN深度學(xué)習(xí)模型,對捕捉到的手語進行分類,經(jīng)過訓(xùn)練,能夠?qū)⒉煌氖终Z手勢識別為特定的類別或字符。
在實時識別過程中,視頻流或圖像中的手語手勢會傳遞給CNN深度學(xué)習(xí)模型,模型會進行推斷并將手勢識別為相應(yīng)的類別。這使得系統(tǒng)能夠?qū)崟r地識別手語手勢并將其轉(zhuǎn)化為文本或其他形式的輸出。
總的來說,本項目結(jié)合了計算機視覺和深度學(xué)習(xí)技術(shù),為手語識別提供了一個實時的解決方案。這對于聽覺障礙者和手語使用者來說是一個有益的工具,可以幫助他們與其他人更輕松地進行交流和理解。
總體設(shè)計
本部分包括系統(tǒng)整體結(jié)構(gòu)圖和系統(tǒng)流程圖。
系統(tǒng)整體結(jié)構(gòu)圖
系統(tǒng)整體結(jié)構(gòu)如圖所示。
系統(tǒng)流程圖
系統(tǒng)流程如圖所示。
運行環(huán)境
本部分包括 Python 環(huán)境、TensorFlow環(huán)境、 Keras環(huán)境和Android環(huán)境。
模塊實現(xiàn)
本項目包括6個模塊:數(shù)據(jù)預(yù)處理、數(shù)據(jù)增強、模型構(gòu)建、模型訓(xùn)練及保存、模型評估和模型測試,下面分別介紹各模塊的功能及相關(guān)代碼。
1. 數(shù)據(jù)預(yù)處理
在Kaggle上下載相應(yīng)的數(shù)據(jù)集,下載地址為https://www.kaggle.com/ardamavi/sign-language-digits-dataset。
詳見博客。
2. 數(shù)據(jù)增強
為方便展示生成圖片的效果及對參數(shù)進行微調(diào),本項目未使用keras直接訓(xùn)練生成器,而是先生成一個增強過后的數(shù)據(jù)集,再應(yīng)用于模型訓(xùn)練。
詳見博客。
3. 模型構(gòu)建
數(shù)據(jù)加載進模型之后,需要定義模型結(jié)構(gòu),并優(yōu)化損失函數(shù)。
詳見博客。
4. 模型訓(xùn)練及保存
本部分包括模型訓(xùn)練和模型保存的相關(guān)代碼。
詳見博客。
5. 模型評估
由于網(wǎng)絡(luò)上缺乏手語識別相關(guān)模型,為方便在多種模型中選擇最優(yōu)模型,以及進行模型的調(diào)優(yōu),模型應(yīng)用于安卓工程之前,需要先在PC設(shè)備上使用Python文件進行初步的運行測試,以便驗證本方案的手語識別策略是否可行并選擇最優(yōu)的分類模型。
詳見博客。
6. 模型測試
評估整體模型可行性后,將手語識別模型應(yīng)用于Android Studio工程中,完成APP。具體步驟如下。
詳見博客。
系統(tǒng)測試
本部分包括訓(xùn)練準(zhǔn)確率、測試效果及模型應(yīng)用。
1. 訓(xùn)練準(zhǔn)確率
訓(xùn)練過程的準(zhǔn)確率損失變化如圖1和圖2所示。
2. 測試效果
在初步評估中,使用Spyder編譯運行相關(guān)評估代碼之后,能夠在以白色墻壁、各種光照的條件下較好地捕捉手部位置,并準(zhǔn)確識別0~9共10個手語手勢,如圖3和圖4所示。
3. 模型應(yīng)用
本部分包括程序下載運行、應(yīng)用使用說明和測試結(jié)果。
1)程序下載運行
Android項目編譯成功后,建議將項目運行到真機上進行測試。模擬器運行較慢,不建議使用。運行到真機方法如下:
(1) 將手機數(shù)據(jù)線連接到計算機,開啟開發(fā)者模式,打開USB調(diào)試,單擊Android項 目的運行按鈕,出現(xiàn)連接手機的選項,單擊即可。
(2) Android Studio生成apk文件,發(fā)送至手機,在手機上下載該apk文件并安裝即可。
2)應(yīng)用使用說明
打開APP,初始界面如圖所示。
界面從上至下3個按鈕分別為【轉(zhuǎn)到圖片識別】、【開始翻譯手語】、【停止翻譯】。界面依次顯示本次的識別結(jié)果及置信度、捕捉到的手部區(qū)域、累計識別到的句子翻譯。
單擊【開始識別】按鈕,結(jié)果如圖所示。
單擊【轉(zhuǎn)到圖片識別】按鈕,跳轉(zhuǎn)到圖片識別界面。單擊【拍照識別】按鈕調(diào)用攝像頭拍照,切換前置及后置攝像頭。單擊【從相冊中選擇】即可調(diào)出相冊界面。選擇好圖像后,APP將展示所選圖片并返回手語識別結(jié)果,如圖所示。
3)測試結(jié)果
手勢識別“520’效果如圖所示。
圖片識別其他手勢效果如圖所示。
復(fù)雜背景效果如圖所示。
相關(guān)其它博客
基于Android+OpenCV+CNN+Keras的智能手語數(shù)字實時翻譯——深度學(xué)習(xí)算法應(yīng)用(含Python、ipynb工程源碼)+數(shù)據(jù)集(一)
基于Android+OpenCV+CNN+Keras的智能手語數(shù)字實時翻譯——深度學(xué)習(xí)算法應(yīng)用(含Python、ipynb工程源碼)+數(shù)據(jù)集(二)
基于Android+OpenCV+CNN+Keras的智能手語數(shù)字實時翻譯——深度學(xué)習(xí)算法應(yīng)用(含Python、ipynb工程源碼)+數(shù)據(jù)集(三)
基于Android+OpenCV+CNN+Keras的智能手語數(shù)字實時翻譯——深度學(xué)習(xí)算法應(yīng)用(含Python、ipynb工程源碼)+數(shù)據(jù)集(四)
工程源代碼下載
詳見本人博客資源下載頁
其它資料下載
如果大家想繼續(xù)了解人工智能相關(guān)學(xué)習(xí)路線和知識體系,歡迎大家翻閱我的另外一篇博客《重磅 | 完備的人工智能AI 學(xué)習(xí)——基礎(chǔ)知識學(xué)習(xí)路線,所有資料免關(guān)注免套路直接網(wǎng)盤下載》
這篇博客參考了Github知名開源平臺,AI技術(shù)平臺以及相關(guān)領(lǐng)域?qū)<?#xff1a;Datawhale,ApacheCN,AI有道和黃海廣博士等約有近100G相關(guān)資料,希望能幫助到所有小伙伴們。