一種三維手勢驗(yàn)證方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及計(jì)算機(jī)技術(shù)領(lǐng)域,具體設(shè)及一種=維手勢驗(yàn)證方法及系統(tǒng)。
【背景技術(shù)】
[0002] 隨著自然交互技術(shù)的不斷發(fā)展,特別是基于RGB-D的體感技術(shù)的發(fā)展,為基于手勢 識別的驗(yàn)證碼驗(yàn)證提供了可行性。目前在許多需要登錄認(rèn)證的系統(tǒng)中,為了防止自動(dòng)機(jī)器 程序的自動(dòng)登錄,系統(tǒng)在登陸界面提供了驗(yàn)證碼進(jìn)行防備。驗(yàn)證碼(CAPTCHA,Completely Automated Public Turing Test to Tell Computers and Humans Apart)是全自動(dòng)區(qū)分 計(jì)算機(jī)和人類的圖靈測試的簡稱,目的在于區(qū)分計(jì)算機(jī)和人類的一種程序算法,即區(qū)分用 戶是計(jì)算機(jī)和人的計(jì)算程序。傳統(tǒng)的驗(yàn)證碼方式為圖片和帶干擾的文本圖片方式,用戶需 要肉眼識別驗(yàn)證碼圖片中的符號信息并完成手工鍵盤的輸入,之后由登錄系統(tǒng)進(jìn)行驗(yàn)證碼 的匹配判斷,只有登錄用戶輸入的驗(yàn)證碼和驗(yàn)證碼圖片中的符號信息完全匹配,才能完成 登錄。
[0003] 但隨著黑客技術(shù)的不斷更新,人們對驗(yàn)證碼的驗(yàn)證服務(wù)的要求變得更高,純粹的 文字、圖片驗(yàn)證碼的安全性有待提高。于是,出現(xiàn)了需要邏輯運(yùn)算和回答問題的驗(yàn)證碼,類 似的驗(yàn)證碼還有要求用戶輸入當(dāng)前時(shí)間,所訪問的網(wǎng)站域名,自己所在的時(shí)區(qū),甚至美國總 統(tǒng)姓名,人類第一顆登陸的地外星球等。運(yùn)類驗(yàn)證碼主要考慮到通常自動(dòng)計(jì)算機(jī)程序沒有 足夠的邏輯思考能力,不能辨識并解答邏輯問題。還有拼圖驗(yàn)證碼和找不同驗(yàn)證碼(比如從 幾張貓的圖片中找出一張狗的圖片),從本質(zhì)上來說也非常類似,但目前沒有大規(guī)模部署運(yùn) 類驗(yàn)證碼的主要原因是沒有足夠的資源,難W抵擋窮舉攻擊(攻擊者多次刷新驗(yàn)證碼后可 能出現(xiàn)相同的問題)。
[0004] 公告號為CN104023029A的中國發(fā)明專利申請公開了一種"驗(yàn)證碼的驗(yàn)證方法和裝 置",其提出了一種觸摸軌跡的手勢驗(yàn)證碼,發(fā)送手勢驗(yàn)證碼到客戶端,通過觸摸屏劃出相 應(yīng)手勢軌跡,從而完成驗(yàn)證碼的輸入。運(yùn)種基于觸摸屏的驗(yàn)證碼輸入方式缺點(diǎn)首先是必須 使用觸摸屏的顯示器或移動(dòng)設(shè)備,其次只能使用單點(diǎn)的觸摸軌跡進(jìn)行驗(yàn)證,不能使用靜態(tài) 手勢進(jìn)行驗(yàn)證,最后在手勢驗(yàn)證碼設(shè)計(jì)上,未能定義觸摸軌跡的起始方向。
[0005] 公告號為CN103326989A為的中國發(fā)明專利申請公開了 "一種基于語音識別的驗(yàn)證 碼",其提出了讓用戶在終端朗讀特定的文字驗(yàn)證碼內(nèi)容,通過語音識別技術(shù)來輸入驗(yàn)證 碼。運(yùn)種基于語音的驗(yàn)證碼輸入方式提出了一種非接觸的輸入體驗(yàn),但是運(yùn)種語音方式對 客觀環(huán)境要求盡量安靜,必須能夠清晰錄制用戶讀出的文本信息,并且不同性別和不同年 齡層音色差別巨大,普通話標(biāo)準(zhǔn)程度W及方言等客觀問題存在著巨大的識別障礙,在其專 利技術(shù)實(shí)現(xiàn)可行性上有相當(dāng)?shù)碾y度。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明所要解決的技術(shù)問題是傳統(tǒng)的驗(yàn)證碼驗(yàn)證方法容易被自動(dòng)機(jī)器程序識別 并加 W利用的問題,提供一種=維手勢驗(yàn)證方法及系統(tǒng)。
[0007]為解決上述問題,本發(fā)明是通過W下技術(shù)方案實(shí)現(xiàn)的:
[000引一種=維手勢驗(yàn)證方法,包括如下步驟:
[0009] 步驟1,用戶通過客戶端向服務(wù)器端發(fā)送注冊或登錄請求;
[0010] 步驟2,服務(wù)器端在接收到客戶端發(fā)送的注冊或登錄請求后,隨機(jī)生成=維手勢文 件中包括手指和手掌的坐標(biāo)、朝向和運(yùn)動(dòng)軌跡的=維手勢驗(yàn)證碼,并記錄該=維手勢驗(yàn)證 碼所包含的信息后,將=維手勢驗(yàn)證碼發(fā)送到客戶端;
[0011] 步驟3,客戶端接收到服務(wù)器端發(fā)送來的=維手勢驗(yàn)證碼文件,并將其進(jìn)行顯示;
[0012] 步驟4,用戶在客戶端的體感攝像機(jī)的有效范圍內(nèi)做出預(yù)定的初始化動(dòng)作,初始化 完成后,客戶端提示用戶初始化完成;
[0013] 步驟5,用戶繼續(xù)在客戶端的體感攝像機(jī)有效范圍內(nèi)做出客戶端顯示的=維手勢, 并做初步匹配判斷,客戶端將初步匹配的=維手勢封裝成相應(yīng)的=維手勢文件發(fā)送回服務(wù) 器端;
[0014] 步驟6,服務(wù)器將客戶端返回的=維手勢文件與步驟2所發(fā)送給客戶端的=維手勢 驗(yàn)證碼進(jìn)行特征提取和匹配,最終得到匹配成功或失敗的結(jié)果,匹配成功則在客戶端顯示 相應(yīng)訪問頁面,匹配失敗則重新發(fā)送=維手勢驗(yàn)證碼到客戶端。
[0015] 上述步驟4和5所用的體感攝像機(jī)為RGB-時(shí)暴像機(jī),其通過自動(dòng)獲取手部深度圖像 的視頻流,將拍攝到的視頻流所獲取的每帖景深圖像的=維像素信息進(jìn)行空間轉(zhuǎn)換為實(shí)際 空間中的點(diǎn)云信息,同時(shí)利用圖像超分辨率技術(shù)對深度圖進(jìn)行細(xì)節(jié)優(yōu)化提高手部細(xì)節(jié)重 建,由此獲得手部數(shù)據(jù)。
[0016] 上述服務(wù)器端向客戶端發(fā)送的=維手勢驗(yàn)證碼包括靜態(tài)=維手勢驗(yàn)證碼或動(dòng)態(tài) =維手勢驗(yàn)證碼;與之相應(yīng)地,客戶端向服務(wù)器端返回的=維手勢文件也為靜態(tài)=維手勢 文件或動(dòng)態(tài)=維手勢文件。
[0017] 上述步驟6中,當(dāng)=維手勢文件和=維手勢驗(yàn)證碼均為靜態(tài)時(shí),其特征提取和匹配 的過程具體如下:
[0018] 步驟1),根據(jù)手指檢測算法獲得靜態(tài)=維手勢文件的手指個(gè)數(shù);
[0019] 步驟2),當(dāng)步驟1)所檢測到的手指個(gè)數(shù)與=維手勢驗(yàn)證碼個(gè)數(shù)匹配時(shí),根據(jù)手指 距離手掌中屯、最遠(yuǎn)規(guī)律,將手的輪廓點(diǎn)的坐標(biāo)轉(zhuǎn)換成W手掌中屯、為原點(diǎn)的極坐標(biāo)系,然后 分析輪廓曲線中的局部最大值,最后根據(jù)映射規(guī)則將輪廓點(diǎn)的尖點(diǎn)位置映射為指尖坐標(biāo);
[0020] 步驟3),基于步驟2)所得到的指尖坐標(biāo),根據(jù)歐式距離在=維空間的應(yīng)用,計(jì)算靜 態(tài)=維手勢文件中的每兩根手指的指尖距離dij;
[0021 ]步驟4),采用體感攝像機(jī)采集手指朝向特征信息;
[0022] 步驟5),基于步驟4)所采集到的手指朝向特征信息,計(jì)算靜態(tài)=維手勢文件中的 每兩根手指的指間夾角曰IJ;
[0023] 步驟6),將步驟3)所計(jì)算出的靜態(tài)=維手勢文件中的每2根手指的指尖距離dij分 別進(jìn)行歸一化處理后再計(jì)算平均值,并將靜態(tài)=維手勢文件中的每2根手指的指尖距離dij 的平均值與=維手勢驗(yàn)證碼中所對應(yīng)的2根手指的指尖距離采用相關(guān)系數(shù)法計(jì)算出相關(guān)系 數(shù)町:,S同時(shí),將步驟5)所計(jì)算出的靜態(tài)S維手勢文件中的每2根手指的指間夾角化分別進(jìn) 行歸一化處理后再計(jì)算平均值,并將靜態(tài)=維手勢文件中的每2根手指的指間夾角au的平 均值與=維手勢驗(yàn)證碼中所對應(yīng)的2根手指的指間夾角采用相關(guān)系數(shù)法計(jì)算出相關(guān)系數(shù) 咕巧;
[0024] 步驟7),當(dāng)每2根手指的&。> ^且^均成立時(shí),服務(wù)器認(rèn)定靜態(tài)S維手 勢與=維手勢驗(yàn)證碼匹配成功,否則,服務(wù)器認(rèn)定為靜態(tài)=維手勢和=維手勢驗(yàn)證碼匹配 失敗;其中^為服務(wù)器端預(yù)設(shè)的=維手勢驗(yàn)證碼所對應(yīng)的兩指尖距離的相關(guān)系數(shù)匹配闊 值,^為服務(wù)器端預(yù)設(shè)的=維手勢驗(yàn)證碼所對應(yīng)的兩手指夾角的相關(guān)系數(shù)匹配闊值。
[0025] 上述步驟6中,當(dāng)=維手勢文件和=維手勢驗(yàn)證碼均為動(dòng)態(tài)時(shí),其特征提取和匹配 的過程具體如下:
[00%]步驟(1),根據(jù)靜態(tài)=維手勢特征提取方法,對動(dòng)態(tài)=維手勢每一帖=維手勢進(jìn)行 特征提取;即
[0027] 步驟1),根據(jù)手指檢測算法獲得靜態(tài)=維手勢文件的手指個(gè)數(shù);
[0028] 步驟2),當(dāng)步驟1)所檢測到的手指個(gè)數(shù)與=維手勢驗(yàn)證碼個(gè)數(shù)匹配時(shí),根據(jù)手指 距離手掌中屯、最遠(yuǎn)規(guī)律,將手的輪廓點(diǎn)的坐標(biāo)轉(zhuǎn)換成W手掌中屯、為原點(diǎn)的極坐標(biāo)系,然后 分析輪廓曲線中的局部最大值,最后根據(jù)映射規(guī)則將輪廓點(diǎn)的尖點(diǎn)位置映射為指尖坐標(biāo);
[0029] 步驟3),基于步驟2)所得到的指尖坐標(biāo),根據(jù)歐式距離在=維空間的應(yīng)用,計(jì)算靜 態(tài)=維手勢文件中的每兩根手指的指尖距離dij;
[0030] 步驟4),采用體感攝像機(jī)采集手指朝向特征信息;
[0031] 步驟5),基于步驟4)所采集到的手指朝向特征信息,計(jì)算靜態(tài)=維手勢文件中的 每兩根手指的指間夾角曰IJ;
[0032] 步驟6),將步驟3)所計(jì)算出的靜態(tài)=維手勢文件中的每2根手指的指尖距離dij分 別進(jìn)行歸一化處理后再計(jì)算平均值,并將靜態(tài)=維手勢文件中的每2根手指的指尖距離dij 的平均值與=維手勢驗(yàn)證碼中所對應(yīng)的2根手指的指尖距離采用相關(guān)系數(shù)法計(jì)算出相關(guān)系 數(shù)烏。