(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6762344
(24)【登録日】2020年9月10日
(45)【発行日】2020年9月30日
(54)【発明の名称】顔の位置を追跡して使用者に警報する方法及びシステム
(51)【国際特許分類】
G06T 7/20 20170101AFI20200917BHJP
G08G 1/16 20060101ALI20200917BHJP
G08B 21/00 20060101ALI20200917BHJP
G08B 21/06 20060101ALI20200917BHJP
【FI】
G06T7/20 300B
G08G1/16 F
G08B21/00 U
G08B21/06
【請求項の数】11
【外国語出願】
【全頁数】14
(21)【出願番号】特願2018-170582(P2018-170582)
(22)【出願日】2018年9月12日
(65)【公開番号】特開2019-87231(P2019-87231A)
(43)【公開日】2019年6月6日
【審査請求日】2018年10月16日
(31)【優先権主張番号】201721039668
(32)【優先日】2017年11月7日
(33)【優先権主張国】IN
(73)【特許権者】
【識別番号】510337621
【氏名又は名称】タタ コンサルタンシー サービシズ リミテッド
【氏名又は名称原語表記】TATA Consultancy Services Limited
(74)【代理人】
【識別番号】100130111
【弁理士】
【氏名又は名称】新保 斉
(72)【発明者】
【氏名】ダス、アプルバ
(72)【発明者】
【氏名】チャウハン、ニーティシュ
(72)【発明者】
【氏名】サンガーニ、ハルディク ジャイェシュ
【審査官】
佐藤 実
(56)【参考文献】
【文献】
特開2007−257333(JP,A)
【文献】
特開2010−133722(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 − 7/90
G08G 1/16
G08B 21/00 −21/06
(57)【特許請求の範囲】
【請求項1】
顔の位置を追跡して使用者に警報する方法であって、
カメラを用いて1つ以上の画像を捕捉すること、
前記1つ以上の画像内で占有されている空間に基づいて、1つ以上の顔から使用者の顔を特定し、前記使用者の顔を基準顔として保存すること、
前記使用者の顔を(i)第1の領域及び(ii)第2の領域に分割し、前記使用者の顔の前記第1の領域及び前記第2の領域から1つ以上のコーナー点を特定すること、
前記第1の領域及び前記第2の領域のそれぞれに図心を作成し、前記第1の領域及び前記第2の領域のそれぞれに作成した前記図心に前記1つ以上のコーナー点を複数の仮想線で結んで順応型二重スパイダーモデルを作成すること、
所定時間にわたって注意を向けている場合、前記順応型二重スパイダーに複数の仮想線を密集して作成すること、
前記使用者の顔の動きによって生じる前記順応型二重スパイダーモデルの複数の仮想線の位置変化の変移を追跡すること、
1つ以上の新しいコーナー点を作成し、1つ以上の新しいコーナー点を、一対のオプティカルフローフレームに供することによって1つ以上のフローベクトルを作成し、その際、1つ以上の新しいコーナー点は、使用者の顔のコーナー点の位置座標であり、また、1つ以上の新しいコーナー点は、1つ以上の所定条件に基づいて作成され、その所定条件が、使用者の顔の位置のある位置から別の位置への変化か、または、(i)使用者の顔が見えないことか、または、動きが速いために1つ以上の仮想線が顔を対象としていないことであること、
前記1つ以上のフローベクトルの角度及び大きさに基づいて、1つ以上の有効な動きベクトル、1つ以上の無効な動きベクトル及び1つ以上の静的な動きベクトルを判断すること、
前記1つ以上の有効な動きベクトルの角度及び大きさが、使用者から供される閾値を上回っていれば使用者に警報すること、を有する
ことを特徴とする方法。
【請求項2】
前記1つ以上の有効な動きベクトルは、(i)前記1つ以上のフローベクトルの大きさが所定の大きさ以内である場合、または(ii)前記複数の仮想線が同一方向に動いているか均一なスケーリングを示しているか、もしくはベクトルの共存がある場合の前記1つ以上のフローベクトルであり、
前記1つ以上の無効な動きベクトルは、(i)1つ以上のフローベクトルの大きさが前記所定の大きさを上回っている場合、または(ii)前記複数の仮想線が同一方向に動いていないか均一なスケーリングを示していないか、もしくはベクトルの共存がない場合の前記1つ以上のフローベクトルである
請求項1に記載の方法。
【請求項3】
前記1つ以上の静的な動きベクトルは、前記1つ以上のフローベクトルの大きさに変化がない場合の前記1つ以上のフローベクトルである
請求項1に記載の方法。
【請求項4】
1つ以上の顔を捕捉すること、及び前記画像内に占有された前記空間に基づいて使用者の顔を特定することは、ハールカスケード型の分類アルゴリズムを用いて実施される
請求項1に記載の方法。
【請求項5】
前記複数の仮想線を密集して作成する前記工程は、顔領域を一様にすること、及びラプラシアンフィルタを適用して前記使用者の顔のエッジを強調し、前記複数の仮想線を密集して作成することを含む
請求項1に記載の方法。
【請求項6】
顔の位置を追跡して使用者に警報するシステムであって、
少なくとも1つのプロセッサ、及び、前記少なくとも1つのプロセッサに通信可能に接続したメモリを備え、前記メモリは顔追跡モジュールを備え、前記顔追跡モジュールは、
カメラを用いて1つ以上の画像を捕捉し、
前記1つ以上の画像内に占有されている空間に基づいて、1つ以上の顔から使用者の顔を特定し、前記使用者の顔を基準顔として保存し、
前記特定した顔を(i)第1の領域及び(ii)第2の領域に分割し、前記使用者の顔の前記第1の領域及び前記第2の領域から1つ以上のコーナー点を特定し、
前記第1の領域及び前記第2の領域のそれぞれに図心を作成し、複数の仮想線を用いて前記1つ以上のコーナー点を前記第1の領域及び前記第2の領域のそれぞれに作成した前記図心に結んで順応型二重スパイダーモデルを作成し、
所定時間にわたって注意を向けている場合、前記順応型二重スパイダーに複数の仮想線を密集して作成し、
前記使用者の顔の動きによって生じる前記順応型二重スパイダーモデルの複数の仮想線の位置変化の変移を追跡し、
1つ以上の新しいコーナー点を作成し、1つ以上の新しいコーナー点を、一対のオプティカルフローフレームに供することによって1つ以上のフローベクトルを作成し、その際、1つ以上の新しいコーナー点は、使用者の顔のコーナー点の位置座標であり、また、1つ以上の新しいコーナー点は、1つ以上の所定条件に基づいて作成され、その所定条件が、使用者の顔の位置のある位置から別の位置への変化か、または、(i)使用者の顔が見えないことか、または、動きが速いために1つ以上の仮想線が顔を対象としていないことであり、
前記1つ以上のフローベクトルの角度及び大きさに基づいて、1つ以上の有効な動きベクトル、1つ以上の無効な動きベクトル及び1つ以上の静的な動きベクトルを判断し、
前記1つ以上の有効な動きベクトルの角度及び大きさが、使用者から供される閾値を上回っていれば前記使用者に警報する
ことを特徴とするシステム。
【請求項7】
前記1つ以上の有効な動きベクトルは、前記1つ以上のフローベクトルの大きさが所定の大きさ以内である場合、または前記複数の仮想線が同一方向に動いているか均一なスケーリングを示しているか、もしくはベクトルの共存がある場合の前記1つ以上のフローベクトルであり、
前記1つ以上の無効な動きベクトルは、1つ以上のフローベクトルの大きさが前記所定の大きさを上回っている場合、または1つ以上のスパイダーが同一方向に動いていないか均一なスケーリングを示していないか、もしくはベクトルの共存がない場合の前記1つ以上のフローベクトルである
請求項6に記載のシステム。
【請求項8】
前記1つ以上の静的な動きベクトルは、前記1つ以上のフローベクトルの大きさに変化がない場合、前記1つ以上のフローベクトルである
請求項6に記載のシステム。
【請求項9】
1つ以上の顔を捕捉すること、及び前記画像内に占有された前記空間に基づいて、使用者の顔を特定することは、ハールカスケード型の分類アルゴリズムを用いて実施される
請求項6に記載のシステム。
【請求項10】
前記複数の仮想線を密集して作成する前記工程は、顔領域を一様にすること、及びラプラシアンフィルタを適用してエッジを強調し、前記複数の仮想線を密集して作成することを含む
請求項6に記載のシステム。
【請求項11】
ハードウェアプロセッサによって実行されたときに、前記ハードウェアプロセッサに動作を実施させる命令を保存する非一時的なコンピュータ可読媒体であって、
カメラを用いて1つ以上の画像を捕捉すること、
前記1つ以上の画像内で占有されている空間に基づいて、1つ以上の顔から使用者の顔を特定し、前記使用者の顔を基準顔として保存すること、
前記使用者の顔を(i)第1の領域及び(ii)第2の領域に分割し、前記使用者の顔の前記第1の領域及び前記第2の領域から1つ以上のコーナー点を特定すること、
前記第1の領域及び前記第2の領域のそれぞれに図心を作成し、前記第1の領域及び前記第2の領域のそれぞれに作成した前記図心に前記1つ以上のコーナー点を複数の仮想線で結んで順応型二重スパイダーモデルを作成すること、
所定時間にわって注意を向けている場合、前記順応型二重スパイダーに複数の仮想線を密集して作成すること、
前記使用者の顔の動きによって生じる前記順応型二重スパイダーモデルの複数の仮想線の位置変化の変移を追跡すること、
1つ以上の新しいコーナー点を作成し、1つ以上の新しいコーナー点を、一対のオプティカルフローフレームに供することによって1つ以上のフローベクトルを作成し、その際、1つ以上の新しいコーナー点は、使用者の顔のコーナー点の位置座標であり、また、1つ以上の新しいコーナー点は、1つ以上の所定条件に基づいて作成され、その所定条件が、使用者の顔の位置のある位置から別の位置への変化か、または、(i)使用者の顔が見えないことか、または、動きが速いために1つ以上の仮想線が顔を対象としていないことであること、
前記1つ以上のフローベクトルの角度及び大きさに基づいて、1つ以上の有効な動きベクトル、1つ以上の無効な動きベクトル及び1つ以上の静的な動きベクトルを判断すること、
前記1つ以上の有効な動きベクトルの角度及び大きさが、使用者から供される閾値を上回っていれば前記使用者に警報すること、を含む
ことを特徴とする非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、2017年11月7日にインドで出願された特許文献1(発明の名称:tracking and alerting user(追跡及び使用者への警報))の優先権を主張するものである。
【0002】
本開示は、全般的に、使用者の顔の追跡に関し、さらに詳細には、使用者の顔の位置を追跡して使用者に警報するシステム及び方法に関する。
【背景技術】
【0003】
使用者の注意度を判断することは、研究分野の1つである。注意度を判断する例の1つが、車両を利用している運転者である。疲労や睡眠不足などの運転者の不注意に関連する自動車事故により、致命的な事態が発生している。生理学的特徴に基づいた手法は、運転者に測定機器を装着しなければならないため邪魔になる。生理学的特徴に基づいた手法は、使用者の注意度を判断するために視覚技術を利用するものである。そのため、生理学的特徴に基づいた手法は、邪魔になる性質がないため、近年好まれるようになってきた。
【0004】
運転者注意度監視(DAM:Driver Alertness Monitoring)システムの既存モデルは、運転者の前方に設置されたカメラを使用して顔の正面を検出することによるものである。ほとんどの既存の方法では、肌の色合いを利用するCAMSHIFTアルゴリズムを使用する。したがって、追跡は、日中の光の下であれば効果的である。オプティカルフロー追跡に伴う別の問題は、運転中に顔の急な動きがあった場合に、顔のキーポイントが常に欠落する傾向があるということである。オプティカルフロー追跡は、誰かが手で顔をこすれば信頼度はそれほど高くない。顔の中のキーポイントは、誤警報を示している手に引きずられてしまう。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】インド特許明細書第201721039668号
【発明の概要】
【課題を解決するための手段】
【0006】
本開示の実施形態は、従来のシステムで発明者らが認識した上記の技術的課題の1つ以上に対する解決策として、技術改良を提供するものである。例えば、1つの実施形態では、顔の位置を追跡して使用者に警報する方法が開示される。本方法は、単眼カメラを用いて1つ以上の画像を捕捉することを含む。本方法はさらに、1つ以上の画像内で特定した1つ以上の顔から使用者の顔を特定することを含む。さらに、特定した使用者の顔を第1の領域及び第2の領域に分割し、第1の領域及び第2の領域のそれぞれで1つ以上のコーナー点を特定する。第1の領域及び第2の領域のそれぞれに図心を作成し、複数の仮想線を用いて1つ以上のコーナー点を各々の図心と結んで順応型二重スパイダーモデルを作成する。続いて、順応型二重スパイダーモデルに複数の線を密集して作成する。使用者の顔の動きによって生じる順応型二重スパイダーモデルの変移を、1つ以上のコーナー点の大きさ及び位相値に基づいて、追跡する。続いて、1つ以上の新しいコーナー点をオプティカルフローフレームに供することによって、1つ以上の新しいコーナー点及び1つ以上のフローベクトルを作成する。さらに、1つ以上のフローベクトルの角度及び大きさに基づいて、1つ以上の有効な動きベクトル、1つ以上の無効な動きベクトル及び1つ以上の静的な動きベクトルを判断する。1つ以上の有効な動きベクトルの角度及び大きさが閾値を上回っていれば使用者に警報を出す。
【0007】
別の実施形態では、顔の位置を追跡して使用者に警報するシステムが開示される。本システムは、少なくとも1つのプロセッサ、及びこの少なくとも1つのプロセッサに通信可能に接続したメモリを備え、メモリは、いくつかのモジュールで構成される。モジュールは、1つ以上の画像を捕捉する顔追跡モジュールを備えている。さらに、1つ以上の画像内で特定した1つ以上の顔から使用者の顔を特定する。さらに、特定した使用者の顔を第1の領域及び第2の領域に分割し、第1の領域及び第2の領域のそれぞれで1つ以上のコーナー点を特定する。第1の領域及び第2の領域のそれぞれに図心を作成し、複数の仮想線を用いて1つ以上のコーナー点を各々の図心と結んで順応型二重スパイダーモデルを作成する。続いて、順応型二重スパイダーモデルに複数の線を密集して作成する。使用者の顔の動きによって生じる順応型二重スパイダーモデルの変移を、1つ以上のコーナー点の大きさ及び位相値に基づいて、追跡する。続いて、1つ以上の新しいコーナー点をオプティカルフローフレームに供することによって、1つ以上の新しいコーナー点及び1つ以上のフローベクトルを作成する。さらに、1つ以上のフローベクトルの角度及び大きさに基づいて、1つ以上の有効な動きベクトル、1つ以上の無効な動きベクトル及び1つ以上の静的な動きベクトルを判断する。1つ以上の有効な動きベクトルの角度及び大きさが閾値を上回っていれば使用者に警報を出す。
【0008】
さらに別の態様では、顔の位置を追跡して使用者に警報する非一時的なコンピュータ可読媒体が開示される。非一時的なコンピュータ可読媒体は、ハードウェアプロセッサによって実行されたときに、単眼カメラを用いて1つ以上の画像を捕捉することを含む動作をハードウェアプロセッサに実施させる命令を保存している。この動作はさらに、1つ以上の画像内で特定した1つ以上の顔から使用者の顔を特定することを含む。さらにこの動作は、特定した使用者の顔を第1の領域及び第2の領域に分割し、第1の領域及び第2の領域のそれぞれで1つ以上のコーナー点を特定することを含む。第1の領域及び第2の領域のそれぞれに図心を作成し、複数の仮想線を用いて1つ以上のコーナー点を各々の図心と結んで順応型二重スパイダーモデルを作成する。続いて、順応型二重スパイダーモデルに複数の線を密集して作成する。使用者の顔の動きによって生じる順応型二重スパイダーモデルの変移を、1つ以上のコーナー点の大きさ及び位相値に基づいて、追跡する。続いて、1つ以上の新しいコーナー点をオプティカルフローフレームに供することによって、1つ以上の新しいコーナー点及び1つ以上のフローベクトルを作成する。さらに、この動作は、1つ以上のフローベクトルの角度及び大きさに基づいて、1つ以上の有効な動きベクトル、1つ以上の無効な動きベクトル及び1つ以上の静的な動きベクトルを判断することを含む。1つ以上の有効な動きベクトルの角度及び大きさが閾値を上回っていれば使用者に警報を出す。
【0009】
以上のおおまかな説明及び以下の詳細な説明はどちらも単なる説明のためのものであって、特許請求の対象である本発明を限定するものではないことを理解すべきである。
【0010】
本開示に組み込まれ、本開示の一部を成している添付の図は、説明文と併せて例示的な実施形態を示しており、開示した原理を説明するためのものである。
【図面の簡単な説明】
【0011】
【
図1】本開示のいくつかの実施形態による、顔の位置を追跡して使用者に警報するシステムを示す説明図
【
図2】本主題のいくつかの実施形態による、変形パターンモデル(DPM:deformable pattern model)の樹形表現の一例の説明図
【
図3】(
図3(a))本主題のいくつかの実施形態による、車内の運転者の順応型二重スパイダーモデルの一例の説明図 (
図3(b))本主題のいくつかの実施形態による、車内の運転者の順応型二重スパイダーモデルの一例の説明図
【
図4】(
図4(a))本主題のいくつかの実施形態による、使用者に警報するユーザインターフェースの一例の説明図 (
図4(b))本主題のいくつかの実施形態による、使用者に警報するユーザインターフェースの一例の説明図
【
図5(a)】本主題のいくつかの実施形態による、顔の位置を追跡して使用者に警報する方法を示す流れ図
【
図5(b)】本主題のいくつかの実施形態による、顔の位置を追跡して使用者に警報する方法を示す流れ図
【発明を実施するための形態】
【0012】
添付の図面を参照して例示的な実施形態を説明する。図面では、符号の一番左側の数字は、その符号が最初に現れている図を特定している。便宜上、同じまたは同様の部分を指すために図面全体を通して同じ符号を使用している。開示した原理の例及び特徴を本明細書に記載しているが、開示した実施形態の趣旨及び範囲を逸脱しない限り、修正、適応、及びその他の実施が可能である。以下の詳細な説明は単なる例示であると捉え、本質となる範囲及び趣旨は以下の請求項に明記していることを意図している。
【0013】
記載したシステムを実装して顔の位置を追跡して使用者に警報する方法を、以下の図に関して詳細に説明した。記載したシステムの態様は、どのような数の様々なコンピューティングシステム、伝送環境、及び/または構成でも実現できるが、実施形態は以下の例示的なシステムの文脈で説明される。
【0014】
図1は、本開示の一実施形態による、使用者の顔の位置を追跡して使用者に警報するシステム100を概略的に示している。
図1に示したように、システム100は、1つ以上のプロセッサ102及びメモリ104を備え、両者は互いに通信可能に接続されている。メモリ104は、使用者の顔の位置を追跡して使用者に警報する顔追跡モジュール106を備えている。システム100は、インターフェース108も備えている。
図1にはシステム100の例としての構成要素を示しているが、他の実施形態では、システム100は、これよりも少ない構成要素、追加の構成要素、異なる構成要素または
図1とは異なる形で配置された構成要素を含んでいてもよい。
【0015】
プロセッサ102及びメモリ104は、システムバスを介して通信可能に接続されていてよい。プロセッサ102は、とりわけ通信に関連する音声機能及び論理機能を実装している回路を備えていてよい。プロセッサ102は、とりわけ、クロック、算術論理ユニット(ALU:arithmetic logic unit)及びプロセッサ102の動作を支援するように構成された論理ゲートを備えていてよい。プロセッサ102は、単一の処理ユニットであっても複数のユニットであってもよく、そのすべてが複数の計算ユニットを備えている。プロセッサ102は、1つ以上のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタルシグナルプロセッサ、中央処理装置、ステートマシン、論理回路、及び/または動作命令に基づいて、信号を操作する任意の装置として実装されてよい。能力のうちとりわけプロセッサ102は、メモリ104に保存されているコンピュータ可読命令及びデータを取得して実行するように構成される。
【0016】
図示した様々な要素の機能、例えば「プロセッサ」と表記した何らかの機能ブロックは、専用のハードウェアと、適切なソフトウェアと関連付けられたソフトウェアを実行できるハードウェアとを使用することで提供されてよい。プロセッサによって提供される場合、機能は、単一の専用プロセッサによって、単一の共有プロセッサによって、あるいは複数の別個のプロセッサでそのうちのいくつかが共有されていてもよいものによって提供されてよい。さらに、「プロセッサ」という用語を明確に使用していても、ソフトウェアを実行できるハードウェアを排除するという意味に解釈してはならず、デジタルシグナルプロセッサ(DSP)ハードウェア、ネットワークプロセッサ、特定用途向け集積回路(ASIC:Application−Specific Integrated Circuit)、フィールドプログラマブルゲートアレイ(FPGA:Field−Programmable Gate Array)、ソフトウェアを格納するための読み出し専用メモリ(ROM:Read Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、及び不揮発性記憶装置などだがこれに限定されないものを黙示的に含むことがある。従来かつ/またはカスタムのその他のハードウェアも含まれることがある。
【0017】
インターフェース108には、多様なソフトウェア及びハードウェアインターフェース、例えば、キーボード、マウス、外部メモリ、及びプリンタなどの周辺装置に対するインターフェースなどがあってよい。インターフェース108は、例えばローカルエリアネットワーク(LAN)、ケーブルなどの有線ネットワーク、及び無線LAN(WLAN)、携帯電話、または衛星などの無線ネットワークを含む多種多様なネットワーク及びプロトコルタイプの中で複数の通信を容易にすることができる。そのためには、インターフェース108は、システム100をその他のネットワーク装置に接続する1つ以上のポートを備えていてよい。
【0018】
メモリ104は、先行技術で公知の任意のコンピュータ可読媒体を含んでいてよく、それには、例えばスタティックランダムアクセスメモリ(SRAM:Static Random Access Memory)及びダイナミックランダムアクセスメモリ(DRAM:Dynamic Random Access Memory)などの揮発性メモリ、及び/またはリードオンリーメモリ(ROM)、消去可能プログラマブルROM、フラッシュメモリ、ハードディスク、光ディスク、及び磁気テープなどの不揮発性メモリなどがある。メモリ104は、使用者の顔の位置を追跡して使用者に警報するためにシステム100が使用する情報及びデータをいくらでも保存できる。メモリ104は、情報、データ、アプリケーション、システム100への命令などを保存して、例としての様々な実施形態に応じて様々な機能を実行するように構成されてよい。これに加えて、またはこの代わりに、メモリ104は、プロセッサ102によって実行されたときに、様々な実施形態に記載した要領でシステム100を動作させる命令を保存するように構成されてよい。メモリ104は、顔追跡モジュール106及びその他のモジュールを備えている。顔追跡モジュール106は、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含んでいてよく、これらが特定のタスクを実行したり、特定の抽象データ型を実装したりする。
【0019】
一実施形態では、使用者の顔の位置を追跡し、顔が元の位置からずれた場合に使用者に警報する方法が開示される。顔追跡モジュール106は、カメラを使用して1つ以上の画像を捕捉する。カメラは、使用者の顔からある特定の角度の所に設置される。例えば、自動車内では、運転者の顔の位置を追跡するために、単眼カメラを自動車のAピラーに設置できる。したがって、単眼カメラは、運転者の正面の角度から画像を捕捉するのではなく、側面の角度から画像を捕捉する。
【0020】
続いて、1つ以上の画像の中に2人以上いる場合は、捕捉された1つ以上の画像から1つ以上の顔が特定され、1つ以上の画像内で占有されている空間に基づいて、使用者の顔が特定される。より多くの空間を占有している顔は、使用者の顔の位置を追跡するための使用者の顔とみなされる。この方法では、ハールカスケード(haar cascade)型の分類アルゴリズムを用いて1つ以上の顔が検出され、より大きい顔に信頼指数が与えられる。例えば、車内の運転者の顔の位置を判断する場合、運転者は車内の他の顔よりもカメラの近くにいるため、占有空間が大きい。使用者の顔は、その後の比較のために基準顔として保存される。
【0021】
一実施形態では、使用者の顔は、2つの領域、すなわち第1の領域と第2の領域に分割される。例えば、使用者の顔を左領域と右領域に分割できる。顔追跡モジュール106はさらに、使用者の顔の第1の領域及び第2の領域から1つ以上のコーナー点を特定する。1つ以上のコーナー点は、顔検出器を用いて使用者の顔のおおまかな位置を見つけることによって特定される。1つ以上のコーナー点は、使用者の顔に当たっている光の強度に基づいて、判断される。
【0022】
一実施形態では、顔追跡モジュール106は、検出した使用者の顔の位置を細かく判定するために低解像度の顔に対して変形部分モデル(DPM:deformable part model)を使用する。続いて、使用者の顔の必須の関心領域内で異なるDPMを使用して、高解像度の画像に散在している特徴を見つける。
【0023】
図2は、本主題のいくつかの実施形態による、変形パターンモデル(DPM:deformable pattern model)の樹形表現の一例である。
図2は、DPMを一方向に樹形表現した一例であり、樹の1つ以上のノードは、局所的な特徴を描写する1つ以上のコーナー点を表し、これらを結んでいる線は、隣のコーナー点に対する相対位置を与えている。
【0024】
樹形図は、樹形
図G=(V、E)という式に基づいて、計算される。
【0025】
例は、S1〜S7の7つの頂点及び1つ以上のコーナー点を含んでおり、E
12、E
25、E
43、E
35、E
75、E
65は、頂点S1〜S7を結ぶ6つの線である。
【0027】
式中、第1の項は、キーポイントの位置siと画像Iとの合致に相当する。これは、1つ以上のコーナー点の適合具合を表している。第2の項は、2つのコーナー点の相対位置を判断する変形損失に相当する。
【0028】
一実施形態では、顔追跡モジュール106は、第1の領域及び第2の領域のそれぞれに図心を作成する。第1の領域及び第2の領域の各領域にある図心は、複数の仮想線を用いてそれぞれの1つ以上のコーナー点と結ばれて順応型二重スパイダーモデルを作成する。
図3(
図3a及び
図3b)は、本主題のいくつかの実施形態による車内の運転者の順応型二重スパイダーモデルの一例である。
【0029】
一実施形態では、順応型二重スパイダーモデルの中に密集した複数の仮想線を作成する方法が開示される。使用者の顔が所定時間にわたって注意を向けている場合、1つ以上のコーナー点が増加する。顔追跡モジュール106は、顔領域を一様にし、ラプラシアンフィルタを適用してエッジを強調することによって1つ以上のコーナー点を増加させる。増加したエッジは、1つ以上のコーナー点を増加させる。本方法はさらに、増加したそれぞれの1つ以上のコーナー点と結んで、順応型二重スパイダーモデルの中に密集した複数の仮想線を作成する。
【0030】
一実施形態では、使用者の顔の位置がある位置から別の位置へ変化したとき、新しいコーナー点が作成される。
【0031】
一実施形態では、以下の条件のいずれかを満たした場合に、連続して追跡している間に1つ以上の新しいコーナー点を作成するためのリセット論理が追加される。リセット論理が使用される条件は以下の通りである。
(i)使用者の顔が見えない、または(ii)動きが速いために1つ以上の仮想線が顔を対象としていない、または(iii)使用者の顔のずれが閾値を上回っている。
【0032】
1つ以上の新しいコーナー点は、使用者の顔のコーナー点の位置座標である。したがって、1つ以上の新しいコーナー点は、一対のオプティカルフローフレームに供される。
【0033】
顔追跡モジュール106は、1つ1つのフレームの対の間で起こる1つ1つの遷移に対するオプティカルフローから得られたフローベクトルの角度及び大きさを計算する。顔追跡モジュール106はさらに、1つ以上の新しいコーナー点の位置に基づいて、連続した頭の動きを描写する。フローベクトルは、極めて影響を受けやすく、運転中の運転者の手の動きなどの急な動作や不注意な動きなどの様々な小さな動きによって分散する。フローベクトルは、3種類に分けられる。
【0034】
1つ以上のフローベクトル点の角度及び大きさに基づいて、1つ以上のフローベクトルは、a)有効な動きベクトル、b)無効な動きベクトル、及びc)静的なベクトルの3群に分類され得る。
【0035】
1つ以上の有効な動きベクトルは、1つ以上のフローベクトルの大きさが所定の大きさ以内である場合、または複数の仮想線が同一方向に動いているか均一なスケーリングを示している場合、もしくはベクトルの共存がある場合のフローベクトルである。1つ以上の無効な動きベクトルは、1つ以上のフローベクトルの大きさが所定の大きさを上回っている場合、または複数の仮想線が同一方向に動いていないか均一なスケーリングを示していない場合、もしくはベクトルの共存がない場合の1つ以上のフローベクトルである。また、1つ以上の静的な動きベクトルは、1つ以上のフローベクトルの大きさが一定である場合の1つ以上のフローベクトルである。
【0036】
一実施形態では、顔追跡モジュール106は、有効な動きベクトルを検討してさらに他の処理をする。無効な動きベクトル及び静的な動きベクトルは、追跡して使用者に警報を出すために検討されることはない。
【0037】
一実施形態では、使用者に警報を出すための様々な筋書きが開示される。一実施形態では、顔追跡モジュール106は、有効な動きベクトルの二重スパイダーモデルを検討する。有効な動きベクトルに対する仮想線の位置が変化することによって生じた角度及び大きさが検討される。仮想線の角度及び大きさが閾値よりも大きければ、警報が出される。しかし、二重スパイダーの仮想線の角度及び大きさが閾値よりも小さければ警報は出されない。
【0038】
別の実施形態では、使用者の顔が見えないときに警報が出される。
【0039】
一実施形態では、顔追跡モジュール106は、使用者の顔を捉え、使用者の顔を基準顔と合致させる。使用者の顔が基準顔と合致していなければ、使用者は注意深い状態ではなく、使用者に第1の警報が出される。第1の警報の後に使用者が基準顔と合致していなければ第2の警報が出される。
【0040】
図4は、本主題のいくつかの実施形態による、使用者に警報するユーザインターフェースの一例である。
図4(a)は、使用者が注意深い状態にあるときのユーザインターフェースの一例である。大きさ及び角度に対する閾値が使用者から提供される。角度及び大きさは、使用者が注意深い状態にあるときは閾値以内である。
図4(a)の顔文字は、使用者が注意深い状態にあることを示している。
図4(b)では、使用者は注意深い状態ではない。
図4(b)のフローベクトルの角度及び大きさは、閾値に達している。
図4(b)の顔文字は、使用者が見えなくなっていることを示している。
【0041】
一実施形態では、使用者の顔が所定時間にわたって注意している状態にあれば、大きさ及び位相値がリセットされて、落ち着きのない動きが度重なることで起こる誤警報を回避する。
【0042】
一実施形態では、誤警報に対する状況が検討される。誤警報は、運転者が眠気を感じているのではなくただ注意していないだけのようなときに頭を動かしている場合に生じ、その場合、(小さい)有効な動きフローベクトルの大きさが加わり、フローベクトルの大きさが時折閾値を上回って誤警報を出すことがある。
【0043】
誤警報の問題に対処するため、顔追跡モジュール106は、周期タイマー相関器(periodic timer co−relator)を備えている。周期タイマー相関器は、基準顔が1つ以上の新しいコーナー点で作成されている使用者の顔と合致しているかどうかを頻繁にチェックする。顔が所定の時間間隔で合致していれば、使用者は気をつけているという意味であり、VMベクトルの大きさはリセットされて、追加された無効なベクトルを除去して誤警報を取り消すことができる。所定間隔の後に顔が適切に合致していなければ、1つ以上の新しいコーナー点が検討される。
【0044】
同じように、使用者が同じ体勢で頭を動かさずに眠りに落ちた場合は、システム100は警報を出さない。したがって、頭の動きがないときに使用者の注意度を判断するために、顔追跡モジュール106は運転者の目を検出する。目が検出されれば警報は発せられず、使用者の目が検出されなければ警報が発せられ、1つ以上の新しいコーナー点が検討される。
【0045】
図5((
図5(a)及び
図5(b))は、本主題のいくつかの実施形態による、顔の位置を追跡して使用者に警報する方法を示す流れ図である。ブロック502では、カメラを用いて1つ以上の画像を捕捉する。ブロック504では、1つ以上の画像内で特定した1つ以上の顔から使用者の顔を特定する。ブロック506では、使用者の顔を第1の領域及び第2の領域に分割し、第1の領域及び第2の領域から1つ以上のコーナー点を特定する。ブロック508では、第1の領域及び第2の領域のそれぞれに図心を作成し、仮想線を用いてその図心を1つ以上のコーナー点と結んで順応型二重スパイダーモデルを作成する。ブロック510では、順応型二重スパイダーモデルに複数の仮想線を密集して作成する。ブロック512では、1つ以上のフローベクトルを計算することによって順応型二重スパイダーモデルの変移を追跡する。ブロック514では、1つ以上の新しいコーナー点を作成し、その1つ以上の新しいコーナー点をオプティカルフローフレームに供することによって1つ以上のフローベクトルを作成する。ブロック516では、1つ以上の有効な動きベクトル、1つ以上の無効な動きベクトル及び1つ以上の静的なベクトルを判断する。ブロック518では、有効な動きベクトルの角度及び大きさが閾値を上回っていれば使用者に警報を出す。
【0046】
保護範囲は、そのようなプログラム、及びそれに加えてそれに含まれるメッセージを有するコンピュータ可読手段にも及ぶことを理解すべきである。そのようなコンピュータ可読記憶手段は、プログラムがサーバもしくはモバイル装置または任意の適切なプログラム可能装置で稼働する場合、本方法の1つ以上のステップを実施するためのプログラム符号化手段を含んでいる。ハードウェア装置は、プログラムされ得る任意の種類の装置であってよく、例えばサーバまたはパーソナルコンピュータなどの任意の種類のコンピュータ、あるいはこれらを組み合わせたものであってもよい。装置は、例えば特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)のような例えばハードウェア手段であってもよいし、例えばASICとFPGAを組み合わせたようなハードウェア手段とソフトウェア手段を組み合わせたものでもよいし、少なくとも1つのマイクロプロセッサ及び少なくとも1つのメモリをその中にあるソフトウェアモジュールと組み合わせたものなどであってもよい手段を含むことも可能である。そのため、手段は、ハードウェア手段とソフトウェア手段の両方を含むことができる。本明細書に記載した方法の実施形態は、ハードウェア及びソフトウェアで実施され得る。装置は、ソフトウェア手段も含んでいてよい。また、実施形態は、例えば複数のCPUを用いたりして様々なハードウェア装置上で実施されてよい。
【0047】
本明細書の実施形態は、ハードウェア及びソフトウェアの要素を含むことができる。ソフトウェアで実施される実施形態には、ファームウェア、常駐ソフトウェア、マイクロコードなどが含まれるが、これに限定されない。本明細書に記載した様々なモジュールによって実行される機能は、他のモジュールまたは他のモジュールを組み合わせたものによって実施され得る。この説明のために、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令を実行するシステム、装置、またはデバイスに使用されるプログラム、またはこれらと接続しているプログラムを含んだり、格納したり、通信したり、伝搬したり、転送したりできる任意の装置であってよい。
【0048】
説明したステップは、図示した例示的な実施形態を説明するために記載したものであり、現在進行中の技術開発が、特定の機能を実行する方法を変更するであろうことを予測すべきである。これらの例は、例示のために本明細書に提示したのであって、限定するためではない。さらに、機能的構成要素の境界は、説明の便宜上、本明細書では独断的に定義している。具体的な機能及びその関係性が適切に実行されている限り、代替となる境界を定義することが可能である。代替例(本明細書に記載のものの同等例、拡張例、変形例、逸脱例などを含む)は、本明細書に含まれる教示に基づいて、当業者には明らかであろう。そのような代替例は、開示した実施形態の範囲内及び趣旨内に収まる。また、「備える(comprising)」、「有する(having)」、「含む(containing)」及び「含む(including)」という単語ならびにその他の類似の形態は、意味が同等であることを意図しているとともに、これらの単語のいずれか1つに続く項目がそのような項目を網羅している一覧であること意味するのではなく、あるいは列挙された項目のみに限定されることを意味しているのでもないという点で制限がないことを意図している。本明細書及び添付の請求項で使用したように、単数形の「a」、「an」及び「the」は、文脈に別途明記されていない限り、複数形の参照物を含むことにも注意しなければならない。
【0049】
さらに、本開示と一貫した実施形態を実施する際には、1つ以上のコンピュータ可読記憶媒体を使用してよい。コンピュータ可読記憶媒体は、プロセッサで読み込める情報またはデータを保存し得るあらゆる種類の物理的メモリを指す。そのため、コンピュータ可読記憶媒体は、本明細書に記載の実施形態と一貫したステップまたは段階を(1つまたは複数の)プロセッサに実行させる命令など、1つ以上のプロセッサによって実行する命令を保存してよい。「コンピュータ可読媒体」という用語は、具体的な項目を含み、搬送波及び一過性の信号を含まない、すなわち非一時的であると理解すべきである。例として、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、揮発性メモリ、不揮発性メモリ、ハードドライブ、CD−ROM、DVD、フラッシュドライブ、ディスク、及びその他の任意の公知の物理的記憶媒体などがある。
【0050】
開示及び例は例示的なものにすぎないと考えることを意図しており、開示した実施形態の真の範囲及び趣旨は、請求項に記されている。