以下、本発明の一実施形態について説明する。図1に、本実施形態に係るドライバモニタリング装置10の車両への搭載形態を示し、図2に、ドライバモニタリング装置10のブロック構成を示す。
これらの図に示すように、車両に搭載されるドライバモニタリング装置10は、カメラ1、投光器2、画像処理ECU3、状態推定ECU4、およびアクチュエータ5を有している。なお、ドライバモニタリング装置10は、車両の主電源がオンとなった場合(例えば、イグニッションがオンとなった場合)に作動を開始し、オフとなった場合に作動を終了する。したがって、ドライバモニタリング装置10は、その1回の作動中においては、同じドライバを対象として作動する。
カメラ1は、車両のインストゥルメントパネルのうち、ドライバ席6の正面に近い位置(例えば、メータ付近)に取り付けられている。カメラ1の撮影範囲は、ドライバ7がドライバ席6に着座したときに、ドライバ7の顔8が通常の場合位置するであろう空間領域を含むようになっている。すなわち、カメラ1は、ドライバ席6に着座したドライバ7の顔8を正面から撮影できるように配置されている。
このカメラ1は、ドライバモニタリング装置10の作動中、繰り返し定期的に(例えば1秒に30回)ドライバ7の顔8を撮影し、その撮影の結果得た撮影画像(すなわち、顔8を含む画像)を、撮影順に逐次ECU3に出力する。
なお、カメラ1は、撮影の際には、主に近赤外光を利用する。具体的には、カメラ1には、近赤外光以外の光をほぼ遮るフィルタが取り付けられており、そのフィルタ越しに受けた光を用いて撮影を行うようになっている。
また、カメラは周知のAGC(自動ゲイン制御)機能、および、周知のAEC(自動露出制御)を備えている。AGC機能は、撮影時のカメラ1の周囲の明るさに応じて、撮影画像の全体輝度を、異なる撮影タイミングの撮影画像間で大きく変化しないように調節する機能である。また、AEC機能は、撮影時のカメラ1の周囲の明るさに応じて、異なる撮影タイミングの撮影画像間で大きく変化しないように、カメラ1の露出を調節する機能である。
投光器2は、ドライバ席6に着座したドライバ7の顔8に主に近赤外光を照射するための装置である。この投光器2によって照射された近赤外光が顔8で反射することで、カメラ1によって撮影される顔8の撮影画像が、外部の環境に大きく影響されることなく、鮮明になる。
投光器2としては、例えば近赤外光を照射するLEDを用いてもよい。この投光器2は、車両のインストゥルメントパネルのうち、ドライバ席6の正面に近い位置に取り付けられている。そして投光器2は、ドライバ7がドライバ席6に着座したときに、ドライバ7の顔8が通常の場合位置するであろう空間領域に赤外光が照射されるように、配置されている。
なお、投光器2は、画像処理ECU3からの制御に基づいて、カメラ1による撮影のタイミングに合わせて光を照射するようになっていてもよいし、ドライバモニタリング装置10の作動中常時光を照射し続けるようになっていてもよい。
画像処理ECU3は、図示しないCPU、RAM、ROM、フラッシュメモリ、I/O等を有するマイコン等から成る。そして、CPUがROMから読み出したプログラムをRAMに読み出して実行し、その実行の際に、必要に応じてフラッシュメモリ、カメラ1等から情報を取得し、また必要に応じて、状態推定ECU4に信号を出力する。このようなCPU等の作動により、画像処理ECU3の作動が実現する。
具体的には、画像処理ECU3は、カメラ1から受信したドライバ7の顔8の撮影画像に基づいて、ドライバ7の顔動作状態を逐次判定し、判定したそれら運転状態の情報を、逐次状態推定ECU4に出力する。ここで、ドライバ7の顔動作状態とは、ドライバ7の顔の動作の状態をいう。例えば、顔8の向き、開眼度(すなわち、瞼の開き度合い)、および視線方向(すなわち、ドライバ7が見ている方向)は、それぞれ顔動作状態の一種である。
ただし、画像処理ECU3は、常にドライバ7の顔向き、開眼度、および視線方向のすべてを状態推定ECU4に出力するとは限らず、それらのうちの一部のみを出力する場合もあれば、カメラ1から撮影画像を取得しているにも関わらずそれらを全く出力しない場合もある。画像処理ECU3の詳細な作動については後述する。
状態推定ECU4は、図示しないCPU(コンピュータの一例に相当する)、RAM、ROM、フラッシュメモリ、I/O等を有するマイコン等から成る。そして、CPUがROMから読み出したプログラムをRAMに読み出して実行し、その実行の際に、必要に応じてフラッシュメモリ、カメラ1等から情報を取得し、また必要に応じて、状態推定ECU3からの情報に基づいて、アクチュエータ5を制御する。
具体的には、状態推定ECU4は、画像処理ECU3から受けたドライバ7の顔動作状態の情報に基づいて、ドライバ7が眠気を催しているか否か、ドライバ7が居眠り運転をしているか否か、ドライバ7が脇見運転をしているか否か、等の運転状態を判定し、その判定結果に基づいて、ドライバに警告を与えるため、または、ドライバを覚醒させるため、アクチュエータ5を制御する。このようなCPU等の作動により、状態推定ECU4の作動が実現する。
アクチュエータ5は、ドライバの感覚器官(耳、皮膚等)を刺激するための装置であり、スピーカ5a、シート振動装置5b、および空調装置5cを含んでいる。スピーカ5aは、ドライバの聴覚に働きかける装置である。シート振動装置5bは、ドライバ席6に埋め込まれ、自ら振動することで、その振動をドライバ席6越しにドライバ7に伝える装置である。空調装置5cは、車両の車室内の空気の温度を変化させることで、ドライバの体感温度を変化させる装置である。
状態推定ECU4の具体的な作動は、以下の通りである。まず、状態推定ECU4が、ドライバ7の顔向き、開眼度、および視線方向のすべてを繰り返し受けている場合について説明する。この場合、状態推定ECU4は、ドライバ7の顔向きの変化に基づいてドライバ7の頭の揺れの状態を検出し、また、ドライバ7の開眼度の変化に基づいてドライバ7の瞬きの状態を検出し、それら頭の揺れの状態および瞬きの状態に基づいて、ドライバ7が居眠り状態であるか否か、およびドライバ7が眠気を憶えている状態であるか否かを判定する。また状態推定ECU4は、ドライバ7の顔向きおよび視線方向に基づいて、ドライバ7が脇見運転をしているか否かを判定する。
次に、状態推定ECU4が、ドライバ7の顔向き、開眼度、および視線方向のうち、顔向きおよび開眼度のみを繰り返し受けている場合について説明する。この場合、状態推定ECU4は、ドライバ7の顔向きおよび開眼度に基づいて、ドライバ7が居眠り状態であるか否か、およびドライバ7が眠気を憶えている状態であるか否かを判定する。また状態推定ECU4は、ドライバ7の顔向きのみに基づいて、ドライバ7が脇見運転をしているか否かを判定する。
次に、状態推定ECU4が、ドライバ7の顔向き、開眼度、および視線方向のうち、顔向きおよび視線方向のみを繰り返し受けている場合について説明する。この場合、状態推定ECU4は、ドライバ7の視線のみに基づいて、ドライバ7が居眠り状態であるか否か、およびドライバ7が眠気を憶えている状態であるか否かを判定する。また状態推定ECU4は、ドライバ7の顔向きおよび視線方向に基づいて、ドライバ7が脇見運転をしているか否かを判定する。
次に、状態推定ECU4が、ドライバ7の顔向き、開眼度、および視線方向のうち、顔向きのみを繰り返し受けている場合について説明する。この場合、状態推定ECU4は、ドライバ7の顔向きのみに基づいて、ドライバ7が脇見運転をしているか否かを判定する。
次に、状態推定ECU4が、ドライバ7の顔向き、開眼度、および視線方向のいずれも受けていない場合について説明する。この場合、状態推定ECU4は、ドライバ7が居眠り状態であるか否か、およびドライバ7が眠気を憶えている状態であるか、および、ドライバ7が脇見運転をしているか否かのいずれについても、判定しない。
また、状態推定ECU4は、ドライバ7が居眠り状態であると判定した場合、または、ドライバ7が眠気を憶えていると判定した場合、スピーカ5aに大きな音を出力させ、かつ、シート振動装置5bを振動させ、さらに空調装置5cに車室内温度を低下させることで、ドライバを覚醒させ、ドライバの眠気を覚ます。また、状態推定ECU4は、ドライバ7が脇見運転をしていると判定した場合、スピーカ5aに、「脇見注意」等の警告音声を出力させる。
このように、状態推定ECU4は、画像処理ECU3が検出したドライバの顔動作状態の種類の変化に応じて、車両の運転にとって好ましくないドライバの身体的状況の検出のうち、いずれかの検出を行うかを切り替える。
次に、画像処理ECU3のドライバの顔動作状態の判定の詳細について説明する。画像処理ECU3は、ドライバモニタリング装置10の作動中、図3に示すように、初期発見モード100、トラッキングモード200、再探索モード300という3つの作動モードの間を遷移する。
より具体的には、画像処理ECU3は、ドライバモニタリング装置10の起動直後には、まず初期発見モード100に入る。そして、初期発見モード100において、ドライバ7の顔8および顔8の特徴点の位置および形状の特定を試み、その試みに成功すると、特定した顔8および顔8の特徴点の位置および特徴量(画像認識のための周知の特徴量。以下同じ。)をRAMまたはフラッシュメモリに登録し、その後、矢印11のようにトラッキングモード200に遷移する。なお、顔8の特徴点とは、例えば、右目頭、右目尻、左目頭、左目尻、鼻腔中心(2つの鼻腔の中間点)、左右口端等の点をいう。
また、トラッキングモード200において、初期発見モードにおいて特定した特徴点(以下、顔特徴点という)の位置の追跡を、逐次取得する撮影画像に基づいて撮影順に試み、特定した特徴点の位置等に基づいて、ドライバ7の顔動作状態(ドライバ7の顔向き、開眼度、および視線方向のすべてまたは一部)を特定し、特定した顔動作状態の情報を状態推定ECU4に出力する。また、トラッキングモード200において、顔特徴点の検出に失敗すると、矢印12に示すように、再探索モード300に遷移する。
再探索モード300においては、トラッキングモード200と同様に、逐次取得する撮影画像に基づいて顔特徴点の追跡を撮影順に試み、その試みの回数が基準回数に達する前に(または試みの継続期間が基準時間に達する前に)当該試みに成功すると、矢印13に示すように、再度トラッキングモード200に復帰し、その試みの回数が連続して基準回数失敗すると(または試みの失敗の継続期間が基準時間に達すると)、矢印14に示すように、初期発見モード100に戻る。
このように、画像処理ECU3は、まず初期発見モード100からトラッキングモード200へと遷移し、追跡が成功している間は常にトラッキングモード200が継続することになる。しかしながら、追跡に失敗し特徴点を見つけられなくなると再探索モード300に移行し、特徴点を見失ったままでも、基準回数(または基準時間)の間は、追跡の試みを繰り返す。それでも基準回数(または基準時間)経過しても見つからない場合は、再探索モード300から初期発見モード100に戻る。
再探索モード300において特徴点を見失ったままでも、追跡の試みを繰り返す理由は、後述するように初期発見モード100の処理は計算の負荷(すなわち計算コスト)が高いので、初期発見モード100の実行はなるべく避けたいためである。つまり、一度トラッキングモード200に入ったら、ロスト状態(すなわち、特徴点を見失ったままの状態)が長く続かない限り初期発見モード100には戻らないようになっている。
なお、後述するように、本実施形態においては、トラッキングモード200から再探索モード300に遷移するための条件として、撮影画像中で短期的に1個の特徴点の隠蔽が発生したという条件は採用していない。これは、例えば、手で眼をこすったり、ジュースを飲むために顔にジュース容器を近づけたり、強い西日が顔の一部を照らしたりした場合においてまで、その都度再探索モード300に遷移し、その後隠蔽が終了してトラッキングモード200に戻るという処理を行っていては、ロバストな機能処理ができなくなり不都合であるからである。
したがって、本実施形態においては、顔特徴点のうち、追跡できない顔特徴点が複数あったとしても、下限個数以上の顔特徴点が検出できていれば、トラッキングモード200を継続するようになっている。なお、下限個数は、後述するように、どのようなドライバの顔動作状態を検出するかによって異なっている。
このような、初期発見モード100、トラッキングモード200、再探索モード300間の遷移11〜14のみでは、初期発見モード100の実行時に登録した特徴量をもとに追跡を行うため、ドライバモニタリング装置10の作動途中でドライバがサングラス(より具体的には、近赤外光を遮るサングラス。以下本実施形態において同じ。)やマスクを着脱した場合には、本来トラッキング対象とすべき顔特徴点そのものの数が増減したり特徴量が変化しているにもかかわらず、着脱前の情報に基づいて探索を繰り返し実行することになり、それが原因で不要な処理を実行したり、誤検出の原因になったりすることがある。
例えば、最初は裸顔であったため、顔特徴点として、右目頭、右目尻、左目頭、左目尻、鼻腔中心、左右口端の7箇所の位置と特徴量を登録しその後のドライバの顔移動に追従して顔部品位置をトラッキング(すなわち追跡)していたが、途中でドライバが偏光サングラスを着用した場合、右目頭、右目尻、左目頭、左目尻がほとんど不可視になったにも関わらず、それらの位置を誤検出してしまい、その結果再探索モード300に遷移せずそのままトラッキングを続け、誤った検出結果を状態推定ECU4に出力し続けてしまう恐れがある。
また例えば、その逆に、初期発見モード100の実行時にはサングラスを着用していたために検出可能な顔特徴点が限られた場合についても問題が発生し得る。初期発見モード100の後のトラッキングモード200においても、その限られた顔特徴点のみを用いてドライバの顔動作状態を検出していたが、ドライバがトラッキングモード200の途中でサングラスを外した場合が、そのような場合に該当する。
この場合、初期発見モード100においてはサングラスに隠れて検出できなかった右目頭、右目尻、左目頭、左目尻について、再度初期発見モード100に入って検出し、その後トラッキングモード200に戻り、それら新たな顔特徴点を含めたより多くの情報を使って、ドライバの顔動作状態を検出れば、検出精度や検出機能が高められるはずである。しかし、このような場合、矢印11〜14のような遷移のみでは、トラッキングモード200から初期発見モード100に戻ることがなく、限られた顔特徴点のみを用いたドライバの顔動作状態を継続してしまう。
このような問題を解決するために、30fps(すなわち、1秒間に30フレーム)のサイクルで更新される撮像画像毎に毎回初期発見モード100の処理を実行するということも考えられるが、初期発見モード100の処理負荷は、トラッキングモード200の処理負荷よりも大きいので、処理がサイクルに追いつかない恐れがある。
このように、トラッキングモード200における追跡対象が初期発見モード100において固定化され、モード100〜300間で矢印11〜14のような遷移しか行わない場合においては、初期発見モード100における検出結果を不必要に継続してしまうという問題がある。
そこで、本実施形態においては、図3に示すように、遷移11〜14に加え、トラッキングモード200から初期発見モード100に戻る遷移15、および、再探索モード300から初期発見モード100に戻る遷移16という遷移を実現する。
これらの遷移11〜16を実現するために、画像処理ECU3のCPUが実行するプログラムのフローチャートを、図4〜図6に示す。図4は、初期発見モード100において実行されるプログラムに相当し、図5は、トラッキングモード200において実行されるプログラムに相当し、図6は、再探索モード300において実行されるプログラムに相当する。以下、画像処理ECU3がこれらプログラムを実行するものとして説明する。
まず画像処理ECU3は、ドライバモニタリング装置10の起動直後に初期発見モード100の実行を開始し、まずステップ110で、カメラ1によって撮影された撮影画像を1フレーム分取得する。図7に、撮影画像の一例を示す。なお、取得した撮影画像に対し、輝度調整等の前処理を行うようになっていてもよい。
続いてステップ120で、当該撮影画像から、顔8の眼、口、および鼻を含む領域(以下、顔領域という)21(図7参照)を検出し、検出した顔領域21中の画像を撮影画像から抽出する。この顔領域は、ドライバの顔の撮影画像のうち、サングラスまたはマスクの着用時に覆われる部分と覆われない部分とを共に含む領域の一例に相当する。
顔8を含む撮影画像から顔領域21を検出する方法としては、あらかじめ画像処理ECU3のROMまたはフラッシュメモリに用意された(すなわち、記録された)比較用の画像の特徴情報と、撮影画像の一部分を占める画像の特徴情報との比較に基づいて、検出する方法を採用する。
例えば、ニューラルネット、ブースティング等の周知の統計的手法を用いる。すなわち、あらかじめ多くの人(ほとんどの場合全員が現在のドライバ7と異なる)の顔の顔領域に相当する画像の特徴量を学習した結果の学習データ(比較用の画像の特徴情報の一例に相当する)を、画像処理ECU3のROMまたはフラッシュメモリに用意しておく(すなわち、記録しておく)。そして、撮影画像全体を探索領域とし、その探索領域中に種々の大きさと種々の位置を示す候補領域を画定し、それら画定した種々の候補領域について、当該候補領域の画像の特徴量と、学習データとの一致度を算出する。そして、これら候補領域のうち、最も一致度の高い候補領域を、顔領域21として特定する。
なお、人によって顔の大きさが違い、かつ、ドライバ7の着座位置の車両前後方向も変化し得るので、特定した顔領域21の大きさは、常に同じではない。そこで、画像処理ECU3は、顔領域21を特定した段階で、その顔領域21が所定の大きさになるように、顔領域21を拡大縮小する(すなわち、顔領域21の大きさを正規化する)ようになっていてもよい。
続いてステップ130では、マスク・サングラス着用判定を行う。すなわち、ステップ120で抽出した顔領域21の画像について、マスクおよびサングラスの着用状況を判定する。なお、マスクの着用状況とは、マスクを着用しているか否かをいい、サングラスの着用状況とは、サングラスを着用しているか否かをいう。
マスク・サングラス着用判定を実現する方法としては、あらかじめ画像処理ECU3のROMまたはフラッシュメモリに用意された(すなわち、記録された)比較用の画像の特徴情報と、撮影画像の一部分の(複数個の)画像の特徴情報との比較に基づいて、検出する方法を採用する。
例えば、ニューラルネット、ブースティング等の周知の統計的手法を用いて実現する。すなわち、あらかじめ、マスクのみを着用した顔、サングラスのみを着用した顔、マスクとサングラスを着用した顔、マスクもサングラスも着用していない裸顔、という、着用状況の異なる4種類の顔のそれぞれについて、多くの人(ほとんどの場合全員が現在のドライバ7と異なる)の顔領域の画像の特徴量を学習した結果の学習データ(比較用の画像の特徴情報の一例に相当する)を、画像処理ECU3のROMまたはフラッシュメモリに用意しておく(すなわち、記録しておく)。
そして、ステップ120で抽出した顔領域21の特徴情報と、異なる着用状況に対応する4種類の顔についての4つの学習データのそれぞれと、の一致度を算出する。そして、4つの学習データのうち、最も顔領域21と一致度が高い学習データに対応する着用状況を、現在の顔領域21の画像の着用状況であると判定する。例えば、顔領域21の特徴情報は、サングラスのみを着用した着用状況に対応する学習データとの一致度が最も高い場合、ドライバ7はサングラスを着用しており、マスクを着用していない状態であると判定する。
続いてステップ140では、顔領域21中の顔部品の位置および範囲の検出を試み、検出した顔部品中の画像を撮影画像から抽出する。顔部品とは、眼、鼻(より詳細には鼻腔)、口等、顔の器官(以下、顔器官という)のそれぞれをいう。図8に、ドライバ7の顔8が裸顔である場合の、撮影画像中の顔部品22〜25の一例を示す。
なお、検出を試みる顔部品の種類は、ステップ130における着用状況の判定結果によって変化する。具体的には、ステップ130で、ドライバ7が裸顔であると判定した場合は、左目、右目、鼻、口のそれぞれを顔部品として検出しようとする。また、ドライバ7がサングラスのみを着用していると判定した場合は、左目と右目については検出を試みず、鼻、口のそれぞれを顔部品として検出しようとする。また、ドライバ7がマスクのみを着用していると判定した場合は、左目と右目を検出しようとし、鼻、口のそれぞれについては顔部品として検出を試みない。また、ドライバ7がサングラスもマスクも着用していると判定した場合は、左目と右目、鼻、口のいずれについても検出を試みない。
特定の顔部品を検出する方法としては、あらかじめ画像処理ECU3のROMまたはフラッシュメモリに用意された(すなわち、記録された)比較用の画像の特徴情報と、顔領域21の一部を占める画像の特徴情報との比較に基づいて、検出する方法を採用する。
例えば、ニューラルネット、ブースティング等の周知の統計的手法を用いる。すなわち、あらかじめ多くの人(ほとんどの場合全員が現在のドライバ7と異なる)の顔部品に相当する画像の特徴量を学習した結果の学習データ(比較用の画像の特徴情報の一例に相当する)を、画像処理ECU3のROMまたはフラッシュメモリに用意しておく(すなわち、記録しておく)。そして、当該顔領域21を探索領域とし、その探索領域中に種々の大きさと種々の位置を示す候補領域を画定し、それら画定した種々の候補領域について、当該候補領域の特徴量と、学習データとの一致度を算出する。そして、これら候補領域のうち、最も一致度の高い候補領域を、当該顔部品として特定する。
続いてステップ150では、顔特徴点を検出する。顔特徴点とは、既述の通り、図9に示すように、右目頭22a、右目尻22b、左目頭23a、左目尻23b、鼻腔中心24a、右口端25a、左口端25b等の点をいう。
ステップ140において顔部品として左右の眼を検出している場合は、右目頭22a、右目尻22b、左目頭23a、左目尻23bを顔特徴点として検出する。ステップ140において顔部品として鼻を検出している場合は、鼻孔中心24aを顔特徴点として検出する。ステップ140において顔部品として口を検出している場合は、右口端25a、左口端25bを顔特徴点として検出する。
特定の顔特徴点を検出する方法としては、あらかじめ画像処理ECU3のROMまたはフラッシュメモリに用意された(すなわち、記録された)比較用の画像の特徴情報と、顔特徴点を含む顔部品中の一部を占める画像の特徴情報との比較に基づいて、検出する方法を採用する。
例えば、ニューラルネット、ブースティング等の周知の統計的手法を用いる。すなわち、あらかじめ多くの人(ほとんどの場合全員が現在のドライバ7と異なる)の顔特徴点に相当する画像の特徴量を学習した結果の学習データ(比較用の画像の特徴情報の一例に相当する)を、画像処理ECU3のROMまたはフラッシュメモリに用意しておく(すなわち、記録しておく)。そして、当該顔特徴点を含む顔部品の範囲を探索領域とし、その探索領域中に種々の大きさと種々の位置を示す候補領域を画定し、それら画定した種々の候補領域について、当該候補領域の特徴量と、学習データとの一致度を算出する。そして、これら候補領域のうち、最も一致度の高い候補領域を、当該顔特徴点として特定する。
続いてステップ160では、ステップ150で検出した顔特徴点の位置関係が適正か否かを判定すると共に、下限個数以上の顔特徴点の検出に成功したか否かを判定する。
顔特徴点の位置関係が適正であるとは、例えば、右目頭22a、右目尻22b、左目頭23a、および左目尻23bを検出した場合は、これらの顔特徴点が所定の誤差範囲内で左右に一直線に並んでいるか否かで判定してもよい。また例えば、鼻腔中心24a、右口端25a、左口端25bを検出している場合は、鼻腔中心24aが右口端25aおよび左口端25bよりも上方にあるか否かで判定してもよい。
また、下限個数は、ステップ130で判定されたマスク・サングラス着用状況に応じて変化する。これは、マスク・サングラス着用状況によって、検出可能な顔特徴点に違いがあるからである。例えば、ドライバ7が裸顔であると判定された場合は、図9に示すように、最大7個の特徴点を検出することができる。しかし、ドライバ7がマスクのみを着用していると判定された場合は、図10に示すように、最大でも4個の特徴点しか検出することができない。また、ドライバ7がサングラスのみを着用していると判定された場合は、図11に示すように、最大でも3個の特徴点しか検出することができない。
したがって、ドライバ7が裸顔であると判定された場合、ドライバ7がマスクのみを着用していると判定された場合、ドライバ7がサングラスのみを着用していると判定された場合、および、ドライバ7がサングラスもマスクも着用していると判定された場合、の4つの場合において、下限個数は、それぞれ例えば5、3、2、0であってもよい。
ステップ160では、ステップ150で検出した顔特徴点の位置関係が適正であり、かつ、下限個数以上の顔特徴点の検出に成功した場合に限り、続いてステップ170を実行し、それ以外の場合、次の撮影画像の撮影タイミングまで待ち、撮影タイミングが来ると、再度ステップ110に処理を戻す。
ステップ170では、顔パターン登録を行う。具体的には、ステップ120で検出した顔領域21の位置(すなわち、撮影画像中の位置座標。以下同じ)、大きさ、および顔領域21中の画像(以下、顔画像という)の特徴情報、ステップ140で検出した顔部品22〜25の位置、大きさ、および顔部品の画像の特徴情報、ステップ150で検出した顔特徴点の位置、大きさ、および顔特徴点の画像の特徴情報を、画像処理ECU3のRAMまたはフラッシュメモリに記録する。これら登録された登録情報は、トラッキングモード200においてトラッキング対象として用いられる。
続いてステップ180では、アプリ機能選択を行う。具体的には、ステップ130で判定されたマスク・サングラス着用状況に応じて、トラッキングモード200において検出するドライバの顔動作状態の種類を決定する。ドライバの顔動作状態の種類としては、視線方向、開眼度、顔向きの3つがある。
ステップ130でドライバ7が裸顔であると判定された場合、画像処理ECU3は、視線、開眼度、顔向きのすべてを検出する旨決定する。また、ステップ130でドライバ7がサングラスのみ着用していると判定された場合、3つのうち顔向きのみを検出する旨決定する。また、ステップ130でドライバ7がマスクのみ着用していると判定された場合、視線、開眼度、顔向きのすべてを検出する旨決定する。また、ステップ130でドライバ7がサングラスおよびマスクを着用していると判定された場合、3つのいずれも検出しない旨決定する。図12の表に、マスク・サングラス着用状況と、検出するドライバの顔動作状態の種類との対応関係を示す。
また、ステップ180においては、画像処理ECU3は更に、トラッキングモード200におけるドライバの顔動作状態の検出において、どの顔特徴点の登録情報を利用するかを決定する。例えば、上記の決定によれば、ドライバ7がサングラスおよびマスクを着用していると判定された場合以外では、顔向きの検出を行う旨が決定される。そこで、顔向きの検出のために使用する顔特徴点を、ドライバ7の着用状況に基づいて変化させる。
具体的には、ステップ130でドライバ7が裸顔であると判定された場合、画像処理ECU3は、右目頭22a、右目尻22b、左目頭23a、左目尻23b、鼻腔中心24a、右口端25a、左口端25bのすべての登録情報を用いてドライバ7の顔向きを算出する旨を決定する。
また、ステップ130でドライバ7がサングラスのみ着用していると判定された場合、画像処理ECU3は、鼻腔中心24a、右口端25a、左口端25bのみの登録情報を用いてドライバ7の顔向きを算出する旨を決定する。
また、ステップ130でドライバ7がマスクのみ着用していると判定された場合、画像処理ECU3は、右目頭22a、右目尻22b、左目頭23a、左目尻23bのみの登録情報を用いてドライバ7の顔向きを算出する旨を決定する。
続いてステップ190では、後述するトラッキングモード200中のマスク・サングラス脱着変化判定(図5のステップ240参照)のために用いる情報を記録する。具体的には、脱着判定のために用いる顔領域21中の範囲(以下、脱着変化判定領域という)、および、その脱着変化判定領域中の各画素における現在の輝度情報を記録する。
画像処理ECU3は、脱着変化判定領域を、複数種類採用する。第1種の脱着変化判定領域としては、ドライバ7の眼に相当する領域(以下、眼領域という)と、ドライバ7の口に相当する領域(以下、口領域という)を採用する。また、第2種の脱着変化判定領域としては、ドライバ7の左右いずれかの眼に相当する領域を通り、かつ、上下に延び、顔領域21の上端から下端までに渡る線状領域を採用する。また、第3種の脱着変化判定領域としては、顔領域21全体を採用する。
なお、第2種の脱着変化判定領域および第3種の脱着変化判定領域は、ドライバ7の顔8の撮影画像のうち、サングラスまたはマスクの着用時に覆われる部分と覆われない部分とを共に含む領域に相当する。
ここで、第1種の脱着変化判定領域としての眼領域および口領域の特定方法について説明する。
(1)サングラス非着用時の眼領域特定方法
まず、ステップ130において、ドライバ7が裸顔であると判定されている場合、または、ステップ130において、ドライバ7がマスクのみ着用していると判定されている場合における眼領域の特定方法について説明する。
この場合、画像処理ECU3は、ステップ120で検出した顔領域21の中心位置を基準とし、その中心位置からそれぞれ左方向および右方向にXピクセル、上方向にYピクセルだけ離れた2つの位置を2つの仮の目中心として、そこを中心とする所定の大きさの矩形を探索領域と設定する。
そして、設定された探索領域の内部を従来手法(例えば、テンプレートマッチング)によって、眼の顔部品の位置を求める。なお、テンプレートマッチングのために用いる比較用の画像(すなわちテンプレート画像)の特徴情報は、ステップ140で検出した眼の顔部品の画像の特徴情報を用いる。
なお、ここでいうピクセルとは、撮影画像中の1画素に相当する単位をいう。眼の位置は人によって異なるが、値Xおよび値Yは、ドライバ7によらず同じものを使用してもよい。その場合、あらかじめ人が統計的に調査して得た顔中心に対する眼の左右方向相対位置および上下方向相対位置を、画像処理ECU3のROMまたはフラッシュメモリに記録しておき、このステップ140では、それら記録した値をそれぞれ値X、値Yとして使用する。
あるいは、この場合の別の方法として、ステップ140で特定した目部品の位置を、眼領域として特定してもよい。
(2)サングラス着用時の場合の眼領域特定方法
次に、ステップ130において、ドライバ7がサングラスのみ着用していると判定されている場合、または、ドライバ7がサングラスおよびマスクを着用していると判定されている場合における眼領域の特定方法について説明する。
この場合、画像処理ECU3は、ステップ120で検出した顔領域21の中心位置を基準とし、その中心位置からそれぞれ左方向および右方向に上述のXピクセル、上方向に上述のYピクセルだけ離れた2つの位置を2つの目中心として、そこを中心とする所定の大きさの矩形を眼領域に決定する。
ドライバ7がサングラスを着用しているが故に、このようにして決定された眼領域がドライバ7の眼の位置と一致している保証はない。しかし、サングラスは目そのものよりも数倍大きい面積を占めるものである。したがって、眼領域の大きさとしてあらかじめ定められた大きさが、通常の眼の大きさと同程度のものであれば、サングラスの位置を逸脱した領域を眼領域として設定してしまう可能性は小さい。したがって、設定された眼領域においては、後にドライバ7がサングラスを着用しなくなった場合には、当該眼領域の輝度が大きく変化する。したがって、後述するように、眼領域を用いて確実に着用状況の変化を捉えることができる。
(3)マスク非着用時の口領域特定方法
次に、ステップ130において、ドライバ7が裸顔であると判定されている場合、または、ステップ130において、ドライバ7がサングラスのみ着用していると判定されている場合における口領域の特定方法について説明する。この場合、画像処理ECU3は、ステップ120で検出した顔領域21の中心位置を基準とし、その中心位置から下方向にZピクセルだけ離れた位置を仮の口中心として、そこを中心とする所定の大きさの矩形を探索領域と設定する。
そして、設定された探索領域の内部を従来手法(例えば、テンプレートマッチング)によって、口の顔部品の位置を求める。なお、テンプレートマッチングのために用いる比較用の画像(すなわちテンプレート画像)の特徴情報は、ステップ140で検出した口の顔部品の画像の特徴情報を用いる。
口の位置は人によって異なるが、値Zは、ドライバ7によらず同じものを使用してもよい。その場合、あらかじめ人が統計的に調査して得た顔中心に対する口の上下方向相対位置を、画像処理ECU3のROMまたはフラッシュメモリに記録しておき、このステップ140では、それら記録した値を値Zとして使用する。
あるいは、この場合の別の方法として、ステップ140で特定した口部品の位置を、口領域として特定してもよい。
(4)マスク着用時の場合の口領域特定方法
次に、ステップ130において、ドライバ7がマスクのみ着用していると判定されている場合、または、ドライバ7がサングラスおよびマスクを着用していると判定されている場合における口領域の特定方法について説明する。
この場合、画像処理ECU3は、ステップ120で検出した顔領域21の中心位置を基準とし、その中心位置から下方向にZピクセルだけ離れた位置を口中心として、そこを中心とする所定の大きさの矩形を口領域に決定する。
ドライバ7がマスクを着用しているが故に、このようにして決定された口領域がドライバ7の口の位置と一致している保証はない。しかし、マスクは口そのものよりも数倍大きい面積を占めるものである。したがって、口領域の大きさとしてあらかじめ定められた大きさが、通常の口の大きさと同程度のものであれば、マスクの位置を逸脱した領域を口領域として設定してしまう可能性は小さい。したがって、設定された口領域においては、後にドライバ7がマスクを着用しなくなった場合には、当該口領域の輝度が大きく変化する。したがって、後述するように、口領域を用いて確実に着用状況の変化を捉えることができる。
ステップ190に続いては、図3の矢印11に示すように、トラッキングモード200に遷移する。
トラッキングモード200に入ると、画像処理ECU3は、初期発見モード100または再探索モード300に遷移するまでは、図5のステップ210〜290の処理を、撮影タイミングと同期して、繰り返し実行する。
まずステップ210で、次の撮影画像の撮影タイミングを待ち、撮影タイミングが来ると、ステップ110と同様に、カメラ1から撮影画像を取得する。このとき、ステップ210と同様に、撮影画像に対して前処理を行うようになっていてもよい。
続いてステップ220では、トラッキング(すなわち、追跡)の対象の特徴点の画像および位置情報を読み出す。ここで、トラッキング対象の特徴点とは、初期発見モード100のステップ170で登録した顔領域21、顔部品21〜25、顔特徴点のそれぞれをいう。
読み出し対象の特徴点の画像としては、最後にトラッキングモード200に遷移してから1回以上ステップ260を実行している場合としていない場合とで、用いる情報が異なる。
具体的には、最後にトラッキングモード200に遷移してから1回以上ステップ260を実行している場合は、読み出し対象の特徴点の画像として、前回のステップ260の実行において特定した当該特徴点の画像を用いる。したがって、この場合、後述するステップ230、260で、繰り返し撮影される撮影画像の撮影順に、特徴点の画像が追跡される。
また、最後にトラッキングモード200に遷移してから1回もステップ260を実行していない場合は、読み出し対象の特徴点の画像として、初期発見モード100のステップ170において登録された、特徴点の画像を用いる。したがって、この場合、後述するステップ230、260で、初期発見モード200における撮影画像に基づいて、特徴点の画像が探索される。
同様に、読み出し対象の特徴点の位置情報としては、最後にトラッキングモード200に遷移してから1回以上ステップ260を実行している場合としていない場合とで、用いる情報が異なる。
具体的には、最後にトラッキングモード200に遷移してから1回以上ステップ260を実行している場合は、読み出し対象の特徴点の位置情報として、前回のステップ260の実行において特定した当該特徴点についての、撮影画像中の位置座標を用いる。したがって、この場合、後述するステップ230、260で、繰り返し撮影される撮影画像の撮影順に、特徴点の位置が追跡される。
また、最後にトラッキングモード200に遷移してから1回もステップ260を実行していない場合は、読み出し対象の特徴点の位置情報として、初期発見モード100のステップ170において登録された、特徴点の撮影画像中の位置座標を用いる。したがって、この場合、後述するステップ230、260で、初期発見モード200における撮影画像に基づいて、特徴点の位置が探索される。
続いてステップ230では、顔部のトラッキングを行う。具体的には、ステップ220で読み出した顔領域21の情報を用いて、テンプレートマッチング等の周知の方法により、最新の撮影画像中における顔領域21の位置および大きさを特定する。なお、テンプレートマッチングを行う場合は、読み出した顔領域21の画像をテンプレート画像として用い、また、読み出した顔領域21の位置を中心とする所定の範囲を、探索範囲とする。
この所定の範囲は、カメラ1の撮影周期(具体的には1/30秒)の間に顔領域21が移動できる範囲であればよいので、撮影画像全体に比べて非常に小さい範囲となる。したがって、ステップ230の顔部のトラッキングは、初期発見モード100のステップ120における顔領域検出に比べて、処理負荷が小さい。
続いてステップ240では、マスクおよびサングラスの脱着状況の変化の有無を検出する。この検出のための処理の詳細については後述するが、この処理は、初期発見モード100のステップ130におけるマスク・サングラス着用判定に比べて、処理負荷が小さい。
続いてステップ250では、ステップ240の検出結果に基づいて、マスクおよびサングラスの脱着状況のいずれかに変化があったか否かを判定する。そして、マスクの脱着状況およびサングラスの脱着状況のいずれかに変化があったと判定した場合、図3の矢印15に示すように、直ちにトラッキングモード200から初期発見モード100モードに遷移する。また、マスクの脱着状況およびサングラスの脱着状況のいずれも変化していないと判定した場合、続いてステップ260を実行する。
ステップ260では、顔特徴点の撮影画像中の位置の検出を試みる。つまり、顔特徴点のトラッキングを行う。ただし、トラッキングの対象となる顔特徴点は、最後に初期発見モード100のステップ150で検出され、ステップ170で登録された顔特徴点のみである。このようにすることで、そもそも検出できず、仮に検出できても誤検出となってしまう顔特徴点を検出しようと試みないので、画像処理ECU3における処理負荷が低減される。
顔特徴点の検出において、画像処理ECU3は、ステップ220で読み出した各顔特徴点の情報を用いて、テンプレートマッチング等の周知の方法により、最新の撮影画像中における当該顔特徴点の位置座標を特定する。なお、テンプレートマッチングを行う場合は、読み出した顔特徴点の画像をテンプレート画像として用い、また、読み出した顔特徴点の位置を中心とする所定の範囲を、探索範囲とする。
この所定の範囲は、カメラ1の撮影周期(具体的には1/30秒)の間に顔特徴点が移動できる範囲であればよいので、撮影画像全体に比べて非常に小さい範囲となる。したがって、ステップ260の顔特徴点のトラッキングは、初期発見モード100のステップ150における顔特徴点の検出に比べて、処理負荷が小さい。
続いてステップ270では、ステップ260において、顔特徴点のうち、下限個数以上の顔特徴点の検出に成功したか否かを判定する。マスクおよびサングラスの着用状況に変化がなく、かつ、初期発見モード100で検出できた顔特徴点が検出できない場合としては、例えば、手で眼をこすったり、ジュースを飲むために顔にジュース容器を近づけたり、強い西日が顔の一部を照らしたりした場合が考えられる。
なお、下限個数としては、最後に初期発見モード100のステップ130で判定されたマスク・サングラス着用状況に応じて変化する。例えば、ここで用いる下限個数は、最後に実行された初期発見モード100のステップ160において用いられた下限個数の値と同じように変化してもよい。
下限個数以上の顔特徴点の検出に成功した場合、続いてステップ280を実行し、そうでない場合、図3の矢印12に示すように、直ちにトラッキングモード200から再探索モード300に遷移する。
ステップ280では、3つのドライバの顔動作状態(すなわち、顔向き、開眼度、視線方向)のうち、ステップ180で検出する旨決定した顔動作状態の検出を行う。ドライバの顔動作状態は、ステップ260で検出した顔特徴点の位置に基づいて決定する。顔特徴点の位置から顔向き、開眼度、視線方向を検出する技術は周知であり、例えば、特許文献1〜5に詳細に記載されている。
例えば、視線方向は、右目頭22a、右目尻22bの位置と、周知の方法で特定した右眼の瞳部分と、の相対的な位置関係、ならびに、左目頭23a、左目尻23bの位置と、周知の方法で特定した左目の瞳部分との相対的な位置関係に基づいて特定するようになっていてもよい。また例えば、特定の眼の開眼度は、右目頭22a、右目尻22bの位置をもとに、その眼の上瞼から下瞼の位置を検出し、検出結果(例えば、上瞼から下瞼までの距離)に基づいて特定するようになっていてもよい。
また、顔向きは、顔特徴点のうち、初期発見モード100のステップ180で顔向きの検出に用いる旨決定した顔特徴点のみを用いて行う。具体的には、例えば、図13に示すように、使用する顔特徴点について検出した位置と、あらかじめ画像処理ECU3のROMまたはフラッシュメモリに記録した顔の3次元立体モデル90中の所定の顔特徴点を平面(具体的には、撮影方向に対して垂直な平面)に投影した位置と、の間の誤差が最小となるように、当該3次元立体モデルの向きを算出し、算出した向きを、ドライバ7の顔向きとして算出するようになっていてもよい。この場合、位置を検出できた顔特徴点の数が2つ以上あれば、顔向きを特定することができるが、顔向きの決定に用いる顔特徴点の数が少なくなればなるほど、顔向きの算出精度は低下する。
このように、画像処理ECU3は、初期発見モード100のステップ180で検出する旨決定した顔動作状態のみ検出を試みる。したがって、実際には検出できない、または、誤検出を行ってしまう可能性の高い顔動作状態については、検出を試みないので、無駄な処理のために画像処理ECU3のCPU資源を費してしまう可能性が低下する。
続いてステップ290では、ステップ280で算出したドライバの顔動作状態の情報を、状態推定ECU4に出力する。ステップ290に続いては、次のカメラ1の撮影タイミングを待ち、撮影タイミングが訪れると、再度ステップ210を実行する。
次に、再探索モード300について説明する。再探索モード300に入ると、画像処理ECU3は、初期発見モード100またはトラッキングモード200に遷移するまでは、図6のステップ310〜395の処理を、撮影タイミングと同期して、繰り返し実行する。
なお、ステップ310、320、330、340、350、360、370、380、390の処理内容は、それぞれトラッキングモード200における210、220、230、240、250、260、270、280、290の処理内容と同じである。ただし、ステップ320において読み出すトラッキング対象の特徴点の画像および位置情報は、常に、初期発見モード100のステップ170で登録された画像および位置情報となっている。その意味で、再探索モードでは、特徴点の追跡ではなく探索を行うようになっている。
再探索モード300の実行において画像処理ECU3は、ステップ370で、下限数以上の特徴点を検出することができなかったと判定すると、続いてステップ393において、カウンタ数を1回分インクリメントする。なお、このカウンタ数は、画像処理ECU3のRAM中の変数であり、再探索モード300の実行開始時にゼロにリセットされるようになっている。
続いてステップ395では、このカウンタ数が基準回数(例えば300回)を超えたか否かを判定し、超えた場合、図3の矢印14に示すように、再探索モード300から初期発見モード100に遷移する。また、超えていない場合、次のカメラ1の撮影タイミングを待ち、撮影タイミングが訪れると、再度ステップ310を実行する。
このように、再探索モード300においては、マスクおよびサングラスの脱着状況に変化があったときに、ステップ350を経て初期発見モード100に遷移する作動(図4の矢印16の遷移に相当する)のみならず、ステップ310〜395の処理が基準回数を超えて連続して繰り返された場合にも、ステップ395を経て初期発見モード100に遷移する(図3の矢印14の遷移に相当する)。
このように、再探索モード300においては、多くの特徴点を見失ったままでも、基準回数(または基準時間)の間は、追跡の試みを繰り返す。そして、それでも基準回数(または基準時間)経過しても多くの特徴点が見つからない場合は、再探索モード300から初期発見モード100に戻る。
また画像処理ECU3は、ステップ370で、下限数以上の特徴点を検出することができたと判定すると、続いてステップ375において、ステップ180で算出する旨決定したドライバの顔動作状態を算出し、続いてステップ390でその算出結果を状態推定ECU4に出力し、その後トラッキングモード200に戻る(図3の矢印12の遷移に相当する)。
このように、車両内のドライバ7の顔8の撮影画像に基づいて、ドライバ7の顔動作状態を検出するための画像処理ECU3は、初期発見モード100、トラッキングモード200、および再探索モード300の3つの作動モードの間を遷移して作動するようになっている。
そして、画像処理ECU3は、初期発見モード100において、撮影画像中のドライバ7の顔領域21、顔部品(すなわち顔器官)22〜25、および顔特徴点の画像および位置座標を、ニューラルネット、ブースティング等の統計的手法で特定する。
また画像処理ECU3は、初期発見モード100に続いて、トラッキングモード200において、繰り返し撮影されたドライバの顔の撮影画像のそれぞれに対して、初期発見モード100において特定した顔の特徴点の画像に類似する画像を当該撮影画像の順番に沿って追跡することで、顔特徴点の位置を繰り返し特定する。
また、画像処理ECU3は、トラッキングモード200で下限数以上の顔特徴点の位置の特定に失敗したことを起因として、再探索モード300に遷移し、再探索モード300において、繰り返し撮影されたドライバの顔の撮影画像のそれぞれに対して、初期発見モード100において特定した顔特徴点の画像に類似する画像を探索することで、顔特徴点の位置を繰り返し特定しようと試み、その繰り返しにおける基準回数以内に顔特徴点の位置の特定に成功した場合、トラッキングモード200に戻り、その繰り返しにおける基準回数以内に顔特徴点の位置の特定に成功しなかった場合、初期発見モード100に戻るようになっている。
そして、画像処理ECU3は、初期発見モード100において、カメラ1の撮影画像に基づいて、ドライバ7についてのサングラスおよびマスクの着用状況を判定し、その判定した着用状況に基づいて、ドライバ7の顔動作状態を検出する方法(例えば、3つのドライバの顔動作状態のうちいずれを検出するか)を選択するようになっている(図4のステップ180参照)。
このように、サングラスおよびマスクの着用状況に基づいて、ドライバ7の顔動作状態を検出する方法を切り替えることで、ドライバ7によるサングラス、マスクの着用状況に適した方法で、ドライバ7の顔動作状態を検出することができる。
そして、画像処理ECU3は、トラッキングモード200において、ステップ240でマスク・サングラスの着用状況のいずれかに変化があったことを検出すると、ステップ250を経て再度初期発見モード100に戻る(図3の矢印15参照)。また同様に、画像処理ECU3は、再探索モード300において、ステップ340でマスク・サングラスの着用状況に変化があったことを検出すると、ステップ350を経て再度初期発見モード100に戻る(図3の矢印16参照)。
このように、初期発見モード100からトラッキングモード200への移行後、トラッキングの途中でドライバ7がマスクやサングラスを着脱した場合においても、簡便な処理でモード間の遷移ができるようにすることで、マスク、サングラスといった着用物(遮蔽物)の着用状況に変化があっても、その変化に対して柔軟に対応可能な顔画像トラッキング手法を提供することができる。
例えば、初期発見モード100においてドライバ7がサングラスを着用しているため、画像処理ECU3が眼を検出できなかった場合、画像処理ECU3は、トラッキングモード200、再探索モード300における開眼度および視線方向の検知は諦めて、やむを得ず顔向き角度検知機能のみを実行することになる。しかし、ドライバ7が途中でサングラスを外した場合は、自動的に初期発見モード100に戻り、ドライバがサングラスをしていない旨を判定し(ステップ130参照)その上でドライバ7の眼および眼に関する顔特徴点を検出し(ステップ140、150参照)、その上で開眼度検出機能を実行することができる。
なお、初期発見モード100における顔領域21の検出(ステップ120参照)、顔部品22〜25の検出(ステップ140参照)、および顔特徴点の検出(ステップ150参照)の処理は、トラッキングモード200の顔領域21のトラッキング(ステップ230参照)、顔特徴点の位置検出(ステップ260)の処理に比べて、処理負荷が高い。
その理由の1つ目は、初期発見モードにおいては、ニューラルネットやブースティングといった統計的手法を用いて、ドライバ7の顔8の撮影画像と、ドライバ7以外の複数の人の顔の画像の特徴情報とを比較することで、顔領域21、顔部品22〜25、顔特徴点を探索しなければならないのに対し、トラッキングモード200では、すでに探索できたドライバ7自身の顔領域21、顔部品22〜25、顔特徴点の画像を、最新のドライバ7の撮影画像と比較して探索することができるので、ニューラルネットやブースティング等の統計的手法を用いずに済むことである。
理由の2つ目は、初期発見モード100においては、顔領域21、顔部品22〜25、顔特徴点を、広い探索領域から探さなければならないのに対し、トラッキングモード200では、直前の顔領域21、顔特徴点を、前回の撮影画像中の当該顔領域21、顔特徴点の位置から少し離れた位置のみに絞って探索すればよいことである。
本実施形態においては、トラッキングモード200、再探索モード300においてマスク・サングラスの着用状況に変化があった場合には、再度初期発見モード100に戻って、マスクおよびサングラスの着用状況の判定(ステップ130参照)を行っている。
このような初期発見モード100において、画像処理ECU3は、マスクおよびサングラスの着用状況の判定(ステップ130参照)を行った後に、その着用状況に応じて、検出可能な顔部品および顔特徴点のみについて、検出を試みている(ステップ140、150参照)。このようになっているので、そもそも検出できるはずのない顔部品および顔特徴点を検出しようと試みてしまうことに起因する、無駄な処理負荷の増大を抑えることができる。
ここで、トラッキングモード200のステップ240において実行され、また、再探索モード300のステップ340において実行される、マスクおよびサングラスの着用状況の変化の有無の検出について詳細に説明する。
画像処理ECU3は、この変化の有無の検出のために、以下に示す方法1〜5のいずれか1つ、または2つ以上の組み合わせを採用する。なお、2つ以上の組み合わせを採用する場合は、それらの方法のうちの1つにおいて、脱着状況に変化があったと判定した場合に、脱着状況に変化があった旨を検出するようになっていてもよい。あるいは、2つ以上の組み合わせを採用する場合は、それらの方法のすべてにおいて、脱着状況に変化があったと判定した場合にのみ、脱着状況に変化があった旨を検出するようになっていてもよい。
(方法1):
方法1では、最後に実行された初期発見モード100のステップ190によって記録された第1種の脱着変化判定領域の輝度情報を利用する。この第1種の脱着変化判定領域は、既述の通り、ドライバ7の眼に相当する眼領域と、ドライバ7の口に相当する口領域である。
方法1では、口領域中の各画素について初期発見モード100で記録された輝度を用いて、輝度ヒストグラムA0を作成する。また、最新の撮影画像中の、当該口領域に相当する部分中の各画素についての輝度ヒストグラムA1を作成する。なお、輝度ヒストグラムとは、輝度別の頻度分布をいう。そして、この輝度ヒストグラムA0を用いて、平均輝度M0および輝度の標準偏差SD0を算出する。また、この輝度ヒストグラムA1を用いて、平均輝度M1および輝度の標準偏差SD1を算出する。
図14および図15に、それぞれマスクを着けた状態およびマスクを外した状態における、顔領域35、38内の口領域36、39、および、口領域36、39についての輝度ヒストグラム37、40の例を示す。この図に典型的に示されているように、マスク着用時の口領域36、39中の画素の輝度は、比較的輝度の高く(すなわち明るく)、かつ狭い範囲に集中している一方、マスク非着用時の輝度平均値は、比較的輝度が低く(すなわち暗く)、かつ広い範囲に分布している。
したがって、例えば、平均輝度M0が所定の第1の輝度閾値より低く、かつ、標準偏差SD0が所定の閾値T0より大きい場合に、平均輝度M1が当該所定の第1の輝度閾値より高く、かつ、標準偏差SD1が所定の閾値T1(閾値T0と同じであってもよいし、閾値T0よりも小さくてもよい)より小さくなった場合に、マスクの着用状況に変化があったと判定するようになっていてもよい。この場合は、具体的には、マスクを着用していない状況から着用した状況に変化した場合に相当する。ここで、画素の輝度値が0〜255までの255階調を取ることができる場合は、第1の輝度閾値は200であってもよい。またこの場合、標準偏差についての閾値T0、T1は、20であってもよい。
また逆に、平均輝度M0が所定の第1の輝度閾値より高く、かつ、標準偏差SD0が所定の閾値T1より低い場合に、平均輝度M1が当該所定の第1の輝度閾値より低く、かつ、標準偏差SD1が所定の閾値T0より大きくなった場合にも、マスクの着用状況に変化があったと判定するようになっていてもよい。この場合は、具体的には、マスクを着用している状況から着用していない状況に変化した場合に相当する。
また、平均輝度M0と平均輝度M1との差が基準値以上であり、かつ、標準偏差SD0と標準偏差SD1との差が基準値以上である場合に、マスクの着用状況に変化があったと判定するようになっていてもよい。
同様に、方法1では、眼領域中の各画素について初期発見モード100で記録された輝度を用いて、輝度ヒストグラムA2を作成する。また、最新の撮影画像中の、当該眼領域に相当する部分中の各画素についての輝度ヒストグラムA3を作成する。そして、この輝度ヒストグラムA2を用いて、平均輝度M2および輝度の標準偏差SD2を算出する。また、この輝度ヒストグラムA3を用いて、平均輝度M3および輝度の標準偏差SD3を算出する。
サングラス着用時の眼領域中の画素の輝度は、比較的輝度の低く(すなわち暗く)、かつ狭い範囲に集中している一方、サングラス非着用時の眼領域中の画素の輝度は、比較的輝度が高く(すなわち明るく)、かつ狭い範囲に分布している。
したがって、例えば、平均輝度M2が所定の第2の輝度閾値より高く、かつ、標準偏差SD2が所定の閾値T2より大きい場合に、平均輝度M3が当該所定の第2の輝度閾値より低く、かつ、標準偏差SD3が所定の閾値T3(閾値T2と同じであってもよいし、閾値T2よりも小さくてもよい)より小さくなった場合に、サングラスの着用状況に変化があったと判定するようになっていてもよい。この場合は、具体的には、サングラスを着用していない状況から着用した状況に変化した場合に相当する。なお、第2の輝度閾値は、第1の輝度閾値より小さい値を用いる。
また逆に、平均輝度M2が所定の第2の輝度閾値より低く、かつ、標準偏差SD2が所定の閾値T3より低い場合に、平均輝度M1が当該所定の第2の輝度閾値より高く、かつ、標準偏差SD2が所定の閾値T2より大きくなった場合にも、サングラスの着用状況に変化があったと判定するようになっていてもよい。この場合は、具体的には、サングラスを着用している状況から着用していない状況に変化した場合に相当する。
また、平均輝度M2と平均輝度M3との差が基準値以上であり、かつ、標準偏差SD2と標準偏差SD3との差が基準値以上である場合に、マスクの着用状況に変化があったと判定するようになっていてもよい。
このように、輝度平均値に他の量を加味してマスク、サングラスの着用状況を判定するのは、撮像系(すなわちカメラ1)におけるAGC、AECの作動内容によっては、着用物の着用時と非着用時とで、輝度平均値がほとんど変化しないようになってしまう可能性があるからである。
なお、上記の方法1においては、輝度平均値に変えて、輝度中央値(メジャー)を用いてもよいし、輝度最頻値(モード)を用いてもよいし、輝度自乗平均値{Σ(輝度)2×頻度}/Nを用いてもよい。ここで、Σは、輝度値についての総和を示し、Nは、口領域または眼領域中の総画素数である。
このように、画像処理ECU3は、着用状況の変化の検出において、ドライバ7の顔のうち、サングラスまたはマスクの着用時に覆われる部分に相当する部分画像(すなわち、口領域画像または眼領域の画像)を、ドライバ7の顔の撮影画像中から抽出し、当該部分画像における輝度別の頻度分布の統計的ばらつき度合い(より具体的には、輝度の標準偏差)の変化等に基づいて、着用状況に変化があった旨を検出するようになっている。
このような作動は、人間の目や口に比べればサングラスまたはマスクの輝度は一様であるという一般的な傾向を利用するものである。すなわち、サングラスまたはマスクの着用時に覆われる部分においては、マスクまたはサングラスを着用した状態と、そうでない状態では、輝度別の頻度分布の統計的ばらつき度合いが大きく異なる。
つまり、サングラスまたはマスクを着用している状態から、サングラスまたはマスクを着用していない状態に変化した場合、眼領域または口領域の画像(部分画像に相当する)における輝度別の頻度分布の統計的ばらつき度合いが大きくなる。また、サングラスまたはマスクを着用していない状態から、サングラスまたはマスクを着用している状態に変化した場合、眼領域または口領域の画像(部分画像に相当する)における輝度別の頻度分布の統計的ばらつき度合いが小さくなる。
(方法2):
方法2では、ヒストグラムA0(またはA2)において輝度最頻値(モード)となる輝度L0(またはL2)における頻度が閾値より大きく、ヒストグラムA1(またはA3)において輝度最頻値(モード)となる輝度L1(またはL3)における頻度が閾値より小さい場合に、マスク(またはサングラス)の着用状況に変化があったと判定するようになっていてもよい。また逆に、ヒストグラムA0(またはA2)において輝度最頻値(モード)となる輝度L0(またはL2)における頻度が閾値より小さく、ヒストグラムA1(またはA3)において輝度最頻値(モード)となる輝度L1(またはL3)における頻度が閾値より大きい場合にも、同様に、マスク(またはサングラス)の着用状況に変化があったと判定するようになっていてもよい。
このような作動は、マスク(またはサングラス)を着用している場合、多くの面積に渡って同一の輝度値を示す確率が高いことに着目したものである。それに対し、人の肌の場合、陰影ができるため隣り合う画素であっても微妙に輝度値が異なる。このような、「ヒストグラムにおける、輝度最頻値(モード)となる輝度における頻度」も、頻度分布の統計的ばらつき度合いを示す量の一例である。
(方法3):
方法3では、図16、図17に示すように、初期発見モード100のステップ190で輝度情報が記録された第2種の脱着変化判定領域42、47における輝度分布43、48を用いて、マスクの着用状況の変化の有無を判定する。第2種の脱着変化判定領域42、47とは、既述の通り、ドライバ7の左右いずれかの眼に相当する領域を通り、かつ、顔領域42、46の上端から下端まで延びる直線状の領域である。
図16、図17における、第2種の脱着変化判定領域42、47に沿った輝度分布43、48に典型的に示されるように、マスク着用時においては、マスクに相当する部分と、マスク以外の部分とで、輝度が大きく異なっている。その一方で、マスク非着用時においては、上下方向(第2種の脱着変化判定領域47に沿った方向)に関する輝度の変化が、比較的少ない。
その表れとして、マスク着用時においては、輝度分布43が、参照輝度45を跨いでいるのに対し、マスク非着用時においては、輝度分布43が、参照輝度45を跨いでいない。また、輝度分布43、48を平滑化した(すなわち、鈍した)平滑化輝度分布44、49も、同様の特性を有している。なお、ここで「輝度分布が参照輝度を跨ぐ」とは、第2種の脱着変化判定領域を3分割したときに、一方の端部の全範囲において輝度が参照輝度より大きく、他方の端部の全範囲において輝度が参照輝度より小さくなっていることをいう。
この点を利用して、方法3では、初期発見モード100のステップ190で取得した第2種の脱着変化判定領域における輝度分布を平滑化した平滑化輝度分布L4と、最新の撮影画像における第2種の脱着変化判定領域の輝度分布を平滑化した平滑化輝度分布L5とを用いて、マスクの着用状況の変化の有無を判定する。図16おうよび図17においては、実践44および49が、平滑化輝度分布に相当する。
例えば、平滑化輝度分布L4が、ある参照輝度(図16、図17の輝度45に相当する)を跨いでおり、また、平滑化輝度分布L5が、当該参照輝度を跨いでいない場合には、マスクの着用状況に変化があったと判定する。また逆に、平滑化輝度分布L4が、当該参照輝度を跨いでおらず、また、平滑化輝度分布L5が、当該参照輝度を跨いでいる場合には、マスクの着用状況に変化があったと判定する。なお、平滑化した輝度分布を用いるのは、画素ごとのノイズ要因となるアバレを防ぐこと、および顔の微小器官(瞳、睫等)による輝度変化の振れを低減することである。
なお、方法3では、上下に延びる線状の第2の脱着変化判定領域の輝度分布ではなく、顔全体の輝度L(X、Y)を、X方向(すなわち左右方向)に積分した値S(Y)=∫L(X、Y)dXにおけるY方向(すなわち上下方向)の輝度分布(すなわち、顔全体の輝度値投影)を用いてもよい。
このように、方法3では、画像処理ECU3は、着用状況の変化の検出において、ドライバ7の顔のうち、マスク(またはサングラス)の着用時に覆われる部分と覆われない部分とを共に含む領域の輝度分布の変化があったことに基づいて、着用状況に変化があった旨を検出するようになっていてもよい。
このような作動は、人の皮膚と、サングラスまたはマスクとでは、輝度に大きな差があるという一般的な傾向を利用するものである。すなわち、サングラスまたはマスクの着用時に覆われる部分と、その外の部分との間の輝度の乖離は、マスクまたはサングラスの着用時には大きくなり、非着用時には小さくなる。
(方法4):
方法4では、図18、図19に示すように、初期発見モード100のステップ190で輝度情報が記録された第3種の脱着変化判定領域(すなわち顔領域全体)51、53における輝度ヒストグラム52、54を用いて、マスク、サングラスの着用状況の変化の有無を判定する。
この方法は、顔領域全体52、54が判定の対象になるので、顔全体に占める着用物(サングラス、マスク)の面積は小さくなる。しかしながら、図19に典型的に示されるように、ドライバ7が裸顔である場合は、輝度ヒストグラム54が、1つのピークを持つ正規分布に近い分布となる。そして、図18に典型的に示されるように、ドライバ7がサングラスのみを着用した場合は、輝度ヒストグラム52が2つのピークを持つ分布となる。なお、図示しないが、ドライバ7がマスクのみを着用した場合も、輝度ヒストグラムが2つのピークを持つ分布となる。また、ドライバ7がマスクおよびサングラスを着用した場合は、輝度ヒストグラムが3つのピーク(極大値)を持つ分布となる。
方法4では、このような特性を利用して、着用物の着用状況の変化の有無を判定する。具体的には、まず、初期発見モード100のステップ190で輝度情報を取得した第3の脱着変化判定領域内の輝度ヒストグラムと、最新の撮影画像の第3の脱着変化判定領域の輝度ヒストグラムのそれぞれに対して周知の平滑化フィルタをかける。そして平滑化したヒストグラムに対し、一階微分、二回微分等の演算を行うことにより、平滑化したヒストグラムにおけるピークの位置を特定し、特定したピークの位置の個数を算出する。
そして、これら2つのヒストグラムにおいて、ピークの個数が異なっていれば、着用物の着用状況に変化があったと判定する。ただし、2つのピーク間の輝度差が基準差(例えば、輝度値の範囲が0〜255である場合には、50)未満の場合には、それら2つのピークを1つのピークと見なす。
このように、方法4では、画像処理ECU3は、ドライバ7の眼、口、鼻を含む顔に相当する部分画像51、53(ドライバの顔の撮影画像のうち、サングラスまたはマスクの着用時に覆われる部分と覆われない部分とを共に含む領域の画像に相当する)を、ドライバ7の顔の撮影画像中から抽出し、当該部分画像51、53における輝度別の頻度分布中のピークの数の変化に基づいて、着用状況に変化があった旨を検出するようになっていてもよい。
このような作動は、人の皮膚、サングラス、マスクの間とでは、輝度に大きな差があるという一般的な傾向を利用するものである。すなわち、サングラスまたはマスクの着用時には、顔に相当する部分画像についての輝度別の頻度分布は、サングラスまたはマスクの典型的な輝度に対応するピークと、ドライバの皮膚の典型的な輝度に対応するピークを有する分布となる。また、サングラスまたはマスクの非着用時には、ドライバの皮膚の典型的な輝度を1つのピークとする正規分布に近い分布となる。
(方法5):
方法5では、図20に示すように、第3種の脱着変化判定領域(すなわち眼、口、鼻を含む顔領域全体)61を、縦横方向に複数個のブロックに分割し、それら分割した個々のブロック内における平均輝度を用いて、顔領域61の輝度パターンを作成する。そして、その輝度パターン内の輝度分布の変化に基づいて、着用物の着用状況の変化の有無を判定する。なお、分割されたブロックの個数は、例えば64個以内であってもよい。さらに詳しくは図20のように、縦5×横5の25個であってもよい。また、輝度平均に変えて、輝度最頻値、輝度中央値等を用いてもよい。
より具体的には、方法5では、初期発見モード100のステップ190で記録された顔領域全体の輝度情報に基づいて、顔領域の輝度パターンα0を作成し、また、最新の撮影画像における顔領域中の輝度情報に基づいて、顔領域の輝度パターンα1を作成する。
そして、輝度パターンα0中の(1つまたは複数の)特定の第1のブロックの輝度平均値と、輝度パターンα0中の(1つまたは複数の)他の第2のブロックの輝度平均値(輝度最頻値でも輝度中央値でもよい。以下同じ)と、の比β0を算出する。同様に、輝度パターンα1中の(1つまたは複数の)特定の第3のブロックの輝度平均値と、輝度パターンα1中の(1つまたは複数の)他の第4のブロックの輝度平均値と、の比β1を算出する。そして、比β0と比β1との差が所定の基準値以上であれば、着用物の着用状況に変化があったと判定する。
なお、輝度パターンα0中の第1のブロックの位置と、輝度パターンα1中の第3のブロックの位置とは同じである。また、輝度パターンα0中の第2のブロックの位置と、輝度パターンα1中の第4のブロックの位置とは同じである。
図21および図22に、第1のブロックの範囲Aと、第2のブロックの範囲Bの例を、それぞれ1つずつ示す。図21の例においては、第2のブロックの範囲Bは、ドライバ7の口の領域に相当する。
このように、同じ輝度パターン中の異なる位置間の比を用いるのは、外界の照明条件が異なる場合には、輝度パターン全体が暗くなったり明るくなったりしてしまうため、注目すべきブロック(例えばブロックB)が、その当該注目すべきブロック以外のブロックであり、かつ当該注目すべきブロックから外れた領域(例えば、明らかにマスクから外れた領域)に対して、どう変化したかに着目する。
また図22の例においては、第2のブロックの範囲Bは、ドライバ7の口の領域およびその周囲の領域に相当する。このように、第2のブロックの範囲Bを広げるのは、人によって口の位置および大きさが異なることに対応して、より多くの人の口の範囲を第2のブロックの範囲Bにカバーさせるためである。
このように、方法5では、画像処理ECU3は、ドライバ7の顔に相当する部分画像を、ドライバの顔の撮影画像中から抽出し、当該部分画像を更に複数の分割画像(ブロック)に分割し、当該複数の分割画像中で、サングラスまたはマスクの着用時に覆われる分割画像(第2のブロックの範囲Bの画像)の輝度と、他の分割画像の輝度と、の比較値の変化に基づいて、着用状況に変化があった旨を検出するようになっていてもよい。
このようにすることで、外乱光等の影響で撮影画像全体の明暗に変化があったとしても、顔の所定の部分の間の輝度の比較を用いることで、サングラスまたはマスクの着用状況の変化の検出に対して外乱光等が与える影響を低減することができる。
(他の方法):
また、外乱光の影響で、マスクやサングラス領域が暗くなったり明るくなったりする場合の誤検知を防ぐために、例えば、方法1〜5における各画素の輝度に変えて、ドライバ7の同じ撮影画像中の、頬の上部、顎部、額部等の、マスクにもサングラスにも隠れず、かつ、顔の特徴点でもない部分の輝度(以下、基準輝度という)に対する、各画素の輝度の比を用いてもよい。
また、第1の方法においては、眼領域を、左右の眼のそれぞれに設け、各眼領域について、第1の方法に示したような判定を行い、両方の眼領域において、サングラスの着用状況に変化があったと暫定的に判定したときに限って、サングラスの着用状況の変化があったと最終的に判定してもよい。その場合、片方の眼領域のみについて、サングラスの着用状況の変化があったと暫定的に判定したときは、その判定結果をノイズとみなして無視し、サングラスの着用状況に変化がなかったと最終的に判定するようになっていてもよい。このようにするのは、サングラスの影響は常に両目で同じであると考えられるからである。
また、第1〜第5の方法において、初期発見モード100のステップ190において輝度情報を記録したときのカメラ1のAGCまたはAECの作動状態を記録しておき、また、最新の撮影画像の撮影時におけるカメラ1のAGCまたはAECの作動状態を取得し、それらAGCまたはAECの変化による影響を打ち消すために、初期発見モード100時の輝度情報と、最新の撮影画像の輝度情報を補正するようになっていてもよい。このようにすることで、初期発見モード100時の輝度情報と、最新の撮影画像の輝度情報が、あたかもAECまたはAECに関して同じ作動条件で撮影されたかのような状態で、着用物の着用状況の変化の検出を行うことができる。
以上説明した通り、画像処理ECU3は、初期発見モード100で、ドライバ7の撮影画像と、あらかじめ用意して記録されているドライバ7以外の複数の人の画像(すなわち学習データ)の特徴情報との比較に基づいて、着用状況を判定し、その後に、トラッキングモード200において、ドライバ7の撮影画像間の変化に基づいて、着用状況に変化があったことを検出し、その変化を検出したことを起因として、着用状況を再度判定し、また、着用状況が再度判定されたことを起因として、再度判定された着用状況に基づいて、ドライバの顔動作状態を検出する方法を変化させるようになっている。そしてこの際、着用状況に変化があったことの検出は、あらかじめ用意して記録されているドライバ7以外の人の画像を用いずに、ドライバ7の撮影画像中の輝度の分布の経時変化の情報に基づいて行うようになっている。
このように、ドライバ7の着用状況そのものの判定は、当該ドライバ7の顔の撮影画像の特徴情報と、あらかじめ(すなわち、ドライバモニタリング装置10の作動開始よりも前に、より詳しくは、ドライバモニタリング装置10の出荷時に)用意された当該ドライバ以外の複数人の顔の画像の特徴情報との比較に基づいて行う。この方法は、比較対象として複数人の顔の画像の特徴情報を用いているので、精度が高い反面、当該ドライバ以外の人の顔の画像の特徴情報を比較対象に用いるので、処理負荷が比較的高くなる。
他方、着用状況が変化したことの検出は、当該ドライバ7の顔について繰り返し撮影された撮影画像間の経時変化に基づいて行うという、処理負荷の比較的低い方法で簡易に行うことができる。
このようにすることで、着用状況を一度判定してから、着用状況の変化が検出されて再度着用状況を判定するまでの間は、処理負荷の比較的高い着用状況そのものの判定を行わずともよく、簡易な手法で着用状況の変化の検出を行うことが可能となる。したがって、ドライバモニタリング装置の処理速度が向上する。
(他の実施形態)
以上、本発明の実施形態について説明したが、本発明の範囲は、上記実施形態のみに限定されるものではなく、本発明の各発明特定事項の機能を実現し得る種々の形態を包含するものである。
例えば、上記の実施形態においては、画像処理ECU3は、着用物の着用状況の変化があったことを検出すると、初期発見モードでステップ110〜190のすべてを再度実行するようになっているが、必ずしもこのようになっておらずともよい。
例えば、ステップ110に続いて、ステップ120を省略してステップ130の着用判定を実行するようになっていてもよい。
また例えば、前回のステップ130ではサングラスのみを着用していると判定したにもかかわらず、今回のステップ130で裸顔であると判定した場合は、前回既に検出してパターン登録している口および鼻の部品、ならびに、口および鼻に関する顔特徴点(鼻腔中心、口端)については、ステップ140、150、170での検出およびパターン登録を省略してもよい。
また例えば、前回のステップ130では裸顔であると判定したにもかかわらず、今回のステップ130ではマスクのみを着用していると判定した場合は、前回既に全部品および全顔特徴点を検出およびパターン登録しているので、ステップ140、150を省略し、ステップ170では、口および鼻の部品、ならびに、口および鼻に関する顔特徴点を、パターン登録から削除するようになっていてもよい。
また例えば、前回のステップ130では裸顔であると判定したにもかかわらず、今回のステップ130ではサングラスのみを着用していると判定した場合は、前回既に全部品および全顔特徴点を検出およびパターン登録しているので、ステップ140、150を省略し、ステップ170では、眼の部品および、眼に関する顔特徴点(目尻、目頭)をパターン登録から削除するようになっていてもよい。
また例えば、前回のステップ130ではマスクおよびサングラスを着用していると判定したにもかかわらず、今回のステップ130では裸顔であると判定した場合は、ステップ110〜190を省略することなく実行するようになっていてもよい。
また、上記実施形態においては、ドライバモニタリング装置10は、近赤外光で撮影した撮影画像を使用しているが、撮影画像の撮影に用いる光は、必ずしも近赤外光でなくともよい。例えば、可視光であってもよい。
また、上記実施形態にいては、画像処理ECU3は、マスクおよびサングラスの両方を対象として、着用状況を判定し、着用状況の変化を検出しているが、それらのうちのいずれか一方のみを対象としてもよい。
また、画像処理ECU3は、トラッキングモード200および再探索モード300において、1枚の撮影画像を用いたステップ240、340の判定において、着用物の着用状況に変化があったと判定しただけで、初期発見モード100に遷移するようになっている。しかし、誤判定の可能性を低減するために、撮影順に連続した所定の複数枚以上の撮影画像について、ステップ240または340で着用物の着用状況に変化があったと判定した場合に限って、初期発見モード100に遷移するようになっていてもよい。
また、画像処理ECU3は、初期発見モード100において、撮影画像と、あらかじめ用意して記録されている学習データの情報との比較に基づいて、着用状況を判定するようになっているが、学習データに代えて、種々の形のメガネを着用した複数の人の画像、種々の形のマスクを着用した複数の人の画像を、あらかじめ多数備え、それら画像の特徴情報と、撮影画像との比較に基づいて、マスクおよびメガネの着用状況を判定するようになっていてもよい。
また、画像処理ECU3は、輝度別の頻度分布のばらつき度合いの尺度として、輝度分布の標準偏差を用いている。しかし、輝度別の頻度分布の統計的ばらつき度合いの尺度としては、輝度分布の標準偏差以外のもの(例えば、四分位偏差、平均絶対偏差)を用いてもよい。