?

基于人臉識別技術的校園一卡通照片采集系統的設計與實現

2024-04-14 11:35吳飛龍張哲張心朱曉芒王芳
現代信息科技 2024年2期
關鍵詞:校園一卡通人臉識別

吳飛龍 張哲 張心 朱曉芒 王芳

DOI:10.19850/j.cnki.2096-4706.2024.02.037

收稿日期:2023-05-30

摘? 要:在高校學生信息管理中,一卡通照片往往由學生自行提供或通過專用一體設備自助采集,照片的質量和真實性難以保證。為了解決這一問題,文章提出了一種基于人臉識別技術的校園一卡通照片采集系統。該系統基于OpenCV的人臉檢測、人臉位置計算及人臉相似度計算能力,實現標準一卡通照片的自動生成,同時保證了照片的真實性。實際使用表明,該系統可以提高一卡通照片采集工作的效率、規范性及照片真實性,因而文章的研究成果具有一定的實用性和推廣價值。

關鍵詞:OpenCV;人臉識別;校園一卡通;照片采集系統;高校信息化管理

中圖分類號:TP311? ? 文獻標志碼:A? 文章編號: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? 引? 言

校園一卡通照片在學校管理中扮演著重要的角色,作為學生身份的標識,被廣泛應用于各類學校事務,包括圖書館借閱、實驗室進出、考試認證等。一張準確、清晰、真實的一卡通照片對于確保校園安全、高效管理學生信息及提供便利生活服務至關重要。傳統一卡通照片采集依賴于學生提供照片或通過專用一體設備自助采集,往往存在質量不一和真實性難以驗證的問題,這對于校園學生信息管理帶來了一定的挑戰。

人臉識別技術作為一種先進的生物識別技術,具有高精度、高效性、高便利性及高安全性等特點,已在各行各業得到廣泛應用。將人臉識別技術應用于校園一卡通照片采集業務,可以有效提高照片采集的準確性和真實性。

本文闡述了西安交大如何通過人臉識別技術解決傳統校園一卡通照片采集中存在的問題,對比國內其他高校學生上傳教師審核或通過專用一體設備采集的解決方式,該系統通過人臉識別技術保證了一卡通照片采集的規范性與安全性,其核心功能在服務端實現,對前端的采集設備無特殊要求,應用方式更加靈活。

1? 關鍵技術介紹

1.1? 人臉識別技術路線

常用的人臉識別技術可以分為以下幾類,在原理、應用領域和性能方面有所不同:

1)基于特征提取的人臉識別技術[1]。這種技術通過提取人臉圖像中的特征信息,例如臉部輪廓、眼睛、鼻子、嘴巴等,然后將這些特征與存儲在數據庫中的人臉特征進行比對和匹配。常見的算法包括主成分分析(PCA)、線性判別分析(LDA)和局部二值模式(LBP)等。這種技術簡單高效,適用于一些較為簡單的人臉識別場景。

2)基于統計模型的人臉識別技術[2]。這種技術利用統計模型對人臉圖像進行建模和分析,常見的方法包括高斯混合模型(GMM)、隱馬爾可夫模型(HMM)和條件隨機場(CRF)等。通過訓練模型并利用模型參數進行識別,這種技術對光照、姿態和表情等因素的魯棒性較好,適用于復雜的人臉識別場景。

3)基于深度學習的人臉識別技術[3]。這種技術利用深度神經網絡對人臉圖像進行特征提取和識別,常用的模型包括卷積神經網絡(CNN)、自編碼器(Autoencoder)和生成對抗網絡(GAN)等。通過大規模數據集的訓練,深度學習技術可以學習到更復雜和抽象的人臉特征表示,從而提高識別準確率,并在人臉識別領域取得了重大突破。

4)基于三維人臉識別技術。這種技術通過獲取人臉的三維形狀信息,包括深度圖像、紅外成像或基于結構光的三維重建等方法。利用三維人臉模型進行識別,可以克服一些傳統方法在光照變化、遮擋和偽造方面的限制,適用于一些高安全性要求的應用場景。

1.2? 人臉識別產品介紹

1.2.1? 開源人臉識別產品

開源人臉識別產品提供了豐富的功能和算法,可以用于構建各種人臉識別應用,開源特性使得開發者可以根據自己的需求進行定制和擴展,并加快了人臉識別技術的推廣和應用。目前常用的開源人臉識別產品有以下幾種:

1)OpenCV。OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺庫,能夠運行在多種操作系統上,例如Windows、Linux、MAC等,實現了多種程序設計語言的接口,開發人員可以在此基礎上開發設計復雜的計算機視覺程序[4]。

2)Dlib。Dlib是一個非常優秀的人臉檢測開源庫,其源代碼采用C++語言實現,包含了多種計算機視覺算法,其中包括人臉檢測和人臉識別[5]。

3)FaceNet。FaceNet是由Google開發的開源人臉識別系統。它基于深度學習技術,能夠將人臉圖像轉化為具有良好辨識度的128維特征向量,用于人臉比對和識別[6]。

4)InsightFace。InsightFace是一個開源的人臉分析項目,提供了高性能的人臉識別和人臉屬性分析功能。它基于深度學習框架MXNet,具有較好的人臉檢測和特征提取能力[7]。

5)OpenFace。OpenFace是一個由卡耐基梅?。–MU)大學開發的圖像+機器學習軟件項目,是第一個能夠進行包括人臉關鍵點檢測、頭部姿態估計、AU特征檢測的開源工具[8]。

1.2.2? 商用人臉識別產品

目前國內常用的人臉識別技術供應商有百度、騰訊、華為等,簡介如下:

1)百度人臉識別(Baidu Face Recognition)。百度提供的人臉識別產品,具有高性能的人臉檢測、識別和比對功能。它支持多種場景下的人臉識別應用,如門禁考勤、人臉支付等,并提供了簡單易用的API接口供開發者使用。

2)騰訊優圖人臉識別(Tencent YouTu Face Recognition)。騰訊優圖推出的人臉識別產品,具有較高的準確性和穩定性。它支持人臉檢測、人臉比對、人臉搜索等功能,并可應用于人臉門禁、人臉支付、人臉簽到等場景。

3)華為人臉識別(Huawei Face Recognition)。華為提供的人臉識別解決方案,具備高性能和高可靠性。它支持人臉檢測、人臉識別、人臉活體檢測等功能,可廣泛應用于安防、金融、教育等領域。

4)商湯科技人臉識別(SenseTime Face Recognition)。商湯科技是一家領先的人工智能公司,其人臉識別產品具有較高的準確性和穩定性。它支持人臉檢測、人臉比對、人臉搜索等功能,并可用于人臉門禁、人臉支付、智慧零售等場景。

5)曠視科技人臉識別(Megvii Face Recognition)。曠視科技是一家知名的人臉識別技術公司,其人臉識別產品在準確性和性能方面表現出色。它提供了全面的人臉識別功能,包括人臉檢測、人臉比對、人臉搜索等,可應用于多個領域,如安防、金融、公安等。

1.3? 二代身份證信息讀取技術介紹

目前二代身份證是我國公民身份識別最重要證件,內置加密芯片,存儲著身份證持有者的基本信息,包括姓名、性別、出生日期、身份證號碼、住址、有效期及人臉照片等。通過遵循相關的通信協議和數據解析規則,身份證讀取設備可以讀取芯片內的數據。

為了保證二代身份證讀取的安全性和準確性,需使用內置公安部授權專用身份證控制模塊的讀取設備[9]。身份證讀取設備從使用方式上可分為有線連接式與無線連接式,有線連接式通常采用USB數據線的方式與調用主機連接,無線連接式則通常采用藍牙連接方式。

2? 系統設計與實現

基于人臉識別技術的校園一卡通照片采集系統主要包括圖像采集模塊、身份證信息讀取模塊、人臉檢測與識別模塊、圖像處理和存儲模塊及基于Web的學生信息管理模塊。系統架構如圖1所示。

如圖1所示,身份證讀取模塊主要完成學生姓名、性別、出生年月日及身份證照片等基礎信息的讀取。圖像采集模塊主要完成現場人臉照片的抓拍。人臉檢測與識別模塊主要完成現場采集照片、身份證照片及高考報名照片中人臉的檢測、特征提取等,以實現身份合法性判斷與現場抓拍照片中人臉位置的確定。圖像處理和存儲模塊主要根據人臉檢測與識別模塊識別的人臉位置,根據系統設置完成一卡通照片的自動裁剪與存儲?;赪eb的學生信息管理模塊主要面向用戶提供各個功能的操作界面。以上各系統模塊的詳細功能設計與實現的內容如下。

2.1? 系統身份證讀取模塊

本模塊通過集成專用身份證讀卡硬件的SDK實現身份證內加密信息的讀取。通過綜合對比市場中各類身份證讀卡設備的性能、價格、接口開發情況,本系統選用的身份證讀卡器品牌及型號為華視電子U100,該款讀卡器提供完善的網頁端讀卡開發接口,可滿足本系統WEB架構開發需求。此模塊核心讀卡代碼如下所示:

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;

}

/***? 人臉相似度計算? ***/

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? 圖像處理和存儲模塊

本模塊根據人臉在整個照片中的相對位置,并依據事先設置的照片尺寸要求,自動完成照片的裁剪,生成人臉居中的一卡通照片。裁剪完成后將照片與學生信息關聯后自動保存。此模塊也提供采集照片背景的更換功能。

西安交大一卡通照片分辨率要求為480×640,對應以上要求,此模塊照片裁剪區域計算邏輯實現代碼如下所示:

//根據圖片尺寸要求及偵測到的人像位置獲取應該裁剪的區域

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;

//保證高度不被裁剪的過多,否則自動填補的不自然

if(result[1]<0){

result[1]=0;

}

result[2] = base*2;

result[3] = base*8/3;

return result;

}

2.5? 基于Web的學生信息管理模塊

本模塊主要面向管理員實現系統的業務功能,包括采集前的學生信息上傳、高考照片上傳及采集后的批量導出。對采集照片進行打包下載是本模塊核心功能,其實現代碼如下所示:

private void downloadTolocal(ZipOutputStream zos, List stuList) throws IOException {

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? 部署方案及應用效果

3.1? 系統部署方案

為了節約系統開發成本、加快開發效率,本系統部署于西安交大校級云平臺上,該云平臺層采用了基于OpenStack架構的CloudOS高校運營版,計算虛擬化采用了基于KVM架構的CAS企業版,分布式存儲采用了基于Ceph架構的ONEStor產品,可提供7×24小時穩定服務,滿足系統運行要求。

3.2? 系統應用效果

基于人臉識別技術的校園一卡通照片采集系統核采集功能界面如圖2所示。

如圖2所示,在進行一卡通照片采集時,首先讀取學生身份證信息,讀取成功后點擊“拍照&人臉識別”按鈕完成人臉檢測,并將檢測到的人臉與身份人臉及錄取照片人臉逐一進行比對,若比對不通過則產生告警提示,若全部比對通過,則會顯示自動裁剪的一卡通照片。正常情況下,自動裁剪生成的人臉一卡通照片會將人臉居中,分辨率也是設定的尺寸,點擊“保存&上傳”即可,若對采集的照片不滿意可重復采集,采集結果將覆蓋之前的記錄。

如圖3所示,采集工作完成后,可通過系統批量導出一卡通照片文件。

如圖3所示,根據參數配置,生成的一卡通照片文件為jpg格式,將以學生學號或身份證號命名,方便后續批量導入一卡通系統或其他業務系統。同時,為了符合我國個人信息保護政策法規的相關要求[10],本系統也設置了嚴格的功能權限驗證規則,以保證包含人臉信息一卡通照片查詢與下載的安全。實際應用表明,本系統可有效提升高校一卡通照片采集的效率、安全性、用戶體驗和數據準確性。

4? 結? 論

本文提出了一種基于人臉識別技術的校園一卡通照片采集系統,通過將人臉識別、身份證讀取、圖像處理等技術進行合理組合,實現高效、準確和安全的一卡通照片采集。系統的自動化照片采集解決了人工處理可能帶來的錯誤和不一致,同時通過采集照片與高考預留照片及身份證照片的雙重人臉驗證確保了采集照片的真實性,有效預防了誤操作的可能性及身份冒用風險。綜上所述,該系統可有效解決傳統高校學生一卡通照片采集存在的問題,具有一定的實用性和推廣價值。

隨著高校信息化的不斷發展,各類基于人臉的智能身份驗證系統的應用越來越廣泛。一卡通照片作為高校內人員身份關聯的權威數據,可以應用于智慧考勤、人臉消費、門禁驗證等教育教學及生活場景。在未來的研究中,筆者將研究基于一卡通照片的校級人臉特征庫的建設,同時也將依照當前我國個人信息保護政策法規的要求與發展趨勢,重點研究人臉數據存儲及應用的安全性保障。

參考文獻:

[1] 李華勝,楊樺,袁保宗.人臉識別系統中的特征提取 [J].北方交通大學學報,2001(2):18-21.

[2] 郭衛鋒.基于統計的人臉識別算法研究 [D].長沙:湖南大學,2002.

[3] 李環.人工智能中人臉識別技術的應用分析 [J].電子測試,2021(1):137-138+130.

[4] 孫凱.基于嵌入式平臺的深度學習人臉識別技術研究 [D].南京:南京郵電大學,2022.

[5] 曾曦.基于卷積神經網絡的人臉表情識別研究 [D].西寧:青海師范大學,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].激光與光電子學進展,2020,57(22):304-314.

[8] 李輝煌. 基于應激狀態下的面部特征模型在自殺風險識別中的探索 [D].南方醫科大學.

[9] 王振華,蘇金善,仝瓊琳.基于深度學習的部分遮擋人臉識別 [J].電子技術與軟件工程,2020(2):145-147.

[10] 王鴻.人臉識別技術應用的現行規制綜述及立法趨勢分析 [J].東北師大學報:哲學社會科學版,2022(2):97-101.

作者簡介:吳飛龍(1989.03—),男,漢族,陜西西

安人,工程師,碩士,研究方向:物聯網、應用系統、網絡安全。

猜你喜歡
校園一卡通人臉識別
人臉識別 等
揭開人臉識別的神秘面紗
校園一卡通模式下的校園安全管理
淺析高校一卡通系統財務管理
基于校園一卡通的學生信用管理模型設計
基于類獨立核稀疏表示的魯棒人臉識別
基于K-L變換和平均近鄰法的人臉識別
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合