JP2004341953A - 顔部位追跡装置 - Google Patents
顔部位追跡装置 Download PDFInfo
- Publication number
- JP2004341953A JP2004341953A JP2003139406A JP2003139406A JP2004341953A JP 2004341953 A JP2004341953 A JP 2004341953A JP 2003139406 A JP2003139406 A JP 2003139406A JP 2003139406 A JP2003139406 A JP 2003139406A JP 2004341953 A JP2004341953 A JP 2004341953A
- Authority
- JP
- Japan
- Prior art keywords
- face part
- search area
- face
- image
- reference face
- 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.)
- Pending
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
【課題】複数の顔部位の追跡に際し、処理時間及び検出精度の面で向上を図ることが可能な顔部位追跡装置を提供する。
【解決手段】この顔部位追跡装置1は、撮像部10、顔部位検出部20、配置関係取得部30及び顔部位追跡部40を備える。まず、撮像部10が被検出者の顔を撮像し、得られた撮像画像内から、顔部位検出部20が基準顔部位と他顔部位とを検出する。また、この際に配置関係取得部30は、各顔部位の配置関係情報を取得する。そして、顔部位追跡部40は、これら情報に基づき基準顔部位追跡用の基準顔部位探査領域として設定し、基準顔部位探査領域内から基準顔部位の位置を検出する。次いで、顔部位追跡部40は、基準顔部位の位置と配置関係情報とに基づいて撮像画像に対し他顔部位追跡用の他顔部位探査領域を設定し、他顔部位探査領域内から他顔部位の位置を検出する。
【選択図】 図1
【解決手段】この顔部位追跡装置1は、撮像部10、顔部位検出部20、配置関係取得部30及び顔部位追跡部40を備える。まず、撮像部10が被検出者の顔を撮像し、得られた撮像画像内から、顔部位検出部20が基準顔部位と他顔部位とを検出する。また、この際に配置関係取得部30は、各顔部位の配置関係情報を取得する。そして、顔部位追跡部40は、これら情報に基づき基準顔部位追跡用の基準顔部位探査領域として設定し、基準顔部位探査領域内から基準顔部位の位置を検出する。次いで、顔部位追跡部40は、基準顔部位の位置と配置関係情報とに基づいて撮像画像に対し他顔部位追跡用の他顔部位探査領域を設定し、他顔部位探査領域内から他顔部位の位置を検出する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、顔部位追跡装置に関する。
【0002】
【従来の技術】
従来、被検出者の顔を撮像して得られた撮像画像から、追跡の対象となる顔の部位(眼など)を検出し、顔部位を追跡していく顔部位追跡装置が知られている。この装置では、例えば、被検出者の顔の横幅から眼の存在領域の横方向位置を検出し、その後、所定の処理を行って眼の存在領域の縦方向位置を検出している(例えば特許文献1参照)。
【0003】
【特許文献1】
特開平04−24503号公報
【0004】
【発明が解決しようとする課題】
しかしながら、上記装置では、撮像画像の全体から所望する顔部位の存在領域を決定しているため、以下の問題点を有する。すなわち、時系列的に入力される撮像画像に基づいて顔部位を追跡していく場合、撮像画像の全体に対して処理を行わなければならず、処理時間が長くなってしまう。また、検出した顔部位が追跡対象となる顔部位か否かを判別するための処理も行わなければならず、検出精度に不安がある。
【0005】
そして、このような状況下、複数の顔部位を検出する場合には、上記処理時間及び検出精度の問題は一層顕著なものとなる。
【0006】
【課題を解決するための手段】
本発明によれば、被検出者の顔部位の動きを追跡する顔部位追跡装置であって、撮像手段は、被検出者の顔を撮像して、複数の顔部位のうち基準となる基準顔部位及び基準顔部位以外の他顔部位を含む撮像画像を取得し、基準顔部位探査領域設定手段は、取得した撮像画像内に、所定の情報に基づいて、画像全体よりも狭くされた基準顔部位追跡用の基準顔部位探査領域を設定し、基準顔部位位置検出手段は、基準顔部位探査領域設定手段により設定された基準顔部位探査領域内から、基準顔部位の位置を検出し、他顔部位探査領域設定手段は、基準顔部位位置検出手段により検出された基準顔部位の位置と、各顔部位の相対位置を示す配置関係情報とに基づいて、撮像画像に対し、画像全体よりも狭くされた他顔部位追跡用の他顔部位探査領域を設定し、他顔部位位置検出手段は、他顔部位探査領域設定手段により設定された他顔部位探査領域内から、他顔部位の位置を検出する。
【0007】
【発明の効果】
本発明によれば、所定の情報に基づいて、画像全体よりも狭くされた領域を基準顔部位追跡用の基準顔部位探査領域を設定している。また、他顔部位探査領域も画像全体より小さくされている。このため、これら探査領域の設定後においては、この領域内から顔部位を検出すればよく、画像全体から顔部位を検出する場合に比して、検出処理を迅速に行うことができる。
【0008】
また、他顔部位探査領域は基準顔部位の位置と配置関係情報とに基づいて設定されている。このため、他顔部位のおおよその位置を含んだ他顔部位探査領域を設定でき、他顔部位が存在する可能性の高い領域を設定することができる。
【0009】
従って、複数の顔部位の追跡に際し、処理時間及び検出精度の面で向上を図ることができる。
【0010】
【発明の実施の形態】
以下、本発明の好適な実施形態を図面に基づいて説明する。
【0011】
図1は、本発明の実施形態に係る顔部位追跡装置の構成を示す機能ブロック図である。同図に示すように、顔部位追跡装置1は、被検出者の顔を撮像し、得られた画像に基づいて、顔部位の動きを追跡するものであって、撮像部(撮像手段)10を備えている。また、顔部位追跡装置1は、顔部位検出部20と、配置関係取得部(配置関係取得手段)30と、顔部位追跡部40とを備えている。
【0012】
撮像部10は、被検出者の顔を撮像することにより、複数の顔部位のうち基準となる基準顔部位及び基準顔部位以外の他顔部位を含む撮像画像を取得するものである。また、撮像部10は、入力した撮像画像のデータを、顔部位検出部20及び顔部位追跡部40に送出する構成とされている。
【0013】
ここで、上記基準顔部位とは、被検出者の顔部位(眼や鼻や口など)のうちのいずれか1つの顔部位であり、後の処理の基準とされるものである。また、他顔部位は、基準顔部位以外の顔部位であって、例えば基準顔部位が左眼である場合の右眼や鼻や口などが該当する。
【0014】
顔部位検出部20は、入力した撮像画像の全体から複数の顔部位を検出するものである。また、顔部位検出部20は、配置関係取得部30及び顔部位追跡部40に接続されており、検出した複数の顔部位の位置情報をこれらに送出する構成とされている。
【0015】
配置関係取得部30は、顔部位検出部20等にて検出された複数の顔部位の位置に基づいて、配置関係情報を求めるものである。この配置関係情報とは、各顔部位の相対的位置を示すものである。より具体的には1の顔部位に対する他の顔部位の位置等を示すものであり、例えば、基準顔部位が左眼である場合に、左眼に対する右眼、鼻、口それぞれの位置を示すものである。
【0016】
顔部位追跡部40は、撮像部10、顔部位検出部20及び配置関係取得部30からの信号に基づいて、複数の顔部位の動きを追跡するものである。この顔部位追跡部40は、基準顔部位設定部41と、顔部位探査領域設定部42と、顔部位位置検出部43とを備えている。
【0017】
基準顔部位設定部41は、複数の顔部位から基準顔部位を選定するものである。すなわち、ここで選定されたものが基準顔部位となり、選定されなかったものが他顔部位となる。また、基準顔部位設定部41は、顔部位探査領域設定部42に接続されており、選定した基準顔部位の情報をこれに送出する構成とされている。
【0018】
顔部位探査領域設定部42は、撮像画像に対し、画像全体よりも狭い顔部位探査領域を設定するものである。また、顔部位探査領域設定部42は、顔部位位置検出部43に接続されており、これに探査領域の情報を送出する構成とされている。
【0019】
顔部位位置検出部43は、顔部位探査領域設定部42により設定された探査領域内から顔部位の位置を検出するものである。すなわち、顔部位位置検出部43は、画像全体よりも狭く設定された領域内から顔部位を検出するものである。従って、顔部位位置検出部43は、画像全体に対し顔部位を検出する顔部位検出部20よりも、迅速に検出処理が行えるようになっている。
【0020】
ここで、上記顔部位探査領域設定部42は、基準顔部位探査領域設定部(基準顔部位探査領域設定手段)42aと、他顔部位探査領域設定部(他顔部位探査領域設定手段)42bとを有している。
【0021】
基準顔部位探査領域設定部42aは、所定の情報に基づいて、画像全体よりも狭くされた基準顔部位追跡用の基準顔部位探査領域を設定するものである。また、基準顔部位探査領域設定部42aは、基準顔部位探査領域の設定後、この領域情報を顔部位位置検出部43に送出する構成とされている。
【0022】
顔部位位置検出部43は、基準顔部位位置検出部(基準顔部位位置検出手段)43aと、他顔部位位置検出部(他顔部位位置検出手段)43bとを備えている。
【0023】
基準顔部位位置検出部43aは、基準顔部位探査領域設定部42aにより設定された基準顔部位探査領域内から基準顔部位の位置を検出するものである。この基準顔部位位置検出部43aは、他顔部位探査領域設定部42bに接続されており、検出した基準顔部位の位置の情報をこれに送出する構成とされている。
【0024】
他顔部位探査領域設定部42bは、基準顔部位位置検出部43aからの基準顔部位の位置の情報を入力するものである。また、これに加えて他顔部位探査領域設定部42bは、配置関係取得部30から配置関係情報を入力する構成とされている。
【0025】
そして、他顔部位探査領域設定部42bは、入力した情報、すなわち基準顔部位の位置と配置関係情報とに基づいて、撮像画像に対し、画像全体よりも狭くされた他顔部位追跡用の他顔部位探査領域を設定する。さらに、他顔部位探査領域設定部42bは、設定後に、探査領域の情報を他顔部位位置検出部43bに送出する構成とされている。
【0026】
他顔部位位置検出部43bは、他顔部位探査領域設定部42bにより設定された他顔部位探査領域内から他顔部位の位置を検出するものである。ここで、上記他顔部位探査領域設定部42bにより設定された他顔部位探査領域は、他顔部位が存在する可能性が高いものとして設定されている。
【0027】
通常、被検出者の顔各部位の位置は、被検出者が顔の向きを変えることにより、撮像画像中において移動するが、相対位置(例えば眼に対する鼻の位置)はさほど変化しない。このため、複数の顔部位のうち1つでも位置が特定できれば、全ての顔部位の位置が特定できることとなる。
【0028】
ここで、他顔部位探査領域の設定時点においては、既に基準顔部位の位置が検出されている。故に、被検出者が顔をどのように動かしたとしても、基準顔部位の位置が定まっているので、他顔部位のおおよその位置を決定することができる。すなわち、基準顔部位の位置と配置関係情報とに基づくことで、他顔部位のおおよその位置を含んだ他顔部位探査領域を設定できることとなる。よって、他顔部位探査領域は、他顔部位が存在する可能性が高いものとなる。
【0029】
次に、顔部位追跡装置1の動作の概略について説明する。まず、顔部位追跡装置1は、取得した画像から複数の顔部位の位置を検出して、配置関係情報を求める。
【0030】
すなわち、撮像部10が被検出者の顔を撮像し、得られた画像データを顔部位検出部20に送信する。これを受けた顔部位検出部20は、画像全体から複数の顔部位の位置を検出する。そして、顔部位検出部20は、検出した複数の顔部位の位置情報を配置関係取得部30に送出する。
【0031】
位置情報を受けた配置関係取得部30は、検出された複数の顔部位の位置に基づいて、配置関係情報を求める。この際、配置関係取得部30は、配置関係情報として、複数の顔部位のうち1の顔部位とこれ以外の顔部位との画像縦方向距離及び横方向距離を求める。さらに、配置関係取得部30は、画像上において、1の顔部位から当該1の顔部位以外の顔部位へ向かう方向を求める。
【0032】
また、配置関係取得部30は、上記に限らず、画像上において1の顔部位と当該1の顔部位以外の顔部位とを結ぶ線分の長さを求め、この線分と画像所定方向との角度を求めるようにしてもよい。
【0033】
そして、配置関係取得部30は、配置関係情報を顔部位追跡部40に送出する。
【0034】
次に、顔部位検出装置1は、上記処理の後に、新たに撮像部10によって撮像された画像に対して顔部位の追跡を行っていく。
【0035】
すなわち、撮像部10が撮像画像を取得し、画像データを顔部位追跡部40に送信する。これを受けた顔部位追跡部40の基準顔部位設定部41は、例えば顔部位検出部20等により検出された各顔部位の位置などに基づいて、基準顔部位を選定する。そして、選定した基準顔部位の情報を顔部位探査領域設定部42の基準顔部位探査領域設定部42aに送出する。
【0036】
基準顔部位探査領域設定部42aは、画像全体よりも狭くされた基準顔部位追跡用の基準顔部位探査領域を設定する。このとき、基準顔部位探査領域設定部42aは、所定の情報に基づいて基準顔部位探査領域を設定する。ここで、所定の情報とは、過去に撮像画像から検出された基準顔部位の位置の情報である。すなわち、基準顔部位探査領域設定部42aは、例えば、前撮像画像以前の撮像画像における基準顔部位の位置を元に領域を定義し、この定義した領域を前記基準顔部位探査領域として設定する。なお、前撮像画像とは、前回の撮像処理により得られた撮像画像をいう。
【0037】
また、所定の情報は、過去に取得された2以上の撮像画像から求まる基準顔部位の移動量であってもよい。すなわち、基準顔部位探査領域設定部42aは、例えば、過去の撮像された2以上の撮像画像を解析し、基準顔部位の移動量を求める。そして、この移動量に基づく位置を中心位置として基準顔部位探査領域を設定する。
【0038】
さらに、基準顔部位探査領域の大きさは、例えば、被検出者が顔の向きを変えたときに、サンプリング時間中に基準顔部位が移動する移動量に基づいて、決定される。このサンプリング時間は、本装置1の撮像速度や画像処理速度等に依存するものであり、例えば1/30秒程度である。
【0039】
基準顔部位探査領域の設定後、基準顔部位探査領域設定部42aは、基準顔部位探査領域の情報を顔部位位置検出部43の基準顔部位位置検出部43aに送出する。
【0040】
領域の情報を受けた基準顔部位位置検出部43aは、設定された基準顔部位探査領域内から基準顔部位の位置を検出する。この検出は、例えば濃度値等の情報に基づいてなされる。そして、検出後、基準顔部位位置検出部43aは、基準顔部位の位置情報を他顔部位探査領域設定部42bに送出する。
【0041】
基準顔部位の位置情報を受けた他顔部位探査領域設定部42bは、検出した基準顔部位の位置と配置関係情報とに基づいて、撮像画像に対し、画像全体よりも狭くされた他顔部位追跡用の他顔部位探査領域を設定する。そして、他顔部位探査領域の設定後、他顔部位探査領域設定部42bは、設定した領域の情報を他顔部位位置検出部43bに送出する。
【0042】
そして、他顔部位位置検出部43bは、他顔部位探査領域内から他顔部位の位置を検出する。以後、本装置1は、撮像画像毎に上記位置検出を繰り返し、複数の顔部位を追跡していく。
【0043】
ここで、上記他顔部位探査領域の大きさは、基準顔部位探査領域以下の大きさとされることが望ましい。これは以下の理由による。
【0044】
基準顔部位探査領域は、過去の撮像画像における基準顔部位の位置等に基づいて設定されるものである。このため、過去から現在にかけて被検出者が顔を動かした場合には、過去の基準顔部位の位置に基づく基準顔部位探査領域内には、現時刻において基準顔部位が存在しないことがあり得る。従って、基準顔部位は、被検出者の顔の移動を考慮して、或る程度の大きさにしておく必要がある。
【0045】
一方、他顔部位探査領域は、上述のように、現撮像画像から検出された基準顔部位の位置に基づいて設定される。すなわち、他顔部位探査領域は、現在の情報に基づいて設定されるものであり、時間的な影響を受けないものといえる。そして、時間的影響を受けないことから、当然に過去から現在にかけて被検出者が顔を動かした場合にも何ら影響がないこととなる。
【0046】
故に、他顔部位探査領域は、被検出者が顔の動きを考慮する必要がない分だけ、基準顔部位探査領域よりも狭くすることが可能である。そして、本実施形態では、他顔部位探査領域の大きさを基準顔部位探査領域以下の大きさとすることで、処理速度の向上を図っている。
【0047】
なお、本装置1は、自動車、鉄道車両、船舶の被検出者やプラントのオペレータ等の顔部位追跡に用いることができるが、以下の説明においては、自動車の被検出者の顔部位追跡に適用した場合で説明する。また、以下の説明では、基準顔部位を被検出者の左眼とし、他顔部位を右眼として説明するが、これに限らず、基準顔部位及び他顔部位は眉、鼻、口、耳などであっても構わない。また、他顔部位は1つでなく複数であっても構わない。
【0048】
図2は、本発明の実施形態に係る顔部位追跡装置の示すハード構成図である。同図に示すように、撮像部10としてTVカメラ2が自動車のインストルメント上に設けられている。
【0049】
TVカメラ2は、被検出者を略正面から撮像できる位置に設置されており、少なくとも被検出者の顔部分を撮影するようにされている。このTVカメラ2の入力画像は、本実施形態では、例えば横方向(X)640画素、縦方向(Y)480画素からなる。
【0050】
前記TVカメラ2で撮像された入力画像は、インストルメント裏側など車体内部に設置されたマイクロコンピュータ3に画像データとして入力される。
【0051】
マイクロコンピュータ3には、顔部位検出部20、配置関係取得部30及び顔部位追跡部40を構成するプログラムロジックがプログラミングされている。なお、顔部位追跡部40のプログラムロジックは、基準顔部位設定部41、顔部位探査領域設定部42及び顔部位位置検出部43のそれぞれのロジックを含むものである。
【0052】
また、顔部位探査領域設定部42のプログラムロジックは、基準顔部位探査領域設定部42a、及び他顔部位探査領域設定部42bのロジックを含んでいる。さらに、顔部位位置検出部43のプログラムロジックは、基準顔部位位置検出部43a、及び他顔部位位置検出部43bのロジックを含んでいる。
【0053】
次に、本実施形態に係る顔部位追跡装置1の動作について説明する。図3は、本実施形態に係る顔部位追跡装置1の動作の概略を示すメインフローチャートである。同図に示すように、まず、処理が開始されると、マイクロコンピュータ3は、初期値入力処理を実行する(ST1)。この初期値入力の処理では、サンプリング時間などの各種定数が読み込まれる。
【0054】
そして、マイクロコンピュータ3は、全ての顔部位が見つかっているか否かを示す顔部位検出フラグ「GetFlag」を「FALSE」に設定する(ST2)。その後、マイクロコンピュータ3は、処理フレームカウンタ「i」を「0」に初期化する(ST3)。
【0055】
初期化後、マイクロコンピュータ3は、終了判断処理を実行する(ST4)。この際、マイクロコンピュータ3は、例えばエンジンが起動しているか等に基づいて判断を行う。
【0056】
そして、マイクロコンピュータ3は、「STOP」か否かを判断する(ST5)。例えばエンジンが起動されていないと判断した場合、マイクロコンピュータ3は、「STOP」であると判断し(ST5:YES)、処理は終了することとなる。
【0057】
一方、エンジンが起動され走行しているなどにより、「STOP」でないと判断した場合(ST5:NO)、マイクロコンピュータ3は、顔画像の撮像処理を実行する(ST6)。これにより、TVカメラ2は、被検出者の顔を撮像する。
【0058】
その後、マイクロコンピュータ3は、顔部位検出フラグ「GetFlag」が「FALSE」か否かを判断する(ST7)。すなわち、全ての顔部位が見つかっているか否かを判断する。
【0059】
顔部位検出フラグ「GetFlag」が「FALSE」であり、いずれかの顔部位が見つかっていないと判断した場合(ST7:YES)、マイクロコンピュータ3は、顔部位検出処理を実行する(ST8)。このステップST8の処理は、主として、図1にて説明した顔部位検出部20にて行われる処理である。すなわち、マイクロコンピュータ3は、顔部位検出部20に相当するプログラムを実行することとなる。なお、この処理において、全ての顔部位が見つけられた場合には、後述するが、顔部位検出フラグ「GetFlag」が「TRUE」とされることとなる。
【0060】
顔部位検出処理の実行後、マイクロコンピュータ3は、処理フレームカウンタ「i」をインクリメントする(ST9)。そして、処理は、ステップST4に戻る。
【0061】
その後、上記したステップST4〜ST6を経て、ステップST7に至る。このとき、前述の顔部位検出処理(ST8)において、全ての顔部位が見つけられていた場合には、顔部位検出フラグ「GetFlag」が「TRUE」となっている。
【0062】
このため、顔部位検出フラグ「GetFlag」が「FALSE」でないと判断されて(ST7:NO)、マイクロコンピュータ3は追跡処理を実行する(ST10)。このステップST10の処理は、主として図1にて説明した顔部位追跡部40にて行われる処理である。すなわち、マイクロコンピュータ3は、顔部位追跡部40に相当するプログラムを実行する。そして、顔部位の追跡が行われる。
【0063】
その後、処理はステップST9に移行し、処理フレームカウンタをインクリメント後、再度処理はステップST4に戻る。以上の処理が、ステップST5にて「YES」と判断されるまで繰り返されることとなる。
【0064】
なお、図1を参照して説明したように、顔部位検出部20は、撮像画像全体に対して処理を行い、複数の顔部位を検出する。一方、顔部位追跡部40は、撮像画像に領域を設定し、その領域内から基準顔部位又は他顔部位を検出していくようにしている。
【0065】
このため、本装置1は、少なくとも一度は画像全体に対して処理を行うものの、その後は画像の一部に対して処理を行うこととなり、常に画像全体に処理を行う装置に比して、迅速な処理を行うことができる。
【0066】
次に、顔部位検出処理(ST8)の詳細な動作について説明する。図4は、図3に示した顔部位検出処理(ST8)の詳細な動作を示すフローチャートである。
【0067】
同図に示すように、ステップST7にて「YES」と判断された場合、マイクロコンピュータ3は、顔部位である可能性を有する候補の位置の特定処理を実行する(ST11)。この処理により、画像全体から候補の位置が1又は複数特定される。具体的には、画像全体から左眼及び右眼である可能性を有する候補の位置が1又は複数特定される。
【0068】
その後、マイクロコンピュータ3は、候補の選定処理を行う(ST12)。この処理は、ステップST11において選定された1又は複数の候補のうち、後述のステップST14における判定の対象となるものを選定する処理である。
【0069】
一方、この処理により選定されなかったものは、判定の対象から除外されることとなる。例えば、既に左眼であることがわかっている候補については判定を行う必要がない。このため、本処理では、上記特定された候補のうち、顔部位であることが明らかなものについて除外している。
【0070】
従って、本装置1の起動時には、左眼又は右眼であることが明らかな候補がないものの、処理が行われ左眼又は右眼が特定されると、その候補は除外されていくこととなる。
【0071】
その後、マイクロコンピュータ3は、判定する顔部位の設定処理を行う(ST13)。すなわち、マイクロコンピュータ3は、左眼と右眼とのうち先に特定するものを選択し、選択した左眼又は右眼の判定用パラメータを設定する。
【0072】
設定処理終了後、マイクロコンピュータ3は、顔部位判定処理を実行する(ST14)。すなわち、ステップST11により特定された候補であって、且つステップST12にて除外されなかったもののうち1つを対象とし、その1つがステップST13にて選択された所望する顔部位であるか否かを判断する。
【0073】
その後、マイクロコンピュータ3は、顔部位判定処理(ST14)の結果に基づいて候補が所望する顔部位であったと判定されたか否かを判断する(ST15)。
【0074】
所望する顔部位であったと判定されていなかった場合(ST15:NO)、マイクロコンピュータ3は、ステップST11にて特定され及びステップST12において除外されなかった候補のすべてについて判定したか否かを判断する(ST19)。
【0075】
すべてについて判定した場合(ST19:YES)、処理は図3のステップST9に移行する。一方、すべてに対して判定していない場合(ST19:NO)、処理はステップST14に戻る。
【0076】
そして、マイクロコンピュータ3は、ステップST14にて、他の候補を選択し、再度、選択した候補が所望する顔部位であるか否かを判断する。
【0077】
ところで、ステップST15において、所望する顔部位であると判定されていた場合(ST15:YES)、マイクロコンピュータ3は、検出対象となる顔部位のすべてを判定し終えたか否かを判断する(ST16)。すなわち、左眼及び右眼の双方について候補との判定し終えたか否かを判定する。
【0078】
すべての検出対象について判定し終えていないと判断した場合(ST16:NO)、処理はステップST12に戻る。一方、すべてを判定し終えたと判断した場合(ST16:YES)、マイクロコンピュータ3は、顔部位検出フラグ「GetFlag」を「TRUE」にする(ST17)。
【0079】
その後、マイクロコンピュータ3は、各顔部位の位置関係の取得処理を行う(ST18)。すなわち、配置関係情報を取得する。なお、このステップST18の処理は、図1にて説明した配置関係取得部30にて行われる処理である。すなわち、マイクロコンピュータ3は、配置関係取得部30に相当するプログラムを実行することとなる。そして、処理は図3のステップST9に移行する。
【0080】
ここで、全ての顔部位、特に2つ以上の顔部位が見つかっていない場合には、配置関係情報を求めることができない。このため、マイクロコンピュータ3は、ステップST18において他の処理を行う。例えば、配置関係情報を求めず、「GetFlag」を「FALSE」に設定する処理などである。
【0081】
以上のようにして、本装置1では、顔部位である可能性を有する1又は複数の候補を特定し、特定された1又は複数の候補を1つずつ判定して被検出者の複数の顔部位を検出している。なお、顔部位である可能性を有する候補を特定する処理(ステップST11の処理)は、以下のようにして行われる。
【0082】
図5は、図4に示した候補位置特定処理(ST11)の詳細を示すフローチャートである。同図において、まず、マイクロコンピュータ3は、撮像した画像のデータ全体を、全体画像として画像メモリに保存する(ST21)。
【0083】
次に、マイクロコンピュータ3は、ステップST22の判断を行う。この判断については後述する。ステップST22において「NO」と判断された場合、マイクロコンピュータ3は、全体画像の縦方向(Y軸方向)の画素列のうち1ラインのみに沿って濃度値の相加平均演算を行う(ST23)。
【0084】
この相加平均演算は、例えば縦方向に並ぶ所定数の画素について、濃度の平均値を求め、所定数の画素のうちの1画素の濃度値を前記平均値とする処理である。例えば、所定数が「5」である場合、画面上方から1〜5番目に位置する画素を選択して平均値を求め、この平均値を5番目の画素の濃度値とする。次に、画面上方から2〜6番目に位置する画素を選択して平均値を求め、この平均値を6番目の画素の濃度値とする。そして、これを順次繰り返し、1ラインすべての画素について濃度の平均値を求める。
【0085】
このように相加平均演算することで、本装置1は、画像データ撮影時の濃度値の変化の小さなバラツキを無くすことができ、濃度値の大局的な変化を捉えることができる。
【0086】
相加平均演算後、マイクロコンピュータ3は、縦方向に相加平均値の微分演算を行う(ST24)。そして、マイクロコンピュータ3は、微分値に基づいてポイント抽出を行う(ST25)。このポイント抽出とは、縦方向の画素列に沿って画素濃度の相加平均値の局所的な高まり毎に1個ずつの画素を定める処理であって、例えば相加平均値の微分値が負から正に変化する画素を定める処理である。
【0087】
ポイントとなる画素を定めた後、マイクロコンピュータ3は、現在ポイント抽出していたラインを次ラインへ切り替える(ST26)。
【0088】
そして、マイクロコンピュータ3は、縦方向の全ラインでのポイント抽出が終了したか否かを判断する(ST22)。全ラインでのポイント抽出が終了していないと判断した場合(ST22:NO)、前述のステップST23〜ST26の処理を経て、再度ステップST22に戻る。
【0089】
一方、全ラインでのポイント抽出が終了したと判断した場合(ST22:YES)、隣り合う各ラインの抽出ポイントのY座標値を比較する。そして、Y座標値が所定値以内の場合、連続データとして、(i)連続データのグループ番号、(ii)連続開始ライン番号、及び(iii)連続データ数をメモリする。また、(iv)連続データを構成する各抽出ポイントの縦方向位置の平均値(その連続データの代表上下位置)、及び(v)連続開始ラインと終了ラインの横方向位置の平均値(その連続データの代表左右位置)をメモリする(ST27)。
【0090】
なお、本実施形態では、顔部位を眼としているため、連続データは横方向比較的長く延びるものとなる。このため、マイクロコンピュータ3は、連続データ形成後、横方向に所定値以上続くことを条件に連続データを選択することができる。
【0091】
その後、マイクロコンピュータ3は、各連続データについて代表座標値Cを定め、これを基準として存在領域EAを設定する(ST28)。この代表座標値Cとは、ステップST27の処理において、メモリされたX座標値の平均値及びY座標値の平均値により決定するものである(上記iv,vに示す平均値)。なお、存在領域EAについては、図6〜図10を参照して後述する。
【0092】
代表座標値Cを定めて存在領域EAを設定した後、処理は、図4のステップST12に移行する。以上が、顔部位の候補位置特定処理(ST11)である。以上のようにして、求められた連続データが候補となり、連続データの代表座標値Cが候補の位置(候補点)となる。
【0093】
なお、上記処理の詳細は、特開平10−40361号公報、及び特開平10−143669号公報にも記載されている。
【0094】
次に、縦方向の画素列ごとに定められた抽出ポイントが画像横方向に隣接する場合に形成される連続データ、その連続データの代表座標値C及び存在領域EAについて説明する。
【0095】
図6は、図5に示したステップST27の処理にて形成される連続データ、並びにステップST28の処理にて定められる代表座標値C及び存在領域EAを示す説明図である。なお、顔部位候補位置特定処理(ST11)は、1又は複数の顔部位候補を特定するものであるが、図6では複数の顔部位候補が特定された場合を例に説明する。
【0096】
同図に示すように、マイクロコンピュータ3は、複数の連続データGを形成している。これは、眼を検出対象としているため、眼と似た特徴量を示すもの(口、鼻、眉毛など)が検出されるためである。
【0097】
連続データGは、前述したように、縦方向の画素列ごとに定められた抽出ポイントが画像横方向に隣接する場合に形成されるものである。そして、この連続データを形成する横方向両端の画素のX座標値の平均値と、連続データを形成する各画素のY座標値の平均値により、代表座標値Cが決定される。さらに、存在領域EAは、この代表座標値Cを基準として設定される。
【0098】
次に、存在領域EAの設定方法を説明する。図7は、図6に示した存在領域EAの大きさを示す説明図であり、図8及び図9は数人の眼の大きさを調べた横Xa、縦Yaの長さの統計データを示す説明図であり、図10は存在領域EAの画像上の位置を決定する方法を示す説明図である。
【0099】
存在領域EAの設定は、存在領域EAの大きさが決定され、その後、存在領域EAの画像上における位置が定められることでなされる。
存在領域EAの大きさは、ノイズ(顔の皺や明暗などを抽出してしまう)の低減や処理速度を落とさないためにも、可能な限り小さい領域が良い。本実施形態では、数人の顔部位の大きさを調べ、それに余裕分(例えば×1.5倍)を加味して、存在領域EAの大きさを決定している。すなわち、図8及び図9のように、顔部位の縦横寸法のデータを集め、その分布の例えば95%をカバーする寸法に余裕分を考慮して決定する方法を採用している。
【0100】
そして上記95%をカバーする寸法、すなわち横寸法xa、縦寸法yaに余裕分(×1.5)を加味して決定している(図7)。なお、存在領域EAの大きさについては、画像処理により顔部位の幅や高さを推定し、縦横の大きさに余裕分を加える大きさとしてもよい。
【0101】
このように存在領域EAの大きさが決定された後、マイクロコンピュータ3は、図10に示すように、例えば眼の座標値(x1,y1)を基準に、基準点Pを決める。基準点Pは、眼の座標値(x1,y1)から距離x2,y2だけ離れた位置に定められるものである。
【0102】
そして、マイクロコンピュータ3は、点Pを基準に存在領域EAの寸法x3,y3を描画する。これにより、存在領域EAの位置が決定される。その後、画像全体で見つかった連続データGすべてについて存在領域EAを設定する。
【0103】
なお、上記のx2及びy2はx3,y3の1/2であって、予め存在領域EAが眼の中心にくるような長さとすることが望ましい。
【0104】
以上の図5〜図10の処理により、図4の顔部位候補位置特定処理(ST11)がなされる。
【0105】
次に、図4の顔部位判定処理(ST14)について説明する。図11は、図4に示した顔部位判定処理(ST14)の詳細を示すフローチャートである。なお、図11においては、左眼を検出する場合の処理を説明する。
【0106】
まず、マイクロコンピュータ3は、図5の処理にて求められた左眼の存在領域EAの画像データを微少画像IGとして画像メモリに保存する(ST31)。全体画像と画像メモリに保存される微小画像IGとの状態を図12に示す。図12は、微小画像を示す説明図である。図12に示すように、マイクロコンピュータ3は、全体画像から左眼の存在領域EA内の画像を抽出し、微小画像IGとしている。
【0107】
再度、図11を参照して説明する。マイクロコンピュータ3は、全体画像の代表座標値Cを微少画像IGの代表座標値ICとする。そして、マイクロコンピュータ3は、微少画像IGの代表座標値ICを基準とした範囲ARを設定し、範囲ARの濃度情報をもとに二値化閾値を設定する(ST32)。
【0108】
範囲ARでの二値化閾値の算出方法の一例を、図13を参照して説明する。図13は、範囲ARでの二値化閾値の算出方法の説明図である。まず、マイクロコンピュータ3は、範囲ARにおいて縦方向に数ラインの濃度値の読み出しを行う。
【0109】
そして、マイクロコンピュータ3は、各ラインにおいて濃度値の最も高い(明るい)濃度値と、最も低い(暗い)濃度値をメモリしていく。全ラインのメモリが終了したら、マイクロコンピュータ3は、各ラインの最も高い(明るい)濃度値の中で、一番低い濃度値(皮膚の部分)と、各ラインの最も低い(暗い)濃度値の中で、一番低い濃度値(眼の部分)とを求める。そして、その中央値を二値化閾値とする。
【0110】
なお、上記した範囲ARは、好適に二値化閾値を決定するため、眼の黒い部分と眼の周囲の皮膚の白い部分が入るように設定される。また、範囲ARは、画像の明るさのバラツキによる影響を少なくするために必要最小限の大きさにされる。
【0111】
さらに、二値化閾値は、範囲AR内の眼の一番低い(暗い)濃度値と、皮膚の部分の一番低い(暗い)濃度値の中央値とすることで、皮膚の部分から眼の部分を切り出すのに適した値になる。
【0112】
ここで、二値化閾値を決定するのに皮膚部分における一番低い(暗い)濃度値を用いている理由は、次の通りである。例えば、範囲ARの一部に直射光が当たっている場合、皮膚部分は、眼球の黒色部分に比して、光を強く反射する傾向にある。このため、本装置1は、多くのノイズともいえる光を入力してしまうこととなる。
【0113】
この場合、濃度値を読み出す範囲ARを極力小さくしても、画像がノイズ光による影響を受け、本装置1は正確な二値化閾値を決定できなくなってしまう。このため、本実施形態では、強く反射している可能性がある濃度値の高い部分を用いず、皮膚の部分の濃度値の一番低い(暗い)濃度値を用いることで、より適切な二値化閾値を決定できるようにしている。
【0114】
再度、図11を参照して説明する。二値化閾値の決定後、マイクロコンピュータ3は、決定した二値化閾値を用いて微少画像IGを二値化処理し、二値画像bGとして画像メモリに保存する(ST33)。
【0115】
次に、マイクロコンピュータ3は、全体画像の代表座標値Cを二値画像bGの位置bCとし、この位置bCを初期位置として設定する(ST34)。その後、マイクロコンピュータ3は、設定位置が黒画素か否かを判断する(ST35)。ここでは、ステップST35において設定された初期位置が黒画素か否か判断される。
【0116】
そして、設定位置が黒画素でないと判断した場合(ST35:NO)、マイクロコンピュータ3は、設定位置を上下左右に1画素ずつずらす(ST36)。その後、マイクロコンピュータ3は、再度、設定位置が黒画素か否かを判断する。ここでは、ステップST36においてずらされた設定位置が黒画素か否か判断される。そして、黒画素と判断されるまで、この処理が繰り返される。
【0117】
一方、設定位置が黒画素であると判断した場合(ST35:YES)、マイクロコンピュータ3は、その黒画素の連結成分を候補オブジェクトとして設定する(ST37)。そして、マイクロコンピュータ3は、候補オブジェクトの幾何形状を算出する(ST38)。
【0118】
算出後、マイクロコンピュータ3は、予め記憶している左眼のテンプレートの幾何形状と候補オブジェクトの幾何形状とを比較する(ST39)。候補オブジェクトと左眼のテンプレートとの幾何形状の比較方法の一例を、図14を参照して説明する。
【0119】
図14は、候補オブジェクトと顔部位である左眼のテンプレートとの幾何形状の比較方法の説明図であり、(a)は候補オブジェクトが最適な状態で撮像された場合を示し、(b)は左眼の右側が欠けた状態を示し、(c)は左眼の左側が欠けた状態を示している。
【0120】
左眼の画像を二値化した形状は光環境が良く安定した画像であれば図14(a)に示すようなものになる。ところが、車室内に直射日光が一側から当たる等して光環境が悪化したときには、図14(b)及び(c)に示すように、一部が欠けた形状になることもある。
【0121】
マイクロコンピュータ3は、上記のような候補オブジェクトを正確に判断するために、3つの条件により比較判断を行う。まず、条件(i)としては、横幅が眼の相場値の2/3以上あり、且つ上に凸の所定範囲の曲率を持っていることである。次に、条件(ii)としては、黒眼の左側の凹み形状があることである。また、条件(iii)としては、黒眼の右側の凹み形状があることである。
【0122】
再度、図11を参照して説明する。幾何形状の比較後、マイクロコンピュータ3は、上記3つの条件に基づき、比較判断を行い、候補オブジェクトと左眼テンプレートとの幾何形状が一致するか否かを判断する(ST40)。ここで、図14(b)及び(c)のように眼の形状の一部が欠けている場合を考慮し、マイクロコンピュータ3は、条件(i)及び(ii)を満たすもの、並びに条件(ii)及び(iii)を満たすものを一致すると判断する。
【0123】
一致しないと判断した場合(ST40:NO)、マイクロコンピュータ3は、その候補オブジェクトが左眼でないと判定し(ST41)、その後、処理は、図4のステップST15に移行する。
【0124】
一方、一致すると判断した場合(ST40:YES)、マイクロコンピュータ3は、その候補オブジェクトが左眼であると判定する(ST42)。そして、判定された候補オブジェクトの座標値(全体画像における代表座標値Cに相当する)を、画像上における左眼の座標値としてメモリする(ST43)。
【0125】
その後、マイクロコンピュータ3は、一致と判断された候補オブジェクトを含む微小画像IGを顔部位画像MGiとして、画像メモリに保存する(ST44)。そして、処理は、図4のステップST15に移行する。
【0126】
なお、図11の処理では、二値化閾値を用いて二値化した候補オブジェクトを検出している。このため、本実施形態では、眼の部分と他の部分(背景や眼以外の顔部分)とを明確に区別し、眼を正確に捉えることができる。さらには、候補オブジェクトの幾何形状を用いた判定をより正確に行うことができ、眼の位置検出精度をより向上させることができる。
【0127】
以上、図4〜図14を参照して説明したように、マイクロコンピュータ3(顔部位検出部20)は、入力した画像全体から、左眼を検出することとなる。なお、図11では、左眼を検出する場合を説明しているが、右眼についても同様である。
【0128】
次に、図4に示した配置関係情報を取得処理(ST18)の詳細を図15及び図16を参照して説明する。
【0129】
例えば、配置関係取得部30は、配置関係情報として、複数の顔部位のうち1の顔部位と当該1の顔部位以外の顔部位との画像縦方向及び横方向の距離、並びに画像上において1の顔部位から1の顔部位以外の顔部位へ向かう方向を求める。図15は、配置関係取得部30が左右の眼間の画像縦方向及び横方向の距離と方向とを求める場合の様子を示す説明図である。
【0130】
同図に示すように、配置関係取得部30は、顔部位検出部20により検出された顔部位である左眼及び右眼の位置に基づいて、距離を求める。例えば、左眼の画像上における座標が(XL,YL)であり、右眼の画像上における座標が(XR,YR)であるとする。このとき、配置関係取得部30は、各顔部位の画像横方向の距離として「XL−XR」という値を取得し、縦方向の距離として「YL−YR」という値を取得する。なお、「XL−XR」等を絶対値として求めないのは、画像上において左眼から右眼に向かう方向を求めるためである。
【0131】
また、配置関係取得部30は、配置関係情報として、画像上において顔部位を結んだときの線分の長さ、及びその線分と画像所定方向とが為す角度を求めてもよい。図16は、配置関係取得部30が各顔部位間の線分の長さ及び所定方向と為す角度を求める場合の様子を示す説明図である。
【0132】
同図に示すように、配置関係取得部30は、顔部位検出部20により検出された顔部位である左眼及び右眼の位置に基づいて、距離を求める。同様に、左眼の画像上の座標位置が(XL,YL)であり、右眼の画像上の座標位置が(XR,YR)であるとする。このとき、配置関係取得部30は、画像上において各顔部位を結んだ線分の長さとして、「{(XL−XR)2+(YL−YR)2}1/2」という値を取得する。また、所定方向を画像横方向、すなわち水平方向とした場合、線分と画像所定方向とが為す角度として「arctan{(YL−YR)/(XL−XR)}」という値を取得する。
【0133】
以上のようにして、配置関係取得部30は、配置関係情報を取得する。そして、前述したように、顔部位検出フラグ「GetFlag」が「TRUE」とされた場合には、図3に示すように、顔部位追跡処理(ST10)が実行される。
【0134】
図17は、図3に示した追跡処理(ST10)の詳細を示すフローチャートである。同図に示すように、ステップST7にて「NO」と判断された場合、マイクロコンピュータ3は、基準顔部位の設定処理を行う(ST51)。これにより、基準顔部位として左眼が選定される。
【0135】
なお、このステップST51の処理は、図1に示した基準顔部位設定部41にて行われる処理である。すなわち、マイクロコンピュータ3は、基準顔部位設定部41に相当するプログラムを実行することとなる。
【0136】
基準顔部位の選定後、マイクロコンピュータ3は、基準顔部位探査領域の設定処理を実行する(ST52)。このステップST52の処理は、図1に示した基準顔部位探査領域設定部42aにて行われる処理である。すなわち、マイクロコンピュータ3は、基準顔部位探査領域設定部42aに相当するプログラムを実行することとなる。図18〜図19を参照して、基準顔部位探査領域の設定処理を説明する。
【0137】
図18は、基準顔部位探査領域の設定処理(ST52)の詳細を示すフローチャートである。同図に示すように、マイクロコンピュータ3は、基準顔部位探査領域の位置を設定する(ST61)。ここでは、例えば、顔部位検出部20等により検出された過去の基準顔部位の位置に基づいて、基準顔部位探査領域の中心位置が設定される。
【0138】
より具体的には、前撮像画像(前回の撮像処理により得られた撮像画像をいう。以下同じ。)以前の撮像画像おける基準顔部位の位置から求められた基準顔部位のフレーム間移動量に従って、基準顔部位探査領域の中心位置が設定される。フレーム間移動量とは、上述したサンプリング時間中の移動量をいう。
【0139】
さらに詳細に説明すると、まず、マイクロコンピュータ3は、前回及び前々回の撮像画像から基準顔部位の移動量を求める。その後、前回の基準顔部位の位置に移動量を加えて、今回の基準顔部位の位置を推定する。そして、マイクロコンピュータ3は、推定した位置を基準顔部位探査領域の中心位置とする。
【0140】
以上のようにして、中心位置を設定すると、マイクロコンピュータ3は、基準顔部位探査領域の大きさを設定する(ST62)。そして、マイクロコンピュータ3は、設定した中心位置及び大きさで基準顔部位探査領域を設定する(ST63)。
【0141】
ここで、基準顔部位探査領域の大きさは以下のようにして決定される。図19は、図18に示した顔部位探査領域の大きさ設定処理(ST63)の説明図であり、(a)は時刻t0において撮像された画像を示し、(b)は時刻t1において撮像された画像を示し、(c)は時刻t2において撮像された画像を示し、(d)は時刻t3において撮像された画像を示し、(e)はこれらの画像上の左眼位置を一画像上で表した場合を示している。
【0142】
被検出者が顔の向きを変える場合、まず、時刻t0において図19(a)に示す画像が撮像される。このとき、被検出者は、ほぼ正面を視認している。その後、時刻t1において、図19(b)に示す画像が撮像される。このとき、被検出者は、サイドミラー等を確認すべく、顔を右(図19においては左側)に向け始める。顔の向きを右に向け始めたことから、被検出者の左眼の位置は、右側へ移動することとなる。
【0143】
そして、時刻t2において、図19(c)に示す画像が撮像される。このとき、被検出者は、時刻t1よりも、さらに顔を右に向けている。このため、左眼の位置は、さらに右側へ移動することとなる。
【0144】
その後、時刻t3において、図19(d)に示す画像が撮像される。このとき、被検出者は、サイドミラー等を確認しており、顔を最も右側に向けた状態となっている。故に、左眼の位置は、最も右側へ移動したこととなる。
【0145】
そして、図19(e)に示すように、時刻t0からt3に向かって、これら画像上の左眼の位置が徐々に移動していることがわかる。基準顔部位探査領域の大きさは、これら時刻t0〜t3までの各期間(t0〜t1,t1〜t2,t2〜t3)に移動する左眼位置が含まれるように設定される。
【0146】
さらに、基準顔部位探査領域の大きさは、被検出者が顔の向きを変えたときとして、被検出者が顔を上下左右に振っているときに基づいて、設定されることが望ましい。例えば、被検出者は顔の向きを変える意思がなくとも、車両の振動等により多少の顔の向きを変えてしまう場合がある。また、本装置1が振動により顔の向きが変わったと誤認する場合もある。このため、被検出者が顔を上下左右に振っているときを対象とし、明らかな被検出者の動作に基づいて基準顔部位探査領域の大きさを設定することが望ましくなる。
【0147】
再度、図17を参照して説明する。ステップST52の後、マイクロコンピュータ3は、基準顔部位の候補の特定処理を実行する(ST53)。この処理は、図5に示した処理と同様であるので、説明を省略する。なお、図5に示した特定処理は画像全体に対して行っているが、ステップST53における候補の特定処理は、基準顔部位探査領域内において行っている。
【0148】
すなわち、マイクロコンピュータ3は、基準顔部位探査領域内において、撮像画像の縦方向の画素列に沿って画素の濃度値を検出する。このとき、マイクロコンピュータ3は、相加平均演算を実行し、濃度の平均値を求める。そして、マイクロコンピュータ3は、検出された濃度平均値の局所的な高まり毎に1個ずつの画素を定めてポイント抽出する。その後、マイクロコンピュータ3は、縦方向の画素列ごとに定められたポイントが画像横方向に隣接する場合に、横方向に延びるポイント群の連続データGを形成する。この連続データGは、図5〜図9を参照して説明したものと同様である。そして、マイクロコンピュータ3は、形成された連続データGの代表座標値Cを、候補の候補点とする。
【0149】
また、この処理は、図1に示した基準顔部位位置検出部43aにて行われる処理である。すなわち、マイクロコンピュータ3は、基準顔部位位置検出部43aに相当するプログラムを実行することとなる。
【0150】
その後、マイクロコンピュータ3は、基準顔部位の判定位置検出処理を実行する(ST54)。すなわち、マイクロコンピュータ3は、ステップST53において特定された候補が基準顔部位であるか否か、すなわち左眼であるか否かを判断し、左眼であった場合には、候補点を左眼の位置として検出する。また、マイクロコンピュータ3は、ステップST53において複数の候補が特定された場合、同様に、それぞれについて左眼であるか否かを判断し、左眼であるものの候補点の位置を左眼の位置として検出することとなる。
【0151】
なお、この処理もステップST53の処理と同様に、図1に示した基準顔部位位置検出部43aにて行われる処理である。
【0152】
その後、マイクロコンピュータ3は、「GetFlag」が「TRUE」であるか否かを判断する(ST55)。すなわち、マイクロコンピュータ3は、この時点において、顔部位のいずれかが見つかっていない状態になっているか否かを判断している。
【0153】
「GetFlag」が「TRUE」であると判断した場合(ST55:YES)、マイクロコンピュータ3は、他顔部位探査領域の設定処理を実行する(ST56)。このステップST56の処理は、図1に示した他顔部位探査領域設定部42bにて行われる処理である。すなわち、マイクロコンピュータ3は、他顔部位探査領域設定部42bに相当するプログラムを実行することとなる。図20を参照して、他顔部位探査領域の設定処理を説明する。
【0154】
図20は、他顔部位探査領域の設定処理(ST56)の詳細を示すフローチャートである。同図に示すように、マイクロコンピュータ3は、他顔部位探査領域の位置を設定する(ST61)。ここでは、既にステップST54(基準顔部位位置検出部43a)にて検出された基準顔部位の位置と配置関係情報に基づいて、他顔部位探査領域の中心位置が設定される。
【0155】
その後、マイクロコンピュータ3は、他顔部位探査領域の大きさを設定する(ST62)。このとき、マイクロコンピュータ3は、他顔部位探査領域の大きさを基準顔部位探査領域以下の大きさとして設定する。そして、マイクロコンピュータ3は、設定した中心位置及び大きさで他顔部位探査領域を設定する(ST63)。
【0156】
その後、マイクロコンピュータ3は、他顔部位の候補の特定処理を実行する(ST57)。この処理は、図5に示した処理と同様であるので、説明を省略する。なお、ステップST53における候補の特定処理は、他顔部位探査領域内において行われる。
【0157】
すなわち、マイクロコンピュータ3は、他顔部位探査領域内において、撮像画像の縦方向の画素列に沿って画素の濃度値を検出し、ポイントが定める。そして、マイクロコンピュータ3は、連続データGを形成し、形成された連続データGの代表座標値Cを、顔部位候補の候補点とする。
【0158】
また、この処理は、図1に示した他顔部位位置検出部43bにて行われる処理である。すなわち、マイクロコンピュータ3は、他顔部位位置検出部43bに相当するプログラムを実行することとなる。
【0159】
その後、マイクロコンピュータ3は、他顔部位の判定位置検出処理を実行する(ST58)。すなわち、マイクロコンピュータ3は、ステップST58において特定された候補が他顔部位であるか否か、すなわち右眼であるか否かを判断し、右眼であった場合には、候補点を右眼の位置として検出する。また、ステップST58において複数の候補が特定された場合も同様である。なお、この処理もステップST57の処理と同様に、図1に示した他顔部位位置検出部43bにて行われる処理である。
【0160】
そして、マイクロコンピュータ3は、ステップST54及びST58において検出された基準顔部位及び他顔部位の位置に基づいて、両者の配置関係情報を求める。その後、マイクロコンピュータ3は、他顔部位すべてについて判定し終えたか否かを判断する(ST60)。
【0161】
本実施形態では、他顔部位は右眼の1つであるが、例えば口や鼻等を他顔部位としている場合には、他顔部位は複数あることとなる。このため、ステップST60にて、他顔部位すべてについて判定し終えたか否かを判断している。
【0162】
他顔部位すべてについて判定し終えていない場合(ST60:NO)、処理は、ステップST55に戻る。一方、他顔部位すべてについて判定し終えた場合(ST60:YES)、処理は図3のステップST9に戻る。
【0163】
ところで、ステップST55において「GetFlag」が「TRUE」でないと判断した場合(ST55:NO)、処理は、図3のステップST9に移行する。
【0164】
このように、本実施形態では、基準顔部位の位置を検出し、その後、配置関係情報と基準顔部位との位置に基づき、他顔部位の探査領域を設定している。被検出者の顔の各部位の位置は、被検出者が顔の向きを変えることにより、撮像画像中において変化するが、相対位置はさほど変化しない。このため、前述したように、他顔部位の探査領域は、他顔部位が存在する可能性が高いものとなる。そして、この探査領域から他顔部位を検出するため、他顔部位についての検出精度は優れたものとなる。
【0165】
ここで、図17の処理は、以下のようにされていても構わない。図21は、図3に示した追跡処理(ST10)の第2の例を示すフローチャートである。同図に示すように、第2の例では、処理の順番等が図17に示す処理(第1の例)と異なっている。
【0166】
すなわち、まず、第2の例おいてマイクロコンピュータ3は、顔部位の候補の特定処理を行う(ST51a)。ただし、この処理は、基準顔部位及び他顔部位それぞれについて候補を特定するのではなく、これらすべての候補を特定するようにしている。
【0167】
また、この処理では、画像全体から候補を特定する。このため、処理速度の低下等の問題が考えられる。しかし、この時点では、既に顔部位検出部20等にて基準及び他顔部位の位置が検出されているため、検出された位置を参考に、候補特定処理を行うことにより処理速度の低下という問題を発生させないようにすることができる。
【0168】
その後、基準顔部位の設定処理(ST52a)、基準顔部位探査領域の設定処理(ST53a)、基準顔部位の判定位置検出処理(ST54a)が行われる。これらの処理は、それぞれ図17に示したステップST51、ST53,ST54と同様の処理である。
【0169】
そして、「GetFlag」の判断(ST55a)、他顔部位探査領域の設定処理(ST53a)、他顔部位の判定位置検出処理(ST54a)、が行われる。これらの処理は、それぞれ図17に示したステップST55、ST56,ST58と同様の処理である。
【0170】
さらに、基準顔部位と他顔部位の位置関係の取得処理(ST58a)、矢顔部位をすべて判定したか否かの判断(ST59a)が行われ、処理は図3のステップST9に移行する。なお、ステップST58a,ST59aの処理は、それぞれ図17に示したステップST59、ST60と同様である。
【0171】
次に、図17に示したフローチャートの詳細について説明する。なお、以下に示す図17の詳細説明は、図21に示した第2の例の詳細説明とほぼ同様であるため、第2の例の詳細説明は省略する。
【0172】
まず、基準顔部位の判定及び位置検出(ST54)について詳細に説明する。図22は、図17に示した基準顔部位の判定位置検出処理(ST54)の詳細を示すフローチャートである。
【0173】
まず、マイクロコンピュータ3は、基準顔部位の優先顔部位探査領域を設定する(ST81)。このとき、マイクロコンピュータ3は、例えば、基準顔部位が約80%の確立で検出できる程度の大きさに優先顔部位探査領域を設定する。また、被検出者が一方向を視認しているときに、左眼の位置が納まる程度の大きさに優先顔部位探査領域を設定してもよい。
【0174】
図23は、図20に示した優先顔部位探査領域の設定処理(ST81)の一例を示す説明図であり、(a)は時刻t10において撮像された画像を示し、(b)は時刻t11において撮像された画像を示し、(c)は時刻t12において撮像された画像を示し、(d)は時刻t13において撮像された画像を示し、(e)はこれらの画像上の左眼位置を一画像上で表した場合を示している。
【0175】
被検出者が一方向を視認している場合、まず、時刻t10において図23(a)の画像が撮像される。その後、時刻t11,時刻t12,時刻t13において、それぞれ図23(b)、(c)、(d)の画像が撮像される。
【0176】
これらの画像上における左眼位置は、被検出者が一方向を視認していることから、図23(e)からも明らかなように、ほぼ静止した状態となっている。
【0177】
優先顔部位探査領域の設定処理(ST81)においては、例えば、これら時刻t10〜t13までの各期間における左眼位置がすべて含まれるように設定される。
【0178】
ここで、一方向を視認している場合と顔の向きを変えた場合との左眼位置の分布について説明する。図24は、一方向を視認している場合と顔の向きを変えた場合との左眼位置の分布を示す説明図である。ここで、図24の縦軸は画像におけるX軸方向の座標値であり、横軸は画像におけるY軸方向の座標値である。また、画像サイズ640×480であり、縦軸の最大値は480で、横軸の最大値は680である。さらに、図24では30フレーム/秒のビデオレートでサンプリングしたときの座標をプロットしたものを示している。
【0179】
同図に示すように、被検出者が一方向を視認している場合、左眼位置はほぼ1点に滞留している。このとき、軌跡aに示すように、各時刻の座標値は、X軸において200〜230で、Y軸において350〜390でほぼ一定となっている。
【0180】
一方、被検出者が顔の向きを変えた場合、例えば、エアコン装置の操作パネル等が設置されている方向(左下方向)に、被検出者が顔を向けた場合、左眼位置は大きく移動する。このとき、軌跡bに示すように、各時刻の座標値は、X軸において390〜520で、Y軸において240〜350であり、大きく移動している。
【0181】
この分布についての解析結果を図25に示す。図25は、図24に示した分布から求まる左眼位置の移動量の解析結果を示す説明図である。なお、図25では、被検出者が図24の軌跡a及び軌跡bと同様の動きをした場合に、30ms/フレーム及び60ms/フレームにて、撮像したときの解析結果を示している。また、ここでの画像サイズは、640×480である。
【0182】
まず、軌跡aと同様の動きを30ms/フレームにて撮像した場合、1フレーム当たりの移動量の平均はX軸方向に「1.13」Y軸方向に「0.52」である。また、このときの標準偏差はX軸方向に「0.95」Y軸方向に「0.52」であり、3δ移動量はX軸方向に「3.97」Y軸方向に「2.08」である。そして、最大移動量は、X軸方向に「4」Y軸方向に「2」である。
【0183】
一方、軌跡bと同様の動きを30ms/フレームにて撮像した場合、1フレーム当たりの移動量の平均はX軸方向に「3.38」Y軸方向に「2.35」である。また、このときの標準偏差はX軸方向に「2.63」Y軸方向に「2.12」であり、3δ移動量はX軸方向に「11.27」Y軸方向に「8.72」である。そして、最大移動量は、X軸方向に「14」Y軸方向に「9」である。
【0184】
また、軌跡aと同様の動きを60ms/フレームにて撮像した場合、1フレーム当たりの移動量の平均はX軸方向に「1.76」Y軸方向に「0.91」である。また、このときの標準偏差はX軸方向に「1.47」Y軸方向に「0.68」であり、3δ移動量はX軸方向に「6.18」Y軸方向に「2.94」である。そして、最大移動量は、X軸方向に「6」Y軸方向に「3」である。
【0185】
一方、軌跡bと同様の動きを60ms/フレームにて撮像した場合、1フレーム当たりの移動量の平均はX軸方向に「5.77」Y軸方向に「4.25」である。また、このときの標準偏差はX軸方向に「4.10」Y軸方向に「3.70」であり、3δ移動量はX軸方向に「18.06」Y軸方向に「15.35」である。そして、最大移動量は、X軸方向に「15」Y軸方向に「14」である。
【0186】
このように、図25から明らかなように、被検出者が一方向を視認しているときには、左眼位置の移動量が最大数画素程度であるが、顔の向きを変えた場合には、左眼位置の移動量が最大数十画素となっている。
【0187】
以上のように、被検出者が顔の向きを変えたときと、一方向視認時とでは移動量が大きく異なる。基準顔部位探査領域は、被検出者が顔の向きを変えたときに眼の位置が納まるような大きさで設定され、基準顔部位の優先顔部位探査領域は、一方向視認時眼の位置が納まるような大きさで設定される。
【0188】
再度、図22を参照して説明する。基準顔部位の優先顔部位探査領域の設定後、マイクロコンピュータ3は、基準顔部位の候補が優先顔部位探査領域内にあるか否かを判断する(ST82)。より詳細には、基準顔部位の候補の候補点である代表座表値Cが優先顔部位探査領域内にあるか否かを判断する。
【0189】
なお、この処理は、基準顔部位の候補について候補点を定めることによって、高精度に行われている。すなわち、基準顔部位の候補について候補点を定めていない場合には、候補の一部が優先顔部位探査領域内であって、一部が優先顔部位探査領域外にあるという事態が生じてしまう可能性がある。ところが、点と領域とに基づく判断を行うことで、候補の一部が優先顔部位探査領域内であって、一部が優先顔部位探査領域外にあるという事態を無くすことができ、高精度に処理を行うことができる。
【0190】
候補が優先顔部位探査領域内にあると判断した場合(ST82:YES)、マイクロコンピュータ3は、基準顔部位の候補が基準顔部位であると判定する(ST83)。そして、マイクロコンピュータ3は、基準顔部位を含む存在領域EAを微小画像IGとして画像メモリに保存する(ST84)。
【0191】
その後、マイクロコンピュータ3は、基準顔部位の候補の代表座標値Cを基準顔部位の座標値としてメモリし(ST85)、さらに、微小画像IGを顔部位画像MGiとして画像メモリに保存する(ST86)。
【0192】
そして、マイクロコンピュータ3は、不検出カウンタを初期化する(ST87)。その後、処理は図3に示したステップST18に移行する。なお、不検出カウンタとは、基準顔部位が特定できない連続処理数をカウントするものである。
【0193】
このように、優先顔部位探査領域内に候補が納まっている場合、マイクロコンピュータ3は、その候補が基準顔部位であるか否かを判断することなく、基準顔部位と決定している。
【0194】
一方、優先顔部位探査領域外であって、基準顔部位探査領域内に候補が納まっている場合には、マイクロコンピュータ3は、その候補が基準顔部位であるか否かを判断していき、正確に基準顔部位を検出するようにしている。
【0195】
すなわち、候補が優先顔部位探査領域内に無いと判断した場合(ST82:NO)、処理は、図26に示すステップST91に移行する。
【0196】
図26は、顔部位の候補が優先顔部位探査領域内に無いと判断された場合に実行される処理を示すフローチャートである。
【0197】
マイクロコンピュータ3は、まず、微小画像IGの濃度による基準顔部位判定処理を行う(ST82)。詳細には、図27に示す処理が実行される。図27は、図26に示した濃度による基準顔部位判定処理(ST91)の詳細を示すフローチャートである。
【0198】
同図に示すように、まず、マイクロコンピュータ3は、微小画像IGを画像メモリに保存する(ST111)。その後、マイクロコンピュータ3は、微小画像IGの濃度データと基準顔部位画像MGi−1の濃度データの類似度パラメータを求める(ST112)。
【0199】
ここで、基準顔部位画像MGi−1は、前回の追跡処理において画像メモリに記憶された基準顔部位の画像である。このため、マイクロコンピュータ3は、現在の画像フレームから抽出された基準顔部位の候補を含む微小画像IGと、過去の画像フレームにおいて特定された基準顔部位を含む微小画像との双方から、濃度データの類似度パラメータを求めている。
【0200】
また、濃度値データの類似度パラメータは、次の式により求められる。
【0201】
【数1】
なお、I(m,n)は、微小画像IGの画素の濃度を示し、T(m,n)は顔部位画像MGi−1の画素の濃度を示し、M及びNは画素サイズを示している。上記式に示されるように、類似度パラメータは残差和として表される。
【0202】
この残差和は2枚の画像の類似性が高いと値が小さくなり、類似性が低いと大きくなることから、閾値をもうけて、残差和が閾値よりも小さいと類似性が高いと判断できる。
【0203】
この処理の後、マイクロコンピュータ3は、類似度パラメータに基づいて、抽出された候補が顔部位の顔部位か否かを判定する(ST113)。すなわち、類似度が高い否かを判断して、微小画像IGが顔部位となる顔部位を含むものか否かを判断している。
【0204】
類似度が高くないと判断した場合(ST113:NO)、マイクロコンピュータ3は、微小画像IGに含まれる候補オブジェクトが顔部位となる顔部位でないと判定する(ST114)。その後、処理は、図26のステップST91に移行する。
【0205】
一方、類似度が高いと判断した場合(ST113:YES)、マイクロコンピュータ3は、微小画像IGに含まれる候補オブジェクトが顔部位となる顔部位であると判定する(ST115)。その後、処理は、図26のステップST91に移行する。
【0206】
再度、図26を参照して説明する。ステップST91の後、マイクロコンピュータ3は、図27に示したステップST114,ST115の判定に基づいて、存在領域EAが基準顔部位を含むものか否かを判断する(ST92)。
【0207】
基準顔部位を含むものであると判断された場合(ST92:YES)、処理は、図22に示したステップST85に移行する。一方、基準顔部位を含むものでないと判断された場合(ST92:NO)、マイクロコンピュータ3は、周波数画像による顔部位判定処理を行う(ST93)。
【0208】
詳細には、図28に示す処理が実行される。図28は、図26に示した周波数画像による顔部位判定処理(ST93)の詳細を示すフローチャートである。
【0209】
同図に示すように、まず、マイクロコンピュータ3は、存在領域EAを微小画像IGとして画像メモリに保存する(ST121)。その後、マイクロコンピュータ3は、微小画像IGを周波数処理して周波数画像IFGを生成し、これを画像メモリに保存する(ST122)。すなわち、マイクロコンピュータ3は、現在の画像フレームから抽出された基準顔部位の候補を含む微小画像IGを周波数処理して周波数画像IFGを生成している。
【0210】
ここでの周波数画像の生成は、フーリエ変換やウェーブレット変換などの一般的な方法により行われる。図29は、図28に示した周波数画像生成処理(ST122)の説明図であり、(a)は微小画像IGを示しており、(b)は周波数画像を示している。
【0211】
図29(a)に示すような微小画像IGを周波数処理した場合には、例えば、図29(b)に示す画像が得られる。マイクロコンピュータ3は、この周波数画像を画像メモリに保存することとなる。
【0212】
再度、図28を参照して説明する。ステップST122の後、マイクロコンピュータ3は、前回の追跡処理において画像メモリに記憶された顔部位画像MGi−1を周波数処理して基準顔部位周波数画像BIFGを求め、これを画像メモリに保存する(ST123)。すなわち、マイクロコンピュータ3は、過去の画像フレームにおいて特定された顔部位の顔部位を含んだ顔部位画像MGi−1を周波数処理して基準顔部位周波数画像BIFGを求めている。なお、ここでの周波数処理は、図29を参照して説明したものと同様である。
【0213】
次に、マイクロコンピュータ3は、周波数画像IFGと基準顔部位周波数画像BIFGの類似度パラメータを算出する(ST124)。類似度パラメータの算出方法は、図27に示したステップST112と同様であり、濃度データの残差和を求めることによりなされる。
【0214】
この処理の後、マイクロコンピュータ3は、算出された類似度パラメータに基づいて、抽出された候補が基準顔部位か否かを判定する(ST125)。すなわち、類似度が高い否かを判断して、微小画像IGが基準顔部位を含むものか否かを判断している。
【0215】
類似度が高くないと判断した場合(ST125:NO)、マイクロコンピュータ3は、微小画像IGに含まれる候補オブジェクトが基準顔部位でないと判定する(ST126)。その後、処理は、図26のステップST95に移行する。
【0216】
一方、類似度が高いと判断した場合(ST125:YES)、マイクロコンピュータ3は、微小画像IGに含まれる候補オブジェクトが顔部位となる顔部位であると判定する(ST127)。その後、処理は、図26のステップST94に移行する。
【0217】
再度、図26を参照して説明する。ステップST93の後、マイクロコンピュータ3は、図28に示したステップST126,ST127の判定に基づいて、存在領域EAが基準顔部位を含むものか否かを判断する(ST94)。
【0218】
基準顔部位を含むものであると判断された場合(ST94:YES)、処理は、図22に示したステップST85に移行する。一方、基準顔部位を含むものでないと判断された場合(ST94:NO)、マイクロコンピュータ3は、候補オブジェクトの幾何形状による基準顔部位判定処理を行う(ST95)。
【0219】
詳細には、図30に示す処理が実行される。図30は、図26に示した候補オブジェクトの幾何形状による基準顔部位判定処理(ST95)の詳細を示すフローチャートである。同図に示すステップST131〜ST139については、図11に示したステップST31〜ST39と同様であるため、説明を省略する。
【0220】
この処理の後、マイクロコンピュータ3は、算出された幾何形状のマッチング度合いに基づいて、抽出された候補が顔部位の顔部位か否かを判定する(ST140)。すなわち、幾何形状が一致するかを判断して、微小画像IGが基準顔部位を含むものか否かを判断している。
【0221】
一致しないと判断した場合(ST140:NO)、マイクロコンピュータ3は、微小画像IGに含まれる候補オブジェクトが基準顔部位でないと判定する(ST141)。その後、処理は、図26のステップST96に移行する。
【0222】
一方、一致すると判断した場合(ST141:YES)、マイクロコンピュータ3は、微小画像IGに含まれる候補オブジェクトが顔部位となる顔部位であると判定する(ST142)。その後、処理は、図26のステップST96に移行する。
【0223】
再度、図26を参照して説明する。ステップST96の後、マイクロコンピュータ3は、図30に示したステップST141,142の判定に基づいて、存在領域EAが基準顔部位を含むものか否かを判断する(ST96)。
【0224】
基準顔部位を含むものであると判断された場合(ST96:YES)、処理は、図22に示したステップST85に移行する。一方、顔部位となる顔部位を含むものでないと判断された場合(ST96:NO)、マイクロコンピュータ3は、ステップST97の処理を行う。
【0225】
図17に示したステップST53では、複数の基準顔部位候補が抽出されている場合がある。例えば、被検出者が眼鏡を着用している場合などには、複数の顔部位候補が抽出されることがある(後述する)。このため、マイクロコンピュータ3は、他の基準顔部位の候補があるか、すなわち未だ判定していない基準顔部位の候補があるか否かを判断する(ST97)。他の基準顔部位の候補があると判断した場合(ST98:YES)、処理は図22のステップST82に移行する。
【0226】
一方、他の基準顔部位の候補がないと判断した場合(ST97:NO)、マイクロコンピュータ3は、不検出カウンタをインクリメントする(ST98)。その後、マイクロコンピュータ3は、不検出カウンタの数値が顔部位再検出処理移行数を超えたか否かを判断する(ST99)。顔部位再検出処理移行数は、基準顔部位を特定できなかった場合であっても、図3のステップST8の処理を行うことなく、ステップST10の追跡処理を連続して何度実行するかを示す数である。この数は、システムの処理速度、処理精度等によって異なってくるものであり、本装置1の適用対象に合わせて適宜設定すればよいものである。
【0227】
顔部位再検出処理移行数を超えていないと判断した場合(ST99:NO)、処理は、図17に示したステップST55に移行する。そして、図3において、再度の顔部位追跡処理(ST10)が行われることとなる。なお、再度ステップST10の処理が実行され、再度、基準顔部位の候補が顔部位であると判定されなかった場合には、不検出カウンタがさらにインクリメントされることとなる。そして、ステップST10の処理が繰り返され、不検出カウンタの値が顔部位再検出処理移行数を超えた場合(ST99:YES)、マイクロコンピュータ3は、顔部位検出フラグ「GetFlag」を「FALSE」に設定する(ST100)。その後、マイクロコンピュータ3は、不検出カウンタを初期化し(ST101)、処理は、図17に示したステップST55に移行する。
【0228】
なお、不検出カウンタの数値が顔部位再検出処理移行数を超えた場合、顔部位検出フラグ「GetFlag」を「FALSE」に設定されるため、図3に示す顔部位検出処理(ST8)が、再度実行されることとなる。すなわち、マイクロコンピュータ3は、基準顔部位を特定できないため、ステップST10の処理を繰り返したにもかかわらず、数回に渡って基準顔部位を特定できない場合に、最終的に基準顔部位を特定できなかったとする。そして、再度の顔部位検出処理(ST8)を実行することとなる。
【0229】
なお、この繰り返しの処理課程において所定の条件を満たすことにより、本装置1では、基準優先顔部位探査領域を設定しないようにもしている。
【0230】
図31は、基準優先顔部位探査領域の設定処理(ST81)の詳細を示すフローチャートである。まず、マイクロコンピュータ3は、不検出カウンタが優先顔部位領域の非設定数を超えた否かを判断する(ST151)。優先顔部位領域の非設定数は、顔部位が追跡できていないと判断するのに必要な数である。この数も、顔部位再検出処理移行数と同様に、システムの処理速度、処理精度によって設定される値が異なってくるものである。
【0231】
なお、優先顔部位領域の非設定数は、ほぼビデオレートで処理ができ、顔部位の検出率(顔部位を顔部位として判定する率)が90%程度であれば3〜5に設定できる。
【0232】
不検出カウンタが優先顔部位領域の非設定数を超えたと判断した場合(ST151:YES)、マイクロコンピュータ3は、優先顔部位探査領域の領域設定を行うことなく、処理は図22のステップST82に移行する。一方、不検出カウンタが優先顔部位領域の非設定数を超えていないと判断した場合(ST151:NO)、マイクロコンピュータ3は、優先顔部位探査領域の領域設定を行い(ST152)、処理は図21のステップST82に移行する。
【0233】
次に、図17の他顔部位の候補位置特定処理(ST58)であるが、この処理は、基準顔部位候補の特定処理(ST53)と同様であるため、詳細説明は省略する。
【0234】
次に、図32〜図39を参照して、上記の図22のステップST81をさらに詳細に説明する。図32は、基準顔部位探査領域及び優先顔部位探査領域の説明図である。同図に示すように、基準顔部位探査領域は、中心から片側幅H1、片側高V1の大きさとなっている。また、優先顔部位探査領域は、中心から片側幅H2、片側高V2の大きさとなっている。ここでの中心は、例えば、前回の処理において検出された基準顔部位の代表座標値Cである。また、前回の処理とは、顔部位検出処理(ST8)及び顔部位追跡処理(ST10)のいずれであってもよい。
【0235】
なお、これら領域の大きさは、システムの処理速度、処理精度によっても変わってくるが、例えば、前述の例ではH1を30〜50画素、V1を20〜30画素とすればよい。また、H2を10〜15画素、V2を5から10画素程度に設定すればよい。
【0236】
ところが、上記のような基準顔部位探査領域では、被検出者が顔の向きを大きく変えた場合などには、基準顔部位が領域外へ移動してしまい、基準顔部位を特定できないこともある。すなわち、前回の処理において検出された基準顔部位の代表座標値Cを基準顔部位探査領域の中心としているため、移動中の基準顔部位は、今回の処理時において既に領域外に位置しているということもありうる。
【0237】
そこで、本実施形態では、図33に示すように、顔部位探査領域の大きさを可変としている。図33は、基準顔部位探査領域の大きさを可変とする場合の一例を示す説明図である。同図に示すように、マイクロコンピュータ3は、基準顔部位が特定できなかった場合には、基準顔部位探査領域を広くする。
【0238】
本実施形態においては、例えば、一度基準顔部位が特定されず不検出カウンタが「1」となった場合、基準顔部位が存在するであろう領域を広げて、基準顔部位の候補を見つけるようにしている。
【0239】
また、基準顔部位探査領域の大きさは次のようにして決定してもよい。図34は、顔部位探査領域の大きさを可変とする場合の他の例を示す説明図である。同図に示すように、マイクロコンピュータ3は、基準顔部位探査領域を広くする際に不検出カウンタのカウント値に基づいて、基準顔部位探査領域の大きさを順次大きくするようにしてもよい。
【0240】
すなわち、不検出カウンタの数値が大きければ大きいほど、基準顔部位探査領域を広くするようにしている。このように、不検出カウンタの数値に基づいて領域の大きさを決定することで、基準顔部位が特定できなかった連続回数に応じて領域の大きさを広くするようにしている。
【0241】
通常、基準顔部位探査領域を大きくすると処理速度の低下を招くため、基準顔部位探査領域の大きさを前回処理のときの大きさに比して、突然に大きくしてしまうことは、急激な処理速度の低下を招いてしまう。ところが、この例のように大きさを不検出カウンタの数値に応じて決定することで、処理速度の急激な低下を防止しつつ基準顔部位探査領域を適切な大きさにすることができる。
【0242】
なお、ここでは、基準顔部位探査領域の大きさを広くするようにしているが、同様に、他顔部位探査領域の大きさを広くするようにしてもよい。この場合、複数の他顔部位のうちいずれか1つでも検出できなかった場合に、当該領域を広くするようにすればよい。また、この際には、他顔部位探査領域を基準顔部位探査領域以下の大きさにする必要はなく、マイクロコンピュータ3は、基準顔部位探査領域以下の大きさという制限を解除することとなる。
【0243】
また、図32にて説明した基準顔部位探査領域の中心は、前回の処理において検出された基準顔部位の代表座標値Cとしなくともよい。以下にその場合の例を示す。図35は、顔部位探査領域の中心位置を設定する場合の一例を示す説明図である。
【0244】
同図には、前々回及び前回の眼の位置及び顔部位探査領域の中心位置が示されている。図35に示す例の場合、まず、マイクロコンピュータ3は、前々回及び前回の基準顔部位探査領域について、中心位置のX軸方向での差分及びY軸方向での差分を求める。そして、前回の中心位置にこれらの差分値を加え、得られた座標値を今回の基準顔部位探査領域の中心位置とする。
【0245】
図36は、図35に示した処理についての画像例を示す説明図であり、(a)は全体画像を示し、(b)は拡大画像を示している。
【0246】
図35を参照して説明した処理を実行した場合、図36(a)に示すように、基準顔部位探査領域内に左眼の位置が納まっている。また、図36(b)の拡大画像例からも明らかなように、前々回及び前回の中心位置に基づいて今回の基準顔部位探査領域を設定した結果、今回の基準顔部位探査領域内に左眼の位置が納まっている。このように、本例では過去の画像フレームにおける基準顔部位の移動量に基づいて基準顔部位探査領域を設定することで、被検出者の顔の動きに応じて適切処理を行うことができる。
【0247】
なお、本例においては、前回、前々回の基準顔部位の位置から求まる移動量に応じて基準顔部位探査領域の中心位置を決定しているが、これに限らない。すなわち、前々回以前に特定された基準顔部位の位置から移動量を求め、これに基づき、中心位置を決定するようにしてもよい。また、基準顔部位探査領域の中心位置を、まず、前回特定された基準顔部位の位置とし、この位置にて基準顔部位が特定されず不検出カウンタが「1」となった場合に、本例を用いるようにしてもよい。
【0248】
次に中心位置の設定の他の例について説明する。図37は、顔部位探査領域の中心位置を設定する場合の他の例を示す説明図である。図38は、左眼の位置及び基準顔部位探査領域の中心位置を含む画像例を示す説明図であり、(a)は全体画像を示し、(b)は拡大画像を示している。
【0249】
図35及び図36を参照して説明した例は、中心位置のX軸方向での差分値及びY軸方向での差分値が大きい場合に有効な手段となる。本例では、X軸方向での差分値及びY軸方向での差分値が小さい場合に有効な手段となる。
【0250】
図37及び図38に示すように、X軸方向での差分値及びY軸方向での差分値が大きくない場合には、これらの図に示すように、被検出者の顔の動きに応じて基準顔部位探査領域を設定しなくともよい。なぜなら、被検出者の顔の動きに応じて設定しなくとも基準顔部位が基準顔部位探査領域内に含まれるからである。
【0251】
そこで、本例では、X軸方向での差分値及びY軸方向での差分値が小さい場合、前回の処理において検出された基準顔部位の代表座標値Cを中心位置としている。
【0252】
このように、X軸方向での差分値及びY軸方向での差分値を考慮しつつも移動量が所定の閾値を超えない場合、通常通り、前回の処理における代表座標値Cを中心位置とする。これにより、図35及び図36に示した例に比して、詳細な計算等を不要とし迅速な処理を行うことができる。
【0253】
次に、画像例を参照しつつ本実施形態に係る顔部位追跡装置1の動作を再度説明する。なお、以下の説明においては、便宜上代表座標値Cを代表座標点Cと称する。
【0254】
図39は、前処理にて撮像された撮像画像から得られる配置関係情報を示す説明図であり、(a)は画像横方向及び縦方向距離と方向とからなる配置関係情報を示している。また、(b)は顔部位間の線分及び画像水平方向との角度からなる配置関係情報を示している。
【0255】
図39では、被検出者は前方を視認している。この状態において、基準顔部位である左眼の位置及び他顔部位である右眼の位置が検出されると、配置関係情報が得られる。
【0256】
図40は、今回処理にて撮像された撮像画像から得られる連続データを示す説明図である。本画像例では、右眼の連続データG4の代表座標点C4が優先顔部位探査領域内に納まっている。このため代表座標点C4が左眼の位置として検出される。すなわち、図22のステップST82において、「YES」と判断される。
【0257】
図41は、他顔部位探査領域の設定の様子を示す説明図であり、(a)は画像横方向及び縦方向距離と方向とからなる配置関係情報に基づく設定の様子を示している。また、(b)は顔部位間の線分及び画像水平方向との角度からなる配置関係情報に基づく設定の様子を示している。
【0258】
図39に示す配置関係情報及び図40に示す基準顔部位の位置が検出されると、図41に示すように、配置関係情報に基づいて他顔部位探査領域が設定される。
【0259】
まず、図41(a)に示すように、今回検出された基準顔部位である左眼の位置から、正方向及び負方向を考慮して顔部位間の横方向距離及び縦方向距離だけ離れた位置に他顔部位探査領域の中心位置を設定する。
【0260】
そして、その位置を中心として、他顔部位探査領域を設定する。他顔部位探査領域の大きさは、基準顔部位探査領域の大きさ以下である。
【0261】
図42は、他顔部位探査領域の設定処理の様子を示す要部説明図である。図42に示すように、他顔部位探査領域は、基準顔部位探査領域より小さな領域であるが、領域内には他顔部位である右眼が納まっている。
【0262】
また、同様に、図41(b)に示す場合であっても、他顔部位探査領域は、基準顔部位探査領域より小さな領域であるが、領域内には他顔部位である右眼が納まっている。
【0263】
次に、被検出者が顔の向きを変えた場合の本装置1の動作を説明する。図43は、前処理にて撮像された撮像画像から得られる配置関係情報を示す説明図であり、被検出者が顔の向きを変えた場合を示している。
【0264】
図43では、被検出者はサイドミラー等を視認すべく右方向を向いている。この状態において、基準顔部位である左眼の位置及び他顔部位である右眼の位置が検出されると、配置関係情報が得られる。
【0265】
図44は、今回処理にて撮像された撮像画像から得られる連続データを示す説明図であり、(a)は全体画像例を示しており、(b)は拡大画像例を示している。
【0266】
図44では、被検出者の顔は、図43に示した状態よりもさらに右方向を向いている。そして、この動きにより、左眼の連続データG4の代表座標点C4は、優先顔部位探査領域外に位置しているこのため、図22のステップST82において、「NO」と判断される。
【0267】
そして、図26に示した処理が行われることとなる。このとき、左眼は優先顔部位探査領域外あるものの、基準顔部位探査領域内に納まっている。よって、図26の処理により、左眼の位置が検出される。
【0268】
図45は、他顔部位探査領域の設定の様子を示す説明図である。図45に示すように、他顔部位探査領域は、基準顔部位探査領域より小さな領域である。さらに、被検出者は顔の向きを変えている。しかし、他顔部位探査領域内には他顔部位である右眼が納まっている。
【0269】
すなわち、被検出者が顔の向きを変えた場合であっても、基準顔部位と他顔部位の相対位置の多少の変化は、他顔部位の検出に影響を与えないことがわかる。
【0270】
次に、被検出者が眼鏡を着用している場合の本装置1の動作を説明する。図46は、被検出者が眼鏡を着用している場合に、前処理にて得られる画像例を示す説明図である。
【0271】
図46に示すように、被検出者は眼鏡を着用している。この状態において、基準顔部位である左眼の位置及び他顔部位である右眼の位置が検出されると、配置関係情報が得られる。
【0272】
図47は、被検出者が眼鏡を着用している場合に今回処理にて得られる画像例を示す説明図である。配置関係情報が得られ、今回処理にて画像が得られると、図47に示すように、基準顔部位探査領域及び優先顔部位探査領域が設定される。ところが、被検出者が眼鏡を着用している場合には、図47に示すように、基準顔部位探査領域内から複数の候補点C1〜C5が抽出されることがある。
【0273】
図47によると、連続データG2の代表座標点C2、連続データG3の代表座標点C3、連続データG4の代表座標点C4がいずれもが優先顔部位探査領域ではない顔部位探査領域内にある。
【0274】
図48は、複数の微小画像例を示す説明図である。上記のように、複数の候補点C2〜C4が抽出された場合では、図48に示すように、それぞれの候補点C2〜C4について微小画像が形成される。
【0275】
そして、それぞれの微小画像IG1,IG2,IG3について、ステップST91,ST93,ST95の基準顔部位判定処理を順次行っていく。
【0276】
なお、この例において、1つ目の微小画像IGA1を判定した場合、基準顔部位でないと判定されて、図26のステップST97の処理において、他の顔部位候補があると判断される。そして、2つ目の微小画像IGA2が判定の対象とされ、基準顔部位が特定されることとなる。
【0277】
図49は、眼鏡着用時の他顔部位探査領域の設定の様子を示す説明図である。図49に示すように、他顔部位探査領域は、基準顔部位探査領域より小さな領域である。さらに、被検出者は眼鏡を着用している。しかし、他顔部位探査領域内には他顔部位である右眼が納まっている。
【0278】
しかも、他顔部位探査領域内には、右眼の候補点C8のみが納まっており、他の候補点C6,C7,C9,C10は、高部位探査領域外にある。すなわち、被検出者が眼鏡を着用している場合であっても、他顔部位の検出に影響を与えないことがわかる。
【0279】
また、本実施形態では、基準顔部位探査領域を囲む領域を連続データ抽出領域として設定し、その領域内だけで連続データを抽出するようにしてもよい。
【0280】
図50は、連続データ抽出領域を設定する場合に前処理にて得られる画像例を示す説明図である。図50では、被検出者は前方を視認している。この状態において、基準顔部位である左眼の位置及び他顔部位である右眼の位置が検出されると、配置関係情報が得られる。
【0281】
図51は、今回得られた撮像画像上に連続データ抽出領域を設定したときの一例を示す図である。また、図52は、他顔部位探査領域及びこの領域の抽出領域の設定の様子を示す説明図である。
【0282】
図51に示すように、顔部位探査領域の周囲には、連続データ抽出領域が設定されている。この場合、マイクロコンピュータ3は、この領域内から基準顔部位候補を抽出する。そして、基準顔部位を特定していくこととなる。なお、図51に示す例の場合、連続データG1の代表座標点C1が優先顔部位探査領域内にあるので、マイクロコンピュータ3は、代表座標点C1を基準顔部位である左眼として判定することとなる。
【0283】
そして、図52に示すように、マイクロコンピュータ3は、配置関係情報及び基準顔部位の位置に基づいて他顔部位探査領域を設定する。また、マイクロコンピュータ3は、他顔部位探査領域を囲む連続データ抽出領域を設定する。このように、連続データ抽出領域を設定した場合にあっても、他顔部位探査領域内には他顔部位である右眼が納まっている。
【0284】
すなわち、連続データ抽出領域を設定した場合であっても、他顔部位の検出に影響を与えず、さらに、画像全体に対して処理を行うこともない。なお、この連続データ抽出領域の設定処理は、顔部位追跡部40だけでなく、顔部位検出部20が行うようにしてもよい。顔部位検出部20が行う場合、基準及び優先等の探査領域が設定されていない状態から、処理する領域を絞り込むことができ、より高速に処理を行うことができる。
【0285】
このようにして、本実施形態における顔部位追跡装置1は、複数の顔部位のうち基準となる基準顔部位が存在する可能性が高く且つ画像全体よりも狭くされた領域を基準顔部位追跡用の領域として設定している。このため、追跡用の領域の設定後においては、この領域内から基準顔部位を検出すればよく、画像全体から基準顔部位を検出する場合に比して、検出処理を迅速に行うことができる。
【0286】
また、他顔部位の追跡用の領域は、画像全体より小さくされている。このため、追跡用の領域の設定後においては、画像全体から他顔部位を検出する場合に比して、検出処理を迅速に行うことができる。
【0287】
また、他顔部位探査領域は基準顔部位の位置と配置関係情報とに基づいて設定されている。被検出者の顔各部位(例えば眼や鼻や口)の位置は、被検出者が顔の向きを変えることにより、撮像画像中において移動するが、相対位置(例えば眼に対する鼻の位置)はさほど変化しない。このため、複数の顔部位のうち1つでも位置が特定できれば、すべての顔部位の位置が特定できることとなる。
【0288】
ここで、他顔部位追跡用の領域の設定時点においては、既に基準顔部位の位置が検出されている。故に、被検出者が顔をどのように動かしたとしても、基準顔部位の位置が定まっているので、他顔部位のおおよその位置を決定することができる。すなわち、基準顔部位の位置と配置関係情報とに基づくことで、他顔部位のおおよその位置を含んだ他顔部位探査領域を設定でき、他顔部位が存在する可能性の高い領域を設定することができる。
【0289】
従って、複数の顔部位の追跡に際し、処理時間及び検出精度の面で向上を図ることができる。
【0290】
また、基準顔部位探査領域設定部42aは、過去に撮像された画像から特定された基準顔部位の位置に基づいて、基準顔部位探査領域を設定している。すなわち、顔部位検出部20又は顔部位位置検出部43のいずれか一方により、基準顔部位の位置が特定された場合には、これらからの情報に基づいて基準顔部位探査領域を設定する。
【0291】
そして、このようにして設定される基準顔部位探査領域は、前回の基準顔部位の位置に基づくから、比較的基準顔部位が存在する可能性の高いものとなる。従って、基準顔部位探査領域の設定に関し精度向上を図ることができる。
【0292】
また、基準顔部位探査領域設定部42aは、前撮像画像以前の撮像画像における基準顔部位の位置を元に定義される領域を基準顔部位探査領域として設定するので、精度良く基準顔部位の探査領域を設定できる。
【0293】
また、基準顔部位探査領域設定部42aは、前撮像画像以前の撮像画像における基準顔部位の位置から求められた基準顔部位のフレーム間移動量に従って、基準顔部位探査領域の中心位置を設定するとしたので、精度良く基準顔部位の探査領域を設定できる。
【0294】
また、基準顔部位探査領域設定部42aは、過去に撮像された画像内から求まる基準顔部位の移動量に基づいて、基準顔部位探査領域を設定する。このため、被検出者の顔の動き等について考慮された位置に基準顔部位探査領域が設定されることとなる。従って、被検出者の顔の動きに応じて基準顔部位探査領域を適切に設定することができる。
【0295】
また、基準顔部位探査領域設定部42aは、被検出者が顔の向きを変えたときに、サンプリング時間中に移動する基準顔部位の移動量に基づいて、基準顔部位探査領域の大きさを決定している。このため、被検出者が顔の向きを変えたとしても、基準顔部位探査領域内には基準顔部位が納まることとなり、好適に基準顔部位の検出を行うことができる。
【0296】
また、基準顔部位探査領域設定部42aは、被検出者が顔の向きを変えたときとして、被検出者が頭を上下左右に振っているときを採用するので、精度良く基準顔部位の探査領域を設定できる。
【0297】
また、他顔部位探査領域設定部42bは、他顔部位探査領域を基準顔部位探査領域以下の大きさで設定している。本実施形態の他顔部位探査領域は、現撮像画像から検出された基準顔部位の位置に基づいて設定される。すなわち、他顔部位探査領域は、現在の情報に基づいて設定されるものであり、時間的な影響を受けないものといえる。そして、時間的影響を受けないことから、当然に過去から現在にかけて被検出者が顔を動かした場合にも何ら影響がないこととなる。
【0298】
故に、他顔部位探査領域の大きさを小さくして、処理速度の向上を図ることができる。
【0299】
他顔部位探査領域設定部は、いずれか1つ以上の他顔部位の位置を検出できなかった場合に、他顔部位探査領域を広くすると共に、他顔部位探査領域を基準顔部位探査領域以下の大きさで設定するという制限を解除している。このように、他顔部位が検出されなかった時点で、他顔部位探査領域を大きくするので、処理速度の向上を図ると共に、他顔部位が不検出となってしまう可能性を軽減することができる。
【0300】
本実施形態では、予め配置関係情報を記憶させておき、これに基づいて他顔部位探査領域を設定することも可能であるが、この場合の配置関係情報は被検出者の個々人の顔の特徴を考慮したものとなっていない。故に、この配置関係情報に基づいて他顔部位探査領域を設定すると、多少領域設定が不正確になる可能性がある。
【0301】
ところが、本実施形態では、配置関係情報が配置関係取得部30により求められるようになっている。このため、被検出者の個々人の顔の特徴差に影響を受けることなく、好適に他顔部位探査領域を設定することができる。
【0302】
また、配置関係取得部30は、配置関係情報として、顔部位間の画像縦方向距離及び横方向距離と、一方の顔部位から他方の顔部位への方向とを求めている。また、配置関係取得部30は、配置関係情報として、画像上において顔部位間を結んだときの線分の長さと、この線分と画像所定方向とが為す角度を求めてもよい。
【0303】
この場合、一の顔部位に対する他の顔部位の位置が一義的に決定されることとなり、正確な配置関係情報を得ることができる。
【0304】
なお、本実施形態は上記の構成に限られず、本発明の趣旨を逸脱しない範囲において変更等が可能である。例えば、顔部位位置検出部43を複数設け、これらそれぞれを異なる位置検出精度とするようにしてもよい。
【0305】
すなわち、通常、判定等を行う手段は、検出精度が低くなると処理速度が速くなる傾向にある。これを利用して、本実施形態において顔部位の検出精度が低く処理速度が速いものから順に検出処理を実行するようにする。そして、これにより、処理速度を高めると共に、判定精度の低下を防ぐことができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る顔部位追跡装置の構成を示す機能ブロック図である。
【図2】本発明の実施形態に係る顔部位追跡装置の示すハード構成図である。
【図3】本実施形態に係る顔部位追跡装置の動作の概略を示すメインフローチャートである。
【図4】図3に示した顔部位検出処理(ST8)の詳細な動作を示すフローチャートである。
【図5】図4に示した顔部位候補位置特定処理(ST11)の詳細を示すフローチャートである。
【図6】図5に示したステップST27の処理にて形成される連続データ、並びにステップST28の処理にて定められる代表座標値C及び存在領域EAを示す説明図である。
【図7】図6に示した存在領域EAの大きさを示す説明図である。
【図8】数人の眼の大きさを調べた横Xaの長さの統計データを示す説明図である。
【図9】数人の眼の大きさを調べた縦Yaの長さの統計データを示す説明図である。
【図10】存在領域EAの画像上の位置を決定する方法を示す説明図である。
【図11】図4に示した顔部位判定処理(ST14)の詳細を示すフローチャートである。
【図12】微小画像を示す説明図である。
【図13】範囲ARでの二値化閾値の算出方法の説明図である。
【図14】候補オブジェクトと顔部位である眼のテンプレートとの幾何形状の比較方法の説明図であり、(a)は候補オブジェクトが最適な状態で撮像された場合を示し、(b)は眼の右側が欠けた状態を示し、(c)は眼の左側が欠けた状態を示している。
【図15】配置関係取得部が各顔部位の画像縦方向及び横方向の距離と方向とを求める場合の様子を示す説明図である。
【図16】配置関係取得部が各顔部位間の線分の長さ及び所定方向と為す角度を求める場合の様子を示す説明図である。
【図17】図3に示した追跡処理(ST10)の詳細を示すフローチャートである。
【図18】基準顔部位探査領域の設定処理(ST52)の詳細を示すフローチャートである。
【図19】図18に示した顔部位探査領域の大きさ設定処理(ST63)の説明図であり、(a)は時刻t0において撮像された画像を示し、(b)は時刻t1において撮像された画像を示し、(c)は時刻t2において撮像された画像を示し、(d)は時刻t3において撮像された画像を示し、(e)はこれらの画像上の左眼位置を一画像上で表した場合を示している。
【図20】他顔部位探査領域の設定処理(ST56)の詳細を示すフローチャートである。
【図21】図3に示した追跡処理(ST10)の第2の例を示すフローチャートである。
【図22】図17に示した基準顔部位の判定位置検出処理(ST54)の詳細を示すフローチャートである。
【図23】図20に示した優先顔部位探査領域の設定処理(ST81)の一例を示す説明図であり、(a)は時刻t10において撮像された画像を示し、(b)は時刻t11において撮像された画像を示し、(c)は時刻t12において撮像された画像を示し、(d)は時刻t13において撮像された画像を示し、(e)はこれらの画像上の左眼位置を一画像上で表した場合を示している。
【図24】一方向を視認している場合と顔の向きを変えた場合との左眼位置の分布を示す説明図である。
【図25】図24に示した分布から求まる左眼位置の移動量の解析結果を示す説明図である。
【図26】顔部位の候補が優先顔部位探査領域内に無いと判断された場合に実行される処理を示すフローチャートである。
【図27】図26に示した濃度による基準顔部位判定処理(ST91)の詳細を示すフローチャートである。
【図28】図26に示した周波数画像による顔部位判定処理(ST93)の詳細を示すフローチャートである。
【図29】図28に示した周波数画像生成処理(ST122)の説明図であり、(a)は微小画像IGを示しており、(b)は周波数画像を示している。
【図30】図26に示した候補オブジェクトの幾何形状による基準顔部位判定処理(ST95)の詳細を示すフローチャートである。
【図31】基準優先顔部位探査領域の設定処理(ST81)の詳細を示すフローチャートである。
【図32】基準顔部位探査領域及び優先顔部位探査領域の説明図である。
【図33】基準顔部位探査領域の大きさを可変とする場合の一例を示す説明図である。
【図34】顔部位探査領域の大きさを可変とする場合の他の例を示す説明図である。
【図35】顔部位探査領域の中心位置を設定する場合の一例を示す説明図である。
【図36】図35に示した処理についての画像例を示す説明図であり、(a)は全体画像を示し、(b)は拡大画像を示している。
【図37】顔部位探査領域の中心位置を設定する場合の他の例を示す説明図である。
【図38】左眼の位置及び基準顔部位探査領域の中心位置を含む画像例を示す説明図であり、(a)は全体画像を示し、(b)は拡大画像を示している。
【図39】前処理にて撮像された撮像画像から得られる配置関係情報を示す説明図であり、(a)は画像横方向及び縦方向距離と方向とからなる配置関係情報を示している。また、(b)は顔部位間の線分及び画像水平方向との角度からなる配置関係情報を示している。
【図40】今回処理にて撮像された撮像画像から得られる連続データを示す説明図である。
【図41】他顔部位探査領域の設定の様子を示す説明図であり、(a)は画像横方向及び縦方向距離と方向とからなる配置関係情報に基づく設定の様子を示しており、(b)は顔部位間の線分及び画像水平方向との角度からなる配置関係情報に基づく設定の様子を示している。
【図42】他顔部位探査領域の設定処理の様子を示す要部説明図である。
【図43】前処理にて撮像された撮像画像から得られる配置関係情報を示す説明図であり、被検出者が顔の向きを変えた場合を示している。
【図44】今回処理にて撮像された撮像画像から得られる連続データを示す説明図であり、(a)は全体画像例を示しており、(b)は拡大画像例を示している。
【図45】他顔部位探査領域の設定の様子を示す説明図である。
【図46】被検出者が眼鏡を着用している場合に、前処理にて得られる画像例を示す説明図である。
【図47】被検出者が眼鏡を着用している場合に今回処理にて得られる画像例を示す説明図である。
【図48】複数の微小画像例を示す説明図である。
【図49】眼鏡着用時の他顔部位探査領域の設定の様子を示す説明図である。
【図50】連続データ抽出領域を設定する場合に前処理にて得られる画像例を示す説明図である。
【図51】今回得られた撮像画像上に連続データ抽出領域を設定したときの一例を示す図である。
【図52】他顔部位探査領域及びこの領域の抽出領域の設定の様子を示す説明図である。
【符号の説明】
1…顔部位追跡装置
2…TVカメラ
3…マイクロコンピュータ
10…撮像部(撮像手段)
20…顔部位検出部
30…配置関係取得部(配置関係取得手段)
42a…基準顔部位探査領域設定部(基準顔部位探査領域設定手段)
42b…他顔部位探査領域設定部(他顔部位探査領域設定手段)
43a…基準顔部位位置検出部(基準顔部位位置検出手段)
43b…他顔部位位置検出部(他顔部位位置検出手段)
【発明の属する技術分野】
本発明は、顔部位追跡装置に関する。
【0002】
【従来の技術】
従来、被検出者の顔を撮像して得られた撮像画像から、追跡の対象となる顔の部位(眼など)を検出し、顔部位を追跡していく顔部位追跡装置が知られている。この装置では、例えば、被検出者の顔の横幅から眼の存在領域の横方向位置を検出し、その後、所定の処理を行って眼の存在領域の縦方向位置を検出している(例えば特許文献1参照)。
【0003】
【特許文献1】
特開平04−24503号公報
【0004】
【発明が解決しようとする課題】
しかしながら、上記装置では、撮像画像の全体から所望する顔部位の存在領域を決定しているため、以下の問題点を有する。すなわち、時系列的に入力される撮像画像に基づいて顔部位を追跡していく場合、撮像画像の全体に対して処理を行わなければならず、処理時間が長くなってしまう。また、検出した顔部位が追跡対象となる顔部位か否かを判別するための処理も行わなければならず、検出精度に不安がある。
【0005】
そして、このような状況下、複数の顔部位を検出する場合には、上記処理時間及び検出精度の問題は一層顕著なものとなる。
【0006】
【課題を解決するための手段】
本発明によれば、被検出者の顔部位の動きを追跡する顔部位追跡装置であって、撮像手段は、被検出者の顔を撮像して、複数の顔部位のうち基準となる基準顔部位及び基準顔部位以外の他顔部位を含む撮像画像を取得し、基準顔部位探査領域設定手段は、取得した撮像画像内に、所定の情報に基づいて、画像全体よりも狭くされた基準顔部位追跡用の基準顔部位探査領域を設定し、基準顔部位位置検出手段は、基準顔部位探査領域設定手段により設定された基準顔部位探査領域内から、基準顔部位の位置を検出し、他顔部位探査領域設定手段は、基準顔部位位置検出手段により検出された基準顔部位の位置と、各顔部位の相対位置を示す配置関係情報とに基づいて、撮像画像に対し、画像全体よりも狭くされた他顔部位追跡用の他顔部位探査領域を設定し、他顔部位位置検出手段は、他顔部位探査領域設定手段により設定された他顔部位探査領域内から、他顔部位の位置を検出する。
【0007】
【発明の効果】
本発明によれば、所定の情報に基づいて、画像全体よりも狭くされた領域を基準顔部位追跡用の基準顔部位探査領域を設定している。また、他顔部位探査領域も画像全体より小さくされている。このため、これら探査領域の設定後においては、この領域内から顔部位を検出すればよく、画像全体から顔部位を検出する場合に比して、検出処理を迅速に行うことができる。
【0008】
また、他顔部位探査領域は基準顔部位の位置と配置関係情報とに基づいて設定されている。このため、他顔部位のおおよその位置を含んだ他顔部位探査領域を設定でき、他顔部位が存在する可能性の高い領域を設定することができる。
【0009】
従って、複数の顔部位の追跡に際し、処理時間及び検出精度の面で向上を図ることができる。
【0010】
【発明の実施の形態】
以下、本発明の好適な実施形態を図面に基づいて説明する。
【0011】
図1は、本発明の実施形態に係る顔部位追跡装置の構成を示す機能ブロック図である。同図に示すように、顔部位追跡装置1は、被検出者の顔を撮像し、得られた画像に基づいて、顔部位の動きを追跡するものであって、撮像部(撮像手段)10を備えている。また、顔部位追跡装置1は、顔部位検出部20と、配置関係取得部(配置関係取得手段)30と、顔部位追跡部40とを備えている。
【0012】
撮像部10は、被検出者の顔を撮像することにより、複数の顔部位のうち基準となる基準顔部位及び基準顔部位以外の他顔部位を含む撮像画像を取得するものである。また、撮像部10は、入力した撮像画像のデータを、顔部位検出部20及び顔部位追跡部40に送出する構成とされている。
【0013】
ここで、上記基準顔部位とは、被検出者の顔部位(眼や鼻や口など)のうちのいずれか1つの顔部位であり、後の処理の基準とされるものである。また、他顔部位は、基準顔部位以外の顔部位であって、例えば基準顔部位が左眼である場合の右眼や鼻や口などが該当する。
【0014】
顔部位検出部20は、入力した撮像画像の全体から複数の顔部位を検出するものである。また、顔部位検出部20は、配置関係取得部30及び顔部位追跡部40に接続されており、検出した複数の顔部位の位置情報をこれらに送出する構成とされている。
【0015】
配置関係取得部30は、顔部位検出部20等にて検出された複数の顔部位の位置に基づいて、配置関係情報を求めるものである。この配置関係情報とは、各顔部位の相対的位置を示すものである。より具体的には1の顔部位に対する他の顔部位の位置等を示すものであり、例えば、基準顔部位が左眼である場合に、左眼に対する右眼、鼻、口それぞれの位置を示すものである。
【0016】
顔部位追跡部40は、撮像部10、顔部位検出部20及び配置関係取得部30からの信号に基づいて、複数の顔部位の動きを追跡するものである。この顔部位追跡部40は、基準顔部位設定部41と、顔部位探査領域設定部42と、顔部位位置検出部43とを備えている。
【0017】
基準顔部位設定部41は、複数の顔部位から基準顔部位を選定するものである。すなわち、ここで選定されたものが基準顔部位となり、選定されなかったものが他顔部位となる。また、基準顔部位設定部41は、顔部位探査領域設定部42に接続されており、選定した基準顔部位の情報をこれに送出する構成とされている。
【0018】
顔部位探査領域設定部42は、撮像画像に対し、画像全体よりも狭い顔部位探査領域を設定するものである。また、顔部位探査領域設定部42は、顔部位位置検出部43に接続されており、これに探査領域の情報を送出する構成とされている。
【0019】
顔部位位置検出部43は、顔部位探査領域設定部42により設定された探査領域内から顔部位の位置を検出するものである。すなわち、顔部位位置検出部43は、画像全体よりも狭く設定された領域内から顔部位を検出するものである。従って、顔部位位置検出部43は、画像全体に対し顔部位を検出する顔部位検出部20よりも、迅速に検出処理が行えるようになっている。
【0020】
ここで、上記顔部位探査領域設定部42は、基準顔部位探査領域設定部(基準顔部位探査領域設定手段)42aと、他顔部位探査領域設定部(他顔部位探査領域設定手段)42bとを有している。
【0021】
基準顔部位探査領域設定部42aは、所定の情報に基づいて、画像全体よりも狭くされた基準顔部位追跡用の基準顔部位探査領域を設定するものである。また、基準顔部位探査領域設定部42aは、基準顔部位探査領域の設定後、この領域情報を顔部位位置検出部43に送出する構成とされている。
【0022】
顔部位位置検出部43は、基準顔部位位置検出部(基準顔部位位置検出手段)43aと、他顔部位位置検出部(他顔部位位置検出手段)43bとを備えている。
【0023】
基準顔部位位置検出部43aは、基準顔部位探査領域設定部42aにより設定された基準顔部位探査領域内から基準顔部位の位置を検出するものである。この基準顔部位位置検出部43aは、他顔部位探査領域設定部42bに接続されており、検出した基準顔部位の位置の情報をこれに送出する構成とされている。
【0024】
他顔部位探査領域設定部42bは、基準顔部位位置検出部43aからの基準顔部位の位置の情報を入力するものである。また、これに加えて他顔部位探査領域設定部42bは、配置関係取得部30から配置関係情報を入力する構成とされている。
【0025】
そして、他顔部位探査領域設定部42bは、入力した情報、すなわち基準顔部位の位置と配置関係情報とに基づいて、撮像画像に対し、画像全体よりも狭くされた他顔部位追跡用の他顔部位探査領域を設定する。さらに、他顔部位探査領域設定部42bは、設定後に、探査領域の情報を他顔部位位置検出部43bに送出する構成とされている。
【0026】
他顔部位位置検出部43bは、他顔部位探査領域設定部42bにより設定された他顔部位探査領域内から他顔部位の位置を検出するものである。ここで、上記他顔部位探査領域設定部42bにより設定された他顔部位探査領域は、他顔部位が存在する可能性が高いものとして設定されている。
【0027】
通常、被検出者の顔各部位の位置は、被検出者が顔の向きを変えることにより、撮像画像中において移動するが、相対位置(例えば眼に対する鼻の位置)はさほど変化しない。このため、複数の顔部位のうち1つでも位置が特定できれば、全ての顔部位の位置が特定できることとなる。
【0028】
ここで、他顔部位探査領域の設定時点においては、既に基準顔部位の位置が検出されている。故に、被検出者が顔をどのように動かしたとしても、基準顔部位の位置が定まっているので、他顔部位のおおよその位置を決定することができる。すなわち、基準顔部位の位置と配置関係情報とに基づくことで、他顔部位のおおよその位置を含んだ他顔部位探査領域を設定できることとなる。よって、他顔部位探査領域は、他顔部位が存在する可能性が高いものとなる。
【0029】
次に、顔部位追跡装置1の動作の概略について説明する。まず、顔部位追跡装置1は、取得した画像から複数の顔部位の位置を検出して、配置関係情報を求める。
【0030】
すなわち、撮像部10が被検出者の顔を撮像し、得られた画像データを顔部位検出部20に送信する。これを受けた顔部位検出部20は、画像全体から複数の顔部位の位置を検出する。そして、顔部位検出部20は、検出した複数の顔部位の位置情報を配置関係取得部30に送出する。
【0031】
位置情報を受けた配置関係取得部30は、検出された複数の顔部位の位置に基づいて、配置関係情報を求める。この際、配置関係取得部30は、配置関係情報として、複数の顔部位のうち1の顔部位とこれ以外の顔部位との画像縦方向距離及び横方向距離を求める。さらに、配置関係取得部30は、画像上において、1の顔部位から当該1の顔部位以外の顔部位へ向かう方向を求める。
【0032】
また、配置関係取得部30は、上記に限らず、画像上において1の顔部位と当該1の顔部位以外の顔部位とを結ぶ線分の長さを求め、この線分と画像所定方向との角度を求めるようにしてもよい。
【0033】
そして、配置関係取得部30は、配置関係情報を顔部位追跡部40に送出する。
【0034】
次に、顔部位検出装置1は、上記処理の後に、新たに撮像部10によって撮像された画像に対して顔部位の追跡を行っていく。
【0035】
すなわち、撮像部10が撮像画像を取得し、画像データを顔部位追跡部40に送信する。これを受けた顔部位追跡部40の基準顔部位設定部41は、例えば顔部位検出部20等により検出された各顔部位の位置などに基づいて、基準顔部位を選定する。そして、選定した基準顔部位の情報を顔部位探査領域設定部42の基準顔部位探査領域設定部42aに送出する。
【0036】
基準顔部位探査領域設定部42aは、画像全体よりも狭くされた基準顔部位追跡用の基準顔部位探査領域を設定する。このとき、基準顔部位探査領域設定部42aは、所定の情報に基づいて基準顔部位探査領域を設定する。ここで、所定の情報とは、過去に撮像画像から検出された基準顔部位の位置の情報である。すなわち、基準顔部位探査領域設定部42aは、例えば、前撮像画像以前の撮像画像における基準顔部位の位置を元に領域を定義し、この定義した領域を前記基準顔部位探査領域として設定する。なお、前撮像画像とは、前回の撮像処理により得られた撮像画像をいう。
【0037】
また、所定の情報は、過去に取得された2以上の撮像画像から求まる基準顔部位の移動量であってもよい。すなわち、基準顔部位探査領域設定部42aは、例えば、過去の撮像された2以上の撮像画像を解析し、基準顔部位の移動量を求める。そして、この移動量に基づく位置を中心位置として基準顔部位探査領域を設定する。
【0038】
さらに、基準顔部位探査領域の大きさは、例えば、被検出者が顔の向きを変えたときに、サンプリング時間中に基準顔部位が移動する移動量に基づいて、決定される。このサンプリング時間は、本装置1の撮像速度や画像処理速度等に依存するものであり、例えば1/30秒程度である。
【0039】
基準顔部位探査領域の設定後、基準顔部位探査領域設定部42aは、基準顔部位探査領域の情報を顔部位位置検出部43の基準顔部位位置検出部43aに送出する。
【0040】
領域の情報を受けた基準顔部位位置検出部43aは、設定された基準顔部位探査領域内から基準顔部位の位置を検出する。この検出は、例えば濃度値等の情報に基づいてなされる。そして、検出後、基準顔部位位置検出部43aは、基準顔部位の位置情報を他顔部位探査領域設定部42bに送出する。
【0041】
基準顔部位の位置情報を受けた他顔部位探査領域設定部42bは、検出した基準顔部位の位置と配置関係情報とに基づいて、撮像画像に対し、画像全体よりも狭くされた他顔部位追跡用の他顔部位探査領域を設定する。そして、他顔部位探査領域の設定後、他顔部位探査領域設定部42bは、設定した領域の情報を他顔部位位置検出部43bに送出する。
【0042】
そして、他顔部位位置検出部43bは、他顔部位探査領域内から他顔部位の位置を検出する。以後、本装置1は、撮像画像毎に上記位置検出を繰り返し、複数の顔部位を追跡していく。
【0043】
ここで、上記他顔部位探査領域の大きさは、基準顔部位探査領域以下の大きさとされることが望ましい。これは以下の理由による。
【0044】
基準顔部位探査領域は、過去の撮像画像における基準顔部位の位置等に基づいて設定されるものである。このため、過去から現在にかけて被検出者が顔を動かした場合には、過去の基準顔部位の位置に基づく基準顔部位探査領域内には、現時刻において基準顔部位が存在しないことがあり得る。従って、基準顔部位は、被検出者の顔の移動を考慮して、或る程度の大きさにしておく必要がある。
【0045】
一方、他顔部位探査領域は、上述のように、現撮像画像から検出された基準顔部位の位置に基づいて設定される。すなわち、他顔部位探査領域は、現在の情報に基づいて設定されるものであり、時間的な影響を受けないものといえる。そして、時間的影響を受けないことから、当然に過去から現在にかけて被検出者が顔を動かした場合にも何ら影響がないこととなる。
【0046】
故に、他顔部位探査領域は、被検出者が顔の動きを考慮する必要がない分だけ、基準顔部位探査領域よりも狭くすることが可能である。そして、本実施形態では、他顔部位探査領域の大きさを基準顔部位探査領域以下の大きさとすることで、処理速度の向上を図っている。
【0047】
なお、本装置1は、自動車、鉄道車両、船舶の被検出者やプラントのオペレータ等の顔部位追跡に用いることができるが、以下の説明においては、自動車の被検出者の顔部位追跡に適用した場合で説明する。また、以下の説明では、基準顔部位を被検出者の左眼とし、他顔部位を右眼として説明するが、これに限らず、基準顔部位及び他顔部位は眉、鼻、口、耳などであっても構わない。また、他顔部位は1つでなく複数であっても構わない。
【0048】
図2は、本発明の実施形態に係る顔部位追跡装置の示すハード構成図である。同図に示すように、撮像部10としてTVカメラ2が自動車のインストルメント上に設けられている。
【0049】
TVカメラ2は、被検出者を略正面から撮像できる位置に設置されており、少なくとも被検出者の顔部分を撮影するようにされている。このTVカメラ2の入力画像は、本実施形態では、例えば横方向(X)640画素、縦方向(Y)480画素からなる。
【0050】
前記TVカメラ2で撮像された入力画像は、インストルメント裏側など車体内部に設置されたマイクロコンピュータ3に画像データとして入力される。
【0051】
マイクロコンピュータ3には、顔部位検出部20、配置関係取得部30及び顔部位追跡部40を構成するプログラムロジックがプログラミングされている。なお、顔部位追跡部40のプログラムロジックは、基準顔部位設定部41、顔部位探査領域設定部42及び顔部位位置検出部43のそれぞれのロジックを含むものである。
【0052】
また、顔部位探査領域設定部42のプログラムロジックは、基準顔部位探査領域設定部42a、及び他顔部位探査領域設定部42bのロジックを含んでいる。さらに、顔部位位置検出部43のプログラムロジックは、基準顔部位位置検出部43a、及び他顔部位位置検出部43bのロジックを含んでいる。
【0053】
次に、本実施形態に係る顔部位追跡装置1の動作について説明する。図3は、本実施形態に係る顔部位追跡装置1の動作の概略を示すメインフローチャートである。同図に示すように、まず、処理が開始されると、マイクロコンピュータ3は、初期値入力処理を実行する(ST1)。この初期値入力の処理では、サンプリング時間などの各種定数が読み込まれる。
【0054】
そして、マイクロコンピュータ3は、全ての顔部位が見つかっているか否かを示す顔部位検出フラグ「GetFlag」を「FALSE」に設定する(ST2)。その後、マイクロコンピュータ3は、処理フレームカウンタ「i」を「0」に初期化する(ST3)。
【0055】
初期化後、マイクロコンピュータ3は、終了判断処理を実行する(ST4)。この際、マイクロコンピュータ3は、例えばエンジンが起動しているか等に基づいて判断を行う。
【0056】
そして、マイクロコンピュータ3は、「STOP」か否かを判断する(ST5)。例えばエンジンが起動されていないと判断した場合、マイクロコンピュータ3は、「STOP」であると判断し(ST5:YES)、処理は終了することとなる。
【0057】
一方、エンジンが起動され走行しているなどにより、「STOP」でないと判断した場合(ST5:NO)、マイクロコンピュータ3は、顔画像の撮像処理を実行する(ST6)。これにより、TVカメラ2は、被検出者の顔を撮像する。
【0058】
その後、マイクロコンピュータ3は、顔部位検出フラグ「GetFlag」が「FALSE」か否かを判断する(ST7)。すなわち、全ての顔部位が見つかっているか否かを判断する。
【0059】
顔部位検出フラグ「GetFlag」が「FALSE」であり、いずれかの顔部位が見つかっていないと判断した場合(ST7:YES)、マイクロコンピュータ3は、顔部位検出処理を実行する(ST8)。このステップST8の処理は、主として、図1にて説明した顔部位検出部20にて行われる処理である。すなわち、マイクロコンピュータ3は、顔部位検出部20に相当するプログラムを実行することとなる。なお、この処理において、全ての顔部位が見つけられた場合には、後述するが、顔部位検出フラグ「GetFlag」が「TRUE」とされることとなる。
【0060】
顔部位検出処理の実行後、マイクロコンピュータ3は、処理フレームカウンタ「i」をインクリメントする(ST9)。そして、処理は、ステップST4に戻る。
【0061】
その後、上記したステップST4〜ST6を経て、ステップST7に至る。このとき、前述の顔部位検出処理(ST8)において、全ての顔部位が見つけられていた場合には、顔部位検出フラグ「GetFlag」が「TRUE」となっている。
【0062】
このため、顔部位検出フラグ「GetFlag」が「FALSE」でないと判断されて(ST7:NO)、マイクロコンピュータ3は追跡処理を実行する(ST10)。このステップST10の処理は、主として図1にて説明した顔部位追跡部40にて行われる処理である。すなわち、マイクロコンピュータ3は、顔部位追跡部40に相当するプログラムを実行する。そして、顔部位の追跡が行われる。
【0063】
その後、処理はステップST9に移行し、処理フレームカウンタをインクリメント後、再度処理はステップST4に戻る。以上の処理が、ステップST5にて「YES」と判断されるまで繰り返されることとなる。
【0064】
なお、図1を参照して説明したように、顔部位検出部20は、撮像画像全体に対して処理を行い、複数の顔部位を検出する。一方、顔部位追跡部40は、撮像画像に領域を設定し、その領域内から基準顔部位又は他顔部位を検出していくようにしている。
【0065】
このため、本装置1は、少なくとも一度は画像全体に対して処理を行うものの、その後は画像の一部に対して処理を行うこととなり、常に画像全体に処理を行う装置に比して、迅速な処理を行うことができる。
【0066】
次に、顔部位検出処理(ST8)の詳細な動作について説明する。図4は、図3に示した顔部位検出処理(ST8)の詳細な動作を示すフローチャートである。
【0067】
同図に示すように、ステップST7にて「YES」と判断された場合、マイクロコンピュータ3は、顔部位である可能性を有する候補の位置の特定処理を実行する(ST11)。この処理により、画像全体から候補の位置が1又は複数特定される。具体的には、画像全体から左眼及び右眼である可能性を有する候補の位置が1又は複数特定される。
【0068】
その後、マイクロコンピュータ3は、候補の選定処理を行う(ST12)。この処理は、ステップST11において選定された1又は複数の候補のうち、後述のステップST14における判定の対象となるものを選定する処理である。
【0069】
一方、この処理により選定されなかったものは、判定の対象から除外されることとなる。例えば、既に左眼であることがわかっている候補については判定を行う必要がない。このため、本処理では、上記特定された候補のうち、顔部位であることが明らかなものについて除外している。
【0070】
従って、本装置1の起動時には、左眼又は右眼であることが明らかな候補がないものの、処理が行われ左眼又は右眼が特定されると、その候補は除外されていくこととなる。
【0071】
その後、マイクロコンピュータ3は、判定する顔部位の設定処理を行う(ST13)。すなわち、マイクロコンピュータ3は、左眼と右眼とのうち先に特定するものを選択し、選択した左眼又は右眼の判定用パラメータを設定する。
【0072】
設定処理終了後、マイクロコンピュータ3は、顔部位判定処理を実行する(ST14)。すなわち、ステップST11により特定された候補であって、且つステップST12にて除外されなかったもののうち1つを対象とし、その1つがステップST13にて選択された所望する顔部位であるか否かを判断する。
【0073】
その後、マイクロコンピュータ3は、顔部位判定処理(ST14)の結果に基づいて候補が所望する顔部位であったと判定されたか否かを判断する(ST15)。
【0074】
所望する顔部位であったと判定されていなかった場合(ST15:NO)、マイクロコンピュータ3は、ステップST11にて特定され及びステップST12において除外されなかった候補のすべてについて判定したか否かを判断する(ST19)。
【0075】
すべてについて判定した場合(ST19:YES)、処理は図3のステップST9に移行する。一方、すべてに対して判定していない場合(ST19:NO)、処理はステップST14に戻る。
【0076】
そして、マイクロコンピュータ3は、ステップST14にて、他の候補を選択し、再度、選択した候補が所望する顔部位であるか否かを判断する。
【0077】
ところで、ステップST15において、所望する顔部位であると判定されていた場合(ST15:YES)、マイクロコンピュータ3は、検出対象となる顔部位のすべてを判定し終えたか否かを判断する(ST16)。すなわち、左眼及び右眼の双方について候補との判定し終えたか否かを判定する。
【0078】
すべての検出対象について判定し終えていないと判断した場合(ST16:NO)、処理はステップST12に戻る。一方、すべてを判定し終えたと判断した場合(ST16:YES)、マイクロコンピュータ3は、顔部位検出フラグ「GetFlag」を「TRUE」にする(ST17)。
【0079】
その後、マイクロコンピュータ3は、各顔部位の位置関係の取得処理を行う(ST18)。すなわち、配置関係情報を取得する。なお、このステップST18の処理は、図1にて説明した配置関係取得部30にて行われる処理である。すなわち、マイクロコンピュータ3は、配置関係取得部30に相当するプログラムを実行することとなる。そして、処理は図3のステップST9に移行する。
【0080】
ここで、全ての顔部位、特に2つ以上の顔部位が見つかっていない場合には、配置関係情報を求めることができない。このため、マイクロコンピュータ3は、ステップST18において他の処理を行う。例えば、配置関係情報を求めず、「GetFlag」を「FALSE」に設定する処理などである。
【0081】
以上のようにして、本装置1では、顔部位である可能性を有する1又は複数の候補を特定し、特定された1又は複数の候補を1つずつ判定して被検出者の複数の顔部位を検出している。なお、顔部位である可能性を有する候補を特定する処理(ステップST11の処理)は、以下のようにして行われる。
【0082】
図5は、図4に示した候補位置特定処理(ST11)の詳細を示すフローチャートである。同図において、まず、マイクロコンピュータ3は、撮像した画像のデータ全体を、全体画像として画像メモリに保存する(ST21)。
【0083】
次に、マイクロコンピュータ3は、ステップST22の判断を行う。この判断については後述する。ステップST22において「NO」と判断された場合、マイクロコンピュータ3は、全体画像の縦方向(Y軸方向)の画素列のうち1ラインのみに沿って濃度値の相加平均演算を行う(ST23)。
【0084】
この相加平均演算は、例えば縦方向に並ぶ所定数の画素について、濃度の平均値を求め、所定数の画素のうちの1画素の濃度値を前記平均値とする処理である。例えば、所定数が「5」である場合、画面上方から1〜5番目に位置する画素を選択して平均値を求め、この平均値を5番目の画素の濃度値とする。次に、画面上方から2〜6番目に位置する画素を選択して平均値を求め、この平均値を6番目の画素の濃度値とする。そして、これを順次繰り返し、1ラインすべての画素について濃度の平均値を求める。
【0085】
このように相加平均演算することで、本装置1は、画像データ撮影時の濃度値の変化の小さなバラツキを無くすことができ、濃度値の大局的な変化を捉えることができる。
【0086】
相加平均演算後、マイクロコンピュータ3は、縦方向に相加平均値の微分演算を行う(ST24)。そして、マイクロコンピュータ3は、微分値に基づいてポイント抽出を行う(ST25)。このポイント抽出とは、縦方向の画素列に沿って画素濃度の相加平均値の局所的な高まり毎に1個ずつの画素を定める処理であって、例えば相加平均値の微分値が負から正に変化する画素を定める処理である。
【0087】
ポイントとなる画素を定めた後、マイクロコンピュータ3は、現在ポイント抽出していたラインを次ラインへ切り替える(ST26)。
【0088】
そして、マイクロコンピュータ3は、縦方向の全ラインでのポイント抽出が終了したか否かを判断する(ST22)。全ラインでのポイント抽出が終了していないと判断した場合(ST22:NO)、前述のステップST23〜ST26の処理を経て、再度ステップST22に戻る。
【0089】
一方、全ラインでのポイント抽出が終了したと判断した場合(ST22:YES)、隣り合う各ラインの抽出ポイントのY座標値を比較する。そして、Y座標値が所定値以内の場合、連続データとして、(i)連続データのグループ番号、(ii)連続開始ライン番号、及び(iii)連続データ数をメモリする。また、(iv)連続データを構成する各抽出ポイントの縦方向位置の平均値(その連続データの代表上下位置)、及び(v)連続開始ラインと終了ラインの横方向位置の平均値(その連続データの代表左右位置)をメモリする(ST27)。
【0090】
なお、本実施形態では、顔部位を眼としているため、連続データは横方向比較的長く延びるものとなる。このため、マイクロコンピュータ3は、連続データ形成後、横方向に所定値以上続くことを条件に連続データを選択することができる。
【0091】
その後、マイクロコンピュータ3は、各連続データについて代表座標値Cを定め、これを基準として存在領域EAを設定する(ST28)。この代表座標値Cとは、ステップST27の処理において、メモリされたX座標値の平均値及びY座標値の平均値により決定するものである(上記iv,vに示す平均値)。なお、存在領域EAについては、図6〜図10を参照して後述する。
【0092】
代表座標値Cを定めて存在領域EAを設定した後、処理は、図4のステップST12に移行する。以上が、顔部位の候補位置特定処理(ST11)である。以上のようにして、求められた連続データが候補となり、連続データの代表座標値Cが候補の位置(候補点)となる。
【0093】
なお、上記処理の詳細は、特開平10−40361号公報、及び特開平10−143669号公報にも記載されている。
【0094】
次に、縦方向の画素列ごとに定められた抽出ポイントが画像横方向に隣接する場合に形成される連続データ、その連続データの代表座標値C及び存在領域EAについて説明する。
【0095】
図6は、図5に示したステップST27の処理にて形成される連続データ、並びにステップST28の処理にて定められる代表座標値C及び存在領域EAを示す説明図である。なお、顔部位候補位置特定処理(ST11)は、1又は複数の顔部位候補を特定するものであるが、図6では複数の顔部位候補が特定された場合を例に説明する。
【0096】
同図に示すように、マイクロコンピュータ3は、複数の連続データGを形成している。これは、眼を検出対象としているため、眼と似た特徴量を示すもの(口、鼻、眉毛など)が検出されるためである。
【0097】
連続データGは、前述したように、縦方向の画素列ごとに定められた抽出ポイントが画像横方向に隣接する場合に形成されるものである。そして、この連続データを形成する横方向両端の画素のX座標値の平均値と、連続データを形成する各画素のY座標値の平均値により、代表座標値Cが決定される。さらに、存在領域EAは、この代表座標値Cを基準として設定される。
【0098】
次に、存在領域EAの設定方法を説明する。図7は、図6に示した存在領域EAの大きさを示す説明図であり、図8及び図9は数人の眼の大きさを調べた横Xa、縦Yaの長さの統計データを示す説明図であり、図10は存在領域EAの画像上の位置を決定する方法を示す説明図である。
【0099】
存在領域EAの設定は、存在領域EAの大きさが決定され、その後、存在領域EAの画像上における位置が定められることでなされる。
存在領域EAの大きさは、ノイズ(顔の皺や明暗などを抽出してしまう)の低減や処理速度を落とさないためにも、可能な限り小さい領域が良い。本実施形態では、数人の顔部位の大きさを調べ、それに余裕分(例えば×1.5倍)を加味して、存在領域EAの大きさを決定している。すなわち、図8及び図9のように、顔部位の縦横寸法のデータを集め、その分布の例えば95%をカバーする寸法に余裕分を考慮して決定する方法を採用している。
【0100】
そして上記95%をカバーする寸法、すなわち横寸法xa、縦寸法yaに余裕分(×1.5)を加味して決定している(図7)。なお、存在領域EAの大きさについては、画像処理により顔部位の幅や高さを推定し、縦横の大きさに余裕分を加える大きさとしてもよい。
【0101】
このように存在領域EAの大きさが決定された後、マイクロコンピュータ3は、図10に示すように、例えば眼の座標値(x1,y1)を基準に、基準点Pを決める。基準点Pは、眼の座標値(x1,y1)から距離x2,y2だけ離れた位置に定められるものである。
【0102】
そして、マイクロコンピュータ3は、点Pを基準に存在領域EAの寸法x3,y3を描画する。これにより、存在領域EAの位置が決定される。その後、画像全体で見つかった連続データGすべてについて存在領域EAを設定する。
【0103】
なお、上記のx2及びy2はx3,y3の1/2であって、予め存在領域EAが眼の中心にくるような長さとすることが望ましい。
【0104】
以上の図5〜図10の処理により、図4の顔部位候補位置特定処理(ST11)がなされる。
【0105】
次に、図4の顔部位判定処理(ST14)について説明する。図11は、図4に示した顔部位判定処理(ST14)の詳細を示すフローチャートである。なお、図11においては、左眼を検出する場合の処理を説明する。
【0106】
まず、マイクロコンピュータ3は、図5の処理にて求められた左眼の存在領域EAの画像データを微少画像IGとして画像メモリに保存する(ST31)。全体画像と画像メモリに保存される微小画像IGとの状態を図12に示す。図12は、微小画像を示す説明図である。図12に示すように、マイクロコンピュータ3は、全体画像から左眼の存在領域EA内の画像を抽出し、微小画像IGとしている。
【0107】
再度、図11を参照して説明する。マイクロコンピュータ3は、全体画像の代表座標値Cを微少画像IGの代表座標値ICとする。そして、マイクロコンピュータ3は、微少画像IGの代表座標値ICを基準とした範囲ARを設定し、範囲ARの濃度情報をもとに二値化閾値を設定する(ST32)。
【0108】
範囲ARでの二値化閾値の算出方法の一例を、図13を参照して説明する。図13は、範囲ARでの二値化閾値の算出方法の説明図である。まず、マイクロコンピュータ3は、範囲ARにおいて縦方向に数ラインの濃度値の読み出しを行う。
【0109】
そして、マイクロコンピュータ3は、各ラインにおいて濃度値の最も高い(明るい)濃度値と、最も低い(暗い)濃度値をメモリしていく。全ラインのメモリが終了したら、マイクロコンピュータ3は、各ラインの最も高い(明るい)濃度値の中で、一番低い濃度値(皮膚の部分)と、各ラインの最も低い(暗い)濃度値の中で、一番低い濃度値(眼の部分)とを求める。そして、その中央値を二値化閾値とする。
【0110】
なお、上記した範囲ARは、好適に二値化閾値を決定するため、眼の黒い部分と眼の周囲の皮膚の白い部分が入るように設定される。また、範囲ARは、画像の明るさのバラツキによる影響を少なくするために必要最小限の大きさにされる。
【0111】
さらに、二値化閾値は、範囲AR内の眼の一番低い(暗い)濃度値と、皮膚の部分の一番低い(暗い)濃度値の中央値とすることで、皮膚の部分から眼の部分を切り出すのに適した値になる。
【0112】
ここで、二値化閾値を決定するのに皮膚部分における一番低い(暗い)濃度値を用いている理由は、次の通りである。例えば、範囲ARの一部に直射光が当たっている場合、皮膚部分は、眼球の黒色部分に比して、光を強く反射する傾向にある。このため、本装置1は、多くのノイズともいえる光を入力してしまうこととなる。
【0113】
この場合、濃度値を読み出す範囲ARを極力小さくしても、画像がノイズ光による影響を受け、本装置1は正確な二値化閾値を決定できなくなってしまう。このため、本実施形態では、強く反射している可能性がある濃度値の高い部分を用いず、皮膚の部分の濃度値の一番低い(暗い)濃度値を用いることで、より適切な二値化閾値を決定できるようにしている。
【0114】
再度、図11を参照して説明する。二値化閾値の決定後、マイクロコンピュータ3は、決定した二値化閾値を用いて微少画像IGを二値化処理し、二値画像bGとして画像メモリに保存する(ST33)。
【0115】
次に、マイクロコンピュータ3は、全体画像の代表座標値Cを二値画像bGの位置bCとし、この位置bCを初期位置として設定する(ST34)。その後、マイクロコンピュータ3は、設定位置が黒画素か否かを判断する(ST35)。ここでは、ステップST35において設定された初期位置が黒画素か否か判断される。
【0116】
そして、設定位置が黒画素でないと判断した場合(ST35:NO)、マイクロコンピュータ3は、設定位置を上下左右に1画素ずつずらす(ST36)。その後、マイクロコンピュータ3は、再度、設定位置が黒画素か否かを判断する。ここでは、ステップST36においてずらされた設定位置が黒画素か否か判断される。そして、黒画素と判断されるまで、この処理が繰り返される。
【0117】
一方、設定位置が黒画素であると判断した場合(ST35:YES)、マイクロコンピュータ3は、その黒画素の連結成分を候補オブジェクトとして設定する(ST37)。そして、マイクロコンピュータ3は、候補オブジェクトの幾何形状を算出する(ST38)。
【0118】
算出後、マイクロコンピュータ3は、予め記憶している左眼のテンプレートの幾何形状と候補オブジェクトの幾何形状とを比較する(ST39)。候補オブジェクトと左眼のテンプレートとの幾何形状の比較方法の一例を、図14を参照して説明する。
【0119】
図14は、候補オブジェクトと顔部位である左眼のテンプレートとの幾何形状の比較方法の説明図であり、(a)は候補オブジェクトが最適な状態で撮像された場合を示し、(b)は左眼の右側が欠けた状態を示し、(c)は左眼の左側が欠けた状態を示している。
【0120】
左眼の画像を二値化した形状は光環境が良く安定した画像であれば図14(a)に示すようなものになる。ところが、車室内に直射日光が一側から当たる等して光環境が悪化したときには、図14(b)及び(c)に示すように、一部が欠けた形状になることもある。
【0121】
マイクロコンピュータ3は、上記のような候補オブジェクトを正確に判断するために、3つの条件により比較判断を行う。まず、条件(i)としては、横幅が眼の相場値の2/3以上あり、且つ上に凸の所定範囲の曲率を持っていることである。次に、条件(ii)としては、黒眼の左側の凹み形状があることである。また、条件(iii)としては、黒眼の右側の凹み形状があることである。
【0122】
再度、図11を参照して説明する。幾何形状の比較後、マイクロコンピュータ3は、上記3つの条件に基づき、比較判断を行い、候補オブジェクトと左眼テンプレートとの幾何形状が一致するか否かを判断する(ST40)。ここで、図14(b)及び(c)のように眼の形状の一部が欠けている場合を考慮し、マイクロコンピュータ3は、条件(i)及び(ii)を満たすもの、並びに条件(ii)及び(iii)を満たすものを一致すると判断する。
【0123】
一致しないと判断した場合(ST40:NO)、マイクロコンピュータ3は、その候補オブジェクトが左眼でないと判定し(ST41)、その後、処理は、図4のステップST15に移行する。
【0124】
一方、一致すると判断した場合(ST40:YES)、マイクロコンピュータ3は、その候補オブジェクトが左眼であると判定する(ST42)。そして、判定された候補オブジェクトの座標値(全体画像における代表座標値Cに相当する)を、画像上における左眼の座標値としてメモリする(ST43)。
【0125】
その後、マイクロコンピュータ3は、一致と判断された候補オブジェクトを含む微小画像IGを顔部位画像MGiとして、画像メモリに保存する(ST44)。そして、処理は、図4のステップST15に移行する。
【0126】
なお、図11の処理では、二値化閾値を用いて二値化した候補オブジェクトを検出している。このため、本実施形態では、眼の部分と他の部分(背景や眼以外の顔部分)とを明確に区別し、眼を正確に捉えることができる。さらには、候補オブジェクトの幾何形状を用いた判定をより正確に行うことができ、眼の位置検出精度をより向上させることができる。
【0127】
以上、図4〜図14を参照して説明したように、マイクロコンピュータ3(顔部位検出部20)は、入力した画像全体から、左眼を検出することとなる。なお、図11では、左眼を検出する場合を説明しているが、右眼についても同様である。
【0128】
次に、図4に示した配置関係情報を取得処理(ST18)の詳細を図15及び図16を参照して説明する。
【0129】
例えば、配置関係取得部30は、配置関係情報として、複数の顔部位のうち1の顔部位と当該1の顔部位以外の顔部位との画像縦方向及び横方向の距離、並びに画像上において1の顔部位から1の顔部位以外の顔部位へ向かう方向を求める。図15は、配置関係取得部30が左右の眼間の画像縦方向及び横方向の距離と方向とを求める場合の様子を示す説明図である。
【0130】
同図に示すように、配置関係取得部30は、顔部位検出部20により検出された顔部位である左眼及び右眼の位置に基づいて、距離を求める。例えば、左眼の画像上における座標が(XL,YL)であり、右眼の画像上における座標が(XR,YR)であるとする。このとき、配置関係取得部30は、各顔部位の画像横方向の距離として「XL−XR」という値を取得し、縦方向の距離として「YL−YR」という値を取得する。なお、「XL−XR」等を絶対値として求めないのは、画像上において左眼から右眼に向かう方向を求めるためである。
【0131】
また、配置関係取得部30は、配置関係情報として、画像上において顔部位を結んだときの線分の長さ、及びその線分と画像所定方向とが為す角度を求めてもよい。図16は、配置関係取得部30が各顔部位間の線分の長さ及び所定方向と為す角度を求める場合の様子を示す説明図である。
【0132】
同図に示すように、配置関係取得部30は、顔部位検出部20により検出された顔部位である左眼及び右眼の位置に基づいて、距離を求める。同様に、左眼の画像上の座標位置が(XL,YL)であり、右眼の画像上の座標位置が(XR,YR)であるとする。このとき、配置関係取得部30は、画像上において各顔部位を結んだ線分の長さとして、「{(XL−XR)2+(YL−YR)2}1/2」という値を取得する。また、所定方向を画像横方向、すなわち水平方向とした場合、線分と画像所定方向とが為す角度として「arctan{(YL−YR)/(XL−XR)}」という値を取得する。
【0133】
以上のようにして、配置関係取得部30は、配置関係情報を取得する。そして、前述したように、顔部位検出フラグ「GetFlag」が「TRUE」とされた場合には、図3に示すように、顔部位追跡処理(ST10)が実行される。
【0134】
図17は、図3に示した追跡処理(ST10)の詳細を示すフローチャートである。同図に示すように、ステップST7にて「NO」と判断された場合、マイクロコンピュータ3は、基準顔部位の設定処理を行う(ST51)。これにより、基準顔部位として左眼が選定される。
【0135】
なお、このステップST51の処理は、図1に示した基準顔部位設定部41にて行われる処理である。すなわち、マイクロコンピュータ3は、基準顔部位設定部41に相当するプログラムを実行することとなる。
【0136】
基準顔部位の選定後、マイクロコンピュータ3は、基準顔部位探査領域の設定処理を実行する(ST52)。このステップST52の処理は、図1に示した基準顔部位探査領域設定部42aにて行われる処理である。すなわち、マイクロコンピュータ3は、基準顔部位探査領域設定部42aに相当するプログラムを実行することとなる。図18〜図19を参照して、基準顔部位探査領域の設定処理を説明する。
【0137】
図18は、基準顔部位探査領域の設定処理(ST52)の詳細を示すフローチャートである。同図に示すように、マイクロコンピュータ3は、基準顔部位探査領域の位置を設定する(ST61)。ここでは、例えば、顔部位検出部20等により検出された過去の基準顔部位の位置に基づいて、基準顔部位探査領域の中心位置が設定される。
【0138】
より具体的には、前撮像画像(前回の撮像処理により得られた撮像画像をいう。以下同じ。)以前の撮像画像おける基準顔部位の位置から求められた基準顔部位のフレーム間移動量に従って、基準顔部位探査領域の中心位置が設定される。フレーム間移動量とは、上述したサンプリング時間中の移動量をいう。
【0139】
さらに詳細に説明すると、まず、マイクロコンピュータ3は、前回及び前々回の撮像画像から基準顔部位の移動量を求める。その後、前回の基準顔部位の位置に移動量を加えて、今回の基準顔部位の位置を推定する。そして、マイクロコンピュータ3は、推定した位置を基準顔部位探査領域の中心位置とする。
【0140】
以上のようにして、中心位置を設定すると、マイクロコンピュータ3は、基準顔部位探査領域の大きさを設定する(ST62)。そして、マイクロコンピュータ3は、設定した中心位置及び大きさで基準顔部位探査領域を設定する(ST63)。
【0141】
ここで、基準顔部位探査領域の大きさは以下のようにして決定される。図19は、図18に示した顔部位探査領域の大きさ設定処理(ST63)の説明図であり、(a)は時刻t0において撮像された画像を示し、(b)は時刻t1において撮像された画像を示し、(c)は時刻t2において撮像された画像を示し、(d)は時刻t3において撮像された画像を示し、(e)はこれらの画像上の左眼位置を一画像上で表した場合を示している。
【0142】
被検出者が顔の向きを変える場合、まず、時刻t0において図19(a)に示す画像が撮像される。このとき、被検出者は、ほぼ正面を視認している。その後、時刻t1において、図19(b)に示す画像が撮像される。このとき、被検出者は、サイドミラー等を確認すべく、顔を右(図19においては左側)に向け始める。顔の向きを右に向け始めたことから、被検出者の左眼の位置は、右側へ移動することとなる。
【0143】
そして、時刻t2において、図19(c)に示す画像が撮像される。このとき、被検出者は、時刻t1よりも、さらに顔を右に向けている。このため、左眼の位置は、さらに右側へ移動することとなる。
【0144】
その後、時刻t3において、図19(d)に示す画像が撮像される。このとき、被検出者は、サイドミラー等を確認しており、顔を最も右側に向けた状態となっている。故に、左眼の位置は、最も右側へ移動したこととなる。
【0145】
そして、図19(e)に示すように、時刻t0からt3に向かって、これら画像上の左眼の位置が徐々に移動していることがわかる。基準顔部位探査領域の大きさは、これら時刻t0〜t3までの各期間(t0〜t1,t1〜t2,t2〜t3)に移動する左眼位置が含まれるように設定される。
【0146】
さらに、基準顔部位探査領域の大きさは、被検出者が顔の向きを変えたときとして、被検出者が顔を上下左右に振っているときに基づいて、設定されることが望ましい。例えば、被検出者は顔の向きを変える意思がなくとも、車両の振動等により多少の顔の向きを変えてしまう場合がある。また、本装置1が振動により顔の向きが変わったと誤認する場合もある。このため、被検出者が顔を上下左右に振っているときを対象とし、明らかな被検出者の動作に基づいて基準顔部位探査領域の大きさを設定することが望ましくなる。
【0147】
再度、図17を参照して説明する。ステップST52の後、マイクロコンピュータ3は、基準顔部位の候補の特定処理を実行する(ST53)。この処理は、図5に示した処理と同様であるので、説明を省略する。なお、図5に示した特定処理は画像全体に対して行っているが、ステップST53における候補の特定処理は、基準顔部位探査領域内において行っている。
【0148】
すなわち、マイクロコンピュータ3は、基準顔部位探査領域内において、撮像画像の縦方向の画素列に沿って画素の濃度値を検出する。このとき、マイクロコンピュータ3は、相加平均演算を実行し、濃度の平均値を求める。そして、マイクロコンピュータ3は、検出された濃度平均値の局所的な高まり毎に1個ずつの画素を定めてポイント抽出する。その後、マイクロコンピュータ3は、縦方向の画素列ごとに定められたポイントが画像横方向に隣接する場合に、横方向に延びるポイント群の連続データGを形成する。この連続データGは、図5〜図9を参照して説明したものと同様である。そして、マイクロコンピュータ3は、形成された連続データGの代表座標値Cを、候補の候補点とする。
【0149】
また、この処理は、図1に示した基準顔部位位置検出部43aにて行われる処理である。すなわち、マイクロコンピュータ3は、基準顔部位位置検出部43aに相当するプログラムを実行することとなる。
【0150】
その後、マイクロコンピュータ3は、基準顔部位の判定位置検出処理を実行する(ST54)。すなわち、マイクロコンピュータ3は、ステップST53において特定された候補が基準顔部位であるか否か、すなわち左眼であるか否かを判断し、左眼であった場合には、候補点を左眼の位置として検出する。また、マイクロコンピュータ3は、ステップST53において複数の候補が特定された場合、同様に、それぞれについて左眼であるか否かを判断し、左眼であるものの候補点の位置を左眼の位置として検出することとなる。
【0151】
なお、この処理もステップST53の処理と同様に、図1に示した基準顔部位位置検出部43aにて行われる処理である。
【0152】
その後、マイクロコンピュータ3は、「GetFlag」が「TRUE」であるか否かを判断する(ST55)。すなわち、マイクロコンピュータ3は、この時点において、顔部位のいずれかが見つかっていない状態になっているか否かを判断している。
【0153】
「GetFlag」が「TRUE」であると判断した場合(ST55:YES)、マイクロコンピュータ3は、他顔部位探査領域の設定処理を実行する(ST56)。このステップST56の処理は、図1に示した他顔部位探査領域設定部42bにて行われる処理である。すなわち、マイクロコンピュータ3は、他顔部位探査領域設定部42bに相当するプログラムを実行することとなる。図20を参照して、他顔部位探査領域の設定処理を説明する。
【0154】
図20は、他顔部位探査領域の設定処理(ST56)の詳細を示すフローチャートである。同図に示すように、マイクロコンピュータ3は、他顔部位探査領域の位置を設定する(ST61)。ここでは、既にステップST54(基準顔部位位置検出部43a)にて検出された基準顔部位の位置と配置関係情報に基づいて、他顔部位探査領域の中心位置が設定される。
【0155】
その後、マイクロコンピュータ3は、他顔部位探査領域の大きさを設定する(ST62)。このとき、マイクロコンピュータ3は、他顔部位探査領域の大きさを基準顔部位探査領域以下の大きさとして設定する。そして、マイクロコンピュータ3は、設定した中心位置及び大きさで他顔部位探査領域を設定する(ST63)。
【0156】
その後、マイクロコンピュータ3は、他顔部位の候補の特定処理を実行する(ST57)。この処理は、図5に示した処理と同様であるので、説明を省略する。なお、ステップST53における候補の特定処理は、他顔部位探査領域内において行われる。
【0157】
すなわち、マイクロコンピュータ3は、他顔部位探査領域内において、撮像画像の縦方向の画素列に沿って画素の濃度値を検出し、ポイントが定める。そして、マイクロコンピュータ3は、連続データGを形成し、形成された連続データGの代表座標値Cを、顔部位候補の候補点とする。
【0158】
また、この処理は、図1に示した他顔部位位置検出部43bにて行われる処理である。すなわち、マイクロコンピュータ3は、他顔部位位置検出部43bに相当するプログラムを実行することとなる。
【0159】
その後、マイクロコンピュータ3は、他顔部位の判定位置検出処理を実行する(ST58)。すなわち、マイクロコンピュータ3は、ステップST58において特定された候補が他顔部位であるか否か、すなわち右眼であるか否かを判断し、右眼であった場合には、候補点を右眼の位置として検出する。また、ステップST58において複数の候補が特定された場合も同様である。なお、この処理もステップST57の処理と同様に、図1に示した他顔部位位置検出部43bにて行われる処理である。
【0160】
そして、マイクロコンピュータ3は、ステップST54及びST58において検出された基準顔部位及び他顔部位の位置に基づいて、両者の配置関係情報を求める。その後、マイクロコンピュータ3は、他顔部位すべてについて判定し終えたか否かを判断する(ST60)。
【0161】
本実施形態では、他顔部位は右眼の1つであるが、例えば口や鼻等を他顔部位としている場合には、他顔部位は複数あることとなる。このため、ステップST60にて、他顔部位すべてについて判定し終えたか否かを判断している。
【0162】
他顔部位すべてについて判定し終えていない場合(ST60:NO)、処理は、ステップST55に戻る。一方、他顔部位すべてについて判定し終えた場合(ST60:YES)、処理は図3のステップST9に戻る。
【0163】
ところで、ステップST55において「GetFlag」が「TRUE」でないと判断した場合(ST55:NO)、処理は、図3のステップST9に移行する。
【0164】
このように、本実施形態では、基準顔部位の位置を検出し、その後、配置関係情報と基準顔部位との位置に基づき、他顔部位の探査領域を設定している。被検出者の顔の各部位の位置は、被検出者が顔の向きを変えることにより、撮像画像中において変化するが、相対位置はさほど変化しない。このため、前述したように、他顔部位の探査領域は、他顔部位が存在する可能性が高いものとなる。そして、この探査領域から他顔部位を検出するため、他顔部位についての検出精度は優れたものとなる。
【0165】
ここで、図17の処理は、以下のようにされていても構わない。図21は、図3に示した追跡処理(ST10)の第2の例を示すフローチャートである。同図に示すように、第2の例では、処理の順番等が図17に示す処理(第1の例)と異なっている。
【0166】
すなわち、まず、第2の例おいてマイクロコンピュータ3は、顔部位の候補の特定処理を行う(ST51a)。ただし、この処理は、基準顔部位及び他顔部位それぞれについて候補を特定するのではなく、これらすべての候補を特定するようにしている。
【0167】
また、この処理では、画像全体から候補を特定する。このため、処理速度の低下等の問題が考えられる。しかし、この時点では、既に顔部位検出部20等にて基準及び他顔部位の位置が検出されているため、検出された位置を参考に、候補特定処理を行うことにより処理速度の低下という問題を発生させないようにすることができる。
【0168】
その後、基準顔部位の設定処理(ST52a)、基準顔部位探査領域の設定処理(ST53a)、基準顔部位の判定位置検出処理(ST54a)が行われる。これらの処理は、それぞれ図17に示したステップST51、ST53,ST54と同様の処理である。
【0169】
そして、「GetFlag」の判断(ST55a)、他顔部位探査領域の設定処理(ST53a)、他顔部位の判定位置検出処理(ST54a)、が行われる。これらの処理は、それぞれ図17に示したステップST55、ST56,ST58と同様の処理である。
【0170】
さらに、基準顔部位と他顔部位の位置関係の取得処理(ST58a)、矢顔部位をすべて判定したか否かの判断(ST59a)が行われ、処理は図3のステップST9に移行する。なお、ステップST58a,ST59aの処理は、それぞれ図17に示したステップST59、ST60と同様である。
【0171】
次に、図17に示したフローチャートの詳細について説明する。なお、以下に示す図17の詳細説明は、図21に示した第2の例の詳細説明とほぼ同様であるため、第2の例の詳細説明は省略する。
【0172】
まず、基準顔部位の判定及び位置検出(ST54)について詳細に説明する。図22は、図17に示した基準顔部位の判定位置検出処理(ST54)の詳細を示すフローチャートである。
【0173】
まず、マイクロコンピュータ3は、基準顔部位の優先顔部位探査領域を設定する(ST81)。このとき、マイクロコンピュータ3は、例えば、基準顔部位が約80%の確立で検出できる程度の大きさに優先顔部位探査領域を設定する。また、被検出者が一方向を視認しているときに、左眼の位置が納まる程度の大きさに優先顔部位探査領域を設定してもよい。
【0174】
図23は、図20に示した優先顔部位探査領域の設定処理(ST81)の一例を示す説明図であり、(a)は時刻t10において撮像された画像を示し、(b)は時刻t11において撮像された画像を示し、(c)は時刻t12において撮像された画像を示し、(d)は時刻t13において撮像された画像を示し、(e)はこれらの画像上の左眼位置を一画像上で表した場合を示している。
【0175】
被検出者が一方向を視認している場合、まず、時刻t10において図23(a)の画像が撮像される。その後、時刻t11,時刻t12,時刻t13において、それぞれ図23(b)、(c)、(d)の画像が撮像される。
【0176】
これらの画像上における左眼位置は、被検出者が一方向を視認していることから、図23(e)からも明らかなように、ほぼ静止した状態となっている。
【0177】
優先顔部位探査領域の設定処理(ST81)においては、例えば、これら時刻t10〜t13までの各期間における左眼位置がすべて含まれるように設定される。
【0178】
ここで、一方向を視認している場合と顔の向きを変えた場合との左眼位置の分布について説明する。図24は、一方向を視認している場合と顔の向きを変えた場合との左眼位置の分布を示す説明図である。ここで、図24の縦軸は画像におけるX軸方向の座標値であり、横軸は画像におけるY軸方向の座標値である。また、画像サイズ640×480であり、縦軸の最大値は480で、横軸の最大値は680である。さらに、図24では30フレーム/秒のビデオレートでサンプリングしたときの座標をプロットしたものを示している。
【0179】
同図に示すように、被検出者が一方向を視認している場合、左眼位置はほぼ1点に滞留している。このとき、軌跡aに示すように、各時刻の座標値は、X軸において200〜230で、Y軸において350〜390でほぼ一定となっている。
【0180】
一方、被検出者が顔の向きを変えた場合、例えば、エアコン装置の操作パネル等が設置されている方向(左下方向)に、被検出者が顔を向けた場合、左眼位置は大きく移動する。このとき、軌跡bに示すように、各時刻の座標値は、X軸において390〜520で、Y軸において240〜350であり、大きく移動している。
【0181】
この分布についての解析結果を図25に示す。図25は、図24に示した分布から求まる左眼位置の移動量の解析結果を示す説明図である。なお、図25では、被検出者が図24の軌跡a及び軌跡bと同様の動きをした場合に、30ms/フレーム及び60ms/フレームにて、撮像したときの解析結果を示している。また、ここでの画像サイズは、640×480である。
【0182】
まず、軌跡aと同様の動きを30ms/フレームにて撮像した場合、1フレーム当たりの移動量の平均はX軸方向に「1.13」Y軸方向に「0.52」である。また、このときの標準偏差はX軸方向に「0.95」Y軸方向に「0.52」であり、3δ移動量はX軸方向に「3.97」Y軸方向に「2.08」である。そして、最大移動量は、X軸方向に「4」Y軸方向に「2」である。
【0183】
一方、軌跡bと同様の動きを30ms/フレームにて撮像した場合、1フレーム当たりの移動量の平均はX軸方向に「3.38」Y軸方向に「2.35」である。また、このときの標準偏差はX軸方向に「2.63」Y軸方向に「2.12」であり、3δ移動量はX軸方向に「11.27」Y軸方向に「8.72」である。そして、最大移動量は、X軸方向に「14」Y軸方向に「9」である。
【0184】
また、軌跡aと同様の動きを60ms/フレームにて撮像した場合、1フレーム当たりの移動量の平均はX軸方向に「1.76」Y軸方向に「0.91」である。また、このときの標準偏差はX軸方向に「1.47」Y軸方向に「0.68」であり、3δ移動量はX軸方向に「6.18」Y軸方向に「2.94」である。そして、最大移動量は、X軸方向に「6」Y軸方向に「3」である。
【0185】
一方、軌跡bと同様の動きを60ms/フレームにて撮像した場合、1フレーム当たりの移動量の平均はX軸方向に「5.77」Y軸方向に「4.25」である。また、このときの標準偏差はX軸方向に「4.10」Y軸方向に「3.70」であり、3δ移動量はX軸方向に「18.06」Y軸方向に「15.35」である。そして、最大移動量は、X軸方向に「15」Y軸方向に「14」である。
【0186】
このように、図25から明らかなように、被検出者が一方向を視認しているときには、左眼位置の移動量が最大数画素程度であるが、顔の向きを変えた場合には、左眼位置の移動量が最大数十画素となっている。
【0187】
以上のように、被検出者が顔の向きを変えたときと、一方向視認時とでは移動量が大きく異なる。基準顔部位探査領域は、被検出者が顔の向きを変えたときに眼の位置が納まるような大きさで設定され、基準顔部位の優先顔部位探査領域は、一方向視認時眼の位置が納まるような大きさで設定される。
【0188】
再度、図22を参照して説明する。基準顔部位の優先顔部位探査領域の設定後、マイクロコンピュータ3は、基準顔部位の候補が優先顔部位探査領域内にあるか否かを判断する(ST82)。より詳細には、基準顔部位の候補の候補点である代表座表値Cが優先顔部位探査領域内にあるか否かを判断する。
【0189】
なお、この処理は、基準顔部位の候補について候補点を定めることによって、高精度に行われている。すなわち、基準顔部位の候補について候補点を定めていない場合には、候補の一部が優先顔部位探査領域内であって、一部が優先顔部位探査領域外にあるという事態が生じてしまう可能性がある。ところが、点と領域とに基づく判断を行うことで、候補の一部が優先顔部位探査領域内であって、一部が優先顔部位探査領域外にあるという事態を無くすことができ、高精度に処理を行うことができる。
【0190】
候補が優先顔部位探査領域内にあると判断した場合(ST82:YES)、マイクロコンピュータ3は、基準顔部位の候補が基準顔部位であると判定する(ST83)。そして、マイクロコンピュータ3は、基準顔部位を含む存在領域EAを微小画像IGとして画像メモリに保存する(ST84)。
【0191】
その後、マイクロコンピュータ3は、基準顔部位の候補の代表座標値Cを基準顔部位の座標値としてメモリし(ST85)、さらに、微小画像IGを顔部位画像MGiとして画像メモリに保存する(ST86)。
【0192】
そして、マイクロコンピュータ3は、不検出カウンタを初期化する(ST87)。その後、処理は図3に示したステップST18に移行する。なお、不検出カウンタとは、基準顔部位が特定できない連続処理数をカウントするものである。
【0193】
このように、優先顔部位探査領域内に候補が納まっている場合、マイクロコンピュータ3は、その候補が基準顔部位であるか否かを判断することなく、基準顔部位と決定している。
【0194】
一方、優先顔部位探査領域外であって、基準顔部位探査領域内に候補が納まっている場合には、マイクロコンピュータ3は、その候補が基準顔部位であるか否かを判断していき、正確に基準顔部位を検出するようにしている。
【0195】
すなわち、候補が優先顔部位探査領域内に無いと判断した場合(ST82:NO)、処理は、図26に示すステップST91に移行する。
【0196】
図26は、顔部位の候補が優先顔部位探査領域内に無いと判断された場合に実行される処理を示すフローチャートである。
【0197】
マイクロコンピュータ3は、まず、微小画像IGの濃度による基準顔部位判定処理を行う(ST82)。詳細には、図27に示す処理が実行される。図27は、図26に示した濃度による基準顔部位判定処理(ST91)の詳細を示すフローチャートである。
【0198】
同図に示すように、まず、マイクロコンピュータ3は、微小画像IGを画像メモリに保存する(ST111)。その後、マイクロコンピュータ3は、微小画像IGの濃度データと基準顔部位画像MGi−1の濃度データの類似度パラメータを求める(ST112)。
【0199】
ここで、基準顔部位画像MGi−1は、前回の追跡処理において画像メモリに記憶された基準顔部位の画像である。このため、マイクロコンピュータ3は、現在の画像フレームから抽出された基準顔部位の候補を含む微小画像IGと、過去の画像フレームにおいて特定された基準顔部位を含む微小画像との双方から、濃度データの類似度パラメータを求めている。
【0200】
また、濃度値データの類似度パラメータは、次の式により求められる。
【0201】
【数1】
なお、I(m,n)は、微小画像IGの画素の濃度を示し、T(m,n)は顔部位画像MGi−1の画素の濃度を示し、M及びNは画素サイズを示している。上記式に示されるように、類似度パラメータは残差和として表される。
【0202】
この残差和は2枚の画像の類似性が高いと値が小さくなり、類似性が低いと大きくなることから、閾値をもうけて、残差和が閾値よりも小さいと類似性が高いと判断できる。
【0203】
この処理の後、マイクロコンピュータ3は、類似度パラメータに基づいて、抽出された候補が顔部位の顔部位か否かを判定する(ST113)。すなわち、類似度が高い否かを判断して、微小画像IGが顔部位となる顔部位を含むものか否かを判断している。
【0204】
類似度が高くないと判断した場合(ST113:NO)、マイクロコンピュータ3は、微小画像IGに含まれる候補オブジェクトが顔部位となる顔部位でないと判定する(ST114)。その後、処理は、図26のステップST91に移行する。
【0205】
一方、類似度が高いと判断した場合(ST113:YES)、マイクロコンピュータ3は、微小画像IGに含まれる候補オブジェクトが顔部位となる顔部位であると判定する(ST115)。その後、処理は、図26のステップST91に移行する。
【0206】
再度、図26を参照して説明する。ステップST91の後、マイクロコンピュータ3は、図27に示したステップST114,ST115の判定に基づいて、存在領域EAが基準顔部位を含むものか否かを判断する(ST92)。
【0207】
基準顔部位を含むものであると判断された場合(ST92:YES)、処理は、図22に示したステップST85に移行する。一方、基準顔部位を含むものでないと判断された場合(ST92:NO)、マイクロコンピュータ3は、周波数画像による顔部位判定処理を行う(ST93)。
【0208】
詳細には、図28に示す処理が実行される。図28は、図26に示した周波数画像による顔部位判定処理(ST93)の詳細を示すフローチャートである。
【0209】
同図に示すように、まず、マイクロコンピュータ3は、存在領域EAを微小画像IGとして画像メモリに保存する(ST121)。その後、マイクロコンピュータ3は、微小画像IGを周波数処理して周波数画像IFGを生成し、これを画像メモリに保存する(ST122)。すなわち、マイクロコンピュータ3は、現在の画像フレームから抽出された基準顔部位の候補を含む微小画像IGを周波数処理して周波数画像IFGを生成している。
【0210】
ここでの周波数画像の生成は、フーリエ変換やウェーブレット変換などの一般的な方法により行われる。図29は、図28に示した周波数画像生成処理(ST122)の説明図であり、(a)は微小画像IGを示しており、(b)は周波数画像を示している。
【0211】
図29(a)に示すような微小画像IGを周波数処理した場合には、例えば、図29(b)に示す画像が得られる。マイクロコンピュータ3は、この周波数画像を画像メモリに保存することとなる。
【0212】
再度、図28を参照して説明する。ステップST122の後、マイクロコンピュータ3は、前回の追跡処理において画像メモリに記憶された顔部位画像MGi−1を周波数処理して基準顔部位周波数画像BIFGを求め、これを画像メモリに保存する(ST123)。すなわち、マイクロコンピュータ3は、過去の画像フレームにおいて特定された顔部位の顔部位を含んだ顔部位画像MGi−1を周波数処理して基準顔部位周波数画像BIFGを求めている。なお、ここでの周波数処理は、図29を参照して説明したものと同様である。
【0213】
次に、マイクロコンピュータ3は、周波数画像IFGと基準顔部位周波数画像BIFGの類似度パラメータを算出する(ST124)。類似度パラメータの算出方法は、図27に示したステップST112と同様であり、濃度データの残差和を求めることによりなされる。
【0214】
この処理の後、マイクロコンピュータ3は、算出された類似度パラメータに基づいて、抽出された候補が基準顔部位か否かを判定する(ST125)。すなわち、類似度が高い否かを判断して、微小画像IGが基準顔部位を含むものか否かを判断している。
【0215】
類似度が高くないと判断した場合(ST125:NO)、マイクロコンピュータ3は、微小画像IGに含まれる候補オブジェクトが基準顔部位でないと判定する(ST126)。その後、処理は、図26のステップST95に移行する。
【0216】
一方、類似度が高いと判断した場合(ST125:YES)、マイクロコンピュータ3は、微小画像IGに含まれる候補オブジェクトが顔部位となる顔部位であると判定する(ST127)。その後、処理は、図26のステップST94に移行する。
【0217】
再度、図26を参照して説明する。ステップST93の後、マイクロコンピュータ3は、図28に示したステップST126,ST127の判定に基づいて、存在領域EAが基準顔部位を含むものか否かを判断する(ST94)。
【0218】
基準顔部位を含むものであると判断された場合(ST94:YES)、処理は、図22に示したステップST85に移行する。一方、基準顔部位を含むものでないと判断された場合(ST94:NO)、マイクロコンピュータ3は、候補オブジェクトの幾何形状による基準顔部位判定処理を行う(ST95)。
【0219】
詳細には、図30に示す処理が実行される。図30は、図26に示した候補オブジェクトの幾何形状による基準顔部位判定処理(ST95)の詳細を示すフローチャートである。同図に示すステップST131〜ST139については、図11に示したステップST31〜ST39と同様であるため、説明を省略する。
【0220】
この処理の後、マイクロコンピュータ3は、算出された幾何形状のマッチング度合いに基づいて、抽出された候補が顔部位の顔部位か否かを判定する(ST140)。すなわち、幾何形状が一致するかを判断して、微小画像IGが基準顔部位を含むものか否かを判断している。
【0221】
一致しないと判断した場合(ST140:NO)、マイクロコンピュータ3は、微小画像IGに含まれる候補オブジェクトが基準顔部位でないと判定する(ST141)。その後、処理は、図26のステップST96に移行する。
【0222】
一方、一致すると判断した場合(ST141:YES)、マイクロコンピュータ3は、微小画像IGに含まれる候補オブジェクトが顔部位となる顔部位であると判定する(ST142)。その後、処理は、図26のステップST96に移行する。
【0223】
再度、図26を参照して説明する。ステップST96の後、マイクロコンピュータ3は、図30に示したステップST141,142の判定に基づいて、存在領域EAが基準顔部位を含むものか否かを判断する(ST96)。
【0224】
基準顔部位を含むものであると判断された場合(ST96:YES)、処理は、図22に示したステップST85に移行する。一方、顔部位となる顔部位を含むものでないと判断された場合(ST96:NO)、マイクロコンピュータ3は、ステップST97の処理を行う。
【0225】
図17に示したステップST53では、複数の基準顔部位候補が抽出されている場合がある。例えば、被検出者が眼鏡を着用している場合などには、複数の顔部位候補が抽出されることがある(後述する)。このため、マイクロコンピュータ3は、他の基準顔部位の候補があるか、すなわち未だ判定していない基準顔部位の候補があるか否かを判断する(ST97)。他の基準顔部位の候補があると判断した場合(ST98:YES)、処理は図22のステップST82に移行する。
【0226】
一方、他の基準顔部位の候補がないと判断した場合(ST97:NO)、マイクロコンピュータ3は、不検出カウンタをインクリメントする(ST98)。その後、マイクロコンピュータ3は、不検出カウンタの数値が顔部位再検出処理移行数を超えたか否かを判断する(ST99)。顔部位再検出処理移行数は、基準顔部位を特定できなかった場合であっても、図3のステップST8の処理を行うことなく、ステップST10の追跡処理を連続して何度実行するかを示す数である。この数は、システムの処理速度、処理精度等によって異なってくるものであり、本装置1の適用対象に合わせて適宜設定すればよいものである。
【0227】
顔部位再検出処理移行数を超えていないと判断した場合(ST99:NO)、処理は、図17に示したステップST55に移行する。そして、図3において、再度の顔部位追跡処理(ST10)が行われることとなる。なお、再度ステップST10の処理が実行され、再度、基準顔部位の候補が顔部位であると判定されなかった場合には、不検出カウンタがさらにインクリメントされることとなる。そして、ステップST10の処理が繰り返され、不検出カウンタの値が顔部位再検出処理移行数を超えた場合(ST99:YES)、マイクロコンピュータ3は、顔部位検出フラグ「GetFlag」を「FALSE」に設定する(ST100)。その後、マイクロコンピュータ3は、不検出カウンタを初期化し(ST101)、処理は、図17に示したステップST55に移行する。
【0228】
なお、不検出カウンタの数値が顔部位再検出処理移行数を超えた場合、顔部位検出フラグ「GetFlag」を「FALSE」に設定されるため、図3に示す顔部位検出処理(ST8)が、再度実行されることとなる。すなわち、マイクロコンピュータ3は、基準顔部位を特定できないため、ステップST10の処理を繰り返したにもかかわらず、数回に渡って基準顔部位を特定できない場合に、最終的に基準顔部位を特定できなかったとする。そして、再度の顔部位検出処理(ST8)を実行することとなる。
【0229】
なお、この繰り返しの処理課程において所定の条件を満たすことにより、本装置1では、基準優先顔部位探査領域を設定しないようにもしている。
【0230】
図31は、基準優先顔部位探査領域の設定処理(ST81)の詳細を示すフローチャートである。まず、マイクロコンピュータ3は、不検出カウンタが優先顔部位領域の非設定数を超えた否かを判断する(ST151)。優先顔部位領域の非設定数は、顔部位が追跡できていないと判断するのに必要な数である。この数も、顔部位再検出処理移行数と同様に、システムの処理速度、処理精度によって設定される値が異なってくるものである。
【0231】
なお、優先顔部位領域の非設定数は、ほぼビデオレートで処理ができ、顔部位の検出率(顔部位を顔部位として判定する率)が90%程度であれば3〜5に設定できる。
【0232】
不検出カウンタが優先顔部位領域の非設定数を超えたと判断した場合(ST151:YES)、マイクロコンピュータ3は、優先顔部位探査領域の領域設定を行うことなく、処理は図22のステップST82に移行する。一方、不検出カウンタが優先顔部位領域の非設定数を超えていないと判断した場合(ST151:NO)、マイクロコンピュータ3は、優先顔部位探査領域の領域設定を行い(ST152)、処理は図21のステップST82に移行する。
【0233】
次に、図17の他顔部位の候補位置特定処理(ST58)であるが、この処理は、基準顔部位候補の特定処理(ST53)と同様であるため、詳細説明は省略する。
【0234】
次に、図32〜図39を参照して、上記の図22のステップST81をさらに詳細に説明する。図32は、基準顔部位探査領域及び優先顔部位探査領域の説明図である。同図に示すように、基準顔部位探査領域は、中心から片側幅H1、片側高V1の大きさとなっている。また、優先顔部位探査領域は、中心から片側幅H2、片側高V2の大きさとなっている。ここでの中心は、例えば、前回の処理において検出された基準顔部位の代表座標値Cである。また、前回の処理とは、顔部位検出処理(ST8)及び顔部位追跡処理(ST10)のいずれであってもよい。
【0235】
なお、これら領域の大きさは、システムの処理速度、処理精度によっても変わってくるが、例えば、前述の例ではH1を30〜50画素、V1を20〜30画素とすればよい。また、H2を10〜15画素、V2を5から10画素程度に設定すればよい。
【0236】
ところが、上記のような基準顔部位探査領域では、被検出者が顔の向きを大きく変えた場合などには、基準顔部位が領域外へ移動してしまい、基準顔部位を特定できないこともある。すなわち、前回の処理において検出された基準顔部位の代表座標値Cを基準顔部位探査領域の中心としているため、移動中の基準顔部位は、今回の処理時において既に領域外に位置しているということもありうる。
【0237】
そこで、本実施形態では、図33に示すように、顔部位探査領域の大きさを可変としている。図33は、基準顔部位探査領域の大きさを可変とする場合の一例を示す説明図である。同図に示すように、マイクロコンピュータ3は、基準顔部位が特定できなかった場合には、基準顔部位探査領域を広くする。
【0238】
本実施形態においては、例えば、一度基準顔部位が特定されず不検出カウンタが「1」となった場合、基準顔部位が存在するであろう領域を広げて、基準顔部位の候補を見つけるようにしている。
【0239】
また、基準顔部位探査領域の大きさは次のようにして決定してもよい。図34は、顔部位探査領域の大きさを可変とする場合の他の例を示す説明図である。同図に示すように、マイクロコンピュータ3は、基準顔部位探査領域を広くする際に不検出カウンタのカウント値に基づいて、基準顔部位探査領域の大きさを順次大きくするようにしてもよい。
【0240】
すなわち、不検出カウンタの数値が大きければ大きいほど、基準顔部位探査領域を広くするようにしている。このように、不検出カウンタの数値に基づいて領域の大きさを決定することで、基準顔部位が特定できなかった連続回数に応じて領域の大きさを広くするようにしている。
【0241】
通常、基準顔部位探査領域を大きくすると処理速度の低下を招くため、基準顔部位探査領域の大きさを前回処理のときの大きさに比して、突然に大きくしてしまうことは、急激な処理速度の低下を招いてしまう。ところが、この例のように大きさを不検出カウンタの数値に応じて決定することで、処理速度の急激な低下を防止しつつ基準顔部位探査領域を適切な大きさにすることができる。
【0242】
なお、ここでは、基準顔部位探査領域の大きさを広くするようにしているが、同様に、他顔部位探査領域の大きさを広くするようにしてもよい。この場合、複数の他顔部位のうちいずれか1つでも検出できなかった場合に、当該領域を広くするようにすればよい。また、この際には、他顔部位探査領域を基準顔部位探査領域以下の大きさにする必要はなく、マイクロコンピュータ3は、基準顔部位探査領域以下の大きさという制限を解除することとなる。
【0243】
また、図32にて説明した基準顔部位探査領域の中心は、前回の処理において検出された基準顔部位の代表座標値Cとしなくともよい。以下にその場合の例を示す。図35は、顔部位探査領域の中心位置を設定する場合の一例を示す説明図である。
【0244】
同図には、前々回及び前回の眼の位置及び顔部位探査領域の中心位置が示されている。図35に示す例の場合、まず、マイクロコンピュータ3は、前々回及び前回の基準顔部位探査領域について、中心位置のX軸方向での差分及びY軸方向での差分を求める。そして、前回の中心位置にこれらの差分値を加え、得られた座標値を今回の基準顔部位探査領域の中心位置とする。
【0245】
図36は、図35に示した処理についての画像例を示す説明図であり、(a)は全体画像を示し、(b)は拡大画像を示している。
【0246】
図35を参照して説明した処理を実行した場合、図36(a)に示すように、基準顔部位探査領域内に左眼の位置が納まっている。また、図36(b)の拡大画像例からも明らかなように、前々回及び前回の中心位置に基づいて今回の基準顔部位探査領域を設定した結果、今回の基準顔部位探査領域内に左眼の位置が納まっている。このように、本例では過去の画像フレームにおける基準顔部位の移動量に基づいて基準顔部位探査領域を設定することで、被検出者の顔の動きに応じて適切処理を行うことができる。
【0247】
なお、本例においては、前回、前々回の基準顔部位の位置から求まる移動量に応じて基準顔部位探査領域の中心位置を決定しているが、これに限らない。すなわち、前々回以前に特定された基準顔部位の位置から移動量を求め、これに基づき、中心位置を決定するようにしてもよい。また、基準顔部位探査領域の中心位置を、まず、前回特定された基準顔部位の位置とし、この位置にて基準顔部位が特定されず不検出カウンタが「1」となった場合に、本例を用いるようにしてもよい。
【0248】
次に中心位置の設定の他の例について説明する。図37は、顔部位探査領域の中心位置を設定する場合の他の例を示す説明図である。図38は、左眼の位置及び基準顔部位探査領域の中心位置を含む画像例を示す説明図であり、(a)は全体画像を示し、(b)は拡大画像を示している。
【0249】
図35及び図36を参照して説明した例は、中心位置のX軸方向での差分値及びY軸方向での差分値が大きい場合に有効な手段となる。本例では、X軸方向での差分値及びY軸方向での差分値が小さい場合に有効な手段となる。
【0250】
図37及び図38に示すように、X軸方向での差分値及びY軸方向での差分値が大きくない場合には、これらの図に示すように、被検出者の顔の動きに応じて基準顔部位探査領域を設定しなくともよい。なぜなら、被検出者の顔の動きに応じて設定しなくとも基準顔部位が基準顔部位探査領域内に含まれるからである。
【0251】
そこで、本例では、X軸方向での差分値及びY軸方向での差分値が小さい場合、前回の処理において検出された基準顔部位の代表座標値Cを中心位置としている。
【0252】
このように、X軸方向での差分値及びY軸方向での差分値を考慮しつつも移動量が所定の閾値を超えない場合、通常通り、前回の処理における代表座標値Cを中心位置とする。これにより、図35及び図36に示した例に比して、詳細な計算等を不要とし迅速な処理を行うことができる。
【0253】
次に、画像例を参照しつつ本実施形態に係る顔部位追跡装置1の動作を再度説明する。なお、以下の説明においては、便宜上代表座標値Cを代表座標点Cと称する。
【0254】
図39は、前処理にて撮像された撮像画像から得られる配置関係情報を示す説明図であり、(a)は画像横方向及び縦方向距離と方向とからなる配置関係情報を示している。また、(b)は顔部位間の線分及び画像水平方向との角度からなる配置関係情報を示している。
【0255】
図39では、被検出者は前方を視認している。この状態において、基準顔部位である左眼の位置及び他顔部位である右眼の位置が検出されると、配置関係情報が得られる。
【0256】
図40は、今回処理にて撮像された撮像画像から得られる連続データを示す説明図である。本画像例では、右眼の連続データG4の代表座標点C4が優先顔部位探査領域内に納まっている。このため代表座標点C4が左眼の位置として検出される。すなわち、図22のステップST82において、「YES」と判断される。
【0257】
図41は、他顔部位探査領域の設定の様子を示す説明図であり、(a)は画像横方向及び縦方向距離と方向とからなる配置関係情報に基づく設定の様子を示している。また、(b)は顔部位間の線分及び画像水平方向との角度からなる配置関係情報に基づく設定の様子を示している。
【0258】
図39に示す配置関係情報及び図40に示す基準顔部位の位置が検出されると、図41に示すように、配置関係情報に基づいて他顔部位探査領域が設定される。
【0259】
まず、図41(a)に示すように、今回検出された基準顔部位である左眼の位置から、正方向及び負方向を考慮して顔部位間の横方向距離及び縦方向距離だけ離れた位置に他顔部位探査領域の中心位置を設定する。
【0260】
そして、その位置を中心として、他顔部位探査領域を設定する。他顔部位探査領域の大きさは、基準顔部位探査領域の大きさ以下である。
【0261】
図42は、他顔部位探査領域の設定処理の様子を示す要部説明図である。図42に示すように、他顔部位探査領域は、基準顔部位探査領域より小さな領域であるが、領域内には他顔部位である右眼が納まっている。
【0262】
また、同様に、図41(b)に示す場合であっても、他顔部位探査領域は、基準顔部位探査領域より小さな領域であるが、領域内には他顔部位である右眼が納まっている。
【0263】
次に、被検出者が顔の向きを変えた場合の本装置1の動作を説明する。図43は、前処理にて撮像された撮像画像から得られる配置関係情報を示す説明図であり、被検出者が顔の向きを変えた場合を示している。
【0264】
図43では、被検出者はサイドミラー等を視認すべく右方向を向いている。この状態において、基準顔部位である左眼の位置及び他顔部位である右眼の位置が検出されると、配置関係情報が得られる。
【0265】
図44は、今回処理にて撮像された撮像画像から得られる連続データを示す説明図であり、(a)は全体画像例を示しており、(b)は拡大画像例を示している。
【0266】
図44では、被検出者の顔は、図43に示した状態よりもさらに右方向を向いている。そして、この動きにより、左眼の連続データG4の代表座標点C4は、優先顔部位探査領域外に位置しているこのため、図22のステップST82において、「NO」と判断される。
【0267】
そして、図26に示した処理が行われることとなる。このとき、左眼は優先顔部位探査領域外あるものの、基準顔部位探査領域内に納まっている。よって、図26の処理により、左眼の位置が検出される。
【0268】
図45は、他顔部位探査領域の設定の様子を示す説明図である。図45に示すように、他顔部位探査領域は、基準顔部位探査領域より小さな領域である。さらに、被検出者は顔の向きを変えている。しかし、他顔部位探査領域内には他顔部位である右眼が納まっている。
【0269】
すなわち、被検出者が顔の向きを変えた場合であっても、基準顔部位と他顔部位の相対位置の多少の変化は、他顔部位の検出に影響を与えないことがわかる。
【0270】
次に、被検出者が眼鏡を着用している場合の本装置1の動作を説明する。図46は、被検出者が眼鏡を着用している場合に、前処理にて得られる画像例を示す説明図である。
【0271】
図46に示すように、被検出者は眼鏡を着用している。この状態において、基準顔部位である左眼の位置及び他顔部位である右眼の位置が検出されると、配置関係情報が得られる。
【0272】
図47は、被検出者が眼鏡を着用している場合に今回処理にて得られる画像例を示す説明図である。配置関係情報が得られ、今回処理にて画像が得られると、図47に示すように、基準顔部位探査領域及び優先顔部位探査領域が設定される。ところが、被検出者が眼鏡を着用している場合には、図47に示すように、基準顔部位探査領域内から複数の候補点C1〜C5が抽出されることがある。
【0273】
図47によると、連続データG2の代表座標点C2、連続データG3の代表座標点C3、連続データG4の代表座標点C4がいずれもが優先顔部位探査領域ではない顔部位探査領域内にある。
【0274】
図48は、複数の微小画像例を示す説明図である。上記のように、複数の候補点C2〜C4が抽出された場合では、図48に示すように、それぞれの候補点C2〜C4について微小画像が形成される。
【0275】
そして、それぞれの微小画像IG1,IG2,IG3について、ステップST91,ST93,ST95の基準顔部位判定処理を順次行っていく。
【0276】
なお、この例において、1つ目の微小画像IGA1を判定した場合、基準顔部位でないと判定されて、図26のステップST97の処理において、他の顔部位候補があると判断される。そして、2つ目の微小画像IGA2が判定の対象とされ、基準顔部位が特定されることとなる。
【0277】
図49は、眼鏡着用時の他顔部位探査領域の設定の様子を示す説明図である。図49に示すように、他顔部位探査領域は、基準顔部位探査領域より小さな領域である。さらに、被検出者は眼鏡を着用している。しかし、他顔部位探査領域内には他顔部位である右眼が納まっている。
【0278】
しかも、他顔部位探査領域内には、右眼の候補点C8のみが納まっており、他の候補点C6,C7,C9,C10は、高部位探査領域外にある。すなわち、被検出者が眼鏡を着用している場合であっても、他顔部位の検出に影響を与えないことがわかる。
【0279】
また、本実施形態では、基準顔部位探査領域を囲む領域を連続データ抽出領域として設定し、その領域内だけで連続データを抽出するようにしてもよい。
【0280】
図50は、連続データ抽出領域を設定する場合に前処理にて得られる画像例を示す説明図である。図50では、被検出者は前方を視認している。この状態において、基準顔部位である左眼の位置及び他顔部位である右眼の位置が検出されると、配置関係情報が得られる。
【0281】
図51は、今回得られた撮像画像上に連続データ抽出領域を設定したときの一例を示す図である。また、図52は、他顔部位探査領域及びこの領域の抽出領域の設定の様子を示す説明図である。
【0282】
図51に示すように、顔部位探査領域の周囲には、連続データ抽出領域が設定されている。この場合、マイクロコンピュータ3は、この領域内から基準顔部位候補を抽出する。そして、基準顔部位を特定していくこととなる。なお、図51に示す例の場合、連続データG1の代表座標点C1が優先顔部位探査領域内にあるので、マイクロコンピュータ3は、代表座標点C1を基準顔部位である左眼として判定することとなる。
【0283】
そして、図52に示すように、マイクロコンピュータ3は、配置関係情報及び基準顔部位の位置に基づいて他顔部位探査領域を設定する。また、マイクロコンピュータ3は、他顔部位探査領域を囲む連続データ抽出領域を設定する。このように、連続データ抽出領域を設定した場合にあっても、他顔部位探査領域内には他顔部位である右眼が納まっている。
【0284】
すなわち、連続データ抽出領域を設定した場合であっても、他顔部位の検出に影響を与えず、さらに、画像全体に対して処理を行うこともない。なお、この連続データ抽出領域の設定処理は、顔部位追跡部40だけでなく、顔部位検出部20が行うようにしてもよい。顔部位検出部20が行う場合、基準及び優先等の探査領域が設定されていない状態から、処理する領域を絞り込むことができ、より高速に処理を行うことができる。
【0285】
このようにして、本実施形態における顔部位追跡装置1は、複数の顔部位のうち基準となる基準顔部位が存在する可能性が高く且つ画像全体よりも狭くされた領域を基準顔部位追跡用の領域として設定している。このため、追跡用の領域の設定後においては、この領域内から基準顔部位を検出すればよく、画像全体から基準顔部位を検出する場合に比して、検出処理を迅速に行うことができる。
【0286】
また、他顔部位の追跡用の領域は、画像全体より小さくされている。このため、追跡用の領域の設定後においては、画像全体から他顔部位を検出する場合に比して、検出処理を迅速に行うことができる。
【0287】
また、他顔部位探査領域は基準顔部位の位置と配置関係情報とに基づいて設定されている。被検出者の顔各部位(例えば眼や鼻や口)の位置は、被検出者が顔の向きを変えることにより、撮像画像中において移動するが、相対位置(例えば眼に対する鼻の位置)はさほど変化しない。このため、複数の顔部位のうち1つでも位置が特定できれば、すべての顔部位の位置が特定できることとなる。
【0288】
ここで、他顔部位追跡用の領域の設定時点においては、既に基準顔部位の位置が検出されている。故に、被検出者が顔をどのように動かしたとしても、基準顔部位の位置が定まっているので、他顔部位のおおよその位置を決定することができる。すなわち、基準顔部位の位置と配置関係情報とに基づくことで、他顔部位のおおよその位置を含んだ他顔部位探査領域を設定でき、他顔部位が存在する可能性の高い領域を設定することができる。
【0289】
従って、複数の顔部位の追跡に際し、処理時間及び検出精度の面で向上を図ることができる。
【0290】
また、基準顔部位探査領域設定部42aは、過去に撮像された画像から特定された基準顔部位の位置に基づいて、基準顔部位探査領域を設定している。すなわち、顔部位検出部20又は顔部位位置検出部43のいずれか一方により、基準顔部位の位置が特定された場合には、これらからの情報に基づいて基準顔部位探査領域を設定する。
【0291】
そして、このようにして設定される基準顔部位探査領域は、前回の基準顔部位の位置に基づくから、比較的基準顔部位が存在する可能性の高いものとなる。従って、基準顔部位探査領域の設定に関し精度向上を図ることができる。
【0292】
また、基準顔部位探査領域設定部42aは、前撮像画像以前の撮像画像における基準顔部位の位置を元に定義される領域を基準顔部位探査領域として設定するので、精度良く基準顔部位の探査領域を設定できる。
【0293】
また、基準顔部位探査領域設定部42aは、前撮像画像以前の撮像画像における基準顔部位の位置から求められた基準顔部位のフレーム間移動量に従って、基準顔部位探査領域の中心位置を設定するとしたので、精度良く基準顔部位の探査領域を設定できる。
【0294】
また、基準顔部位探査領域設定部42aは、過去に撮像された画像内から求まる基準顔部位の移動量に基づいて、基準顔部位探査領域を設定する。このため、被検出者の顔の動き等について考慮された位置に基準顔部位探査領域が設定されることとなる。従って、被検出者の顔の動きに応じて基準顔部位探査領域を適切に設定することができる。
【0295】
また、基準顔部位探査領域設定部42aは、被検出者が顔の向きを変えたときに、サンプリング時間中に移動する基準顔部位の移動量に基づいて、基準顔部位探査領域の大きさを決定している。このため、被検出者が顔の向きを変えたとしても、基準顔部位探査領域内には基準顔部位が納まることとなり、好適に基準顔部位の検出を行うことができる。
【0296】
また、基準顔部位探査領域設定部42aは、被検出者が顔の向きを変えたときとして、被検出者が頭を上下左右に振っているときを採用するので、精度良く基準顔部位の探査領域を設定できる。
【0297】
また、他顔部位探査領域設定部42bは、他顔部位探査領域を基準顔部位探査領域以下の大きさで設定している。本実施形態の他顔部位探査領域は、現撮像画像から検出された基準顔部位の位置に基づいて設定される。すなわち、他顔部位探査領域は、現在の情報に基づいて設定されるものであり、時間的な影響を受けないものといえる。そして、時間的影響を受けないことから、当然に過去から現在にかけて被検出者が顔を動かした場合にも何ら影響がないこととなる。
【0298】
故に、他顔部位探査領域の大きさを小さくして、処理速度の向上を図ることができる。
【0299】
他顔部位探査領域設定部は、いずれか1つ以上の他顔部位の位置を検出できなかった場合に、他顔部位探査領域を広くすると共に、他顔部位探査領域を基準顔部位探査領域以下の大きさで設定するという制限を解除している。このように、他顔部位が検出されなかった時点で、他顔部位探査領域を大きくするので、処理速度の向上を図ると共に、他顔部位が不検出となってしまう可能性を軽減することができる。
【0300】
本実施形態では、予め配置関係情報を記憶させておき、これに基づいて他顔部位探査領域を設定することも可能であるが、この場合の配置関係情報は被検出者の個々人の顔の特徴を考慮したものとなっていない。故に、この配置関係情報に基づいて他顔部位探査領域を設定すると、多少領域設定が不正確になる可能性がある。
【0301】
ところが、本実施形態では、配置関係情報が配置関係取得部30により求められるようになっている。このため、被検出者の個々人の顔の特徴差に影響を受けることなく、好適に他顔部位探査領域を設定することができる。
【0302】
また、配置関係取得部30は、配置関係情報として、顔部位間の画像縦方向距離及び横方向距離と、一方の顔部位から他方の顔部位への方向とを求めている。また、配置関係取得部30は、配置関係情報として、画像上において顔部位間を結んだときの線分の長さと、この線分と画像所定方向とが為す角度を求めてもよい。
【0303】
この場合、一の顔部位に対する他の顔部位の位置が一義的に決定されることとなり、正確な配置関係情報を得ることができる。
【0304】
なお、本実施形態は上記の構成に限られず、本発明の趣旨を逸脱しない範囲において変更等が可能である。例えば、顔部位位置検出部43を複数設け、これらそれぞれを異なる位置検出精度とするようにしてもよい。
【0305】
すなわち、通常、判定等を行う手段は、検出精度が低くなると処理速度が速くなる傾向にある。これを利用して、本実施形態において顔部位の検出精度が低く処理速度が速いものから順に検出処理を実行するようにする。そして、これにより、処理速度を高めると共に、判定精度の低下を防ぐことができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る顔部位追跡装置の構成を示す機能ブロック図である。
【図2】本発明の実施形態に係る顔部位追跡装置の示すハード構成図である。
【図3】本実施形態に係る顔部位追跡装置の動作の概略を示すメインフローチャートである。
【図4】図3に示した顔部位検出処理(ST8)の詳細な動作を示すフローチャートである。
【図5】図4に示した顔部位候補位置特定処理(ST11)の詳細を示すフローチャートである。
【図6】図5に示したステップST27の処理にて形成される連続データ、並びにステップST28の処理にて定められる代表座標値C及び存在領域EAを示す説明図である。
【図7】図6に示した存在領域EAの大きさを示す説明図である。
【図8】数人の眼の大きさを調べた横Xaの長さの統計データを示す説明図である。
【図9】数人の眼の大きさを調べた縦Yaの長さの統計データを示す説明図である。
【図10】存在領域EAの画像上の位置を決定する方法を示す説明図である。
【図11】図4に示した顔部位判定処理(ST14)の詳細を示すフローチャートである。
【図12】微小画像を示す説明図である。
【図13】範囲ARでの二値化閾値の算出方法の説明図である。
【図14】候補オブジェクトと顔部位である眼のテンプレートとの幾何形状の比較方法の説明図であり、(a)は候補オブジェクトが最適な状態で撮像された場合を示し、(b)は眼の右側が欠けた状態を示し、(c)は眼の左側が欠けた状態を示している。
【図15】配置関係取得部が各顔部位の画像縦方向及び横方向の距離と方向とを求める場合の様子を示す説明図である。
【図16】配置関係取得部が各顔部位間の線分の長さ及び所定方向と為す角度を求める場合の様子を示す説明図である。
【図17】図3に示した追跡処理(ST10)の詳細を示すフローチャートである。
【図18】基準顔部位探査領域の設定処理(ST52)の詳細を示すフローチャートである。
【図19】図18に示した顔部位探査領域の大きさ設定処理(ST63)の説明図であり、(a)は時刻t0において撮像された画像を示し、(b)は時刻t1において撮像された画像を示し、(c)は時刻t2において撮像された画像を示し、(d)は時刻t3において撮像された画像を示し、(e)はこれらの画像上の左眼位置を一画像上で表した場合を示している。
【図20】他顔部位探査領域の設定処理(ST56)の詳細を示すフローチャートである。
【図21】図3に示した追跡処理(ST10)の第2の例を示すフローチャートである。
【図22】図17に示した基準顔部位の判定位置検出処理(ST54)の詳細を示すフローチャートである。
【図23】図20に示した優先顔部位探査領域の設定処理(ST81)の一例を示す説明図であり、(a)は時刻t10において撮像された画像を示し、(b)は時刻t11において撮像された画像を示し、(c)は時刻t12において撮像された画像を示し、(d)は時刻t13において撮像された画像を示し、(e)はこれらの画像上の左眼位置を一画像上で表した場合を示している。
【図24】一方向を視認している場合と顔の向きを変えた場合との左眼位置の分布を示す説明図である。
【図25】図24に示した分布から求まる左眼位置の移動量の解析結果を示す説明図である。
【図26】顔部位の候補が優先顔部位探査領域内に無いと判断された場合に実行される処理を示すフローチャートである。
【図27】図26に示した濃度による基準顔部位判定処理(ST91)の詳細を示すフローチャートである。
【図28】図26に示した周波数画像による顔部位判定処理(ST93)の詳細を示すフローチャートである。
【図29】図28に示した周波数画像生成処理(ST122)の説明図であり、(a)は微小画像IGを示しており、(b)は周波数画像を示している。
【図30】図26に示した候補オブジェクトの幾何形状による基準顔部位判定処理(ST95)の詳細を示すフローチャートである。
【図31】基準優先顔部位探査領域の設定処理(ST81)の詳細を示すフローチャートである。
【図32】基準顔部位探査領域及び優先顔部位探査領域の説明図である。
【図33】基準顔部位探査領域の大きさを可変とする場合の一例を示す説明図である。
【図34】顔部位探査領域の大きさを可変とする場合の他の例を示す説明図である。
【図35】顔部位探査領域の中心位置を設定する場合の一例を示す説明図である。
【図36】図35に示した処理についての画像例を示す説明図であり、(a)は全体画像を示し、(b)は拡大画像を示している。
【図37】顔部位探査領域の中心位置を設定する場合の他の例を示す説明図である。
【図38】左眼の位置及び基準顔部位探査領域の中心位置を含む画像例を示す説明図であり、(a)は全体画像を示し、(b)は拡大画像を示している。
【図39】前処理にて撮像された撮像画像から得られる配置関係情報を示す説明図であり、(a)は画像横方向及び縦方向距離と方向とからなる配置関係情報を示している。また、(b)は顔部位間の線分及び画像水平方向との角度からなる配置関係情報を示している。
【図40】今回処理にて撮像された撮像画像から得られる連続データを示す説明図である。
【図41】他顔部位探査領域の設定の様子を示す説明図であり、(a)は画像横方向及び縦方向距離と方向とからなる配置関係情報に基づく設定の様子を示しており、(b)は顔部位間の線分及び画像水平方向との角度からなる配置関係情報に基づく設定の様子を示している。
【図42】他顔部位探査領域の設定処理の様子を示す要部説明図である。
【図43】前処理にて撮像された撮像画像から得られる配置関係情報を示す説明図であり、被検出者が顔の向きを変えた場合を示している。
【図44】今回処理にて撮像された撮像画像から得られる連続データを示す説明図であり、(a)は全体画像例を示しており、(b)は拡大画像例を示している。
【図45】他顔部位探査領域の設定の様子を示す説明図である。
【図46】被検出者が眼鏡を着用している場合に、前処理にて得られる画像例を示す説明図である。
【図47】被検出者が眼鏡を着用している場合に今回処理にて得られる画像例を示す説明図である。
【図48】複数の微小画像例を示す説明図である。
【図49】眼鏡着用時の他顔部位探査領域の設定の様子を示す説明図である。
【図50】連続データ抽出領域を設定する場合に前処理にて得られる画像例を示す説明図である。
【図51】今回得られた撮像画像上に連続データ抽出領域を設定したときの一例を示す図である。
【図52】他顔部位探査領域及びこの領域の抽出領域の設定の様子を示す説明図である。
【符号の説明】
1…顔部位追跡装置
2…TVカメラ
3…マイクロコンピュータ
10…撮像部(撮像手段)
20…顔部位検出部
30…配置関係取得部(配置関係取得手段)
42a…基準顔部位探査領域設定部(基準顔部位探査領域設定手段)
42b…他顔部位探査領域設定部(他顔部位探査領域設定手段)
43a…基準顔部位位置検出部(基準顔部位位置検出手段)
43b…他顔部位位置検出部(他顔部位位置検出手段)
Claims (13)
- 被検出者の顔部位の動きを追跡する顔部位追跡装置において、
被検出者の顔を撮像して、複数の顔部位のうち基準となる基準顔部位、及び基準顔部位以外の他顔部位を含む撮像画像を取得する撮像手段と、
前記撮像手段により取得された撮像画像に対し、所定の情報に基づいて、画像全体よりも狭くされた基準顔部位追跡用の基準顔部位探査領域を設定する基準顔部位探査領域設定手段と、
前記基準顔部位探査領域設定手段により設定された基準顔部位探査領域内から、基準顔部位の位置を検出する基準顔部位位置検出手段と、
前記撮像画像に対し、前記基準顔部位位置検出手段により検出された基準顔部位の位置と、各顔部位の相対位置を示す配置関係情報とに基づいて、画像全体よりも狭くされた他顔部位追跡用の他顔部位探査領域を設定する他顔部位探査領域設定手段と、
前記他顔部位探査領域設定手段により設定された他顔部位探査領域内から、他顔部位の位置を検出する他顔部位位置検出手段と、
を備えることを特徴とする顔部位追跡装置。 - 前記基準顔部位探査領域設定手段は、所定の情報として、過去に撮像画像から検出された基準顔部位の位置に基づき、前記基準顔部位探査領域を設定することを特徴とする請求項1に記載の顔部位追跡装置。
- 前記基準顔部位探査領域設定手段は、前撮像画像以前の撮像画像における基準顔部位の位置を元に定義される領域を、前記基準顔部位探査領域として設定することを特徴とする請求項2に記載の顔部位追跡装置。
- 前記基準顔部位探査領域設定手段は、前撮像画像以前の撮像画像における基準顔部位の位置から求められた当該基準顔部位のフレーム間移動量に従って、前記基準顔部位探査領域の中心位置を設定することを特徴とする請求項2に記載の顔部位追跡装置。
- 前記基準顔部位探査領域設定手段は、所定の情報として、過去に取得された2以上の撮像画像から求まる基準顔部位の移動量に基づいて、前記基準顔部位探査領域を設定することを特徴とする請求項1〜請求項4のいずれか1項に記載の顔部位追跡装置。
- 前記基準顔部位探査領域設定手段は、所定の情報として、被検出者が顔の向きを変えたときに、サンプリング時間中に移動する基準顔部位の移動量に基づいて、前記基準顔部位探査領域の大きさを決定することを特徴とする請求項1〜請求項5のいずれか1項に記載の顔部位追跡装置。
- 前記基準顔部位探査領域設定手段は、被検出者が顔の向きを変えたときとして、被検出者が顔を上下左右に振っているときを採用することを特徴とする請求項6に記載の顔部位追跡装置。
- 前記他顔部位探査領域設定手段は、前記他顔部位探査領域を前記基準顔部位探査領域以下の大きさで設定することを特徴とする請求項1〜請求項7のいずれか1項に記載の顔部位追跡装置。
- 前記他顔部位探査領域設定手段は、いずれか1つ以上の他顔部位の位置を検出できなかった場合に、前記他顔部位探査領域を広くすると共に、前記他顔部位探査領域を前記基準顔部位探査領域以下の大きさで設定するという制限を解除することを特徴とする請求項8に記載の顔部位追跡装置。
- 検出された複数の顔部位の位置に基づいて、前記配置関係情報を求める配置関係取得手段を更に備えることを特徴とする請求項1〜請求項9のいずれか1項に記載の顔部位追跡装置。
- 前記配置関係取得手段は、前記配置関係情報として、複数の顔部位のうち1の顔部位と前記1の顔部位以外の顔部位との画像縦方向距離及び横方向距離を求めると共に、画像上において前記1の顔部位から前記1の顔部位以外の顔部位へ向かう方向を求めることを特徴とする請求項10に記載の顔部位追跡装置。
- 前記配置関係取得手段は、前記配置関係情報として、画像上において1の顔部位と前記1の顔部位以外の顔部位とを結んだときの線分の長さ、及びその線分と画像所定方向とが為す角度を求めることを特徴とする請求項10に記載の顔部位追跡装置。
- 被検出者の顔部位の動きを追跡する顔部位追跡装置において、
被検出者の顔を撮像して、複数の顔部位のうち基準となる基準顔部位、及び基準顔部位以外の他顔部位を含む撮像画像を取得し、前記撮像画像に対し、所定の情報に基づいて、画像全体よりも狭くされた基準顔部位追跡用の基準顔部位探査領域を設定し、設定した基準顔部位探査領域内から、基準顔部位の位置を検出し、前記撮像画像に対し、検出した基準顔部位の位置と、各顔部位の相対位置を示す配置関係情報とに基づいて、画像全体よりも狭くされた他顔部位追跡用の他顔部位探査領域を設定し、設定した他顔部位探査領域内から、他顔部位の位置を検出することを特徴とする顔部位追跡装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003139406A JP2004341953A (ja) | 2003-05-16 | 2003-05-16 | 顔部位追跡装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003139406A JP2004341953A (ja) | 2003-05-16 | 2003-05-16 | 顔部位追跡装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004341953A true JP2004341953A (ja) | 2004-12-02 |
Family
ID=33528504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003139406A Pending JP2004341953A (ja) | 2003-05-16 | 2003-05-16 | 顔部位追跡装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004341953A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006202047A (ja) * | 2005-01-20 | 2006-08-03 | Toyota Motor Corp | 移動物体検出装置及び移動物体検出方法 |
JP2007322351A (ja) * | 2006-06-05 | 2007-12-13 | Mitsubishi Electric Corp | 3次元物体照合装置 |
JP2011134344A (ja) * | 2011-02-24 | 2011-07-07 | Nintendo Co Ltd | 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法 |
-
2003
- 2003-05-16 JP JP2003139406A patent/JP2004341953A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006202047A (ja) * | 2005-01-20 | 2006-08-03 | Toyota Motor Corp | 移動物体検出装置及び移動物体検出方法 |
JP4609076B2 (ja) * | 2005-01-20 | 2011-01-12 | トヨタ自動車株式会社 | 移動物体検出装置及び移動物体検出方法 |
JP2007322351A (ja) * | 2006-06-05 | 2007-12-13 | Mitsubishi Electric Corp | 3次元物体照合装置 |
JP2011134344A (ja) * | 2011-02-24 | 2011-07-07 | Nintendo Co Ltd | 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法 |
US8718325B2 (en) | 2011-02-24 | 2014-05-06 | Nintendo Co., Ltd. | Computer-readable storage medium, image processing apparatus, image processing system, and image processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3768735B2 (ja) | 顔画像処理装置 | |
US6118887A (en) | Robust multi-modal method for recognizing objects | |
US5715325A (en) | Apparatus and method for detecting a face in a video image | |
EP1426898A2 (en) | Human detection through face detection and motion detection | |
CN101027678B (zh) | 基于单个图像的多生物统计系统及方法 | |
KR101490016B1 (ko) | 인물 화상 처리 장치 및 인물 화상 처리 방법 | |
JP5218168B2 (ja) | 撮像装置、動体検知方法、動体検知回路、プログラム、及び監視システム | |
EP2192549A1 (en) | Target tracking device and target tracking method | |
JPH0676062A (ja) | 画像処理装置 | |
WO2022095440A1 (zh) | 面向自动驾驶的人机协同感知方法及系统 | |
JP4506250B2 (ja) | 上瞼検出装置 | |
JP4529635B2 (ja) | 開閉眼判定装置 | |
JP3936683B2 (ja) | 道路位置検出装置及びプログラム | |
JP2004038624A (ja) | 車両認識方法、車両認識装置及び車両認識用プログラム | |
JP2009205283A (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP2007265281A (ja) | 自影判定方法 | |
JP2004341953A (ja) | 顔部位追跡装置 | |
JP2004334786A (ja) | 状態検出装置及び状態検出システム | |
JP4107104B2 (ja) | 顔部位追跡装置 | |
JP4725096B2 (ja) | 覚醒度判断装置 | |
JP4042602B2 (ja) | 画像処理装置 | |
JP4070450B2 (ja) | 前方車両認識装置及び認識方法 | |
JP5128454B2 (ja) | 瞼検出装置、瞼検出方法及びプログラム | |
JP2005013626A (ja) | 覚醒状態検出装置 | |
JP2005018654A (ja) | 脇見状態検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060403 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080129 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080509 |