(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-10
(45)【発行日】2025-02-19
(54)【発明の名称】認証装置、プログラム、及び認証方法
(51)【国際特許分類】
G06V 40/16 20220101AFI20250212BHJP
G06T 7/00 20170101ALI20250212BHJP
G06V 10/82 20220101ALI20250212BHJP
【FI】
G06V40/16 A
G06T7/00 510F
G06V10/82
(21)【出願番号】P 2022176208
(22)【出願日】2022-11-02
【審査請求日】2023-11-01
(73)【特許権者】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】須田 和人
(72)【発明者】
【氏名】石若 裕子
(72)【発明者】
【氏名】小川 駿
【審査官】橘 高志
(56)【参考文献】
【文献】特開2020-201880(JP,A)
【文献】特開2020-154408(JP,A)
【文献】特開2005-316888(JP,A)
【文献】特開2020-184331(JP,A)
【文献】Taco COHEN et al.,Spherical CNNs,International Conference on Learning Representations,2018年,DOI: 10.48550/arXiv.1801.10130
(58)【調査した分野】(Int.Cl.,DB名)
G06V 40/16
G06T 7/00
G06V 10/82
(57)【特許請求の範囲】
【請求項1】
魚眼カメラによって撮像された人の映像を含む球面データを取得するデータ取得部と、
前記データ取得部が連続的に取得する前記球面データに含まれる人の位置を追跡する追跡部と、
前記追跡部による追跡結果に基づいて、認証処理を実行する対象の人を特定する特定部と、
前記特定部によって特定された人について、球面畳み込みニューラルネットワークによる顔認証を実行するか、畳み込みニューラルネットワークによる顔認証を実行するかを判定する判定部と、
前記判定部によって前記球面畳み込みニューラルネットワークによる顔認証を実行すると判定された場合に、前記特定部によって特定された人について、前記球面データに対して
前記球面畳み込みニューラルネットワークによる顔認証を実行する認証実行部と
を備える認証装置。
【請求項2】
前記認証実行部は、前記判定部によって前記畳み込みニューラルネットワークによる顔認証を実行すると判定された場合に、前記球面データから、前記特定部によって特定された人の顔の部分の部分画像を抽出し、前記部分画像における前記人の顔の向きを調整し、前記部分画像に対して魚眼カメラによる歪を補正する歪補正処理を施した後、前記部分画像に対して前記畳み込みニューラルネットワークによる顔認証を実行する、請求項
1に記載の認証装置。
【請求項3】
前記畳み込みニューラルネットワークは、球面に特化していない畳み込みニューラルネットワークである、請求項
2に記載の認証装置。
【請求項4】
前記畳み込みニューラルネットワークは、前記球面畳み込みニューラルネットワークではない畳み込みニューラルネットワークである、請求項
3に記載の認証装置。
【請求項5】
前記判定部は、前記顔認証に要求されるセキュリティレベルが第1のレベルである場合、前記球面畳み込みニューラルネットワークによる顔認証を実行すると判定し、前記顔認証に要求されるセキュリティレベルが前記第1のレベルよりも高い第2のレベルである場合、前記畳み込みニューラルネットワークによる顔認証を実行すると判定する、請求項
2に記載の認証装置。
【請求項6】
前記判定部は、前記認証処理を実行する対象の人の移動速度が予め定められた閾値より速い場合、前記球面畳み込みニューラルネットワークによる顔認証を実行すると判定し、前記閾値より遅い場合、前記畳み込みニューラルネットワークによる顔認証を実行すると判定する、請求項
2に記載の認証装置。
【請求項7】
前記判定部は、前記魚眼カメラの撮像範囲内の人の数に関する値が予め定められた閾値より多い場合、前記球面畳み込みニューラルネットワークによる顔認証を実行すると判定し、前記閾値より少ない場合、前記畳み込みニューラルネットワークによる顔認証を実行すると判定する、請求項
2に記載の認証装置。
【請求項8】
前記データ取得部は、第1の魚眼カメラによって撮像された映像を含む第1球面データと、前記第1の魚眼カメラよりも高い位置に配置された第2の魚眼カメラによって撮像された映像を含む第2球面データとを取得し、
前記認証実行部は、前記第1球面データ及び前記第2球面データの少なくともいずれかに対して、前記球面畳み込みニューラルネットワークによる顔認証を実行する、請求項1に記載の認証装置。
【請求項9】
コンピュータを、請求項1から
8のいずれか一項に記載の認証装置として機能させるためのプログラム。
【請求項10】
コンピュータによって実行される認証方法であって、
魚眼カメラによって撮像された人の映像を含む球面データを取得する球面データ取得段階と、
前記球面データ取得段階において連続的に取得する前記球面データに含まれる人の位置を追跡する追跡段階と、
前記追跡段階における追跡結果に基づいて、認証処理を実行する対象の人を特定する特定段階と、
前記特定段階において特定した人について、球面畳み込みニューラルネットワークによる顔認証を実行するか、畳み込みニューラルネットワークによる顔認証を実行するかを判定する判定段階と、
前記判定段階において前記球面畳み込みニューラルネットワークによる顔認証を実行すると判定した場合に、前記特定段階において特定した人について、前記球面データに対して
前記球面畳み込みニューラルネットワークによる顔認証を実行する認証実行段階と
を備える認証方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証装置、プログラム、及び認証方法に関する。
【背景技術】
【0002】
特許文献1には、ユーザの顔画像を取得し、顔画像に含まれる特徴点に関する情報を用いてユーザを認証する技術が記載されている。非特許文献1には、球面上の画像データに特化した球面畳み込みニューラルネットワーク(SCNN:Spherical Convolutional Neural Network)について記載されている。
[先行技術文献]
[特許文献]
[特許文献1]特開2021-170205号公報
[非特許文献]
[非特許文献1]Taco S. Cohen, Mario Geiger, Jonas Koehler, Max Welling, Spherical CNNs, ICLR 2018
【発明の概要】
【課題を解決するための手段】
【0003】
本発明の一実施態様によれば、認証装置が提供される。前記認証装置は、魚眼カメラによって撮像された人の映像を含む球面データを取得するデータ取得部を備えてよい。前記認証装置は、前記球面データに対して球面畳み込みニューラルネットワークによる顔認証を実行する認証実行部を備えてよい。
【0004】
前記認証装置は、前記データ取得部が連続的に取得する前記球面データに含まれる人の位置を追跡する追跡部を備えてよい。前記認証装置は、前記追跡部による追跡結果に基づいて、認証処理を実行する対象の人を特定する特定部を備えてよい。前記認証実行部は、前記特定部によって特定された人について、前記球面データに対して前記球面畳み込みニューラルネットワークによる顔認証を実行してよい。前記認証装置は、前記特定部によって特定された人について、前記球面畳み込みニューラルネットワークによる顔認証を実行するか、畳み込みニューラルネットワークによる顔認証を実行するかを判定する判定部を備えてよい。前記認証実行部は、前記判定部によって前記球面畳み込みニューラルネットワークによる顔認証を実行すると判定された場合に、前記球面データに対して前記球面畳み込みニューラルネットワークによる顔認証を実行してよい。前記認証実行部は、前記判定部によって前記畳み込みニューラルネットワークによる顔認証を実行すると判定された場合に、前記球面データから、前記特定部によって特定された人の顔の部分の部分画像を抽出し、前記部分画像における前記人の顔の向きを調整し、前記部分画像に対して魚眼カメラによる歪を補正する歪補正処理を施した後、前記部分画像に対して前記畳み込みニューラルネットワークによる顔認証を実行してよい。前記畳み込みニューラルネットワークは、球面に特化していない畳み込みニューラルネットワークであってよい。前記畳み込みニューラルネットワークは、前記球面畳み込みニューラルネットワークではない畳み込みニューラルネットワークであってよい。
【0005】
前記いずれかの認証装置において、前記判定部は、前記顔認証に要求されるセキュリティレベルが第1のレベルである場合、前記球面畳み込みニューラルネットワークによる顔認証を実行すると判定し、前記顔認証に要求されるセキュリティレベルが前記第1のレベルよりも高い第2のレベルである場合、前記畳み込みニューラルネットワークによる顔認証を実行すると判定してよい。
【0006】
前記いずれかの認証装置において、前記判定部は、前記認証処理を実行する対象の人の移動速度が予め定められた閾値より速い場合、前記球面畳み込みニューラルネットワークによる顔認証を実行すると判定し、前記閾値より遅い場合、前記畳み込みニューラルネットワークによる顔認証を実行すると判定してよい。
【0007】
前記いずれかの認証装置において、前記判定部は、前記魚眼カメラの撮像範囲内の人の数に関する値が予め定められた閾値より多い場合、前記球面畳み込みニューラルネットワークによる顔認証を実行すると判定し、前記閾値より少ない場合、前記畳み込みニューラルネットワークによる顔認証を実行すると判定してよい。
【0008】
前記いずれかの認証装置において、前記データ取得部は、第1の魚眼カメラによって撮像された映像を含む第1球面データと、前記第1の魚眼カメラよりも高い位置に配置された第2の魚眼カメラによって撮像された映像を含む第2球面データとを取得してよく、前記認証実行部は、前記第1球面データ及び前記第2球面データの少なくともいずれかに対して、前記球面畳み込みニューラルネットワークによる顔認証を実行してよい。
【0009】
本発明の一実施態様によれば、認証装置が提供される。前記認証装置は、魚眼カメラによって撮像された人の映像を含む球面データを取得するデータ取得部を備えてよい。前記認証装置は、前記球面データから、前記人の顔の部分の部分画像を抽出し、前記部分画像における前記人の顔の向きを調整し、前記部分画像に対して魚眼カメラによる歪を補正する歪補正処理を施した後、前記部分画像に対して畳み込みニューラルネットワークによる顔認証を実行する認証実行部を備えてよい。
【0010】
本発明の一実施態様によれば、コンピュータを、前記認証装置として機能させるためのプログラムが提供される。
【0011】
本発明の一実施態様によれば、コンピュータによって実行される認証方法が提供される。前記認証方法は、魚眼カメラによって撮像された人の映像を含む球面データを取得する球面データ取得段階を備えてよい。前記認証方法は、前記球面データに対して球面畳み込みニューラルネットワークによる顔認証を実行する認証実行段階を備えてよい。
【0012】
本発明の一実施態様によれば、コンピュータによって実行される認証方法が提供される。前記認証方法は、魚眼カメラによって撮像された人の映像を含む球面データを取得する球面データ取得段階を備えてよい。前記認証方法は、前記球面データから、前記人の顔の部分の部分画像を抽出し、前記部分画像における前記人の顔の向きを調整し、前記部分画像に対して魚眼カメラによる歪を補正する歪補正処理を施した後、前記部分画像に対して畳み込みニューラルネットワークによる顔認証を実行する認証実行段階を備えてよい。
【0013】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0014】
【
図2】認証装置100による処理の流れの一例を概略的に示す。
【
図3】認証装置100によるCNNの前処理について説明するための説明図である。
【
図4】認証装置100の機能構成の一例を概略的に示す。
【
図5】認証装置100として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。
【発明を実施するための形態】
【0015】
従来の顔認証システムでは、カメラの前で人が屈んだり背伸びをしたりするなどしてカメラの前に顔を近づける必要があった。また、そのために身長が高い人と低い人用に複数種類の装置をセットする必要があった。本実施形態に係る認証システム10では、その問題を軽減するべく、魚眼レンズを搭載したカメラを用い広角映像を取得して行う顔認証の方法を採用する。認証システム10では、例えば、天井と台の上に魚眼カメラと(もし必要ならば距離測定用のセンサー等)を設置する。魚眼カメラによる歪んだ映像を得る。射影則を元に球面データへ変換する(魚眼カメラから直接球面データを取れると良い)。球面上のデータから、人の顔の位置を特定し(Bounding Boxをつけるなど)追跡を行う。追跡した人がある境界線を超えたら、あるいは、距離を推定し最も近い者から、SCNNでそのまま処理できれば、SCNNを用いて顔認証を行う。SCNNを用いるのに問題等があれば、Bounding Boxの範囲内を局所的にDefish Eye(中心射影則で平面に写すこと)をし、通常のCNNを用いた顔認証を行う。認証システム10では、顔認証の結果ゲートを開ける、開けない、を制御したり、警備担当や捜査機関に通報したりしてよい。
【0016】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0017】
図1は、認証システム10の一例を概略的に示す。認証システム10は、人の顔認証を行うシステムであってよい。
【0018】
システム10は、認証装置100を備える。認証システム10は、カメラ210を備えてよい。認証システム10は、カメラ220を備えてよい。認証システム10は、測距センサ230を備えてよい。認証システム10は、カメラ210、カメラ220、及び測距センサ230のうち、カメラ210及びカメラ220のみを備えてもよく、カメラ210及び測距センサ230のみを備えてもよく、カメラ220及び測距センサ230のみを備えてもよい。また、別実施形態として、認証システム10は、カメラ210、カメラ220、及び測距センサ230のうち、カメラ210のみを備えてもよく、カメラ220のみを備えてもよい。
【0019】
カメラ210及びカメラ220は、魚眼レンズを有する魚眼カメラであってよい。カメラ220は、カメラ210よりも高い位置に配置されてよい。例えば、カメラ210が下側に配置され、カメラ220が上側に配置される。具体例として、
図1に例示するように、カメラ210が、下側に設置された台の上に配置され、カメラ220が、天井側に配置される。カメラ210及びカメラ220は、カメラ210及びカメラ220の付近を通過する人の顔に死角が生じないように配置されてよい。カメラ210は、第1の魚眼カメラの一例であってよく、カメラ220は、第2の魚眼カメラの一例であってよい。
【0020】
測距センサ230は、人との距離を測定する。測距センサ230は、カメラ210又はカメラ220の付近に設置されてよい。また、測距センサ230は、ゲート40又はゲート40の付近に設置されてもよい。
【0021】
認証装置100は、カメラ210によって撮像された人の映像を含む球面データを取得する。認証装置100は、例えば、カメラ210によって生成された球面データを、カメラ210から受信する。認証装置100は、例えば、カメラ210によって撮像された人の映像のデータをカメラ210から受信して、受信したデータから球面データを生成する。
【0022】
認証装置100とカメラ210とは、
図1に例示するように、ネットワーク20を介して通信してよい。なお、認証装置100は、ネットワーク20を介さずにカメラ210と通信してもよい。例えば、認証装置100は、カメラ210が設置されている場所の近辺に配置され、カメラ210と、有線又は無線で通信する。
【0023】
認証装置100は、カメラ220によって撮像された人の映像を含む球面データを取得する。認証装置100は、例えば、カメラ220によって生成された球面データを、カメラ220から受信する。認証装置100は、例えば、カメラ220によって撮像された人の映像のデータをカメラ220から受信して、受信したデータから球面データを生成する。
【0024】
認証装置100とカメラ220とは、
図1に例示するように、ネットワーク20を介して通信してよい。なお、認証装置100は、ネットワーク20を介さずにカメラ220と通信してもよい。例えば、認証装置100は、カメラ220が設置されている場所の近辺に配置され、カメラ220と、有線又は無線で通信する。
【0025】
認証装置100は、測距センサ230によって測定された人との距離を取得する。認証装置100は、測距センサ230から、測距センサ230によって測定された人との距離を受信する。
【0026】
認証装置100と測距センサ230とは、
図1に例示するように、ネットワーク20を介して通信してよい。なお、認証装置100は、ネットワーク20を介さずに測距センサ230と通信してもよい。例えば、認証装置100は、測距センサ230が設置されている場所の近辺に配置され、カメラ測距センサ230と、有線又は無線で通信する。
【0027】
ネットワーク20は、インターネットを含んでよい。ネットワーク20は、LAN(Local Area Network)を含んでよい。ネットワーク20は、移動体通信ネットワークを含んでよい。移動体通信ネットワークは、3G(3rd Generation)通信方式、LTE(Long Term Evolution)通信方式、5G(5th Generation)通信方式、及び6G(6th Generation)通信方式以降の通信方式のいずれに準拠していてもよい。
【0028】
認証装置100は、ネットワーク20に有線接続されてよい。認証装置100は、ネットワーク20に無線接続されてよい。認証装置100は、無線基地局を介してネットワーク20に接続されてよい。認証装置100は、Wi-Fi(登録商標)アクセスポイントを介してネットワーク20に接続されてよい。
【0029】
カメラ210は、ネットワーク20に有線接続されてよい。カメラ210は、ネットワーク20に無線接続されてよい。カメラ210は、無線基地局を介してネットワーク20に接続されてよい。カメラ210は、Wi-Fiアクセスポイントを介してネットワーク20に接続されてよい。
【0030】
カメラ220は、ネットワーク20に有線接続されてよい。カメラ220は、ネットワーク20に無線接続されてよい。カメラ220は、無線基地局を介してネットワーク20に接続されてよい。カメラ220は、Wi-Fiアクセスポイントを介してネットワーク20に接続されてよい。
【0031】
測距センサ230は、ネットワーク20に有線接続されてよい。測距センサ230は、ネットワーク20に無線接続されてよい。測距センサ230は、無線基地局を介してネットワーク20に接続されてよい。測距センサ230は、Wi-Fiアクセスポイントを介してネットワーク20に接続されてよい。
【0032】
認証装置100は、カメラ210及びカメラ220によって撮像された人の顔認証を行う。従来は、例えば、魚眼カメラによって撮像される球面画像ではなく、通常のカメラによって撮像された平面画像に対して、通常のCNNを用いた顔認証が行われていた。球面画像に対する認証処理の需要はあり、球面画像を平面画像に変換してから通常のCNNを適用するという方法が考えられるが、変換によって様々な歪が生じるので、認証精度等に問題がある。また、通常のCNNにおける演算は、並進対称性を有するので縦や横への並行移動には強いが、回転対称性を有していないので、球面画像のように被写体の向きが回転してしまう画像の場合、同じ物なのに別の物であると誤判定してしまう場合がある。
【0033】
それに対して、SCNNは、球面データに特化しており、回転に対してロバストであるという特徴がある。非特許文献1において、通常のCNNとSCNNの性能比較のために回転させたMNISTを用いたテストが行われている。訓練データ、テストデータを回転させた場合のCNNを用いた手法での正答率は11%であり、ほぼ当てずっぽうに答えているのと全く変わらないが、SCNNの方の正答率は95%である。これは、CNNは並進対称性を持ち上下左右の平行移動には強いが、回転対称性が無く、回転変換には弱いのに対し、SCNNは回転対称性を持っているということに依る。
【0034】
本実施形態に係る認証装置100は、SCNNによる顔認証を実行する。これにより、球面データに対しても、十分な認証精度を実現することができる。
【0035】
認証装置100は、SCNNによる顔認証と、CNNによる顔認証とを使い分けてもよい。
【0036】
図2は、認証装置100による処理の流れの一例を概略的に示す。ここでは、認証装置100が、カメラ210及びカメラ220による撮像画像によって、ゲート40に近づく人を検出し、ゲート40に近づく人の顔認証を行って、認証可の場合にゲート40を開く処理を実行する場合の処理の流れを説明する。
【0037】
ステップ(ステップをSと省略して記載する場合がある。)102では、認証装置100が、カメラ210及びカメラ220によって撮像された人の映像を含む球面データを取得する。S104では、認証装置100が、球面データから、人の顔の位置を特定し、追跡を行う。
【0038】
S106では、認証装置100が、人の追跡状況から、人の顔認証を実行するか否かを判定する。例えば、認証装置100は、追跡している人が、ゲート40の前に仮想的に設定された境界線を越えた場合に、当該人の顔認証を実行すると判定する。例えば、認証装置100は、球面データに含まれる複数の人のうち、ゲート40又はカメラ210及びカメラ220に対して最も近い人について、顔認証を実行すると判定する。
【0039】
顔認証を実行しないと判定した場合(S106でNO)、S102に戻り、顔認証を実行すると判定した場合(S106でYES)、S108に進む。S108では、認証装置100が、SCNNによる顔認証と、CNNによる顔認証のいずれを実行するかを判定する。SCNNによる顔認証を実行すると判定した場合、S110に進み、CNNによる顔認証を実行すると判定した場合、S112に進む。
【0040】
S110では、認証装置100が、S102において取得した球面データに対して、SCNNによる顔認証を実行する。
【0041】
S112では、認証装置100が、S102において取得した球面データから、認証対象の人の顔の部分の部分画像を抽出する。S114では、認証装置100が、S112において抽出した部分画像における人の顔の向きを調整する。認証装置100は、例えば、人の目、鼻、及び口を検出して、顎が下側、頭頂部が上側になるように、人の顔の向きを調整する。
【0042】
S116では、認証装置100が、球面データに対して、局所的にDefish eyeを実行する。Defish eyeとは、魚眼カメラによる歪を補正する歪補正処理であってよい。認証装置100は、S114において人の顔の向きを調整した部分画像に対してDefish eyeを実行してよい。
【0043】
S118では、認証装置100が、S116においてDefish eyeを実行した部分画像に対してCNNによる顔認証を実行する。
【0044】
S120では、認証装置100が、認証結果に応じた処理を実行する。認証装置100は、認証対象の人について、認証OKの場合、ゲート40を開くようにゲート40を制御し、認証NGの場合、ゲート40を開かない。
【0045】
S122では、認証装置100が、認証処理を終了するか否かを判定する。認証装置100は、例えば、認証システム10の管理者等による終了指示を受領した場合に、認証処理を終了すると判定する。認証処理を終了しない場合、S102に戻る。
【0046】
図3は、認証装置100によるCNNの前処理について説明するための説明図である。球面データ300には、
図3に例示するように、顎が下側に位置し、頭頂部が上側に位置するという通常の顔の向きに対して回転した状態、かつ、歪んだ状態で、顔の画像が含まれる。認証装置100は、球面データ300から、人の顔の部分の部分画像310を切り取り、向きを調整し、顔が写っている範囲を中心に、射影則に従って平面画像へ変換し、通常の顔認証用のCNNにデータを入力して、認証を行う。これは、例えば、世界地図を距離や角度を保ったまま平面の図で適切に表すことは難しいが、日本地図であれば、それよりも良い精度で平面上の地図でも表すことがきるということの応用である。
【0047】
具体例として、認証装置100は、
図3に例示するように、部分画像310の人の鼻付近における球面の接平面に顔画像を投射する(通常のカメラの中心射影方式)。認証装置100は、Bounding boxのようなものを用い、トラッキングとその範囲内のデータをBounding boxを中心とする座標系を用いて、部分画像310の歪を補正する。
【0048】
従来の顔認証システムでは、認証対象となる人が、カメラの前に並んで、順番にカメラに向かい、顔の向きを調整して撮像されることによって、顔認証を実行されていた。それに対して、認証装置100によれば、魚眼カメラを用いることによって、認証対象となる人の位置の自由度を高めることによって、カメラの前に並んで順番にカメラに向かう必要を無くすことができ、SCNNを実行するか、前処理を行った上でCNNを実行することによって、魚眼カメラによる球面データに対しても、十分な精度の顔認証を実現することができる。
【0049】
図4は、認証装置100の機能構成の一例を概略的に示す。認証装置100は、記憶部102、データ取得部104、追跡部106、特定部108、判定部110、認証実行部112、及び認証結果処理部114を備える。記憶部102は、各種データを記憶する。
【0050】
データ取得部104は、各種データを取得する。データ取得部104は、取得したデータを記憶部102に記憶させる。
【0051】
データ取得部104は、魚眼カメラによって撮像された人の映像を含む球面データを取得する。データ取得部104は、例えば、カメラ210によって生成された球面データをカメラ210から受信する。データ取得部104は、例えば、カメラ210によって撮像された人の映像のデータをカメラ210から受信して、射影則を元に、受信したデータから球面データを生成する。データ取得部104は、例えば、カメラ220によって生成された球面データをカメラ220から受信する。データ取得部104は、例えば、カメラ220によって撮像された人の映像のデータをカメラ220から受信して、射影則を元に、受信したデータから球面データを生成する。
【0052】
データ取得部104は、魚眼カメラや測距センサ230等を基準とする、魚眼カメラの撮像範囲内にいる人との距離を取得する。データ取得部104は、例えば、カメラ210及びカメラ220による撮像画像によって、カメラ210及びカメラ220を基準とする、人との距離を算出する。データ取得部104は、カメラ210及びカメラ220をステレオカメラとして用いることによって、人との距離を算出してよい。データ取得部104は、例えば、測距センサ230によって測定された、測距センサ230と人との距離を、測距センサ230から取得する。
【0053】
追跡部106は、データ取得部104が連続的に取得する球面データに含まれる人の顔の位置を追跡する。追跡部106は、球面データに含まれる人の顔にBounding boxをつけて追跡してよい。追跡部106は、球面データに対してSCNNを用いることによって、球面データに含まれる人の顔の位置を特定してよい。追跡部106は、例えばカプセルネットワーク等の、回転対照性を有する各種手法を用いることによって、球面データに含まれる人の顔の位置を特定してもよい。
【0054】
追跡部106は、球面データに含まれる人の移動速度を判定して、記憶部102に記憶させてもよい。追跡部106は、データ取得部104が連続的に取得する球面データを解析することによって、球面データに含まれる人の移動速度を判定してよい。
【0055】
追跡部106は、球面データに含まれる人の数に関する値を算出して記憶部102に記憶させてもよい。追跡部106は、例えば、球面データに含まれる人の数を示す人数データを記憶部102に記憶させる。追跡部106は、例えば、球面データに含まれる人の、人口密度を示す人口密度情報を記憶部102に記憶させる。
【0056】
特定部108は、追跡部106による追跡結果に基づいて、認証処理を実行する対象の人を特定する。
【0057】
特定部108は、例えば、カメラ210及びカメラ220の周辺に仮想的な境界線を設定する。具体例として、特定部108は、ゲートを通過する人を認証する場合、ゲートの手前に仮想的な境界線を設定する。そして、特定部108は、追跡部106による追跡結果に基づいて、人が当該境界線を通過した場合に、当該人を、認証処理を実行する対象として特定する。
【0058】
また、特定部108は、例えば、データ取得部104が取得する、魚眼カメラや測距センサ230等を基準とする魚眼カメラの撮像範囲内にいる人との距離に基づいて、認証処理を実行する対象の人を特定する。例えば、特定部108は、魚眼カメラの撮像範囲に含まれる人のうち、距離が最も近い人を、認証処理を実行する対象として特定する。特定部108は、複数の人のうち、距離が、予め設定された距離閾値より短くなった人を、認証処理を実行する対象として特定してもよい。
【0059】
判定部110は、特定部108によって特定された人について、SCNNによる顔認証を実行するか、CNNによる顔認証を実行するかを判定する。すなわち、判定部110は、特定部108によって特定された人について、球面に特化したCNNを用いた顔認証を実行するか、球面に特化していないCNNを用いた顔認証を実行するかを判定してよい。球面に特化したとは、歪、回転に対応していることであってよく、球面に特化していないとは、歪、回転に対応していないことであってよい。ここでいうCNNによる顔認証とは、球面に特化していないCNNを用いた顔認証であってよく、例えば、SCNN以外のCNNを用いた顔認証であってよい。
【0060】
認証実行部112は、データ取得部104が取得した球面データに対してSCNNによる顔認証を実行する。SCNNは球面に特化しているので、データ取得部104が取得した球面データに含まれる人に対して、高い精度で顔認証を実行することができる。
【0061】
認証実行部112は、特定部108によって特定された人について、SCNNによる顔認証を実行してもよい。追跡部106が追跡している人のうち、特定部108が特定した人について、当該人を含む球面データに対してSCNNを実行することにより、魚眼カメラによって撮影される、広い範囲に含まれる複数の人のうち、例えば、ゲートに近づいた人を、高い精度で認証することができる。
【0062】
認証実行部112は、判定部110によってSCNNによる顔認証を実行すると判定された場合に、球面データに対してSCNNによる顔認証を実行してよい。認証実行部112は、判定部110によって、CNNによる顔認証を実行すると判定された場合に、球面データに対して前処理を施してよい。例えば、認証実行部112は、球面データから、特定部108によって特定された人の顔の部分の部分画像を抽出し、当該部分画像における人の顔の向きを調整し、部分画像に対して魚眼カメラによる歪を補正する歪補正処理を施す。認証実行部112は、前処理を施した後の部分画像に対して、CNNによる顔認証を実行してよい。
【0063】
判定部110は、例えば、認証システム10の顔認証に要求されるセキュリティレベルが第1のレベルである場合、SCNNによる顔認証を実行すると判定し、認証システム10の顔認証に要求されるセキュリティレベルが第1のレベルよりも高い第2のレベルである場合、CNNによる顔認証を実行すると判定する。SCNNによる顔認証と、認証実行部112による前処理が加わったCNNとでは、前者の方が後者よりも処理負荷が低い一方、後者の方が前者よりも高い認証精度を実現することができる。要求されるセキュリティレベルがより高い場合には、処理負荷が高くても高い認証精度が必要となることから、判定部110によれば、このような実情に見合った判定をすることができる。
【0064】
判定部110は、例えば、追跡部106によって判定された、認証処理を実行する対象の人の移動速度に基づいて、SCNNによる顔認証を実行するか、CNNによる顔認証を実行するかを、判定してもよい。判定部110は、例えば、認証処理を実行する対象の人の移動速度が予め定められた閾値より速い場合、SCNNによる顔認証を実行すると判定し、当該閾値より遅い場合、CNNによる顔認証を実行すると判定する。これにより、対象の人の移動速度が速い場合には、CNNによる顔認証よりも処理負荷が低く、より高速に結果を出力できるSCNNによる顔認証を実行することによって、対象の人の移動速度が速くて認証が間に合わずエラーになってしまうという事態が発生する可能性を低減することができ、対象の人の移動速度が遅い場合には、高い認証精度を実現することができる。
【0065】
判定部110は、例えば、魚眼カメラの撮像範囲内の人の数に関する値に基づいて、SCNNによる顔認証を実行するか、CNNによる顔認証を実行するかを判定する。判定部110は、例えば、魚眼カメラの撮像範囲内の人の数に関する値が予め定められた閾値より多い場合、SCNNによる顔認証を実行すると判定し、当該閾値より少ない場合、CNNによる顔認証を実行すると判定する。これにより、対象の人の数が多い場合には、CNNによる顔認証よりも処理負荷が低いSCNNによる顔認証を実行することによって、いずれかの人について認証が間に合わずにエラーになってしまうという事態が発生する可能性を低減することができ、対象の人が少ない場合には、高い認証精度を実現することができる。
【0066】
認証システム10がカメラ210及びカメラ220を備える場合、データ取得部104は、カメラ210によって撮像された映像を含む第1球面データと、カメラ220によって撮像された映像を含む第2球面データとを取得する。認証実行部112は、SCNNによる顔認証を実行する場合に、第1球面データ及び第2球面データの少なくともいずれかに対して、顔認証を実行する。
【0067】
例えば、認証実行部112は、第1球面データ及び第2球面データの両方を用いて、顔認証を実行する。具体例として、認証実行部112は、第1球面データに対してSCNNによる顔認証を実行するとともに、第2球面データに対してSCNNによる顔認証を実行し、結果を併合することによって、最終的な認証結果を判定する。また、具体例として、認証実行部112は、第1球面データに対してSCNNによる顔認証を実行するとともに、第2球面データに対してSCNNによる顔認証を実行し、結果の精度がより高い方の結果を、最終的な認証結果として採用する。
【0068】
例えば、認証実行部112は、第1球面データ及び第2球面データのうちの一方を選択して、選択した方を用いて顔認証を実行する。認証実行部112は、例えば、第1球面データ及び第2球面データのうち、認証対象となる人の顔の映り具合によって、第1球面データ又は第2球面データを選択する。具体例として、認証実行部112は、第1球面データ及び第2球面データのうち、認証対象となる人の顔のうち、より多くの範囲が含まれる方を、選択する。また、例えば、第1球面データ及び第2球面データのうち、認証対象となる人の目、鼻、口のパーツがより多く含まれる方を選択する。
【0069】
図5は、認証装置100として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0070】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブは、DVD-ROMドライブ及びDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
【0071】
CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0072】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブは、プログラム又はデータをDVD-ROM等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
【0073】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
【0074】
プログラムは、DVD-ROM又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0075】
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0076】
また、CPU1212は、記憶装置1224、DVDドライブ(DVD-ROM)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0077】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0078】
上で説明したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0079】
本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0080】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0081】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【0082】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0083】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0084】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【0085】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0086】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0087】
10 システム、20 ネットワーク、40 ゲート、100 認証装置、102 記憶部、104 データ取得部、106 追跡部、108 特定部、110 判定部、112 認証実行部、114 認証結果処理部、210 カメラ、220 カメラ、230 測距センサ、300 球面データ、310 部分画像、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1230 ROM、1240 入出力チップ