(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023103452
(43)【公開日】2023-07-26
(54)【発明の名称】認識装置、認識方法及び認識プログラム
(51)【国際特許分類】
G06T 7/70 20170101AFI20230719BHJP
G06T 7/00 20170101ALI20230719BHJP
【FI】
G06T7/70 B
G06T7/00 660A
【審査請求】有
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2023083675
(22)【出願日】2023-05-22
(62)【分割の表示】P 2021156579の分割
【原出願日】2015-03-30
(71)【出願人】
【識別番号】000005016
【氏名又は名称】パイオニア株式会社
(74)【代理人】
【識別番号】110000958
【氏名又は名称】弁理士法人インテクト国際特許事務所
(74)【代理人】
【識別番号】100120189
【弁理士】
【氏名又は名称】奥 和幸
(72)【発明者】
【氏名】野口 良司
(57)【要約】 (修正有)
【課題】被覆部材により被覆された対象の向きを正確に認識することのできる認識装置を提供することを課題とする。
【解決手段】顔向き認識装置による顔向き判定処理は、被覆部材(マスク)により被覆された対象(顔)を照射手段により光を照射した状態で撮影した画像を取得することと、取得した画像に含まれる画素の輝度値に基づいて顔中心線を検出し、顔中心線に基づいて対象の向きを認識することと、を含む。
【効果】対象が被覆部材により被覆されている場合であっても対象の向きを正確に認識することができる。
【選択図】
図9
【特許請求の範囲】
【請求項1】
被覆部材により被覆された対象を照射手段により光を照射した状態で撮影した画像を取得する取得手段と、
前記画像に含まれる画素の輝度値に基づいて、前記対象の表面における正面縦方向の中心線を検出する検出手段と、
前記検出手段の検出結果に基づいて、前記対象の向きを認識する認識手段と、
を備える認識装置。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、対象を撮影した画像に基づいて当該対象の向いている方向を認識する認識装置等の技術分野に関する。
【背景技術】
【0002】
従来、人物の顔を撮影した画像から人物の顔の向きを認識する技術がある。一般的に顔の向きは顔の各部位の特徴を用いて認識するため、顔の一部がマスクなどの被覆材により被覆されていると認識精度が低下してしまう。
【0003】
そこで、特許文献1に記載された技術は、マスクが存在する場合に、顔領域の顔幅に対するマスク中央部の鼻の相対位置から顔の左右向き角度を算出している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の技術では、マスク中央部を鼻の位置としているが、マスク中央部は必ずしも実際の鼻の位置ではない場合があり、正確に顔の左右向き角度を算出できない場合がある。
【0006】
本願発明は、こうした事情に鑑み、被覆部材により被覆された対象の向きを正確に認識することのできる認識装置等を提供することを課題とする。
【課題を解決するための手段】
【0007】
請求項1に記載の発明は、被覆部材により被覆された対象を照射手段により光を照射した状態で撮影した画像を取得する取得手段と、前記画像に含まれる画素の輝度値に基づいて、前記対象の表面における正面縦方向の中心線を検出する検出手段と、前記検出手段の検出結果に基づいて、前記対象の向きを認識する認識手段と、を備える。
【0008】
請求項6に記載の発明は、認識装置による認識方法であって、被覆部材により被覆された対象を照射手段により光を照射した状態で撮影した画像を取得する取得工程と、前記画像に含まれる画素の輝度値に基づいて、前記対象の表面における正面縦方向の中心線を検出する検出工程と、前記検出工程の検出結果に基づいて、前記対象の向きを認識する認識工程と、を含む。
【0009】
請求項7に記載の発明は、コンピュータを、被覆部材により被覆された対象を照射手段により光を照射した状態で撮影した画像を取得する取得手段、前記画像に含まれる画素の輝度値に基づいて、前記対象の表面における正面縦方向の中心線を検出する検出手段、前記検出手段の検出結果に基づいて、前記対象の向きを認識する認識手段、として機能させる。
【図面の簡単な説明】
【0010】
【
図4】顔向き認識装置Dのブロック図の一例である。
【
図5】顔向き認識装置Dの機能ブロック図の一例である。
【
図6】(A)、(B)、(C)は、顔やマスクの特徴検出方法の一例を説明するための図である。
【
図7】様々な顔の向きで撮影した色分け画像の一例である。
【
図8】(A)、(B)は、特殊な形状のマスクの一例を示す図である。
【
図9】顔向き認識装置Dによる顔向き判定処理の一例を示すフローチャートである。
【
図10】顔向き認識装置Dによるマスク着用判定処理の一例を示すフローチャートである。
【
図11】顔向き認識装置Dによるヨー角判定処理の一例を示すフローチャートである。
【
図12】顔向き認識装置Dによるピッチ角判定処理の一例を示すフローチャートである。
【
図13】(A)、(B)は、マスク左右端の特徴と顔中心線(マスク上端付近)の特徴の一例を示す図である。
【
図14】(A)、(B)は、マスク左右端の特徴と顔中心線(マスクにかかる部分)の特徴の一例を示す図である。
【
図15】カメラCと照射部Lを対象からみて異なる方向に配置した状態で撮影した画像の一例を示す図である。
【発明を実施するための形態】
【0011】
本願発明を実施するための形態について、
図1を用いて説明する。
【0012】
図1に示すように、認識装置1は取得手段111Aと、検出手段111Bと、認識手段111Cと、記憶制御手段111Dと、記憶手段111Eと、を備えている。なお、記憶手段は、認識装置1の外部に設けてもよい。
【0013】
取得手段111Aは、被覆部材により被覆された対象を照射手段により光を照射した状態で撮影した画像を取得する。被覆部材により被覆された対象とは、例えば、マスクを装着した顔である。照射手段は、一定の方向から対象に光を照射するのが好ましい。
【0014】
検出手段111Bは、取得手段111Aが取得した画像に含まれる画素の輝度値に基づいて、対象の表面における正面縦方向の中心線を検出する。対象の表面における正面縦方向の中心線とは、対象が顔(一般的な顔)である場合には、目の間と、鼻の中心と、口の中心であって顔表面を通る線である。
【0015】
ここで、
図2を用いて中心線について説明する。
図2は、マスク(「被覆材」の一例)をした顔を、カメラ方向から光を照射した状態で撮影した画像(モデルのプライバシー保護のため、目の部分を黒で塗りつぶす加工を施している。以下、モデルを撮影した画像について同様である)を輝度値に基づいて色分けした色分け画像200である。具体的には、輝度値100未満の部分を符号201で指し示す色で表し、輝度値100以上160未満の部分を符号202で指し示す色で表し、輝度値160以上220未満の部分を符号203で指し示す色で表し、輝度値220以上の部分を符号204で指し示す色で表している。光を照射した場合、肌に比べて、マスク領域の輝度値が大きくなる。
図2に示すように、マスク領域は、大きな輝度値(輝度値220以上)となる。マスクを装着した顔は顔中心に対して、左右対称で、顔中心はその他の顔部位に対して、やや突出する傾向にあるので、光をカメラ正面方向から照射した画像に基づき、検出手段111Bはマスクの左端211と、顔(マスク)中心線212(「中心線」の一例)を検出することができる。すなわち、検出手段111Bは、輝度値220以上の領域のマスク左端側(画像では右側)のエッジを、マスクの左端211として検出し、輝度値220以上の領域の顔中心側(マスク左端側と反対側)のエッジを、顔中心線212として検出する。但し、横方向の向き(ヨー角)がカメラ正面に対して一定の角度(50度程度)を超えると、輝度値220以上の領域の顔中心側(マスク左端側と反対側)のエッジが顔中心線212と一致しなくなるので、この場合には、輝度値160以上220未満の領域の顔中心側のエッジを顔中心線212Bとして検出するのが好ましい。
【0016】
認識手段111Cは、検出手段111Bの検出結果に基づいて、対象の向きを認識する。
【0017】
以上説明した通り、実施形態に係る認識装置1の動作によれば、画像に含まれる画素の輝度値に基づく対象の表面における正面縦方向の中心線の検出結果に基づいて対象の向きを認識することから、対象が被覆部材により被覆されている場合であっても対象の向きを正確に認識することができる。
【0018】
また、認識手段111Cは、顔中心線212の傾きに基づいて、対象の縦方向の向き(ピッチ角)を認識する場合がある。顔の縦方向の向きと顔中心線212の傾きには相関関係があることが発明者の調査の結果分かっていることから、顔の縦方向の向き(ピッチ角)毎(例えば、10度毎)に傾きに関する閾値を設けて、顔中心線212の傾きを閾値と比較することにより、顔の縦方向の角度を判定することができる。これにより、対象の縦方向の向きを認識することができる。
【0019】
更に、検出手段111Bは、認識手段111Cが対象の縦方向の向きを認識した際の、対象における被覆部材の上側の境界である上境界213を更に検出し、記憶制御手段111Dは、検出手段111Bが検出した上境界213の傾きを、認識手段111Bが認識した対象の縦方向の向きと対応付けて記憶手段111Eに記憶させ、認識手段111Cは、縦方向の向きを認識していない対象の画像が新たに取得された際に、当該画像について検出された被覆部材の上境界213の傾きと略同一の傾きが対応付けられている縦方向の向きを、当該画像に写る対象の縦方向の向きとして認識する場合がある。被覆部材の上境界213の傾きが略同一である場合には対象の縦方向の向きも略同一であることが、発明者の調査の結果、分かっていることから、このような判定が可能となる。これにより、一度、対象の縦方向の向きを認識しておけば、それ以降の画像については、上境界213を検出して、記憶手段に記憶された上境界213と比較することにより、縦方向の向きを認識することができる。すなわち、縦方向の向きを認識するための処理負担が軽減される。
【0020】
更にまた、認識手段111Cは、対象の横幅における、上境界線213と顔中心線212との交点の位置に基づいて、対象の横方向の向き(ヨー角)を認識する場合がある。
【0021】
ここで、
図3を用いて対象の横方向の向きを認識する場合の一例について説明する。認識手段111Cは、3本の垂線221-223に基づいて、対象の横方向の向きを認識する。垂線221は左耳端の点を通る垂線である。垂線222は顔中心線212と上境界213の交点を通る垂線である。垂線223は顔中心線212と上境界213の交点から顔奥側へ水平方向に移動し、顔右端に到達した点を通る垂線である。認識手段111Cは、垂線221と垂線222の幅WA(手前側顔幅WA)、垂線222と垂線223の幅WB(奥側顔幅WB)、垂線221と垂線223の幅WCの何れか2つ幅に基づいて、対象の横方向の向きを認識する。顔の横方向の向きと、手前側顔幅WAと奥側顔幅WBの比には相関関係があることが発明者の調査の結果、分かっていることから、顔の横方向の向き(角度)毎(例えば、10度毎)に手前側顔幅WAと奥側顔幅WBの比に関する閾値を設けて、手前側顔幅WAと奥側顔幅WBの比を閾値と比較することにより、顔の横方向の角度を判定することができる。これにより、対象の横方向の向きを認識することができる。
【0022】
更にまた、検出手段111Bは、被覆部材の左側及び右側の少なくとも一方の境界である左右境界を更に検出し、認識手段111Cは、検出手段111Bが左右境界を検出した場合に、検出手段111Bが検出した左右境界と中心線とに基づいて、対象の横方向の向きを認識する。なお、左右境界は、例えば、マスクの左端211のエッジ(
図2参照)で示される左境界、及び、マスクの右端のエッジで示される右境界の少なくとも一方の境界を意味する。すなわち、左右境界は左境界と右境界の総称ともいうことができる。認識手段111Cは、対象が右側を向いていることをマスクの左端211のエッジ(左境界)が検出されたことに基づいて認識し、対象が左側を向いていることをマスクの右端のエッジ(右境界)が検出されたことに基づいて認識する。
【実施例0023】
次に、上述した実施形態に対応する具体的な実施例について説明する。
【0024】
図4-
図14を用いて実施例について説明する。なお以下に説明する実施例は、本願発明を、顔向き認識装置D(以下、「認識装置D」という場合がある)に適用した場合の実施例である。
【0025】
本実施例の認識装置Dは、LED等の光源である照射部LやカメラCと接続されている。認識装置Dは、マスクMにより被覆された顔Fを照射部Lにより光を照射した状態で撮影した画像に基づいて、顔Fの向きを認識する。
【0026】
具体的には、認識装置Dは、撮影された画像を信号処理することで、顔(または顔特徴)を検出し、マスクの着用判定を行う。マスクを着用していると判定した場合、マスクの特徴(マスク陰影領域、マスクエッジ、マスクエッジ勾配、マスク紐エッジ勾配等)や顔の特徴(顔中心線、顔幅、顔輪郭等)を検出し、これらの抽出された特徴から、顔の向きを認識する。
【0027】
より具体的には、まず、画像内に顔が写っているかを判定し、マスク着用判定を行う位置(口領域)を決定する。例えば、従来公知の顔検出処理で検出される顔枠において、おおよその口の位置を決定する。なお、顔の各部分の特徴を検出して、マスク着用判定を行う位置を決定してもよい。例えば、目の位置を検出して、その下部にある領域をおおよその口の位置と決定して、マスク着用判定を行ってもよい。次に、マスクを着用しているかを判定する。一般的に、マスクMをした顔Fに光を照射して撮像すると、マスク着用領域では高い輝度値が得られるので、口周辺の領域部の輝度値が高いことからマスクを着用しているかを判定する。なお、マスクの外形情報等からマスクを着用しているかを判定してもよい。マスクが着用されていると判定した場合には、マスクの特徴や顔の特徴を検出し、これらの抽出された特徴から、顔の向きを認識する。また、画像から、顔の特徴やマスクの特徴を検出した際の特徴検出結果から、照射光の強度を調整したり、カメラパラメータを調整したりして、マスクや顔の陰影や輝度勾配等をより顕著に検出する。なお、本実施例では、カメラCと照射部Lが略同じ方向から対象に向いている場合について説明する。カメラCと照射部Lが異なる方向から対象に向いている場合については、後述の変形例で説明する。
【0028】
[1.認識装置Dの構成]
次に
図4を用いて本実施例に係る認識装置Dの構成について説明する。
図4に示すように、認識装置Dは、大別して、制御部311、記憶部312、通信部313、表示部314及び操作部315を含んで構成されている。通信部313は、カメラCや照射部Lと接続されている。
【0029】
記憶部312は、例えばハードディスクドライブ等により構成されており、OS(Operating System)、顔の向きを認識するための顔向き認識プログラムを含む各種プログラムを記憶する。また、記憶部312は、カメラにより撮影された画像や顔向き認識プログラムに使用される各種データを記憶する。
【0030】
通信部313は、照射部LやカメラCとの通信状態を制御する。
【0031】
表示部314は、例えば、液晶ディスプレイ等により構成されており、カメラCにより撮影された画像等を表示するようになっている。
【0032】
操作部315は、例えば、キーボード、マウス等により構成されており、オペレータからの操作指示を受け付け、その指示内容を指示信号として制御部311に出力するようになっている。
【0033】
制御部311は、CPU(Central Processing Unit)、ROM(Read Only Memory)
、RAM(Random Access Memory)等により構成されている。そして、CPUが、ROMや記憶部312に記憶された顔向き認識プログラムを含む各種プログラムを読み出し実行することにより各種機能を実現する。
【0034】
[2.認識装置Dの機能]
次に
図5を用いて本実施例に係る認識装置D(制御部311)の機能について説明する。
図5は認識装置Dの機能ブロック図を示す図である。認識装置Dは、画像解析部351、照射光調整部357、カメラ調整部358を含んで構成されている。画像解析部351、照射光調整部357、カメラ調整部358の機能は、制御部311が顔向き認識プログラムを実行することにより実現される。
【0035】
画像解析部351は、口領域検出部352、マスク着用判定部353、マスク特徴検出部354、顔特徴検出部355、顔向き方向認識部356を含んで構成されている。
【0036】
口領域検出部352は、例えば、マスクMにより被覆された顔Fを、照射部Lが光を照射した状態でカメラCが撮影した画像に対して、顔検出処理、目検出処理、鼻検出処理、口検出処理を行う。顔検出処理で顔の領域が決定できた場合、顔検出枠の下方領域に口の領域があると判定できる。目検出処理で、目の領域が決定できた場合、目の下部に口の領域があると判定できる。鼻検出処理で、鼻の領域が決定できた場合も、鼻の下部に口の領域があると判定できる。口検出処理で、口の領域が検出できた場合は、その領域が口の領域であると判定する。
【0037】
マスク着用判定部353は、口領域検出部352が検出した口領域についてマスクMが着用されているかを判定する。具体的には輝度値に基づいて判定する。例えば、
図6(A)に示すように、右目領域401の平均輝度値と口領域402の平均輝度値を算出する。一般的に、顔に向けて光を照射した場合、肌の輝度値に比べて、マスクの輝度値は大きくなる。例えば、右目領域401の平均輝度値と口領域402の平均輝度値を比較して、略同じ値であればマスク未着用と判定し、口領域402の平均輝度値の方が大きければ(閾値を超えるような大きさ)であれば、マスク着用と判定することができる。
【0038】
マスク特徴検出部354は、マスク領域の輝度値に基づいてマスク領域の特徴を検出する。顔特徴検出部355は、顔領域の輝度値に基づいて顔領域の特徴を検出する。具体的には、マスク特徴検出部354及び顔特徴検出部355(まとめて、「特徴検出部」という場合がある)は、
図2に示したように、顔を撮影した画像における輝度値を3つの閾値によって4つに切り分けた色分け画像により特徴を検出する。具体的には、(1)マスク領域、(2)肌(明)領域、(3)肌(暗)領域、(4)背景領域に切り分ける。
【0039】
ここで、色分け画像の作成例について説明する。まず、特徴検出部は、(1)マスク領域と(2)肌(明)領域の境界を示す第1閾値を、肌領域(例えば、左目領域401)の最大値Ja(画素値には、スパイクノイズ等も含まれうることを考慮して、ここでは、例えば5番目に大きな値を最大値として取り扱う)と、マスクが着用された際の口領域402の平均輝度値Jbに基づいて決定する。例えば、Jaが「219」で、Jbが「246」である場合には、Jaにマージンを加えた値を第1閾値とする。例えば、Jaに「1」を加えた「220」を第1閾値とする(切りのよい値とするために「1」を加えたがその他の値でもよい。以下、第2閾値、第3閾値についても同様)。第1閾値より輝度値が大きい画素で構成される領域をマスク領域として検出することができる。
【0040】
次に、特徴検出部は、(2)肌(明)領域と(3)肌(暗)領域の境界を示す第2閾値を、肌領域(例えば、
図6(B)に示す左目下半分領域403)の平均値Jc(眉や黒目部分は輝度値が小さいので左目下半分領域403としたが、他の部分の平均値でもよい)に基づいて決定する。例えば、Jcが「157」である場合には、Jcからマージンを差し引いた値を第2閾値とする。例えば、Jcから「7」を引いた「150」を第2閾値とする。
【0041】
次に、特徴検出部は、(3)肌(暗)領域と(4)背景領域の境界を示す第3閾値を、肌領域(例えば、
図6(C)に示す左目左半分領域404)の最小値Jd(画素値には、スパイクノイズ等も含まれうることを考慮して、ここでは、例えば5番目に小さな値を最小値として取り扱う。ここでは、左目左半分領域404としたが、他の肌部分の最小値でもよい)に基づいて決定する。例えば、Jdが「78」である場合には、Jdからマージンを差し引いた値を第3閾値とする。例えば、Jdから「8」を引いた「70」を第3閾値とする。
【0042】
特徴検出部は、画像を構成する各画素を、当該画素の輝度値と第1閾値、第2閾値及び第3閾値に基づいて、(1)マスク領域、(2)肌(明)領域、(3)肌(暗)領域、(4)背景領域に切り分け、4色で表すことにより色分け画像を作成する。そして、色分け画像に基づいて、マスク領域の特徴、顔領域の特徴を検出する。
【0043】
図7は、顔の縦方向の向き(ピッチ角)と、顔の横方向の向き(ヨー角)と、を10度ずつ変化させて撮影した画像の一例であり、
図2の例と同様に、輝度値100未満の部分、輝度値100以上160未満の部分、輝度値160以上220未満の部分、輝度値220以上の部分に分けてそれぞれ異なる色(
図2の場合と同様)で表している。光を照射した場合、肌に比べて、マスク領域の輝度値が大きくなる。マスク領域は、大きな輝度値(輝度値220以上)となる。顔向き方向認識部356は、顔が左右方向(ヨー角:20度~50度)に向いているときは、マスク左右端と肌との境界である左右境界が明瞭に検出でき、顔が左右方向どちらの方向に向いているかを判定することができる。一方、カメラ正面(ヨー角:0度)を向いているときは、マスク左右端と肌との境界(左右境界)が検出できないので、このことにより、正面を向いていると判定することができる。左右方向の顔向き角度を推定するためには、顔の中心と顔の端(輪郭や耳等)、その他、マスク左右端が検出できれば、おおよその顔向き角度を算出することができる。以下、顔向き方向認識部356が顔の縦方向の向き(ピッチ角)と、顔の横方向の向き(ヨー角)を認識する手法について詳細に説明する。
【0044】
(ピッチ角:0度の場合)
顔向きがカメラ正面(ヨー角:0度、ピッチ角:0度)のときは、口領域の輝度値が大きくなる(肌の領域と比較して)が、マスクの左右端には顕著なマスクエッジ等は検出されない。顔向き左10度(ヨー角:10度、ピッチ角:0度)のときは、口領域の輝度値が大きくなり、また、カメラに対して、顔を左方向に傾けたことにより、マスクの左端に顕著なマスクエッジが検出できるようになる。これは、カメラ正面方向から光を照射しているためである。顔向き左20度(ヨー角:20度)のときは、10度のときと比較すると、より顔を傾けたため、マスクのカメラに向けている側の領域の輝度値が顕著になる。マスクの左端も顕著に検出できる。また、マスク装着した顔は顔中心に対して、左右対称で、顔中心はその他の顔部位に対して、やや突出する傾向にあるので、光をカメラ正面方向から照射すると、マスクの左端に加えて、顔の中心線が明瞭に検出できるようになる。顔向き左30度、左40度、左50度のときも、同様に、マスク左端と顔中心線が顕著に検出することが可能である。また、顔近辺に物体が無い場合、光を照射しても、背景の輝度値は大きくはならないので、カメラに対して手前の顔幅WA、カメラに対して奥側の顔幅WBを検出することが可能である。顔向きを左方向に10度ずつ傾けた場合、以上で述べたマスク左端のエッジ、顔の中心線、カメラに対して手前の顔幅WA、カメラに対して奥側の顔幅WB等を検出することによって、顔向きが左に何度方向であるかを判定することができる。顔向きが右方向のときは、顔向き左方向のときと左右が対称となるだけであるので、詳細な説明は割愛する。
【0045】
(ピッチ角:上10度の場合)
顔向きが上10度(ヨー角:0度、ピッチ角:上10度)のときでは、口領域の輝度値が肌の領域と比較して大きくなるが、マスクの左右端には顕著なマスクエッジ等は検出されない。マスク上側のエッジがカメラ正面向き(ヨー角:0度、ピッチ角:0度)と比較して、勾配が急になっているが、マスク上側のエッジ勾配は、マスク着用時毎の変形等により変化するので、これだけでは、顔が上向きと判定することはできないが、マスク着用時のマスク上側エッジの基準エッジ勾配が分かれば、上下方向の顔向き角度も判定することは可能である。顔向き左10度(ヨー角:10度)のときは、ピッチ角:0度のときと同様に、口領域の輝度値が大きくなり、また、カメラに対して、顔を左方向に傾けたことにより、マスクの左端に顕著なエッジが検出できるようになる。さらに、左方向に顔を傾けたときも、ピッチ角:0度のときと同様に、マスク左端のエッジ、顔の中心線、カメラに対して手前の顔幅WA、カメラに対して奥側の顔幅WB等を検出して、顔が左向きに何度傾いているかを判定することができる。
【0046】
顔の上向き角度(ピッチ角)の判定は、顔向き左30度、左40度、左50度等のときの顔中心線の傾きで判定できる。顔の上向き角度(ピッチ角)が0度のときと10度のときで、顔向き左30度、左40度、左50度のときの顔中心線の傾きを比較すると、顔の上向き角度(ピッチ角)が0度のときよりも、顔の上向き角度(ピッチ角)が10度のときの方が明らかに、顔が上を向いていると判定することができる。この顔の上向き角度(ピッチ角)が10度のときのマスク上側エッジの勾配を基準として記録しておけば、マスクが変形しない限り、後に撮影された画像におけるマスク上側エッジの勾配と比較して同じ角度(一定の幅をもたせ、略同一の角度とするのが好ましい)であれば、顔の上向き角度(ピッチ角)が10度であると判定することができる。顔向き方向が上10度右方向のときは、顔向き上10度左方向のときと左右が対称となるだけなので、詳細な説明は割愛する。
【0047】
(ピッチ角:上20度の場合)
顔向きが上20度(ヨー角:0度、ピッチ角:上20度)のときでは、口領域の輝度値が肌の領域と比較して大きくなるが、マスクの左右端には顕著なマスクエッジ等は検出されない。マスク上側のエッジがカメラ正面向き(ヨー角:0度、ピッチ角:0度)と比較して、勾配が急になっているが、マスク上側のエッジ勾配は、マスク着用時毎の変形等により変化するので、これだけでは上向きと判定できないが、マスク着用時のマスク上側エッジの基準エッジ勾配が分かれば、上下方向の顔向き角度も判定することができる。顔向き左10度(ヨー角:10度、ピッチ角:上20度)のときは、ピッチ角:0度のときと同様に、口領域の輝度値が大きくなり、また、カメラに対して、顔を左方向に傾けたことにより、マスクの左端に顕著なエッジが検出できるようになる。さらに、左方向に顔を傾けたときは、ピッチ角:0度のときと同様に、マスク左端のエッジ、顔の中心線、カメラに対して手前の顔幅WA、カメラに対して奥側の顔幅WB等を検出して、顔が左向きに何度傾いているかを判定することができる。
【0048】
顔の上向き角度(ピッチ角)の判定は、顔向き上10度のときと同様に、顔向き左30度、左40度、左50度のときの顔中心線の傾きで判定できる。顔向き上10度のときと顔向き上20度のときを比較すると、左30度、左40度、左50度時の顔中心線の傾きは、顔向き上20度のときの方がより傾いているので、上20度と判定することができる。また、この顔の上向き角度(ピッチ角)が20度のときのマスク上側エッジの勾配を基準として記録しておけば、マスクが変形しない限り、後に撮影された画像におけるマスク上側エッジの勾配と比較して同じ角度(一定の幅をもたせ、略同一の角度とするのが好ましい)であれば、顔の上向き角度(ピッチ角)が20度であると判定することができる。顔向き方向が上20度右方向のときは、顔向き上20度左方向のときと左右が対称となるだけなので、詳細な説明は割愛する。
【0049】
(ピッチ角:下10度の場合)
顔向きが下10度(ヨー角:0度、ピッチ角:下10度)のときでは、口領域の輝度値が肌の領域と比較して大きくなるが、マスクの左右端には顕著なマスクエッジ等は検出されない。マスク上側のエッジがカメラ正面向き(ヨー角:0度、ピッチ角:0度)と比較して、勾配がなだらかになっているが、マスク上側のエッジ勾配は、マスク着用時毎の変形等により変化するので、これだけでは下向きと判定できないが、マスク着用時のマスク上側エッジの基準エッジ勾配が分かれば、上下方向の顔向き角度も判定することは可能である(上向き10度の時に同じ)。顔向き左10度(ヨー角:10度、ピッチ角:下10度)のときは、ピッチ角:0度のときと同様に、口領域の輝度値が大きくなり、また、カメラに対して、顔を左方向に傾けたことにより、マスクの左端に顕著なエッジが検出できるようになる。左方向に顔を傾けたときは、ピッチ角:0度のときと同様に、マスク左端のエッジ、顔の中心線、カメラに対して手前の顔幅WA、カメラに対して奥側の顔幅WB等を検出して、顔が左向きに何度傾いているかを判定することは可能である。
【0050】
顔の下向き角度の判定は、顔向き上10度のときと同様に、顔向き左30度、左40度、左50度のときの顔中心線の傾きで判定できる。ピッチ角:0度のときと、ピッチ角:下10度のときを比較すると、左30度、左40度、左50度時の顔中心線の傾きは、ピッチ角:下10度の方が顔がより下方向に傾いていると判定でき、下10度と判定することが可能である。この顔の下向き角度(ピッチ角)が10度のときのマスク上側エッジの勾配を基準として記録しておけば、マスクが変形しない限り、後に撮影された画像におけるマスク上側エッジの勾配と比較して同じ角度(一定の幅をもたせ、略同一の角度とするのが好ましい)であれば、顔の下向き角度(ピッチ角)が10度であると判定することができる。顔向き方向が下10度右方向のときは、顔向き下10度左方向のときと左右が対称となるだけなので、詳細な説明は割愛する。
【0051】
(ピッチ角:下20度の場合)
顔向きが下20度(ヨー角:0度、ピッチ角:下20度)のときでは、口領域の輝度値が肌の領域と比較して大きくなるが、マスクの左右端には顕著なマスクエッジ等は検出されない。マスク上側のエッジがカメラ正面向き(ヨー角:0度、ピッチ角:0度)と比較して、勾配がなだらかになっているが、マスク上側のエッジ勾配は、マスク着用時毎の変形等により変化するので、これだけでは下向きと判定できないが、装着時のマスク上側エッジの基準エッジ勾配が分かれば、上下方向の顔向き角度も判定することができる(上向き10度の時に同じ)。顔向き左10度(ヨー角:10度、ピッチ角:下20度)のときは、ピッチ角:0度のときと同様に、口領域の輝度値が大きくなり、また、カメラに対して、顔を左方向に傾けたことにより、マスクの左端に顕著なエッジが検出できるようになる。さらに左方向に顔を傾けたときは、ピッチ角:0度のときと同様に、マスク左端のエッジ、顔の中心線、カメラに対して手前の顔幅WA、カメラに対して奥側の顔幅WB等を検出して、顔が左向きに何度傾いているかを判定することが可能である。
【0052】
顔の下向き角度(ピッチ角)の判定は、顔向き下10度のときと同様に、顔向き左30度、左40度、左50度のときの顔中心線の傾きで判定できる。顔向き下10度のときと顔向き下20度のときを比較すると、左30度、左40度、左50度時の顔中心線の傾きは、顔がより下方向に傾いていると判定でき、下20度と判定することができる。この顔の下向き角度(ピッチ角)が20度のときのマスク上側エッジの勾配を基準として記録しておけば、マスクが変形しない限り、後に撮影された画像におけるマスク上側エッジの勾配と比較して同じ角度(一定の幅をもたせ、略同一の角度とするのが好ましい)であれば、顔の下向き角度(ピッチ角)が20度であると判定することができる。顔向き方向が下20度右方向のときは、顔向き下20度左方向のときと左右が対称となるだけなので、詳細な説明は割愛する。
【0053】
なお、顔向きを左50度のときなどにおいて、マスク左端近辺の肌の輝度値が高くなる場合があるが、耳にかけるマスクの紐部も、光照射によって輝度値が高くなり、顕著なエッジが検出できるので、その情報を基に、マスク左端を検出することも可能である。この紐エッジ情報から、顔の上下向きを判定することもできる。
【0054】
また、顔幅WA、WBは顔向き上下方向で異なる場合がある(
図2における垂線222の取り方にもよる)ことから、顔向き上下向きを判定し、上下向き毎の基準に基づき、顔幅による向き判定を行うこともできる。
【0055】
更に、カメラCと同じ方向から光を照射する場合、顔が下向き20度のときは、額が髪の毛で遮蔽されていない場合は、額領域の輝度が大きくなる。額領域の輝度が所定の閾値より大きくなったことで、下向き20度と判定してもよい。
【0056】
更にまた、顔向き上下方向の基準となるマスク上側エッジ勾配は、一度決めれば、その値を基準にして、上下方向のピッチ角を判定することもできる。例えば、下向き20度時において、マスク上側エッジ勾配を一度決定した後に、顔向きが上20度となったときに、基準となる下向き20度時のエッジ勾配に基づき、顔向きが上20度時のエッジ勾配を算出し、その値と画像から検出したエッジ勾配を比較して近い値であれば、顔向きが上20度になったと判定することもできる。基準となるエッジ勾配は、マスク着用時の変形や着脱等が無ければ、計算可能である。顔とカメラの距離が変われば変化するが、その距離が略一定である場合、一度基準が決まれば、その基準に基づいて、判定することができる。また、顔とカメラの距離が変化したときでも、顔の奥行き情報や顔の大きさ情報に基づいて、基準となるエッジ勾配を変化させれば、顔向き方向を判定することができる。
【0057】
また、マスクは様々な種類があることから、何れの種類のマスクを着用しているかを判定して、着用しているマスク特有の形状情報に基づいて、顔向き方向を推定することもできる。発明者の調査によると、現在市販されているマスクには様々な種類があるが、上述したマスク左端(右端)のエッジに関しては、マスク毎の特徴はあるが、顔が左右方向を向いたときに、光を照射すれば、ほぼ全てのマスクについてマスク左右端のマスク特有の形状を検出することができることが判明している。また、顔が左右方向を向いたときの顔(マスク)の中心線も、マスクの種類に形状に違いがあるが、ほとんど全てマスクで、マスク中心部が突出した形状になっている(顔は顔中心に突出した形状になっており、その形状にフィットさせるため)ことから、光をカメラ側から照射すれば、顔中心となるマスク中心を検出することができる。また、上述したマスク上側のエッジ勾配に関しては、マスクの種類により様々であるが、上述した処理で、一度基準を決定すれば、その基準に基づいて、顔の上下方向の角度を判定することはできる。特異な形状として、例えば
図8(A)に示すマスクでは、マスク左右端の形状が縦のエッジ線ではないが、マスク左右端の形状を検出することはできる。また、
図8(B)に示すような半球状のカップ型マスクがあるが、マスク中心やマスク上端エッジ勾配を検出することはできる。更に、黒いマスクでも、赤外撮影すると、輝度値の多少の差はあるが白く撮像することができるので、同様に、マスク検出し、マスク左右端や上端の特徴を検出することができる。
【0058】
また、マスクは変形することがあるが、上述したマスク左右端のエッジの特徴については変化はほとんど発生しない。顔が左右方向を向いたときのマスクの中心線に関しては、マスクが柔軟な形状変化をするため、変形によりマスクの中心線が検出できない場合が生じる可能性もある。このような場合は、左30度から左50度のときにおいて、マスク領域ではなく、顔上半分の部分において、顔の中心線を検出して、顔向き上下方向判定を行うこともできるし、耳にかけているマスクの紐部の傾きを検出して、顔向き上下方向判定を行うこともできる。マスク上側エッジの勾配もマスク変形により変化することがあるが、一度基準勾配を決定すれば、マスク変形を考慮して、定期的に、基準をその都度計算するような処理を行えば、マスク上側エッジの勾配の変形にも対応することができる。
【0059】
顔向き方向認識部356が顔の向きを認識する上で、輝度値に基づいてエッジ勾配等を抽出する場合があるが、撮影条件によって、カメラパラメータ(露光時間等)や照射光強度を変更した方(何れか一方でも両方でもよい)が顕著にエッジ勾配等の特徴を抽出できる場合がある。そのような場合には、口領域検出部352、マスク着用判定部353、マスク特徴検出部354、顔特徴検出部355が検出した輝度値に基づいて、照射光調整部357が照射部Lから照射する光の強度を調整したり、カメラ調整部358がカメラCのパラメータを調整したりする。
【0060】
[3.認識装置Dの動作例]
次に、
図9-
図12のフローチャートを用いて、認識装置Dの顔向き判定処理の一例について説明する。
【0061】
まず、認識装置Dの制御部311は、マスクMにより被覆された顔Fを、照射部Lが光を照射した状態でカメラCが撮影した画像を取得する(ステップS11)。
【0062】
次に、制御部311は、ステップS11の処理で取得した画像に写る顔の口領域を検出する(ステップS12)。
【0063】
次に、制御部311は、ステップS12に処理で検出した口領域について、マスク着用判定処理を行う(ステップS13)。
【0064】
ここで、
図10を用いて、マスク着用判定処理について説明する。
【0065】
まず、制御部311は、肌領域(例えば、
図6の右目領域401)の平均輝度値Iaを算出する(ステップS21)。
【0066】
次に、制御部311は、口領域(例えば、
図6の口領域402)の平均輝度値Ibを算出する(ステップS22)。
【0067】
次に、制御部311は、「Ib-Ia>Ic」が成立するか否かを判定する(ステップS23)。ここで、Icは閾値(例えばIc=40)である。Icは観測輝度値等に応じて設定することができる。制御部311は、「Ib-Ia>Ic」が成立すると判定した場合には(ステップS23:YES)、マスク着用と判定し(ステップS24)、マスク着用判定処理を終了する。一方、制御部311は、「Ib-Ia>Ic」が成立しないと判定した場合には(ステップS23:NO)、マスク未着用と判定し(ステップS25)、マスク着用判定処理を終了する。
【0068】
図9に戻り、制御部311は、マスク着用判定処理においてマスク着用と判定したか否かを判定する(ステップS14)。制御部311は、マスク着用していない(未着用)と判定したと場合には(ステップS14:NO)、顔向き判定処理を終了する。一方、制御部311は、マスク着用と判定したと場合には(ステップS14:YES)、次いで、ヨー角判定処理を行う(ステップS15)。
【0069】
ここで、
図11を用いて、ヨー角判定処理について説明する。
【0070】
まず、制御部311は、ステップS11又は後述するステップS18の処理で取得した画像からマスク左右端を検出できるか否かを判定する(ステップS31)。なお、
図8(A)に示したような左右端の形状が特殊なマスクについては、肌の輝度値に対して大きい輝度値のマスク部を最初に判定して記録しておくことにより、以降の処理でも同様に処理することができる。
【0071】
制御部311は、マスク左右端を検出できないと判定した場合には(ステップS31:NO)、ヨー角を「0度」と判定し(ステップS32)、ヨー角判定処理を終了する。一方、マスク左右端を検出できると判定した場合には(ステップS31:YES)、次いで、顔中心線(
図2の顔中心線212参照)を検出できるか否かを判定する(ステップS33)。
【0072】
制御部311は、顔中心線を検出できないと判定した場合には(ステップS33:NO)、ヨー角を「10度」と判定し(ステップS34)、ヨー角判定処理を終了する。一方、顔中心線を検出できると判定した場合には(ステップS33:YES)、次いで、手前側顔幅WAと奥側顔幅WBを算出する(
図3参照)(ステップS35)。
【0073】
次に、制御部311は、ステップS35の処理で算出した手前側顔幅WAと奥側顔幅WBに基づいてヨー角を判定する(ステップS36)。本実施例では、WB/WAと、予め定められた閾値Y1、Y2、Y3(Y1>Y2>Y3)を比較することにより、ヨー角を判定する。閾値Y1、Y2、Y3は、カメラCと顔Fの距離を観測した値等に基づいて値を変えてもよい。
【0074】
制御部311は、具体的には、次の通りヨー角を判定する。
(1)Y1<WB/WA → ヨー角:20度
(2)Y2<WB/WA<Y1 → ヨー角:30度
(3)Y3<WB/WA<Y2 → ヨー角:40度
(4)WB/WA<Y3 → ヨー角:50度
【0075】
次に、制御部311は、顔中心線補正処理を行い(ステップS37)、ヨー角判定処理を終了する。顔中心線補正処理は、照射部Lに対してヨー角が大きくなると、マスク中心部の輝度値が下がり、上述した輝度値条件により検出するマスク中心線と顔中心線が一致しなくなってしまう場合があるので(例えば、
図7のヨー角50度時。ヨー角40度以下であれば、マスク中心線と顔中心線が一致しやすい)、そのような場合に顔中心線を補正するために行われる。本実施例では、ヨー角が50度未満である場合には、輝度値220以上に色分けされた画素で形成されるエッジに対応する線を顔中心線とする。一方、ヨー角が50度以上である場合には、輝度値160以上220未満に色分けされた画素で形成されるエッジに対応する線を顔中心線とする。
【0076】
図9に戻り、制御部311は、ピッチ角判定処理を行う(ステップS16)。
【0077】
ここで、
図12を用いて、ピッチ角判定処理について説明する。
【0078】
まず、制御部311は、全ピッチ角(下20度、下10度、0度、上10度、上20度)についてマスク上端の傾きを記録済みであるか否かを判定する(ステップS51)。このとき、制御部311は、全ピッチ角についてマスク上端の傾きを記録済みではないと判定した場合には(ステップS51:NO)、マスク左右端の特徴と顔中心線(マスク上端付近)の特徴に基づいてピッチ角を判定する(ステップS53)。具体的には、
図13(A)、(B)に示すように、マスク左右端の特徴と顔中心線の特徴は、ピッチ角に応じて異なることから、事前にピッチ角毎に基準となるマスク左右端の特徴と顔中心線を記憶部312に記録しておき、今回取得した画像におけるマスク左右端の特徴と顔中心線を比較して最も類似するマスク左右端の特徴と顔中心線に対応付けられているピッチ角を、画像に写る顔のピッチ角と判定する。なお、本実施例では、マスク左右端の特徴としてマスク上紐の傾きを記録しておき、顔中心線の特徴として、マスク上端付近の傾きを記録しておくこととする。
【0079】
以下、具体的に説明する。
・記憶部312に記録されているピッチ0度時(水平時)のマスク上紐の傾き:m0
・記憶部312に記録されているピッチ0度時(水平時)の顔中心線の傾き:v0
・記憶部312に記録されているピッチ上10度時のマスク上紐の傾き:m1
・記憶部312に記録されているピッチ上10度時の顔中心線の傾き:v1
・記憶部312に記録されているピッチ上20度時のマスク上紐の傾き:m2
・記憶部312に記録されているピッチ上20度時の顔中心線の傾き:v2
・記憶部312に記録されているピッチ下10度時のマスク上紐の傾き:m3
・記憶部312に記録されているピッチ下10度時の顔中心線の傾き:v3
・記憶部312に記録されているピッチ下20度時のマスク上紐の傾き:m4
・記憶部312に記録されているピッチ下20度時の顔中心線の傾き:v4
・今回取得した画像のマスク上紐の傾き:mA
・今回取得した画像の顔中心線の傾き:vA
上記の通りマスク上紐の傾き(「マスク左右端の特徴」の一例)及び顔中心線の傾きが定義付けられている場合には、制御部331は次の通りピッチ角を判定する。
【0080】
(1)[(v3+v0)/2<vA<(v0+v1)/2] or/and
[(m3+m0)/2<mA<(m0+m1)/2] → ピッチ角:0度
【0081】
(2)[(v0+v1)/2<vA<(v1+v2)/2] or/and
[(m0+m1)/2<mA<(m1+m2)/2] → ピッチ角:上10度
【0082】
(3)[(v1+v2)/2<vA] or/and
[(m1+m2)/2<mA] → ピッチ角:上20度
【0083】
(4)[(v3+v4)/2<vA<(v0+v3)/2] or/and
[(m3+m4)/2<mA<(m0+m3)/2] → ピッチ角:下10度
【0084】
(5)[vA<(v3+v4)/2] or/and
[mA<(m3+m4)/2] → ピッチ角:下20度
【0085】
次に、制御部311は、マスク上端(
図2の上境界213)を検出し、ステップS53の処理で判定したピッチ角とマスク上端の傾きを対応付けて記憶部312に記録し(ステップS54)、ピッチ角判定処理を終了する。
【0086】
一方、制御部311は、ステップS51の処理において、全ピッチ角についてマスク上端の傾きを記録済みであると判定した場合には(ステップS51:YES)、記録済のマスク上端の傾きと、今回取得した画像のマスク上端の傾きを比較し、ピッチ角を判定し(ステップS52)、ピッチ角判定処理を終了する。ここで、記録済のマスク上端の傾きと、画像のマスク上端の傾きを比較し、ピッチ角を判定する場合について具体的に説明する。
【0087】
・記憶部312に記録されているピッチ0度時(水平時)のマスク上端の傾き:g0
・記憶部312に記録されているピッチ上10度時のマスク上端の傾き:g1
・記憶部312に記録されているピッチ上20度時のマスク上端の傾き:g2
・記憶部312に記録されているピッチ下10度時のマスク上端の傾き:g3
・記憶部312に記録されているピッチ下20度時のマスク上端の傾き:g4
・今回取得した画像のマスク上端の傾き:gA
上記の通りマスク上端の傾きが定義付けられている場合には、制御部331は次の通りピッチ角を判定する。
【0088】
(1)[(g3+g0)/2<gA<(g0+g1)/2] → ピッチ角:0度
【0089】
(2)[(g0+g1)/2<gA<(g1+g2)/2] → ピッチ角:上10度
【0090】
(3)[(g1+G2)/2<gA] → ピッチ角:上20度
【0091】
(4)[(g3+g4)/2<gA<(g0+g3)/2] → ピッチ角:下10度
【0092】
(5)[gA<(g3+g4)/2] → ピッチ角:下20度
【0093】
図9に戻り、制御部311は、顔向き判定処理を継続するか否かを判定する(ステップS17)。このとき、制御部311は、顔向き判定処理を継続しないと判定したときには(ステップS17:NO)、顔向き判定処理を終了する。一方、制御部311は、顔向き判定処理を継続すると判定したときには(ステップS17:YES)、次の画像を取得し(ステップS18)、ステップS15の処理に移行する。
【0094】
以上説明したように、本実施例に係る認識装置Dの制御部311(「取得手段」、「検出手段」、「認識手段」の一例)は、マスク(「被覆部材」の一例)により被覆された顔(「対象」の一例)を照射部L(「照射手段」の一例)により光を照射した状態で撮影した画像を取得し、当該取得した画像に含まれる画素の輝度値に基づいて、顔中心線212(「対象の表面における正面縦方向の中心線」の一例)を検出し、当該検出結果に基づいて、対象の向きを認識する。
【0095】
したがって、本実施例に係る認識装置Dによれば、画像に含まれる画素の輝度値に基づく顔中心線212の検出結果に基づいて顔の向きを認識することから、顔がマスクにより被覆されている場合であっても顔の向きを正確に認識することができる。また、パターンマッチングのような処理負荷の高い処理をせずに顔の向きを認識できる。さらに、パターンマッチングのためのパターン画像も記憶しておく必要がないので、記憶部312を小容量の記憶装置とすることができる。
【0096】
また、本実施例に係る認識装置Dの制御部311は、顔中心線212の傾きに基づいて、顔の縦方向の向き(ピッチ角)を認識する。
【0097】
更に、本実施例に係る認識装置Dの制御部311(「検出手段」、「記憶制御手段」、「認識手段」の一例)は、顔の縦方向の向きを認識した際の、マスクの上側の境界である上境界213を更に検出し、上境界213の傾きを、認識した対象の縦方向の向きと対応付けて記憶部312(「記憶手段」の一例)に記憶させ、縦方向の向きを認識していない顔の画像が新たに取得された際に、当該画像について検出されたマスクの上境界213の傾きと略同一の傾きが対応付けられている縦方向の向きを、当該画像に写る顔の縦方向の向きとして認識する。これにより、一度、顔の縦方向の向きを認識しておけば、それ以降の画像については、上境界213を検出して、記憶部312に記憶された上境界213と比較することにより、縦方向の向きを認識することができる。すなわち、縦方向の向きを認識するための処理負担が軽減される。
【0098】
更にまた、本実施例に係る認識装置Dの制御部311(「認識手段」の一例)は、顔の横幅における、上境界線213と顔中心線212との交点の位置に基づいて(すなわち、手前側顔幅WAと奥側顔幅WBに基づいて)、顔の横方向の向き(ヨー角)を認識する。
【0099】
なお、本実施例に係る認識装置Dは、車載カメラ(顔向き検出によるドライバーの安全確認)、監視カメラ(マスク着用時の顔向き検出、人の興味や行動検出等)、医療カメラ(マスク着用時の顔向き検出、医者や患者の行動検出等)等に組み込むことにより活用することができる。
【0100】
[4.変形例]
次に、上記実施例の変形例について説明する。なお、以下に説明する変形例は適宜組み合わせることができる。
【0101】
[4.1.変形例1]
上記実施例では、
図13(A)、(B)に示すように、基準となるマスク上紐の傾き(「マスク左右端の特徴」の一例)と顔中心線(マスク上端付近)の傾き(「顔中心線の特徴」の一例)をピッチ角と対応付けて記憶部312に記録しておき、新たに取得した画像におけるマスク上紐の傾きと顔中心線の傾きを比較してピッチ角を判定する構成としているが、これに代えて、例えば、
図14(A)、(B)に示すように、マスク左右端の特徴(形状)と顔中心線(マスクにかかる部分)の特徴(形状)をそのままピッチ角と対応付けて記憶部312に記録しておき、新たに取得した画像におけるマスク左右端の特徴(形状)と顔中心線の特徴(形状)を比較し、最も類似度の高いものと対応付けられているピッチ角を取得し、当該画像に写る顔Fのピッチ角と判定する構成としてもよい。
【0102】
[4.2.変形例2]
上記実施例では、カメラCと照射部Lが略同じ方向から対象に向いていることとしたが、カメラCと照射部Lが異なる方向から対象に向いている場合についても本発明を適用することができる。すなわち、カメラCと照射部Lが対象からみて異なる方向に位置する場合であっても、照射部Lの位置が決まっており、マスク着用時の顔に光がどのように照射され、画像が撮像されるかが予め分かっていれば、上記実施例と同様に、口領域を判定し、マスク着用判定し、マスク特徴と顔特徴を検出することによって、顔向き方向の推定が可能である。
【0103】
図15は、カメラCと照射部Lを対象からみて異なる方向に配置し、顔の横方向から光を照射した状態で撮影した画像の一例である。顔の横から光を照射した場合は、顔向きがカメラ正面付近を向いたときに、顔の中心線601を検出できる。光が照射されている方向を向くと、顔の輪郭や光の方向に面しているマスクの特徴602や顔の前面領域が検出できるようになる。これらを検出し、同様にヨー角10度毎の判定をすることができる。但し、顔横方向から光を照射する場合は、顔向きが光の照射と反対方向に向いてしまうと、光照射によるマスク特徴や顔前面の特徴が検出できなくなってしまうことから、より広範囲に顔向き角度を検出したい場合は、上記実施例のように、カメラCと照射部Lを顔からみて同じ方向に設置することが望ましい。応用や環境の違いにより、顔横方向から光を照射して、マスクの特徴602等を検出して、顔向き方向を判定してもよい。
【0104】
このように、カメラCと照射部Lを対象からみて異なる方向に配置した場合であっても、マスク特徴や顔前面特徴を明瞭に検出することができるので、カメラCと照射部Lの設置条件等で、カメラCから位置を離して照射部Lを配置して、光の照射を顔横方向から行いたい場合や、カメラCの横方向から支配的な光(例えば、太陽光等)が照射される場合であっても、同様な処理で顔向き判定を行うことができる。
【0105】
[4.3.変形例3]
顔の口領域の判定や、顔向き角度の判定において、過去の撮影画像で判定した結果を利用して、上記判定に用いることとしてもよい。例えば、一度口領域を推定したら、次の時間で撮影した画像では、過去推定領域の周辺で口領域を探索する処理が考えられる。また、顔向き方向の判定においては、例えば、顔向き上10度左20度と判定した場合は、次の時間で撮影した画像では、過去推定顔向き周辺向きである可能性が高いので、顔向き上20度左20度、顔向き上10度左10度、顔向き上10度左30度、顔向き左20度の特徴を優先的に検出する処理を行うことが考えられる。すなわち、近い時刻に撮影された画像では顔の向きは大幅に変化しないことを想定し、新たに顔向きを判定する場合には、直近に判定した顔向きに近い方向から判定処理を行うことができる。この変形例のように、時系列にデータを処理して、判定処理を有効に行うことにより、口領域の判定や、顔向き角度の判定についての処理負担を軽減することができる。
【0106】
[4.4.変形例4]
本願発明者が実施したところ、多くのマスクは、赤外撮像画像において、マスク領域が、肌に比べて輝度値が大きくなることが判明した。しかし、マスクの素材によって、例えば赤外線を吸収するような素材を使っている場合は、赤外撮像画像で、マスク領域が肌に比べ暗く(輝度値が低く)撮像される場合がある。そのような場合は、肌領域と比較して、口領域の輝度値が小さいことを判定して、マスクを検出することとしてもよい。なお、この場合は、マスク検出した後、マスクエッジを検出する処理等は上述の実施例と同様に行うことができる。