需求分析初稿

1 引言python

      因爲是初次接觸軟件工程設計這種知識領域,並且是和搭檔一塊兒完成這個項目,要學習python計算機學習等多種東西,因此難度仍是有的。但願在作項目的過程當中能鍛鍊本身,在過程當中學習新知識,提升本身的實踐動手能力。算法

1.1   目的數據庫

在肯定選題,全面查閱相關資料,瞭解相關的知識背景後,撰寫了此項目需求規格說明書。該文檔是關於人臉識別簽到系統的功能和性能的描述,重點描述了系統的功能需求,並將其做爲系統設計階段的主要輸入。編程

本文檔的主要預期讀者包括:項目的需求分析人員、項目的設計人員、項目的開發人員、項目管理人員、項目測試人員以及用戶。後端

1.2項目背景安全

項目名稱:基於深度學習的人臉識別系統網絡

開發者:計科1703 吳坤  性能

             計科1703 張珏鋮學習

             計科 1703 宋劍橋測試

             計科 1703 譚瑋

1.3縮寫說明

1.4術語定義

1.5參考資料

[1]Tensorflow技術解析與實戰[M].北京:人民郵電大學出版社,2017

[2]Python核心編程(第三版)[M].北京:人民郵電大學出版社,2016

[3]數字圖像處理(第三版)[M].武漢:武漢大學出版社,2003

[4]需求規格分析說明書標準[S].GB 856D-1988

1.6版本信息

修改編號

修改日期

修改後版本

修改位置

修改內容歸納

1

2019.3.24

1.0

所有

完成第一次編寫

2

2019.3.28 

 1.1

引言 參考資料

內容補充 排版完善

 

 

 

 

 

                            表一   具體版本信息

2任務歸納

2.1系統定義

2.1.1 項目來源及背景

在當下,人臉識別已經成爲了火熱的課題,有關人臉識別的各類研究成果層出不窮。圍繞着人臉識別這個課題,各國研究人員提出了各類各樣的算法,主要包括如下四個方面的研究:

1.提出不一樣的人臉空間模型,包括以線性判別分析爲表明的線性建模方法,以Kernel方法爲表明的非線性建模方法和基於3D信息的3D人臉識別方法。

2.深刻分析和研究影響人臉識別的因素,包括光照不變人臉識別、姿態不變人臉識別和表情不變人臉識別等。

3.利用新的特徵表示,包括局部描述子(Gabor Face, LBP Face等)和深度學習方法。

4.利用新的數據源,例如基於視頻的人臉識別和基於素描、近紅外圖像的人臉識別。而咱們打算採起深度學習的方法來設計這個項目。

2.1.2 項目的目標

本項目要完成的任務是人臉識別。系統在事先錄入用戶的照片數據後,用戶在攝像頭前拍攝本身的照片,而後提交給系統進行檢驗。檢驗後系統會反饋出識別結果。若是檢驗後發現是系統中已有的信息,系統將會提示識別到底人臉對應哪一個人。若是不是系統中已經保存的信息,系統會提示沒法識別並要求用戶重試。

2.1.3 系統總體結構

物理組成結構:

 

2.1.4 系統各部分組成、與其餘部分的關係、各部分的接口等

    本系統僅需用帶有NVIDIA主板的計算機、採用GPU加速以及用自帶攝像頭採集圖像便可獨立完成,不需其餘接口。

2.2運行環境

2.2.1 設備環境

我的筆記本

2.2.2硬件環境

能運行主流編程軟件,有攝像頭,最好擁有GPU的筆記本。

2.2.3軟件環境

該系統基於Windows系統,採用Python 3.7.2,使用OpenCV,Keras(使用Tensorflow做爲後端)等庫

2.2.4網絡環境

本系統無需鏈接網絡,徹底使用本地資源,後期考慮採用GPU雲計算的方式進行神經網絡的訓練。

2.2.5操做環境

我的筆記本

2.2.6應用環境

系統工做流程以下圖所示:

 

 

2.3條件細則

2.3.1軟件開發工做的假定和約束,如經費限制、開發期限等

該系統基於Windows系統,採用Python 3.7.2,使用OpenCV,Keras(使用Tensorflow做爲後端)等庫

本項目由二人小組開發,要求於數字圖像處理課程結束前開發完畢。

2.3.2最終用戶,用戶的教育水平和技術專長

最終用戶要求會使用筆記本電腦的攝像頭。

2.3.3軟件的預期使用頻度等

本軟件在課前或課間進行人臉識別簽到,使用頻率中等。

3數據描述

3.1靜態數據

本系統須要採集圖片,須要訓練神經網絡,須要有輸出信息。所以,本系統須要存儲圖片和神經網絡的信息,以及需簽到成員的基本信息。

3.2動態數據

採集的用戶圖片信息

3.3 數據庫描述

    MySQL 8.0

3.4 數據字典

3.5 數據採集

系統運行時須要預先讀取數據,或實時經過外設讀取數據

系統運行前須要讀取需簽到成員的大量圖片與對應的姓名和學號,系統啓動後需經過攝像頭讀取簽到成員的照片。

4功能需求

4.1功能劃分

4.1.1系統功能組成

攝像頭採集和處理圖片

本地圖片處理

卷積神經網絡的搭建與訓練

使用訓練好的模型進行測試

使用測試完畢的模型進行識別

4.1.2功能編號和優先級

編號

名稱

優先級

描述

主要發起者

1

攝像頭採集和處理圖片

 

重要

爲神經網絡提供樣本集

管理員

2

本地圖片處理

次要

對採集到圖片進行預處理以適應系統需求

管理員

3

卷積神經網絡的搭建與訓練

 

重要

核心,只有訓練好神經網絡的模型才能進行識別

管理員

4

使用訓練好的模型進行測試

 

次要

測試模型的精確度

管理員

5

使用測試完畢的模型進行識別

重要

採集用戶圖像進行識別

用戶

 

4.1.3 功能定義

      攝像頭採集和處理圖片:使用OpenCV,自動打開攝像頭採集照片。在採集到過程當中自動檢測和定位人臉,改變不一樣的角度,實現採集不一樣效果的圖片,將圖片保存在本地備用。

      本地圖片處理:對本地的圖片進行處理,例如進行灰度化,定位人臉,裁剪,把圖片處理成適合系統使用的尺寸,以知足系統使用的需求。

      卷積神經網絡搭建和訓練:經過上述兩個子模塊獲得訓練集與測試集(訓練集與測試集比例爲8:2),開始搭建神經網絡並對模型進行訓練,最終搭建成符合須要的卷積神經網絡。

使用訓練好的模型進行測試:完成訓練後,用測試集對訓練好的模型進行精度測試,測試已經訓練好的模型的推廣能力。

      使用測試好的模型進行識別:完成訓練後,使用搭建好的模型進行識別。在識別時,優先採集用戶圖像,而後提取用戶圖像的特徵,最終經過卷積神經網絡完成對用戶圖像的識別並反饋結果。

4.2 功能描述

4.2.1 功能說明

      採集照片:指啓用攝像頭拍攝當前用戶的照片

4.2.2  詳情描述

5 性能需求

5.1數據精確度

系統所須要的圖片具備嚴格的格式要求,在輸入前必須知足格式要求。

5.2時間特性

    通常操做的響應時間應在可接受的時間範圍內。

5.3 適用性

      知足通常學生使用的需求,識別的速度應儘量的快,準確率儘量高。對前面提到的運行環境要求不該存在困難。

6 運行需求

6.1 用戶界面

6.1.1 界面風格

      遵照Windows風格。

6.1.2 界面描述和樣式

根據最終需求設計相關的界面。

6.2 硬件接口

      本系統須要調用計算機攝像頭,運行本系統的計算機應保證攝像頭可用。

6.3 軟件接口

      運行在Windows 系統之上

6.4 故障處理

      正常使用時不該出錯,若運行遇到錯誤,退出程序後自動重啓,並向開發者發送錯誤信息。

7其它要求

7.1檢測或驗收標準

    人臉識別的準確率達到老師要求的標準。

7.2可用性,可維護性,可靠性,可轉換性,可移植性要求

軟件故障率低於10%。

軟件要求模塊設計,設備驅動可更換。

7.3安全保密性要求

無。

7.4開發要求

合適的OpenCV,Python,Keras,Tensorflow版本。

按照黑盒測試方法測試用例進行驗收

相關文章
相關標籤/搜索