吳飛龍 張哲 張心 朱曉芒 王芳
DOI:10.19850/j.cnki.2096-4706.2024.02.037
收稿日期:2023-05-30
摘? 要:在高校學(xué)生信息管理中,一卡通照片往往由學(xué)生自行提供或通過(guò)專用一體設(shè)備自助采集,照片的質(zhì)量和真實(shí)性難以保證。為了解決這一問(wèn)題,文章提出了一種基于人臉識(shí)別技術(shù)的校園一卡通照片采集系統(tǒng)。該系統(tǒng)基于OpenCV的人臉檢測(cè)、人臉位置計(jì)算及人臉相似度計(jì)算能力,實(shí)現(xiàn)標(biāo)準(zhǔn)一卡通照片的自動(dòng)生成,同時(shí)保證了照片的真實(shí)性。實(shí)際使用表明,該系統(tǒng)可以提高一卡通照片采集工作的效率、規(guī)范性及照片真實(shí)性,因而文章的研究成果具有一定的實(shí)用性和推廣價(jià)值。
關(guān)鍵詞:OpenCV;人臉識(shí)別;校園一卡通;照片采集系統(tǒng);高校信息化管理
中圖分類(lèi)號(hào):TP311? ? 文獻(xiàn)標(biāo)志碼:A? 文章編號(hào):2096-4706(2024)02-0172-06
Design and Implementation of a Campus One-Card Photo Collection System
Based on Face Recognition Technology
WU Feilong, ZHANG Zhe, ZHANG Xin, ZHU Xiaomang, WANG Fang
(Network Information Center, Xi'an Jiaotong University, Xi'an? 710049, China)
Abstract: In the management of student information in colleges and universities, the photos in the one-card system are often provided by students themselves or self-service collection through dedicated integrated devices, making it difficult to guarantee the quality and authenticity of the photos. In order to address this issue, this paper proposes a campus one-card photo collection system based on face recognition technology. The system achieves automatic generation of standardized one-card photos based on the face detection, face position calculation and face similarity computation capabilities of OpenCV, while ensuring their authenticity. The practical use of the system shows that it improves the efficiency, standardization and photo authenticity of one-card photo collection work. Thereby the research results have certain practicality and promotion value.
Keywords: OpenCV; face recognition; campus one-card; photo collection system; information management of colleges and universities
0? 引? 言
校園一卡通照片在學(xué)校管理中扮演著重要的角色,作為學(xué)生身份的標(biāo)識(shí),被廣泛應(yīng)用于各類(lèi)學(xué)校事務(wù),包括圖書(shū)館借閱、實(shí)驗(yàn)室進(jìn)出、考試認(rèn)證等。一張準(zhǔn)確、清晰、真實(shí)的一卡通照片對(duì)于確保校園安全、高效管理學(xué)生信息及提供便利生活服務(wù)至關(guān)重要。傳統(tǒng)一卡通照片采集依賴于學(xué)生提供照片或通過(guò)專用一體設(shè)備自助采集,往往存在質(zhì)量不一和真實(shí)性難以驗(yàn)證的問(wèn)題,這對(duì)于校園學(xué)生信息管理帶來(lái)了一定的挑戰(zhàn)。
人臉識(shí)別技術(shù)作為一種先進(jìn)的生物識(shí)別技術(shù),具有高精度、高效性、高便利性及高安全性等特點(diǎn),已在各行各業(yè)得到廣泛應(yīng)用。將人臉識(shí)別技術(shù)應(yīng)用于校園一卡通照片采集業(yè)務(wù),可以有效提高照片采集的準(zhǔn)確性和真實(shí)性。
本文闡述了西安交大如何通過(guò)人臉識(shí)別技術(shù)解決傳統(tǒng)校園一卡通照片采集中存在的問(wèn)題,對(duì)比國(guó)內(nèi)其他高校學(xué)生上傳教師審核或通過(guò)專用一體設(shè)備采集的解決方式,該系統(tǒng)通過(guò)人臉識(shí)別技術(shù)保證了一卡通照片采集的規(guī)范性與安全性,其核心功能在服務(wù)端實(shí)現(xiàn),對(duì)前端的采集設(shè)備無(wú)特殊要求,應(yīng)用方式更加靈活。
1? 關(guān)鍵技術(shù)介紹
1.1? 人臉識(shí)別技術(shù)路線
常用的人臉識(shí)別技術(shù)可以分為以下幾類(lèi),在原理、應(yīng)用領(lǐng)域和性能方面有所不同:
1)基于特征提取的人臉識(shí)別技術(shù)[1]。這種技術(shù)通過(guò)提取人臉圖像中的特征信息,例如臉部輪廓、眼睛、鼻子、嘴巴等,然后將這些特征與存儲(chǔ)在數(shù)據(jù)庫(kù)中的人臉特征進(jìn)行比對(duì)和匹配。常見(jiàn)的算法包括主成分分析(PCA)、線性判別分析(LDA)和局部二值模式(LBP)等。這種技術(shù)簡(jiǎn)單高效,適用于一些較為簡(jiǎn)單的人臉識(shí)別場(chǎng)景。
2)基于統(tǒng)計(jì)模型的人臉識(shí)別技術(shù)[2]。這種技術(shù)利用統(tǒng)計(jì)模型對(duì)人臉圖像進(jìn)行建模和分析,常見(jiàn)的方法包括高斯混合模型(GMM)、隱馬爾可夫模型(HMM)和條件隨機(jī)場(chǎng)(CRF)等。通過(guò)訓(xùn)練模型并利用模型參數(shù)進(jìn)行識(shí)別,這種技術(shù)對(duì)光照、姿態(tài)和表情等因素的魯棒性較好,適用于復(fù)雜的人臉識(shí)別場(chǎng)景。
3)基于深度學(xué)習(xí)的人臉識(shí)別技術(shù)[3]。這種技術(shù)利用深度神經(jīng)網(wǎng)絡(luò)對(duì)人臉圖像進(jìn)行特征提取和識(shí)別,常用的模型包括卷積神經(jīng)網(wǎng)絡(luò)(CNN)、自編碼器(Autoencoder)和生成對(duì)抗網(wǎng)絡(luò)(GAN)等。通過(guò)大規(guī)模數(shù)據(jù)集的訓(xùn)練,深度學(xué)習(xí)技術(shù)可以學(xué)習(xí)到更復(fù)雜和抽象的人臉特征表示,從而提高識(shí)別準(zhǔn)確率,并在人臉識(shí)別領(lǐng)域取得了重大突破。
4)基于三維人臉識(shí)別技術(shù)。這種技術(shù)通過(guò)獲取人臉的三維形狀信息,包括深度圖像、紅外成像或基于結(jié)構(gòu)光的三維重建等方法。利用三維人臉模型進(jìn)行識(shí)別,可以克服一些傳統(tǒng)方法在光照變化、遮擋和偽造方面的限制,適用于一些高安全性要求的應(yīng)用場(chǎng)景。
1.2? 人臉識(shí)別產(chǎn)品介紹
1.2.1? 開(kāi)源人臉識(shí)別產(chǎn)品
開(kāi)源人臉識(shí)別產(chǎn)品提供了豐富的功能和算法,可以用于構(gòu)建各種人臉識(shí)別應(yīng)用,開(kāi)源特性使得開(kāi)發(fā)者可以根據(jù)自己的需求進(jìn)行定制和擴(kuò)展,并加快了人臉識(shí)別技術(shù)的推廣和應(yīng)用。目前常用的開(kāi)源人臉識(shí)別產(chǎn)品有以下幾種:
1)OpenCV。OpenCV(Open Source Computer Vision Library)是一個(gè)開(kāi)源的計(jì)算機(jī)視覺(jué)庫(kù),能夠運(yùn)行在多種操作系統(tǒng)上,例如Windows、Linux、MAC等,實(shí)現(xiàn)了多種程序設(shè)計(jì)語(yǔ)言的接口,開(kāi)發(fā)人員可以在此基礎(chǔ)上開(kāi)發(fā)設(shè)計(jì)復(fù)雜的計(jì)算機(jī)視覺(jué)程序[4]。
2)Dlib。Dlib是一個(gè)非常優(yōu)秀的人臉檢測(cè)開(kāi)源庫(kù),其源代碼采用C++語(yǔ)言實(shí)現(xiàn),包含了多種計(jì)算機(jī)視覺(jué)算法,其中包括人臉檢測(cè)和人臉識(shí)別[5]。
3)FaceNet。FaceNet是由Google開(kāi)發(fā)的開(kāi)源人臉識(shí)別系統(tǒng)。它基于深度學(xué)習(xí)技術(shù),能夠?qū)⑷四槇D像轉(zhuǎn)化為具有良好辨識(shí)度的128維特征向量,用于人臉比對(duì)和識(shí)別[6]。
4)InsightFace。InsightFace是一個(gè)開(kāi)源的人臉?lè)治鲰?xiàng)目,提供了高性能的人臉識(shí)別和人臉屬性分析功能。它基于深度學(xué)習(xí)框架MXNet,具有較好的人臉檢測(cè)和特征提取能力[7]。
5)OpenFace。OpenFace是一個(gè)由卡耐基梅隆(CMU)大學(xué)開(kāi)發(fā)的圖像+機(jī)器學(xué)習(xí)軟件項(xiàng)目,是第一個(gè)能夠進(jìn)行包括人臉關(guān)鍵點(diǎn)檢測(cè)、頭部姿態(tài)估計(jì)、AU特征檢測(cè)的開(kāi)源工具[8]。
1.2.2? 商用人臉識(shí)別產(chǎn)品
目前國(guó)內(nèi)常用的人臉識(shí)別技術(shù)供應(yīng)商有百度、騰訊、華為等,簡(jiǎn)介如下:
1)百度人臉識(shí)別(Baidu Face Recognition)。百度提供的人臉識(shí)別產(chǎn)品,具有高性能的人臉檢測(cè)、識(shí)別和比對(duì)功能。它支持多種場(chǎng)景下的人臉識(shí)別應(yīng)用,如門(mén)禁考勤、人臉支付等,并提供了簡(jiǎn)單易用的API接口供開(kāi)發(fā)者使用。
2)騰訊優(yōu)圖人臉識(shí)別(Tencent YouTu Face Recognition)。騰訊優(yōu)圖推出的人臉識(shí)別產(chǎn)品,具有較高的準(zhǔn)確性和穩(wěn)定性。它支持人臉檢測(cè)、人臉比對(duì)、人臉?biāo)阉鞯裙δ?,并可?yīng)用于人臉門(mén)禁、人臉支付、人臉簽到等場(chǎng)景。
3)華為人臉識(shí)別(Huawei Face Recognition)。華為提供的人臉識(shí)別解決方案,具備高性能和高可靠性。它支持人臉檢測(cè)、人臉識(shí)別、人臉活體檢測(cè)等功能,可廣泛應(yīng)用于安防、金融、教育等領(lǐng)域。
4)商湯科技人臉識(shí)別(SenseTime Face Recognition)。商湯科技是一家領(lǐng)先的人工智能公司,其人臉識(shí)別產(chǎn)品具有較高的準(zhǔn)確性和穩(wěn)定性。它支持人臉檢測(cè)、人臉比對(duì)、人臉?biāo)阉鞯裙δ?,并可用于人臉門(mén)禁、人臉支付、智慧零售等場(chǎng)景。
5)曠視科技人臉識(shí)別(Megvii Face Recognition)。曠視科技是一家知名的人臉識(shí)別技術(shù)公司,其人臉識(shí)別產(chǎn)品在準(zhǔn)確性和性能方面表現(xiàn)出色。它提供了全面的人臉識(shí)別功能,包括人臉檢測(cè)、人臉比對(duì)、人臉?biāo)阉鞯?,可?yīng)用于多個(gè)領(lǐng)域,如安防、金融、公安等。
1.3? 二代身份證信息讀取技術(shù)介紹
目前二代身份證是我國(guó)公民身份識(shí)別最重要證件,內(nèi)置加密芯片,存儲(chǔ)著身份證持有者的基本信息,包括姓名、性別、出生日期、身份證號(hào)碼、住址、有效期及人臉照片等。通過(guò)遵循相關(guān)的通信協(xié)議和數(shù)據(jù)解析規(guī)則,身份證讀取設(shè)備可以讀取芯片內(nèi)的數(shù)據(jù)。
為了保證二代身份證讀取的安全性和準(zhǔn)確性,需使用內(nèi)置公安部授權(quán)專用身份證控制模塊的讀取設(shè)備[9]。身份證讀取設(shè)備從使用方式上可分為有線連接式與無(wú)線連接式,有線連接式通常采用USB數(shù)據(jù)線的方式與調(diào)用主機(jī)連接,無(wú)線連接式則通常采用藍(lán)牙連接方式。
2? 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于人臉識(shí)別技術(shù)的校園一卡通照片采集系統(tǒng)主要包括圖像采集模塊、身份證信息讀取模塊、人臉檢測(cè)與識(shí)別模塊、圖像處理和存儲(chǔ)模塊及基于Web的學(xué)生信息管理模塊。系統(tǒng)架構(gòu)如圖1所示。
如圖1所示,身份證讀取模塊主要完成學(xué)生姓名、性別、出生年月日及身份證照片等基礎(chǔ)信息的讀取。圖像采集模塊主要完成現(xiàn)場(chǎng)人臉照片的抓拍。人臉檢測(cè)與識(shí)別模塊主要完成現(xiàn)場(chǎng)采集照片、身份證照片及高考報(bào)名照片中人臉的檢測(cè)、特征提取等,以實(shí)現(xiàn)身份合法性判斷與現(xiàn)場(chǎng)抓拍照片中人臉位置的確定。圖像處理和存儲(chǔ)模塊主要根據(jù)人臉檢測(cè)與識(shí)別模塊識(shí)別的人臉位置,根據(jù)系統(tǒng)設(shè)置完成一卡通照片的自動(dòng)裁剪與存儲(chǔ)。基于Web的學(xué)生信息管理模塊主要面向用戶提供各個(gè)功能的操作界面。以上各系統(tǒng)模塊的詳細(xì)功能設(shè)計(jì)與實(shí)現(xiàn)的內(nèi)容如下。
2.1? 系統(tǒng)身份證讀取模塊
本模塊通過(guò)集成專用身份證讀卡硬件的SDK實(shí)現(xiàn)身份證內(nèi)加密信息的讀取。通過(guò)綜合對(duì)比市場(chǎng)中各類(lèi)身份證讀卡設(shè)備的性能、價(jià)格、接口開(kāi)發(fā)情況,本系統(tǒng)選用的身份證讀卡器品牌及型號(hào)為華視電子U100,該款讀卡器提供完善的網(wǎng)頁(yè)端讀卡開(kāi)發(fā)接口,可滿足本系統(tǒng)WEB架構(gòu)開(kāi)發(fā)需求。此模塊核心讀卡代碼如下所示:
String featureModelPath = "path/to/lbpcascade_frontalface.xml"; FaceRecognizer faceRecognizer = LBPHFaceRecognizer.create(); faceRecognizer.read(featureModelPath);
int[] label = new int[1];
double[] confidence = new double[1];
faceRecognizer.predict(face, label, confidence);
return label;
}
/***? 人臉相似度計(jì)算? ***/
private static double calculateSimilarity(FaceRecognizer faceRecognizer, Mat image1, Mat image2){
IntPointer label = new IntPointer(1);
DoublePointerconfidence = new DoublePointer(1);
faceRecognizer.predict(image1, label, confidence);
int predictedLabel1 = label.get(0);
double predictedConfidence1 = confidence.get(0);
faceRecognizer.predict(image2, label, confidence);
int predictedLabel2 = label.get(0);
double predictedConfidence2 = confidence.get(0);
doublesimilarity = 1.0 / (1.0 + Math.sqrt(Math.pow(predictedConfidence1 - predictedConfidence2, 2)));
return similarity;
}
2.4? 圖像處理和存儲(chǔ)模塊
本模塊根據(jù)人臉在整個(gè)照片中的相對(duì)位置,并依據(jù)事先設(shè)置的照片尺寸要求,自動(dòng)完成照片的裁剪,生成人臉居中的一卡通照片。裁剪完成后將照片與學(xué)生信息關(guān)聯(lián)后自動(dòng)保存。此模塊也提供采集照片背景的更換功能。
西安交大一卡通照片分辨率要求為480×640,對(duì)應(yīng)以上要求,此模塊照片裁剪區(qū)域計(jì)算邏輯實(shí)現(xiàn)代碼如下所示:
//根據(jù)圖片尺寸要求及偵測(cè)到的人像位置獲取應(yīng)該裁剪的區(qū)域
public int[] getPosition(int imageW,int imageH,int regionX,int regionY,int regionW,int regionH){
int result[] = new int[4];
int base = regionW *21/25;
result[0] = regionX + regionW/2 - base;
result[1] = regionY + regionH/2 - base * 4 / 3;
//保證高度不被裁剪的過(guò)多,否則自動(dòng)填補(bǔ)的不自然
if(result[1]<0){
result[1]=0;
}
result[2] = base*2;
result[3] = base*8/3;
return result;
}
2.5? 基于Web的學(xué)生信息管理模塊
本模塊主要面向管理員實(shí)現(xiàn)系統(tǒng)的業(yè)務(wù)功能,包括采集前的學(xué)生信息上傳、高考照片上傳及采集后的批量導(dǎo)出。對(duì)采集照片進(jìn)行打包下載是本模塊核心功能,其實(shí)現(xiàn)代碼如下所示:
private void downloadTolocal(ZipOutputStream zos, List
InputStream input = null;
String localPath = Config.getProfile() + "/";
String downloadPath = "";
for (BusStudent stu : stuList) {
if(StringUtils.isBlank(stu.getCapturePhtotoPath())) {
continue;
}
downloadPath = localPath + stu.getCapturePhtotoPath().replace("/profile", "");
File file = new File(downloadPath);
ZipEntry zipEntry = new ZipEntry(file.getName());
input = new FileInputStream(file);
zos.putNextEntry(zipEntry);
IOUtils.copy(input, zos);
}
zos.close();
input.close();
}
3? 部署方案及應(yīng)用效果
3.1? 系統(tǒng)部署方案
為了節(jié)約系統(tǒng)開(kāi)發(fā)成本、加快開(kāi)發(fā)效率,本系統(tǒng)部署于西安交大校級(jí)云平臺(tái)上,該云平臺(tái)層采用了基于OpenStack架構(gòu)的CloudOS高校運(yùn)營(yíng)版,計(jì)算虛擬化采用了基于KVM架構(gòu)的CAS企業(yè)版,分布式存儲(chǔ)采用了基于Ceph架構(gòu)的ONEStor產(chǎn)品,可提供7×24小時(shí)穩(wěn)定服務(wù),滿足系統(tǒng)運(yùn)行要求。
3.2? 系統(tǒng)應(yīng)用效果
基于人臉識(shí)別技術(shù)的校園一卡通照片采集系統(tǒng)核采集功能界面如圖2所示。
如圖2所示,在進(jìn)行一卡通照片采集時(shí),首先讀取學(xué)生身份證信息,讀取成功后點(diǎn)擊“拍照&人臉識(shí)別”按鈕完成人臉檢測(cè),并將檢測(cè)到的人臉與身份人臉及錄取照片人臉逐一進(jìn)行比對(duì),若比對(duì)不通過(guò)則產(chǎn)生告警提示,若全部比對(duì)通過(guò),則會(huì)顯示自動(dòng)裁剪的一卡通照片。正常情況下,自動(dòng)裁剪生成的人臉一卡通照片會(huì)將人臉居中,分辨率也是設(shè)定的尺寸,點(diǎn)擊“保存&上傳”即可,若對(duì)采集的照片不滿意可重復(fù)采集,采集結(jié)果將覆蓋之前的記錄。
如圖3所示,采集工作完成后,可通過(guò)系統(tǒng)批量導(dǎo)出一卡通照片文件。
如圖3所示,根據(jù)參數(shù)配置,生成的一卡通照片文件為jpg格式,將以學(xué)生學(xué)號(hào)或身份證號(hào)命名,方便后續(xù)批量導(dǎo)入一卡通系統(tǒng)或其他業(yè)務(wù)系統(tǒng)。同時(shí),為了符合我國(guó)個(gè)人信息保護(hù)政策法規(guī)的相關(guān)要求[10],本系統(tǒng)也設(shè)置了嚴(yán)格的功能權(quán)限驗(yàn)證規(guī)則,以保證包含人臉信息一卡通照片查詢與下載的安全。實(shí)際應(yīng)用表明,本系統(tǒng)可有效提升高校一卡通照片采集的效率、安全性、用戶體驗(yàn)和數(shù)據(jù)準(zhǔn)確性。
4? 結(jié)? 論
本文提出了一種基于人臉識(shí)別技術(shù)的校園一卡通照片采集系統(tǒng),通過(guò)將人臉識(shí)別、身份證讀取、圖像處理等技術(shù)進(jìn)行合理組合,實(shí)現(xiàn)高效、準(zhǔn)確和安全的一卡通照片采集。系統(tǒng)的自動(dòng)化照片采集解決了人工處理可能帶來(lái)的錯(cuò)誤和不一致,同時(shí)通過(guò)采集照片與高考預(yù)留照片及身份證照片的雙重人臉驗(yàn)證確保了采集照片的真實(shí)性,有效預(yù)防了誤操作的可能性及身份冒用風(fēng)險(xiǎn)。綜上所述,該系統(tǒng)可有效解決傳統(tǒng)高校學(xué)生一卡通照片采集存在的問(wèn)題,具有一定的實(shí)用性和推廣價(jià)值。
隨著高校信息化的不斷發(fā)展,各類(lèi)基于人臉的智能身份驗(yàn)證系統(tǒng)的應(yīng)用越來(lái)越廣泛。一卡通照片作為高校內(nèi)人員身份關(guān)聯(lián)的權(quán)威數(shù)據(jù),可以應(yīng)用于智慧考勤、人臉消費(fèi)、門(mén)禁驗(yàn)證等教育教學(xué)及生活場(chǎng)景。在未來(lái)的研究中,筆者將研究基于一卡通照片的校級(jí)人臉特征庫(kù)的建設(shè),同時(shí)也將依照當(dāng)前我國(guó)個(gè)人信息保護(hù)政策法規(guī)的要求與發(fā)展趨勢(shì),重點(diǎn)研究人臉數(shù)據(jù)存儲(chǔ)及應(yīng)用的安全性保障。
參考文獻(xiàn):
[1] 李華勝,楊樺,袁保宗.人臉識(shí)別系統(tǒng)中的特征提取 [J].北方交通大學(xué)學(xué)報(bào),2001(2):18-21.
[2] 郭衛(wèi)鋒.基于統(tǒng)計(jì)的人臉識(shí)別算法研究 [D].長(zhǎng)沙:湖南大學(xué),2002.
[3] 李環(huán).人工智能中人臉識(shí)別技術(shù)的應(yīng)用分析 [J].電子測(cè)試,2021(1):137-138+130.
[4] 孫凱.基于嵌入式平臺(tái)的深度學(xué)習(xí)人臉識(shí)別技術(shù)研究 [D].南京:南京郵電大學(xué),2022.
[5] 曾曦.基于卷積神經(jīng)網(wǎng)絡(luò)的人臉表情識(shí)別研究 [D].西寧:青海師范大學(xué),2023.
[6] SCHROFF F,KALENICHENKO D,PHILBIN J. FaceNet: A United Embedding for Face Recognition and Clustering [J/OL].arXiv: 1503.03832 [cs.CV].(2015-03-12).https://arxiv.org/abs/1503.03832.
[7] 田曦初,蘇寒松,劉高華,等.基于InsightFace的改進(jìn)教室人臉識(shí)別算法及其應(yīng)用 [J].激光與光電子學(xué)進(jìn)展,2020,57(22):304-314.
[8] 李輝煌. 基于應(yīng)激狀態(tài)下的面部特征模型在自殺風(fēng)險(xiǎn)識(shí)別中的探索 [D].南方醫(yī)科大學(xué).
[9] 王振華,蘇金善,仝瓊琳.基于深度學(xué)習(xí)的部分遮擋人臉識(shí)別 [J].電子技術(shù)與軟件工程,2020(2):145-147.
[10] 王鴻.人臉識(shí)別技術(shù)應(yīng)用的現(xiàn)行規(guī)制綜述及立法趨勢(shì)分析 [J].東北師大學(xué)報(bào):哲學(xué)社會(huì)科學(xué)版,2022(2):97-101.
作者簡(jiǎn)介:吳飛龍(1989.03—),男,漢族,陜西西
安人,工程師,碩士,研究方向:物聯(lián)網(wǎng)、應(yīng)用系統(tǒng)、網(wǎng)絡(luò)安全。