JP6697006B2 - 情報生成装置、情報生成方法、情報生成プログラム及び記録媒体 - Google Patents

情報生成装置、情報生成方法、情報生成プログラム及び記録媒体 Download PDF

Info

Publication number
JP6697006B2
JP6697006B2 JP2017563651A JP2017563651A JP6697006B2 JP 6697006 B2 JP6697006 B2 JP 6697006B2 JP 2017563651 A JP2017563651 A JP 2017563651A JP 2017563651 A JP2017563651 A JP 2017563651A JP 6697006 B2 JP6697006 B2 JP 6697006B2
Authority
JP
Japan
Prior art keywords
inclination
information
face
straight line
degrees
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017563651A
Other languages
English (en)
Other versions
JPWO2017130407A1 (ja
Inventor
良司 野口
良司 野口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pioneer Corp
Japan Automobile Research Institute Inc
Original Assignee
Pioneer Corp
Japan Automobile Research Institute Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pioneer Corp, Japan Automobile Research Institute Inc filed Critical Pioneer Corp
Publication of JPWO2017130407A1 publication Critical patent/JPWO2017130407A1/ja
Application granted granted Critical
Publication of JP6697006B2 publication Critical patent/JP6697006B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本願は、頭部を撮影した画像に基づいて顔の向いている方向を示す方向情報を作成する情報生成装置等の技術分野に関する。
従来、頭部を撮影した画像から顔の向きを認識する技術がある。例えば、特許文献1に記載の技術は、対象者の掛けている眼鏡上の光の反射像の位置及び大きさを取得し、反射像の位置及び大きさに基づいて対象者の顔位置を推定する。
特開2009−245257号公報
しかしながら、特許文献1に記載の技術では、眼鏡の反射像から顔位置を推定するため、カメラに対して顔が横方向に向けられている場合には、推定精度が低下するという問題があった。この問題は、顔の特徴点から顔の向きを推定する手法についても同様に存在する。
本願発明は、上記問題に鑑み、カメラに対して顔が横方向を向いている場合でも、カメラにより撮影された画像に基づいて顔の向いている方向を示す方向情報を作成することができる情報生成装置等を提供することを課題とする。
請求項1に記載の発明は、装着物を装着した頭部を側面から撮影した画像における前記装着物の特徴部の傾きを検出する検出手段と、前記検出手段が検出した前記特徴部の傾きから顔の向いている方向を示す顔方向情報を生成する生成手段と、前記特徴部の傾きを示す傾き情報と生成された前記顔方向情報を対応付けて記憶手段に記憶させる記憶制御手段と、を備え、前記生成手段は、前記検出手段が検出した前記特徴部の傾きとの差分が閾値以下である傾きを示す前記傾き情報が前記記憶手段に記憶されている場合に、当該傾き情報と対応付けて記憶されている前記顔方向情報を取得することを特徴とする。
請求項に記載の発明は、情報生成装置が行う情報生成方法であって、装着物を装着した頭部を側面から撮影した画像における前記装着物の特徴部の傾きを検出する検出工程と、前記検出工程により検出した前記特徴部の傾きから顔の向いている方向を示す顔方向情報を生成する生成工程と、前記特徴部の傾きを示す傾き情報と生成された前記顔方向情報を対応付けて記憶手段に記憶させる記憶制御工程と、を含み、前記生成工程では、前記検出工程で検出した前記特徴部の傾きとの差分が閾値以下である傾きを示す前記傾き情報が前記記憶手段に記憶されている場合に、当該傾き情報と対応付けて記憶されている前記顔方向情報を取得することを特徴とする。
請求項に記載の発明は、コンピュータを、装着物を装着した頭部を側面から撮影した画像における前記装着物の特徴部の傾きを検出する検出手段、前記検出手段が検出した前記特徴部の傾きから顔の向いている方向を示す顔方向情報を生成する生成手段、前記特徴部の傾きを示す傾き情報と生成された前記顔方向情報を対応付けて記憶手段に記憶させる記憶制御手段、として機能させ、前記生成手段は、前記検出手段が検出した前記特徴部の傾きとの差分が閾値以下である傾きを示す前記傾き情報が前記記憶手段に記憶されている場合に、当該傾き情報と対応付けて記憶されている前記顔方向情報を取得することを特徴とする。
請求項に記載の発明は、コンピュータを、装着物を装着した頭部を側面から撮影した画像における前記装着物の特徴部の傾きを検出する検出手段、前記検出手段が検出した前記特徴部の傾きから顔の向いている方向を示す顔方向情報を生成する生成手段、前記特徴部の傾きを示す傾き情報と生成された前記顔方向情報を対応付けて記憶手段に記憶させる記憶制御手段、として機能させ、前記生成手段は、前記検出手段が検出した前記特徴部の傾きとの差分が閾値以下である傾きを示す前記傾き情報が前記記憶手段に記憶されている場合に、当該傾き情報と対応付けて記憶されている前記顔方向情報を取得する情報生成プログラムを記録したコンピュータ読み取り可能な記録媒体である。
情報生成装置1のブロック図である。 顔向き判定装置Dのブロック図の一例である。 判定装置Dの機能を実現する構成例を示した機能ブロック図である。 判定装置Dが顔の向きを判定する際の動作例を示すフローチャートである。 判定装置Dによる眼鏡着用判定処理の一例を示すフローチャートである。 (A)は、パターンAの眼鏡のつる部を撮影した画像であり、(B)は、パターンBの眼鏡のつる部を撮影した画像であり、(C)は、パターンCの眼鏡のつる部を撮影した画像である。 判定装置Dによる眼鏡向き判定処理の一例を示すフローチャートである。 判定装置Dによる第1ピッチ角判定処理の一例を示すフローチャートである。 パターンAの眼鏡のピッチ角とつる部直線の傾きの関係を表す図である。 判定装置Dによるつる部直線抽出処理の一例を示すフローチャートである。 判定装置Dによる第2ピッチ角判定処理の一例を示すフローチャートである。 パターンBの眼鏡のピッチ角とつる部直線の傾きの関係を表す図である。 パターンCの眼鏡のピッチ角とつる部直線の傾きの関係を表す図である。 判定装置Dによるヨー角判定処理の一例を示すフローチャートである。 眼鏡の向きとつる部直線の傾きの関係を示す図である。 判定装置Dによる顔向き判定処理の一例を示すフローチャートである。 (A)、(B)はつるの形状が特殊なパターンであるつる部を示す例図である。
本願発明を実施するための形態について、図1を用いて説明する。
図1に示すように、情報生成装置1は検出手段111Aと、生成手段111Bと、記憶制御手段111Cと、記憶手段111Dと、を備えている。なお、記憶手段は、情報生成装置1の外部に設けてもよい。
検出手段111Aは、装着物を装着した頭部を側面から撮影した画像における装着物の特徴部の傾きを検出する。装着物の例として、眼鏡やマスクが挙げられる。また、特徴部は、装着物における頭部の側面に位置する部分である。例えば、眼鏡やマスクの耳に掛ける部分が挙げられる。より具体的には、眼鏡であれば「つる」であり、マスクであれば耳に掛ける「紐」である。
生成手段111Bは、検出手段111Aが検出した特徴部の傾きから顔の向いている方向を示す顔方向情報を生成する。顔の向いている方向は、例えば、ピッチ角(上下方向の角度)とヨー角(横方向の角度)により示される。
また、生成手段111Bは、特徴部の傾きから装着物の向いている方向を示す装着物方向情報を生成し、装着物が基準方向を向くときの顔が向く方向と基準方向との差分を示す差分情報に基づいて、装着物方向情報を補正することにより顔方向情報を生成する。これにより、装着物の向いている方向と顔の向いている方向が一致しない場合にも、正しい顔方向情報を生成することができる。
したがって、情報生成装置1によれば、カメラに対して顔が横方向を向いている場合でも、カメラにより頭部を撮影された画像に基づいて顔の向いている方向を示す顔方向情報を作成することができる。
更に、特徴部の傾きを示す傾き情報と生成された顔方向情報を対応付けて記憶手段111Dに記憶させることとしてもよい。この場合、生成手段111Bは、検出手段111Aが検出した特徴部の傾きとの差分が閾値以下である傾きを示す傾き情報が記憶手段111Dに記憶されている場合に、当該傾き情報と対応付けて記憶されている顔方向情報を取得する。閾値は、検出手段111Aが検出した特徴部の傾きと記憶手段111Dに記憶されている傾き情報が示す傾きがほぼ同じ傾きであるとみなすことができる幅を定めるための値である。これにより、生成手段111Bは、新たに検出された特徴部の傾きが、過去に顔方向情報を生成した際の特徴部の傾きとほぼ同じ場合には、新たに顔方向情報を生成しなくてすむため、特徴部の傾きから顔方向情報を生成するための処理に係る処理負担を軽減することができる。
更にまた、検出手段111Aは、特徴部のエッジを示す線を検出し、生成手段111Bは、検出手段111が2本の線を検出した場合に、2本の線の傾き及び2本の線間の間隔の少なくとも一方に基づいて、装着物の種類を示す種類情報を更に生成することとしてもよい。そして、記憶制御手段111Cは、傾き情報及び顔方向情報に種類情報を更に対応付けて記憶手段111Dに記憶させ、生成手段111Bが、新たに種類情報を生成した場合に、記憶手段111Dにおいて当該生成した種類情報と同じ種類を示す種類情報が対応付けられている顔方向情報を取得することとしてもよい。これにより、装着物に複数の種類があり、それぞれの種類を2本の線の傾き及び間隔の少なくとも一方で特定できる場合に、種類毎に、特徴部の傾きと顔方向情報を対応付けて記憶させることができる。したがって、過去に顔方向情報を生成した際の装着物と同種類の装着物を装着している場合において、新たに検出された特徴部の傾きが、過去に顔方向情報を生成した際の特徴部の傾きとほぼ同じ場合には、新たに顔方向情報を生成しなくてすむため、特徴部の傾きから顔方向情報を生成するための処理に係る処理負担を軽減することができる。
更にまた、記憶制御手段111Cは、生成手段111Bが生成した顔方向情報を記憶手段111Dに記憶させ、生成手段111Bは、新たに顔方向情報を生成する際に当該顔方向情報の示す方向として複数の候補が存在する場合に、所定期間内に記憶された少なくとも1つの顔方向情報に基づいて顔方向情報を生成することとしてもよい。これにより、何らかの理由により当該顔方向情報の示す方向として複数の候補が存在する場合であっても、最新の顔方向情報の示す方向とかけ離れた方向を示す顔方向情報が生成されることを防止することができる。
次に、上述した実施形態に対応する具体的な実施例について説明する。
図2−図16を用いて実施例について説明する。なお以下に説明する実施例は、本願発明を、顔向き判定装置D(以下、「判定装置D」という場合がある)に適用した場合の実施例である。
[1.判定装置Dの概要]
本実施例の判定装置Dは、眼鏡を掛けた対象者の頭部を撮影した画像から、眼鏡のつるのエッジを検出し、そのエッジの傾きを算出することで、眼鏡の向きや顔の向きを判定する。一般的に、顔をカメラに対して大きく横方向に向けたとき、カメラから見て顔の奥側(反対側)が撮影できなくなり、顔向き判定が困難となる場合が多い。判定装置Dは、このような場合でも、眼鏡のつるのエッジの傾きにより、顔の向きを判定することができる。具体的には、画像から眼鏡のつるのエッジが検出できた(眼鏡を着用していると判定した)場合、上エッジと下エッジの傾き、または、上エッジもしくは下エッジのどちらか一方の傾きを算出し、その傾き情報から、眼鏡/顔のカメラに対する垂直方向(ピッチ方向という場合がある)と水平方向(ヨー方向という場合がある)の向き判定する。
[2.判定装置Dの構成]
次に図2を用いて本実施例に係る判定装置Dの構成について説明する。図2に示すように、判定装置Dは、大別して、制御部111、記憶部112、通信部113、表示部114及び操作部115を含んで構成されている。
記憶部112は、例えばハードディスクドライブ等により構成されており、OS(Operating System)、顔の向きを判定するための顔向き判定プログラムを含む各種プログラムを記憶する。また、記憶部112は、カメラCにより撮影された画像や顔向き判定プログラムに使用される各種データを記憶する。
I/F部113は、カメラCとのデータのやりとりを制御する。カメラCは、対象者の顔の正面に設置され、対象者の頭部を撮影する。
表示部114は、例えば、液晶ディスプレイ等により構成されており、カメラCにより撮影された画像等を表示するようになっている。
操作部115は、例えば、キーボード、マウス等により構成されており、オペレータからの操作指示を受け付け、その指示内容を指示信号として制御部111に出力するようになっている。
制御部111は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等により構成されている。そして、CPUが、ROMや記憶部112に記憶された顔向き判定プログラムを含む各種プログラムを読み出し実行することにより各種機能を実現する。
[3.判定装置Dの機能]
図3は、判定装置Dの機能を実現する構成例を示した機能ブロック図である。判定装置Dの制御部111は、顔向き判定プログラムを実行することにより、画像取得部11、眼鏡つる領域判定部12、眼鏡着用判定部13、エッジ検出部14、つる部直線検出部15、眼鏡向き判定部16、直線傾き算出部17、ピッチ方向判定部18、ヨー方向判定部19、顔向き判定部21、方向情報生成部22として動作する。
画像取得部11は、カメラCが頭部(顔)を撮影した画像を取得する。眼鏡つる領域判定部12は、例えば、画像から顔が横を向いている(例えば、横方向30度以上)かを判定し、目の横の領域を眼鏡のつるが存在するつる領域として決定する。つる領域が決定されると、その領域において、エッジ検出部14がエッジ(画像におけるつる部の境界を表す線)の検出を行い、つる部直線検出部15が検出したエッジからつる部直線を検出する。眼鏡着用判定部13は、つる部直線が検出されたか否かに応じて眼鏡が着用されているか否かを判定する。次に、眼鏡向き判定部16において、直線傾き算出部17が、つる部直線の傾きを算出し、ピッチ方向判定部18がその傾きから眼鏡のピッチ方向の角度を判定し、ヨー方向判定部19が眼鏡のヨー方向の角度を判定する。つる部直線の傾きとしては、上エッジ直線(つる部の上側境界を示す線)の傾きと下エッジ直線(つる部の下側境界を示す線)の傾き、または、上エッジ直線もしくは下エッジ直線のどちらか一方の傾きを利用することができる。そして、顔向き判定部21が、判定された眼鏡の向きと、顔向き基準情報(差分情報の一例)とに基づいて顔向き方向を判定し、方向情報生成部22が、当該顔向き方向を示す方向情報を生成する。
[4.判定装置Dの動作例]
次に、図4−図16を用いて、判定装置Dの動作例について説明する。図4は、判定装置Dの判定処理の一例を示すフローチャートである。
図4のフローチャートにおいて、まず、画像取得部11としての制御部111は、カメラCが対象者の頭部を撮影した画像を取得する(ステップS11)。
次に、眼鏡つる領域判定部12としての制御部111は、ステップS11の処理で取得した画像に写る顔が横向きであるか否かを判定する(ステップS12)。具体的には、従来公知の手法により、顔の特徴部(目、鼻、口、耳等)を抽出し、その位置関係により顔の向きを判定する。なお、本実施例では、ヨー角が30度以上の場合に横向きであると判定する。
眼鏡つる領域判定部12としての制御部111は、顔が横向きでないと判定した場合には(ステップS12:NO)、ステップS11の処理に移行する。一方、制御部111は、顔が横向きであると判定した場合には(ステップS12:YES)、画像におけるつる領域を決定する(ステップS13)。具体的には、目、眉毛、耳、鼻の位置や、顔の輪郭の特徴等からつる領域のx座標基準、y座標基準を定めて、つる領域を決定する。
次いで、眼鏡着用判定部13としての制御部111は、眼鏡着用判定処理を行う(ステップS14)。以下、図5のフローチャートを用いて、眼鏡着用判定処理について説明する。
まず、エッジ検出部14としての制御部111は、ステップS13の処理で決定されたつる領域の画像を切り出す(ステップS31)。次いで、制御部111は、つる領域の画像についてエッジ検出を行う(ステップS32)。エッジ検出には、Canny法等の一般的なエッジ検出手法を用いることができる。
次に、つる部直線検出部15としての制御部111は、つる部直線検出処理を行う(ステップS33)。具体的には、エッジ検出を行った2値化画像に対して、ハフ変換等の一般的な直線検出処理を行う。このとき、つる部を表す直線(つる部直線)の検出手法は、ハフ変換等の一般的な手法を用いることができる。なお、画像の画質等の影響によってつる部直線を正しく検出できない場合、すなわち、つる部を表す直線以外の直線を検出してしまうこともある。そこで、検出した直線がつる部を表す直線として適切であるかを、直線の長さが閾値以上かといった条件や、直線の角度が閾値以内かといった条件を設定して、条件を満たす直線をつる部直線として検出することとしてもよい。つまり、つるを表す直線として長さが不適切な直線や角度が不適切な直線を排除することにより適切なつる部直線を検出する。
次に、制御部111は、つる部直線を検出できたか否かを判定する(ステップS34)。制御部111は、つる部直線を検出できたと判定した場合には(ステップS34:YES)、眼鏡を着用していると判定し(ステップS35)、当該フローチャートの処理を終了する。一方、制御部111は、つる部直線を検出できなかったと判定した場合には(ステップS34:NO)、眼鏡を着用していないと判定し(ステップS36)、当該フローチャートの処理を終了する。
なお、ステップS33の処理において説明した上記条件でつる部直線を正しく検出できればよいが、画像によっては、それでも正しく検出できない場合もある。そのような場合も考慮して、ステップS34の処理では、検出された直線の本数によって、YES/NO判定をすることとしてもよい。例えば、(1)少なくとも一本の直線を検出した場合にYESと判定したり、(2)2本の直線を検出した場合にYESと判定したり、(3)2本以上の直線を検出した場合にYESと判定することとしてもよい。画像処理では、つる部を表す直線以外の直線(例えば、髪の生え際を表す直線)が検出される場合があり、例えば、3本以上の直線が検出されたときに、傾きが近い2本の直線をつる部を表す上側の直線と下側の直線として検出したり、過去につる部の上側の直線と下側の直線と判定した2本の直線と類似(マッチ)する2本の直線をつる部を表す上側の直線と下側の直線として検出したりすることもできる。
また、1枚の画像だけでつる部直線の検出を行うのではなく、複数枚の画像でつる部直線の検出を行い、つる部直線の検出できた画像の数が所定数以上である場合に眼鏡を着用していると判定し、所定数未満である場合に眼鏡を着用していないと判定してもよい。これにより、画像処理により、仮に誤ってつる部直線を検出したとしても、そのようなノイズに影響されず、ロバストなつる部直線検出処理を行うことができる。
図4のステップS15に戻り、制御部111は、ステップS14の処理結果に基づき、眼鏡着用か否かを判定し(ステップS15)、眼鏡を着用していない場合には(ステップS15:NO)、ステップS11の処理に移行し、眼鏡を着用している場合には(ステップS15:YES)、図6−図15を用いて後述する眼鏡向き判定処理を行う(ステップS16)。
次に、制御部111は、図16を用いて後述する顔向き判定処理を行う(ステップS17)。
次に、制御部111は、判定処理を継続するか否かを判定する(ステップS18)。制御部111は、判定処理を継続すると判定した場合には(ステップS18:YES)、ステップS11の処理に移行し、判定処理を継続しないと判定した場合には(ステップS18:NO)、当該フローチャートに示す判定処理を終了する。
次に、図6−図15を用いて、眼鏡向き判定処理について説明する。
眼鏡のつる部は眼鏡によって形状が異なり上エッジ直線と下エッジ直線の傾きも異なることから、本実施例では、上エッジ直線と下エッジ直線でつる部の傾きが異なる3パターンの眼鏡について眼鏡着用判定処理の判定例を示す。図6(A)はパターンAの眼鏡のつる部を示し、図6(B)はパターンBの眼鏡のつる部を示し、図6(C)はパターンCの眼鏡のつる部を示す。
パターンAでは、上エッジ直線200Uと下エッジ直線200Lがほぼ平行でその間隔は約3mmである。パターンAの眼鏡の場合は、上エッジ直線200Uの傾きと下エッジ直線200Lの傾きはほぼ同じとなるので、上エッジ直線200Uか下エッジ直線200Lのどちらかしか検出できなかった場合でも、その傾きから眼鏡(顔)のピッチ角判定を行うことができる。
パターンBでは、つる部がレンズ部に近くなるとつる部幅が太くなり(約10mm)、レンズ部から遠くなるとつる部幅が細くなっている(約2mm)。パターンBの眼鏡の場合は、上エッジ直線200Uの傾きと下エッジ直線200Lの傾きは異なるので、上エッジ直線200Uか下エッジ直線200Lのどちらかしか検出しなかった場合に、そのエッジ直線から眼鏡(顔)のピッチ角を判定するためには、検出した1本のエッジ直線が、上エッジ直線200Uであるか、下エッジ直線200Lであるかが確定し、その上エッジ直線200U(又は下エッジ直200L線)の基準角度に対する傾きが求まっている必要がある。例えば、眼鏡(顔)のピッチ角0度のときに、上エッジ直線200Uの傾き10度、下エッジ直線200Lの傾き0度と基準が決まっていて、検出した1本のエッジ直線が上エッジ直線200Uか下エッジ直線200Lのどちらかが判明している場合であれば、(上エッジ直線200Uの傾きと下エッジ直線200Lの傾きが異なるパターンBの眼鏡着用時においても、)1本のエッジ直線から眼鏡(顔)のピッチ角を判定することができる。
パターンCでは、つる部がレンズ部に近くなるとつる部幅が太くなり(約7mm)、レンズ部から遠くなるとつる部幅が細くなっている(約4mm)。但し、パターンBほど、急激に細くなっているわけではない。
次に、図7のフローチャートを用いて、眼鏡向き判定処理について説明する。
まず、眼鏡向き判定部16としての制御部111は、ステップS33の処理で検出したつる部直線が1本であるか否かを判定する(ステップS51)。制御部111は、検出したつる部直線は1本であると判定したときには(ステップS51:YES)、図8を用いて後述する第1ピッチ角判定処理を行い(ステップS52)、ステップS56の処理に移行する。一方、制御部111は、検出したつる部直線は1本ではないと判定したときには(ステップS51:NO)、次いで、ステップS33の処理で検出したつる部直線は2本であるか否かを判定する(ステップS53)。
制御部111は、検出したつる部直線は2本ではない(3本以上である)と判定したときには(ステップS53:NO)、図11を用いて後述するつる部直線抽出処理を行い(ステップS54)、次いで、図12を用いて後述する第2ピッチ角判定処理を行って(ステップS55)、ステップS56の処理に移行する。一方、制御部111は、検出したつる部直線は2本であると判定したときには(ステップS53:YES)、図12を用いて後述する第2ピッチ角判定処理を行って(ステップS55)、ステップS56の処理に移行する。
次いで、制御部111は、図15を用いて後述するヨー角判定処理を行う(ステップS56)。
次いで、制御部111は、ステップS52の第1ピッチ角判定処理又はステップS55の第2ピッチ角判定処理で判定された眼鏡のピッチ角と、ステップS56のヨー角判定処理で判定された眼鏡のヨー角を示す眼鏡方向情報を生成し(ステップS57)、眼鏡向き判定処理を終了する。
次に、図8のフローチャートを用いて、第1ピッチ角判定処理について説明する。第1ピッチ角判定処理は、つる部直線が1本のとき、その傾きから眼鏡向きのピッチ方向の角度を判定する処理である。
まず、眼鏡向き判定部16としての制御部111は、着用眼鏡のタイプはタイプAか否かを判定する(ステップS71)。具体的には、例えば、予めユーザや顔向き判定を行う対象者等に何れのタイプの眼鏡を着用しているかを入力してもらい、その入力結果に基づいて判定する。
制御部111は、タイプAではないと判定した場合には(ステップS71:NO)、つる部直線が上エッジ又は下エッジかが確定し、基準角度に対する傾きが定まっているか否かを判定する(ステップS72)。具体的には、例えば、制御部111は、図7のステップS51の処理において、検出したつる部直線が2本であったために「NO」と判定したが、判定装置Dの設計者が処理負荷を軽減するために2本のつる部直線ではなく上エッジまたは下エッジのみ(すなわち1本のつる部直線)で、ピッチ角を判定させたい場合に、当該設計者は上エッジまたは下エッジの何れかを予め設定しておく。このように1本のつる部直線でピッチ角を判定させるために設計者が予め上エッジまたは下エッジを設定している場合には、制御部111は、つる部直線が上エッジ又は下エッジかが確定していると判定する。また、処理対象であるタイプの眼鏡の上エッジ又は下エッジ(設計者が予め設定したエッジ)について基準角度に対応する傾きを示すテーブル情報が事前に記憶部112に記憶されているか否かに応じて、制御部111は、基準角度に対する傾きが定まっているか否かを判定する。つまり、2本のつる部直線が検出された場合において、設計者が処理負荷の軽減のために1本のつる部直線でピッチ角を判定させたい場合に、設計者は上エッジ又は下エッジを予め設定しておくとともに、当該設定したエッジについて基準角度に対応する傾きを示すテーブル情報を用意しておくことにより、ステップS72の処理で制御部111に「YES」と判定させ、1本のつる部直線でピッチ角を判定させることができる。制御部111は、「NO」であると判定した場合には(ステップS72:NO)、第1ピッチ角判定処理を終了する。一方、制御部111は、「YES」であると判定した場合には(ステップS72:YES)、ステップS73の処理に移行する。
また、制御部111は、ステップS71の処理で、タイプAであると判定した場合には(ステップS71:YES)、ステップS73の処理に移行する。
次いで、直線傾き算出部17としての制御部111は、ステップS33の処理で検出したつる部直線の傾きを算出する(ステップS73)。
次いで、ピッチ方向判定部18としての制御部111は、つる部直線の傾きに基づき、ピッチ角判定を行い(ステップS73)、第1ピッチ角判定処理を終了する。
ここで、つる部直線の傾きに基づくピッチ角判定について具体的に説明する。パターンAの眼鏡の向きとつる部上エッジ直線と下エッジ直線の傾きを図9に示す。パターンAの眼鏡では、上エッジ直線200Uの傾き(U)と下エッジ直線200Lの傾き(L)はほぼ同じなので、前述したように、上エッジ直線200Uまたは下エッジ直線200Lのどちらかの傾きから、ピッチ角を判定することができる。ここで、検出したエッジ直線の傾きをE1とすると、
・E1≧15[度] → 上10度以上
・0[度]≦E1<15[度] → 上下0度
・E1<0[度] → 下10度未満
とそれぞれ条件判定することにより、眼鏡の向き(ピッチ角)を判定することができる。
このように、つる部直線の傾きと眼鏡のピッチ角には相関があることから、次のように、つる部直線の傾きについて適切に閾値を設定することにより、制御部111はつる部直線の傾きから眼鏡のピッチ角を判定することができる。
・ E1≧U2[度] → ピッチ角上20度以上
・ U1[度]≦E1<U2[度] → ピッチ角上10度
・ L1[度]≦E1<U1[度] → ピッチ角上下0度
・ L2[度]≦E1<L1[度] → ピッチ角下10度
・ E1<L2[度] → ピッチ角下20度未満
(U2>U1>L1>L2)
次に、図10のフローチャートを用いて、つる部直線抽出処理について説明する。つる部直線抽出処理は、つる部直線が3本以上の場合、2本のつる部直線を抽出する処理である。2本のつる部直線を抽出することができた場合には、当該2本のつる部直線に基づいて、第2ピッチ角判定処理によりピッチ角が判定される。
まず、眼鏡向き判定部16としての制御部111は、過去に記憶したつる部直線情報があるか否かを判定する(ステップS91)。つる部直線情報とは、適切に2本のつる部直線を検出(ステップS33)又は抽出(ステップS54)できた際の情報であって、2本の直線の傾き、長さ、間隔、位置関係等を示す情報である。つる部直線情報としては、事前に予め記憶しておいた情報を用いたり、現在処理している直線について記憶した情報(直線の傾きをステップS94の処理で記憶し、直線の長さをステップS97の処理で記憶し、直線間の間隔をステップS98の処理で記憶する)を用いたりする。制御部111は、過去に記憶したつる部直線情報はないと判定した場合には(ステップS91:NO)、ステップS94の処理に移行する。一方、制御部111は、過去に記憶したつる部直線情報があると判定した場合には(ステップS91:YES)、次いで、つる部直線情報を利用するか否かを判定する(ステップS92)。
制御部111は、つる部直線情報を利用しないと判定した場合には(ステップS92:NO)、ステップS94の処理に移行する。一方、制御部111は、つる部直線情報を利用すると判定した場合には(ステップS92:YES)、過去に記憶したつる部直線情報を利用して2本のつる部直線を抽出し(ステップS93)、つる部直線抽出処理を終了する。具体的には、つる部直線情報が示す情報に最も類似する2本のつる部直線を抽出する。例えば、上エッジ直線200Uと下エッジ直線200Lの傾きの差が記憶したつる部直線情報の示す2本のつる部直線の傾きの差と近いものを選択する処理や、その差が大幅に超過する、もしくは大幅に小さい2本の直線の一方を除外する処理等を行うことができる。
一方、制御部111は、ステップS94の処理において、ステップS33の処理で抽出された3本以上のつる部直線の中で、他の直線より傾きが大きく異なる直線を排除する(ステップS94)。例えば、誤ってつる部直線として検出された髪の生え際などの場合、その傾きは実際のつる部直線の傾きと比較して大きく(急勾配)なるため、そのような直線を排除する。
次いで、制御部111は、適切な2本のつる部直線を抽出できたか否かを判定する(ステップS95)。具体的には、この処理では、2本のつる部直線を抽出でき、且つ、当該2本のつる部直線がつる部直線として長さ、傾き、間隔等が適切であるかが判定される。制御部111は、適切な2本のつる部直線を抽出できたと判定した場合には(ステップS95:YES)、つる部直線抽出処理を終了する。一方、制御部111は、適切な2本のつる部直線を抽出できなかったと判定した場合には(ステップS95:NO)、次いで、他のつる部直線より長さが大きく異なる直線を排除する(ステップS96)。
次いで、制御部111は、ステップS95の処理と同様に、適切な2本のつる部直線を抽出できたか否かを判定する(ステップS97)。制御部111は、適切な2本のつる部直線を抽出できたと判定した場合には(ステップS97:YES)、つる部直線抽出処理を終了する。一方、制御部111は、適切な2本のつる部直線を抽出できなかったと判定した場合には(ステップS97:NO)、次いで、不適切な直線間の距離を作る直線を排除する(ステップS98)。例えば、直線同士が作る複数の間隔において、他と大きく外れた間隔を作る直線を除去する。
次いで、制御部111は、ステップS95の処理と同様に、適切な2本のつる部直線を抽出できたか否かを判定する(ステップS99)。制御部111は、適切な2本のつる部直線を抽出できたと判定した場合には(ステップS99:YES)、つる部直線抽出処理を終了する。一方、制御部111は、適切な2本のつる部直線を抽出できなかったと判定した場合には(ステップS99:NO)、図4のステップS11の処理に移行する。
なお、つる部直線抽出処理では、適切な2本のつる部直線(上エッジ直線200U、下エッジ直線200L)を抽出する処理の一例について説明したが、適切な2本のつる部直線を抽出する方法は個々で説明した方法以外の他の方法であっても構わない。
次に、図11のフローチャートを用いて、第2ピッチ角判定処理について説明する。第2ピッチ角判定処理は、つる部直線が2本のとき、それらの傾きから眼鏡向きのピッチ方向の角度を判定する処理である。
まず、ピッチ方向判定部18としての制御部111は、2本のつる部直線から眼鏡パターンを判定し、当該眼鏡パターンを示すパターン情報を生成する(ステップS111)。具体的には、2本のつる部直線の傾き又は2本のつる部直線の間隔の少なくとも何れかに基づいて、眼鏡パターンを判定する。例えば、上エッジ直線の傾きEと、下エッジ直線の傾きEがほぼ等しい(傾きの差が3度未満)場合にはパターンAであると判定する。また、EとEの差が3度以上8度未満である場合にはパターンBであると判定する。更に、EとEの差が8度以上15度未満である場合にはパターンCであると判定する。この根拠について以下説明する。
図12は、パターンBの眼鏡向きとつる部上エッジ直線200Uと下エッジ直線200Lの傾きの関係の一例を示す図である。図12では、つる部上エッジ直線200Uの傾きEと、つる部下エッジ直線200Lの傾きEの差は、次の通りとなる。
・ピッチ角上20度時:約7度〜約9度
・ピッチ角上10度時:約9度〜約10度
・ピッチ角0度時 :約8度〜約14度
・ピッチ角下10度時:約8度〜約15度
・ピッチ角下20度時:約10度〜約13度
つる部上エッジ直線200Uの傾きEと、つる部下エッジ直線200Lの傾きEの差が約7度〜約15度であれば、パターンBの眼鏡と判定することができる。同様に、図9で示したように、つる部上エッジ直線200Uの傾きEと、つる部下エッジ直線200Lの傾きEの差がほぼ同じ(約0度)であれば、パターンAの眼鏡と判定することができる。
図13は、パターンCの眼鏡向きとつる部上エッジ直線200Uと下エッジ直線200Lの傾きの関係の一例を示す図である。図13では、つる部上エッジ直線200Uの傾きEと、つる部上エッジ直線200Lの傾きEの差は、次の通りとなる。
・ピッチ角上20度時:約4度〜約5度
・ピッチ角上10度時:約7度〜約8度
・ピッチ角0度時 :約3度〜約7度
・ピッチ角下10度時:約3度〜約4度
・ピッチ角下20度時:約5度〜約6度
つる部上エッジ直線200Uの傾きEと、つる部下エッジ直線200Lの傾きEの差が約3度〜約7度であれば、パターンCの眼鏡と判定することができる。また、つる部上エッジ直線200Uの傾きEと、つる部下エッジ直線200Lの傾きEの差が約7度〜約8度のときは、ピッチ角情報を用いて眼鏡パターンを判定することができる(例えば、差が約7度でピッチ角上20度時では、パターンBの眼鏡、差が約7度でピッチ角10度時では、パターンCの眼鏡等)。
なお、眼鏡パターンを判定する処理は、1枚の画像だけで判定するのではなく、複数枚の画像を用いて判定することとしてもよく、そうした場合、判定精度が向上する。
また、2本のつる部直線の間隔に基づいて眼鏡のパターンを判定する場合には、間隔が一定の場合にはパターンAの眼鏡と判定し、一端の間隔と他端の間隔が異なり且つ当該間隔が閾値以上である場合にパターンBの眼鏡と判定し、一端の間隔と他端の間隔が異なり且つ当該間隔が閾値未満である場合にパターンCの眼鏡と判定することができる。
図11に戻り、制御部111は、過去に記憶したつる部直線傾き情報があるか否かを判定する(ステップS112)。過去がどの程度の過去であるかについては適宜設定することができ、例えば、1秒前であってもよいし、10fpsで撮影している場合の5枚前であってもよい(つる部直線傾き情報の記憶は、毎画像行ってもよいし、周期的(数フレーム毎)に行ってもよい)。また、つる部直線傾き情報とは、つる部直線情報に含まれる2本のつる部直線の傾きを示す情報である。制御部111は、過去に記憶したつる部直線傾き情報がないと判定した場合には(ステップS112:NO)、現在のつる部直線傾き情報を記憶部112に記憶させ(ステップS115)、ステップS116の処理に移行する。一方、制御部111は、過去に記憶したつる部直線傾き情報があると判定した場合には(ステップS112:YES)、過去のつる部直線の傾きと現在のつる部直線の傾きは異なるか否かを判定する(ステップS113)。具体的には、過去の2本のつる部直線同士の傾きの差と、現在の2本のつる部直線同士の傾きの差を比較し、タイプの異なる眼鏡であるか否かを判定する。
制御部111は、過去のつる部直線の傾きと現在のつる部直線の傾きが異なると判定した場合には(ステップS113:YES)、眼鏡の着脱あり(過去に掛けていた眼鏡のタイプと異なるタイプの眼鏡に掛け替えた)と判定し(ステップS114)、現在のつる部直線傾き情報を記憶部112に記憶させる(ステップS115)、ステップS116の処理に移行する。一方、制御部111は、過去のつる部直線の傾きと現在のつる部直線の傾きが異ならないと判定した場合には(ステップS113:NO)、ステップS116の処理に移行する。
次に、ピッチ方向判定部18としての制御部111は、2本のつる部直線の傾きに基づき、ピッチ角判定を行う(ステップS116)。
ここで、2本のつる部直線の傾きに基づくピッチ角判定について具体的に説明する。まず、図12を参照して、パターンBの眼鏡のピッチ角とつる部上エッジ直線と下エッジ直線の傾きについて検討する。制御部111は、つる部上エッジ直線の傾きをE、つる部下エッジ直線の傾きをEとすると、
・「E≧37[度]」且つ「E≧28[度]」 →上20度以上
・「28.5[度]≦E<37[度]」且つ「15[度]≦E<28[度]」 →上10度
・「10[度]≦E<28.5[度]」且つ「0[度]≦E<15[度]」 →上下0度
・「0[度]≦E<10[度]」且つ「−15[度]≦E<0[度]」 →下10度
・「E<0[度]」且つ「E<−15[度]」 →下20度未満
とそれぞれ条件判定することにより、眼鏡のピッチ角を判定することができる。
また、制御部111は、パターンCの眼鏡の場合も同様に、
・「E≧25.5[度]」且つ「E≧20[度]」 →上20度以上
・「20[度]≦E<25.5[度]」且つ「10[度]≦E<20[度]」 →上10度
・「0[度]≦E<20[度]」且つ「0[度]≦E<10[度]」 →上下0度
・「−10[度]≦E<0[度]」且つ「−10[度]≦E<0[度]」 →下10度
・「E<−10[度]」且つ「E<−10[度]」 →下20度未満
とそれぞれ条件判定することにより、眼鏡のピッチ角を判定することができる。
なお、パターンAについては、上エッジ直線200Uと下エッジ直線200Lの傾きはほぼ同一であるので、何れか一方のエッジ直線の傾きについてステップS74と同様の判定を行うことにより眼鏡のピッチ角を判定することができる。
また、一般的には、つる部上エッジ直線の傾きE、つる部下エッジ直線の傾きEに関する次の条件式から眼鏡のピッチ角を判定することができる。
・「E≧U2[度]」且つ「E>U2」 →上20度以上
・「U1[度]≦E<U2[度]」且つ「U1[度]≦E<U2[度]」→上10度
・「L1[度]≦E<U1[度]」且つ「L1[度]≦E<U1[度]」→上下0度
・「L2[度]≦E<L1[度]」且つ「L2[度]≦E<L1[度]」→下10度
・「E<L2[度]」且つ「E<L2[度]」 →下20度未満
(但し、U2>U1>L1>L2、U2>U1>L1>L2
なお、眼鏡(顔)のピッチ角が判定できれば、そのピッチ角のつるエッジの傾き情報を保存して、以後、上記条件式の閾値の設定に用いてもよい。
次に、制御部111は、ステップS116の処理で判定したピッチ角を、2本のつる部直線の傾きと対応付けて記憶部112に記憶させ(ステップS117)、第2ピッチ角判定処理を終了する。
次に、図14のフローチャートを用いて、ヨー角判定処理について説明する。ヨー角判定処理は、つる部直線の傾きから眼鏡向きのヨー方向の角度(ヨー角)を判定する処理である。
まず、ヨー方向判定部19としての制御部111は、ステップS74又はステップS116の処理で判定したピッチ角がヨー角を判定可能なピッチ角であるか否かを判定する(ステップS131)。これは、例えば、図15に示すように、上下0度時のつる部直線の傾きでは、ヨー角が変化しても、つる部直線の傾きが変化しないため、ヨー角の判定が困難であることに基づく。したがって、制御部111は、つる部直線の傾きが水平に近い場合には、ヨー角判定は行えないと判定する。
制御部111は、ヨー角を判定可能なピッチ角ではないと判定した場合には(ステップS131:NO)、ヨー角判定処理を終了する。一方、制御部111は、ヨー角を判定可能なピッチ角であると判定した場合には(ステップS131:YES)、次いで、2本のつる部直線でヨー角判定をするか否かを判定する(ステップS132)。
このとき、制御部111は、ステップS52の第1ピッチ角判定処理でピッチ角を判定した場合、又は第2ピッチ角判定処理でパターンAの眼鏡について上エッジ直線200U又は下エッジ直線200Lの何れか一方の直線に基づいてピッチ角を判定した場合には2本のつる部直線でヨー角判定をしない(すなわち、1本のつる部直線でヨー角判定をする)と判定し(ステップS132:NO)、1本のつる部直線の傾きに基づきヨー角を判定して(ステップS133)、ヨー角判定処理を終了する。
1本のつる部直線の傾きに基づきヨー角を判定する場合について説明する。ここでは、図9に基づいてパターンAの眼鏡についてヨー角を判定する場合について説明する。制御部111は、つる部直線の傾きをE1とすると、眼鏡のピッチ角が上下0度のとき、例えば、
・E1≧10[度] →眼鏡のヨー角左30度
・E1<10[度] →眼鏡のヨー角左40度以上
とそれぞれ条件判定することにより、眼鏡のヨー角を判定することができる。この例では、左40度と左50度で傾きの違いがあまり生じないため、E1<10[度]のときは、左40度以上となったが、傾きに違いのあるピッチ角が上下0度以外の場合では、左40度と左50度の判別も可能となる。
また、制御部111は、眼鏡のピッチ角が上10度のとき、例えば、
・E1≧25[度] →眼鏡のヨー角左30度
・20[度]≦E1<25[度] →眼鏡のヨー角左40度
・E1<20[度] →眼鏡のヨー角左50度
とそれぞれ条件判定することにより、眼鏡のヨー角を判定することができる。
一方、制御部111は、ステップS55の第2ピッチ角判定処理でパターンB又はパターンCの眼鏡についてピッチ角を判定した場合には2本のつる部直線でヨー角判定をすると判定し(ステップS132:YES)、2本のつる部直線の傾きに基づきヨー角を判定して(ステップS134)、ヨー角判定処理を終了する。
2本のつる部直線の傾きに基づきヨー角を判定する場合について説明する。ここでは、図12に基づいてパターンBの眼鏡についてヨー角を判定する場合について説明する。制御部111は、つる部上エッジ直線の傾きをE、つる部下エッジ直線の傾きをEとすると、眼鏡のピッチ角が上下0度のとき、例えば、
・「E≧25[度]」且つ「E>13[度]」 →眼鏡のヨー角左30度
・「18[度]≦E<25[度]」且つ「9[度]≦E<13[度]」→眼鏡のヨー角左40度
・「E<18[度]」且つ「E<9[度] →眼鏡のヨー角左50度
とそれぞれ条件判定することにより、眼鏡のヨー角を判定することができる
また、制御部111は、眼鏡のピッチ角が上10度のとき、例えば、
・「E≧34[度]」且つ「E>24[度]」 →眼鏡のヨー角左30度
・「30[度]≦E<34[度]」且つ「22[度]≦E<24[度]」→眼鏡のヨー角左40度
・「E<30[度]」且つ「E<22[度] →眼鏡のヨー角左50度
とそれぞれ条件判定することにより、眼鏡のヨー角を判定することができる
更に、制御部111は、眼鏡のピッチ角が上20度のとき、例えば、
・「E≧50[度]」且つ「E>40[度]」 →眼鏡のヨー角左30度
・「42[度]≦E<50[度]」且つ「33[度]≦E<40[度]」→眼鏡のヨー角左40度
・「E<42[度]」且つ「E<33[度] →眼鏡のヨー角左50度
とそれぞれ条件判定することにより、眼鏡のヨー角を判定することができる
更にまた、制御部111は、眼鏡のピッチ角が下20度のとき、例えば、
・「E<−12[度]」且つ「E<−23[度]」 →眼鏡のヨー角左30度
・「−12[度]≦E<−10[度]」且つ「−23[度]≦E<−20[度]」→眼鏡のヨー角左40度
・「E≧−10[度]」且つ「E≧−20[度]」 →眼鏡のヨー角左50度
とそれぞれ条件判定することにより、眼鏡のヨー角を判定することができる。
但し、眼鏡のピッチ角が下10度のときは、ヨー角が変化しても、E及びEに大きな変化はないためこの例では、ヨー角の判定はできない。
次に、図16のフローチャートを用いて、顔向き判定処理について説明する。なお、顔のヨー角は、眼鏡のヨー角と一致するので眼鏡のヨー角を顔のヨー角と判定する。顔向き判定処理では、顔のピッチ角を、眼鏡のピッチ角に基づいて判定する。
顔向き判定部21としての制御部111は、顔向き基準情報を参照し、ステップS74又はステップS116の処理で判定した眼鏡のピッチ角から顔のピッチ角を判定する(ステップS151)。一般的に眼鏡のピッチ角から顔のピッチ角を判定する場合、鼻あての位置や眼鏡の掛け方等から眼鏡のピッチ角と顔のピッチ角は一致しない。つる部直線の傾きがほぼ水平である場合でも、ある個人では顔向きが若干上向きであったり、ある個人では顔向きが若干下向きであったりする。そのため、眼鏡のピッチ角が上下0度の場合の顔のピッチ角を求めるための基準情報が必要となる。本実施例では、この基準情報を顔向き基準情報という。例えば、眼鏡のピッチ角が上下0度のときの顔のピッチ角が「+2度」の個人については、「+2度」という顔向き基準情報を生成する。そして、制御部111は眼鏡のピッチ角が上10度と判定した場合には、顔のピッチ角を上12度と判定する。なお、定期的に顔向き基準情報を補正することにより、眼鏡がズレても正しく顔のピッチ角を判定することができる。
次いで、方向情報生成部22としての制御部111は、顔の向き(ピッチ角及びヨー角)を示す顔方向情報を生成し(ステップS152)、顔向き判定処理を終了する。
以上説明したように、本実施例の判定装置Dは、制御部111(「検出手段」、「生成手段」の一例)が、眼鏡(「装着物」の一例)を装着した頭部を側面から撮影した画像における眼鏡のつる部(「特徴部」の一例)の傾きを検出し、検出したつる部の傾きから顔の向いている方向を示す顔方向情報を生成する。
したがって、本実施例の判定装置Dによれば、カメラCに対して顔が横方向を向いている場合でも、カメラCにより頭部を撮影された画像に基づいて顔の向いている方向を示す顔方向情報を作成することができる。
また、制御部111は、つる部の傾きから眼鏡の向いている方向を示す眼鏡方向情報(「装着物方向情報」の一例)を生成し、眼鏡が基準方向を向くときの顔が向いている方向を示す顔向き基準情報(「差分情報」の一例)に基づいて、眼鏡方向情報を補正して顔方向情報を生成する。これにより、眼鏡の向いている方向と顔の向いている方向が一致しない場合にも、正しい顔方向情報を生成することができる。
[5.変形例]
次に、上記実施例の変形例について説明する。なお、以下に説明する変形例は適宜組み合わせることができる。
[4.1.変形例1]
上記実施例では、制御部111が、つる部直線の傾きに基づいて顔の向きを判定したが、更につる部直線の長さを判定要素に加えて顔の向きを判定することとしてもよい。この変形例は、頭部におけるつる部が位置する面がカメラに正対するほど(例えば、顔を左に向けると右のつる部が位置する面がカメラに正対するほど)、画像におけるつる部直線が長くなることに基づく。具体的には、制御部111は、顔(眼鏡)のヨー角と画像におけるつる部直線の長さを対応付けて記憶部112に記憶させておき、検出したつる部直線の長さに対応する顔(眼鏡)のヨー角と、上記実施例で示したようにつる部直線の傾きに基づいて取得される顔(眼鏡)のヨー角とに基づいて最終的な顔(眼鏡)のヨー角を判定することとしてもよい。例えば、両方のヨー角の平均値を最終的なヨー角とすることができる。
[4.2.変形例2]
制御部111(「記憶制御手段111C」の一例)は、顔方向情報を生成した場合に、つる部直線の傾きを示す傾き情報と顔方向情報を対応付けて記憶部112(「記憶手段」の一例)に記憶させることとしてもよい。このとき、制御部111は、新たに検出したつる部直線の傾きとの差分が閾値以下である傾きを示す傾き情報が記憶部112に記憶されている場合に、当該傾き情報と対応付けて記憶されている顔方向情報を取得することとしてもよい。これにより、制御部111は、新たに検出されたつる部直線の傾きが、過去に顔方向情報を生成した際のつる部直線の傾きとほぼ同じ場合(差分が閾値以下の場合)には、新たに顔方向情報を生成しなくてすむため、つる部直線の傾きから顔方向情報を生成するための処理に係る処理負担を軽減することができる。
また、上記実施例では、制御部111はつる部直線(「特徴部のエッジを示す線」の一例)を検出し、2本のつる部直線を検出した場合に、2本のつる部直線の傾き及び2本のつる部直線の間隔の少なくとも一方に基づいて、眼鏡のパターンを示すパターン情報(「種類情報」の一例)を生成する。そこで、制御部111(「記憶制御手段」の一例)が、傾き情報及び顔方向情報にパターン情報を更に対応付けて記憶部112に記憶させ、新たにパターン情報を生成した場合に、記憶部112において当該生成したパターン情報と同じ種類を示すパターン情報が対応付けられている顔方向情報を取得することとしてもよい。これにより、眼鏡につる部の形状が異なる複数の種類があり、それぞれの種類を2本の線の傾き又は間隔の少なくとも何れかで特定できる場合に、種類毎に、つる部直線の傾きと顔方向情報を対応付けて記憶させることができる。したがって、過去に顔方向情報を生成した際の眼鏡と同種類の眼鏡を装着している場合において、新たに検出されたつる部直線の傾きが、過去に顔方向情報を生成した際のつる部直線の傾きとほぼ同じ場合には、新たに顔方向情報を生成しなくてすむため、つる部直線の傾きから顔方向情報を生成するための処理に係る処理負担を軽減することができる。
[4.3.変形例3]
制御部111(「記憶制御手段」の一例)は、生成した顔方向情報を記憶部112(「記憶手段」の一例)に記憶させ、新たに顔方向情報を生成する際に当該顔方向情報の示す方向として複数の候補が存在する場合に、所定期間内に記憶された少なくとも1の顔方向情報が示す方向に最も近い方向を示す顔方向情報を生成することとしてもよい。また、所定期間内に記憶された少なくとも1の顔方向情報として、最新の顔方向情報としてもよい。例えば、制御部111は、検出したつる部直線の傾きが閾値とほぼ同じ値の場合であり、当該閾値で区別される顔の向き(角度)の何れに判定する場合、記憶部112に記憶されている最新の顔方向情報が示す方向(角度)に近い角度を判定結果とする。これにより、顔方向情報の示す方向として複数の候補が存在する場合であっても、最新の顔方向情報の示す方向とかけ離れた方向を示す顔方向情報が生成されることを防止することができる。
[4.4.変形例4]
上記実施例では、眼鏡のつる部のエッジを示す直線の傾きに基づいて眼鏡(顔)の向きを判定するが、マスクの耳に掛ける紐のエッジを示す直線の傾きに基づいてマスク(顔)の向きを判定することとしてもよい。
[4.5.変形例5]
上記実施例では、眼鏡のピッチ角が上下0度の場合の顔のピッチ角を求めるための顔向き基準情報を用いて眼鏡方向情報を補正することにより、顔の向いている方向を示す顔方向情報を生成したが、つる部エッジ直線の傾きから顔の向いている方向(ピッチ角及びヨー角)を求めることとしてもよい。具体的には、実験により顔の向きを基準方向(例えば、ピッチ角0度、ヨー角30度)を基準に、ピッチ角及びヨー角を10度ずつ変化するように変えた場合の、つる部エッジ直線の傾きを計測して、当該ピッチ角及びヨー角と対応付けることにより、つる部エッジ直線の傾きから、顔の向いている方向(ピッチ角及びヨー角)を特定できるようにつる部エッジ直線の傾きについての閾値を設定しておくこととする。例えば、つる部上エッジ直線の傾きが15度以上35度未満であり、且つ、つる部下エッジ直線の傾きが7度以上20度未満の場合には、顔の向きはピッチ角10度、ヨー角30度であると判定するような傾きについての閾値を設定する。これを眼鏡のパターン毎に行うこととする。そして、制御部111は、つる部上エッジ直線及びつる部下エッジ直線の傾きを取得したら、閾値判定を行うことにより、顔の向いている方向を特定し、顔方向情報を生成することとする。これにより、つる部エッジ直線の傾きから直接的に顔方向情報を生成することができる。
また、カメラCを自動車のセンターコンソールに運転手の頭部を撮影できる向きに設置し、制御部111が、カメラCが撮影した画像に基づいて運転手の顔の向きを特定する場合についても同様に、運転手が正面(自動車の進行方向)を向いている場合の顔の向き(運転手の頭部を連続して撮影して、統計的に支配的な顔の向き)を基準方向(例えば、ピッチ角上10度、ヨー角20度。これらの角度は、カメラCを設置した際の仰角等から求められる)として、当該基準方向を基準に、顔の向きをピッチ角及びヨー角を10度ずつ変化するように変えた場合の、つる部エッジ直線の傾きを計測して、当該ピッチ角及びヨー角と対応付けることにより、つる部エッジ直線の傾きから、顔の向いている方向(ピッチ角及びヨー角)を特定できるようにつる部エッジ直線の傾きについての閾値を設定しておくこととする。これを眼鏡のパターン毎に行うこととする。この場合も、制御部111は、つる部エッジ直線の傾きを取得したら、つる部エッジ直線の傾きについての閾値判定を行うことにより、顔の向いている方向を特定し、顔方向情報を生成することとする。
[4.6.変形例6]
上記実施例では、眼鏡のつるのパターンがパターンA、パターンB、パターンCである場合について説明したが、これら以外のつるの形状が特殊なケースについて図17を用いて説明する。
図17(A)における符号301で示す眼鏡のつるは、上エッジ直線、下エッジ直線が検出できることから、上記実施例と同様の処理が可能である。図17(A)における符号303についても、エッジ直線が端にはないが、つる部中央部の複数本の水平な直線をエッジ直線として検出することにより、上記実施例と同様の処理が可能である。符号302、304で示すような特殊な眼鏡の場合でも、つる部から、上エッジ直線や下エッジ直線を検出することにより、上記実施例と同様の処理が可能である。例えば、図17(B)における符号302で示す眼鏡の場合、つる領域でエッジ検出を行い、それらのエッジに接する直線を求めれば、それらの直線が、眼鏡のつるの上エッジ直線200U、下エッジ直線200Lとなり、同様の処理が可能である。
1 情報生成装置
111A 検出手段
111B 生成手段
111C 記憶制御手段
111D 記憶手段
D 顔向き判定装置
111 制御部
112 記憶部
113 通信部
114 表示部
115 操作部

Claims (7)

  1. 装着物を装着した頭部を側面から撮影した画像における前記装着物の特徴部の傾きを検出する検出手段と、
    前記検出手段が検出した前記特徴部の傾きから顔の向いている方向を示す顔方向情報を生成する生成手段と、
    前記特徴部の傾きを示す傾き情報と生成された前記顔方向情報を対応付けて記憶手段に記憶させる記憶制御手段と、
    を備え、
    前記生成手段は、前記検出手段が検出した前記特徴部の傾きとの差分が閾値以下である傾きを示す前記傾き情報が前記記憶手段に記憶されている場合に、当該傾き情報と対応付けて記憶されている前記顔方向情報を取得することを特徴とする情報生成装置。
  2. 請求項1に記載の情報生成装置であって、
    前記生成手段は、前記特徴部の傾きから前記装着物の向いている方向を示す装着物方向情報を生成し、前記装着物が基準方向を向くときの前記顔が向く方向と前記基準方向との差分を示す差分情報に基づいて、前記装着物方向情報を補正して前記顔方向情報を生成することを特徴とする情報生成装置。
  3. 請求項1又は2に記載の情報生成装置であって、
    前記検出手段は、前記特徴部のエッジを示す線を検出し、
    前記生成手段は、前記検出手段が2本の前記線を検出した場合に、2本の前記線の傾き及び2本の前記線間の間隔の少なくとも一方に基づいて、前記装着物の種類を示す種類情報を更に生成し、
    前記記憶制御手段は、前記傾き情報及び前記顔方向情報に前記種類情報を更に対応付けて前記記憶手段に記憶させ、
    前記生成手段は、新たに種類情報を生成した場合に、前記記憶手段において当該生成した種類情報と同じ種類を示す前記種類情報が対応付けられている前記顔方向情報を取得することを特徴とする情報生成装置。
  4. 請求項1に記載の情報生成装置であって、
    前記生成手段が生成した前記顔方向情報を記憶手段に記憶させる記憶制御手段を更に備え、
    前記生成手段は、新たに顔方向情報を生成する際に当該顔方向情報の示す方向として複数の候補が存在する場合に、所定期間内に記憶された少なくとも1つの顔方向情報に基づいて顔方向情報を生成することを特徴とする情報生成装置。
  5. 情報生成装置が行う情報生成方法であって、
    装着物を装着した頭部を側面から撮影した画像における前記装着物の特徴部の傾きを検出する検出工程と、
    前記検出工程により検出した前記特徴部の傾きから顔の向いている方向を示す顔方向情報を生成する生成工程と、
    前記特徴部の傾きを示す傾き情報と生成された前記顔方向情報を対応付けて記憶手段に記憶させる記憶制御工程と、
    を含み、
    前記生成工程では、前記検出工程で検出した前記特徴部の傾きとの差分が閾値以下である傾きを示す前記傾き情報が前記記憶手段に記憶されている場合に、当該傾き情報と対応付けて記憶されている前記顔方向情報を取得することを特徴とする情報生成方法。
  6. コンピュータを、
    装着物を装着した頭部を側面から撮影した画像における前記装着物の特徴部の傾きを検出する検出手段、
    前記検出手段が検出した前記特徴部の傾きから顔の向いている方向を示す顔方向情報を生成する生成手段、
    前記特徴部の傾きを示す傾き情報と生成された前記顔方向情報を対応付けて記憶手段に記憶させる記憶制御手段、
    として機能させ、
    前記生成手段は、前記検出手段が検出した前記特徴部の傾きとの差分が閾値以下である傾きを示す前記傾き情報が前記記憶手段に記憶されている場合に、当該傾き情報と対応付けて記憶されている前記顔方向情報を取得することを特徴とする情報生成プログラム。
  7. コンピュータを、
    装着物を装着した頭部を側面から撮影した画像における前記装着物の特徴部の傾きを検出する検出手段、
    前記検出手段が検出した前記特徴部の傾きから顔の向いている方向を示す顔方向情報を生成する生成手段、
    前記特徴部の傾きを示す傾き情報と生成された前記顔方向情報を対応付けて記憶手段に記憶させる記憶制御手段、
    として機能させ、
    前記生成手段は、前記検出手段が検出した前記特徴部の傾きとの差分が閾値以下である傾きを示す前記傾き情報が前記記憶手段に記憶されている場合に、当該傾き情報と対応付けて記憶されている前記顔方向情報を取得する情報生成プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2017563651A 2016-01-29 2016-01-29 情報生成装置、情報生成方法、情報生成プログラム及び記録媒体 Active JP6697006B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/052786 WO2017130407A1 (ja) 2016-01-29 2016-01-29 情報生成装置、情報生成方法、情報生成プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JPWO2017130407A1 JPWO2017130407A1 (ja) 2018-11-15
JP6697006B2 true JP6697006B2 (ja) 2020-05-20

Family

ID=59397631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017563651A Active JP6697006B2 (ja) 2016-01-29 2016-01-29 情報生成装置、情報生成方法、情報生成プログラム及び記録媒体

Country Status (2)

Country Link
JP (1) JP6697006B2 (ja)
WO (1) WO2017130407A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021144260A (ja) 2018-06-15 2021-09-24 ソニーグループ株式会社 情報処理装置、情報処理方法、プログラム、および情報処理システム
US20220078338A1 (en) * 2018-12-28 2022-03-10 Sony Group Corporation Information processing apparatus, information processing method, and information processing program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4696571B2 (ja) * 2005-01-27 2011-06-08 日産自動車株式会社 眼位置検出装置
JP4445454B2 (ja) * 2005-10-20 2010-04-07 アイシン精機株式会社 顔中心位置検出装置、顔中心位置検出方法、及び、プログラム
JP4921486B2 (ja) * 2005-11-30 2012-04-25 シーイング・マシーンズ・プロプライエタリー・リミテッド 視覚的に頭と目を追跡するシステムにおける眼鏡の視覚的追跡
JP4912206B2 (ja) * 2007-04-18 2012-04-11 富士通株式会社 画像処理方法、画像処理装置、画像処理システム及びコンピュータプログラム
JP4728432B2 (ja) * 2008-01-16 2011-07-20 旭化成株式会社 顔姿勢推定装置、顔姿勢推定方法、及び、顔姿勢推定プログラム

Also Published As

Publication number Publication date
WO2017130407A1 (ja) 2017-08-03
JPWO2017130407A1 (ja) 2018-11-15

Similar Documents

Publication Publication Date Title
CN109804302B (zh) 用于确定眼镜镜片边缘的表示的方法和设备及计算机程序
KR101169533B1 (ko) 얼굴 자세 추정 장치, 얼굴 자세 추정 방법 및 얼굴 자세 추정 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
JP4445454B2 (ja) 顔中心位置検出装置、顔中心位置検出方法、及び、プログラム
WO2017013913A1 (ja) 視線検出装置、アイウェア端末、視線検出方法及びプログラム
JP6582604B2 (ja) 瞳孔検出プログラム、瞳孔検出方法、瞳孔検出装置および視線検出システム
JP4830650B2 (ja) 追跡装置
JP2018532199A5 (ja)
JP5024067B2 (ja) 顔認証システム、方法及びプログラム
US9443131B2 (en) Wrinkle detection apparatus and wrinkle detection method
JP4739870B2 (ja) サングラス検出装置及び顔中心位置検出装置
JP3926507B2 (ja) 目位置及び顔位置検出装置
JP2010033305A (ja) 画像情報処理方法、及び装置
JP2007280250A (ja) 顔認証システム
JP2010157073A (ja) 顔認識装置、顔認識方法及び顔認識プログラム
JP2004094491A (ja) 顔向き推定装置および顔向き推定方法ならびに顔向き推定プログラム
JP2000137792A (ja) 眼部検出装置
US20180174309A1 (en) Eye Motion Detection Method, Program, Program Storage Medium, and Eye Motion Detection Device
KR102460665B1 (ko) 응시 거리를 결정하는 방법 및 디바이스
JP6697006B2 (ja) 情報生成装置、情報生成方法、情報生成プログラム及び記録媒体
JP2016189135A (ja) 認識装置、認識方法及び認識プログラム
JP2009064395A (ja) ポインティングデバイス、操作者の注視位置とカーソルの位置との誤差の補正をコンピュータに実行させるためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4696571B2 (ja) 眼位置検出装置
WO2018032700A1 (zh) 跟踪指蹼位置的方法及其装置
JP2021043869A (ja) 画像処理方法、画像処理装置、及び画像処理プログラム
JP6510451B2 (ja) 画像内の人物の瞳孔領域を特定する特定装置、特定方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191001

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200423

R150 Certificate of patent or registration of utility model

Ref document number: 6697006

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350