軟件系統設計方案


課題背景與軟件系統設計方案

該工程實踐項目主要是實現一個對動態手勢的實時識別系統,通過Kinect攝像頭獲取手勢動作,通過特定手勢識別算法對手勢進行識別,並在圖形化用戶界面上實時展示結果。

整個系統擬采用經典MVC架構,model中存儲實時手勢的特征信息和識別結果,view實時展示攝像頭獲取的視頻流和實時手勢識別的結果,controller中包含完整的手勢識別過程,包括手勢信息提取,特征獲取,手勢建模和手勢分析。

 

 

 

依賴視圖

依賴視圖展現了軟件模塊之間的依賴關系。比如一個軟件模塊A調用了另一個軟件模塊B,那么我們說軟件模塊A直接依賴軟件模塊B。如果一個軟件模塊依賴另一個軟件模塊產生的數據,那么這兩個軟件模塊也具有一定的依賴關系。依賴視圖能幫助我們找到沒有依賴關系的軟件模塊或子系統,以便獨立開發和測試,同時進一步根據依賴關系確定開發和測試軟件模塊的先后次序,也能有效幫助我們理清一個軟件模塊的變更對其他軟件模塊帶來影響范圍。

 

 

實現視圖

實現視圖是描述軟件架構與源文件之間的映射關系。一般我們通過目錄和源文件的命名來對應軟件架構中的包、類等靜態結構單元,然后由軟件項目的源文件目錄樹來呈現典型的實現視圖。

 

 

 

工作分配視圖

工作分配視圖將系統分解成可獨立完成的工作任務,以便分配給各項目團隊和成員。工作分配視圖有利於跟蹤不同項目團隊和成員的工作任務的進度,也有利於在個項目團隊和成員之間合理地分配和調整項目資源,甚至在項目計划階段工作分配視圖對於進度規划、項目評估和經費預算都能起到有益的作用。

 

核心數據結構設計

整個手勢識別過程中核心數據結構就是手勢輸入的保存形式,在不同的實現方法中也有所不同。

如果使用膚色檢測的方法來做手勢分割,則輸入為二維的整型矩陣,每個二維矩陣代表視頻流中一幀的手勢圖像,而二維矩陣中每個元素代表手勢圖像中一個像素點的灰度值。

如果使用基於深度信息的方法來做手勢分割,則輸入為兩個二維矩陣,一個是RGB手勢圖像,另一個是深度手勢圖像,其中每個元素代表手勢圖像中一個像素點的深度信息(距離攝像頭的遠近)。

 

 

 

軟件系統運行環境和技術選型

目前項目的運行環境中,硬件包括Kinect傳感器和聯想筆記本電腦:

操作系統: Windows10 64位操作系統

處理器:Inter(R) Core(TM) i5-9300H CPU @2.40G Hz

內存: 16GB

顯卡:NVIDIA GeForce GTX1650

軟件包括:Kinect for Windows SDK 、 python3 、tensorflow

由於項目主要實現方法還沒有確定,可能用到的方法有:基於膚色檢測的手勢分割、基於深度信息的手勢分割、基於動態時間規整算法的手勢識別、基於圖卷積神經網絡的手勢識別。

 

 

核心工作機制

訓練時,用戶打開圖形化界面通過多次攝像頭獲取或者直接導入手勢圖片信息,訓練手勢模型。識別時,通過Kinect攝像頭獲取手勢圖像傳入系統,經過手勢分割、手勢分析、模型比較給出識別結果並實時顯示在圖形化界面上。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM