基于Android系統(tǒng)的人臉識別考勤設計,計算機信息管理論文_第1頁
基于Android系統(tǒng)的人臉識別考勤設計,計算機信息管理論文_第2頁
基于Android系統(tǒng)的人臉識別考勤設計,計算機信息管理論文_第3頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

基于Android系統(tǒng)的人臉識別考勤設計,計算機信息管理論文本篇論文目錄導航:【】【】【】基于Android系統(tǒng)的人臉辨別考勤設計【】【】人臉辨別系統(tǒng)論文范文:基于Android系統(tǒng)的人臉辨別考勤設計內(nèi)容摘要:將人臉辨別技術(shù)與考勤簽到結(jié)合起來,不僅在高校課堂中使用方便快速,同時能知足穩(wěn)定性和確定性等專業(yè)技術(shù)指標的要求。基于這種思想,設計并實現(xiàn)了一個基于Android平臺的刷臉考勤系統(tǒng)。通過使用Face++視覺服務平臺提供的信息云端處理和存儲功能,處理由Android手機攝像頭采集到的人臉圖像數(shù)據(jù),進而實現(xiàn)人臉辨別和學生簽到考勤的功能。本文關鍵詞語:Android系統(tǒng);人臉辨別;課堂考勤;Face++平臺;作者簡介:仝珊〔1995-〕,女,碩士,研究方向:數(shù)據(jù)挖掘。;1概述在各大高校課堂中,傳統(tǒng)的點名方式不僅統(tǒng)計困難,還浪費時間,也無法解決學生代簽的問題。基于上述情況,設計并實現(xiàn)一個刷臉考勤系統(tǒng),在方便快速的同時也能保證簽到信息與出勤學生的唯一對應性。根據(jù)MVC軟件架構(gòu)形式和Client/Server體系構(gòu)造,開發(fā)一套基于安卓平臺的刷臉簽到系統(tǒng),實現(xiàn)老師對學生信息的采集、管理學生簽到信息以及考勤數(shù)據(jù)的統(tǒng)計等功能。后臺服務器采用SSM框架開發(fā),將項目部署在云服務器上,將學生的基本信息及考勤信息存儲在服務器端,并為客戶端提供WebService.客戶端通過Http協(xié)議進行網(wǎng)絡請求,訪問這些服務。上傳人臉圖片使用Okhttp框架,加載圖片使用Glide框架,調(diào)用Face++開放平臺所提供的在線API,通過人臉信息的采集以及檢測,實現(xiàn)學生的刷臉簽到。2相關Android開源框架2.1GsonWeb服務器向客戶端返回的數(shù)據(jù)格式是有xml和json,安卓內(nèi)部解析xml比解析json效率要低。為提高性能,客戶端向服務器端請求數(shù)據(jù)時附加請求json格式的參數(shù),在客戶端使用Gson將獲得的json字符串轉(zhuǎn)換成Java對象。2.2VolleyAndroid系統(tǒng)中主要提供了兩種方式來進行HTTP通信,HttpURLConnection和HttpClient.Volley是把AsyncHttpClient和Universal-Image-Loader的優(yōu)點集于一身,既能夠像AsyncHttpClient一樣非常簡單地進行HTTP通信,可以以像Universal-Image-Loader一樣輕松加載網(wǎng)絡上的圖片。2.3GlideGlide是Google員工的開源項目,具有獲取、解碼和展示視頻、圖片等功能。它靈敏的API使開發(fā)者能夠?qū)lide應用在幾乎任何網(wǎng)絡協(xié)議棧里。開創(chuàng)建立Glide的主要目的有兩個,〔1〕實現(xiàn)平滑的圖片列表滾動效果,〔2〕支持遠程圖片的獲取、大小調(diào)整和展示。在系統(tǒng)中Glide加載圖片的流程是先判定圖片能否在內(nèi)存緩存,再判定能否在本地緩存,兩者都沒有才開場網(wǎng)絡加載圖片。2.4GreenDao是一個為幫助Android開發(fā)者操作SQLite數(shù)據(jù)庫的開源項目。固然SQLite數(shù)據(jù)庫是一個輕量級的關系型數(shù)據(jù)庫,但對SQLite的操作需要大量額外工作。GreenDao把Java對象轉(zhuǎn)換成數(shù)據(jù)庫表,對數(shù)據(jù)進行更新、刪除以及查詢獲取。2.5OkHttpOkHttp首先能夠作為Volley底層傳輸協(xié)議,速度更快。其次也是最重要的一點,當上傳的圖片數(shù)量不確定時,若使用Xutils和KJFramework上傳圖片,后臺接受圖片的時候就要定義詳細準確的圖片數(shù)量,這樣的方式不利于擴展。OkHttp框架在向后臺上傳照片時使用的是List,只要使用一樣的key就能夠添加到同一個List,而后臺只需要根據(jù)這個key不斷遍歷就行,無論多少張圖片都無障礙。3系統(tǒng)具體設計設計是在Android平臺下,利用AndroidStudio開發(fā)環(huán)境下生成App,并在Android4.4及以上版本正常運行的刷臉簽到系統(tǒng)。下面對WebService和客戶端分別進行介紹,并在客戶打量細展開人臉樣本采集和辨別的具體介紹。3.1WebServiceWebService的3個主要功能具體介紹如下:3.1.1老師登錄客戶端通過輸入欄獲取老師輸入的老師編號和密碼后,點擊登錄按鈕,客戶端會發(fā)出一個請求登錄的動作,服務端接收后,從數(shù)據(jù)庫判定該老師編號和密碼能否匹配,假如匹配成功,返回與該老師相匹配的所有信息,假如匹配失敗,則告訴用戶老師編號或密碼錯誤,請重新輸入。3.1.2通過課程選擇查看學生簽到記錄老師通過客戶端查看某節(jié)課程考勤記錄時,會向服務端發(fā)送一個請求獲取考勤的動作,服務端接收后,從數(shù)據(jù)庫獲取該老師的所有學生和某節(jié)課程的已簽到的學生,然后通過匹配比照,判定哪些學生已簽到,哪些學生未簽到,把數(shù)據(jù)記錄如課程信息和學生的簽到記錄一起返回給客戶端,讓客戶端顯示。3.1.3通過課程導出學生簽到信息表老師通過客戶端查看某節(jié)課程考勤記錄的時候,會向服務端發(fā)送一個請求獲取考勤的動作,服務端接收后,從數(shù)據(jù)庫獲取該老師的所有學生和某節(jié)課程的已簽到的學生,通過匹配比照,判定哪些學生已簽到,哪些學生未簽到,然后使用Apache提供的開源包poi幫助生成一個Excel文件,并把Excel文件存放在服務器返回相應的下載鏈接,把下載鏈接返回給客戶端,讓老師能夠在客戶端下載Excel表格,方便對學生考勤情況進行操作。本部分代碼篇幅較長,刪減后的核心代碼如下:3.2客戶端客戶端部分主要分為兩大模塊:樣本采集模塊和人臉辨別模塊。3.2.1樣本采集想在Android終端應用實現(xiàn)人臉搜索,需要自個開創(chuàng)建立人臉樣本庫,所以樣本采集模塊必不可少。樣本采集模塊又能夠分為兩個小的部分:采集圖片和圖片上傳保存信息。首先進行的是采集圖片,然后再進行圖片上傳,圖片上傳經(jīng)過中會通過Toast信息提示用戶圖片上傳的狀態(tài)?!?〕采集圖片采集圖片添加新的人臉的方式有兩種,一種是通過本地圖庫采集,另一種是通過攝像頭獲取圖像。通過本地圖庫添加,利用Intent打開本地圖庫,選擇好照片后通過setImageBitmap〔〕方式方法顯示。然后利用Intent〔MediaStore.ACTION_IMAGE_CAPTURE〕啟動Android自帶的攝像機應用。同時開創(chuàng)建立一個途徑保存這個成員變量,對照片的命名采用日期+界面輸入的方式。華而不實獲取當下日期采用SimpleDateFormat〔yyyyyMMdd,Locale.CHINA〕方式方法,getExternalFilesDir〔〕是提供的App的私有保存照片的目錄,本項目存儲在Pictures目錄下,最后通過getAbsolutePath〔〕方式方法獲取照片的精到準確途徑。在照片顯示之前需要對圖片進行壓縮,壓縮后通過setImageBitmap〔〕方式方法顯示,并將壓縮后的圖片存入Pictures目錄下?!?〕圖片上傳圖片上傳本質(zhì)是保存人臉特征數(shù)據(jù),利用Face++的API,實現(xiàn)保存人臉數(shù)據(jù)。因而需要在Manifest.xml文件中配置向SD卡寫和獲取網(wǎng)絡狀態(tài)等相關權(quán)限。數(shù)據(jù)存儲使用的是輕量級的SharedPreferences存儲類,以鍵值對key-value的形式存儲私有原始數(shù)據(jù)。相較數(shù)據(jù)庫,SharedPreferences快速輕便,但存數(shù)數(shù)據(jù)類型有限,且本身不能對數(shù)據(jù)進行存儲,需要通過Editor對象實現(xiàn)對數(shù)據(jù)的寫入、修改、存儲。原則上SharedPreferences只能保存字符串,能夠采用編碼的方式將二進制數(shù)據(jù)轉(zhuǎn)化為字符串,進而實現(xiàn)將人臉圖片保存在SharedPreferences文件中。實現(xiàn)人臉數(shù)據(jù)存儲,調(diào)用Face++的在線API流程如下:首先調(diào)用FaceSetCreatAPI建立一個FaceSet,用于保存人臉數(shù)據(jù),一個FaceSet最多可保存1000張人臉。接下來調(diào)用DetectAPI進行人臉檢測,若檢測到人臉則會返回一個face_token;然后調(diào)用FaceSetUserIDAPI設置face_token的姓名及學號;最后調(diào)用FaceSetAddFaceAPI將face_token添加到之前建立的FaceSet中,添加人臉結(jié)束。鑒于代碼篇幅較長,下面僅對DetectFaceAPI的調(diào)用代碼做簡單注釋。3.2.2人臉辨別人臉辨別模塊就是1:N人臉搜索,即搜索出待檢測人臉屬于人臉庫中的哪一個人臉,這部分調(diào)用Face++的SearchAPI,進行人臉搜索。通過攝像頭提供一個實時預覽界面,首先開創(chuàng)建立了CameraPreview類,設置布局,為屏幕設置點擊事件,捕捉待檢測人臉的照片并開創(chuàng)建立文件保存,通過與人臉庫中的人臉進行比對,返回類似度最高的人臉作為輸出,并顯示在界面。實時預覽界面需要實現(xiàn)PreviewCallback這個接口,就會重載onPreviewFrame這個函數(shù),在該函數(shù)中自定義AsyncTask類FaceDetectTask類,把復雜的圖像處理經(jīng)過放在后臺,也就是在doInBackground里進行數(shù)據(jù)格式的轉(zhuǎn)換和圖片的旋轉(zhuǎn)等操作。這里通過YuvImage和NV21解析數(shù)據(jù),解析完后還需要對圖像進行旋轉(zhuǎn)等操作,通過matrix.postRotate〔〕方式方法設置相應的旋轉(zhuǎn)角度。對圖像處理完后新建文件對圖像進行保存,利用getExternalFilesDir〔〕方式方法將照片保存在DOCUMENTS私有目錄下,命名利用SimpleDateFormat〔〕的形式。人臉辨別調(diào)用SearchAPI,若辨別成功,通過setVisibility〔〕方式方法將屬性設置為View.VISIBLE,顯示人臉姓名的顯示頁面。4系統(tǒng)測試4.1學生信息采集功能信息采集頁面左下角有兩個圖標。點擊文件夾圖標能夠進行本地圖庫相冊的導入;點擊相機圖標則啟動手機前置攝像頭。對于攝像頭拍照獲取樣本需要在配置文件中聲明相應的權(quán)限,采集完圖像后對圖像進行壓縮顯示。右上角點擊上傳按鈕,就會進行相應的上傳圖像的操作,將圖像傳至云端并將圖像數(shù)據(jù)保存在本地。采集操作需要聯(lián)網(wǎng),上傳成功會提示添加人臉成功,若在未聯(lián)網(wǎng)狀態(tài)下進行該操作,會提示需要連接網(wǎng)絡.測試結(jié)果如此圖1采集成功和圖2采集失敗所示。圖1采集成功圖2采集失敗4.2學生簽到功能簽到頁面主要由一個實時預覽界面和最終顯示所辨別的信息顯示部分兩大部分所組成,先實時預覽人臉圖像,最后將所檢測到的人臉以及學號信息進行顯示。華而不實實時預覽界面通過打開前置攝像頭來進行相應的設置,并設置屏幕觸摸點擊事件,然后通過Toast信息顯示正在辨別……與用戶進行交互。然后進行人臉搜索,搜索人臉庫中哪一個人臉與帶檢測人臉的數(shù)據(jù)匹配認可度比擬高,通過在程序中設置返回類似度最高的5張人臉數(shù)據(jù),并將類似度最高的人臉數(shù)據(jù)信息即學號進行顯示。假如沒有辨別出人臉數(shù)據(jù),則會通過Toast信息顯示沒有檢測到人臉,請重新檢測.測試結(jié)果如此圖3檢測人臉成功和4未檢測到人臉所示。圖3檢測人臉成功圖4未檢測到人臉5結(jié)束語基于人臉辨別設計并實現(xiàn)一套高校課堂考勤系統(tǒng),在學生考勤實踐中,該

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論