얼굴인식을 통한 Face ID 기반의 출결 관리 시스템 설계 및 구현
Copyright ⓒ 2024 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
초록
현재 일반적으로 사용되고 있는 대부분의 전자 출결 시스템은 대리 출석을 방지할 수 없으며, 학생들이 스마트폰을 소지하지 않을 경우 제대로 동작할 수 없다는 단점을 가진다. 본 논문은 대리 출석을 방지하고, 학생들이 스마트폰을 가지고 있지 않더라도 강의실에 배치된 하나의 카메라를 통하여 동시에 여러 학생들의 출결 확인이 가능하도록 얼굴 인식을 통한 Face-ID 기반의 출결 관리 시스템을 제안하였다. 제안 시스템은 학생의 얼굴 이미지 및 정보 입력, 얼굴 인식을 통한 출결 확인 및 처리, 출석 현황 확인 기능으로 구성된다. 구현 결과 제안 시스템을 통해 학생의 스마트폰 소지 여부와 상관없이 다수의 학생 얼굴을 동시에 인식하고 출석 현황을 체크할 수 있음을 확인하였다.
Abstract
Most electronic attendance systems currently in general use cannot prevent surrogate attendance and are disadvantageous in that they cannot operate properly if students do not have smartphones. This paper proposes a face-ID-based attendance management system that uses facial recognition to prevent surrogate attendance and can check the attendance of multiple students at the same time through a single camera placed in the classroom even if students do not have smartphones. The proposed system uses images of students’ faces as the information input, checks the attendance and processes it through facial recognition, and carries out an attendance status check. Implementation confirmed that the proposed system can simultaneously recognize multiple students’ faces and check the attendance status regardless of whether or not students have smartphones.
Keywords:
Electronic Attendance System, Surrogate Attendance, Smartphone, Facial Recognition, Face-ID키워드:
전자 출결 시스템, 대리 출석, 스마트폰, 얼굴 인식Ⅰ. 서 론
최근 대학 등의 교육 기관에서 학생들의 출결 관리를 위한 전자 출결 시스템이 본격적으로 도입되어 활용되고 있다. 가장 일반적인 전자 출결 시스템에는 RFID 또는 NFC를 이용한 방법, 스마트폰에 별도의 앱을 설치하여 인증번호를 받아 인증하거나 특정 문자열을 입력하여 인증코드를 활용한 방법, Wifi 또는 블루투스의 신호 세기를 이용한 방식, QR코드를 이용한 출석 처리, 위치 기반 출석 처리 등이 있다[1]-[7].
이 시스템들은 출석 처리 시간을 단축할 수 있지만, 본인 확인이 어려워 대리 출석에 취약하다는 문제점이 존재한다. 또한, 학생들이 스마트폰을 가지고 있지 않거나 출결 관리 앱을 설치하지 않을 경우 출석 확인이 불가능하다는 제한이 있다. 또한 위치 기반 출석 처리 방식의 경우는 위치 정보를 정확하게 인식하지 못하는 문제점이 있으며, 이 외에도 교수가 직접 많은 인원의 학생을 대상으로 출석 처리를 할 경우 번거로움과 많은 시간이 소요된다. 최근에는 대리 출석을 방지하기 위하여 얼굴 인식 기반의 전자 출결 시스템에 관해 활발히 연구되고 있다[8]-[11].
본 논문에서는 대리 출석을 방지하고, 학생들이 스마트폰을 가지고 있지 않더라도 강의실에 배치된 하나의 카메라를 통하여 동시에 여러 학생들의 출결 확인이 가능하도록 얼굴 인식을 통한 Face-ID 기반의 출결 관리 시스템을 제안한다. 제안 시스템은 크게 네 가지 기능으로 구성된다. 첫째, 학생의 얼굴 이미지 및 정보를 미리 등록해야 한다. 둘째, 수업 시간에 출결 상황 확인을 위한 얼굴인식 기능이다. 셋째, 얼굴 인식 결과를 바탕으로 획득한 출석처리 결과를 데이터베이스에 등록한다. 넷째, 웹 또는 앱을 통한 출석 현황 확인 기능이다.
본 논문 Ⅱ장에서는 관련 연구를 소개하고, Ⅲ장에서는 제안 시스템의 구성 및 주요 기능들에 대해 기술한다. Ⅳ장에서 출결시스템 구현 결과를 기술한 후에, 마지막 Ⅴ장에서 결론을 맺는다.
Ⅱ. 관련 연구
그림 1은 일반적인 얼굴인식 과정을 보여준다. 얼굴인식 기술은 미리 입력된 이미지나 영상으로부터 얼굴 영역을 검출하는 과정, 검출된 얼굴 영역으로부터 랜드마크 정보를 획득한 후 그것들로부터 특징(feature) 데이터를 추출하는 과정, 특징 데이터를 활용하여 분류모델을 학습시키는 훈련 과정, 그리고 학습된 분류모델을 이용하여 새롭게 입력되는 얼굴을 검증하거나 식별하는 과정을 거친다[12]. 본 논문의 출결 관리 시스템은 새롭게 입력되는 학생 이미지를 미리 저장된 N명의 인물 이미지와 비교하여 학생 얼굴을 식별한다.
얼굴 영역을 검출하는 방법에는 얼굴 템플릿을 이용하는 방법과 눈, 코, 입 등과 같은 얼굴 요소 간의 위치 벡터를 계산하는 방법이 있다. 랜드마크 정보로부터 특징 데이터를 추출하는 방법에는 3차원과 같은 고차원 데이터로부터 1차원 데이터의 평탄화 작업을 통해 통계적으로 특징을 추출하는 방법 (PCA)과 비교적 계산 속도가 빠르고 적은 DB만으로도 처리가 가능한 선평 판별 분석 방법 (LDA)이 있다. 얼굴 식별 과정은 미리 저장된 N명의 인물 이미지와 입력 이미지의 특징 벡터 값을 비교하여 얼굴을 인식한다[13].
본 논문에서 사용한 Dlib 라이브러리는 주로 머신러닝 및 컴퓨터 비전 작업에 활용되는 오픈 소스 C++ 라이브러리로서 얼굴 검출 및 인식, 얼굴 랜드마크 추출, 머신러닝을 위한 데이터 특징 추출 등에 폭넓게 활용된다[14]-[17]. 특히 Dlib 라이브러리는 얼굴 검출을 위해 사전에 훈련된 모델 기반의 얼굴 검출기를 제공한다. 그림 2는 Dlib가 사람의 얼굴로부터 특징을 추출하기 위해 제공하는 68개의 얼굴 랜드마크 좌표를 보여준다.
Ⅲ. Face-ID 기반의 출결 관리 시스템
본론에서는 제안 시스템의 구성 및 주요 기능들에 대해 기술한다. 제안 시스템은 대리 출석을 방지하고 학생들이 스마트폰을 가지고 있지 않더라도 출결 확인이 가능하도록 얼굴 인식을 통한 Face-ID 기반의 전자 출결 관리 기능을 제공한다. 그림 3은 제안 시스템의 구성 및 주요 기능을 나타낸다.
3-1 학생 얼굴사진 및 정보 등록
제안 시스템의 주요 기능 중 첫 번째는, 학생의 얼굴 이미지 및 정보를 사전에 등록하는 기능이다. 제안 시스템의 학생 정보 입력 사용자 인터페이스(UI; user interface)를 통해 학생의 정보(학번, 이름, 학년, 학과)를 입력하면, 카메라 모듈이 자동으로 활성화되면서 학생을 촬영한다. 촬영된 학생 이미지는 얼굴 검출 함수에 의해 얼굴 부위만 이미지로 만들어지는데, 200×200 크기의 흑백 이미지 파일로 변환되어 서버의 디렉터리에 저장된다. 이 때 저장되는 이미지 파일명은 학생의 학번이다. 저장된 학생 얼굴 이미지는 얼굴인식을 통한 출결 확인 시 비교 이미지로 사용된다.
3-2 얼굴인식을 통한 출결 확인
수업 시간에 출결 상황 확인을 위한 얼굴인식 기능이다. 제안 시스템은 얼굴인식을 위해 OpenCV 및 Dlib 라이브러리 모듈을 사용하였다[18],[19]. 본 시스템은 사전에 등록한 학생의 얼굴 이미지와 학번정보를 바탕으로 수업 시간에 출석처리를 수행한다.
제안 시스템은 얼굴 인식 대상자인 학생의 얼굴을 흑백으로 변환하여 사전에 학습되어 있는 정보 중 가장 일치하는 이미지를 도출하고 일치율이 높은 학생의 학번을 학생 얼굴 하단에 시각적으로 나타낸다. 이때 등록되어 있는 이미지가 없을 경우 UnKnown으로 표시한다. 도출된 이미지 파일명을 리스트 형태로 저장할 수 있어 단독뿐만 아니라 여러 명의 학생들도 동시에 얼굴인식을 함께 수행할 수 있다.
3-3 출석 처리 결과 DB 등록
제안 시스템에서는 PyMySQL을 사용함으로써 Python과 MySQL을 연동하여 매핑한 학생의 학번 정보를 바탕으로 데이터베이스 내 출석 정보 테이블에서 출석 처리 값을 갱신한다. 이 과정에서 얼굴인식 수행 시 오류를 최소화하기 위해 일치하는 학번이 세 번 나올 경우 해당 학생의 출석 정보 여부를 출석으로 갱신한다. 제안 시스템은 웹페이지를 통해 학년, 사진, 학번, 이름과 함께 갱신된 출석 정보를 제공한다.
3-4 출석 현황 확인
제안 시스템에서는 학생 출석 현황 정보 확인 기능을 제공한다. 교수자는 등록되어있는 학생들의 출석 정보를 원하는 과목과 주차에 맞게 조회를 하면 해당 조건들에 맞는 정보들을 불러와 출석 현황을 확인을 할 수 있다. 학생들은 자신의 출결 현황 정보를 언제든지 확인할 수 있다.
제안 시스템에서는 학생들의 출결 현황 확인 기능을 스프링(Spring) 프레임워크 기반의 웹 서비스를 통하여 제공한다. 얼굴인식은 실시간으로 이루어지기 떄문에 스프링 프레임워크로 개발한 웹 사이트 내부적으로 5초마다 자동 새로고침 될 수 있도록 설정하여 교수나 학생 모두 출석 현황을 실시간으로 확인할 수 있도록 설정한다. 또한 출석 현황을 확인할 때 각 학생의 학년, 사진, 학번, 이름을 표시함으로써 한눈에 보기 편하게 UI를 구성하였다. 출석이 모두 완료되면 교수는 출석리스트라는 페이지에서 과목과 주차를 선택하여 학생들의 출석 여부를 테이블 형태로 확인할 수 있다.
Ⅳ. 구현 결과
본 장에서는 제안 시스템의 구현 결과에 대해 기술한다. 제안 시스템은 Python 언어를 사용하여 개발하였으며, DBMS는 MySQL을 사용하였다.
그림 4 및 5는 학생 정보 입력 과정에서 학생 얼굴 사진을 촬영하여 흑백 이미지로 저장하는 과정을 보여준다. 학생 정보 입력 사용자 인터페이스에서 학생들의 학번, 성명, 소속 학과 등의 정보를 입력하면, 자동으로 카메라 모듈이 활성화되면서 학생을 촬영한 후 얼굴 검출 함수를 통해 얼굴 부위만 이미지로 만들고 반환한다. 반환된 이미지를 200 x 200 사이즈로 크기를 맞추어 흑백 이미지로 변환한 후 지정된 디렉터리에 입력한 학번이 파일명이 되도록 저장한다.
그림 6 및 7은 각각 얼굴 인식 과정 및 그 결과를 바탕으로 데이터베이스 출결 현황 데이터를 갱신하는 과정을 보여준다. 그림 4에서 알 수 있는 바와 같이, 제안 시스템은 하나의 카메라를 통해 다수 학생들의 얼굴을 동시에 인식할 수 있다. 제안 시스템에서는 얼굴인식을 위해 OpenCV 및 Dlib라이브러리 모듈을 사용하였다. 얼굴 인식 과정이 완료되면 그 결과가 그림 5에서와 같이 데이터베이스 내 값을 갱신한다. 출결 확인 결과를 의미하는 check_value 컬럼의 값은 출석 시 0이며, 미 출석은 1이다.
그림 8에서와 같이, 교수 및 학생은 웹 사이트를 통해 실시간으로 해당 수업의 출결 현황을 학생들의 사진 이미지와 함께 편리하게 확인할 수 있다. 제안 시스템은 스프링 프레임워크 기반의 웹 사이트를 구축하여 출석 현황 확인 서비스를 제공한다. 출석으로 처리된 학생의 경우 학번 및 이름 텍스트 박스가 초록색으로 표시되며, 결석 학생은 빨간색으로 표시된다.
학생들의 출석처리가 모두 완료되면, 그림 9에서와 같이 교수는 별도의 출석리스트 페이지에서 과목명과 주차를 선택하고 조회하기 버튼을 클릭하면 주차 별로 학생들의 출결을 테이블 형태로 확인할 수 있다. 그리고 그림 10은 모든 주차의 출결 현황을 확인할 수 있는 출석부를 보여준다.
Ⅴ. 결 론
본 논문에서는 전자 출결에서 대리 출석을 방지하고, 학생들이 스마트폰을 가지고 있지 않더라도 강의실에 배치된 하나의 카메라를 통하여 동시에 여러 학생들의 출결 확인이 가능하도록 얼굴 인식을 통한 Face-ID 기반의 출결 관리 시스템을 설계하고 구현하였다. 제안 시스템은 하나의 카메라를 통해 다수 학생들의 얼굴을 동시에 인식하기 위해 OpenCV 및 Dlib 라이브러리 모듈을 사용하였다. 특히 Dlib가 사람의 얼굴로부터 특징을 추출하기 위해 제공하는 68개의 얼굴 랜드마크 좌표를 사용하였다. 또한 제안 시스템은 학생의 얼굴 이미지 및 정보 입력, 얼굴 인식을 통한 출결 확인, 출석처리, 및 출석 현황 확인 기능을 제공한다.
구현 결과 제안 시스템을 통해 학생의 스마트폰 소지 여부와 상관없이 다수의 학생 얼굴을 동시에 인식하고 출석 현황을 체크할 수 있음을 확인하였다. 또한 제안 시스템은 강의실에 입장한 학생들의 얼굴만 인식하므로 대리 출석 문제를 원천적으로 방지할 수 있다.
Acknowledgments
본 연구성과물은 2023년도 정부(교육부)의 재원으로 한국연구재단의 지원을 받아 수행된 기초연구사업임(No. 2017R1D1A3B06035024).
References
- H.-S. Park and G.-H. Hwang, “Ad-hoc Electronic Attendance Checking System Based on BLE Beacon,” The Journal of Korean Institute of Communications and Information Sciences, Vol. 42, No. 1, pp. 227-229, January 2017. [https://doi.org/10.7840/kics.2017.42.1.227]
- B.-S. Jang, S.-J. Lee, and H.-Y. Kwak, “A Study of Attendance Management System Using Beacon and BLE Advertisement Function,” Journal of the Korea Society of Computer and Information, Vol. 23 No. 8, pp. 67-73, August 2018. [https://doi.org/10.9708/jksci.2018.23.08.067]
- B. Lim, B. Jeong, and J. Kim, “Mobile Attendance System Using Bluetooth Signal Strength,” KIISE Transactions on Computing Practices, Vol. 24, No. 6, pp. 307-311, June 2018. [https://doi.org/10.5626/ktcp.2018.24.6.307]
- M. Y. Bae, D. J. Cho, and H. K. Lim, “Automatic Attendance Check System Using QR Code Based on Smartphone,” in Proceeding of the 2014 KIIT Summer Conference, Cheonan, pp. 256-258, May 2014.
- T. S. Han, J. H. Kim, S. I. Kim, H. J. Jeon, K. H. Park, and Y. H. Kim, “Smart Phone-Serial Authentication Based the Attendance Management System for the Prevention of Proxy Attendance,” in Proceedings of the 2013 KIIT Summer Conference, Asan, pp. 207-210, May 2013.
- B.-G. Kim, “An Implementation of Auto Attendance Management System Based on App Using NFC Technique,” Journal of the Korea Academia-Industrial Cooperation Society, Vol. 17, No. 2, pp. 719-723, February 2016. [https://doi.org/10.5762/KAIS.2016.17.2.719]
- D. Shin, T. Kim, J. Choi, and J. Kim, “Automatic Attendance Check System Using WiFi Signals Based on Smartphone,” KIISE Transactions on Computing Practices, Vol. 19, No. 4, pp. 219-223, April 2013.
- H.-M. Yang, J.-G. Kang, A. Lin, Y.-S. Choi, D.-W. Lim, I.-H. Kim, ... J.-W. Jung, “Automated Attendance Checking System Based on User Face Recognition,” Journal of Korean Institute of Intelligent Systems, Vol. 29, No. 5, pp. 379-384, October 2019. [https://doi.org/10.5391/jkiis.2019.29.5.379]
- S. Lee, J. Won, K. Bang, I. Jeon, and H. Park, “A Study on Face Recognition Attendance System Using Machine Learning,” in Proceeding of 2017 Joint Conference DCS & KIIT, Daejeon, pp. 347-348, December 2017.
- S. Yoo, J. Kim, H. Park, and C. Lee, “Implimentation of Automatic Attendance Management System for Classroom Using OpenCV and Machine Learning,” in Proceeding of the Korean Institute of Information and Communication Sciences Conference, Daejeon, pp. 327-329, May 2019.
- Y. H. Lee, J. S. Kwon, and H. G. Kim, Face-ID Based Attendance Check System through Face Recognition, School of IT Convergence & Artificial Intelligence, Korea Nazarene University, 2021.
- H. I. Kim, J. Y. Moon, and J. Y. Park, “Research Trends for Deep Learning-Based High-Performance Face Recognition Technology,” Electronics and Telecommunications Trends, Vol. 33, No. 4, pp. 43-53, August 2018. [https://doi.org/10.22648/ETRI.2018.J.330405]
- H.-J. Moon and G.-H. Kim, “A Survey on Deep Learning Based Face Recognition for User Authentication,” Journal of Industrial Convergence, Vol. 17, No. 3, pp. 23-29, September 2019. [https://doi.org/10.22678/jic.2019.17.3.023]
- Dlib. Dlib C++ library [Internet]. Available: http://dlib.net/, .
- S.-Y. Heo, K. M. Kim, and W.-J. Lee, “Design and Implementation of Visitor Access Control System Using Deep Learning Face Recognition,” Journal of Digital Convergence, Vol. 19, No. 2, pp. 245-251, February 2021. [https://doi.org/10.14400/JDC.2021.19.2.245]
- K. N. Park, “A Morphing Method Using Control Lines of Facial Landmarks,” Journal of Digital Contents Society, Vol. 20, No. 2, pp. 443-450, February 2019. [https://doi.org/10.9728/dcs.2019.20.2.443]
- GitHub. Python Face Recognition in Real Time [Internet]. Available: http://ukayzm.github.io/python-face-recognition, .
- Y. Kwon and D. Kim, “Real-Time Workout Posture Correction Using OpenCV and MediaPipe,” Journal of KIIT, Vol. 20, No. 1, pp. 199-208, January 2022. [https://doi.org/10.14801/jkiit.2022.20.1.199]
- Tistroy. Easy Recognition with Opencv [Internet]. Available: http://minimin2.tistory.com/139, .
저자소개
2023년:나사렛대학교 IT인공지능학부 (이학사)
※관심분야:인공지능(Artificial Intelligence), 사물인터넷(IoT) 등
2022년:나사렛대학교 IT인공지능학부 (이학사)
2023년~현 재 : ㈜안랩 연구원
※관심분야:정보보안, 인공지능(Artificial Intelligence), 웹 어플리케이션(Web Application) 개발 등
1993년:경북대학교 전자공학과 (공학사)
1998년:경북대학교 일반대학원 전자공학과 (공학석사)
2005년:경북대학교 일반대학원 전자공학과 (공학박사)
1998년~2007년: 포항대학교 컴퓨터응용계열 교수
2007년~현 재: 나사렛대학교 IT인공지능학부 교수
※관심분야:모바일 컴퓨팅, 사물인터넷 (IoT), 인공지능(Artificial Intelligence) 등