(57)【要約】【課題】使用者の顔の位置を追跡して使用者に警報する方法及びシステムを提供すること。【解決手段】単眼カメラを用いて画像を捕捉し、その画像から使用者の顔を特定し、その使用者の顔を基準顔として保存することを含む。使用者の顔を２つの領域に分割し、１つ以上のコーナー点を特定する。２つの領域に図心を作成し、仮想線を用いてコーナー点を結んで順応型二重スパイダーモデルを作成する。所定条件を満たした時点で１つ以上の新しいコーナー点を作成する。１つ以上の新しいコーナー点を用いてフローベクトルの角度及び大きさを判断し、その角度及び大きさに基づいて使用者に警報を出す。【選択図】図３
2019087231.tif 000002
【特許請求の範囲】
【請求項１】
顔の位置を追跡して使用者に警報する方法であって、
カメラを用いて１つ以上の画像を捕捉すること、
前記１つ以上の画像内で占有されている空間に基づいて、１つ以上の顔から使用者の顔を特定し、前記使用者の顔を基準顔として保存すること、
前記使用者の顔を（ｉ）第１の領域及び（ｉｉ）第２の領域に分割し、前記使用者の顔の前記第１の領域及び前記第２の領域から１つ以上のコーナー点を特定すること、
前記第１の領域及び前記第２の領域のそれぞれに図心を作成し、前記第１の領域及び前記第２の領域のそれぞれに作成した前記図心に前記１つ以上のコーナー点を複数の仮想線で結んで順応型二重スパイダーモデルを作成すること、
所定時間にわたる前記使用者の顔の動きに基づいて、前記順応型二重スパイダーに複数の仮想線を密集して作成すること、
前記使用者の顔の動きによって生じる前記順応型二重スパイダーモデルの変移を、前記１つ以上のコーナー点の大きさ及び位相値に基づいて、１つ以上のフローベクトルを計算することによって追跡すること、
１つ以上の新しいコーナー点を作成し、前記１つ以上の新しいコーナー点をオプティカルフローフレームに供することによって１つ以上のフローベクトルを作成し、その際１つ以上の新しいコーナー点は、１つ以上の所定条件に基づいて作成されること、
前記１つ以上の新しいコーナー点の角度及び大きさに基づいて、１つ以上の有効な動きベクトル、１つ以上の無効な動きベクトル及び１つ以上の静的な動きベクトルを判断すること、
前記１つ以上の有効な動きベクトルの角度及び大きさが閾値を上回っていれば使用者に警報すること、を有する
ことを特徴とする方法。
【請求項２】
前記使用者の顔が所定時間にわたって注意している状態にあれば、前記大きさ及び前記位相値がリセットされて、落ち着きのない動きが度重なることで起こる誤警報を回避する
請求項１に記載の方法。
【請求項３】
前記１つ以上の有効な動きベクトルは、（ｉ）前記１つ以上のフローベクトルの大きさが所定の大きさ以内である場合、または（ｉｉ）前記複数の仮想線が同一方向に動いているか均一なスケーリングを示しているか、もしくはベクトルの共存がある場合の前記１つ以上のフローベクトルであり、
前記１つ以上の無効な動きベクトルは、（ｉ）１つ以上のフローベクトルの大きさが前記所定の大きさを上回っている場合、または（ｉｉ）前記複数の仮想線が同一方向に動いていないか均一なスケーリングを示していないか、もしくはベクトルの共存がない場合の前記１つ以上のフローベクトルである
請求項１に記載の方法。
【請求項４】
前記１つ以上の静的な動きベクトルは、前記１つ以上のフローベクトルの大きさが一定である場合の前記１つ以上のフローベクトルである
請求項１に記載の方法。
【請求項５】
１つ以上の顔を捕捉すること、及び前記画像内に占有された前記空間に基づいて使用者の顔を特定することは、ハールカスケード型の分類アルゴリズムを用いて実施される
請求項１に記載の方法。
【請求項６】
前記複数の仮想線を密集して作成する前記工程は、顔領域を一様にすること、及びラプラシアンフィルタを適用して前記使用者の顔のエッジを強調し、前記複数の仮想線を密集して作成することを含む
請求項１に記載の方法。
【請求項７】
前記所定条件は、（ｉ）前記使用者の顔が見えない、または（ｉｉ）動きが速いために前記１つ以上の仮想線が前記使用者の顔を対象としていない、または（ｉｉｉ）前記使用者の顔のずれが閾値を上回っている、という条件である
請求項１に記載の方法。
【請求項８】
顔の位置を追跡して使用者に警報するシステムであって、
少なくとも１つのプロセッサ、及び、前記少なくとも１つのプロセッサに通信可能に接続したメモリを備え、前記メモリは顔追跡モジュールを備え、前記顔追跡モジュールは、
カメラを用いて１つ以上の画像を捕捉し、
前記１つ以上の画像内に占有されている空間に基づいて、１つ以上の顔から使用者の顔を特定し、前記使用者の顔を基準顔として保存し、
前記特定した顔を（ｉ）第１の領域及び（ｉｉ）第２の領域に分割し、前記使用者の顔の前記第１の領域及び前記第２の領域から１つ以上のコーナー点を特定し、
前記第１の領域及び前記第２の領域のそれぞれに図心を作成し、複数の仮想線を用いて前記１つ以上のコーナー点を前記第１の領域及び前記第２の領域のそれぞれに作成した前記図心に結んで順応型二重スパイダーモデルを作成し、
所定時間にわたる使用者の顔の動きに基づいて、前記順応型二重スパイダーに複数の仮想線を密集して作成し、
前記使用者の顔の動きによって生じる前記順応型二重スパイダーモデルの変移を、前記１つ以上のコーナー点の大きさ及び位相値に基づいて、１つ以上のフローベクトルを計算することによって追跡し、
１つ以上の新しいコーナー点を作成し、前記１つ以上の新しいコーナー点をオプティカルフローフレームに供することによって１つ以上のフローベクトルを作成し、その際１つ以上の新しいコーナー点は、１つ以上の所定条件に基づいて作成され、
前記１つ以上の新しいコーナー点の角度及び大きさに基づいて、１つ以上の有効な動きベクトル、１つ以上の無効な動きベクトル及び１つ以上の静的な動きベクトルを判断し、
前記１つ以上の有効な動きベクトルの角度及び大きさが閾値を上回っていれば前記使用者に警報する
ことを特徴とするシステム。
【請求項９】
前記使用者の顔が所定時間にわたって注意している状態にあれば、前記大きさ及び前記位相値がリセットされて、落ち着きのない動きが度重なることで起こる誤警報を回避する
請求項８に記載のシステム。
【請求項１０】
前記１つ以上の有効な動きベクトルは、前記１つ以上のフローベクトルの大きさが所定の大きさ以内である場合、または前記複数の仮想線が同一方向に動いているか均一なスケーリングを示しているか、もしくはベクトルの共存がある場合の前記１つ以上のフローベクトルであり、
前記１つ以上の無効な動きベクトルは、１つ以上のフローベクトルの大きさが前記所定の大きさを上回っている場合、または１つ以上のスパイダーが同一方向に動いていないか均一なスケーリングを示していないか、もしくはベクトルの共存がない場合の前記１つ以上のフローベクトルである
請求項８に記載のシステム。
【請求項１１】
前記１つ以上の静的な動きベクトルは、前記１つ以上のフローベクトルの大きさが一定である場合、前記１つ以上のフローベクトルである
請求項８に記載のシステム。
【請求項１２】
１つ以上の顔を捕捉すること、及び前記画像内に占有された前記空間に基づいて、使用者の顔を特定することは、ハールカスケード型の分類アルゴリズムを用いて実施される
請求項８に記載のシステム。
【請求項１３】
前記複数の仮想線を密集して作成する前記工程は、顔領域を一様にすること、及びラプラシアンフィルタを適用してエッジを強調し、前記複数の仮想線を密集して作成することを含む
請求項８に記載のシステム。
【請求項１４】
前記所定条件は、（ｉ）前記使用者の顔が見えない、または（ｉｉ）動きが速いために前記１つ以上の仮想線が前記顔を対象としていない、または（ｉｉｉ）前記使用者の顔のずれが閾値を上回っている、という条件である
請求項８に記載のシステム。
【請求項１５】
ハードウェアプロセッサによって実行されたときに、前記ハードウェアプロセッサに動作を実施させる命令を保存する非一時的なコンピュータ可読媒体であって、
カメラを用いて１つ以上の画像を捕捉すること、
前記１つ以上の画像内で占有されている空間に基づいて、１つ以上の顔から使用者の顔を特定し、前記使用者の顔を基準顔として保存すること、
前記使用者の顔を（ｉ）第１の領域及び（ｉｉ）第２の領域に分割し、前記使用者の顔の前記第１の領域及び前記第２の領域から１つ以上のコーナー点を特定すること、
前記第１の領域及び前記第２の領域のそれぞれに図心を作成し、前記第１の領域及び前記第２の領域のそれぞれに作成した前記図心に前記１つ以上のコーナー点を複数の仮想線で結んで順応型二重スパイダーモデルを作成すること、
所定時間にわたる前記使用者の顔の動きに基づいて、前記順応型二重スパイダーに複数の仮想線を密集して作成すること、
前記使用者の顔の動きによって生じる前記順応型二重スパイダーモデルの変移を、前記１つ以上のコーナー点の大きさ及び位相値に基づいて、１つ以上のフローベクトルを計算することによって追跡すること、
１つ以上の新しいコーナー点を作成し、前記１つ以上の新しいコーナー点をオプティカルフローフレームに供することによって１つ以上のフローベクトルを作成し、その際１つ以上の新しいコーナー点は、１つ以上の所定条件に基づいて作成されること、
前記１つ以上の新しいコーナー点の角度及び大きさに基づいて、１つ以上の有効な動きベクトル、１つ以上の無効な動きベクトル及び１つ以上の静的な動きベクトルを判断すること、
前記１つ以上の有効な動きベクトルの角度及び大きさが閾値を上回っていれば前記使用者に警報すること、を含む
ことを特徴とする非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、２０１７年１１月７日にインドで出願された特許文献１（発明の名称：ｔｒａｃｋｉｎｇ  ａｎｄ  ａｌｅｒｔｉｎｇ  ｕｓｅｒ（追跡及び使用者への警報））の優先権を主張するものである。
【０００２】
本開示は、全般的に、使用者の顔の追跡に関し、さらに詳細には、使用者の顔の位置を追跡して使用者に警報するシステム及び方法に関する。
【背景技術】
【０００３】
使用者の注意度を判断することは、研究分野の１つである。注意度を判断する例の１つが、車両を利用している運転者である。疲労や睡眠不足などの運転者の不注意に関連する自動車事故により、致命的な事態が発生している。生理学的特徴に基づいた手法は、運転者に測定機器を装着しなければならないため邪魔になる。生理学的特徴に基づいた手法は、使用者の注意度を判断するために視覚技術を利用するものである。そのため、生理学的特徴に基づいた手法は、邪魔になる性質がないため、近年好まれるようになってきた。
【０００４】
運転者注意度監視（ＤＡＭ：Ｄｒｉｖｅｒ  Ａｌｅｒｔｎｅｓｓ  Ｍｏｎｉｔｏｒｉｎｇ）システムの既存モデルは、運転者の前方に設置されたカメラを使用して顔の正面を検出することによるものである。ほとんどの既存の方法では、肌の色合いを利用するＣＡＭＳＨＩＦＴアルゴリズムを使用する。したがって、追跡は、日中の光の下であれば効果的である。オプティカルフロー追跡に伴う別の問題は、運転中に顔の急な動きがあった場合に、顔のキーポイントが常に欠落する傾向があるということである。オプティカルフロー追跡は、誰かが手で顔をこすれば信頼度はそれほど高くない。顔の中のキーポイントは、誤警報を示している手に引きずられてしまう。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】インド特許明細書第２０１７２１０３９６６８号
【発明の概要】
【課題を解決するための手段】
【０００６】
本開示の実施形態は、従来のシステムで発明者らが認識した上記の技術的課題の１つ以上に対する解決策として、技術改良を提供するものである。例えば、１つの実施形態では、顔の位置を追跡して使用者に警報する方法が開示される。本方法は、単眼カメラを用いて１つ以上の画像を捕捉することを含む。本方法はさらに、１つ以上の画像内で特定した１つ以上の顔から使用者の顔を特定することを含む。さらに、特定した使用者の顔を第１の領域及び第２の領域に分割し、第１の領域及び第２の領域のそれぞれで１つ以上のコーナー点を特定する。第１の領域及び第２の領域のそれぞれに図心を作成し、複数の仮想線を用いて１つ以上のコーナー点を各々の図心と結んで順応型二重スパイダーモデルを作成する。続いて、順応型二重スパイダーモデルに複数の線を密集して作成する。使用者の顔の動きによって生じる順応型二重スパイダーモデルの変移を、１つ以上のコーナー点の大きさ及び位相値に基づいて、追跡する。続いて、１つ以上の新しいコーナー点をオプティカルフローフレームに供することによって、１つ以上の新しいコーナー点及び１つ以上のフローベクトルを作成する。さらに、１つ以上のフローベクトルの角度及び大きさに基づいて、１つ以上の有効な動きベクトル、１つ以上の無効な動きベクトル及び１つ以上の静的な動きベクトルを判断する。１つ以上の有効な動きベクトルの角度及び大きさが閾値を上回っていれば使用者に警報を出す。
【０００７】
別の実施形態では、顔の位置を追跡して使用者に警報するシステムが開示される。本システムは、少なくとも１つのプロセッサ、及びこの少なくとも１つのプロセッサに通信可能に接続したメモリを備え、メモリは、いくつかのモジュールで構成される。モジュールは、１つ以上の画像を捕捉する顔追跡モジュールを備えている。さらに、１つ以上の画像内で特定した１つ以上の顔から使用者の顔を特定する。さらに、特定した使用者の顔を第１の領域及び第２の領域に分割し、第１の領域及び第２の領域のそれぞれで１つ以上のコーナー点を特定する。第１の領域及び第２の領域のそれぞれに図心を作成し、複数の仮想線を用いて１つ以上のコーナー点を各々の図心と結んで順応型二重スパイダーモデルを作成する。続いて、順応型二重スパイダーモデルに複数の線を密集して作成する。使用者の顔の動きによって生じる順応型二重スパイダーモデルの変移を、１つ以上のコーナー点の大きさ及び位相値に基づいて、追跡する。続いて、１つ以上の新しいコーナー点をオプティカルフローフレームに供することによって、１つ以上の新しいコーナー点及び１つ以上のフローベクトルを作成する。さらに、１つ以上のフローベクトルの角度及び大きさに基づいて、１つ以上の有効な動きベクトル、１つ以上の無効な動きベクトル及び１つ以上の静的な動きベクトルを判断する。１つ以上の有効な動きベクトルの角度及び大きさが閾値を上回っていれば使用者に警報を出す。
【０００８】
さらに別の態様では、顔の位置を追跡して使用者に警報する非一時的なコンピュータ可読媒体が開示される。非一時的なコンピュータ可読媒体は、ハードウェアプロセッサによって実行されたときに、単眼カメラを用いて１つ以上の画像を捕捉することを含む動作をハードウェアプロセッサに実施させる命令を保存している。この動作はさらに、１つ以上の画像内で特定した１つ以上の顔から使用者の顔を特定することを含む。さらにこの動作は、特定した使用者の顔を第１の領域及び第２の領域に分割し、第１の領域及び第２の領域のそれぞれで１つ以上のコーナー点を特定することを含む。第１の領域及び第２の領域のそれぞれに図心を作成し、複数の仮想線を用いて１つ以上のコーナー点を各々の図心と結んで順応型二重スパイダーモデルを作成する。続いて、順応型二重スパイダーモデルに複数の線を密集して作成する。使用者の顔の動きによって生じる順応型二重スパイダーモデルの変移を、１つ以上のコーナー点の大きさ及び位相値に基づいて、追跡する。続いて、１つ以上の新しいコーナー点をオプティカルフローフレームに供することによって、１つ以上の新しいコーナー点及び１つ以上のフローベクトルを作成する。さらに、この動作は、１つ以上のフローベクトルの角度及び大きさに基づいて、１つ以上の有効な動きベクトル、１つ以上の無効な動きベクトル及び１つ以上の静的な動きベクトルを判断することを含む。１つ以上の有効な動きベクトルの角度及び大きさが閾値を上回っていれば使用者に警報を出す。
【０００９】
以上のおおまかな説明及び以下の詳細な説明はどちらも単なる説明のためのものであって、特許請求の対象である本発明を限定するものではないことを理解すべきである。
【００１０】
本開示に組み込まれ、本開示の一部を成している添付の図は、説明文と併せて例示的な実施形態を示しており、開示した原理を説明するためのものである。
【図面の簡単な説明】
【００１１】
【図１】本開示のいくつかの実施形態による、顔の位置を追跡して使用者に警報するシステムを示す説明図
【図２】本主題のいくつかの実施形態による、変形パターンモデル（ＤＰＭ：ｄｅｆｏｒｍａｂｌｅ  ｐａｔｔｅｒｎ  ｍｏｄｅｌ）の樹形表現の一例の説明図
【図３】（図３（ａ））本主題のいくつかの実施形態による、車内の運転者の順応型二重スパイダーモデルの一例の説明図    （図３（ｂ））本主題のいくつかの実施形態による、車内の運転者の順応型二重スパイダーモデルの一例の説明図
【図４】（図４（ａ））本主題のいくつかの実施形態による、使用者に警報するユーザインターフェースの一例の説明図    （図４（ｂ））本主題のいくつかの実施形態による、使用者に警報するユーザインターフェースの一例の説明図
【図５（ａ）】本主題のいくつかの実施形態による、顔の位置を追跡して使用者に警報する方法を示す流れ図
【図５（ｂ）】本主題のいくつかの実施形態による、顔の位置を追跡して使用者に警報する方法を示す流れ図
【発明を実施するための形態】
【００１２】
添付の図面を参照して例示的な実施形態を説明する。図面では、符号の一番左側の数字は、その符号が最初に現れている図を特定している。便宜上、同じまたは同様の部分を指すために図面全体を通して同じ符号を使用している。開示した原理の例及び特徴を本明細書に記載しているが、開示した実施形態の趣旨及び範囲を逸脱しない限り、修正、適応、及びその他の実施が可能である。以下の詳細な説明は単なる例示であると捉え、本質となる範囲及び趣旨は以下の請求項に明記していることを意図している。
【００１３】
記載したシステムを実装して顔の位置を追跡して使用者に警報する方法を、以下の図に関して詳細に説明した。記載したシステムの態様は、どのような数の様々なコンピューティングシステム、伝送環境、及び／または構成でも実現できるが、実施形態は以下の例示的なシステムの文脈で説明される。
【００１４】
図１は、本開示の一実施形態による、使用者の顔の位置を追跡して使用者に警報するシステム１００を概略的に示している。図１に示したように、システム１００は、１つ以上のプロセッサ１０２及びメモリ１０４を備え、両者は互いに通信可能に接続されている。メモリ１０４は、使用者の顔の位置を追跡して使用者に警報する顔追跡モジュール１０６を備えている。システム１００は、インターフェース１０８も備えている。図１にはシステム１００の例としての構成要素を示しているが、他の実施形態では、システム１００は、これよりも少ない構成要素、追加の構成要素、異なる構成要素または図１とは異なる形で配置された構成要素を含んでいてもよい。
【００１５】
プロセッサ１０２及びメモリ１０４は、システムバスを介して通信可能に接続されていてよい。プロセッサ１０２は、とりわけ通信に関連する音声機能及び論理機能を実装している回路を備えていてよい。プロセッサ１０２は、とりわけ、クロック、算術論理ユニット（ＡＬＵ：ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）及びプロセッサ１０２の動作を支援するように構成された論理ゲートを備えていてよい。プロセッサ１０２は、単一の処理ユニットであっても複数のユニットであってもよく、そのすべてが複数の計算ユニットを備えている。プロセッサ１０２は、１つ以上のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタルシグナルプロセッサ、中央処理装置、ステートマシン、論理回路、及び／または動作命令に基づいて、信号を操作する任意の装置として実装されてよい。能力のうちとりわけプロセッサ１０２は、メモリ１０４に保存されているコンピュータ可読命令及びデータを取得して実行するように構成される。
【００１６】
図示した様々な要素の機能、例えば「プロセッサ」と表記した何らかの機能ブロックは、専用のハードウェアと、適切なソフトウェアと関連付けられたソフトウェアを実行できるハードウェアとを使用することで提供されてよい。プロセッサによって提供される場合、機能は、単一の専用プロセッサによって、単一の共有プロセッサによって、あるいは複数の別個のプロセッサでそのうちのいくつかが共有されていてもよいものによって提供されてよい。さらに、「プロセッサ」という用語を明確に使用していても、ソフトウェアを実行できるハードウェアを排除するという意味に解釈してはならず、デジタルシグナルプロセッサ（ＤＳＰ）ハードウェア、ネットワークプロセッサ、特定用途向け集積回路（ＡＳＩＣ：Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ：Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ソフトウェアを格納するための読み出し専用メモリ（ＲＯＭ：Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、及び不揮発性記憶装置などだがこれに限定されないものを黙示的に含むことがある。従来かつ／またはカスタムのその他のハードウェアも含まれることがある。
【００１７】
インターフェース１０８には、多様なソフトウェア及びハードウェアインターフェース、例えば、キーボード、マウス、外部メモリ、及びプリンタなどの周辺装置に対するインターフェースなどがあってよい。インターフェース１０８は、例えばローカルエリアネットワーク（ＬＡＮ）、ケーブルなどの有線ネットワーク、及び無線ＬＡＮ（ＷＬＡＮ）、携帯電話、または衛星などの無線ネットワークを含む多種多様なネットワーク及びプロトコルタイプの中で複数の通信を容易にすることができる。そのためには、インターフェース１０８は、システム１００をその他のネットワーク装置に接続する１つ以上のポートを備えていてよい。
【００１８】
メモリ１０４は、先行技術で公知の任意のコンピュータ可読媒体を含んでいてよく、それには、例えばスタティックランダムアクセスメモリ（ＳＲＡＭ：Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）及びダイナミックランダムアクセスメモリ（ＤＲＡＭ：Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの揮発性メモリ、及び／またはリードオンリーメモリ（ＲＯＭ）、消去可能プログラマブルＲＯＭ、フラッシュメモリ、ハードディスク、光ディスク、及び磁気テープなどの不揮発性メモリなどがある。メモリ１０４は、使用者の顔の位置を追跡して使用者に警報するためにシステム１００が使用する情報及びデータをいくらでも保存できる。メモリ１０４は、情報、データ、アプリケーション、システム１００への命令などを保存して、例としての様々な実施形態に応じて様々な機能を実行するように構成されてよい。これに加えて、またはこの代わりに、メモリ１０４は、プロセッサ１０２によって実行されたときに、様々な実施形態に記載した要領でシステム１００を動作させる命令を保存するように構成されてよい。メモリ１０４は、顔追跡モジュール１０６及びその他のモジュールを備えている。顔追跡モジュール１０６は、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含んでいてよく、これらが特定のタスクを実行したり、特定の抽象データ型を実装したりする。
【００１９】
一実施形態では、使用者の顔の位置を追跡し、顔が元の位置からずれた場合に使用者に警報する方法が開示される。顔追跡モジュール１０６は、カメラを使用して１つ以上の画像を捕捉する。カメラは、使用者の顔からある特定の角度の所に設置される。例えば、自動車内では、運転者の顔の位置を追跡するために、単眼カメラを自動車のＡピラーに設置できる。したがって、単眼カメラは、運転者の正面の角度から画像を捕捉するのではなく、側面の角度から画像を捕捉する。
【００２０】
続いて、１つ以上の画像の中に２人以上いる場合は、捕捉された１つ以上の画像から１つ以上の顔が特定され、１つ以上の画像内で占有されている空間に基づいて、使用者の顔が特定される。より多くの空間を占有している顔は、使用者の顔の位置を追跡するための使用者の顔とみなされる。この方法では、ハールカスケード（ｈａａｒ  ｃａｓｃａｄｅ）型の分類アルゴリズムを用いて１つ以上の顔が検出され、より大きい顔に信頼指数が与えられる。例えば、車内の運転者の顔の位置を判断する場合、運転者は車内の他の顔よりもカメラの近くにいるため、占有空間が大きい。使用者の顔は、その後の比較のために基準顔として保存される。
【００２１】
一実施形態では、使用者の顔は、２つの領域、すなわち第１の領域と第２の領域に分割される。例えば、使用者の顔を左領域と右領域に分割できる。顔追跡モジュール１０６はさらに、使用者の顔の第１の領域及び第２の領域から１つ以上のコーナー点を特定する。１つ以上のコーナー点は、顔検出器を用いて使用者の顔のおおまかな位置を見つけることによって特定される。１つ以上のコーナー点は、使用者の顔に当たっている光の強度に基づいて、判断される。
【００２２】
一実施形態では、顔追跡モジュール１０６は、検出した使用者の顔の位置を細かく判定するために低解像度の顔に対して変形部分モデル（ＤＰＭ：ｄｅｆｏｒｍａｂｌｅ  ｐａｒｔ  ｍｏｄｅｌ）を使用する。続いて、使用者の顔の必須の関心領域内で異なるＤＰＭを使用して、高解像度の画像に散在している特徴を見つける。
【００２３】
図２は、本主題のいくつかの実施形態による、変形パターンモデル（ＤＰＭ：ｄｅｆｏｒｍａｂｌｅ  ｐａｔｔｅｒｎ  ｍｏｄｅｌ）の樹形表現の一例である。図２は、ＤＰＭを一方向に樹形表現した一例であり、樹の１つ以上のノードは、局所的な特徴を描写する１つ以上のコーナー点を表し、これらを結んでいる線は、隣のコーナー点に対する相対位置を与えている。
【００２４】
樹形図は、樹形図Ｇ＝（Ｖ、Ｅ）という式に基づいて、計算される。
【００２５】
例は、Ｓ１〜Ｓ７の７つの頂点及び１つ以上のコーナー点を含んでおり、Ｅ12、Ｅ25、Ｅ43、Ｅ35、Ｅ75、Ｅ65は、頂点Ｓ１〜Ｓ７を結ぶ６つの線である。
【００２６】
【数１】
2019087231.tif 000003
【００２７】
式中、第１の項は、キーポイントの位置ｓｉと画像Ｉとの合致に相当する。これは、１つ以上のコーナー点の適合具合を表している。第２の項は、２つのコーナー点の相対位置を判断する変形損失に相当する。
【００２８】
一実施形態では、顔追跡モジュール１０６は、第１の領域及び第２の領域のそれぞれに図心を作成する。第１の領域及び第２の領域の各領域にある図心は、複数の仮想線を用いてそれぞれの１つ以上のコーナー点と結ばれて順応型二重スパイダーモデルを作成する。図３（図３ａ及び図３ｂ）は、本主題のいくつかの実施形態による車内の運転者の順応型二重スパイダーモデルの一例である。
【００２９】
一実施形態では、順応型二重スパイダーモデルの中に密集した複数の仮想線を作成する方法が開示される。使用者の顔が所定時間にわたって注意を向けている場合、１つ以上のコーナー点が増加する。顔追跡モジュール１０６は、顔領域を一様にし、ラプラシアンフィルタを適用してエッジを強調することによって１つ以上のコーナー点を増加させる。増加したエッジは、１つ以上のコーナー点を増加させる。本方法はさらに、増加したそれぞれの１つ以上のコーナー点と結んで、順応型二重スパイダーモデルの中に密集した複数の仮想線を作成する。
【００３０】
一実施形態では、使用者の顔の位置がある位置から別の位置へ変化したとき、新しいコーナー点が作成される。
【００３１】
一実施形態では、以下の条件のいずれかを満たした場合に、連続して追跡している間に１つ以上の新しいコーナー点を作成するためのリセット論理が追加される。リセット論理が使用される条件は以下の通りである。
（ｉ）使用者の顔が見えない、または（ｉｉ）動きが速いために１つ以上の仮想線が顔を対象としていない、または（ｉｉｉ）使用者の顔のずれが閾値を上回っている。
【００３２】
１つ以上の新しいコーナー点は、使用者の顔のコーナー点の位置座標である。したがって、１つ以上の新しいコーナー点は、一対のオプティカルフローフレームに供される。
【００３３】
顔追跡モジュール１０６は、１つ１つのフレームの対の間で起こる１つ１つの遷移に対するオプティカルフローから得られたフローベクトルの角度及び大きさを計算する。顔追跡モジュール１０６はさらに、１つ以上の新しいコーナー点の位置に基づいて、連続した頭の動きを描写する。フローベクトルは、極めて影響を受けやすく、運転中の運転者の手の動きなどの急な動作や不注意な動きなどの様々な小さな動きによって分散する。フローベクトルは、３種類に分けられる。
【００３４】
１つ以上のフローベクトル点の角度及び大きさに基づいて、１つ以上のフローベクトルは、ａ）有効な動きベクトル、ｂ）無効な動きベクトル、及びｃ）静的なベクトルの３群に分類され得る。
【００３５】
１つ以上の有効な動きベクトルは、１つ以上のフローベクトルの大きさが所定の大きさ以内である場合、または複数の仮想線が同一方向に動いているか均一なスケーリングを示している場合、もしくはベクトルの共存がある場合のフローベクトルである。１つ以上の無効な動きベクトルは、１つ以上のフローベクトルの大きさが所定の大きさを上回っている場合、または複数の仮想線が同一方向に動いていないか均一なスケーリングを示していない場合、もしくはベクトルの共存がない場合の１つ以上のフローベクトルである。また、１つ以上の静的な動きベクトルは、１つ以上のフローベクトルの大きさが一定である場合の１つ以上のフローベクトルである。
【００３６】
一実施形態では、顔追跡モジュール１０６は、有効な動きベクトルを検討してさらに他の処理をする。無効な動きベクトル及び静的な動きベクトルは、追跡して使用者に警報を出すために検討されることはない。
【００３７】
一実施形態では、使用者に警報を出すための様々な筋書きが開示される。一実施形態では、顔追跡モジュール１０６は、有効な動きベクトルの二重スパイダーモデルを検討する。有効な動きベクトルに対する仮想線の位置が変化することによって生じた角度及び大きさが検討される。仮想線の角度及び大きさが閾値よりも大きければ、警報が出される。しかし、二重スパイダーの仮想線の角度及び大きさが閾値よりも小さければ警報は出されない。
【００３８】
別の実施形態では、使用者の顔が見えないときに警報が出される。
【００３９】
一実施形態では、顔追跡モジュール１０６は、使用者の顔を捉え、使用者の顔を基準顔と合致させる。使用者の顔が基準顔と合致していなければ、使用者は注意深い状態ではなく、使用者に第１の警報が出される。第１の警報の後に使用者が基準顔と合致していなければ第２の警報が出される。
【００４０】
図４は、本主題のいくつかの実施形態による、使用者に警報するユーザインターフェースの一例である。図４（ａ）は、使用者が注意深い状態にあるときのユーザインターフェースの一例である。大きさ及び角度に対する閾値が使用者から提供される。角度及び大きさは、使用者が注意深い状態にあるときは閾値以内である。図４（ａ）の顔文字は、使用者が注意深い状態にあることを示している。図４（ｂ）では、使用者は注意深い状態ではない。図４（ｂ）のフローベクトルの角度及び大きさは、閾値に達している。図４（ｂ）の顔文字は、使用者が見えなくなっていることを示している。
【００４１】
一実施形態では、使用者の顔が所定時間にわたって注意している状態にあれば、大きさ及び位相値がリセットされて、落ち着きのない動きが度重なることで起こる誤警報を回避する。
【００４２】
一実施形態では、誤警報に対する状況が検討される。誤警報は、運転者が眠気を感じているのではなくただ注意していないだけのようなときに頭を動かしている場合に生じ、その場合、（小さい）有効な動きフローベクトルの大きさが加わり、フローベクトルの大きさが時折閾値を上回って誤警報を出すことがある。
【００４３】
誤警報の問題に対処するため、顔追跡モジュール１０６は、周期タイマー相関器（ｐｅｒｉｏｄｉｃ  ｔｉｍｅｒ  ｃｏ−ｒｅｌａｔｏｒ）を備えている。周期タイマー相関器は、基準顔が１つ以上の新しいコーナー点で作成されている使用者の顔と合致しているかどうかを頻繁にチェックする。顔が所定の時間間隔で合致していれば、使用者は気をつけているという意味であり、ＶＭベクトルの大きさはリセットされて、追加された無効なベクトルを除去して誤警報を取り消すことができる。所定間隔の後に顔が適切に合致していなければ、１つ以上の新しいコーナー点が検討される。
【００４４】
同じように、使用者が同じ体勢で頭を動かさずに眠りに落ちた場合は、システム１００は警報を出さない。したがって、頭の動きがないときに使用者の注意度を判断するために、顔追跡モジュール１０６は運転者の目を検出する。目が検出されれば警報は発せられず、使用者の目が検出されなければ警報が発せられ、１つ以上の新しいコーナー点が検討される。
【００４５】
図５（（図５（ａ）及び図５（ｂ））は、本主題のいくつかの実施形態による、顔の位置を追跡して使用者に警報する方法を示す流れ図である。ブロック５０２では、カメラを用いて１つ以上の画像を捕捉する。ブロック５０４では、１つ以上の画像内で特定した１つ以上の顔から使用者の顔を特定する。ブロック５０６では、使用者の顔を第１の領域及び第２の領域に分割し、第１の領域及び第２の領域から１つ以上のコーナー点を特定する。ブロック５０８では、第１の領域及び第２の領域のそれぞれに図心を作成し、仮想線を用いてその図心を１つ以上のコーナー点と結んで順応型二重スパイダーモデルを作成する。ブロック５１０では、順応型二重スパイダーモデルに複数の仮想線を密集して作成する。ブロック５１２では、１つ以上のフローベクトルを計算することによって順応型二重スパイダーモデルの変移を追跡する。ブロック５１４では、１つ以上の新しいコーナー点を作成し、その１つ以上の新しいコーナー点をオプティカルフローフレームに供することによって１つ以上のフローベクトルを作成する。ブロック５１６では、１つ以上の有効な動きベクトル、１つ以上の無効な動きベクトル及び１つ以上の静的なベクトルを判断する。ブロック５１８では、有効な動きベクトルの角度及び大きさが閾値を上回っていれば使用者に警報を出す。
【００４６】
保護範囲は、そのようなプログラム、及びそれに加えてそれに含まれるメッセージを有するコンピュータ可読手段にも及ぶことを理解すべきである。そのようなコンピュータ可読記憶手段は、プログラムがサーバもしくはモバイル装置または任意の適切なプログラム可能装置で稼働する場合、本方法の１つ以上のステップを実施するためのプログラム符号化手段を含んでいる。ハードウェア装置は、プログラムされ得る任意の種類の装置であってよく、例えばサーバまたはパーソナルコンピュータなどの任意の種類のコンピュータ、あるいはこれらを組み合わせたものであってもよい。装置は、例えば特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）のような例えばハードウェア手段であってもよいし、例えばＡＳＩＣとＦＰＧＡを組み合わせたようなハードウェア手段とソフトウェア手段を組み合わせたものでもよいし、少なくとも１つのマイクロプロセッサ及び少なくとも１つのメモリをその中にあるソフトウェアモジュールと組み合わせたものなどであってもよい手段を含むことも可能である。そのため、手段は、ハードウェア手段とソフトウェア手段の両方を含むことができる。本明細書に記載した方法の実施形態は、ハードウェア及びソフトウェアで実施され得る。装置は、ソフトウェア手段も含んでいてよい。また、実施形態は、例えば複数のＣＰＵを用いたりして様々なハードウェア装置上で実施されてよい。
【００４７】
本明細書の実施形態は、ハードウェア及びソフトウェアの要素を含むことができる。ソフトウェアで実施される実施形態には、ファームウェア、常駐ソフトウェア、マイクロコードなどが含まれるが、これに限定されない。本明細書に記載した様々なモジュールによって実行される機能は、他のモジュールまたは他のモジュールを組み合わせたものによって実施され得る。この説明のために、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令を実行するシステム、装置、またはデバイスに使用されるプログラム、またはこれらと接続しているプログラムを含んだり、格納したり、通信したり、伝搬したり、転送したりできる任意の装置であってよい。
【００４８】
説明したステップは、図示した例示的な実施形態を説明するために記載したものであり、現在進行中の技術開発が、特定の機能を実行する方法を変更するであろうことを予測すべきである。これらの例は、例示のために本明細書に提示したのであって、限定するためではない。さらに、機能的構成要素の境界は、説明の便宜上、本明細書では独断的に定義している。具体的な機能及びその関係性が適切に実行されている限り、代替となる境界を定義することが可能である。代替例（本明細書に記載のものの同等例、拡張例、変形例、逸脱例などを含む）は、本明細書に含まれる教示に基づいて、当業者には明らかであろう。そのような代替例は、開示した実施形態の範囲内及び趣旨内に収まる。また、「備える（ｃｏｍｐｒｉｓｉｎｇ）」、「有する（ｈａｖｉｎｇ）」、「含む（ｃｏｎｔａｉｎｉｎｇ）」及び「含む（ｉｎｃｌｕｄｉｎｇ）」という単語ならびにその他の類似の形態は、意味が同等であることを意図しているとともに、これらの単語のいずれか１つに続く項目がそのような項目を網羅している一覧であること意味するのではなく、あるいは列挙された項目のみに限定されることを意味しているのでもないという点で制限がないことを意図している。本明細書及び添付の請求項で使用したように、単数形の「ａ」、「ａｎ」及び「ｔｈｅ」は、文脈に別途明記されていない限り、複数形の参照物を含むことにも注意しなければならない。
【００４９】
さらに、本開示と一貫した実施形態を実施する際には、１つ以上のコンピュータ可読記憶媒体を使用してよい。コンピュータ可読記憶媒体は、プロセッサで読み込める情報またはデータを保存し得るあらゆる種類の物理的メモリを指す。そのため、コンピュータ可読記憶媒体は、本明細書に記載の実施形態と一貫したステップまたは段階を（１つまたは複数の）プロセッサに実行させる命令など、１つ以上のプロセッサによって実行する命令を保存してよい。「コンピュータ可読媒体」という用語は、具体的な項目を含み、搬送波及び一過性の信号を含まない、すなわち非一時的であると理解すべきである。例として、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、揮発性メモリ、不揮発性メモリ、ハードドライブ、ＣＤ−ＲＯＭ、ＤＶＤ、フラッシュドライブ、ディスク、及びその他の任意の公知の物理的記憶媒体などがある。
【００５０】
開示及び例は例示的なものにすぎないと考えることを意図しており、開示した実施形態の真の範囲及び趣旨は、請求項に記されている。
【図１】
2019087231.tif 000004
【図２】
2019087231.tif 000005
【図３】
2019087231.tif 000006
【図４】
2019087231.tif 000007
【図５（ａ）】
2019087231.tif 000008
【図５（ｂ）】
2019087231.tif 000009
【外国語明細書】
2019087231000001.pdf