(58)【調査した分野】(Int.Cl.,DB名)
前記プロセッサが、前記検出された領域と前記検出された物体とのうちの前記少なくとも1つに対する方位をさらに決定し、前記プロセッサが、前記ユーザの前記検出された動作が前記特定された危険についての前記ユーザによる認識を示しているかどうかを、前記ユーザの前記視線方向に基づいて判断する、請求項3に記載のシステム。
前記プロセッサが、前記ユーザの前記検出された動作が前記特定された危険についての前記ユーザによる認識を示しているかどうかを、前記特定された危険に対する、前記ユーザの前記頭部の動きと位置とのうちの少なくとも1つに基づいて判断する、請求項5に記載のシステム。
前記プロセッサが、前記ユーザの前記検出された動作が前記特定された危険についての前記ユーザによる認識を示しているかどうかを、脳活動の検出された変化に基づいて判断する、請求項9に記載のヘッドフォン。
前記第1のセンサが、前記ユーザの前記環境内の少なくとも1つの物体の連続する画像を取得する画像センサを備え、物体を検出すると、前記プロセッサが、前記物体と前記画像センサとの間の相対的な軌跡を計算するようにさらにプログラムされており、前記相対的な軌跡が衝突の軌跡であると判断すると、前記物体を危険として特定する、請求項7に記載のヘッドフォン。
前記少なくとも1つの音響変換器が、前記ユーザが前記ヘッドフォンを装着した時に、前記ユーザの右耳に対して配置される第1の音響変換器と、前記ユーザの左耳に対して配置される第2の音響変換器と、を備え、前記プロセッサが、
前記検出された領域と前記検出された物体とのうちの前記少なくとも1つに対する方位を決定することと、
前記警告を、前記第1の音響変換器と前記第2の音響変換器とに、前記警告が前記決定された方位と明らかに一致する場所で発せられているような方法で、出力することと、
を行うようにさらにプログラムされている、請求項7に記載のヘッドフォン。
監視サービスを提供するための非一時的コンピュータ可読媒体であって、前記非一時的コンピュータ可読媒体には、コンピュータ可読プログラムコードが実装されており、前記コンピュータ可読プログラムコードは、プロセッサによって実行されると、
環境のデジタル画像を分析することにより、ユーザに対する危険を、物体と領域とのうちの少なくとも1つに基づいて特定することと、
前記ユーザの動作についての受信情報を分析することにより、前記ユーザの前記動作が、前記危険についての認識を示しているかどうかを判断することと、
前記動作が前記危険についての認識を示していないと判断すると、前記ユーザの耳に対して配置されている音響変換器を通した再生のために、前記特定された危険に対する警告を出力することと、
を含む動作を実行し、
前記プロセッサが、前記ユーザの前記動作が前記危険についての認識を示しているかどうかを、前記ユーザの移動速度の検出された変化に基づいて判断し、前記ユーザの移動速度の前記検出された変化は、前記ユーザによって装着可能である全地球測位システム(GPS)センサによって検出される、非一時的コンピュータ可読媒体。
プロセッサによって実行されると、環境のデジタル画像を分析することにより、ユーザに対して危険である前記環境内の物体と領域とのうちの少なくとも1つを特定することを含む動作をさらに実行する前記コンピュータ可読プログラムコードが、機械学習アルゴリズムを備え、前記機械学習アルゴリズムが、危険として、前記ユーザが避けるように動いた物体と領域とのうちの少なくとも1つを特定し、物体と領域とのうちの前記特定された少なくとも1つが、後続のデジタル画像内に存在していると判断すると、前記物体と前記領域とのうちの前記少なくとも1つを、危険として特定する、請求項13に記載の非一時的コンピュータ可読媒体。
【図面の簡単な説明】
【0006】
【
図1A】ヘッドフォンの一実施形態を装着している歩行者の斜視図である。
【
図1B】スマート眼鏡とヘッドフォンとの一実施形態を装着している歩行者の斜視図である。
【
図2A】本明細書に記載の実施形態のシステム構成要素のブロック図である。
【
図2B】プロセッサモジュールの一実施形態の詳細ブロック図である。
【
図2C】環境センサの一実施形態の詳細ブロック図である。
【
図2D】歩行者センサの実施形態の詳細ブロック図である。
【
図3A】さまざまな実施形態によって実装されたプロセスのフローチャートである。
【
図3B】さまざまな実施形態によって実装された別のプロセスのフローチャートである。
【
図4】さまざまな実施形態の動作を示したシナリオを上から見下ろした図である。
【
図5A】さまざまな実施形態の動作を示したシナリオを上から見下ろした図である。
【
図5B】さまざまな実施形態の動作を示したシナリオを上から見下ろした図である。
【
図5C】さまざまな実施形態の動作を示したシナリオを上から見下ろした図である。
【
図5D】さまざまな実施形態の動作を示したシナリオを上から見下ろした図である。
【
図5E】さまざまな実施形態の動作を示したシナリオを上から見下ろした図である。
【
図5F】さまざまな実施形態の動作を示したシナリオを上から見下ろした図である。
【
図5G】さまざまな実施形態の動作を示したシナリオを上から見下ろした図である。
【
図5H】さまざまな実施形態の動作を示したシナリオを上から見下ろした図である。
【
図5I】さまざまな実施形態の動作を示したシナリオを上から見下ろした図である。
【
図5J】さまざまな実施形態の動作を示したシナリオを上から見下ろした図である。
【
図5K】さまざまな実施形態の動作を示したシナリオを上から見下ろした図である。
【
図6】さまざまな実施形態の動作を示した別のシナリオの斜視図である。
【発明を実施するための形態】
【0007】
本開示の実施形態は、デジタルアシスタントシステムを含み、デジタルアシスタントシステムは、少なくとも1つのセンサと、出力モジュールと、制御論理と、を含むことができる。センサは、発せられた言葉、音、ユーザの周囲の画像、及び/またはユーザの行動などの、ユーザの環境の1つまたは複数の特徴を検出することができる。処理モジュール内に含まれ得る制御論理は、たとえば、ユーザの動作及び/または環境の内容を、センサによって検出された特徴から特定することができる。その後、システムは、ユーザの動作及び/または環境の特定された内容に関連する追加情報及び/または補足情報を積極的に検索し、検索した情報を、積極的にユーザに提示することができる。
【0008】
図1は、ヘッドフォン100内に配置された歩行者守護天使の一実施形態を示している。
図2A〜
図2Dは、ヘッドフォン100内及び/またはその上に配置され得る、さまざまな構成要素を示している。ヘッドフォン100は、ハウジング104と音響変換器106(たとえば、スピーカー)とを含むことができる。さまざまな実施形態では、音響変換器106は、オーバーイヤー(スープラオーラル型の)ヘッドフォンまたはアラウンドイヤー(サーカムオーラル型の)ヘッドフォンを含むことができ、ハウジング104は、音響変換器106を支え、歩行者の頭にフィットするヘッドバンドを含むことができる。さまざまな実施形態では、音響変換器106は、挿耳型音響変換器(たとえば、小型イヤホン)を含むことができ、ハウジング104は、音響変換器106にスピーカーケーブルまたはワイヤレス接続(たとえば、Bluetooth(登録商標))を介して接続されている、別のユニットを含むことができる。
【0009】
ハウジング104は、プロセッサモジュール216とさまざまなセンサとを含むことができ、センサは、歩行者が歩行者の周囲やあらゆる危険に注意を払っているかどうかを示すことができる、歩行者の環境や歩行者の挙動の特徴を検出することができる。たとえば、ハウジング104は、装着者の周囲のデジタル画像を取得する、1つまたは複数の外向きのカメラ220を含むことができる。
図1Aに示した実施形態では、ハウジング104は、3つのカメラ208、210、及び212を含み、それらは、歩行者の前と後と側面とのデジタル画像を取得することができる。(
図1Aには図示しない)ハウジングの第2の側面は、歩行者の他方の側面の画像を取得する追加のカメラを含むことができる。カメラは、可視光センサ、赤外線センサ、紫外線センサ、温度センサ、などのうちの1つまたは複数を含むことができる。
【0010】
ハウジング104は、また、歩行者の環境からの音を取得することができる、外部マイク222を含むことができる。
図1Aに示した実施形態では、ハウジング104は、第1のマイク214と、ハウジング104の反対側にある第2のマイクと、を含むことができる。2つ以上のマイク222を提供することによって、プロセッサモジュール202は、両方のマイクによって検出された音を分析し、音源に対する相対方位を提供することができる。
【0011】
ハウジング104は、歩行者の環境の特徴を検出する追加のセンサを含むことができる。たとえば、ハウジング104は、歩行者の位置を検出することができる全地球測位システム(GPS)モジュール224を含むことができる。本明細書で述べるGPSは、一般に、任意及び/またはすべての全地球的航法衛星システムを指し、GPS、GLONASS、Galileo、BeiDou、などが含まれる。GPSモジュールは、また、歩行者の移動方向と移動速度とを計算することができる。ハウジング104は、また、たとえば、大気中の化学物質を検出するエアースニッファー、レーザー距離測定センサ、超音波センサ、などの他のセンサを含むことができる。
【0012】
ハウジング104は、また、歩行者の動作及び/または挙動の特徴を検出するセンサを含むことができる。たとえば、
図1Bに例示した通り、さまざまな実施形態は、歩行者の方を向いているカメラ230を含むことができる。
図1Bでは、歩行者の方を向いているカメラ164を、眼鏡150のレンズ160またはフレーム154に取り付けて、歩行者の目162を見ることができる。歩行者の方を向いているカメラ164は、歩行者の視線の方向を検出することができる。ハウジング104は、また、歩行者の頭部の動きと位置と(たとえば、歩行者が歩行者の頭を向けた方向、歩行者の頭が向いている方向)を検出することができるセンサ(たとえば、加速度計232及び位置センサ234)を、含むことができる。ハウジング104は、また、刺激された歩行者の脳の脳波及び/または位置を検出することができる脳活動センサ236を、含むことができる。脳活動センサ236の例は、Emotiv(登録商標) EPOC(登録商標) neuroheadsetと、NeuroSky(登録商標) bioセンサと、Freer Logic Bodywave(登録商標)センサと、を含むことができる。
【0013】
さらに
図1Bを参照すると、眼鏡150の実施形態は、歩行者の頭部102上で耳に対して配置されている音響変換器156を含むことができる。たとえば、音響変換器156を、眼鏡フレーム154から伸びる柄158に取り付けることができる。
【0014】
ここで
図2A〜
図2Dを参照すると、システム200のさまざまな実施形態では、さまざまな歩行者センサ206と環境センサ208とをプロセッサモジュール202と連通させて、歩行者の環境内の危険物及び/または危険領域を検出し、歩行者が検出された危険物及び/または危険領域について認識しているかどうかを判断することができる。たとえば、歩行者は、歩行者のスマートフォンなどに気を取られていて、歩いている場所に注意を払っていないかもしれない。プロセッサモジュール202が、1つまたは複数の危険物及び/または危険領域を(環境センサ208からの入力に基づいて)検出し、歩行者が危険を認識していないと(環境センサ及び/または歩行者センサに基づいて)判断した場合、プロセッサモジュール202は、可聴警告を音響変換器204を通して出力することができる。さまざまな実施形態では、プロセッサモジュール202は、異なる音響変換器204(たとえば、歩行者の左耳内の音響変換器及び歩行者の右耳内の音響変換器)に送信される可聴警告を調節して、検出された危険の方向から発せられたと歩行者が認識する可聴警告を提供する。さまざまな実施形態では、システムは、また、振動モータなどの触覚フィードバックモジュールを、危険に対する振動警告を歩行者に提供するために含むことができる。
【0015】
さまざまな実施形態では、システム200のさまざまな構成要素を、複数の物理的なハードウェアに分割することができる。たとえば、プロセッサモジュール202は、スマートフォン内に提供され得る。たとえば、スマートフォンは、本明細書で説明する処理及び/またはアルゴリズムを実行するアプリケーションを含むことができる。さまざまな環境センサ208(たとえば、外部カメラ、目追跡カメラ、GPS受信機、など)は、スマートフォン内に含まれ得る。音響変換器204を、スマートフォンにスピーカーワイヤまたはワイヤレス接続を介して接続されているイヤホンまたはヘッドフォン内に、組み込むことができる。装着者センサを、スマートフォン内に、音響変換器を含むハウジング内に、または別のハウジング(たとえば、宝石、衣服、などのハウジング)内に、組み込むことができる。
【0016】
さまざまな実施形態では、プロセッサモジュール202は、コンピュータプロセッサ210とメモリ212とを含むことができる。プロセッサ210は、メモリ212内に格納されているアルゴリズムを実行することができる。プロセッサ210は、また、(歩行者センサ206と環境センサ208とからの)受信センサデータを分析して、危険を検出及び/または特定し、歩行者が検出された危険を認識しているかどうかを判断することができる。プロセッサ210は、また、可聴警告を音響変換器204に出力することができる。たとえば、プロセッサ210は、テキスト音声変換を実行して、危険について説明する警告を提供することができ、歩行者が何に気を付けるかを理解できるようにする。また、上記で説明した通り、プロセッサ210は、異なる出力を異なる音響変換器に提供して、危険の位置から発せられたと歩行者が認識する可聴ステレオ警告を提供することができる。
【0017】
メモリ212は、プロセッサ210によって実行されるさまざまなアルゴリズムを含むことができる。メモリ212は、また、物体認識データベース及び/または地理参照危険マップを含むことができる。物体認識データベースは、車両、歩道上の自治体のごみ箱、縁石、などの、知られている危険物の画像を含むことができる。物体認識データベースは、また、危険ではない、知られている物体の画像を含むことができる。プロセッサ210は、受信画像を物体認識データベースと比較して、危険かもしれない、環境内の物体を識別することができる。地理参照危険マップは、歩道内の照明用ポールまたは標識などの、知られている、場所が固定されている危険の位置を含むことができる。
【0018】
本明細書で使用する通り、「危険」という用語は、歩行者がそれらと衝突した場合に歩行者を傷つける恐れのある、歩行者の環境内の物体及び/または領域(たとえば、車、自転車、他の歩行者、ごみ箱、など)を含むことができる。「危険」は、また、歩行者が接触することを嫌う、歩行者の環境内の物体及び/または領域(たとえば、大きな水たまり、ぬかるんだエリア、歩道上の犬の糞、など)を含むことができる。さまざまな場合で、システム200は、機械学習などを用いて、歩行者を不快にさせるものを判断することができる。たとえば、歩行者が常に水たまりの周囲を歩く場合、システム200は、歩行者が水たまりを不快に思っていると判断することができる。さまざまな実施形態では、システム200は、複数の歩行者によって集められ、格納されている、不快にさせる物体及び/または領域のデータベースにアクセスすることができる(たとえば、クラウドソーシング)。たとえば、さまざまな実施形態では、システム200は、データベースをローカルにダウンロードし、格納することができる。さまざまな実施形態では、システム200は、遠隔コンピュータシステム上のデータベースに、遠隔コンピュータシステムとデータトランシーバ(たとえば、Wi−Fiまたは携帯電話データ接続)を用いて通信することによって、アクセスすることができる。
【0019】
図3Aは、歩行者に警告を与えるためにプロセッサ210によって実装され得る、プロセス300の実施形態を示している。ブロック302では、プロセッサモジュール210は、1つまたは複数の画像を外部カメラ220から受信し、受信画像内の物体及び/または領域を特定することができる。加えて、プロセッサ210は、歩行者の位置を(たとえば、GPSモジュール224を使用して)判断し、地理参照危険マップデータベース内に格納されている危険を特定することができる。
【0020】
ブロック304では、プロセッサは、検出された物体及び/または領域が危険であるかどうかを判断することができる。歩行者が、地理参照危険マップデータベース内に格納されている、知られている危険に近づいていく場合、検出された物体及び/または領域は、危険である。外部カメラ220から受信した画像内で検出された物体及び/または領域に対して、プロセッサ210は、検出された物体及び/または領域を分析して、物体及び/または領域が危険であるかどうかを判断することができる。たとえば、プロセッサ210は、検出された物体及び/または領域を物体認識データベースと比較して、検出された物体及び/または領域が知られている危険物及び/または危険領域の画像に一致するかどうか、を確かめることができる。プロセッサ210は、また、検出された物体を分析して、その大きさを判断することができる。歩道上のチューインガムの包装紙などの小さな物体は、危険ではないかもしれない。反対に、自治体のごみ箱などの大きな物体は、危険かもしれない。プロセッサ210は、また、検出された物体及び/または領域の赤外線特徴及び/または紫外線特徴を分析することができる。たとえば、歩道上の水たまりは、水たまりの周囲の乾いた歩道の赤外線特徴またはほとんど濡れていない歩道の部分からの赤外線特徴とは異なる赤外線特徴を有することができる。同様に、プロセッサ210は、検出された物体の反射率を分析することができる。上記の実施例では、水たまりは、乾いた舗道またはほとんど濡れていない舗道とは異なる反射率を有することができる。
【0021】
ブロック304では、プロセッサ210が、分析された物体及び/または領域が危険ではないと判断した場合、プロセス300は、ブロック302に戻り、歩行者が移動するにつれて追加の物体及び/または領域を検出することができる。プロセッサ210が、分析された物体及び/または領域が危険であると判断した場合、プロセス300は、ブロック306に移動し、歩行者が物体及び/または領域と衝突するコース上にあるかどうかを判断することができる。ブロック306では、プロセッサ306は、さまざまなセンサからのデータを分析して、歩行者が検出された危険物及び/または危険領域と衝突するコース上にあるかどうかを判断することができる。たとえば、プロセッサ210は、歩行者の軌跡(たとえば、移動速度及び移動方向)、及び/または物体が移動している(たとえば、道路に沿って移動している車の)場合の物体の軌跡を、計算することができる。さまざまな実施形態では、プロセッサ210は、歩行者と検出された危険物及び/または危険領域との間の相対的な軌跡を計算することができる。たとえば、さまざまな実施形態では、プロセッサ210は、外部カメラ220から受信した連続するデジタル画像を分析して、歩行者に対する検出された危険物及び/または危険領域の相対的な軌跡を計算することができる。たとえば、検出された危険物及び/または危険領域のデジタル画像が連続するデジタル画像内で大きくなっていく場合、物体は近づいてきている。また、検出された危険物及び/または危険領域のデジタル画像が連続するデジタル画像内でほぼ静止している場合、検出された危険物及び/または危険領域は、歩行者に向かって真っすぐに移動しているかもしれない。反対に、検出された危険物及び/または危険領域が連続するデジタル画像内で小さくなっていく場合、及び/または物体及び/または領域が連続するデジタル画像内であまり静止していない場合、物体及び/または領域は、歩行者から離れるように移動しているかもしれず、または歩行者と衝突する結果にならない相対的な軌跡に沿って、移動しているかもしれない。プロセッサ210は、また、他のセンサデータを受信することができ、それを使用して、検出された危険物及び/または危険領域と歩行者との間の相対的な軌跡が衝突する結果になりそうかどうかを判断することができる。たとえば、上記で説明した通り、システム200は、レーザー距離測定センサ、動作感知装置、及び/または超音波センサを含むことができる。プロセッサ210は、これらのセンサから受信したデータを使用して、検出された物体及び/または領域の範囲及び/または相対移動方向を計算することができる。ブロック306では、プロセッサ210が、歩行者及び/または検出された危険物及び/または危険領域が衝突するコース上にないと判断した場合、プロセス300は、ブロック302に戻ることができる。
【0022】
ブロック306では、プロセッサ210が、歩行者、及び/または検出された危険物及び/または危険領域が衝突するコースにあると判断した場合、プロセス300は、ブロック308に進み、そこで、プロセッサ210は、歩行者が検出された危険物及び/または危険領域を認識しているかどうかを判断する。たとえば、プロセッサ210は、さまざまなセンサから受信したデータを分析して、歩行者の動作を検出し、検出された動作が、歩行者が検出された危険物及び/または危険領域について認識していることを示しているかどうか、を判断することができる。たとえば、さまざまな実施形態では、プロセッサ210は、歩行者がアプリケーションと相互作用していることを示すデータ(たとえば、ユーザ動作)を、スマートフォン上で作動しているアプリケーションから受信することができる。歩行者がアプリケーションと相互作用している場合、プロセッサ210は、歩行者が歩行者の周囲に注意を払っておらず、したがって、検出された危険物及び/または危険領域について認識していない、と判断することができる。別の実施例として、プロセッサ210が、歩行者が通りに近づいた時に歩行者の頭を両方向に向けたというデータを、(上記で説明した)加速度計から受信した場合、プロセッサ210は、歩行者が周囲を見回しており、見回していることは、歩行者が通りなどの検出された危険物及び/または危険領域を認識しているかもしれないということを示している、と判断することができる。別の実施例として、ユーザの方を向いているカメラ230は、歩行者が別のどこかを見ている(したがって、歩行者が行先を見ていない)かどうかを判断することができる。たとえば、スマートフォンに内蔵されているカメラは、歩行者の視線を検出し、視線情報をプロセッサ210に送信することができる。歩行者がスマートフォンの画面から数秒間目を離さなかった場合、プロセッサ210は、歩行者が、スマートフォン画面上のコンテンツによって注意を逸らされており、危険物及び/または危険領域について認識していないかもしれない、と判断することができる。別の実施例として、プロセッサ210が、歩行者が歩行者のペースを変えた(たとえば、通りに近づくにつれてゆっくりになる)というデータをGPSモジュール224から受信した場合、プロセッサ210は、ゆっくりになったペースが、歩行者が通り(つまり、検出された危険な領域)を認識していることを示している、と判断することができる。別の実施例として、プロセッサ210は、データを脳活動センサ236から受信することができる。さまざまな実施形態では、脳活動センサ236は、歩行者が危険について認識している時に活発な、歩行者の脳の領域(つまり、脳の危険領域)内の脳活動を検出することができる。そのような実施形態では、プロセッサ210が歩行者の脳の危険領域が活発であると判断した場合、プロセッサ210は、特定の脳活動が、歩行者が検出された危険物及び/または危険領域について認識していることを示している、と判断することができる。さまざまな実施形態では、脳活動センサ236は、歩行者が特定の注意を散漫にする活動(たとえば、Eメールを読んでいる、音楽を聴いている、電話で話しをしている)を行っている時に活発な、歩行者の脳の領域内の脳活動を検出することができる。たとえば、システム200の実施形態は、機械学習を用いて、異なる種類の活動中に活発である歩行者の脳の領域を、特定することができる。システム200が、注意を散漫にする活動中に活発になる歩行者の脳の領域が活発である、と判断した場合、プロセッサ210は、検出された動作が、歩行者は注意散漫であって、検出された危険物及び/または危険について認識していない可能性が高いことを示している、と判断することができる。さまざまな他の実施形態では、脳活動センサ236は、危険の認識を示す脳信号を検出することができる。そのような実施形態では、プロセッサ210が脳信号を検出した場合、プロセッサ210は、その脳活動が、歩行者が危険について認識していることを示すものである、と判断する。プロセッサ210が、歩行者が検出された危険物及び/または危険領域について認識していると判断した場合、ブロック308で、プロセッサ210は、ブロック302に戻ることができる。別の実施形態では、脳活動信号236は、歩行者の経路内の危険物及び/または危険領域を認識することから歩行者の注意を逸らし得る動作を、歩行者が行っていることを示す脳信号を、検出することができる。たとえば、さまざまな実施形態では、システム200は、機械学習を用いて、歩行者が特定の注意を散漫にする活動(たとえば、電話で話をしている、Eメールまたはテキストメッセージを入力している、及び歩行者のスマートフォンでビデオを見ている)を行っている時の脳活動信号パターンを、特定することができる。システム200が特定された脳活動信号パターンを検出した場合、システム200は、その信号パターンが、危険物及び/または危険領域を認識することから歩行者の注意を逸らし得る活動を歩行者が行っていることを示している、と判断することができる。
【0023】
プロセッサ210が、歩行者が検出された危険物及び/または危険領域を認識していないと判断した場合、プロセッサ210は、プロセスのブロック310に移動し、警告を歩行者に出力することができる。警告は、音響変換器204を通して再生される可聴警告を含むことができる。警告は、危険を説明する話し言葉による警告(たとえば、「車が左側から近づいてきています」)を含むことができる。上記で説明した通り、2つの音響変換器204を含む実施形態では、警告は、検出された危険及び/または領域と同じ位置で発生していると歩行者が認識する、ステレオ出力または両耳用の出力を含むことができる。システム200が歩行者のスマートフォン上で動作するさまざまな実施形態では、警告は、スマートフォンの表示画面上の視覚警告を含むことができる。視覚警告は、検出された危険物及び/または危険領域の画像とテキスト警告とを含むことができる。さまざまな実施形態では、システム200は、頭部装着型表示デバイス、またはGoogle Glass(登録商標)などの他のコンピュータ制御眼鏡と通信することができ、視覚警告は、歩行者の視野内の接眼部上に表示され得る。さまざまな実施形態では、警告は、歩行者への触覚警告を含むことができる。たとえば、システム200は、1つまたは複数の振動モータ(たとえば、歩行者のスマートフォン内の振動モータ、または歩行者が装着している振動モータ)と通信することができる。そのような実施形態では、警告は、振動モータの動作を含むことができる。歩行者が複数の振動モータを装着しているかもしれない実施形態では、検出された危険物及び/または危険領域に最も近いモータを、危険の方向を歩行者に対して示すように動作させることができる。警告を出力した後、プロセス300は、ブロック302に戻ることができる。歩行者が(ブロック308を参照して上記で説明した)警告を認識し、危険を検出した場合、プロセッサ210は、(ブロック310では)警告を再発行しない。しかしながら、歩行者が警告を無視した場合、及び/または歩行者の動作が歩行者が危険を認識していないと示す場合、プロセッサ210は、ステップ310に再び戻ってきた時に、警告を繰り返すことができる。
【0024】
図3Bは、プロセッサ210によって実装され得るプロセス320の別の実施形態を示している。(物体及び/または領域を検出する)ブロック302、(物体及び/または領域が危険であるかどうかを判断する)ブロック304、(歩行者が物体及び/または領域と衝突するコース上にあるかどうかを判断する)ブロック306、及び(歩行者が物体及び/または領域を認識しているかどうかを判断する)ブロック308は、
図3Aで示したプロセス300のものと同じであってよい。
図3Bのプロセス320では、プロセッサ210が、歩行者が検出された危険物及び/または危険領域について認識していると判断した場合、プロセッサ210は、低レベル警告を出力することができる(ブロック324)。たとえば、低レベル警告は、音響変換器104を通して比較的小さなボリュームで再生される、1回の、話し言葉によるメッセージを含むことができる。プロセッサ210が、歩行者が検出された危険物及び/または危険領域を認識していないと判断した場合、ブロック322で、プロセッサ210は、高レベル警告を出力することができる。たとえば、高レベル警告は、音響変換器104を通して比較的大きなボリュームで再生される、繰り返しの、話し言葉によるメッセージを含むことができる。出力される高レベル警告を、また、追加の警告モード(たとえば、視覚及び/または触覚)に組み込むことができる。
【0025】
図4、
図5A、
図5B、及び
図6は、システム200の動作を例示する例示的なシナリオである。
図4を参照すると、第1のシナリオ400では、歩行者402は、歩道に沿って、交差点404に向かって、矢印405の方向に歩いている。ここで、システムは、縁石408(つまり、潜在的に危険な道路との境界)と(歩行者が通行権を有していないことを示す)歩行禁止信号410とを検出することができる。システム200は、また、歩行者402の経路を横断しようとしている、近くのレーン内の車412(つまり、潜在的な危険物)と、歩行者の経路に向かってきている、対向レーン内の車414(つまり、潜在的な危険物)と、を検出することができる。さらに、システム200は、歩行者の経路に曲がってくるかもしれない第1の車418のウィンカー418(つまり、潜在的な危険物)を検出することができ、歩行者の経路に曲がってくるかもしれない第2の車420のウィンカー422(つまり、潜在的な危険物)を検出することができる。
【0026】
システム200は、近くのレーン内の車412が、歩行者402の前を横切り、したがって、脅威ではない、と判断することができる。しかしながら、システムは、歩行者が縁石408を超えて歩き続け道路内に入った場合には、残りの車414、車416、及び車420は、それぞれ、潜在的に歩行者402と衝突する、と判断することができる。たとえば、歩行者402が、縁石408に近づくにつれて速度を落とした場合、及び/または縁石408に近づくにつれて歩行者の周囲を見渡した場合、及び/または「歩行禁止」の歩行者天使と目を合わせた場合、システム200は、信号410が「歩行禁止」を示していることを歩行者402が認識しており、歩行者402が車414と車416と車420とを認識していることを、これらの行動が示していると、判断することができる。別の実施例として、システム200は、歩行者402が危険を認識していることを示す脳信号または脳の領域内の脳活動を検出することができる。別の実施例として、歩行者402が、(たとえば、歩行者がスマートフォンの画面を見ているために)速度を落とさない場合、または周りを見渡さない場合、システム200は、警告を歩行者402に出力することができる。さまざまな実施形態では、システム200は、車のすべてに対する一般的警告を、発することができる(たとえば、「警告−通りに出ようとしています。何台かの車が近づいています!」)。さまざまな実施形態では、システム200は、車の各々に対する別々の警告を発することができる。システム200は、警告を、各脅威の計算された可能性に基づいて、優先順位付けすることができる。たとえば、遠いレーン内で近づいてくる車414が、歩行者402が歩き続けて通りに入った場合に歩行者402と衝突する可能性が高い場合、システム200は、車414に対する警告を最初に発することができる。さまざまな実施形態では、車414に対する警告を、歩行者の右耳内の音響変換器104を通して出力して、方向を示すことができる。システム200は、その後、歩行者402の背後から近づいてくる車420が歩行者402に衝突する可能性が次に高い、と判断することができる。したがって、システム200は、車420に対する警告を、2番目に発することができる。複数の音響変換器104を含むさまざまな実施形態では、システム200は、警告が歩行者の右肩の後ろから来ていると歩行者402が認識するように、警告を出力することができる。最後に、システム200は、車416に対する警告を発することができる。さまざまな実施形態では、システム200は、警告がまっすぐ前からわずかに右の方向から出ていると歩行者402が認識するように、警告を出力することができる。例示的な警告は、[歩行者の右から出ているように認識される]「警告−通りに出ようとしています。右側から近づいてくる車があります、[歩行者の後ろから出ているように認識される]後ろから近づいてくる車があります、及び[歩行者の前から出ているように認識される]前から近づいてくる車があります。」であってよい。
【0027】
図5A〜
図5Kは、別のシナリオ450のシステムの実施形態の動作の違いを、歩行者452が(
図5Aと
図5Fとに示した)通り454の縁石456間の横断歩道458に向かって歩いている時の(移動方向は矢印462によって示されている)、歩行者452の異なる挙動に基づいて示している。シナリオ450では、横断歩道458は、歩行/歩行禁止信号460によって制御されている。歩行者452が横断歩道458と信号460とに近づくと、システム200の実施形態は、通り454と、横断歩道458と、縁石456と、信号460と、を検出することができる。
図5B及び
図5Gでは、システム200は、信号460が「歩行禁止」を示していると、検出することができる。さまざまな実施形態では、外部カメラ220は、照らされる信号460の色、記号、及び/または位置を検出して、信号460の状態(つまり、「歩行」または「歩行禁止」)を判断することができる。いくつかの場合では、システム200は、マイク222を使用して、信号460の状態を判断することができる。たとえば、信号460の中には、信号460の状態を盲目の歩行者に提供する音声メッセージを放送することができるものもある。マイク222は、音声放送を検出することができ、プロセッサ210は、検出された音声放送を分析して、信号460の状態を判断することができる。さまざまな実施形態では、システム200は、信号460からの放送メッセージを検出して信号460の状態を判断することができるレシーバ(たとえば、無線レシーバ)を含むことができる。たとえば、信号460は、その現在の状態(つまり、「歩行」または「歩行禁止」)を放送することができ、システムのレシーバは、放送を受信して、信号460の状態を判断することができる。このシナリオにおける信号460の状態が「歩行禁止」であるため、システム200は、近づきつつある横断歩道458は危険な領域である、と判断することができる。したがって、
図5C及び
図5Hでは、歩行者452が縁石456に近づくと、システム200は、歩行者452の行動を分析して、歩行者452が横断歩道458と信号460の状態とを認識しているかどうか、を判断する。
図5Dを参照すると、歩行者452が矢印462の方向に歩き続け、速度を落とさない場合、システム200は、歩行者が、横断歩道454を認識していない、及び/または信号460の状態が「歩行禁止」であることを認識していない、と判断することができる。システム200は、警告(たとえば、「止まれ!」)を歩行者452に出力して、歩行者452が横断歩道458に侵入することを防ごうとすることができる。警告は、音声警告及び/または視覚警告(たとえば、歩行者のスマートフォンの表示画面に表示される停止サインの画像)であってよい。
図5Eでは矢印460が無いことが示している通り、歩行者452は、警告に応答して停止することができる。反対に、ここで
図5Iと
図5Jとを参照すると、歩行者452が、縁石456に近づいた時に、歩行者の頭部を右に向け(
図5Iの矢印466によって示されている)、そして左に向けた(
図5Jの矢印468によって示されている)、とシステム200が検出した場合、システム200は、歩行者452が、横断歩道458を認識しており、また、信号460の状態が「歩行禁止」であることを認識している、と判断することができる。結果として、システム200は、歩行者が(
図5Kに示す通り)横断歩道の中まで歩き続けたとしても、警告を出力しないかもしれない。
【0028】
図6は、歩行者502が歩道に沿って歩いており、ヘッドフォン504に組み込まれたシステム200の実施形態を装着している、第3の例示的なシナリオ500を示している。このシナリオでは、さまざまな物体及び/または領域が、歩行者の経路内にある。システムは、歩行者502の前の、水たまり510(領域)と、大きな自治体のごみ箱508(物体)と、ガムの包装紙512(物体)と、別の歩行者506(物体)とを、検出することができる。システム200は、水たまり510と、ごみ箱508と、ガムの包装紙512と、他の歩行者506とを、外部カメラ220を使用して検出することができる。加えて、ごみ箱508は、メモリ212内に格納されている地理参照危険データベース内に含まれ得る。システム200は、歩行者502の位置を地理参照危険データベースと比較して、歩行者502の前のごみ箱508を特定することができる。水たまりは、周囲の舗道とは異なる色、反射率、赤外線特徴、などを有する歩道上の領域として、検出され得る。メモリ212内のデータベースは、水たまりなどのさまざまな物体及び/または領域の視覚特性を含むことができる。
【0029】
システム200は、他の歩行者506及び大きなごみ箱508が歩行者502にとって危険である、と判断することができる。言い換えると、歩行者502がごみ箱508または他の歩行者506と衝突した場合、歩行者502及び/または他の歩行者506は、怪我をすることがある。システムは、ガムの包装紙512は非常に小さく、歩行者502は歩行者502がそれを踏んでも怪我をしない、と判断することができる。水たまり510は、危険とはみなされないかもしれない。しかしながら、歩行者502が水たまりを過去に避けた場合、システム200は、機械学習を用いて、歩行者502は水たまりの中を歩きたくない、と認識することができる。したがって、システム200は、水たまり510を、危険として特定することができる。
【0030】
歩行者の経路は、水たまり510とガムの包装紙512と他の歩行者506との方に向かっているかもしれず、ごみ箱508の横を通るかもしれない。システムは、したがって、歩行者が水たまり510と他の歩行者506と衝突するコース上にいると判断することができる。上記で説明した通り、ガムの包装紙512は危険ではないと判断されているため、システム200は、歩行者502がガムの包装紙512と衝突するコース上にいるかどうか、を判断しなくてもよい。システムは、その後、歩行者502が水たまり510と歩行者506とを認識しているかどうかを判断することができる。たとえば、歩行者502が歩行者のスマートフォンを見ているが、その後歩行者の前の経路を見上げた場合、システム200は、歩行者が水たまり510と他の歩行者506とを認識している、と判断することができる。同様に、歩行者502が水たまり510と歩行者506とを避けるように歩行者502の経路を調整した場合、システム200は、歩行者502が水たまり510と他の歩行者506とを認識している、と判断することができる。しかしながら、歩行者502が経路上を歩き続けて、水たまり510と他の歩行者506との方に向かう場合、及び/またはスマートフォンから顔を上げない場合、システム200は、歩行者502が水たまり510と他の歩行者506とを認識していない、と判断することができる。システムは、その後、警告を、ヘッドフォン504内の音響変換器104を介して発することができる。システム200は、また、視覚警告を、歩行者502のスマートフォンの表示画面上に発することができる。
【0031】
さまざまな実施形態では、システム200は、歩行者が歩行者の移動経路に注意を払っていないことを他者(たとえば、他の歩行者、車両の操作者)に警告する外部信号を、提供することができる。たとえば、
図1Aに示したハウジング104は、1つまたは複数の光源(たとえば、発光ダイオード)を含むことができ、光源は、歩行者が危険物及び/または危険領域との切迫した衝突を認識していない場合、点滅する。別の実施例として、歩行者は、メッセージを表示することができるサインを装着することができる。たとえば、歩行者が横断歩道に入ろうとしており、注意を払っていない場合、サインは、「通りを横断します」というメッセージを光らせて、車両の操作者に歩行者の行動について警告することができる。別の実施例として、システム200は、車両が車両の操作者に対して、歩行者が歩行者の行先に注意を払っていない、というメッセージを表示するように、信号を、近くの車両にワイヤレス送信することができる。たとえば、車両は、メッセージを、車両の移動地図ディスプレイ上に表示することができる。システム200が、歩行者の位置を追跡するGPSモジュールを備えている場合、車両に送信されたワイヤレス信号は、車両の地図ディスプレイが歩行者の位置を車両の地図上に表示することができるように、歩行者の位置を含むことができる。
【0032】
上記で説明したさまざまな実施形態は、歩行者の経路内の危険物及び/または危険領域を認識するために、1つまたは複数のセンサとコンピュータ処理とを提供することができる。センサ及びコンピュータ処理は、さらに、歩行者が歩行者の周囲に注意を払っており、検出された危険物及び/または危険領域を認識している可能が高いかどうか、を判断することができる。歩行者が注意を払っていない可能性が高い場合、コンピュータ処理は、注意及び/または警告を歩行者に出力して、歩行者に危険物及び/または危険領域について警告することができる。そのような注意及び/または警告を送信することによって、本明細書で説明した実施形態は、守護天使として動作することができ、歩行者が注意散漫になっていて、歩行者の周囲に注意を払っていない時に、不注意に危険物及び/または危険領域内に踏み込むことから、歩行者を守る。
【0033】
本発明のさまざまな実施形態の説明は、例示の目的のために提示されたが、それは、網羅的であること、または開示の実施形態を限定すること、を意図していない。多くの変更物及び変形物は、説明した実施形態の範囲と精神とから逸脱することなく、当業者には明白である。本明細書で使用する用語は、実施形態の原理、実際のアプリケーション、または市場で見つかる技術の技術的改善を最も良く説明するために、または当業者が本明細書で開示した実施形態を理解することを可能にするために、選択された。
【0034】
本発明は、システム、方法、及び/またはコンピュータプログラム製品であってよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有する、コンピュータ可読ストレージ媒体(または媒体)を含むことができる。
【0035】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用される命令を保持、格納することができる有形デバイスであってよい。コンピュータ可読ストレージ媒体は、たとえば、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、または前述の任意の適切な組み合わせであってよいが、それらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の非包括的リストは、以下の、携帯型コンピュータディスケットと、ハードディスクと、ランダムアクセスメモリ(RAM)と、リードオンリーメモリ(ROM)と、消去可能プログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)と、スタティックランダムアクセスメモリ(SRAM)と、携帯型コンパクトディスクリードオンリーメモリ(CD−ROM)と、デジタル多用途ディスク(DVD)と、メモリスティックと、前述の任意の適切な組み合わせと、を含む。本明細書で使用するコンピュータ可読ストレージ媒体は、電波または他の自由伝播電磁波、導波管または他の伝達媒体を通して伝播する電磁波(たとえば、光ファイバーケーブルを通過する光パルス)、またはワイヤを通って伝達される電気信号などの、本来一時的な信号であると解釈されるものでない。
【0036】
本明細書で説明したコンピュータ可読プログラム命令を、各コンピューティングデバイス/処理デバイスに、コンピュータ可読ストレージ媒体または外部コンピュータまたは外部ストレージデバイスから、ネットワーク、たとえば、インターネット、ローカルエリアネットワーク、広域ネットワーク及び/またはワイヤレスネットワークを介して、ダウンロードすることができる。ネットワークは、銅伝送ケーブル、伝送光ファイバ、ワイヤレス伝送ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/またはエッジサーバを備えることができる。各コンピューティングデバイス/処理デバイス内のネットワークアダプタカードまたはネットワークインターフェースは、コンピュータ可読プログラム命令をネットワークから受信し、コンピュータ可読プログラム命令を、各コンピューティングデバイス/処理デバイス内のコンピュータ可読ストレージ媒体内に格納するために転送する。
【0037】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、または1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかであってよく、プログラミング言語には、Java(登録商標)、Smalltalk、C++などのオブジェクト指向プログラミング言語と、「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語と、を含む。コンピュータ可読プログラム命令は、全体をユーザのコンピュータ上で、一部をユーザのコンピュータ上で、独立型ソフトウェアパッケージとして、一部をユーザのコンピュータ上及び一部を遠隔コンピュータ上で、または全体を遠隔コンピュータまたはサーバ上で、実行させることができる。後者のシナリオでは、遠隔コンピュータを、ユーザのコンピュータに、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを通して接続することができ、または接続は、外部コンピュータに(たとえば、インターネットサービスプロバイダを使用してインターネットを通して)行うことできる。いくつかの実施形態では、たとえば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令を、コンピュータ可読プログラム命令の状態情報を活用することによって実行して、電子回路をパーソナライズすることができる。
【0038】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供して、機械を生成し、命令が、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行されると、フローチャート及び/またはブロック図のブロックで規定した機能/動作を実装するための手段を作成するようにすることができる。これらのコンピュータ可読プログラム命令を、また、コンピュータ可読ストレージ媒体内に格納することができ、コンピュータ可読プログラム命令は、コンピュータ、プログラマブルデータ処理装置、及び/または他のデバイスに、特定の方法で動作するように指示して、命令をその中に格納して有するコンピュータ可読ストレージ媒体が、フローチャート及び/またはブロック図のブロックで規定した機能/動作の態様を実装する命令を含む製造品を備えるようにする。
【0039】
コンピュータ可読プログラム命令を、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにロードして、一連の動作ステップを、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行し、コンピュータ実装プロセスを生成し、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令が、フローチャート及び/またはブロック図のブロックで規定した機能/動作を実装するようにすることができる。
【0040】
図中のフローチャート及びブロック図は、本発明のさまざまな実施形態による、システムと方法とコンピュータプログラム製品との可能な実装形態のアーキテクチャと機能と動作とを示している。この点に関して、フローチャートまたはブロック図内の各ブロックは、モジュール、セグメント、または命令の一部を表すことができ、それは、規定の論理機能を実装するための1つまたは複数の実行可能命令を備える。いくつかの代替的な実装形態では、ブロック内で述べた機能は、図中に示した順番以外で発生することができる。たとえば、連続する2つのブロックを、実際には、実質的に同時に実行することができ、またはブロックを、時には、関与する機能により、反対の順番で実行することができる。また、ブロック図及び/またはフローチャート図の各ブロックと、ブロック図及び/またはフローチャート図内のブロックの組み合わせとを、特定の機能または動作を実行する専用ハードウェアベースのシステムによって実装することができ、または専用ハードウェアとコンピュータ命令との組み合わせで実行することができる、ということに留意すること。
【0041】
本開示の実施形態を、エンドユーザに、クラウドコンピューティングインフラストラクチャを通して提供することができる。クラウドコンピューティングは、一般的に、スケーラブルコンピューティング資源をサービスとしてネットワークを介してプロビジョンすることを指す。より正式には、クラウドコンピューティングは、コンピューティング資源とその下層の技術アーキテクチャ(たとえば、サーバ、ストレージ、ネットワーク)との間に抽象化を提供して、迅速にプロビジョンし、最小限の管理努力またはサービスプロバイダの作用で始動することができる、構成可能なコンピューティング資源の共有プールへの、便利な、オンデマンドネットワークアクセスを可能にするコンピューティング能力として、定義することができる。したがって、クラウドコンピューティングは、ユーザが、仮想コンピューティング資源に(たとえば、ストレージ、データ、アプリケーション、及び完全な仮想コンピューティングシステムにも)、「クラウド」内で、そのコンピューティング資源を提供するために使用される下層の物理的システム(またはそれらのシステムの場所)にかかわらず、アクセスすることを可能にする。
【0042】
通常、クラウドコンピューティング資源は、ユーザに、使用毎の支払いベースで提供され、ユーザは、実際に使用したコンピューティング資源(たとえば、ユーザによって消費されたストレージスペースの量、またはユーザによってインスタンス化された仮想システムの数)に対してのみ課金される。ユーザは、クラウド内に存在する資源のうちの任意のものに、いつでも、インターネットのどこからでも、アクセスすることができる。本開示の文脈では、システムのさまざまな実施形態は、クラウド内に格納されている地理参照危険データベースにアクセスすることができる。さまざまな実施形態では、クラウドコンピューティング環境は、さまざまな歩行者と車両とについての報告された位置情報と軌跡情報とを受信して、衝突の可能性を計算することができる。クラウドコンピューティング環境は、可能性の高い衝突を、関与する歩行者及び/または車両に報告することができる。
【0043】
前述は、本発明の実施形態に向けられているが、本発明の他の実施形態とさらなる実施形態とを、本発明の基本的な範囲から逸脱することなく考え出すことができ、本発明の範囲は、以下の特許請求の範囲によって定められる。