顔認識を利用したリアルタイムの出席確認システム「AttenFace」
3つの要点
✔️ 顔認識を利用した出席システムを提案
✔️ なりすましや抜け出しによる不正も確認可能
✔️ リアルタイムで出席状況を確認可能
AttenFace: A Real Time Attendance System Using Face Recognition
written by Ashwin Rao
(Submitted on 14 Nov 2022)
Comments: To be published in IEEE CICT 2022
Subjects: Computer Vision and Pattern Recognition (cs.CV)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
概要
大学などの授業では、出席を取るのが一般的です。しかし、原始的な方法で行われることが多く、改善の余地があります。生徒の名前を呼んだり、出席簿に名前を記入する方法が行われていますが、時間と手間がかかります。また、代理出席や出席確認後に授業を抜けるなど、不正もしやすい方法です。
そこで、この論文では、顔認識を利用し、出席確認の時間と手間を省き、不正も防ぐシステム「AttenFace」を提案しています。授業をカメラで撮影し、一定間隔で取得したスナップショットから顔認識で学生を認識し、データベースに保存されます。教師や学生が手動で出席対応をする必要がありません。また、カメラが常に録画しているため、学生がどれくらい授業に留まっているかも簡単に把握でき、クラスを担当する教授が決定する閾値を超えた学生にのみ、最終的に出席を与えることもできます。
さらに、このシステムには、学生が授業の出席状況を確認したり、教授が授業の出席基準を設定できる管理画面も提供しています。顔認識を利用した事例の一つとして紹介したいと思います。
AttenFaceのシステム概要
AttenFaceは、顔認識を使用して学生の出席を自動で処理できます。大まかな処理の流れは、まず授業が開始するとカメラの録画が開始され、スナップショットが10分ごとに取得されます。次に取得したスナップショットに対して、顔認識を行い、学生を特定します。10分ごとに学生が出席しているか否かを判定していきます。最後に、全スナップショットに対して、一定数のスナップショットに対して出席と判断させれば、授業に出席したものと判定します。なお、この「一定数」は、授業の教授が設定できる仕様です。なお、10分ごとの出席数を「ブロック数」と呼んでいます。
AttenFaceのシステム要件
機能要件、非機能要件を挙げています。機能要件は(1)学生/教授/管理者の所属機関のログイン情報と連携したログインポータル(2)学生/教授が受講した授業の出席状況を表示する管理画面(3)教授が授業の出席基準を変更する機能(4)管理者が誤った出席結果を手動で上書きする機能の4つを挙げています。非機能要件は(1)システムが所属機関のデータベースから必要な学生情報/授業情報にアクセスできること(2)出席状況を表示する管理画面が利用者の利便性を考慮してモバイル対応に重点を置いたクロスプラットフォームであること(3)顔認識アルゴリズムが計算のオーバーヘッドなしでリアルタイムで顔を認識できること(4)複数の授業で並行して処理するために顔認識アルゴリズムが複数のインスタンスで並行して実行できることの4つを挙げています。
AttenFaceのユースケース
この論文では、以下のように10個のユースケースを挙げています。
(1)学生/教授/管理者が所属期間のログイン情報を使用して管理画面にログインする
(2)学生が受講したすべての授業の出席状況を表示する
(3)学生が授業終了後すぐに出席状況(0 または 1)を表示する
(4)学生が出席した授業の10分ごとの出席状況、これが教授によって設定されたしきい値を超えているかどうかを確認する
(5)学生がこれまでに出席した授業の総数、その授業が要件とする総出席数までに欠席できる授業数を表示する
(6)教授が授業終了後すぐに、その授業の総出席数を確認する
(7)教授が出席基準となるブロック数を授業ごとに設定/変更する(教授が大学の管理者を介さずに特定日の出席を寛大または任意にすることができる)
(8)教授が、突然のイベント発生に備えて、授業の開始前に授業を行う部屋番号を変更して、新しい部屋でカメラを起動して出席を確実に取得できるようにする
(9)管理者が、必要に応じて、自動での出席判定を無効にして、特定の授業の学生の出席を直接変更できるようにする
(10)他の授業と重なってしまう場合に備えて、管理者が授業自体の部屋番号を変更できるようにする
なお、下図は論文で紹介されているUMLユースケース図です。
AttenFaceのシステム構成
システム構成は、下図のように4つ(Frontend、Backend Server、Face Recognition Server、Database)で構成されています。
まず、利用者(User)は管理画面(Frontend)を介してシステムにアクセスします。下図は生徒に表示される画面のサンプルです。ここでは、特定の授業の出席数、欠席数、欠席可能数、10分ごとの出席判定状況を確認することができます。
さらに、下図は教師に表示される画面のサンプルです。ここでは、担当する授業の出席者数と出席者の一覧(Total attendance)、出席判定するための閾値(Minimum blocks required)を確認することができます。なお、閾値は編集可能です。
バックエンド(Backend Server)では、顔認識のための画像へのアクセス、管理画面でのデータの表示、基本的なCRUD操作などデータベースを介した処理をしています。ブロックごとの情報を基にした授業の出席判定なども行なっています。また、データベース(Database)に直接アクセスできない顔認識サーバー(Face Recognition Server)にデータを送信するためのブリッジとして機能します。
顔認識サーバー(Face Recognition Server)では、顔認識のための高負荷な計算処理が実行されています。授業中は、各教室に設置されたカメラから直接ライブフィードを取得し、出席判定のためにバックエンド(Backend Server)と通信し、それぞれ関連付けられた独立の計算スレッドが用意されています。顔認識サーバー(Face Recognition Server)の各スレッドは、バックエンド(Backend Server)から「授業に参加している全ての学生の画像」「授業の開始時間」「授業の終了時間」「部屋に対応するカメラID」など受け取っています。下図は、顔認識サーバー(Face Recognition Server)とバックエンド(Backend Server)、カメラ(Camera)のシーケンス図です。
バックエンド(Backend Server)とカメラ(Camera)間の直接通信は、既存のソリューションと比較して、システムをスタンドアロンで完全に自動化するために不可欠なコンポーネントです。
最後に、データベース(Database)は、学生 (認識用の画像と登録されている授業など)、授業(部屋番号と対応するカメラIDなど)、教授(教えている授業など)に関する情報が格納されています。下図は、データベースの簡略化したスキーマです。
大学の授業での具体的な利用方法
大学の授業でAttenFaceを利用する方法は、まずシステムが授業開始の5分前にカメラとの接続を確立します。次に、教授が必要に応じて管理画面にログインし、対象授業の出席要件を変更します。授業の開始から終了まで、教室のスナップショットがバックエンドに送信され、その後、10 分ごとに顔認識サーバーに送信されます。そして、10分ごとに学生が認識され、ブロックとして記録されます。最後、授業の終了後、学生は管理画面にログインし、その授業の出席状況をすぐに確認できます。
AttenFaceの拡張性と統合の容易さ
AttenFaceのシステムはモジュール式になっています。特に、顔認識サーバー(Face Recognition Server)はスタンドアロンのモジュールになっています。入力として学生の写真が与えられると、顔認識モジュール内で計算が行われ、各学生の認識結果(その時間のブロックにおいて、出席しているか否かにかかわらず)がバックエンド(Backend Server)に返されます。バックエンド(Backend Server)は、このデータを使用して出席率を計算しています。
モジュール式であるため、AttenFaceのシステムは既存の大学ポータルに簡単に統合できます。たとえば、AttenFaceによるリアルタイム出席システムをMoodle(※1)に統合するのも容易です。この論文の事例においても、管理画面(Frontend)と所属機関へのログイン、所属機関のデータベースとのやり取りは、Moodleによって処理されています。
統合する必要があるコンポーネントは、顔認識サーバー(Face Recognition Server)とやり取りして必要な計算を実行するバックエンド(Backend Server)スクリプトと、顔認識サーバー(Face Recognition Server)自体です。統合後、出席データをMoodleで利用できるようにして、フロントエンドに表示できます。
(※1)Moodle(ムードル)は、オープンソースのeラーニングプラットフォームです。授業で利用できるフリーの学習支援ソフトで、インターネットのオンライン環境でいつでもどこででも利用できます。教授がWeb上でシラバスや講義資料などを掲載したり、学生が課題を提出したり、教授が提出された課題を評価をつけることができます。
まとめ
この論文では、顔認識を使用して出席をリアルタイムで集計するAttenFaceというシステムを提案しています。これまで、授業の出席確認は、時間と労力を費やして行われていましたが、AttenFaceによって自動化することに成功しています。
さらに、AttenFaceは、10分ごとに学生が出席しているか否かをブロックとして判定し、全体として何割のブロックが出席と判断されているかを基に、授業の出席を判定しています。そのため、途中で授業を抜けることができず、一定時間部屋に留まる必要があります。不正を除外しながら、自動で出席を判定できます。
この論文では、利用した顔認識アルゴリズムや顔認識の精度については、触れられていませんが、実際には、学生を検出できなかったり、学生を正確に認識できないがあったようです。教室の照明環境や学生の顔の位置や向き、大きさ、画質などの様々な要因が顔認識の精度に影響を与えている可能性があります。今後、より堅牢でさまざまな状況に適応できる顔認識アルゴリズム研究が必要としています。
照明環境や学生の顔の位置や向き、大きさ、画質などの様々な要因による精度の違いや顔認識アルゴリズムによる精度の違い、バイアスなどの検証も面白いかもしれません。顔認識/認証は、人種バイアスなどが問題視されており、社会実装には慎重にならざるを得ない状況ですが、もしかしたら、この論文のように、授業の出席管理などカジュアルな用途からその有用性・利便性が実感され、社会実装が進んでいくかもしれません。
この記事に関するカテゴリー