基於B/S架構的分布式人臉識別考勤系統及其考勤方法與流程
2023-06-08 15:58:47 2
本發明屬於人臉識別技術領域,具體涉及一種基於B/S架構的分布式人臉識別考勤系統及其考勤方法。
背景技術:
隨著信息技術的發展,單位考勤的方式也在不斷變化,目前很多企事業單位使用刷卡考勤或指紋識別來考勤。刷卡考勤是利用員工的個人信息卡來識別個人身份,指紋識別是依靠人體的指紋特徵來進行身份驗證的技術,通過人體手指內側表面紋路的唯一性來識別個人身份,是生物識別技術的一種。這兩類方式的考勤容易產生很多問題。對於刷卡機考勤,每一個員工必須配有唯一的個人信息卡,通過信息卡識別員工身份,成本較高;存在信息卡丟失現象,安全性不高;存在代打卡現象,無法正確確認員工考勤,準確性、公正性不高;必須在特定位置刷卡考勤,容易在上下班高峰時期出現考勤擁堵現象。對於指紋識別考勤,由於其接觸式的考勤方式,用戶體驗不佳,設備維護成本較高;且考勤設備成本較高,一般單位配備數量較少,也容易造成上下班高峰的時候擁擠和延遲。本發明因此而來。
技術實現要素:
為解決目前各個考勤系統存在的弊端,使用一種分布式的人臉識別考勤系統。該系統採用分布式,省去了考勤終端機,節約成本,避免高峰考勤時的擁塞;該系統採用人臉識別的考勤方式,解決了代打卡、代考勤現象,解決了考勤準確性、公正性的問題。人臉識別的非接觸性,節約了系統的維護成本,提高了考勤的效率以及用戶體驗。有一定的商業價值。為了解決現有技術中的這些問題,本發明提供的技術方案是:一種基於B/S架構的分布式人臉識別考勤系統,包括圖像採集模塊、圖像處理模塊和人臉識別模塊,其特徵在於所述圖像採集模塊根據用戶在瀏覽器中的申請考勤操作對待考勤用戶進行攝像,所述圖像處理模塊根據圖像採集模塊採集的用戶圖像,擷取出人臉部位後向伺服器端發送人臉部位圖像並遞交人臉識別請求;所述人臉識別模塊對接收的人臉部位圖像進行識別判斷用戶身份,並將識別結果返回給客戶端瀏覽器。優選的,所述系統還包括設置在圖像採集模塊前端的用戶登錄模塊,所述伺服器端還設置有身份認證模塊,所述用戶登錄模塊用於提供用戶輸入登錄信息,並向身份認證模塊傳輸遞交登錄請求;所述身份認證模塊根據接收的登錄請求對用戶的登錄信息進行身份驗證,判斷請求登錄的用戶是否為合法用戶,並將用戶驗證的結果傳輸給相應客戶端提示待登錄的用戶。優選的,所述用戶登錄模塊與圖像採集模塊間設置用戶屬性判斷模塊;當用戶通過用戶登錄模塊成功登錄後,所述用戶屬性判斷模塊判斷用戶的身份類別根據用戶的身份類別進入員工頁面或管理員頁面;用戶通過員工頁面進入圖像採集模塊進行考勤。優選的,所述系統還包括用戶註冊模塊,所述用戶註冊模塊根據新用戶遞交的註冊信息向伺服器發送註冊請求,伺服器端身份認證模塊對註冊信息進行核實,並向客戶端返回註冊結果;所述身份認證模塊將符合要求的註冊信息存儲入伺服器端,並更新身份認證模塊。優選的,所述伺服器端還設置資料庫,所述資料庫存儲用戶身份驗證的信息、用於進行人臉識別的圖像信息。優選的,所述圖像處理模塊與人臉識別模塊間設置有擁塞控制模塊,所述擁塞控制模塊用於檢測伺服器是否處於擁塞狀態;當伺服器沒有處於擁塞狀態時,圖像處理模塊向伺服器端發送人臉部位圖像並遞交人臉識別請求;當伺服器處於擁塞狀態時,客戶端生成隨機延遲量,擁塞控制模塊等待隨機延遲量後繼續檢測伺服器是否處於擁塞狀態,直至伺服器沒有處於擁塞狀態時,圖像處理模塊向伺服器端發送人臉部位圖像並遞交人臉識別請求。優選的,所述系統還包括考勤查詢模塊,所述考勤查詢模塊根據用戶的查詢請求,在伺服器資料庫內匹配與用戶的查詢請求相適應的考勤記錄,並反饋展示給用戶。本發明的另一目的在於提供一種所述的分布式人臉識別考勤系統進行考勤的方法,其特徵在於所述方法包括以下步驟:(1)用戶在客戶端瀏覽器遞交考勤請求,圖像採集模塊根據用戶在瀏覽器中的申請考勤操作對待考勤用戶進行攝像;(2)所述圖像處理模塊根據圖像採集模塊採集的用戶圖像,擷取出人臉部位後向伺服器端發送人臉部位圖像並遞交人臉識別請求;(3)所述人臉識別模塊對接收的人臉部位圖像進行識別判斷用戶身份,並將識別結果返回給客戶端瀏覽器。優選的,所述方法步驟(2)中還包括擁塞控制步驟,所述擁塞控制步驟包括通過擁塞控制模塊檢測伺服器是否處於擁塞狀態;當伺服器沒有處於擁塞狀態時,圖像處理模塊向伺服器端發送人臉部位圖像並遞交人臉識別請求;當伺服器處於擁塞狀態時,客戶端生成隨機延遲量,擁塞控制模塊等待隨機延遲量後繼續檢測伺服器是否處於擁塞狀態,直至伺服器沒有處於擁塞狀態時,圖像處理模塊向伺服器端發送人臉部位圖像並遞交人臉識別請求。本發明的分布式人臉識別考勤系統,其核心是利用分析比較人臉視覺特徵信息進行身份鑑別,是一種非接觸式的生物識別技術。考慮到現在公司員工大部分都配有電腦,採用分布式的架構,利用員工的電腦、公司區域網以及伺服器組成分布式的考勤系統。並且利用B/S架構,員工可以使用自己的電腦通過網頁登陸的形式考勤,以人臉識別這種非接觸式的考勤方式,杜絕了代打卡的漏洞,確保了考勤的準確性,又因為其非接觸式的考勤方式避免了其他考勤如指紋類考勤機指紋採集設備磨損、指紋影響考勤效果等諸多其它弱點,方便高效。相對於現有技術中的方案,本發明的優點是:本發明技術方案通過IP確定員工確實是在公司登陸考勤,安全可靠,在分布式的架構下,省去了考勤機,節約了成本,並且可以支持大量員工的同時考勤,避免了高峰是考勤的擁堵。附圖說明下面結合附圖及實施例對本發明作進一步描述:圖1是本發明分布式人臉識別考勤系統的系統架構圖;圖2是本發明分布式人臉識別考勤系統進行考勤的方法流程圖;圖3是本發明分布式人臉識別考勤系統處理伺服器擁塞的處理流程圖。具體實施方式以下結合具體實施例對上述方案做進一步說明。應理解,這些實施例是用於說明本發明而不限於限制本發明的範圍。實施例中採用的實施條件可以根據具體廠家的條件做進一步調整,未註明的實施條件通常為常規實驗中的條件。實施例如圖1所示,為本發明分布式人臉識別考勤系統的系統架構圖;其結構大體分為以下三個模塊:客戶端模塊。客戶端模塊由桌上型電腦或筆記本電腦組成,其中每臺電腦配有攝像頭,每臺電腦均安裝有瀏覽器,為員工提供考勤服務。客戶端模塊與伺服器模塊相連接,採集人臉信息並且向伺服器模塊發送請求(登陸、考勤、查詢等),接收伺服器的響應。伺服器模塊。伺服器模塊由一臺高性能伺服器構成,其配有考勤服務端程序,負責接收客戶端的數據、處理數據以及完成人臉識別。伺服器模塊與客戶端模塊以及資料庫模塊相連接,接收客戶端模塊發送的請求,通過IP識別以及人臉識別驗證身份,響應客戶端模塊請求(考勤、查詢等),並且將數據發送至伺服器模塊進行維護及管理。資料庫模塊。資料庫模塊由一臺配有資料庫的伺服器構成,負責管理數據。資料庫模塊與伺服器模塊相連接,接收伺服器模塊發送的數據,存儲以及管理所有的考勤數據以及用戶數據。如圖2所示,具體採用分布式的人臉識別考勤系統進行考勤的流程包括如下步驟:步驟1:員工使用客戶端電腦打開瀏覽器,進入用戶頁面。步驟2:在用戶頁面下,登陸考勤系統,此時,需要輸入員工工號以及密碼,客戶端通過網絡將數據封裝後傳輸給伺服器模塊識別身份。步驟3:登陸成功後,進入員工頁面,此時,可以執行考勤、查詢、退出等操作,選擇考勤,客戶端通過攝像頭拍攝一張員工臉部照片,將數據封裝後發送給伺服器模塊。步驟4:伺服器模塊通過人臉識別鑑定員工身份,通過IP判定員工考勤位置,若鑑定成功,記錄員工的考勤信息,並且將該記錄錄入到資料庫,返回一個成功的響應給客戶端。步驟5:客戶端收到考勤成功響應,返回提示給用戶,完成考勤。由於可能存在某一時刻考勤用戶比較多的情況,因此在客戶端以及伺服器通信過程中,引入擁塞控制策略。如圖3所示為具體進行擁塞控制的步驟:步驟1:客戶端生成請求報文,該報文包括員工人臉信息、IP信息、以及一個隨機延遲時間量T,T=T+t,T和t皆為時間量,並且初始情況下,T和t的值為0。步驟2:判斷當前伺服器是否處在擁塞狀態。獲取當前伺服器未處理隊列的長度L,若L>Lmax(Lmax為擁塞閾值),則判定伺服器擁塞,進入步驟3,反之,則判定伺服器不處於擁塞狀態,進入步驟5。步驟3:伺服器處於擁塞狀態,客戶端生成一個隨機的時間量t,t∈(0,Tmax),其中Tmax為最大等待時間。步驟4:客戶端進入等待狀態,等待時間為t,進入步驟1。步驟5:將生成的請求報文發送給伺服器。伺服器通過時間量T計算出正確的考勤時間。具體應用時,其實際的操作流程分為如下部分:功能模塊——註冊模塊:註冊個人信息。設定員工A在考勤系統中註冊個人信息,其員工工號為A1234,密碼為1234,考勤系統主頁網址為:www.attendence.com。步驟1:員工A使用他的電腦打開瀏覽器,輸入網址www.attendence.com,進入考勤系統用戶頁面。步驟2:選擇註冊,填寫員工工號A1234、密碼1234以及其他個人信息並且拍攝三張臉部照片。步驟3:提交信息,等待伺服器響應。步驟4:伺服器通過員工工號判斷帳戶是否已經存在,若已經存在,則返回錯誤信息,若不存在則接受請求並且返回成功響應,註冊成功。員工考勤功能演示:設定員工A使用其帳戶在8:59:57使用該考勤系統考勤,此時刻為尖峰時間段,考勤系統主頁網址為:www.attendence.com,伺服器的擁塞閾值(Lmax)為50,最大等待時間Tmax=10s。步驟1:員工A在某一天早上考勤,使用他的電腦打開瀏覽器,輸入網址www.attendence.com,進入考勤系統用戶頁面。步驟2:輸入員工工號A1234以及密碼1234,登陸考勤系統。步驟3:伺服器查詢資料庫中信息,通過工號以及密碼判斷帳戶合法性。若成功則進入步驟4,失敗則進入步驟2重新輸入。步驟4:進入員工頁面,選擇考勤,客戶端電腦採集一張人臉圖像,將IP、人臉信息、延遲量T(T=0)等數據封裝後,判斷伺服器是否擁塞,獲取伺服器當前未處理隊列長度為60,大於擁塞閾值50,啟動擁塞控制策略,隨機生成一個延遲量t,t=5s。步驟5:客戶端等待5秒。步驟6:客戶端重新將IP、人臉信息、延遲量T(T=5s)等數據封裝後,判斷伺服器是否擁塞,獲取伺服器當前未處理隊列長度為15,小於擁塞閾值50,發送數據報文給伺服器。步驟7:伺服器模塊調用人臉識別算法,首先對圖像進行人臉檢測操作,判斷出人臉的位置,去除背景;其次將圖像灰度化,將彩色圖像轉化為灰度圖像;然後對圖像進行中值濾波,去除噪聲;並且對圖像進行灰度直方圖均衡操作;最後使用LDA算法對圖像降維並且與資料庫中圖像進行匹配;如匹配成功則人臉識別成功。步驟8:伺服器模塊通過IP判斷員工考勤位置,記錄當前時間9:00:02,通過T(T=5s)計算出員工考勤時間為9:00:02-0:00:05=8:59:57,將該次考勤記錄錄入到資料庫,返回一個成功的響應給客戶端。步驟9:客戶端收到考勤成功響應,員工A收到考勤成功提示,完成考勤。步驟10:員工A關閉瀏覽器,結束本次考勤。查詢考勤記錄功能:設定員工A使用他的帳戶登陸考勤系統,查詢其在2013年1月1日至2013年1月31日之間的考勤記錄。步驟1:員工A使用電腦打開瀏覽器,輸入網址www.attendence.com,進入考勤系統用戶頁面。步驟2:輸入員工工號A1234以及密碼1234,登陸考勤系統。步驟3:伺服器查詢資料庫中信息,通過工號以及密碼判斷帳戶合法性。若成功則進入步驟4,失敗則進入步驟2重新輸入。步驟4:進入員工頁面,選擇查詢,輸入想要查詢的時間段20130101-20130131。步驟5:伺服器查詢資料庫,依據時間段查詢員工考勤記錄,發送給客戶端。步驟6:員工A收到自己在2013年1月1日至2013年1月31日之間的考勤記錄。步驟7:員工A退出考勤系統,關閉瀏覽器。功能四:管理員維護數據,刪除離職員工B的信息,更新員工C的帳戶密碼。管理員的工號為D1234,帳戶密碼為1234步驟1:管理員使用電腦打開瀏覽器,輸入網址www.attendence.com,進入考勤系統用戶頁面。步驟2:輸入員工工號D1234以及密碼1234,登陸考勤系統。步驟3:伺服器查詢資料庫中信息,通過工號以及密碼判斷帳戶合法性。並且檢測出該帳戶屬於管理員,返回成功響應給客戶端。步驟4:管理員進入管理員頁面,選擇刪除員工B的個人信息。伺服器接收該請求刪除員工B帳戶所對應的資料庫中的所有信息。步驟5:管理員設置員工C的帳戶密碼。伺服器接收該請求並且更新資料庫中員工C的帳戶密碼。步驟6:管理員A退出考勤系統,關閉瀏覽器。上述實例只為說明本發明的技術構思及特點,其目的在於讓熟悉此項技術的人是能夠了解本發明的內容並據以實施,並不能以此限制本發明的保護範圍。凡根據本發明精神實質所做的等效變換或修飾,都應涵蓋在本發明的保護範圍之內。