(57)【要約】  本開示の技術に従うと、方法は、車両のカメラシステムを用いて車両の乗員の少なくとも１つの画像を取り込むステップと、上記乗員の少なくとも１つの画像に基づいて車両内の乗員の１つ以上の目の位置を求めるステップと、上記乗員の少なくとも１つの画像に基づいて視線ベクトルを求めるステップとを含む。この方法はまた、上記視線ベクトルと、上記乗員の１つ以上の目の位置と、上記車両の車両データファイルとに基づいて、車両の複数の関心領域のうちの、乗員が見ている関心領域を求めるステップを含み得る。車両データファイルは複数の関心領域の各々の位置を特定する。この方法はまた、上記関心領域に基づいてアクションを選択的に実行するステップを含み得る。
2021531522.tif 000002
【特許請求の範囲】
【請求項１】
車両のカメラシステムを介して前記車両の乗員の少なくとも１つの画像を取得するステップと、
前記乗員の前記少なくとも１つの画像に基づいて前記車両内の前記乗員の１つ以上の目の位置を求めるステップと、
前記乗員の前記少なくとも１つの画像に基づいて視線ベクトルを求めるステップと、
前記視線ベクトルと、前記乗員の１つ以上の目の位置と、前記車両の車両データファイルとに基づいて、前記車両の複数の関心領域のうちの、前記乗員が見ている関心領域を求めるステップとを含み、前記車両データファイルは前記複数の関心領域の各々の位置を特定し、
前記求めた関心領域に基づいてアクションを選択的に実行するステップを含む、方法。
【請求項２】
前記視線ベクトルを求めるステップは、
前記少なくとも１つの画像における１つ以上の顔面ランドマークを識別するステップと、
前記１つ以上の顔面ランドマークに基づいて、前記乗員の顔面平面のピッチ角、ロール角、およびヨー角を求めるステップと、
前記ピッチ角、前記ロール角、および前記ヨー角に基づいて、前記視線ベクトルを求めるステップとを含む、請求項１に記載の方法。
【請求項３】
前記視線ベクトルを求めるステップは、
前記少なくとも１つの画像に基づいて前記乗員の少なくとも１つの瞳孔の角度を求めるステップと、
前記少なくとも１つの瞳孔の角度に基づいて前記視線ベクトルを求めるステップとを含む、請求項１に記載の方法。
【請求項４】
前記視線ベクトルを求めるステップは、
前記少なくとも１つの画像に基づいて前記乗員の顔面平面を求めるステップと、
前記顔面平面に基づいて第１の初期視線ベクトルを求めるステップと、
前記画像に基づきアイトラッキングを用いて第２の初期視線ベクトルを求めるステップと、
前記第１の初期視線ベクトルと前記第２の初期視線ベクトルとを少なくとも組み合わせることによって前記視線ベクトルを求めるステップとを含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記視線ベクトルを求めるステップは、少なくとも１つの機械学習済モデルを前記少なくとも１つの画像に適用するステップを含み、前記機械学習済モデルは前記視線ベクトルを出力する、請求項１〜３のいずれか１項に記載の方法。
【請求項６】
前記少なくとも１つの画像は、前記カメラシステムの２つ以上の異なるカメラの各々が取り込んだ少なくとも１つの画像を含み、前記車両内の前記乗員の１つ以上の目の位置を求めるステップは、
前記２つ以上の異なるカメラの各々が取り込んだ少なくとも１つの画像に基づいて視差角を求めるステップと、
前記２つ以上の異なるカメラの各々の位置と前記視差角とに基づいて、前記２つ以上の異なるカメラのうちの少なくとも１つのカメラから前記乗員の１つ以上の目までの距離を求めるステップと、
前記距離と前記２つ以上の異なるカメラの各々の位置とに基づいて、前記乗員の１つ以上の目の位置を求めるステップとを含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記少なくとも１つの画像は、前記カメラシステムの赤外線カメラを用いて取り込んだ画像を含み、前記車両内の前記乗員の１つ以上の目の位置を求めるステップは、
前記画像の歪みに基づいて、前記赤外線カメラから前記乗員の１つ以上の目までの距離を求めるステップと、
前記赤外線カメラの位置と前記距離とに基づいて、前記乗員の１つ以上の目の位置を求めるステップとを含む、請求項１〜５のいずれか１項に記載の方法。
【請求項８】
前記車両内の前記乗員の１つ以上の目の位置は、前記カメラシステムの１つのカメラを重心とするカメラベースの座標系を用いて特定され、
前記複数の関心領域の各々の位置は車両ベースの座標系を用いて特定され、前記車両ベースの座標系の重心は前記車両の内部に位置し前記１つのカメラの位置と異なっており、
前記乗員が見ている関心領域を求めるステップは、
前記１つ以上の目の位置を、前記カメラベースの座標系から前記車両ベースの座標系に変換するステップと、
前記視線ベクトルを、前記車両ベースの座標系を用いて特定した前記１つ以上の目の位置から延ばしたものが、前記複数の関心領域のうちのいずれかと交差するか否かを判断するステップと、
前記視線ベクトルが、前記複数の関心領域のうちの特定の関心領域と交差すると判断したことに応じて、前記特定の関心領域は前記乗員が見ている関心領域であると判断するステップとを含む、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記車両データファイルは拡張可能マークアップ言語に従って構成されたデータを含み、前記車両データファイルは前記複数の関心領域のうちの各関心領域の座標のセットを含み、前記座標のセットの各々は前記車両の内部を包む球体の重心に対して定められ、前記座標のセットの各々は２次元平面を画定する、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサによって実行されると請求項１〜９のいずれか１項に記載の方法を前記少なくとも１つのプロセッサに実行させる命令を含むメモリとを備える、コンピューティングデバイス。
【請求項１１】
請求項１〜９のいずれか１項に記載の方法を実行するための手段を備えるコンピューティングシステム。
【請求項１２】
コンピューティングデバイスの少なくとも１つのプロセッサによって実行されると請求項１〜９のいずれか１項に記載の方法を前記少なくとも１つのプロセッサに実行させる命令を含むコンピュータ読取可能記憶媒体。
【請求項１３】
請求項１０に記載のコンピューティングデバイスを備える車両。
【発明の詳細な説明】
【背景技術】
【０００１】
背景
半自律運転機能を備えた車両がより一般的になりつつある。車両は、車線境界線内で車両を維持すること、曲がり角を回るように車両を案内すること、または他の車両の存在に基づいて自動的に加速するかもしくはブレーキをかけることを支援する機能を備えている場合がある。これらの運転支援機能は、適切に使用される場合は有用であるが、一部の運転者はさまざまな時間帯においてこれらの機能に依存して車両を完全に制御している。運転者は、積極的に車両を運転するのではなく、車両のヘッドユニットと対話をしている、窓の外の景色を眺めている、携帯電話を見ている、食べている、またはそれ以外の作業を行っている場合がある。残念ながら、これらの運転支援システムはユーザとの対話を必要とするように設計されているので、不注意な運転者は事故を起こす可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００２】
概要
概して、本開示は、ユーザが車両の運転に関与しているのかまたは何か他のものに注意を向けているのかをコンピューティングシステムが３次元の車室空間内の３次元視線ベクトルを用いて判断することを可能にするための技術に関する。本開示の技術は、ユーザがハンドルに触れることを要求したり、運転者の目が開いていると判断したり、顔の表情または瞬きの速度を分析したりするのではなく、コンピューティングシステムが、ユーザが見ている車両内の場所を正確に判断し車両内のその場所に何が物理的に位置しているかを判断することを可能にすることができる。たとえば、コンピューティングシステムは、３次元の車室内における乗員の頭部および／または目の位置を求め、乗員の顔面平面に少なくとも一部基づいて３次元視線ベクトルを求めることができる。コンピューティングシステムは、車室空間内における乗員の頭部／目の３次元位置と３次元視線ベクトルとを用いて、ユーザが見ている３次元の車室空間内の場所、たとえばバックミラー、車両のヘッドユニット、車両の計器ディスプレイ、車両のフロントガラスなどを、より正確に判断することができる。場合によっては、コンピューティングシステムは、（たとえば乗員が見ている場所は窓に関連があるという理由で）乗員が車両外部の何かを見ていると判断することがある。このような場合、コンピューティングシステムは、乗員がサイドウィンドウから外を見ておりしたがって車両の運転に十分な注意を向けていない可能性があるか否かを判断することある。コンピューティングシステムは、ユーザが見ている場所を利用して、安全に関係するまたはその他の各種措置を講じることができる（たとえば、窓の外のユーザが見ているものの写真を撮影する、車両のヘッドユニットと対話するためのユーザの能力は制限せずに、ヘッドユニットと対話するための運転者の能力を制限する、運転者がどれほど道路規則を守っているかを評価するなど）。
【０００３】
このようにして、本開示の技術は、車両の乗員の車両に対する関与のレベルをより効果的に確かめるために、乗員がどこを見ているかをコンピューティングシステムがより正確に判断することを可能にすることができる。コンピューティングシステムは、乗員がどこを見ているかをより正確に判断することにより、乗員が道路に注意を向けているか否かを判断するだけでなく、乗員が見ている物に関連するその他の各種アクションを実行することもできる。このように、本明細書に記載の視線検出システムは、典型的なドライバーアテンションシステムと比較して、コンピューティングシステムがより多くの機能を提供することを可能にすることができる。
【０００４】
１つ以上の例の詳細を添付の図面および以下の説明に記載する。本開示の他の特徴、目的、および利点は、この説明および図面ならびに請求項から明らかになるであろう。
【図面の簡単な説明】
【０００５】
【図１】本開示の１つ以上の局面に係る、３次元視線ベクトルを用いて運転者の関与を判断するように構成された車両コンピューティングシステムの一例を含む車両の内部を示す概念図である。
【図２】本開示の１つ以上の局面に係る、内部カメラシステムを有する車両の一例を示す概念図である。
【図３】本開示の１つ以上の局面に係る、運転者の顔面平面の一例を示す概念図である。
【図４】本開示の１つ以上の局面に係る、関心領域を有する車両の内部の一例を示す概念図である。
【図５】本開示の１つ以上の局面に係る、３次元視線ベクトルを用いて運転者の関与を判断するように構成されたコンピューティングデバイスの一例を示すブロック図である。
【図６Ａ】本開示の１つ以上の局面に係る、機械学習済モデルの一例のある局面を示す概念図である。
【図６Ｂ】本開示の１つ以上の局面に係る、機械学習済モデルの一例のある局面を示す概念図である。
【図６Ｃ】本開示の１つ以上の局面に係る、機械学習済モデルの一例のある局面を示す概念図である。
【図６Ｄ】本開示の１つ以上の局面に係る、機械学習済モデルの一例のある局面を示す概念図である。
【図６Ｅ】本開示の１つ以上の局面に係る、機械学習済モデルの一例のある局面を示す概念図である。
【図７】本開示の１つ以上の局面に係る、３次元視線ベクトルを用いて運転者の関与を判断するように構成されたコンピューティングシステムの動作の例を示すフローチャートの図である。
【発明を実施するための形態】
【０００６】
詳細な説明
図１は、本開示の１つ以上の局面に係る、３次元（３Ｄ）視線ベクトルを用いて運転者の関与を判断するように構成された車両コンピューティングシステムの一例を含む車両の内部を示す概念図である。図１は、カメラ１０２Ａおよび１０２Ｂ（まとめて「カメラ１０２」）ならびに車両コンピューティングシステム１０４に加えて車両１００の内部（本明細書では車両１００の「車室」とも呼ぶ）の断面図を示す。図１に示される車両は自動車であってもよいが、本開示の局面は、トラック、オートバイ、航空機、船舶、列車、またはそれ以外の車両を含む、他の種類の車両にも適用できるものであってもよい。図１において、運転者は通常はこの座席に座っていてもよく、その他の同乗者の座席は運転者の座席の後方または隣に位置していてもよい。
【０００７】
カメラ１０２は、カメラまたは電荷結合素子等の、任意の適切な種類の画像捕捉装置のうちの１つ以上であってもよい。いくつかの例において、カメラ１０２は、高視野浅焦点深度の１つ以上の赤外線カメラであってもよく、概ね車両１００の１つ以上の座席の方向に向けられた背面照光赤外線カメラであってもよい。その他の例において、カメラ１０２は、その他１つ以上の赤外線カメラ、サーモグラフィーカメラ、熱撮像カメラ、感光カメラ、レンジセンサ、深度カメラ、トモグラフィーデバイス、レーダーデバイス、または超音波カメラを含み得る、１つ以上のその他の種類のカメラもしくは画像センサであってもよい、またはこれらを含んでいてもよい。いくつかの例において、カメラ１０２は、コンピュータビジョン技術の適用に適した画像キャプチャデバイスであってもよい。使用するセンサまたはカメラの種類に応じて、結果として得られる画像は、２次元画像、３次元ボリューム、または画像シーケンスを含み得る。画素値は、典型的には１つ以上のスペクトル帯における光度に対応するが、深度、超音波もしくは電磁波の吸収もしくは反射、または核磁気共鳴に関連していてもよい。図１には２つのカメラ１０２のみが示されているが、車両１００は、車両１００の内部に配置された３つ以上のカメラ１０２を含んでいてもよく、本開示の技術は任意の数のカメラ１０２が取り込んだ任意の数の画像を使用することができる。
【０００８】
一般的に、車両コンピューティングシステム１０４は、支援する、報知する、楽しませる、または、車両の乗員とのユーザ対話を必要とするその他のタスクを実行するように動作することができる。車両コンピューティングシステム１０４を、車両ヘッドユニット、インフォテイメント（infotainment）システム、またはそのサブコンポーネントと呼ぶこともできる。たとえば、車両コンピューティングシステム１０４は、車両の１人以上の乗員に代わって、機能を実行するまたは情報を処理する各種アプリケーションを実行することができる。たとえば、車両コンピューティングシステム１０４は、目的地への方向を提供するナビゲーションサービスを提供してもよい。車両コンピューティングシステム１０４はまた、クエリに応じておよび／またはプリエンプティブな支援またはレコメンデーションとして情報を提供する情報検索サービスを提供することができる。車両コンピューティングシステム１０４はまた、車両に関する車両データまたは音声もしくは動画等のマルチメディアを提供することもできる。車両コンピューティングシステム１０４が提供し得る機能のわずかな例にしか言及していないが、車両コンピューティングシステム１０４はその他多数の機能を提供することができる。このやり方およびその他のやり方で、車両コンピューティングシステム１０４は、車両の１人以上の乗員の運転または乗車体験を改善することができる。
【０００９】
カメラシステムおよび／または車両コンピューティングシステム１０４は、カメラ１０２が取り込んだ画像を用いて、車両１００の内部における乗員の位置を求めることができ、かつ、乗員の３Ｄ視線ベクトル（たとえば３Ｄ視線ベクトル１１２）を求めることができる。カメラ１０２は、車両１００の乗員が車両１００を運転しているときのこの乗員（たとえば車両１００の運転者）の画像を取り込むことができる。いくつかの場合において、カメラ１０２は、車両１００のその他の乗員の画像を取り込むカメラを含み得る。カメラ１０２は、少なくとも１つ以上のプロセッサとメモリとを含むカメラシステムの一部であってもよい。カメラ１０２が取り込んだ画像は、カメラシステムまたは車両コンピューティングシステム１０４または双方によって分析されてもよい。さまざまな例において、車両コンピューティングシステム１０４に関連する本明細書に記載の技術は、その全体または一部がコンピューティングシステムによって実行されてもよい。
【００１０】
車両コンピューティングシステム１０４は、乗員の頭部および／または目を車両１００内部に配置するために、カメラ１０２のうちの１つ以上から乗員の目（または頭部）までの距離を、カメラ１０２のうちの１つ以上が取り込んだ画像を用いて求める。いくつかの場合において、カメラ１０２のうちの少なくとも２つが乗員の画像を取り込む。車両コンピューティングシステム１０４は、少なくとも２つのカメラ１０２の各々の位置はわかっていると仮定して、画像間の視差角（parallax angle）を分析することができる。車両コンピューティングシステム１０４は、視差角とカメラ間の距離とを用いて、少なくとも２つのカメラ１０２のうちの１つ以上と乗員の目との間の距離を求める。別の例として、カメラ１０２のうちの１つは赤外線カメラであってもよい。車両コンピューティングシステム１０４は、カメラ１０２のうちの１つのカメラを用いて、赤外線カメラが取り込んだ画像の歪みを分析することにより、赤外線カメラ１０２と乗員の目との間の距離を求めることができる。
【００１１】
車両コンピューティングシステム１０４は、この求めたカメラ１０２と乗員の目との間の距離と、取り込んだ画像における乗員の目の位置とを用いて、乗員の目を３Ｄ空間においてカメラ１０２に対して配置することができる。すなわち、車両コンピューティングシステム１０４および／またはカメラシステムは、車両１００の内部における、カメラ１０２のうちの１つ以上に対する乗員の目の位置を求めることができる。乗員の目の位置は、３Ｄ空間内でカメラ１０２のうちの１つ以上に対して定められる位置である。たとえば、３Ｄ空間は球体でその重心がカメラ１０２のうちの１つの位置に対応していてもよい。このような例において、乗員の目の位置は（ｘ，ｙ，ｚ）座標で定めることができ、（０，０，０）はこの球体の重心として用いられているカメラ１０２のうちの１つの位置である。このような座標は「カメラベースの座標系」の内部にあると言うことができる。
【００１２】
車両コンピューティングシステム１０４は、車両１００の乗員の目を追跡することもできる。たとえば、車両コンピューティングシステム１０４は、カメラ１０２を用いて、カメラ１０２が取り込んだ複数の異なる画像にわたって乗員の目の位置および動きを追跡してもよい。車両コンピューティングシステム１０４は、目の位置および瞳孔または目のその他の特徴の動き（すなわちアイトラッキング）を用いて、第１の初期３Ｄ視線ベクトルを求めることができる。しかしながら、さまざまな場合において、乗員の目が遮られているためにカメラ１０２が取り込んだ画像が乗員の目の明瞭な画像を含んでいないことがある。よって、車両コンピューティングシステム１０４は、乗員の目の位置および動きの追跡に頼るだけではなく、取り込んだ画像をさらに分析することによって乗員の画像平面を求めてもよい。
【００１３】
乗員の顔面平面の計算において、車両コンピューティングシステム１０４は、カメラ１０２のうちの１つ以上が取り込んだ１つ以上の画像において複数の顔面ランドマークを識別することができる。顔面ランドマークは、口、目、鼻、耳、眉、あご、またはそれ以外の顔の特徴の輪郭を含み得る。車両コンピューティングシステム１０４は、識別した顔面ランドマークを用い、各種顔面ランドマーク間の幾何学的整合性に基づいて、画像に含まれる乗員の顔が何らかのピッチ、ロール、またはヨーを示しているか否かを判断することができる。たとえば、乗員の口と目との間の総距離と比較して、乗員の２つの目の間の距離が、乗員が真っすぐ前方を見ているときよりも短い場合、車両コンピューティングシステム１０４は、乗員が左または右を見ていると判断する。車両コンピューティングシステム１０４は、画像は乗員の右耳を含んでいるが左耳は含んでいないと判断した場合、乗員は左を見ていると判断する。顔面平面のピッチ角、ロール角、およびヨー角は、顔面ランドマーク間の距離の相対的変化に基づいて判断することができる。車両コンピューティングシステム１０４は、求めた顔面平面のピッチ角、ロール角、およびヨー角を用いて、第２の初期３Ｄ視線ベクトルを求めることができる。本明細書に記載の、ピッチ、ロール、およびヨーは、特定の軸を中心とするユーザの頭部の回転を意味し得る。一般的に、ロールは、頭部のその鉛直軸を中心とする回転を意味し得るものであり、頭部の左右の回転と言うこともできる。ピッチは、ユーザが、人がうなずいているかのように頭部を上下に動かすことを意味し得る。ヨーは、ユーザが頭部を左（右）から鉛直軸を通って右（左）に回すことを意味し得る。このときの回転は、ユーザの一方の耳から他方の耳までの水平面に沿った回転となる。
【００１４】
さまざまな場合において、車両コンピューティングシステム１０４は、トレーニングされた機械学習モデルを画像に適用することにより、顔面平面を求めることができる。機械学習モデルは、既に識別されている顔面ランドマークを有し顔面平面の角度が既に求められている他の人々の画像を用いてトレーニングすることができる。機械学習モデルは、ユーザフィードバックと、車両コンピューティングシステム１０４から与えられたフィードバックとに基づいて、継続的に学習することができる。たとえば、車両コンピューティングシステム１０４は、顔面平面を用いて求めた第２の３Ｄ視線ベクトルと比較される、アイトラッキングを用いて求めた第１の初期３Ｄ視線ベクトルに基づいて、機械学習モデルのパラメータをランク付けまたは調整することができる。機械学習システムが如何にして動作し得るかに関するその他の詳細は、以下で図６Ａ〜図６Ｅを参照しながら説明する。
【００１５】
車両コンピューティングシステム１０４は、第１および第２の初期３Ｄ視線ベクトルを求めると、第１および第２の初期３Ｄ視線ベクトル双方に基づいて、乗員の３Ｄ視線ベクトル１１２を求めることができる。さまざまな場合において、車両コンピューティングシステム１０４は、第１および第２の初期３Ｄ視線ベクトルの平均を用いて３Ｄ視線ベクトル１１２を求めることができる。その他の例において、車両コンピューティングシステム１０４は、第１および第２の３Ｄ視線ベクトルのうちの１つ以上に重み付けを適用し重み付けされた値を用いることによって３Ｄ視線ベクトル１１２を求めることができる。車両コンピューティングシステム１０４は、第１または第２の初期３Ｄ視線ベクトルが正確に求められた確信度（confidence）に基づいて、第１および第２の初期３Ｄ視線ベクトルに適用する重みを求めることができる。たとえば、車両コンピューティングシステム１０４が顔面ランドマークのうちの一部のみを検出した場合（たとえば目と鼻だけ、口またはあごは検出なし）、顔面平面のピッチ角、ロール角、およびヨー角の誤差範囲が大きくなる可能性がある。このため、車両コンピューティングシステム１０４は、小さくした重みの値を第２の初期３Ｄ視線ベクトルに適用し大きくした重みの値をアイトラッキングを用いて求めた第１の初期３Ｄ視線ベクトルに適用することができる。
【００１６】
第１および第２の初期３Ｄ視線ベクトル双方が必要と説明しているが、車両コンピューティングシステム１０４は、第１および第２の初期３Ｄ視線ベクトルのうちの一方を用いて３Ｄ視線ベクトル１１２を求めることもできる。たとえば、カメラ１０２が取り込んだ画像において乗員の目が閉じられているまたは乗員がサングラスを着用している場合、車両コンピューティングシステム１０４は、第２の初期３Ｄ視線ベクトル（すなわち乗員の顔面平面のピッチ、ロール、およびヨーに基づいて求めた３Ｄ視線ベクトル）を３Ｄ視線ベクトル１１２として使用してもよい。別の例として、カメラ１０２が取り込んだ画像に、（たとえば乗員の手によって）顔が部分的に隠れている乗員が含まれている場合、車両コンピューティングシステム１０４は、第１の初期３Ｄ視線ベクトル（すなわちアイトラッキングを用いて求めた３Ｄ視線ベクトル）を３Ｄ視線ベクトル１１２として使用してもよい。
【００１７】
車両コンピューティングシステム１０４が３Ｄ視線ベクトルを求めるのではなく、または求めることに加えて、カメラシステムが３Ｄ視線ベクトル１１２を求めてもよい。すなわち、車両コンピューティングシステム１０４がカメラ１０２から１つ以上の画像を受けるのではなく、カメラシステムが、（たとえば各カメラ１０２の中でまたは車両コンピューティングシステム１０４と区別されるコンピューティングデバイスを用いて）画像を分析し、３Ｄ視線ベクトル１１２を求め、３Ｄ視線ベクトル１１２の値を車両コンピューティングシステム１０４に与えてもよい。いくつかの場合において、カメラシステムは、第１および第２の初期３Ｄ視線ベクトルを求めてこれらを車両コンピューティングシステム１０４に与える。そうすると、車両コンピューティングシステム１０４は、カメラシステムから受けた第１および第２の初期３Ｄ視線ベクトルを用いて３Ｄ視線ベクトル１１２を求めることができる。
【００１８】
車両コンピューティングシステム１０４は、３Ｄ視線ベクトル１１２と、カメラ１０２のうちの１つ以上に対する乗員の目の位置とに基づいて、乗員が見ている１つ以上の関心領域を求める。このように関心領域を求めるために、車両コンピューティングシステム１０４は、３Ｄ視線ベクトル１１２が車両１００の内部の１つ以上の位置と交差する場所を求める。一例として、車両１００は車両１００の第２の例と異なっていてもよく、車両コンピューティングシステム１０４には車両固有データファイルが与えられる。車両データファイルは、車両１００の内部の各関心領域の座標のセットを含み、その座標セットの各々は、車両の内部の重心を基準として（すなわち車両ベースの座標系を用いて）定められ、その座標のセットの各々は、関心領域の２次元平面を画定する。さらに、各種車両の内部の特徴を定める車両データファイルを用いることにより、本開示の技術を、プログラマーが異なる各車両に合わせて計算をカスタマイズすることを要求せずに、多種多様な車両に対して一層簡単に適用することができる。
【００１９】
乗員の位置は最初にカメラ１０２のうちの１つ以上に対して（すなわちカメラベースの座標系内で）求めることができるので、車両コンピューティングシステム１０４は、乗員の目の初期位置座標を、車両データファイルで指定されている重心に対して定められる座標のセットに変換することができる。すなわち、車両コンピューティングシステム１０４は、カメラ１０２のうちの１つ以上に対して定められた球体についての座標を用いるのではなく、乗員の目の位置を調整することにより、車両１００の内部を包む球体の重心に対する位置を定める。車両１００の内部を包みその重心がカメラ１０２のうちの１つの位置以外のいずれかの場所にある球体の内部の座標位置を、本明細書では「車両ベースの座標系」内の座標を有すると言うことができる。いくつかの例において、車両ベースの座標系の重心は、車両１００の内部の中心点に位置していてもよい。その他の例において、この重心は、運転席と車両１００のダッシュボードまたはハンドルとの間の空間内の中心点に位置していてもよい。
【００２０】
車両データファイルは、車両ベースの座標系を用いて、車両１００内における１つ以上のカメラ１０２の位置を定めることができる（たとえば（ｘ，ｙ，ｚ座標で））。車両コンピューティングシステム１０４は、１つ以上のカメラ１０２の座標位置と、カメラベースの座標系を用いて定めた乗員の目の座標位置とを使用し、車両ベースの座標系における乗員の目の新たな座標位置を生成する。
【００２１】
車両コンピューティングシステム１０４は、乗員の目の、車両ベースの座標系の位置を用いて、３Ｄ視線ベクトル１１２を、乗員の目から、関心領域に対応付けられた平面と交差するまで延ばす。車両コンピューティングシステム１０４は、３Ｄ視線ベクトル１１２が交差するこの平面が、車両１００の乗員が見ている関心領域であると判断する。図１に示されるように、３Ｄ視線１１２は車両１００のフロントガラスに向かって延びている。したがって、車両コンピューティングシステム１０４は、乗員が車両１００のフロントガラスから外を見ており車両１００の運転に関与していると判断することができる。
【００２２】
いくつかの場合において、車両コンピューティングシステム１０４は、車両１００の乗員がある時間にわたってどの関心領域を見ているかを、定期的にまたは連続的に判断してもよい。車両コンピューティングシステム１０４は、乗員がどの関心領域を見ているかをモニタリングすることにより、乗員の関与のレベルを判断することができるとともに、乗員がどれほど良く交通規則および安全運転のための最良の実施に従っているかを判断することができる。たとえば、乗員がサイドミラーを見ずに車線変更した場合、またはバックミラーを見ずに車両１００を後退させた場合、車両コンピューティングシステム１０４は、乗員が安全のための最善の実施に従って車両１００を運転していないと判断することができる。別の例として、車両１００が動いているときに乗員が長時間にわたって車両コンピューティングシステム１０４のディスプレイを見ている場合、車両コンピューティングシステム１０４は、ロックアウトする、または乗員が車両コンピューティングシステム１０４とやり取りするのを禁止することができる。
【００２３】
このようにして、本開示の技術は、車両コンピューティングシステムが、車両の乗員がどこを見ているかをより正確に判断することを可能にし、乗員が車両の運転者である場合は、運転者の関与をより正確に判断することを可能にすることができる。さらに、車両コンピューティングシステム１０４は、乗員が何を見ているかについてのより正確な判断を用いることで、安全に関する各種アクションまたは任意の数のその他のアクションを自動的に実行することができる。このようにして、本開示の技術は改善された車両安全システムを可能にすることができる。
【００２４】
図２は、本開示の１つ以上の局面に係る、内部カメラシステムを有する車両の一例を示す概念図である。図２に示されるように、車両内部２００は、車両内部２００のさまざまな異なる場所に配置された４つのカメラ２０２Ａ〜２０２Ｄ（まとめて「カメラ２０２」）を含む。各カメラ２０２は、図１に示され図１との関連で説明したカメラ１０２の一例であってもよい。
【００２５】
車両内部２００における異なるカメラ配置は、本明細書に記載の乗員の画像の取り込みについて異なる長所または短所をもたらし得る。たとえば、カメラ２０２Ａは車両内部２００の計器クラスタ内に配置されている。カメラ２０２Ａは車両の運転者のおそらく頭部位置の正面に位置しているので、カメラ２０２Ａが取り込んだ画像は、運転者の顔面平面のピッチ、ロール、およびヨーを求めるための高品質画像を提供することができる。カメラ２０２Ｃは車両のヘッドユニットディスプレイの上方に位置しているので、車両の運転者と同乗者双方の顔を含む画像を取り込むことができる。このような画像を用いることにより、車両の同乗者の３Ｄ視線ベクトルを求めることができ、また、このような画像を用いることにより、車両の運転者か同乗者のどちらが車両のヘッドユニットディスプレイとやり取りしているかを区別することができる。別の例として、運転者側のＡピラー内に配置されたカメラ２０２Ｄは、カメラ２０２Ｄから運転者の目までの距離を求めるのに使用される画像を取り込む赤外線カメラであってもよい。これに代えてまたはこれに加えて、車両コンピューティングシステム１０４は、カメラ２０２Ｂおよび２０２Ｄ双方が取り込んだ画像を用いることにより、運転者の目についての視差角を求めることができ、カメラ２０２Ｂおよび２０２Ｄのうちの一方または双方（またはカメラ２０２Ｂおよび２０２Ｄの間の中心点）から運転者の目までの距離を求めることができる。車両２００は左ハンドル車であるが、他の例において、車両内部２００または図１の車両１００は右ハンドル車であってもよい。このような例ではカメラ２０２の配置を反転させてもよい（たとえばカメラ２０２Ｄが右側のＡピラーにあってもよい）。
【００２６】
図３は、本開示の１つ以上の局面に係る、運転者の顔面平面の一例を示す概念図である。図３に示されるように、車両コンピューティングシステム１０４により、１つ以上の顔ランドマーク３０２および顔面平面３０４が識別されており、３Ｄ視線ベクトル３０６が求められている。
【００２７】
顔ランドマーク３０２は、運転者の２つの口角と、運転者の鼻の基部と、運転者の各目の角とを含む。車両コンピューティングシステム１０４は、これらの顔ランドマーク３０２を用いることで顔面平面を画定することができる。たとえば、車両コンピューティングシステム１０４は、１つ以上の顔ランドマーク３０２間の距離を求めてもよい。いくつかの場合において、車両コンピューティングシステム１０４は、運転者の２つの口角の間の距離、および／または左目の角と右目の角との間の距離を求めることができる。車両コンピューティングシステム１０４は、これらの距離を、基準または運転者の学習済の距離と比較することにより、顔面平面３０４を画定する座標を求めることができる。
【００２８】
車両コンピューティングシステム１０４は、顔面平面３０４を用いて３Ｄ視線ベクトル３０６（たとえば図１に関して説明した第２の初期３Ｄ視線ベクトル）を求めることができる。３Ｄ視線ベクトル３０６は、運転者の両目から出ている矢印として示されているが、運転者の目の一方または双方の位置から外に延ばすことができる１本のベクトルであってもよい。さらに、３Ｄ視線ベクトル３０６を、車両コンピューティングシステムがアイトラッキングを用いて求めた別の３Ｄ視線ベクトルと組み合わせてもよい。
【００２９】
図４は、本開示の１つ以上の局面に係る、関心領域を有する車両の内部の一例を示す概念図である。図４に示されるように、車両の内部は関心領域４００Ａ〜４００Ｇ（まとめて「関心領域４００」）を含む。関心領域４００は、図４に示される車両内部の特定の形状およびモデルについての車両データファイルにおいて定められていてもよい。車両データファイルは、車両ベースの座標系内の平面を画定する関心領域４００の各々の座標を特定する。一般的に、車両データファイルは、拡張可能マークアップ言語（ＸＭＬ）等の構造化されたデータフォーマットを用いて定められる。しかしながら、車両データファイルに含まれる情報は、車両コンピューティングシステム１０４が処理するように構成されている任意のフォーマットで符号化されてもよい。
【００３０】
各関心領域４００は、車両の物理的要素に対応付けることができる。関心領域は、車両内部の関心領域として説明しているが、さまざまな場合において、関心領域は車両外部に位置する物体に対応付けられていることがある。たとえば、関心領域４００Ａおよび４００Ｇは各々、車両のサイドミラーに対応付けられてもよい（たとえばそれぞれ運転者側のサイドミラーおよび同乗者側のサイドミラー）。
【００３１】
その他の関心領域は、車両の１つの物理的要素の異なる領域に対応付けられていてもよい。たとえば、関心領域４００Ｂおよび４００Ｄはいずれも車両のフロントガラスに対応付けることができる。この例において、フロントガラスの異なる部分を運転者の異なる関与レベルに対応付けることができる。よって、車両コンピューティングシステム１０４が運転者は関心領域４００Ｂを見ていると判断した場合、車両コンピューティングシステム１０４は、ユーザは車両の前方の道路を見ている可能性が高く車両の運転に関与していると判断することができる。しかしながら、車両コンピューティングシステム１０４が運転者は関心領域４００Ｄを見ていると判断した場合、車両コンピューティングシステム１０４は、運転者は道路沿いにある何か外のものを見ており、したがって車両の前方の道路を見ている場合と比較して車両の運転への関与は少ないであろうと判断することができる。車両コンピューティングシステム１０４が運転者は安全運転のための最良の実施に従っているか否かを判断する場合に、車両コンピューティングシステム１０４は、車両が緑に変わったばかりの信号機の場所に位置していると判断することがある。車両コンピューティングシステム１０４は、たとえば運転者が関心領域４００Ｄを見ていたか否かを判断することにより、赤信号で走り過ぎた可能性のある他の車両を運転者が確認していたか否かを判断することができる。
【００３２】
いくつかの例において、車両コンピューティングシステム１０４は、運転者が見ている関心領域を用いることにより、運転者が実行しているアクションと同乗者が実行しているアクションを区別することができる。たとえば、インフォテイメントシステムと対話している（たとえばナビゲーションアプリに住所を入力、音楽を選択、車両または同乗者設定を調整する、など）ユーザからのユーザ入力を車両コンピューティングシステム１０４が受けた場合、車両コンピューティングシステム１０４は、運転者が関心領域４００Ｆを見ているか否かを判断することができる。運転者は関心領域４００Ｆを見ていないと車両コンピューティングシステム１０４が判断した場合、車両コンピューティングシステム１０４は、同乗者が入力していると判断して同乗者が制限なしでインフォマントシステムを引続き使用することを認めることができる。
【００３３】
しかしながら、運転者が関心領域４００Ｆを見ている場合、車両コンピューティングシステム１０４は、運転者がユーザ入力を与えている可能性が高いと判断することができる。運転者が、所定期間内にユーザ入力のしきい値数を超える数の入力を与えた場合、または所定期間を超えてインフォマントシステムと対話し続けた場合、車両コンピューティングシステム１０４は、道路に再び注意を向けるよう運転者に促すためのさまざまなアクションを実行することができる。たとえば、車両コンピューティングシステム１０４は、非限定的な例として、追加のユーザ入力の処理を停止してもよく、ディスプレイにグラフィカルユーザインターフェイスを出力するのをやめてもよく、または、道路に注意するよう運転者に促すメッセージを出力してもよい。
【００３４】
いくつかの例において、車両コンピューティングシステム１０４は、求めた関心領域を用いることにより、各種通知をどこに出力するかを判断することができる。たとえば、車両コンピューティングシステム１０４は、運転者が関心領域４００Ｅ（すなわち計器クラスタに相当）を見ていると判断した場合、計器クラスタを用いて、車両の燃料が減少しているという警告メッセージを出力することができる。車両コンピューティングシステム１０４は、運転者が関心領域４００Ｅではなく関心領域４００Ｂを見ていると判断した場合、警告メッセージを、関心領域４００Ｂ内において車両のフロントガラスに投影されるよう、ヘッドアップディスプレイを用いて出力することができる。
【００３５】
図５は、本開示の１つ以上の局面に係る、３Ｄ視線ベクトルを用いて運転者の関与を判断するように構成されたコンピューティングデバイスの一例を示すブロック図である。コンピューティングデバイス５００は、図１の車両コンピューティングシステム１０４のより詳細な例である。図５は、コンピューティングデバイス５００のある特定の例のみを示しており、他の場合では、コンピューティングデバイス５００の他の多数の例が用いられてもよく、この一例としてのコンピューティングデバイス５００に含まれるコンポーネントのサブセットを含み得る、または図５に示されていないその他のコンポーネントを含み得る。
【００３６】
図５の例に示されるように、コンピューティングデバイス５００は、存在感知ディスプレイ５１２と、１つ以上のプロセッサ５４０と、１つ以上の通信ユニット５４２と、１つ以上の入力コンポーネント５４４と、１つ以上の出力コンポーネント５４６と、１つ以上の記憶装置５４８とを含む。コンピューティングデバイス５００の記憶装置５４８は、視線モジュール５２２と、目位置モジュール５２４と、関心領域モジュール５２６と、車両データ５２８とを含む。
【００３７】
通信チャネル５５０は、コンポーネント５１２、５４０、５４２、５４６、および／または５４８の各々を、コンポーネント間通信のために（物理的に、通信可能に、および／または作動的に）相互接続することができる。いくつかの例において、通信チャネル５５０は、システムバス、ネットワーク接続、１つ以上のプロセス間通信データ構造、またはデータ（情報とも呼ぶ）通信のための任意の他のコンポーネントを含み得る。
【００３８】
コンピューティングデバイス５００の１つ以上の通信ユニット５４２は、データを送信および／または受信することによって外部デバイスと通信することができる。たとえば、コンピューティングデバイス５００は、通信ユニット５４２のうちの１つ以上を用いることにより、セルラー無線ネットワーク等の無線ネットワーク上で無線信号を送信および／または受信することができる。いくつかの例において、通信ユニット５４２は、グローバルポジショニングシステム（ＧＰＳ）ネットワーク等の衛星ネットワーク上で衛星信号を送信および／または受信することができる。通信ユニット５４２の例は、ネットワークインターフェイスカード（たとえばイーサネット（登録商標）カード等）、光トランシーバ、無線周波数トランシーバ、ＧＰＳ受信機、または情報を送信および／または受信することが可能な任意の他の種類のデバイスを含む。通信ユニット５４２のその他の例は、携帯電話で見受けられる短波無線（たとえばＮＦＣ、ブルートゥース（登録商標）（ＢＬＥを含む））、ＧＰＳ、３Ｇ、４Ｇ、５Ｇ、およびＷＩＦＩ（登録商標）無線、ならびにユニバーサルシリアルバス（ＵＳＢ）コントローラなどを含み得る。
【００３９】
コンピューティングデバイス５００の１つ以上の入力コンポーネント５４４は入力を受信することができる。入力の２、３の例を挙げると、触覚、音声、動的、および光入力である。コンピューティングデバイス５００の入力コンポーネント５４４は、一例において、マウス、キーボード、タッチパッド、音声応答システム、ビデオカメラ、ボタン、スクロールホイール、ダイヤル、コントロールパッド、マイク、または人間もしくはマシンからの入力を検出するための任意の他の種類のデバイスを含む。入力コンポーネント５４４は、図１のカメラ１０２のようなカメラを含み得る。いくつかの例において、入力コンポーネント５４４は、存在感知スクリーン、接触感知スクリーンなどを含み得る、存在感知入力コンポーネントであってもよい。
【００４０】
コンピューティングデバイス５００の１つ以上の出力コンポーネント５４６は出力を生成することができる。出力の例は、触覚、音声、およびビデオ出力である。コンピューティングデバイス５００の出力コンポーネント５４６は、いくつかの例において、存在感知スクリーン、サウンドカード、ビデオグラフィックスアダプタカード、スピーカ、陰極線管（ＣＲＴ）モニタ、液晶ディスプレイ（ＬＣＤ）、有機発光ダイオード（ＯＬＥＤ）、または、人間もしくはマシンに対する触覚、音声および／または視覚出力を生成するための任意の他の種類のデバイスを含む。
【００４１】
いくつかの例において、コンピューティングデバイス５００の存在感知ディスプレイ５１２は、入力コンポーネント５４４および／または出力コンポーネント５４６の機能を含み得る。図５の例において、存在感知ディスプレイ５１２は、存在感知スクリーンまたは接触感知スクリーン等の存在感知入力コンポーネント５０４を含み得る。いくつかの例において、存在感知入力コンポーネント５０４は、存在感知入力コンポーネントの場所にあるおよび／またはその近くにある物体を検出することができる。レンジの一例として、存在感知入力コンポーネント５０４は、存在感知入力コンポーネント５０４から２インチ以内にある指またはスタイラス等の物体を検出することができる。存在感知入力コンポーネント５０４は、物体が検出された存在感知入力コンポーネントの位置（たとえば（ｘ，ｙ）座標）を求めることができる。レンジの別の例として、存在感知入力コンポーネント５０４は、存在感知入力コンポーネント５０４から２インチ以内の物体を検出することができ、その他のレンジも可能である。存在感知入力コンポーネント５０４は、容量性、誘導性、および／または光認識技術を用いて、ユーザの指で選択された存在感知入力コンポーネント５０４の位置を求めることができる。
【００４２】
いくつかの例において、存在感知ディスプレイ５１２も、出力コンポーネント５４６に関して述べたように、触覚、音声、またはビデオ刺激を用いて出力をユーザに与えることができる。たとえば、存在感知ディスプレイ５１２は、グラフィカルインターフェイスを表示するディスプレイコンポーネント５０２を含み得る。ディスプレイコンポーネント５０２は、出力コンポーネント５４６について述べたように、視覚的出力を提供する任意の種類の出力コンポーネントであればよい。存在感知ディスプレイ５１２はコンピューティングデバイス５００に一体化されたコンポーネントとして示されているが、いくつかの例では、入力および出力の送信および／または受信のためにコンピューティングデバイス５００の他のコンポーネントとデータまたは情報経路を共有する外部コンポーネントであってもよい。たとえば、存在感知ディスプレイ５１２は、コンピューティングデバイス５００の外部パッケージング内に位置しこのパッケージングに物理的に接続された、コンピューティングデバイス５００の内蔵コンポーネントであってもよい（たとえば車両のダッシュボードに搭載された車載スクリーン）。別の例において、存在感知ディスプレイ５１２は、コンピューティングデバイス５００のパッケージングの外側に位置しこのパッケージングから物理的に離れている、コンピューティングデバイス５００の外部コンポーネント（たとえば、車両の電子制御部と有線および／または無線データ経路を共有する、モニタ、プロジェクタなど）であってもよい。いくつかの例において、存在感知ディスプレイ５１２は、コンピューティングデバイス５００のパッケージングの外部に位置しこのパッケージングから物理的に離れている場合、出力を提供するために、別々の２つのコンポーネントとしての、入力を受けるための存在感知入力コンポーネント５０４と出力を提供するためのディスプレイコンポーネント５０２とにより、実現することができる。
【００４３】
コンピューティングデバイス５００内の１つ以上の記憶コンポーネント５４８は、コンピューティングデバイス５００の動作中に処理するために情報を格納することができる（たとえば、コンピューティングデバイス５００は、コンピューティングデバイス５００での実行中にモジュール５２２、５２４、５２６がアクセスするデータを格納することができる。いくつかの例において、記憶コンポーネント５４８は一時メモリである。このことは、記憶コンポーネント５４８の主な目的が長期保存ではないことを意味する。コンピューティングデバイス５００上の記憶コンポーネント５４８は、揮発性メモリとして短期記憶用に構成されていてもよく、したがって、電源がオフにされた場合は格納されているコンテンツを保持しない。揮発性メモリの例は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、および当該技術において周知の他の形態の揮発性メモリを含む。
【００４４】
いくつかの例において、記憶コンポーネント５４８はまた、１つ以上のコンピュータ読取可能記憶媒体を含む。いくつかの例において、記憶コンポーネント５４８は、１つ以上の非一時的なコンピュータ読取可能記憶媒体を含む。記憶コンポーネント５４８は、揮発性メモリが一般的に格納する情報の量よりも多い量の情報を格納するように構成することができる。記憶コンポーネント５４８はさらに、不揮発性メモリ空間として情報の長期記憶用に構成されて電源のオン／オフサイクル後も情報を保持するように構成することができる。不揮発性メモリの例は、磁気ハードディスク、光ディスク、フラシュメモリ、または、電気的プログラム可能メモリ（ＥＰＲＯＭ）もしくは電気的消去可能プログラム可能（ＥＥＰＲＯＭ）メモリの形態を含む。記憶コンポーネント５４８は、モジュール５２２、５２４、および５２６に対応付けられたプログラム命令および／または情報（たとえばデータ）を格納することができる。記憶コンポーネント５４８は、５２２、５２４、および５２６に対応付けられたデータまたはその他の情報、ならびに車両データ５２８を格納するように構成されたメモリを含み得る。
【００４５】
１つ以上のプロセッサ５４０は、コンピューティングデバイス５００に対応付けられた機能を実現するおよび／または命令を実行することができる。プロセッサ５４０の例は、アプリケーションプロセッサ、ディスプレイコントローラ、補助プロセッサ、１つ以上のセンサハブ、および、プロセッサ、処理ユニット、または処理デバイスとして機能するように構成された任意のその他のハードウェアを含む。モジュール５２２、５２４、および５２６は、コンピューティングデバイス５００の各種アクション、動作、または機能を実行するように、プロセッサ５４０が動作させることが可能であってもよい。たとえば、コンピューティングデバイス５００のプロセッサ５４０は、モジュール５２２、５２４、および５２６に帰する本明細書に記載の動作をプロセッサ５４０に実行させる、記憶コンポーネント５４８に格納された命令を、取り出して実行することができる。命令は、プロセッサ５４０によって実行されると、コンピューティングデバイス５００に、情報を記憶コンポーネント５４８に格納させる。
【００４６】
目位置モジュール５２４は、車両内に位置する１つ以上のカメラから乗員の頭部または目までの距離を求めることができ、かつ、当該１つ以上のカメラに対する、３Ｄ空間内の乗員の頭部または目の位置を求めることができる。目位置モジュール５２４は、図１に関して述べた技術に従い、乗員の頭部および／または目の距離および／または位置を求めることができる。さらに、視線モジュール５２２と同様、目位置モジュール５２４の機能のうちのすべてまたは一部を、車両のカメラシステムにより、コンピューティングデバイス５００により、またはその組み合わせにより、実行することができる。
【００４７】
目位置モジュール５２４は、２つ以上の異なるカメラが取り込んだ画像間の視差角を、これら２つ以上のカメラの各々の位置はわかっていると仮定して、分析することができる。目位置モジュール５２４は、視差角およびカメラ間の距離を用いて、２つ以上のカメラのうちの１つ以上と乗員の目との間の距離を求める。別の例として、目位置モジュール５２４は、１つの赤外線カメラが取り込んだ画像を分析することにより、赤外線カメラが取りこんだ画像の歪みを求めて、赤外線カメラと乗員の目との間の距離を求めることができる。
【００４８】
目位置モジュール５２４は、この求めた２つ以上のカメラと乗員の目との間の距離と、取り込んだ画像における乗員の目の位置とに基づいて、乗員の目を、３Ｄ空間内において２つ以上のカメラに対して配置することができる。すなわち、目位置モジュール５２４は、少なくとも１つのカメラの位置に対する、車両内部の中の乗員の目の位置を、求めることができる。乗員の目の位置は、少なくとも１つのカメラを基準として定められた３Ｄ空間内の位置である。たとえば、３Ｄ空間は、球体であってもよく、カメラの位置に対応する重心を有していてもよい。このような例において、乗員の目の位置は、（ｘ，ｙ，ｚ）座標で定められてもよく、（０，０，０）は、この球体の重心として使用されているカメラの位置である。このような座標は「カメラベースの座標系」内に位置していると言うことができる。
【００４９】
視線モジュール５２２は、図１および図３に関して述べた技術に従い、車両の乗員の３Ｄ視線ベクトルを求めることができる。コンピューティングデバイス５００のコンポーネントとして示されているが、さまざまな例において、視線モジュール５２２の機能は、コンピューティングデバイス５００による実行の代わりにまたはコンピューティングデバイス５００による実行に加えて、車両のカメラシステムによって実行されてもよい。さらに、カメラシステムおよび視線モジュール５２２は、３Ｄ視線ベクトル決定プロセスの個々の部分を実行してもよい。
【００５０】
さまざまな場合において、視線モジュール５２２は、アイトラッキングを実行することによって第１の初期３Ｄ視線ベクトルを求めることができ、乗員の顔面平面を求めることによって第２の初期３Ｄ視線ベクトルを求めることができる。視線モジュール５２２は、第１および第２の初期３Ｄ視線ベクトルを組み合わせることにより、乗員の最終的な３Ｄ視線ベクトルを求めることができる。視線モジュール５２２は、目の位置および瞳孔または目のその他の特徴の動き（すなわちアイトラッキング）を用いて、第１の初期３Ｄ視線ベクトルを求めることができる。しかしながら、さまざまな場合において、乗員の目が遮られているためにカメラが取り込んだ画像が乗員の目の明瞭な画像を含んでいないことがある。よって、視線モジュール５２２は、乗員の目の位置および動きの追跡に頼るだけではなく、取り込んだ画像をさらに分析することによって乗員の画像平面を求めてもよい。
【００５１】
乗員の顔面平面の計算において、視線モジュール５２２は、カメラ１０２のうちの１つ以上が取り込んだ１つ以上の画像において複数の顔面ランドマークを識別することができる。顔面ランドマークは、口、目、鼻、耳、眉、あご、またはそれ以外の顔の特徴の輪郭を含み得る。視線モジュール５２２は、識別した顔面ランドマークを用い、各種顔面ランドマーク間の幾何学的整合性に基づいて、画像に含まれる乗員の顔が何らかのピッチ、ロール、またはヨーを示しているか否かを判断することができる。たとえば、乗員の口と目との間の総距離と比較して、乗員の２つの目の間の距離が、乗員が真っすぐ前方を見ているときよりも短い場合、視線モジュール５２２は、乗員が左または右を見ていると判断する。視線モジュール５２２は、画像は乗員の右耳を含んでいるが左耳は含んでいないと判断した場合、乗員が左を見ていると判断する。顔面平面のピッチ角、ロール角、およびヨー角は、顔面ランドマーク間の距離の相対的変化に基づいて判断することができる。視線モジュール５２２は、求めた顔面平面のピッチ角、ロール角、およびヨー角を用いて、第２の初期３Ｄ視線ベクトルを求めることができる。
【００５２】
さまざまな場合において、視線モジュール５２２は、トレーニングされた機械学習モデルを画像に適用することにより、顔面平面を求めることができる。機械学習モデルは、既に識別されている顔面ランドマークを有し顔面平面の角度が既に求められている他の人々の画像を用いてトレーニングすることができる。機械学習モデルは、ユーザフィードバックと、視線モジュール５２２から与えられたフィードバックとに基づいて、継続的に学習することができる。たとえば、視線モジュール５２２は、顔面平面を用いて求めた第２の３Ｄ視線ベクトルと比較される、アイトラッキングを用いて求めた第１の初期３Ｄ視線ベクトルに基づいて、機械学習モデルのパラメータをランク付けまたは調整することができる。
【００５３】
視線モジュール５２２は、第１および第２の初期３Ｄ視線ベクトルを求めると、第１および第２の初期３Ｄ視線ベクトル双方に基づいて、乗員の３Ｄ視線ベクトルを求めることができる。さまざまな場合において、視線モジュール５２２は、第１および第２の初期３Ｄ視線ベクトルの平均を用いて３Ｄ視線ベクトル１１２を求めることができる。その他の例において、視線モジュール５２２は、第１および第２の３Ｄ視線ベクトルのうちの１つ以上に重み付けを適用し重み付けされた値を用いることによって３Ｄ視線ベクトルを求めることができる。視線モジュール５２２は、第１または第２の初期３Ｄ視線ベクトルが正確に求められた確信度に基づいて、第１および第２の初期３Ｄ視線ベクトルに適用する重みを求めることができる。たとえば、視線モジュール５２２が顔面ランドマークのうちの一部のみを検出した場合（たとえば目と鼻だけ、口またはあごは検出なし）、顔面平面のピッチ角、ロール角、およびヨー角の誤差範囲が大きくなる可能性がある。このため、視線モジュール５２２は、小さくした重みの値を第２の初期３Ｄ視線ベクトルに適用し大きくした重みの値をアイトラッキングを用いて求めた第１の初期３Ｄ視線ベクトルに適用することができる。
【００５４】
第１および第２の初期３Ｄ視線ベクトル双方が必要と説明しているが、視線モジュール５２２は、第１および第２の初期３Ｄ視線ベクトルのうちの一方を用いて３Ｄ視線ベクトルを求めることもできる。たとえば、２つ以上のカメラが取り込んだ画像において乗員の目が閉じられているまたは乗員がサングラスを着用している場合、視線モジュール５２２は、第２の初期３Ｄ視線ベクトル（すなわち乗員の顔面平面のピッチ、ロール、およびヨーに基づいて求めた３Ｄ視線ベクトル）を、求めた３Ｄ視線ベクトルとして使用してもよい。別の例として、２つ以上のカメラが取り込んだ画像に、（たとえば乗員の手によって）顔が部分的に隠れている乗員が含まれている場合、視線モジュール５２２は、第１の初期３Ｄ視線ベクトル（すなわちアイトラッキングを用いて求めた３Ｄ視線ベクトル）を３Ｄ視線ベクトルとして使用してもよい。
【００５５】
関心領域モジュール５２６は、図１および図４に関して述べた技術に従い、車両の乗員が見ているのはどの関心領域であるかを判断することができる。関心領域モジュール５２６は、車両データ５２８から車両固有データをロードすることができる。車両データ５２８は、乗員がどの関心領域を見ているかを関心領域モジュールが判断するために使用できるテキスト情報または符号化された情報を格納するのに適した、ファイル、データベース、またはその他のデータ構造等の、任意の種類のデータストアであればよい。車両データは、車両のさまざまな関心領域に対応付けられた２次元平面を画定する座標を含む。いくつかの場合において、各平面は、車両の異なる物理的要素（たとえばバックミラー、ヘッドユニットディスプレイ、計器パネルなど）に対応付けられていてもよく、または、車両の同一の物理的要素の異なる部分（たとえばフロントガラスの異なる領域）に対応付けられていてもよい。
【００５６】
関心領域モジュールは、３Ｄ視線ベクトル情報を視線モジュール５２２から受けることができ、かつ、乗員の頭部および／または目の位置情報を目位置モジュール５２４から受けることができる。関心領域モジュール５２６は、頭部および／または目位置情報を、カメラベースの座標系から車両ベースの座標系に変換することができる。座標を車両ベースの座標系に変換することにより、関心領域モジュール５２６は、車両データにおいて特定されている車両のさまざまな物理的物体の座標位置に対する、乗員の頭部および／または目の位置を特定することができる。関心領域モジュール５２６は、３Ｄ視線ベクトルを、乗員の頭部および／または目の、車両ベースの座標系の位置から延ばし、この３Ｄ視線ベクトルが交差する１つ以上の平面を求めることができる。関心領域モジュール５２６は、交差した面を、乗員が見ている関心領域として識別する。
【００５７】
いくつかの場合において、関心領域モジュール５２６は、車両の乗員がある時間にわたってどの関心領域を見ているかを、定期的にまたは連続的に判断してもよい。関心領域モジュール５２６は、乗員がどの関心領域を見ているかをモニタリングすることにより、乗員の関与レベルを判断することができるとともに、乗員がどれほど良く交通規則および安全運転のための最良の実施に従っているかを判断することができる。たとえば、乗員がサイドミラーを見ずに車線変更した場合、またはバックミラーを見ずに車両を後退させた場合、コンピューティングデバイス５００は、乗員が安全のための最善の実施に従って車両を運転していないと判断することができる。別の例として、車両が動いているときに乗員が長時間にわたってコンピューティングデバイス５００のディスプレイを見ている場合、コンピューティングデバイス５００は、ロックアウトする、または乗員がコンピューティングデバイス５００とやり取りするのを禁止することができる。
【００５８】
視線モジュール５２２、目位置モジュール５２４、および関心領域モジュール５２６が実行する技術のうちの１つ以上を、機械学習を用いて実行してもよい。図５には示されていないが、コンピューティングデバイス５００は、カメラが取り込んだ画像に適用されるトレーニングされた１つ以上の機械学習モジュールを含み得る。
【００５９】
図６Ａ〜図６Ｅは、本開示の実装例に係る、機械学習済モデルの一例の局面を示す概念図である。以下、図６Ａ〜図６Ｅを、図１の車両１００の文脈で説明する。たとえば、いくつかの場合において、以下で言及する機械学習済モデル６００は、３Ｄ視線ベクトル、乗員の頭部および／または目の位置、乗員が見ている関心領域、またはそのコンポーネントをカメラシステムまたは車両コンピューティングシステム１０４が求めるために使用する、任意のモデルの一例であってもよい。
【００６０】
図６Ａは、本開示の実装例に係る、機械学習済モデルの一例の概念図を示す。図６Ａに示されるように、いくつかの実装例において、機械学習済モデル６００は、１つ以上の種類の入力データを受け、それに応じて１つ以上の種類のデータを出力するようにトレーニングされる。よって、図６Ａは推論を実行する機械学習済モデル６００を示す。
【００６１】
入力データは、ある場合またはある例に対応付けられた１つ以上の特徴を含み得る。いくつかの実装例において、この場合または例に対応付けられた１つ以上の特徴を、特徴ベクトルに組織することができる。いくつかの実装例において、出力データは１つ以上の予測を含み得る。予測（prediction）は推論（inference）と言うこともできる。したがって、特定の場合に対応付けられた特徴が与えられると、機械学習済モデル６００は、この特徴に基づいてこのような場合についての予測を出力することができる。
【００６２】
機械学習済モデル６００は、種類が異なる各種の機械学習済モデルのうちの１つ以上であってもよい、またはこれを含み得る。特に、いくつかの実装例において、機械学習済モデル６００は、分類、回帰、クラスタリング、異常検知、レコメンデーション生成、顔ランドマーク検出、３Ｄ視線の決定、および／またはその他のタスクを実行することができる。
【００６３】
いくつかの実装例において、機械学習済モデル６００は、入力データに基づいて、さまざまな種類の分類を実行することができる。たとえば、機械学習済モデル６００は、二項分類または多クラス分類を実行することができる。二項分類の場合、出力データは、入力データを異なる２つのクラスのうちの一方に分類したものを含み得る。多クラス分類の場合、出力データは、入力データを３つ以上のクラスのうちの１つ（以上）に分類したものを含み得る。分類は、シングルラベルまたはマルチラベルであってもよい。機械学習済モデル６００は、離散カテゴリ分類を実行してもよく、この分類では入力データを単純に１つ以上のクラスまたはカテゴリに分類する。
【００６４】
いくつかの実装例において、入力データは対応するクラスに分類されるべきであると考えられる程度を記述する数値を１つ以上のクラス各々について機械学習済モデル６００が提供する、という分類を、機械学習済モデル６００は実行することができる。いくつかの場合において、機械学習済モデル６００が提供する数値を、それぞれのクラスへの入力の分類に対応付けられたそれぞれの確信度を示す「確信度スコア」と呼ぶことができる。いくつかの実装例において、確信度スコアを１つ以上のしきい値と比較することにより、離散カテゴリ予測を提供することができる。いくつかの実装例において、確信度スコアが相対的に最も大きい、特定数（たとえば１つ）のクラスのみを選択して離散カテゴリ予測を提供することができる。
【００６５】
機械学習済モデル６００は確率的予測を出力することができる。たとえば、機械学習済モデル６００は、サンプル入力を与えられて、１組のクラスについての確率分布を予測することができる。したがって、機械学習済モデル６００は、サンプル入力が属すべき最も可能性が高いクラスだけを出力するのではなく、クラスごとに、サンプル入力がこのようなクラスに属する確率を出力することができる。いくつかの実装例において、可能性のあるすべてのクラスについての確率分布の総和は１になり得る。いくつかの実装例において、Ｓｏｆｔｍａｘ関数またはその他の種類の関数もしくはレイヤを用いることにより、可能なクラスにそれぞれ対応付けられた１組の実数値を、合計が１になる、範囲（０，１）の１組の実数値に、スカッシュする（squash）ことができる。
【００６６】
いくつかの例において、確率分布が提供する確率を、１つ以上のしきい値と比較することにより、離散カテゴリ予測を提供することができる。いくつかの実装例において、予測された確率が相対的に最も高い、特定数（たとえば１つ）のクラスのみを選択して、離散カテゴリ予測を提供することができる。
【００６７】
機械学習済モデル６００が分類を実行する場合、機械学習済モデル６００を、教師あり学習技術を用いてトレーニングしてもよい。たとえば、機械学習済モデル６００を、１つ以上のクラスに属する（または属さない）ものとしてラベル付けされたトレーニング例を含むトレーニングデータセットについてトレーニングすることができる。教師ありトレーニング技術に関するさらに他の詳細は、以下図６Ｂ〜図６Ｅの説明において示される。
【００６８】
いくつかの実装例において、機械学習済モデル６００は、回帰を実行することにより、連続する数値の形態の出力データを提供することができる。連続する数値は、たとえば通貨の値、スコア、またはその他の数値表現を含む、任意の数の異なるメトリックまたは数値表現に対応し得る。例として、機械学習済モデル６００は、線形回帰、多項回帰、または非線形回帰を実行することができる。例として、機械学習済モデル６００は、単純回帰または重回帰を実行することができる。先に述べたように、いくつかの実装例において、Ｓｏｆｔｍａｘ関数またはその他の関数もしくはレイヤを用いることにより、２つ以上の可能なクラスにそれぞれ対応付けられた１組の実数値を、合計が１になる、範囲（０，１）の１組の実数値に、スカッシュする（squash）ことができる。
【００６９】
機械学習済モデル６００は、さまざまな種類のクラスタリングを実行することができる。たとえば、機械学習済モデル６００は、入力データが対応する可能性が最も高い、過去に定められた１つ以上のクラスタを識別することができる。機械学習済モデル６００は、入力データ内の１つ以上のクラスタを識別することができる。すなわち、入力データが複数のオブジェクト、文書、またはその他のエンティティを含む場合、機械学習済モデル６００は、入力データに含まれる複数のエンティティを、複数のクラスタにソートすることができる。機械学習済モデル６００がクラスタリングを実行するいくつかの実装例において、機械学習済モデル６００を、教師なし学習技術を用いてトレーニングすることができる。
【００７０】
機械学習済モデル６００は、異常検知または外れ値検知を実行することができる。たとえば、機械学習済モデル６００は、予測されたパターンまたはその他の特徴（たとえば過去の入力データから過去に観察されたもの）と一致しない入力データを識別することができる。例として、異常検知は不正検知またはシステム障害検知に使用することができる。
【００７１】
いくつかの実装例において、機械学習済モデル６００は、１つ以上のオブジェクト位置の形態の出力データを提供することができる。たとえば、機械学習済モデル６００は、３Ｄ視線ベクトル決定システムに含めることができる。一例として、機械学習済モデル６００は、特定の顔ランドマークについての過去の結果（たとえば、顔ランドマークの位置を示すスコア、ランキング、またはレーティング）を記述する入力データを与えられると、新たな画像における顔ランドマークの位置を出力することができる。一例として、図１の車両コンピューティングシステム１０４等のコンピューティングシステムは、図１の車両１００の乗員の１つ以上の画像等の、車両の乗員を記述する入力データが与えられると、乗員の顔ランドマークの位置を出力することができる。
【００７２】
機械学習済モデル６００は、場合によっては環境内のエージェントの機能を果たすことができる。たとえば、機械学習済モデル６００を強化学習を用いてトレーニングすることができる。その詳細は以下で述べる。
【００７３】
いくつかの実装例において、機械学習済モデル６００はパラメータモデルであってもよく、他の実装例において、機械学習済モデル６００は非パラメータモデルであってもよい。いくつかの実装例において、機械学習済モデル６００は線形モデルであってもよく、他の実装例において、機械学習済モデル６００は非線形モデルであってもよい。
【００７４】
先に述べたように、機械学習済モデル６００は、さまざまな異なる種類の機械学習済モデルのうちの１つ以上であってもよい、またはこれを含み得る。このような異なる種類の機械学習済モデルの例を、説明のために以下に示す。下記のモデルの例のうちの１つ以上を使用する（たとえば組み合わせる）ことにより、入力データに応じて出力データを提供することができる。下記のモデルの例の範囲外のその他のモデルも同様に使用できる。
【００７５】
いくつかの実装例において、機械学習済モデル６００は、たとえば線形分類モデル、二次分類モデルなどのような、１つ以上の分類器モデルであってもよい、またはこれを含み得る。機械学習済モデル６００は、たとえば単純線形回帰モデル、多線形回帰モデル、ロジスティック回帰モデル、ステップワイズ回帰モデル、多変量適応的回帰スプライン、局所推定スキャタープロット平滑化モデルなどのような、１つ以上の回帰モデルであってもよい、またはこれを含み得る。
【００７６】
いくつかの例において、機械学習済モデル６００は、たとえば、分類木および／または回帰木、反復二項化３（iterative dichotomiser 3）決定木、Ｃ４．５決定木、カイ二乗自動相互作用検出決定木、決定スタンプ、条件付き決定木などのような、決定木に基づくモデルであってもよい、またはこれを含み得る。
【００７７】
機械学習済モデル６００は、１つ以上のカーネルマシンであってもよい、またはこれを含み得る。いくつかの実装例において、機械学習済モデル６００は、１つ以上のサポートベクターマシンであってもよい、またはこれを含み得る。機械学習済モデル６００は、たとえば、学習ベクトル量子化モデル、自己組織化マップモデル、局所重み付き学習モデルなどのような、１つ以上のインスタンスベースの学習モデルであってもよい、またはこれを含み得る。いくつかの実装例において、機械学習済モデル６００は、たとえば、ｋ近傍分類モデル、ｋ近傍回帰モデルなどのような、１つ以上の近傍モデルであってもよい、またはこれを含み得る。機械学習済モデル６００は、たとえば、ナイーブベイズ（naive Bayes）モデル、ガウスナイーブベイズモデル、多項ナイーブベイズモデル、平均１依存推定器、ベイジアンネットワーク、ベイジアンビリーフネットワーク、隠れマルコフモデルなどのような、１つ以上のベイジアンモデルであってもよい、またはこれを含み得る。
【００７８】
いくつかの実装例において、機械学習済モデル６００は、１つ以上の人工ニューラルネットワーク（簡単にニューラルネットワークとも呼ばれる）であってもよい、またはこれを含み得る。ニューラルネットワークは、ニューロンまたはパーセプトロンと呼ぶこともできる、接続された一群のノードを含み得る。ニューラルネットワークは、１つ以上の層に組織することができる。複数の層を含むニューラルネットワークを「ディープ」ネットワークと呼ぶことができる。ディープネットワークは、入力層と、出力層と、入力層と出力層の中に配置された１つ以上の隠れ層とを含み得る。ニューラルネットワークのノードは、接続されていてもよい、または不完全に接続されていてもよい。
【００７９】
機械学習済モデル６００は、１つ以上のフィードフォワードニューラルネットワークであってもよい、またはこれを含み得る。フィードフォワードネットワークにおいて、ノード間の接続はサイクルを形成しない。たとえば、各接続は、前の層のノードを後の層のノードに接続することができる。
【００８０】
いくつかの場合において、機械学習済モデル６００は、１つ以上の回帰型ニューラルネットワークであってもよい、またはこれを含み得る。いくつかの場合において、再帰型ニューラルネットワークのノードのうちの少なくとも一部はサイクルを形成することができる。再帰型ニューラルネットワークは、本質的に逐次的である入力データの処理に特に有用である。特に、いくつかの場合において、再帰型ニューラルネットワークは、入力データシーケンスの前の部分から、入力データシーケンスの後の部分へと、再帰または有向循環ノード接続の使用を通じて、情報を送るまたは保持することができる。
【００８１】
いくつかの例において、逐次入力データは、時系列データ（たとえば時間に対するセンサデータ、または異なる時間に取り込まれた画像）を含み得る。非限定的な一例として、たとえば、再帰型ニューラルネットワークは、時間に対するセンサデータを分析することにより、乗員が見ている関心領域の変化を検出することができる。
【００８２】
再帰型ニューラルネットワークの例は、長・短期（long short-term）（ＬＳＴＭ）再帰型ニューラルネットワーク、ゲート付き再帰型ユニット、双方向性再帰型ニューラルネットワーク、連続時間再帰型ニューラルネットワーク、ニューラルヒストリコンプレッサ、エコーステートネットワーク、エルマンネットワーク、ジョーダンネットワーク、リカーシブニューラルネットワーク、ホップフィールドネットワーク、完全再帰型ネットワーク、シーケンス・トゥー・シーケンス構成などを含む。
【００８３】
いくつかの実装例において、機械学習済モデル６００は、１つ以上の畳み込みニューラルネットワークであってもよい、またはこれを含み得る。いくつかの場合において、畳み込みニューラルネットワークは、学習済フィルタを用いて入力データに対し畳み込みを実行する１つ以上の畳み込み層を含み得る。
【００８４】
フィルタはカーネルと呼ぶこともできる。畳み込みニューラルネットワークは、入力データが静止画像または動画等の画像を含む場合などの視覚問題には特に有用である可能性がある。しかしながら、畳み込みニューラルネットワークは自然言語処理に適用することもできる。
【００８５】
いくつかの例において、機械学習済モデル６００は、たとえば敵対的生成ネットワーク等の１つ以上の生成ネットワークであってもよい、またはこれを含み得る。生成ネットワークを用いることにより、新たな画像またはその他のコンテンツ等の新たなデータを生成することができる。
【００８６】
機械学習済モデル６００は、オートエンコーダであってもよい、またはこれを含み得る。いくつかの場合において、オートエンコーダの目的は、典型的には次元削減のために、１組のデータの表現（たとえばより低次元の符号化）を学習することである。たとえば、いくつかの場合において、オートエンコーダは、入力データを符号化し入力データを符号化から再構成した出力データを提供することを求めることができる。最近、オートエンコーダの概念は、データの生成モデルの学習により広く使用されるようになっている。いくつかの場合において、オートエンコーダは、入力データの再構成を超える追加の損失を含み得る。
【００８７】
機械学習済モデル６００は、たとえばディープボルツマンマシン、ディープビリーフネットワーク、積層オートエンコーダなどのような、１つ以上の他の形態の人工ニューラルネットワークであってもよい、またはこれを含み得る。本明細書に記載のニューラルネットワークのいずれかを組み合わせる（たとえば積層する）ことにより、より複雑なネットワークを形成することができる。
【００８８】
１つ以上のニューラルネットワークを使用することにより、入力データに基づいた埋め込みを提供することができる。たとえば、埋め込みは、入力データから抽出した知識を１つ以上の学習済の次元にして表すことであってもよい。いくつかの場合において、埋め込みは、関連するエンティティを識別するための有用なソースとなり得る。いくつかの場合において、埋め込みはネットワークの出力から抽出することができ、他の場合において、埋め込みはネットワークの任意の隠れノードまたは層（たとえばネットワークの最後の層に近いが最後の層ではない）から抽出することができる。埋め込みは、次のビデオのオートサジェスト、プロダクトサジェスト、エンティティまたはオブジェクト認識などを実行するのに有用となり得る。いくつかの場合において、埋め込みは、ダウンストリームモデルの入力に有用である。たとえば、埋め込みは、ダウンストリームモデルまたは処理システムの入力データ（たとえばサーチクエリ）を生成するのに有用となり得る。
【００８９】
機械学習済モデル６００は、たとえば、ｋ平均クラスタリングモデル、ｋ中央値クラスタリングモデル、予測最大化モデル、階層クラスタリングモデルなどのようなクラスタリングモデルを１つ以上含み得る。
【００９０】
いくつかの実装例において、機械学習済モデル６００は、たとえば主成分分析、カーネル主成分分析、グラフベースのカーネル主成分分析、主成分回帰、部分的最小二乗回帰、サモンマッピング、多次元スケーリング、射影追跡、線形判別分析、混合判別分析、二次判別分析、一般化判別分析、フレキシブル判別分析、オートエンコードなどのような、次元削減技術を１つ以上実行することができる。
【００９１】
いくつかの実装例において、機械学習済モデル６００は、マルコフ決定過程、動的プログラミング、Ｑ関数またはＱ学習、価値関数アプローチ、ディープＱネットワーク、微分可能ニューラルコンピュータ、非同期アドバンテージアクター・クリティック、決定型方策勾配法などのような強化学習技術を１つ以上実行する、または受けることができる。
【００９２】
いくつかの実装例において、機械学習済モデル６００は自己回帰モデルであってもよい。いくつかの場合において、自己回帰モデルは、出力データが、自身の過去の値と確率項とに線形的に依存することを示すことができる。いくつかの場合において、自己回帰モデルは、確率微分方程式の形態を取ることができる。自己回帰モデルの一例は、生の音声の生成モデルであるＷａｖｅＮｅｔである。
【００９３】
いくつかの実装例において、機械学習済モデル６００は、マルチモデルアンサンブルを含み得る、またはその一部を形成し得る。一例として、「バギング（bagging）」と呼ぶこともできるブートストラップ集約を実行することができる。ブートストラップ集約では、（たとえば置換ありのランダムサンプリングを通じて）トレーニングデータセットを複数のサブセットに分割し、複数のモデルをそれぞれ複数のサブセットについてトレーニングする。推論時に、複数モデルそれぞれの出力を（たとえば平均、投票、またはその他の技術により）組み合わせてアンサンブルの出力として使用することができる。
【００９４】
アンサンブルの一例は、ランダム決定フォレストと呼ぶこともできるランダムフォレストである。ランダムフォレストは、分類、回帰、およびその他のタスクのためのアンサンブル学習方法である。ランダムフォレストは、トレーニング時に複数の決定木を生成することによって生成する。いくつかの場合において、推論時に、個々の木の、クラス（分類）または平均予測（回帰）のモードであるクラスを、フォレストの出力として使用することができる。ランダム決定フォレストは、そのトレーニングセットにオーバーフィットする決定木の傾向を修正することができる。
【００９５】
アンサンブル技術の別の例はスタッキングであり、これはいくつかの場合ではスタック一般化（stacked generalization）と呼ばれることもある、スタッキングである。スタッキングは、コンバイナモデルをトレーニングすることにより、その他いくつかの機械学習済モデルの予測をブレンドするかそうでなければ組み合わせることを含む。このようにして、（たとえば同一または異なる種類の）複数の機械学習済モデルをトレーニングデータに基づいてトレーニングすることができる。加えて、コンバイナモデルをトレーニングすることにより、他の機械学習済モデルの予測を入力として取り込み、それに応じて、最終的な推論または予測を生成することができる。いくつかの場合において、単層ロジスティック回帰モデルをコンバイナモデルとして使用することができる。
【００９６】
もう１つのアンサンブル技術の例はブースティングである。ブースティングは、弱いモデルを繰り返しトレーニングしてから最終的な強いモデルに追加することにより、アンサンブルを増分的に構築することを含み得る。たとえば、いくつかの場合において、新たな各モデルをトレーニングすることにより、過去のモデルが誤解釈（たとえば誤分類）されたというトレーニング例を強調することができる。たとえば、このような誤解釈された例各々に対応付けられた重みを増すことができる。ブースティングの一般的な一実装例は、適応型ブースティングと呼ぶこともできるＡｄａＢｏｏｓｔである。ブースティング技術の他の例は、ＬＰＢｏｏｓｔ、ＴｏｔａｌＢｏｏｓｔ、ＢｒｏｗｎＢｏｏｓｔ、ｘｇｂｏｏｓｔ、ＭａｄａＢｏｏｓｔ、ＬｏｇｉｔＢｏｏｓｔ、勾配ブースティング（gradient boosting）などを含む。さらに、上記モデル（たとえば回帰モデルおよび人工ニューラルネットワーク）のうちのいずれかを組み合わせることによりアンサンブルを形成することができる。一例として、アンサンブルは、アンサンブルを形成するモデルの出力を組み合わせるおよび／または重み付けするためのトップレベル機械学習済モデルまたは発見的機能を含み得る。
【００９７】
いくつかの実装例において、（たとえばアンサンブルを形成する）複数の機械学習済モデルを（たとえばモデルアンサンブルを通した逐次的な誤差逆伝播により）共にリンクさせトレーニングすることができる。しかしながら、いくつかの実装例では、共にトレーニングしたモデルのサブセット（たとえば１つ）のみを推論に使用する。
【００９８】
いくつかの実装例において、機械学習済モデル６００を用いて、入力データを、次に別のモデルに入力するために、前処理することができる。たとえば、機械学習済モデル６００は、次元削減技術および埋め込み（たとえば行列分解、主成分分析、特異値分解、ｗｏｒｄ２ｖｅｃ／ＧＬＯＶＥ、および／または関連する手法）、ならびにクラスタリングを実行することができ、また、ダウンストリーム消費のための分類および回帰さえも実行することができる。これらの技術のうちの多くは先に説明した通りであり以下ではこれ以上説明しない。
【００９９】
上述のように、機械学習済モデル６００は、入力データを受けてそれに応じて出力データを提供するようにトレーニングするかそうでなければ構成することができる。入力データは、異なる種類もしくは形態の入力データ、または入力データの変形を含み得る。例として、各種実装例において、入力データは、最初にユーザが選択したコンテンツ（またはコンテンツの一部）を記述する特徴を含み得る。コンテンツは、たとえば、ユーザが選択した文書または画像のコンテンツ、ユーザ選択を示すリンク、デバイスまたはクラウド上で利用可能なその他のファイルに関連するユーザ選択内のリンク、ユーザ選択のメタデータなどである。加えて、ユーザの許可の下で、入力データは、アプリケーション自体からまたはその他のソースから得たユーザ使用のコンテキストを含む。使用コンテキストの例は、シェアの範囲（公的に共有、または大きなグループと共有、または私的に共有、または特定の人物と共有）、シェアのコンテキストなどを含む。ユーザに許可された場合、追加の入力データは、デバイスの状態、たとえばデバイスの位置、デバイス上で実行されているアプリケーションなどを含み得る。
【０１００】
いくつかの実装例において、機械学習済モデル６００は、入力データをその生の形態で受けて使用することができる。いくつかの実装例において、生の入力データを前処理することができる。よって、生の入力データに加えてまたはその代わりに、機械学習済モデル６００は、前処理された入力データを受けて使用することができる。
【０１０１】
いくつかの実装例において、入力データを前処理することは、生の入力データから１つ以上の追加の特徴を抽出することを含み得る。たとえば、特徴抽出技術を入力データに適用することにより、１つ以上の新たな追加特徴を生成することができる。特徴抽出技術の例は、エッジ検出、コーナー検出、ブロブ（blob）検出、リッジ（ridge）検出、スケール不変特徴量変換、モーション検出、光フロー、ハフ変換などを含む。
【０１０２】
いくつかの実装例において、抽出した特徴は、入力データを他のドメインおよび／または次元に変換したものを含み得る、またはこの変換したものから導出することができる。一例として、抽出した特徴は、入力データを周波数ドメインに変換したものを含み得る、または変換したものから導出することができる。たとえば、ウェーブレット変換および／または高速フーリエ変換を入力データに対して実行することにより、追加の特徴を生成することができる。
【０１０３】
いくつかの実装例において、抽出した特徴は、入力データから計算した統計、または入力データの特定の部分または次元を含み得る。統計の例は、入力データまたはその部分の、モード、平均値、最大値、最小値、またはその他のメトリックを含む。
【０１０４】
いくつかの実装例において、上述のように、入力データは本質的に逐次的である。いくつかの場合において、逐次入力データは、入力データのストリームのサンプリング、そうでなければセグメンテーションにより、生成することができる。一例として、ビデオからフレームを抽出することができる。いくつかの実装例において、逐次データは要約（summarization）により非逐次データにすることができる。
【０１０５】
別の前処理技術の例として、入力データの部分を補完（impute）することができる。たとえば、追加の合成入力データを内挿および／または外挿によって生成することができる。
【０１０６】
別の前処理技術の例として、入力データのうちの一部またはすべてを、スケーリング、標準化、正規化、一般化、および／又は正則化することができる。正則化技術の例は、リッジ回帰、ラッソ回帰（least absolute shrinkage and selection operator）(ＬＡＳＳＯ）、エラスティックネット、最小角度回帰、交差検証、Ｌ１正則化、Ｌ２正則化などを含む。一例として、入力データのうちの一部またはすべてを、個々の特徴値各々から所定の次元の特徴値の平均値を減算してから標準偏差またはその他のメトリックで除算することにより、正規化することができる。
【０１０７】
別の前処理技術の例として、入力データのうちの一部またはすべてを量子化または離散化することができる。いくつかの場合において、入力データに含まれる定性的な特徴または変数を量的な特徴または変数に変換することができる。たとえば、ワンホットエンコーディング（one hot encoding）を実行することができる。
【０１０８】
いくつかの例において、次元削減技術は、機械学習済モデル６００に入力する前の入力データに適用することができる。次元削減技術のいくつかの例は、先に挙げた通りであり、たとえば、主成分分析、カーネル主成分分析、グラフベースのカーネル主成分分析、主成分回帰、部分最小二乗回帰、サモンマッピング、多次元スケーリング、射影追跡、線形判別分析、混合判別分析、二次判別分析、一般化判別分析、フレキシブル判別分析、オートエンコードなどを含む。
【０１０９】
いくつかの実装例において、トレーニング中に入力データを任意の数のやり方で意図的に変形することにより、モデルロバストネス、一般化、またはその他の品質を高めることができる。入力データ変形技術の例は、ノイズ追加、色または濃淡または色調の変更、拡大、セグメンテーション、増幅などを含む。
【０１１０】
機械学習済モデル６００は、入力データを受けたことに応じて出力データを提供することができる。出力データは、異なる種類もしくは形態の出力データ、または出力データの変形を含み得る。例として、各種実装例において、出力データは、最初のコンテンツ選択とともに関連して共有可能な、ユーザデバイスにローカルに格納されているかまたはクラウドに格納されたコンテンツを含み得る。
【０１１１】
上述のように、いくつかの実装例において、出力データはさまざまな種類の分類データ（たとえば二項分類、多クラス分類、シングルラベル、マルチラベル、離散分類、回帰分類、確率分類など）を含み得る、または、さまざまな種類の回帰データ（たとえば線形回帰、多項回帰、非線形回帰、単純回帰、重回帰など）を含み得る。その他の場合において、出力データは、クラスタリングデータ、異常検知データ、レコメンデーションデータ、または上記その他の形態の出力データのうちのいずれかを、含み得る。
【０１１２】
いくつかの実装例において、出力データは、ダウンストリームプロセスまたは意思決定に影響する可能性がある。一例として、いくつかの実装例において、出力データを、ルールベースのレギュレータによって解釈するおよび／またはその作用を受けることができる。
【０１１３】
本開示は、顔面平面、３Ｄ視線ベクトル、乗員の頭部および／または目の位置、ならびに乗員が見ている関心領域を求めるための、１つ以上の機械学習済モデルを含む、そうでなければ強化する、システムおよび方法を提供する。上記異なる種類または形態の入力データのうちのいずれかを、上記異なる種類または形態の機械学習済モデルのうちのいずれかと組み合わせることにより、上記異なる種類または形態の出力データのうちのいずれかを提供することができる。
【０１１４】
本開示のシステムおよび方法は、１つ以上のコンピューティングデバイスによって実現する、そうでなければ１つ以上のコンピューティングデバイス上で実行することができる。コンピューティングデバイスの例は、ユーザコンピューティングデバイス（たとえばラップトップ、デスクトップ、および、タブレット、スマートフォン、ウェアラブルコンピューティングデバイス等のモバイルコンピューティングデバイスなど）、埋め込まれたコンピューティングデバイス（たとえば車両、カメラ、画像センサ、産業用機械、衛星、ゲーム機もしくはコントローラ、または、冷蔵庫、サーモスタット、電力量計、家庭用エネルギー管理装置、スマートホームアシスタント等の家庭用電気器具などに埋め込まれたデバイス）、サーバコンピューティングデバイス（たとえばデータベースサーバ、パラメータサーバ、ファイルサーバ、メールサーバ、プリントサーバ、ウェブサーバ、ゲームサーバ、アプリケーションサーバなど）、専用、専門モデル処理もしくはトレーニングデバイス、仮想コンピューティングデバイス、その他のコンピューティングデバイスもしくはコンピューティングインフラストラクチャ、またはその組み合わせを含む。
【０１１５】
図６Ｂは、図１の車両コンピューティングシステム１０４および／または図５のコンピューティングデバイス５００の一例であるコンピューティングデバイス６１０の概念図を示す。コンピューティングデバイス６１０は、処理コンポーネント６０２と、メモリコンポーネント６０４と、機械学習済モデル６００とを含む。コンピューティングデバイス６１０は、機械学習済モデル６００をローカルに（すなわちオンデバイスで）格納し実現することができる。よって、いくつかの実装例において、機械学習済モデル６００は、埋め込まれたデバイス、またはモバイルデバイス等のユーザコンピューティングデバイスにより、ローカルに格納および／または実現することができる。埋め込まれたデバイスまたはユーザコンピューティングデバイスにおいて機械学習済モデル６００をローカルに実現して得られた出力データを用いることにより、当該埋め込まれたデバイスまたはユーザコンピューティングデバイスのパフォーマンス（たとえば埋め込まれたデバイスまたはユーザコンピューティングデバイスによって実現されるアプリケーション）を改善することができる。
【０１１６】
図６Ｃは、機械学習済モデルを含むサーバコンピューティングシステムの一例とネットワークを介して通信することが可能なクライアントコンピューティングデバイスの一例の概念図を示す。図６Ｃは、サーバデバイス６６０とネットワーク６３０を介して通信するクライアントデバイス６１０Ａを含む。クライアントデバイス６１０Ａは、図１の車両コンピューティングシステム１０４の一例および／または図５のコンピューティングデバイス５００の一例である。サーバデバイス６６０は機械学習済モデル６００を格納し実現する。いくつかの場合において、サーバデバイス６６０において機械学習済モデル６００を通して得られた出力データを用いることによって他のサーバタスクを改善することができる、または、この出力データを他の非ユーザデバイスが使用することにより、このような他の非ユーザデバイスが実行するサービスもしくはこのような他の非ユーザデバイスのためのサービスを改善することができる。たとえば、この出力データは、ユーザのコンピューティングデバイスまたは埋め込まれたコンピューティングデバイスのためにサーバデバイス６６０が実行する他のダウンストリームプロセスを改善することができる。その他の場合において、サーバデバイス６６０において機械学習済モデル６００を実現することにより得られた出力データは、ユーザコンピューティングデバイス、埋め込まれたコンピューティングデバイス、またはクライアントデバイス６１０Ａ等のその他何らかのクライアントデバイスに送信する、またはこのようなデバイスが使用することができる。たとえば、サーバデバイス６６０は機械学習をサービスとして実行すると言うことができる。
【０１１７】
さらに他の実装例において、機械学習済モデル６００の異なるそれぞれの部分を、ユーザコンピューティングデバイス、埋め込まれたコンピューティングデバイス、サーバコンピューティングデバイスなどの何らかの組み合わせに格納するおよび／またはこれによって実現することができる。言い換えると、機械学習済モデル６００の部分は、その全体または一部を、クライアントデバイス６１０Ａとサーバデバイス６６０とに分散させることができる。
【０１１８】
デバイス６１０Ａおよび６６０は、たとえばＴｅｎｓｏｒＦｌｏｗ、Ｃａｆｆｅ／Ｃａｆｆｅ２、Ｔｈｅａｎｏ、Ｔｏｒｃｈ／ＰｙＴｏｒｃｈ、ＭＸｎｅｔ、ＣＮＴＫなどのような、１つ以上の機械学習プラットフォーム、フレームワーク、および／またはライブラリを用いて、グラフ処理技術またはその他の機械学習技術を実行することができる。デバイス６１０Ａおよび６６０を、異なる物理的位置に分散させ、ネットワーク６３０を含む１つ以上のネットワークを介して接続することができる。デバイス６１０Ａおよび６６０は、分散型コンピューティングデバイスとして構成された場合、逐次コンピューティングアーキテクチャ、並列コンピューティングアーキテクチャ、またはその組み合わせに従って動作することができる。一例において、分散型コンピューティングデバイスは、パラメータサーバの使用を通じて制御またはガイドすることができる。
【０１１９】
いくつかの実装例において、機械学習済モデル６００の複数のインスタンスを並列化することにより、処理スループットを高めることができる。たとえば、機械学習済モデル６００の複数のインスタンスを１つの処理デバイスもしくはコンピューティングデバイス上で並列化する、または、複数の処理デバイスもしくはコンピューティングデバイスにわたって並列化することができる。
【０１２０】
機械学習済モデル６００または本開示のその他の局面を実現する各コンピューティングデバイスは、本明細書に記載の技術の実行を可能にする複数のハードウェアコンポーネントを含み得る。たとえば、各コンピューティングデバイスは、機械学習済モデル６００のうちの一部またはすべてを格納する１つ以上のメモリデバイスを含み得る。たとえば、機械学習済モデル６００は、メモリに格納されている構造化された数値表現であってもよい。上記１つ以上のメモリデバイスはまた、機械学習済モデル６００を実現するためまたはその他の動作を実行するための命令を含み得る。メモリデバイスの例は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラシュメモリデバイス、磁気ディスクなど、およびその組み合わせを含む。
【０１２１】
各コンピューティングデバイスはまた、機械学習済モデル６００のうちの一部またはすべてを実現するおよび／またはその他の関連する動作を実行する１つ以上の処理デバイスを含み得る。処理デバイスの例は、中央処理装置（ＣＰＵ）、仮想処理ユニット（virtual processing unit）（ＶＰＵ）、グラフィックス処理ユニット（graphics processing unit）（ＧＰＵ）、テンソル処理ユニット（tensor processing unit）（ＴＰＵ）、ニューラル処理ユニット（neural processing unit）（ＮＰＵ）、ニューラル処理エンジン、ＣＰＵ、ＶＰＵ、ＧＰＵ、ＴＰＵ、ＮＰＵもしくはその他の処理装置のコア、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コプロセッサ、コントローラ、または上記処理装置の組み合わせ、のうちの１つ以上を含む。処理装置は、たとえば画像センサ、加速度計などのようなその他のハードウェアコンポーネントに埋め込むことができる。
【０１２２】
ハードウェアコンポーネント（たとえばメモリデバイスおよび／または処理装置）は、物理的に分散させたコンピューティングデバイスおよび／または仮想的に分散させたコンピューティングシステムにわたって分散させることができる。
【０１２３】
図６Ｄは、モデルトレーナーを含むトレーニングコンピューティングシステムの一例と通信するコンピューティングデバイスの一例の概念図を示す。図６Ｄは、トレーニングデバイス６７０とネットワーク６３０を介して通信するクライアントデバイス６１０Ｂを含む。クライアントデバイス６１０Ｂは、図１の車両コンピューティングシステム１０４および／または図５のコンピューティングデバイス５００の一例である。本明細書に記載の機械学習済モデル６００を、トレーニングデバイス６７０等のトレーニングコンピューティングシステムにおいてトレーニングした後に、クライアントデバイス６１０Ｂ等の１つ以上のコンピューティングデバイスにおいて格納および／または実現するために提供することができる。たとえば、モデルトレーナー６７２はトレーニングデバイス６７０においてローカルに実行される。しかしながら、いくつかの例において、モデルトレーナー６７２を含むトレーニングデバイス６７０は、クライアントデバイス６１０Ｂに、または機械学習済モデル６００を実現するその他任意のコンピューティングデバイスに、含まれていてもよい、またはこれと離れていてもよい。
【０１２４】
いくつかの実装例において、機械学習済モデル６００を、オフライン方式またはオンライン方式でトレーニングすることができる。オフライントレーニング（バッチ学習としても知られている）の場合、機械学習済モデル６００を、トレーニングデータのスタティックセット全体についてトレーニングする。オンライン学習の場合、機械学習済モデル６００を、新たなトレーニングデータが利用できるようになると（たとえば推論の実施のためにモデルが使用されている間に）連続的にトレーニング（再トレーニング）することができる。
【０１２５】
モデルトレーナー６７２は、機械学習済モデル６００の集中型トレーニングを（たとえば中央に格納されたデータセットに基づいて）実行することができる。その他の実装例において、分散型トレーニング、フェデレ―テッドラーニング（federated learning）その他のような非集中型トレーニングを用いることにより、機械学習済モデル６００をトレーニング、アップデート、またはパーソナライズすることができる。
【０１２６】
本明細書に記載の機械学習済モデル６００は、各種の異なるトレーニングタイプまたは技術のうちの１つ以上に従ってトレーニングすることができる。たとえば、いくつかの実装例において、機械学習済モデル６００を、モデルトレーナー６７２が教師あり学習を用いてトレーニングすることができ、この教師あり学習では、機械学習済モデル６００が、ラベルを有するインスタンスまたは例を含むトレーニングデータセットについてトレーニングされる。ラベルは、専門家によって手作業で与えられてもよく、クラウドソーシングを通して生成されてもよく、または、その他の技術によって（たとえば物理学に基づくもしくは複雑な数学的モデルによって）提供されてもよい。いくつかの実装例において、ユーザが承諾している場合、トレーニング例をユーザコンピューティングデバイスが提供してもよい。いくつかの実装例において、このプロセスをモデルのパーソナライズと呼ぶことができる。
【０１２７】
図６Ｅは、ラベル６９３を有する入力データ例６９２を含むトレーニングデータ６９１について機械学習済モデル６００がトレーニングされるトレーニングプロセスの一例であるトレーニングプロセス６９０の概念図を示す。トレーニングプロセス６９０はトレーニングプロセスの一例であり、他のトレーニングプロセスも同様に使用できる。
【０１２８】
トレーニングプロセス６９０が使用するトレーニングデータ６９１は、このようなデータをトレーニングに使用することをユーザが許可すると、共有フローの匿名使用ログ、たとえば、ともに共有されていたコンテンツアイテムや、たとえばナレッジグラフ（knowledge graph）のエンティティからの、ともに所属していることが既に識別されているバンドル化されたコンテンツなどを含み得る。いくつかの実装例において、トレーニングデータ６９１は、出力データ６９４に対応するラベル６９３が既に割り当てられている入力データ例６９２を含み得る。
【０１２９】
いくつかの実装例において、機械学習済モデル６００を、目的関数６９５等の目的関数を最適化することによってトレーニングすることができる。たとえば、いくつかの実装例において、目的関数６９５は、トレーニングデータから当該モデルが生成した出力データと、トレーニングデータに対応付けられたラベル（たとえばグラウンドトゥルース（ground-truth）ラベル）とを比較する（たとえばこれらの差を求める）損失関数であってもよく、またはこの損失関数を含んでいてもよい。たとえば、損失関数は、出力データとラベルとの自乗差の合計または平均を評価することができる。いくつかの例において、目的関数６９５は、特定の結果または出力データのコストを記述するコスト関数であってもよく、またはこのコスト関数を含んでいてもよい。目的関数６９５のその他の例は、たとえばトリプレット損失または最大マージントレーニング等のマージンベースの技術を含み得る。
【０１３０】
各種最適化技術のうちの１つ以上を実行することにより、目的関数６９５を最適化することができる。たとえば、最適化技術は、目的関数６９５を最小または最大にすることができる。最適化技術の例は、ヘシアン（Hessian）に基づく技術、および、たとえば座標降下法（coordinate descent）、勾配降下法（gradient descent）（たとえば確率的勾配降下法（stochastic gradient descent））、サブ勾配法（subgradient method）のような、勾配に基づく技術を含む。その他の最適化技術は、ブラックボックス最適化技術およびヒューリスティックス（heuristics）を含む。
【０１３１】
いくつかの実装例において、誤差逆伝播を最適化技術（たとえば勾配に基づく技術）とともに使用することにより、機械学習済モデル６００をトレーニングすることができる（たとえば機械学習済モデルが人工ニューラルネットワークのような多層モデルの場合）。たとえば、伝播およびモデルパラメータ（たとえば重み）アップデートの反復サイクルを実行することにより、機械学習済モデル６００をトレーニングすることができる。逆伝播技術の例は、打ち切り型通時的逆伝播（truncated backpropagation through time）、レーベンバーグ・マーカート逆伝播（Levenberg-Marquardt backpropagation）などを含む。
【０１３２】
いくつかの実装例において、本明細書に記載の機械学習済モデル６００は、教師なし学習技術を用いてトレーニングすることができる。教師なし学習は、関数を推論することにより、ラベル付けされていないデータから隠れた構造を説明することを含み得る。たとえば、分類またはカテゴライズはデータに含まれていなくてもよい。教師なし学習技術を用いることにより、クラスタリング、異常検知、潜在変数モデルの学習、またはその他のタスクを実行することができる。
【０１３３】
機械学習済モデル６００を、教師あり学習および教師なし学習の側面を組み合わせた半教師あり技術を用いてトレーニングすることができる。機械学習済モデル６００を、進化的技術または遺伝的アルゴリズムを通じてトレーニングする、そうでなければ生成することができる。いくつかの実装例において、本明細書に記載の機械学習済モデル６００を、強化学習を用いてトレーニングすることができる。強化学習の場合、エージェント（たとえばモデル）が環境においてアクションを実行しこのようなアクションから生じた報酬を最大にするおよび／またはペナルティを最小にするよう学習することができる。強化学習と教師あり学習問題との違いは、正しい入力／出力ペアが提示されず最適下限アクションが明確に補正されない点にある。
【０１３４】
いくつかの実装例において、１つ以上の一般化技術をトレーニング中に実行することにより、機械学習済モデル６００の一般化を改善することができる。一般化技術は、機械学習済モデル６００のトレーニングデータへの過剰適合を低減するのに役立ち得る。一般化技術の例は、ドロップアウト（dropout）技術、重み減衰（weight decay）技術、バッチ正規化（batch normalization）、早期終了（early stopping）、サブセット選択（subset selection）、ステップワイズ選択（stepwise selection）などを含む。
【０１３５】
いくつかの実装例において、本明細書に記載の機械学習済モデル６００は、たとえば、学習レート、層の数、各層のノードの数、木の葉の数、クラスタの数などのような複数のハイパーパラメータを含み得る、そうでなければ複数のハイパーパラメータの影響を受ける可能性がある。ハイパーパラメータはモデルパフォーマンスに影響を与える可能性がある。ハイパーパラメータは、手で選択する、または、たとえばグリッドサーチ、ブラックボックス最適化技術（たとえばベイズ最適化（Bayesian optimization）、ランダムサーチなど）、勾配に基づく最適化などのような技術を適用することにより、自動的に選択することができる。自動ハイパーパラメータ最適化を実行するための技術および／またはツールの例は、Ｈｙｐｅｒｏｐｔ、Ａｕｔｏ−ＷＥＫＡ、Ｓｐｅａｒｍｉｎｔ、メトリック最適化エンジン（Metric Optimization Engine）（ＭＯＥ）などを含む。
【０１３６】
いくつかの実装例において、各種技術を用いることにより、モデルがトレーニングされるときの学習レートを最適化および／または適応化することができる。学習レート最適化または適応化を実行するための技術および／またはツールの例は、Ａｄａｇｒａｄ、適応モーメント推定（Adaptive Moment Estimation）（ＡＤＡＭ）、Ａｄａｄｅｌｔａ、ＲＭＳｐｒｏｐなどを含む。
【０１３７】
いくつかの実装例において、転移学習技術を用いることにより、初期モデルを提供することができ、この初期モデルから、本明細書に記載の機械学習済モデル６００のトレーニングが開始される。
【０１３８】
いくつかの実装例において、本明細書に記載の機械学習済モデル６００は、コンピューティングデバイス上のコンピュータ読取可能コードの異なる部分に含まれていてもよい。一例において、機械学習済モデル６００は、特定のアプリケーションまたはプログラムに含まれこのような特定のアプリケーションまたはプログラムによって（たとえば独占的に）使用されてもよい。よって、一例において、コンピューティングデバイスは複数のアプリケーションを含むことができ、このようなアプリケーションのうちの１つ以上は、それぞれの機械学習ライブラリおよび機械学習済モデルを含むことができる。
【０１３９】
別の例において、本明細書に記載の機械学習済モデル６００は、コンピューティングデバイスのオペレーティングシステムに（たとえばオペレーティングシステムの中央知能層に）含まれ当該オペレーティングシステムとやり取りする１つ以上のアプリケーションによってコールされる、そうでなければ使用されることができる。いくつかの実装例において、各アプリケーションは、中央知能層（およびそこに格納されているモデル）と、アプリケーションプログラミングインターフェイス（ＡＰＩ）（たとえばすべてのアプリケーションの共通するパブリックＡＰＩ）を用いて通信することができる。
【０１４０】
いくつかの実装例において、中央知能層は、中央デバイスデータ層と通信することができる。中央デバイスデータ層は、コンピューティングデバイスのための集中データリポジトリであってもよい。中央デバイスデータ層は、コンピューティングデバイスのその他の複数のコンポーネント、たとえば１つ以上のセンサ、コンテキストマネージャ、デバイス状態コンポーネント、および／またはその他のコンポーネントと通信することができる。いくつかの実装例において、中央デバイスデータ層は、ＡＰＩ（たとえばプライベートＡＰＩ）を用いて各デバイスコンポーネントと通信することができる。
【０１４１】
本明細書に記載の技術は、サーバ、データベース、ソフトウェアアプリケーション、およびその他のコンピュータベースのシステム、ならびに実行されるアクションおよびこのようなシステムとの間で送信される情報を参照する。コンピュータベースのシステムに固有の柔軟性により、コンポーネント間のタスクおよび機能の多様な可能な構成、組み合わせ、および分割が可能である。たとえば、本明細書に記載のプロセスは、単一のデバイスもしくはコンポーネント、または組み合わせとして働く複数のデバイスもしくはコンポーネントを用いて実現することができる。
【０１４２】
データベースおよびアプリケーションは、単一のシステム上で実現することができる、または複数のシステムに分散させることができる。分散型コンポーネントは逐次的にまたは並列に動作することができる。
【０１４３】
加えて、本明細書に記載の機械学習技術は、容易に交換および組み合わせが可能である。特定の技術例について説明してきたが、その他多数の技術が存在しそれらは本開示の局面に関連して使用することができる。
【０１４４】
本開示では機械学習済モデルおよび関連技術の例の簡単な概要を示した。その他の詳細については以下の参考文献、Machine Learning A Probabilistic Perspective (Murphy)、Rules of Machine Learning: Best Practices for ML Engineering (Zinkevich)、Deep Learning (Goodfellow)、Reinforcement Learning: An Introduction (Sutton)、および、Artificial Intelligence: A Modern Approach (Norvig)を検討すべきである。
【０１４５】
上記説明に加えて、本明細書に記載のシステム、プログラムまたは特徴により、ユーザ情報（たとえばユーザのソーシャルネットワーク、社会的行動または活動、職業、ユーザの好み、またはユーザの現在の位置）の収集を可能にすることができるか否かまたはいつ可能にすることができるかと、コンテンツまたは通信がサーバからユーザに送信されるか否かとの双方についてユーザが選択できるよう、ユーザに管理権が与えられてもよい。加えて、特定のデータを、格納または使用前に、個人識別可能情報が削除されるように１つ以上のやり方で処理してもよい。たとえば、ユーザのＩＤを、このユーザについて個人識別可能情報が判断できないように処理してもよく、または、位置情報が得られる場合はユーザの特定の位置が判断できないようにユーザの地理的位置を（都市、郵便番号または州レベルなどに）一般化してもよい。よって、ユーザは、当該ユーザに関してどのような情報が収集されるか、この情報が如何にして使用されるか、および、どのような情報がユーザに提供されるかについて、管理することができる。
【０１４６】
図７は、本開示の１つ以上の局面に係る、３Ｄ視線ベクトルを用いて運転者の関与を判断するように構成されたコンピューティングシステムの動作の例を示すフローチャートである。以下、図７の動作を図１の車両１００および図５の一例としてのコンピューティングデバイス５００の文脈で説明する。１つ以上のカメラ１０２は車両１００の乗員の少なくとも１つの画像を取り込むことができる（７０２）。
【０１４７】
コンピューティングデバイス５００の目位置モジュール５２４は、上記少なくとも１つの画像を分析し、車両１００内の乗員の頭部および／または目の位置を求めることができる（７０４）。たとえば、上記少なくとも１つの画像は２つの画像を含み得る。これら２つの画像の各々は、異なるカメラ１０２のうちの対応する１つのカメラが取り込んだものである。目位置モジュール５２４は、画像に取り込まれている乗員の頭部に対するカメラ１０２の視差角を求めることができる。目位置モジュール５２４は、この視差角と、カメラ１０２間の距離とを用いて、カメラ１０２のうちの１つ以上から乗員の頭部および／または目までの距離を求めることができる。目位置モジュール５２４は、カメラ１０２のうちの１つ以上から乗員の頭部および／または目までの距離と、３次元空間におけるカメラ１０２のうちの１つ以上の各々の相対的な位置とを用いて、３次元空間におけるカメラ１０２のうちの１つ以上に対する乗員の頭部および／または目の位置を求めることができる。別の例として、カメラ１０２のうちの１つは、乗員の赤外線画像を取り込む赤外線カメラであってもよい。目位置モジュール５２４は、赤外線画像における歪みを分析し、歪みに基づいてカメラから乗員の頭部および／または目までの距離を求めてもよい。また、目位置モジュール５２４は、画像内における頭部および／または目の位置に基づいて、カメラに対する乗員の頭部および／または目の位置を求めてもよい。
【０１４８】
視線モジュール５２２は、車両の乗員の３Ｄ視線ベクトルを求めることができる（７０６）。いくつかの場合において、視線モジュール５２２は、カメラ１０２のうちの１つ以上が取り込んだ１つ以上の画像を分析し、乗員の顔面平面を求めることができる。たとえば、視線モジュール５２２は、機械学習済モデルを上記１つ以上の画像に適用することにより、画像内の乗員の各種顔面ランドマークを識別することができ、また、機械学習済モデルを識別した顔面ランドマークの位置に適用することにより、乗員の顔面平面のピッチ、ロール、およびヨーを求めることができる。いくつかの場合において、１つの機械学習済モデルが、顔面ランドマークを識別するとともに顔面平面のピッチ角、ロール角、およびヨー角を求めてもよい。別の例として、視線モジュール５２２は、ヒューリスティックスを実行することによって顔面ランドマークの位置を求め、機械学習以外の技術を用いて顔面平面のピッチ角、ロール角、およびヨー角を計算してもよい。視線モジュール５２２は、この顔面平面のヨー角、ピッチ角、およびロール角を用いて、乗員の３Ｄ視線ベクトルを求めることができる。
【０１４９】
いくつかの場合において、視線モジュール５２２はまた、アイトラッキングを用いて３Ｄ視線ベクトルを求めることができる。しかしながら、乗員の目が遮られているために画像では見えない場合がある。このような場合、視線モジュール５２２は、アイトラッキングを用いて３Ｄ視線ベクトルを求めるのではなく、顔面平面を用いて３Ｄ視線ベクトルを求めることができる。視線モジュール５２２がアイトラッキングおよび顔面平面双方に基づいて初期３Ｄ視線ベクトルを求めることができる場合、視線モジュール５２２は、双方の初期３Ｄ視線ベクトルの組み合わせを用いて最終３Ｄ視線ベクトルを求めてもよい。
【０１５０】
関心領域モジュール５２６は、視線モジュール５２２が求めた３Ｄ視線ベクトルと、目位置モジュール５２４が求めた頭部および／または目の位置との両方を用いることにより、乗員が見ている１つ以上の関心領域を求めることができる（７０８）。さまざまな場合において、目位置モジュール５２４が求めた頭部および／または目の位置は、１つ以上のカメラ１０２の位置に対して定められた座標のセットである。すなわち、頭部および／または目の位置は、カメラベースの座標系を用いて特定することができる。このような場合、関心領域モジュール５２６は、位置データをカメラベースの座標系から車両ベースの座標系に変換してもよい。車両ベースの座標系は、車両コンピューティングシステム１０４に与えられる車両データファイルによって定められてもよい。車両データファイルは、車両ベースの座標系を用いて車両の複数の関心領域を定める座標を含み得る。
【０１５１】
関心領域モジュール５２６は、視線モジュール５２２が求めた３Ｄ視線ベクトルを、乗員の目のうちの１つ以上の車両ベースの座標系の位置から延ばすことができる。関心領域モジュール５２６は、もしあれば、３Ｄ視線ベクトルが関心領域の面のうちのいずれと交差するかを判断するとともに、各面内の、３Ｄ視線ベクトルが交差する位置を求めることができる。乗員の目および関心領域の座標位置は同一の座標系を用いて特定するので、関心領域モジュール５２６は、各関心領域と乗員の目の位置との間の距離を求めることが可能である。関心領域モジュール５２６は、この距離を３Ｄ視線ベクトル方向とともに用いて、３Ｄ視線ベクトルが、関心領域の面のうちの１つ以上と交差する位置を求めることが可能である。関心領域モジュール５２６は、３Ｄ視線ベクトルが交差する関心領域の面が、乗員が見ている１つ以上の関心領域であると判断する。
【０１５２】
さまざまな場合において、関心領域モジュール５２６が、乗員が見ている少なくとも１つの関心領域を求めると、車両コンピューティングシステム１０４は、１つ以上のアクションを実行することができる（７１０）。たとえば、車両１００の乗員がサイドウィンドウから外を少なくともしきい値期間見ている場合、車両コンピューティングシステム１０４は、サイドウィンドウの外に位置する何か、たとえば風景を乗員が見ていると判断することができる。車両コンピューティングシステム１０４は、車両１００の外部に位置するカメラを自動制御し、乗員がカメラを持ち上げて自身で写真を撮影しなくても、その風景の画像をカメラに取り込ませることができる。
【０１５３】
別の例として、車両１００の乗員が車両１００の運転者である場合、車両コンピューティングシステム１０４は、運転者が道路を注視しているのではなく車両コンピューティングシステム１０４のディスプレイを見ていると判断する場合がある。このような場合、車両コンピューティングシステム１０４は、運転者がディスプレイをしきい値期間よりも長く見ていたか否かを（たとえば運転者がディスプレイに対応付けられた関心領域をまだ見ていることを定期的に確認することによって）判断するように構成されていてもよい。車両コンピューティングシステム１０４は、運転者がディスプレイをしきい値期間よりも長く見ていたと判断した場合、ディスプレイに情報を出力するのを中止する、またはディスプレイに警告メッセージを出力する、または車両コンピューティングシステム１０４が受けたユーザ入力の処理を中止することができる。車両コンピューティングシステム１０４は、運転者がディスプレイをしきい値期間よりも長く見ていないと判断した場合、ディスプレイに対応付けられた関心領域を運転者が見ていることに基づいたアクションの実行を控えてもよい。このようにして、車両コンピューティングシステム１０４は、車両の乗員が見ている関心領域に基づいてアクションを選択的に実行することができる。
【０１５４】
１つ以上の例において、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組み合わせで実現されてもよい。ソフトウェアで実現される場合、当該機能は、１つ以上の命令またはコードとして、コンピュータ読取可能媒体上に格納またはコンピュータ読取可能媒体を介して送信され、ハードウェアに基づいた処理ユニットによって実行されてもよい。コンピュータ読取可能媒体は、データ記憶媒体等の有形の媒体に対応するコンピュータ読取可能記憶媒体、または、たとえば通信プロトコルに従ってある場所から別の場所までのコンピュータプログラムの転送を促進する任意の媒体を含む通信媒体を、含み得る。このように、コンピュータ読取可能媒体は一般的に、（１）非一時的な有形のコンピュータ読取可能記憶媒体、または、（２）信号もしくは搬送波等の通信媒体に対応し得る。データ記憶媒体は、本開示に記載されている技術の実現のために、命令、コードおよび／またはデータ構造を取り出すよう１つ以上のコンピュータまたは１つ以上のプロセッサがアクセス可能な、利用可能な任意の媒体であってもよい。コンピュータプログラムプロダクトはコンピュータ読取可能媒体を含み得る。
【０１５５】
限定ではなく例示として、そのようなコンピュータ読取可能記憶媒体は、所望のプログラムコードを命令またはデータ構造の形態で格納するために使用することができるとともにコンピュータがアクセスできる、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または任意の他の記憶媒体を含み得る。また、任意の接続は適切にコンピュータ読取可能媒体と呼ばれる。たとえば、同軸ケーブル、光ファイバケーブル、撚り対線、デジタル加入者線（ＤＳＬ）、または、赤外線、無線、およびマイクロ波等の無線技術を使用して、命令をウェブサイト、サーバまたは他のリモートソースから送信する場合、当該同軸ケーブル、光ファイバケーブル、撚り対線、ＤＳＬ、または、赤外線、無線、およびマイクロ波等の無線技術は、媒体の定義に含まれる。しかしながら、コンピュータ読取可能記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的な媒体を含まないがその代わりに非一時的な有形の記憶媒体に向けられることが理解されるはずである。使用されるディスク（ｄｉｓｋおよびｄｉｓｃ）は、コンパクトディスク（ＣＤ）、レーザーディスク（登録商標）、光ディスク、デジタルバーサタイルディスク（ＤＶＤ）、フロッピー（登録商標）ディスクおよびブルーレイ（登録商標）ディスク、ウルトラブルーレイなどを含み、ディスク（ｄｉｓｋ）は通常磁気的にデータを再生するものであり、ディスク（ｄｉｓｃ）はレーザでデータを光学的に再生するものである。これらの組み合わせもコンピュータ読取可能媒体の範囲に含まれねばならない。
【０１５６】
命令は、１つ以上のプロセッサによって実行されてもよく、たとえば、１つ以上のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の同等の集積もしくは離散論理回路によって実行されてもよい。したがって、使用されている「プロセッサ」という用語は、上記構造、または、記載されている技術の実現に適した任意の他の構造のうちのいずれかを指す。加えて、いくつかの局面において、記載されている機能は、専用ハードウェアおよび／またはソフトウェアモジュール内に与えられてもよい。また、当該技術は１つ以上の回路または論理素子において完全に実現することが可能である。
【０１５７】
本開示の技術は、無線ハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえばチップセット）を含む多様なデバイスまたは装置において実現されてもよい。各種コンポーネント、モジュール、またはユニットは、本開示において、開示されている技術を実行するように構成されたデバイスの機能的側面を強調するように記載されているが、必ずしも異なるハードウェアユニットによる実現を要求していない。むしろ、上述のように、各種ユニットは、ハードウェアユニットにおいて組み合わされてもよい、または、好適なソフトウェアおよび／またはファームウェアとともに上記１つ以上のプロセッサを含む共同作業するハードウェアユニットの集まりによって提供されてもよい。
【０１５８】
さまざまな例について説明した。これらのおよびその他の例は以下の請求項の範囲に含まれる。
【図１】
2021531522.tif 000003
【図２】
2021531522.tif 000004
【図３】
2021531522.tif 000005
【図４】
2021531522.tif 000006
【図５】
2021531522.tif 000007
【図６Ａ】
2021531522.tif 000008
【図６Ｂ】
2021531522.tif 000009
【図６Ｃ】
2021531522.tif 000010
【図６Ｄ】
2021531522.tif 000011
【図６Ｅ】
2021531522.tif 000012
【図７】
2021531522.tif 000013
【手続補正書】
【提出日】令和2年9月4日(2020.9.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータによって実行される方法であって、
車両のカメラシステムを介して前記車両の乗員の少なくとも１つの画像を取得するステップと、
前記乗員の前記少なくとも１つの画像に基づいて前記車両内の前記乗員の１つ以上の目の位置を求めるステップと、
前記乗員の前記少なくとも１つの画像に基づいて視線ベクトルを求めるステップと、
前記視線ベクトルと、前記乗員の１つ以上の目の位置と、前記車両の車両データファイルとに基づいて、前記車両の複数の関心領域のうちの、前記乗員が見ている関心領域を求めるステップとを含み、前記車両データファイルは前記複数の関心領域の各々の位置を特定し、
前記求めた関心領域に基づいてアクションを選択的に実行するステップを含む、方法。
【請求項２】
前記視線ベクトルを求めるステップは、
前記少なくとも１つの画像における１つ以上の顔面ランドマークを識別するステップと、
前記１つ以上の顔面ランドマークに基づいて、前記乗員の顔面平面のピッチ角、ロール角、およびヨー角を求めるステップと、
前記ピッチ角、前記ロール角、および前記ヨー角に基づいて、前記視線ベクトルを求めるステップとを含む、請求項１に記載の方法。
【請求項３】
前記視線ベクトルを求めるステップは、
前記少なくとも１つの画像に基づいて前記乗員の少なくとも１つの瞳孔の角度を求めるステップと、
前記少なくとも１つの瞳孔の角度に基づいて前記視線ベクトルを求めるステップとを含む、請求項１に記載の方法。
【請求項４】
前記視線ベクトルを求めるステップは、
前記少なくとも１つの画像に基づいて前記乗員の顔面平面を求めるステップと、
前記顔面平面に基づいて第１の初期視線ベクトルを求めるステップと、
前記画像に基づきアイトラッキングを用いて第２の初期視線ベクトルを求めるステップと、
前記第１の初期視線ベクトルと前記第２の初期視線ベクトルとを少なくとも組み合わせることによって前記視線ベクトルを求めるステップとを含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記視線ベクトルを求めるステップは、少なくとも１つの機械学習済モデルを前記少なくとも１つの画像に適用するステップを含み、前記機械学習済モデルは前記視線ベクトルを出力する、請求項１〜３のいずれか１項に記載の方法。
【請求項６】
前記少なくとも１つの画像は、前記カメラシステムの２つ以上の異なるカメラの各々が取り込んだ少なくとも１つの画像を含み、前記車両内の前記乗員の１つ以上の目の位置を求めるステップは、
前記２つ以上の異なるカメラの各々が取り込んだ少なくとも１つの画像に基づいて視差角を求めるステップと、
前記２つ以上の異なるカメラの各々の位置と前記視差角とに基づいて、前記２つ以上の異なるカメラのうちの少なくとも１つのカメラから前記乗員の１つ以上の目までの距離を求めるステップと、
前記距離と前記２つ以上の異なるカメラの各々の位置とに基づいて、前記乗員の１つ以上の目の位置を求めるステップとを含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記少なくとも１つの画像は、前記カメラシステムの赤外線カメラを用いて取り込んだ画像を含み、前記車両内の前記乗員の１つ以上の目の位置を求めるステップは、
前記画像の歪みに基づいて、前記赤外線カメラから前記乗員の１つ以上の目までの距離を求めるステップと、
前記赤外線カメラの位置と前記距離とに基づいて、前記乗員の１つ以上の目の位置を求めるステップとを含む、請求項１〜５のいずれか１項に記載の方法。
【請求項８】
前記車両内の前記乗員の１つ以上の目の位置は、前記カメラシステムの１つのカメラを重心とするカメラベースの座標系を用いて特定され、
前記複数の関心領域の各々の位置は車両ベースの座標系を用いて特定され、前記車両ベースの座標系の重心は前記車両の内部に位置し前記１つのカメラの位置と異なっており、
前記乗員が見ている関心領域を求めるステップは、
前記１つ以上の目の位置を、前記カメラベースの座標系から前記車両ベースの座標系に変換するステップと、
前記視線ベクトルを、前記車両ベースの座標系を用いて特定した前記１つ以上の目の位置から延ばしたものが、前記複数の関心領域のうちのいずれかと交差するか否かを判断するステップと、
前記視線ベクトルが、前記複数の関心領域のうちの特定の関心領域と交差すると判断したことに応じて、前記特定の関心領域は前記乗員が見ている関心領域であると判断するステップとを含む、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記車両データファイルは拡張可能マークアップ言語に従って構成されたデータを含み、前記車両データファイルは前記複数の関心領域のうちの各関心領域の座標のセットを含み、前記座標のセットの各々は前記車両の内部を包む球体の重心に対して定められ、前記座標のセットの各々は２次元平面を画定する、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサによって実行されると請求項１〜９のいずれか１項に記載の方法を前記少なくとも１つのプロセッサに実行させる命令を含むメモリとを備える、コンピューティングデバイス。
【請求項１１】
請求項１〜９のいずれか１項に記載の方法を実行するための手段を備えるコンピューティングシステム。
【請求項１２】
コンピューティングデバイスの少なくとも１つのプロセッサによって実行されると請求項１〜９のいずれか１項に記載の方法を前記少なくとも１つのプロセッサに実行させる命令を含むコンピュータプログラム。
【請求項１３】
請求項１０に記載のコンピューティングデバイスを備える車両。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
カメラ１０２は、カメラまたは電荷結合素子等の、任意の適切な種類の画像捕捉装置のうちの１つ以上であってもよい。いくつかの例において、カメラ１０２は、高視野浅焦点深度の１つ以上の赤外線カメラであってもよく、概ね車両１００の１つ以上の座席の方向に向けられた背面照光赤外線カメラであってもよい。その他の例において、カメラ１０２は、その他１つ以上の赤外線カメラ、サーモグラフィーカメラ、熱撮像カメラ、感光カメラ、レンジセンサ、深度カメラ、トモグラフィーデバイス、レーダーデバイス、または超音波カメラを含み得る、１つ以上のその他の種類のカメラもしくは画像センサであってもよい、またはこれらを含んでいてもよい。いくつかの例において、カメラ１０２は、コンピュータビジョン技術の適用に適した画像キャプチャデバイスであってもよい。使用するセンサまたはカメラの種類に応じて、結果として得られる画像は、２次元画像、３次元ボリューム画像、または画像シーケンスを含み得る。画素値は、典型的には１つ以上のスペクトル帯における光度に対応するが、深度、超音波もしくは電磁波の吸収もしくは反射、または核磁気共鳴に関連していてもよい。図１には２つのカメラ１０２のみが示されているが、車両１００は、車両１００の内部に配置された３つ以上のカメラ１０２を含んでいてもよく、本開示の技術は任意の数のカメラ１０２が取り込んだ任意の数の画像を使用することができる。
【国際調査報告】
2021531522.tif 000014
2021531522.tif 000015
2021531522.tif 000016