員工考勤打卡時,如何避免非本人代替打卡?

      網(wǎng)友投稿 649 2025-04-07

      員工考勤打卡時,如何避免非本人代替打卡?

      目錄

      1 背景

      2 云服務(wù)介紹

      3 方案設(shè)計

      3.1 方案簡述

      3.2 方案架構(gòu)圖

      3.3 FunctionGraph實現(xiàn)代碼

      4 方案部署

      4.1 部署流程圖

      4.2 前置準備

      4.3 創(chuàng)建OBS人臉庫

      4.3.1 創(chuàng)建OBS桶

      4.3.2 上傳對象

      4.4 FunctionGraph搭建

      4.4.1 創(chuàng)建委托

      4.4.2 上傳FRS依賴包

      4.4.3 創(chuàng)建函數(shù)

      4.4.4 編輯函數(shù)代碼

      4.4.5 添加依賴包

      4.4.6 編輯環(huán)境變量

      4.4.7 調(diào)試函數(shù)

      4.5 添加APIG

      4.5.1 添加APIG觸發(fā)器

      4.5.2 編輯APIG

      4.5.3 調(diào)試API

      4.5.4 發(fā)布API

      4.6 綁定獨立域名

      4.6.1 添加記錄集

      4.6.2 添加自定義域名

      4.7 問題記錄

      5 后期思考

      1、背景

      使用APP進行打卡時,為避免非本人及非真人現(xiàn)場打卡的情況出現(xiàn),想結(jié)合華為云的人臉識別能力,通過調(diào)用API,達成可檢測是否本人且真人現(xiàn)場打卡的效果。

      2、云服務(wù)介紹

      華為云FRS:人臉識別服務(wù)(Face Recognition Service),能夠在圖像中快速檢測人臉、分析人臉關(guān)鍵點信息、獲取人臉屬性、實現(xiàn)人臉的精確比對和檢索。該服務(wù)可應(yīng)用于身份驗證、電子考勤、客流分析等場景。產(chǎn)品頁面

      華為云FunctionGraph:函數(shù)工作流(FunctionGraph)是一項基于事件驅(qū)動的函數(shù)托管計算服務(wù)。通過函數(shù)工作流,只需編寫業(yè)務(wù)函數(shù)代碼并設(shè)置運行的條件,無需配置和管理服務(wù)器等基礎(chǔ)設(shè)施,函數(shù)以彈性、免運維、高可靠的方式運行。產(chǎn)品頁面

      華為云APIG:API網(wǎng)關(guān)(API Gateway)是為企業(yè)開發(fā)者及合作伙伴提供的高性能、高可用、高安全的API托管服務(wù), 幫助企業(yè)輕松構(gòu)建、管理和部署不同規(guī)模的API。簡單、快速、低成本、低風(fēng)險的實現(xiàn)內(nèi)部系統(tǒng)集成、成熟業(yè)務(wù)能力開放及業(yè)務(wù)能力變現(xiàn)。產(chǎn)品頁面

      華為云OBS:?對象存儲服務(wù)(Object Storage Service,OBS)是一個基于對象的海量存儲服務(wù),為客戶提供海量、安全、高可靠、低成本的數(shù)據(jù)存儲能力,使用時無需考慮容量限制,并且提供多種存儲類型供選擇,滿足客戶各類業(yè)務(wù)場景訴求。產(chǎn)品頁面

      華為云DNS:云解析服務(wù)(Domain Name Service)提供高可用,高擴展的權(quán)威DNS服務(wù)和DNS管理服務(wù),把人們常用的域名或應(yīng)用資源轉(zhuǎn)換成用于計算機連接的IP地址,從而將最終用戶路由到相應(yīng)的應(yīng)用資源上。此服務(wù)默認開通,免費使用。產(chǎn)品頁面

      3?、方案設(shè)計

      3.1 方案簡述

      通過APIG調(diào)用functiongraph函數(shù),在functiongraph上完成人臉識別-活體檢測、人臉識別-人臉比對等API的調(diào)用,并將響應(yīng)結(jié)果通過API返回給APP。實現(xiàn)APP調(diào)用一次API即可完成人臉識別的功能。

      人臉識別服務(wù)的人臉比對功能,可實現(xiàn)檢測是否其本人打卡。

      人臉識別服務(wù)的活體檢測功能,可實現(xiàn)檢測是否活人打卡。

      使用Functiongraph的函數(shù),APP端只需考慮調(diào)用一個API,且只需考慮人臉識別的總體輸入和返回結(jié)果。

      Functiongraph由APIG來調(diào)用,利用APPkey、APPsecret及HTTPS,解決了APP端調(diào)用的安全認證等問題。

      OBS桶用來存儲人臉照片,通過約定的用戶標識做文件存儲路徑,易于管理和使用。

      3.2 方案架構(gòu)圖

      0、初始化:前置準備工作,新建一個OBS桶做人臉庫,將員工的人臉照片存放到人臉庫,并把以user-id 或自定義字段作為路徑,標識員工。

      1、員工登錄APP后,進行人臉識別時,將通過APIG來調(diào)用functionGraph,上傳關(guān)鍵信息:攝像頭捕獲的照片或視頻、員工的人臉庫標識(user-id)。

      2、functionGraph調(diào)用活體檢測API,傳入照片/視頻(根據(jù)需求選擇動作活體檢測/靜默活體檢測,推薦靜默活體檢測)。

      注:本方案采用靜默活體檢測方式,APP端上傳的照片提前轉(zhuǎn)換為base64格式

      3、活體檢測API返回響應(yīng):有confidence、picture(base64)。

      4、在functionGraph中調(diào)用OBS接口,通過user-id從OBS人臉庫獲取庫中的員工照片。

      5、通過代碼將從OBS獲取的照片文件,轉(zhuǎn)換為base64格式。

      6、將兩個base64格式的照片作為輸入?yún)?shù)調(diào)用人臉比對API 。(備注:此處可根據(jù)需求,是否需要多次調(diào)用API,使用多個照片進行驗證)

      7、人臉比對API返回包含了similarity的響應(yīng)。

      8、functionGraph將similarity、confidence傳回給APP/后端。(備注:也可直接在functionGraph完成判定,返回人臉識別結(jié)果)

      3.3 Functiongraph實現(xiàn)代碼

      代碼附件:

      附件請見文章最后

      代碼時序圖:

      4、方案部署

      4.1 部署流程圖

      4.2 前置準備

      擁有已實名認證的華為云賬號,開通云服務(wù)functiongraph、人臉比對、活體檢測、OBS

      注冊公網(wǎng)域名,完成ICP備案

      4.3、創(chuàng)建OBS人臉庫

      4.3.1 創(chuàng)建OBS桶

      參考幫助文檔:https://support.huaweicloud.com/qs-obs/obs_qs_0007.html,創(chuàng)建私有桶

      4.3.2 上傳對象

      參考幫助文檔: https://support.huaweicloud.com/qs-obs/obs_qs_0008.html,上傳對象,建立OBS人臉庫。

      要求:文件的路徑使用用戶標識(如userid)命名

      4.4 Functiongraph搭建

      4.4.1 創(chuàng)建委托

      登錄IAM控制臺(https://console.huaweicloud.com/iam/?region=cn-north-4#/iam/agencies)

      1)創(chuàng)建委托

      委托名稱:自定義

      委托類型:云服務(wù)

      云服務(wù):函數(shù)工作流functiongraph

      持續(xù)時間:永久

      2)選擇策略

      OBS:獲取對象等基本操作權(quán)限

      FRS:fullaccess

      APIG:fullaccess

      3)設(shè)置最小授權(quán)范圍,此處選擇所有,實際可根據(jù)項目情況分配。

      4)完成委托創(chuàng)建

      4.4.2 上傳FRS依賴包

      因functiongraph公共的依賴包中,F(xiàn)RS-SDK不是最新的(無靜默活體檢測API),故我們需上傳最新的FRS-SDK,作為依賴包。

      1)從官網(wǎng)獲取FRS-SDK下載路徑

      https://sdkcenter.developer.huaweicloud.com/?language=python

      2)下載整個Python-v3的SDK

      https://github.com/huaweicloud/huaweicloud-sdk-python-v3

      下載后解壓,進入內(nèi)部,找到frs后綴的SDK

      進入SDK目錄,在setup所在的目錄,全部選擇進行壓縮。壓縮成功后,需要確保setup文件在壓縮包的根目錄下

      將壓縮好的文件,上傳到functiongraph的依賴包管理。

      依賴包名稱:自定義

      運行時語言:2.7

      描述:自定義

      上傳方式:上傳ZIP文件

      4.4.3 創(chuàng)建函數(shù)

      1)進入functiongraph控制臺創(chuàng)建函數(shù)。

      Functiongraph版本:functiongraph v2

      函數(shù)類型:事件函數(shù)

      函數(shù)名稱:自定義

      所屬應(yīng)用:默認

      委托名稱:選擇創(chuàng)建的委托(如無,請點擊右邊的 創(chuàng)建委托 前往創(chuàng)建,創(chuàng)建步驟參考4.4.1)

      企業(yè)項目:自行選擇

      自定義函數(shù):關(guān)閉

      運行時語言:Python2.7

      函數(shù)執(zhí)行入口:Index.handler

      代碼上傳方式:靜默代碼

      4.4.4 編輯函數(shù)代碼

      將示例代碼復(fù)制進來,編輯相關(guān)默認變量的值

      1)粘貼3.3節(jié)的代碼至index.py中

      2)根據(jù)自己項目情況,設(shè)置默認Region、endpoint、buketname的值,若4.4.6節(jié)不設(shè)置環(huán)境變量的值,將默認取此處的默認值。如下默認是北京四

      3)編輯完成后,點擊保存

      4.4.5????? 添加依賴包

      1)在函數(shù)菜單-代碼頁,點擊添加-依賴代碼包

      2)在公共依賴包,搜索obs,勾選OBS-sdk

      3)在私有依賴包,勾選前面步驟上傳的frs-sdk,然后確定保存

      4.4.6 編輯環(huán)境變量

      在函數(shù)菜單-配置頁,添加環(huán)境變量:region、bucketname(OBS桶名)、endpoint

      若此處不設(shè)置環(huán)境變量,則函數(shù)會使用4.4.4節(jié)代碼設(shè)置的默認值。

      4.4.7 調(diào)試函數(shù)

      1)點擊配置測試事件

      2)選擇apig的事件模板,添加body的內(nèi)容和queryStringParameters的userid,進行保存。

      3)點擊測試,運行完畢可查看執(zhí)行結(jié)果。

      4.5 添加APIG

      4.5.1 添加APIG觸發(fā)器

      1)在函數(shù)菜單-觸發(fā)器頁,點擊創(chuàng)建觸發(fā)器

      觸發(fā)器類型:API網(wǎng)關(guān)服務(wù)(APIG)

      API名稱:自定義

      分組:選擇API分組(如無點擊右邊 創(chuàng)建分組 進行創(chuàng)建)

      發(fā)布環(huán)境:RELEASE(如無點擊右邊 創(chuàng)建發(fā)布環(huán)境 進行創(chuàng)建)

      安全認證:測試環(huán)境可選擇None(后面可編輯進行更改)

      請求協(xié)議:測試環(huán)境可選擇HTTP(后面可編輯進行更改)

      后端超時(毫秒):5000

      2)創(chuàng)建完成后,在觸發(fā)器頁面會添加一個APIG觸發(fā)器,提供訪問URL

      4.5.2 編輯APIG

      1)點擊APIG觸發(fā)器名稱,前往APIG控制臺,點擊編輯

      2)編輯基本信息

      此處可更改安全認證,為方便調(diào)試,此處保持無認證

      3)定義API請求

      此處需添加API的請求參數(shù)-用戶標識,用于functiongraph中,取在OBS人臉照片庫中的員工照片。

      4)定義后端服務(wù)

      添加后端服務(wù)參數(shù),跟前面的入?yún)⒆鲆粋€映射。

      因為是在functiongraph創(chuàng)建的APIG,故此處已自動綁定functiongraph的函數(shù)為后端服務(wù),故基礎(chǔ)定義保持默認即可。

      5)返回結(jié)果基礎(chǔ)定義

      返回結(jié)果的響應(yīng)示例,暫設(shè)置為空即可,點擊完成。

      4.5.3????? 調(diào)試API

      1)API詳情頁,點擊調(diào)試,跳轉(zhuǎn)到API調(diào)試頁面

      2)輸入相關(guān)請求參數(shù),發(fā)起請求,進行調(diào)試。

      4.5.4 發(fā)布API

      編輯完成后的API,需要進行發(fā)布,公網(wǎng)才可訪問

      4.6 綁定獨立域名

      子域名僅供開發(fā)測試使用,每天最多訪問1000次。如需開發(fā)服務(wù),則需為API所在分組綁定獨立域名。

      4.6.1 添加記錄集

      1、登錄云解析控制臺(也可使用其他平臺,已完成ICP備案的域名),選擇域名解析》公網(wǎng)域名,點擊需要創(chuàng)建記錄集的域名名稱。

      2、添加記錄集

      填寫以下信息

      主機記錄:域名前綴,如face-test

      類型:選擇CNAME – 將域名指向另外一個域名

      別名:默認即可

      線路類型:默認即可

      TTL(秒):默認即可

      值:填寫要指向的別名(此處為APIG上的子域名)

      添加成功

      4.6.2 添加自定義域名

      1、在API詳情頁-總覽,點擊添加增加自定義域名。

      2、跳轉(zhuǎn)到API所在分組的域名管理控制臺,點擊綁定獨立域名

      3、輸入前面創(chuàng)建的記錄集,點擊確定。(如果是剛添加的記錄集需刷新,約等5分鐘)

      添加完后,即可在公網(wǎng)通過自定義域名,訪問APIG。

      4.7 問題記錄

      1、并發(fā)測試API時,發(fā)現(xiàn)偶現(xiàn)以下錯誤

      錯誤1:人臉比對傳入的base64字符串無法識別

      錯誤2:數(shù)據(jù)傳輸被提前終止了

      問題定位:因函數(shù)中的存儲到本地的文件用的是同一個路徑,并發(fā)操作時出現(xiàn)異步的同時占用一個路徑,從而導(dǎo)致文件有丟失或文件轉(zhuǎn)碼有誤

      解決方案:給函數(shù)中的文件路徑配置上時間戳,避免并發(fā)操作時,交叉操作同一個文件。

      2、APIG錯誤碼請參考:

      https://support.huaweicloud.com/usermanual-apig/apig-ug-180530090.html

      3、使用APIG觸發(fā)functiongraph時,發(fā)現(xiàn)第一個api請求響應(yīng)時間較長(2s多),后面的請求就較短了(約500ms)。

      問題定位:超過一分鐘無調(diào)用函數(shù)時,函數(shù)會銷毀。再次進行函數(shù)調(diào)用時,需要重新啟動實例,所以第一次調(diào)用時間會比較長。

      解決方案:設(shè)置預(yù)留實例,來消除冷啟動效果。預(yù)留實例是為指定函數(shù)版本單獨預(yù)留的函數(shù)運行實例,不同于普通的函數(shù)實例,預(yù)留實例長期存活,可以達到消除函數(shù)冷啟動的效果。

      預(yù)留實例需要提交工單開通,詳情請參考:https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0306.html

      5、后期思考

      本方案的人臉比對,只比對一次。若人臉庫中,用戶的庫照片有多個,是否需要遍歷對比,取總體對比的結(jié)果。如對比多次,需要考慮從OBS獲取照片、人臉比對的API要多次調(diào)用,性能下降、費用提升等

      附件: index.zip 2.62KB 下載次數(shù):0次

      API IDE 上云必讀 人臉識別服務(wù) FRS

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:Excel2019怎么調(diào)整分辨率?Excel2019調(diào)整分辨率教程
      下一篇:wps 開兩個頁面,自動切換頁面
      相關(guān)文章
      亚洲大尺度无码无码专线一区| 亚洲国产精品成人综合色在线婷婷| 亚洲jjzzjjzz在线观看| 亚洲狠狠久久综合一区77777| 亚洲欧洲美洲无码精品VA| 亚洲精品无码成人片在线观看 | 亚洲人成电影亚洲人成9999网| 亚洲va无码手机在线电影| 国产成人A人亚洲精品无码| 亚洲AV无码一区二区乱子伦| 亚洲AV永久无码精品| 亚洲av伊人久久综合密臀性色 | 亚洲第一精品福利| 亚洲激情视频在线观看| 亚洲国语精品自产拍在线观看| 久久精品国产亚洲AV高清热| 亚洲精品自在线拍| 亚洲国产精品成人综合久久久 | 亚洲成亚洲乱码一二三四区软件| 亚洲AV综合色区无码一区爱AV| 久久久久无码精品亚洲日韩 | 78成人精品电影在线播放日韩精品电影一区亚洲 | 国产亚洲欧美日韩亚洲中文色| 国产产在线精品亚洲AAVV| 亚洲精品无码激情AV| 国产午夜亚洲精品午夜鲁丝片| 亚洲精品高清无码视频| 亚洲AV第一页国产精品| 亚洲成av人片不卡无码| 国产亚洲玖玖玖在线观看| 亚洲成在人线aⅴ免费毛片| 亚洲av日韩av欧v在线天堂| 亚洲伊人成无码综合网| 久久久久久a亚洲欧洲aⅴ| 亚洲精品高清久久| 亚洲一区二区三区免费观看| 亚洲啪AV永久无码精品放毛片| 国产产在线精品亚洲AAVV| 亚洲人成网7777777国产| 亚洲日本一区二区三区| 亚洲中文字幕久久精品无码2021|