開示するフレーム及びイベントカメラ処理に基づくオブジェクト分類及び関連する応用のためのシステム及び方法では、後述する実装を見出すことができる。本開示の例示的な態様は、フレーム及びイベントカメラ処理に基づくオブジェクト分類のためのシステムを提供する。このシステムは、例えば撮像装置、スマートフォン、エッジコンピュータ装置、車両、モノのインターネット(IoT)装置、及び有人ドローンなどに実装することができる。
システムは、いずれかの時点でイメージセンサ回路の出力を取得し、フレーム及びイベントカメラ処理に基づいてオブジェクト分類タグを決定するように構成することができる。システムは、取得された出力の第1のフレーム内の(静止状態にあると考えられる、又は静止状態に達する寸前と考えられるオブジェクトなどの)1又は2以上の第1のオブジェクトに関連する特徴点に基づいて第1のオブジェクト分類結果を決定するように構成することができる。また、システムは、取得された出力の少なくとも2つのフレームに対してイベントカメラ信号処理動作を実行してイベントフレームを生成することに基づいて第2のオブジェクト分類結果を決定することもできる。生成されたイベントフレームは、(移動中と考えられるオブジェクトなどの)1又は2以上の第2のオブジェクトに関連する画素レベルの動き情報を含むことができる。システムは、決定された第1のオブジェクト分類結果及び決定された第2のオブジェクト分類結果に基づいて、少なくとも(単複の)第1のオブジェクト及び(単複の)第2のオブジェクトに含まれていると考えられる1又は2以上のオブジェクトに対応する1又は2以上のオブジェクト分類タグを決定するように構成することができる。開示するシステムは、フレーム及びイベントカメラ処理の実行によって、典型的なフレームベースのオブジェクト検出/分類法では誤検出及び/又は誤分類される恐れがある(単複の)オブジェクトを確実に検出して分類することができる。
図1は、本開示の実施形態による、フレーム及びイベントカメラ処理に基づくオブジェクト分類のための例示的な環境を示すブロック図である。図1にはネットワーク環境100の図を示す。ネットワーク環境100は、システム102、イメージセンサ回路104、サーバ106、及びデータベース108を含むことができる。システム102は、通信ネットワーク110を介してイメージセンサ回路104及びサーバ106に結合することができる。さらに、システム102に関連することができるユーザ112も示す。
システム102は、イメージセンサ回路104の出力を取得するように構成できる好適なロジック、回路、コード及び/又はインターフェイスを含むことができる。システム102は、取得された出力に対してフレーム及びイベントカメラ信号処理を実行することに基づいて(単複の)オブジェクト分類結果を決定することができる。システム102の実装例としては、以下に限定するわけではないが、(カメラなどの)撮像装置、車両電子制御ユニット(ECU)、スマートフォン、携帯電話機、ウェアラブル又はヘッドマウント電子装置(例えば、拡張現実(XR)ヘッドセット)、ゲーム装置、メインフレーム機、サーバ、コンピュータワークステーション、エッジコンピュータ装置、有人ドローン支援システム、消費者電子(CE)装置、又は画像処理能力を有するいずれかのコンピュータ装置のうちの1つ又は2つ以上を挙げることができる。
イメージセンサ回路104は、イメージセンサ回路104に入射できる光信号に基づいて画像信号を取得するように構成できる好適なロジック、回路及び/又はインターフェイスを含むことができる。取得された画像信号は、イメージセンサ回路104を含む撮像ユニットの視野(FOV)内のシーンの1又は2以上のフレームに対応することができる。イメージセンサ回路104は、取得された画像信号を自機の出力に含めることができる。ある実施形態では、取得された画像信号が、ベイヤー空間における未加工画像データであることができる。撮像ユニットは、システム102から分離された又はシステム102に統合されたカメラ装置とすることができる。イメージセンサ回路104の例としては、以下に限定するわけではないが、パッシブピクセルセンサ、アクティブピクセルセンサ、半導体電荷結合素子(CCD)ベースのイメージセンサ、相補型金属酸化膜半導体(CMOS)ベースのイメージセンサ、グローバルシャッター付きバックライトCMOSセンサ、シリコンオンインシュレータ(SOI)ベースのシングルチップイメージセンサ、N型金属酸化膜半導体ベースのイメージセンサ、フラットパネル検出器、又はその他の異形のイメージセンサを挙げることができる。
サーバ106は、(単複の)画像及び/又は(単複の)イベントフレーム内の1又は2以上のオブジェクトを検出及び/又は分類するように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。サーバ106は、パターンマッチングのための(データベース108などの)データベースと、(単複の)フレーム内の(単複の)オブジェクトを正しく検出及び/又は分類するように訓練された人工知能(AI)モデル、機械学習モデル、又は深層学習モデルとを含むことができる。例示的な実施形態では、サーバ106がクラウドサーバとして実装され、ウェブアプリケーション、クラウドアプリケーション、HTTPリクエスト、リポジトリ動作及びファイル転送などを通じて動作を実行することができる。サーバ106の他の実装例としては、以下に限定するわけではないが、データベースサーバ、ファイルサーバ、ウェブサーバ、メディアサーバ、アプリケーションサーバ、メインフレームサーバ、又はクラウドコンピューティングサーバを挙げることができる。
少なくとも1つの実施形態では、当業者に周知の複数の技術を使用することによって、サーバ106を複数の分散型クラウドベースリソースとして実装することができる。当業者であれば、本開示の範囲を2つの別個のエンティティとしてのサーバ106及びシステム102の実装に限定しないこともできると理解するであろう。いくつかの実施形態では、本開示の範囲から逸脱することなく、サーバ106の機能を全体的に又は少なくとも部分的にシステム102に組み込むこともできる。
データベース108は、例えば各オブジェクトクラスのオブジェクトの画像例、オブジェクト特徴、クラスラベル又はタグなどを含むことができるオブジェクトパターン情報を記憶するように構成できる好適なロジック、インターフェイス及び/又はコードを含むことができる。データベース108は、リレーショナルデータベース又は非リレーショナルデータベースとすることができる。ある実施形態では、データベース108をクラウドサーバなどのサーバ上に記憶することができ、或いはシステム102上にキャッシュして記憶することができる。
通信ネットワーク110は、システム102がサーバ106及び簡略化のために本開示から省略する他の装置と通信できるようにする通信媒体を含むことができる。通信ネットワーク110は、有線接続、無線接続、又はこれらの組み合わせを含むことができる。通信ネットワーク110の例としては、以下に限定するわけではないが、インターネット、クラウドネットワーク、ワイヤレスフィデリティ(Wi-Fi)ネットワーク、(グローバルナビゲーション衛星システム(GNSS)衛星コンステレーションなどを使用する)衛星通信ネットワーク、(第4世代ロングタームエボリューション(LTE)又は第5世代ニューラジオ(NR)などの)セルラー又はモバイル無線ネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、又はメトロポリタンエリアネットワーク(MAN)を挙げることができる。ネットワーク環境100内の様々な装置は、様々な有線及び無線通信プロトコルに従って通信ネットワーク110に接続するように構成することができる。このような有線及び無線通信プロトコルの例としては、以下に限定するわけではないが、伝送制御プロトコル及びインターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送プロトコル(FTP)、ZigBee、EDGE、IEEE802.11、ライトフィデリティ(Li-Fi)、802.16、IEEE 802.11s、IEEE 802.11g、マルチホップ通信、無線アクセスポイント(AP)、装置間通信、セルラー通信プロトコル、衛星通信プロトコル及びBluetooth(BT)通信プロトコルのうちの少なくとも1つを挙げることができる。
動作中、イメージセンサ回路104は、シーンの1又は2以上のフレームを含むことができる出力を生成することができる。ある実施形態では、システム102が、シーンの1又は2以上のフレームとして表すことができる画像信号を取得するようにイメージセンサ回路104を制御することができる。
システム102は、イメージセンサ回路104の出力を取得することができる。取得される出力は、1又は2以上のフレームを含むことができる。例えば、取得される出力は、1又は2以上の静止オブジェクト、1又は2以上の移動オブジェクト又はこれらの組み合わせを含むシーンに関連することができる第1のフレーム114を含むことができる。
システム102は、取得された出力の第1のフレーム114内の特徴点を検出することができる。このような各特徴点は、第1のフレーム114内の点、エッジ、基本オブジェクト(elementary object)又は形状成分などの特定の構造に関連する情報に対応することができる。これに加えて又はこれに代えて、このような特徴点は、特徴ベクトル、或いは第1のフレーム114に一般近傍演算(general neighborhood operation)又は特徴検出を適用した結果とすることもできる。システム102は、取得された出力の第1のフレーム114内の1又は2以上の第1のオブジェクトに関連する特徴点に基づいて第1のオブジェクト分類結果を決定することができる。ある実施形態では、第1のオブジェクト分類結果が、第1のフレーム114内のこのような第1のオブジェクトの周囲の境界ボックス、及びこのような第1のオブジェクトについて予測されるクラスラベルを含むことができる。これらの又はその他の実施形態では、このような第1のオブジェクトがシーン内で静止状態にあることができ、又はシーン内で静止状態に達する寸前であることができる。
いくつかのシナリオでは、第1のオブジェクト分類結果が、シーン内及び第1のフレーム114内に存在し得る全ての関心オブジェクトを検出して分類しないことがある。例えば、いくつかのオブジェクトが誤検出され、又は未検出のままの場合がある。また、たとえ第1のフレーム114内でいくつかのオブジェクトが検出された場合でも、このようなオブジェクトのうちの1つ又は2つ以上が誤分類されることがある。従って、単独でイベントカメラ信号処理を実行して、シーン内の移動中と考えられるオブジェクト、及び取得されるイメージセンサ回路104の出力に取り込むことができる情報を検出することができる。
システム102は、取得された出力の少なくとも2つのフレームに対してイベントカメラ信号処理動作を実行してイベントフレーム116を生成することができる。生成されたイベントフレーム116は、1又は2以上の第2のオブジェクトに関連する画素レベルの動き情報を含むことができる。イベントカメラ信号処理動作は、標準的なフレームベースのカメラ処理とは対照的に、それぞれが明度変化を表すことができるイベントを出力することができる。回路202は、取得された出力のフレーム内の画素位置毎に、イベントを検出する度にログ強度を記録し、記録された強度からの十分な大きさの変化を継続的にモニタすることができる。回路202は、この変化が閾値を上回った時に新たなイベントを検出し、これを画素の位置、新たなイベントが検出された時点及び明度変化の極性(例えば、明度の増加は1又は明度の減少は0)と共に記録することができる。
画素レベルの動き情報308Aは、イベントフレーム116の画素に記録された明度又は強度変化に対応することができる。システム102は、画素レベルの動き情報に基づいて第2のオブジェクト分類結果を決定することができる。ある実施形態では、第2のオブジェクト分類結果が、イベントフレーム116内のこのような第2のオブジェクトの周囲の境界ボックス、及びこのような第2のオブジェクトについて予測されるクラスラベルを含むことができる。いくつかのシナリオでは、第2のオブジェクト分類結果が、第1のフレーム114の第1のオブジェクト分類結果において誤検出された、誤分類された、又は全く含まれていない(単複の)オブジェクトを検出して分類することができる。従って、第2のオブジェクト分類結果は、取得されたイメージセンサ回路104の出力に取り込まれたシーン内の全ての(単複の)関心オブジェクトの分類プロセスを補完することができる。システム102は、決定された第1のオブジェクト分類結果及び決定された第2のオブジェクト分類結果に基づいて1又は2以上のオブジェクト分類タグを決定することができる。このようなオブジェクト分類タグは、少なくとも1又は2以上の第1のオブジェクト及び1又は2以上の第2のオブジェクトに含まれている可能性がある1又は2以上のオブジェクトに対応することができる。
図2は、本開示の実施形態による、図1の例示的なシステムのブロック図である。図2の説明は図1の要素に関連して行う。図2にはシステム102のブロック図200を示す。システム102は、回路202、メモリ204、入力/出力(I/O)装置206、及びネットワークインターフェイス208を含むことができる。ある実施形態では、システム102がイメージセンサ回路104を含むこともできる。回路202は、メモリ204、I/O装置206及びネットワークインターフェイス208に通信可能に結合することができる。I/O装置206は、例えばディスプレイ装置210を含むことができる。
回路202は、システム102が実行すべき異なる動作に関連するプログラム命令を実行するように構成できる好適なロジック、回路及び/又はインターフェイスを含むことができる。回路202は、1又は2以上の特殊処理ユニットの機能をまとめて実行する統合プロセッサ又はプロセッサ群として実装できる1又は2以上の特殊処理ユニットを含むことができる。回路202は、当業で周知の複数のプロセッサ技術に基づいて実装することができる。回路202の実装例は、X86ベースのプロセッサ、グラフィックプロセッシングユニット(GPU)、縮小命令セットコンピューティング(RISC)プロセッサ、特定用途向け集積回路(ASIC)プロセッサ、複合命令セットコンピューティング(CISC)プロセッサ、マイクロコントローラ、中央処理装置(CPU)、及び/又はその他の計算回路とすることができる。
メモリ204は、回路202が実行すべきプログラム命令を記憶するように構成できる好適なロジック、回路及び/又はインターフェイスを含むことができる。少なくとも1つの実施形態では、メモリ204を、第1のフレーム114、イベントフレーム116、第1のオブジェクト分類結果、第2のオブジェクト分類結果、及び1又は2以上のオブジェクト分類タグを記憶するように構成することができる。メモリ204は、オブジェクトクラスを記憶するように構成することができる。メモリ204の実装例としては、以下に限定するわけではないが、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的に消去可能なプログラマブルリードオンリメモリ(EEPROM)、ハードディスクドライブ(HDD)、固体ドライブ(SSD)、CPUキャッシュ、及び/又はセキュアデジタル(SD)カードを挙げることができる。
I/O装置206は、入力を受け取り、受け取った入力に基づいて出力を提供するように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。I/O装置206は、回路202と通信するように構成できる様々な入力及び出力装置を含むことができる。例えば、システム102は、I/O装置206を介してユーザインターフェイス要素を選択するとともに、フレーム及びイベントカメラ処理を開始するためのユーザ入力を受け取ることができる。I/O装置206の例としては、以下に限定するわけではないが、タッチ画面、キーボード、マウス、ジョイスティック、ディスプレイ装置(例えば、ディスプレイ装置210)、マイク、又はスピーカを挙げることができる。
ディスプレイ装置210は、ユーザインターフェイス要素を表示するように構成できる好適なロジック、回路及び/又はインターフェイスを含むことができる。1つの実施形態では、ディスプレイ装置210を、ディスプレイ装置210を介してユーザ112からユーザ入力を受け取るように構成できるタッチ対応装置とすることができる。ディスプレイ装置210は、以下に限定するわけではないが、液晶ディスプレイ(LCD)ディスプレイ、発光ダイオード(LED)ディスプレイ、プラズマディスプレイ、又は有機LED(OLED)ディスプレイ技術のうちの少なくとも1つなどの、複数の既知の技術を通じて実現できるディスプレイ装置、或いはその他のディスプレイ装置を含むことができる。ある実施形態によれば、ディスプレイ装置210のディスプレイユニットは、ヘッドマウント装置(HMD)、スマートメガネ装置、シースルーディスプレイ、投影型ディスプレイ、エレクトロクロミックディスプレイ又は透明ディスプレイのディスプレイ画面を意味することができる。
ネットワークインターフェイス208は、回路202が通信ネットワーク110を介してイメージセンサ回路104及び/又は他の通信装置と通信するのを容易にするように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。ネットワークインターフェイス208は、通信ネットワーク110を介したシステム102の無線通信をサポートする様々な既知の技術を使用して実装することができる。ネットワークインターフェイス208は、例えばアンテナ、無線周波数(RF)トランシーバ、1又は2以上の増幅器、チューナ、1又は2以上の発振器、デジタルシグナルプロセッサ、コーダ-デコーダ(CODEC)チップセット、加入者IDモジュール(SIM)カード、及びローカルバッファ回路などを含むことができる。
ネットワークインターフェイス208は、インターネット、イントラネット、無線ネットワーク、セルラー電話ネットワーク、無線ローカルエリアネットワーク(LAN)又はメトロポリタンエリアネットワーク(MAN)などのネットワークと無線通信を介して通信するように構成することができる。無線通信は、グローバルシステムフォーモバイルコミュニケーション(GSM)、拡張データGSM環境(EDGE)、広帯域符号分割多元接続(W-CDMA)、ロングタームエボリューション(LTE)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、(GNSS衛星コンステレーションなどを使用する)衛星通信、Bluetooth、(IEEE802.11a、IEEE 802.11b、IEEE 802.11g又はIEEE 802.11nなどの)ワイヤレスフィデリティ(WiFi)、ボイスオーバーインターネットプロトコル(VoIP)、ライトフィデリティ(Li-Fi)、又はワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス(Wi-MAX)などの複数の通信規格、プロトコル及び技術のうちの1つ又は2つ以上を使用するように構成することができる。
図1で説明したようなシステム102によって実行される機能又は動作は回路202によって実行することができる。回路202によって実行される動作については、例えば図3A及び図3B、図4A及び図4B、図5、図6A、6B及び図6C、図7A及び図7B、図8、及び図9において詳細に説明する。
図3A及び図3Bは、本開示の実施形態による、フレーム及びイベントカメラ処理に基づくオブジェクト分類のための例示的な動作を集合的に示すブロック図である。図3A及び図3Bの説明は図1及び図2の要素に関連して行う。図3A及び図3Bには、本明細書で説明する302~336の例示的な動作を示すブロック図300を示す。ブロック図300に示す例示的な動作は302から開始することができ、図1又は図2のシステム102などのいずれかのコンピュータシステム、装置又はデバイスによって実行することができる。ブロック図300の1又は2以上のブロックに関連する例示的な動作については離散ブロックで示しているが、これらは例示的な動作の実装に応じてさらなるブロックに分割し、より少ないブロックに結合し、又は削除することもできる。
302において、データ取得を実行することができる。ある実施形態では、回路202が、イメージセンサ回路104の出力を取得することができる。イメージセンサ回路104は、システム102に統合することも、或いはネットワークインターフェイス又はI/Oインターフェイスを介して外部的にシステム102に接続することもできる。ある実施形態では、例えばシステム102上の永続ストレージ及びクラウドサーバなどとすることができるデータソースから出力を取得することができる。別の実施形態では、イメージセンサ回路104のフレームバッファから直接(非圧縮形態又は未加工形態で)出力を取得することができる。取得された出力は、イメージセンサ回路104のFOV内のシーンの1又は2以上のフレームを含むことができる。取得された出力の各フレームは、少なくとも1つのオブジェクトを含むことができる。
304において、フレームカメラ信号処理動作を実行することができる。ある実施形態では、回路202を、取得された出力に対してフレームカメラ信号処理動作を実行して第1のフレーム302Aを取得するように構成することができる。例えば、図示のように、第1のフレーム302Aは交通量の多い道路のシーンを示しており、歩行者及び静止車両を含む。ある実施形態では、第1のフレーム302Aに対してノイズ除去及びエッジ検出などの動作を実行することができる。イメージセンサ回路104によっては、このような動作をイメージセンサ回路104のアナログ-デジタル(ADC)の前に実行することができる。
回路202は、フレームカメラ信号処理動作の一部として、取得された出力の第1のフレーム302A内の特徴点304Aを検出することができる。検出された特徴点304Aは、第1のフレーム302A内の1又は2以上の第1のオブジェクトに関連する固有の特徴と呼ぶことができる。ある実施形態では、特徴点304Aが、特定のオブジェクトクラスにおいてこのような第1のオブジェクトの各々を分類するために必要とされ得る情報を含むことができる。例えば、第1のオブジェクトは、以下に限定するわけではないが、ヘッドライト、窓及び車輪などの特徴点を有することができ、第2のオブジェクトは、以下に限定するわけではないが、脚、腕及び顔などの特徴点を有することができる。
回路202は、検出された特徴点304Aと、既知のオブジェクトクラスに関連する第1の基準特徴(reference features)304Bとの間の第1のパターンマッチを決定することができる。第1の基準特徴304Bは、(例えば、既知のオブジェクトクラスに属することができてデータベース108に記憶できる)オブジェクトの画像の訓練データセットから抽出できる特徴点又はテンプレート特徴を含むことができる。第1のパターンマッチは、パターンマッチング法の実行に基づいて決定することができる。パターンマッチング法は、検出された特徴点304Aを第1の基準特徴304Bと照合できる一連の計算法を含むことができる。この照合に基づいて、検出された特徴点304aの中からの一群の特徴点を特定のオブジェクトクラスに確率的に分類することができる。パターンマッチング法は、例えばテンプレートマッチング法、機械学習、又は深層学習ベースのパターンマッチング法、ハールカスケード(Haar Cascades)、或いはハール特徴(Haar features)、ローカルバイナリパターン(Local Binary Pattern:LBP)又はスケール不変特徴変換(Scale Invariant Feature Transform:SIFT)特徴などの特徴に基づくことができるいずれかの特徴マッチング法とすることができる。これらの方法例の詳細な実装は当業者に周知であると考えられ、従ってこのような方法の詳細な説明は簡潔にするために本開示から省略している。
306において、第1のオブジェクト分類結果を決定することができる。ある実施形態では、回路202を、第1のフレーム302A内の1又は2以上の第1のオブジェクトに関連する特徴点304Aに基づいて第1のオブジェクト分類結果を決定するように構成することができる。具体的には、(304において決定された)第1のパターンマッチに基づいて第1のオブジェクト分類結果を決定することができる。第1のオブジェクト分類結果は、1又は2以上の第1のオブジェクトに関連する第1の境界ボックス情報がオーバーレイ表示された第1のフレーム302Aを含むことができる。例えば、図示のように、境界ボックス情報は、1又は2以上の第1のオブジェクトを含むと予測できる境界ボックス306A及び境界ボックス306Bを含むことができる。ある実施形態では、第1のオブジェクト分類結果が、第1のフレーム302A内の1又は2以上の第1のオブジェクトに対応する1又は2以上のクラスラベル(例えば、車、人物又は自転車)を含むこともできる。
いくつかのシナリオでは、第1のオブジェクト分類結果が、シーン内及び第1のフレーム302A内に存在し得る全ての関心オブジェクトを検出して分類しないことがある。例えば、いくつかのオブジェクトが誤検出され、又は未検出のままの場合がある。また、たとえ第1のフレーム302A内でいくつかのオブジェクトが検出された場合でも、このようなオブジェクトのうちの1つ又は2つ以上が誤分類されることがある。従って、単独でイベントカメラ信号処理を実行してシーン内の全ての関心オブジェクトの検出及び分類を支援し、この情報をイメージセンサ回路104の取得された出力に取り込むことができる。
308において、イベントカメラ信号処理動作を実行することができる。ある実施形態では、回路202を、取得された出力の少なくとも2つのフレーム(又はスキャン)に対してイベントカメラ信号処理動作を実行してイベントフレーム302Bを生成するように構成することができる。生成されたイベントフレーム302Bは、1又は2以上の第2のオブジェクトに関連する画素レベルの動き情報308Aを含むことができる。ある実施形態では、1又は2以上の第2のオブジェクトと1又は2以上の第1のオブジェクトとの間で共通できる少なくとも1つのオブジェクトが存在することができる。別の実施形態では、1又は2以上の第1のオブジェクトと1又は2以上の第2のオブジェクトとの間で共通するオブジェクトが存在しないことができる。別の実施形態では、1又は2以上の第1のオブジェクトが1又は2以上の第2のオブジェクトと同じであることができる。
イベントカメラ信号処理動作は、取得された出力の少なくとも2つのスキャン又はフレームからの全ての画素の明度又は強度変化の(非同期的な独立した)測定を含むことができる。イベントカメラ信号処理動作の初期出力は、一連のデジタルイベント又はスパイクを含むことができ、各イベントは(例えば、対数強度(log intensity)を用いて測定される)明度の変化を表す。プリセット閾値(preset threshold)未満の明度又は強度の変化は、一連のデジタルイベント又はスパイクに含まれない場合がある。
イベントカメラ信号処理動作は、標準的なフレームベースのカメラ処理とは対照的に、それぞれが明度変化を表すことができるイベントを出力することができる。回路202は、取得された出力のフレーム内の画素位置毎に、イベントを検出する度にログ強度を記録し、この記録された値からの十分な大きさの変化を継続的にモニタすることができる。回路202は、この変化が閾値を上回った時に新たなイベントを検出し、これを画素の位置、新たなイベントが検出された時点及び明度変化の極性(例えば、明度の増加は1又は明度の減少は0)と共に記録することができる。画素レベルの動き情報308Aは、イベントフレーム302Bの画素に記録された明度又は強度変化に対応することができる。例えば、移動オブジェクトは、イメージセンサ回路104の特定の画素位置に入射する光信号の強度変化を引き起こすことができる。このような変化をイベントフレーム302Bに記録することができ、この中の画素はイメージセンサ回路104の特定の画素位置に対応する。
310において、第2のオブジェクト分類結果を決定することができる。ある実施形態では、回路202を、画素レベルの動き情報308Aに基づいて第2のオブジェクト分類結果を決定するように構成することができる。第2のオブジェクト分類結果は、1又は2以上の第2のオブジェクトに関連する第2の境界ボックス情報がオーバーレイ表示されたイベントフレーム302Bを含むことができる。境界ボックス情報は、1又は2以上の第2のオブジェクトを含むと予測できる、境界ボックス310A及び境界ボックス310Bなどの1又は2以上の境界ボックスを含むことができる。第1のオブジェクト分類結果は、イベントフレーム302B内の1又は2以上の第2のオブジェクトに対応する1又は2以上のクラスラベル(例えば、車、人物又は自転車)を含むこともできる。
ある実施形態では、回路202が、画素レベルの動き情報308Aと既知のオブジェクトクラスに関連する第2の基準特徴308Bとのパターンマッチングを行うことによって第2のオブジェクト分類結果を決定することができる。第2の基準特徴308Bは、第1の基準特徴304Bと同様に、(例えば、既知のオブジェクトクラスに属することができてデータベース108に記憶することができる)オブジェクトの画像の訓練データセットから抽出できる特徴点又はテンプレート特徴を含むことができる。ある実施形態では、第2の基準特徴308Bが、既知のオブジェクトクラスのオブジェクト又はオブジェクトコンポーネントに関連する画素情報を含むことができる。パターンマッチングは、(304で)上述した説明において例を挙げた方法に基づくことができる。これらの方法例の詳細な実装は当業者に周知であると考えられ、従ってこのような方法の詳細な説明は簡潔にするために本開示から省略している。
312において、第1及び第2の分類結果を比較することができる。ある実施形態では、回路202を、決定された第1のオブジェクト分類結果と決定された第2のオブジェクト分類結果とを比較するように構成することができる。比較に基づいて、第1のオブジェクト分類結果と第2のオブジェクト分類結果との間に相違点があるか否かを判定することができる。第1のオブジェクト分類結果と第2のオブジェクト分類結果との間に相違点がない場合、制御は314に進むことができる。そうでなければ、制御は316に進むことができる。
314において、1又は2以上のオブジェクトについてオブジェクト分類タグを決定することができる。回路202は、決定された第1のオブジェクト分類結果及び決定された第2のオブジェクト分類結果に基づいて1又は2以上のオブジェクト分類タグを決定するように構成することができる。決定された1又は2以上のオブジェクト分類タグは、少なくとも1又は2以上の第1のオブジェクト及び1又は2以上の第2のオブジェクトに含まれている可能性がある1又は2以上のオブジェクトに対応することができる。このような各オブジェクト分類タグは、オブジェクトが属することができるオブジェクトクラスを指定することができる。例えば、第1のオブジェクト分類結果は、車及び歩行者(すなわち、第1のオブジェクト)上に境界ボックス(すなわち、境界ボックス306A及び境界ボックス306B)がオーバーレイ表示された第1のフレーム302Aを含み、第2のオブジェクト分類結果は、イベントフレーム302B内の車及び歩行者上に境界ボックス(すなわち、境界ボックス310A及び境界ボックス310B)がオーバーレイ表示されたイベントフレーム302Bを含むことができる。車及び歩行者については、オブジェクト分類タグをそれぞれ「車」及び「人間」として決定することができる。
316において、決定された第1のオブジェクト分類結果と決定された第2のオブジェクト分類結果との間の相違点を決定することができる。ある実施形態では、回路202を、決定された第1のオブジェクト分類結果と決定された第2のオブジェクト分類結果との間の相違点を決定するように構成することができる。例えば、シーンaは、移動車両及び歩行者を含むことができる。決定された第1のオブジェクト分類結果は、歩行者の境界ボックス情報のみを含むことができる。このような場合には、フレームベースのカメラ処理が移動車両を検出し損ねた可能性がある。一方で、決定された第2のオブジェクト分類結果は、移動車両及び歩行者の境界ボックス情報を含むことができる。決定された第1のオブジェクト分類結果及び決定された第2のオブジェクト分類結果に基づいて、移動車両が存在する画素位置において相違点を決定することができる。
318において、第1のオブジェクト分類結果が第2のオブジェクト分類結果と異なる原因となる第1のオブジェクトを決定することができる。ある実施形態では、回路202を、誤分類されたもの、未分類のもの、検出されたにもかかわらず未分類のもの、誤検出されたもの、又は誤検出されて誤分類されたもの、のうちのいずれかである第1のオブジェクト(例えば、移動車両)を決定するように構成することができる。第1のオブジェクトは、決定された相違点に基づいて、1又は2以上の第1のオブジェクト、或いは1又は2以上の第2のオブジェクトの中から決定することができる。例えば、あるオブジェクトが第1のオブジェクト分類結果及び第2のオブジェクト分類結果の両方において検出されたものの、第1のオブジェクト分類結果における第1のオブジェクトのクラスが第2のオブジェクト分類結果におけるオブジェクトのクラスと異なる場合、このオブジェクトは決定された相違点に含めることができる。同様に、第1のオブジェクト検出結果において検出されなかったオブジェクトが第2のオブジェクト検出結果によって検出された場合、このオブジェクトも決定された相違点に含めることができる。
320において、パターンマッチング動作を実行することができる。ある実施形態では、回路202を、決定された第1のオブジェクトに対してパターンマッチング動作を実行するように構成することができる。このような動作は、決定された相違点、第1のオブジェクト分類結果、及び第2のオブジェクト分類結果に基づいて実行することができる。別の実施形態では、回路202が、決定された相違点、第1のオブジェクト分類結果、第2のオブジェクト分類結果、第1のフレーム302A及び/又はイベントフレーム302Bなどの情報をエッジノードに送信することができる。エッジコンピュータ装置などのエッジノードは、情報を受け取り、受け取った情報に基づいてパターンマッチング動作を実行するように構成することができる。
ある実施形態では、パターンマッチング動作を、機械学習ベースのパターンマッチング動作又は深層学習ベースのパターンマッチング動作とすることができる。パターンマッチング動作は、第1のフレーム302A及び/又はイベントフレーム302B内の(単複の)オブジェクトを検出及び/又は分類するパターンマッチングタスクに基づいて訓練された機械学習(ML)モデル又は深層学習モデルに依拠することができる。このようなモデルは、そのハイパーパラメータ及びトポロジー/アーキテクチャによって定めることができる。例えば、ニューラルネットワークベースのモデルは、そのハイパーパラメータとして、ノード(又はニューロン)の数、(単複の)活性化関数、重みの数、コスト関数、正則化関数、入力サイズ、学習率、及び層の数などを有することができる。このようなモデルは、計算ネットワーク、又はノード(例えば、人工ニューロン)のシステムと呼ぶことができる。深層学習の実装では、深層学習モデルのノードを、ニューラルネットワークトポロジーで定められるような層状に配置することができる。これらの層は、入力層、1又は2以上の隠れ層、及び出力層を含むことができる。各層は、1又は2以上のノード(又は、例えば円で表される人工ニューロン)を含むことができる。入力層における全てのノードの出力は、(単複の)隠れ層の少なくとも1つのノードに結合することができる。同様に、各隠れ層の入力は、モデルの他の層における少なくとも1つのノードの出力に結合することができる。各隠れ層の出力は、深層学習モデルの他の層における少なくとも1つのノードの入力に結合することができる。最終層の(単複の)ノードは、少なくとも1つの隠れ層から入力を受け取って結果を出力することができる。層の数及び各層におけるノードの数は、訓練データセットに基づく深層学習モデルの訓練前、訓練中又は訓練後に設定できるハイパーパラメータから決定することができる。
深層学習モデルの各ノードは、モデルの訓練中に調整できるパラメータセットを有する数学関数(例えば、シグモイド関数又は正規化線形ユニット(rectified linear unit))に対応することができる。パラメータセットは、例えば重みパラメータ及び正則化パラメータなどを含むことができる。各ノードは、深層学習モデルの他の(単複の)層(例えば、前の(単複の)層)のノードからの1又は2以上の入力に基づいて、数学関数を使用して出力を計算することができる。深層学習モデルのノードの全部又は一部は、同じ又は異なる数学関数に対応することができる。
深層学習モデルの訓練では、(訓練データセットからの)所与の入力のための最終層の出力が深層学習モデルの損失関数に基づく正しい結果に一致するかどうかに基づいて各ノードの1又は2以上のパラメータを更新することができる。上記プロセスは、損失関数の最小値が達成されて訓練エラーが最小化されるまで同じ又は異なる入力について繰り返すことができる。当業では、勾配降下法、確率的勾配降下法、バッチ勾配降下法、勾配ブースト法及びメタヒューリスティック法などの複数の訓練法が知られている。
ある実施形態では、MLモデル又は深層学習モデルが、例えばシステム102上で実行可能なアプリケーションのソフトウェアコンポーネントとして実装できる電子データを含むことができる。MLモデル又は深層学習モデルは、システム102などの処理装置による実行のためにライブラリ、外部スクリプト又はその他のロジック/命令に依拠することができる。MLモデル又は深層学習モデルは、入力画像又はイベントフレーム内のオブジェクトを検出して分類することなどの1又は2以上の動作をシステム102などのコンピュータ装置が実行できるようにするコンピュータ実行可能コード又はルーチンを含むことができる。これに加えて又はこれに代えて、MLモデル又は深層学習モデルは、以下に限定するわけではないが、プロセッサ、(例えば、1又は2以上の動作の実行又はその制御を行う)マイクロプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)又は特定用途向け集積回路(ASIC)を含むハードウェアを使用して実装することもできる。例えば、システム102には、MLモデル又は深層学習モデルの計算を加速させる推論アクセラレータチップを含めることができる。いくつかの実施形態では、MLモデル又は深層学習モデルを、ハードウェア及びソフトウェアの両方の組み合わせを使用して実装することができる。
深層学習モデルの例としては、以下に限定するわけではないが、人工ニューラルネットワーク(ANN)、畳み込みニューラルネットワーク(CNN)、Regions with CNN(R-CNN)、Fast R-CNN、Faster R-CNN、You Only Look Once(YOLO)ネットワーク、残差ニューラルネットワーク(Res-Net)、特徴ピラミッドネットワーク(FPN)、網膜ネット、シングルショット検出器(SSD)、及び/又はこれらの組み合わせを挙げることができる。
322において、第1のオブジェクトクラスを決定することができる。ある実施形態では、回路202を、パターンマッチング動作の実行に基づいて、決定された第1のオブジェクトを第1のオブジェクトクラスに分類するように構成することができる。第1のオブジェクトクラスは、第1のオブジェクトが属することができるクラスを指定することができる。
324において、第1のオブジェクトクラスが正しいかどうかを判定することができる。ある実施形態では、回路202を、第1のオブジェクトクラスが正しいか否かを判定するように構成することができる。例えば、回路202は、第1のオブジェクトクラスを、第1のオブジェクト分類結果又は第2のオブジェクト分類結果において最初に識別されたオブジェクトクラスと照合することができる。両オブジェクトクラスが一致する場合には、第1のオブジェクトクラスを正しいと判定し、制御は326に進むことができる。そうでなければ、制御は328に進むことができる。
326において、第1のオブジェクト分類タグを決定することができる。ある実施形態では、回路202を、第1のオブジェクトクラスが正しいとの判定に基づいて、第1のオブジェクトについて1又は2以上のオブジェクト分類タグのうちの第1のオブジェクト分類タグを決定するように構成することができる。
328において、イベントフレーム302B又は第1のフレーム302Aを(サーバ106などの)サーバに送信することができる。ある実施形態では、回路202が、第1のオブジェクトクラスが正しくないとの判定に基づいて、イベントフレーム302B又は第1のフレーム302Aをサーバに送信することができる。
330において、サーバから第2のオブジェクトクラスを受け取ることができる。ある実施形態では、回路202が、送信に基づいて、決定された第1のオブジェクトの第2のオブジェクトクラスをサーバ106から受け取ることができる。第2のオブジェクトクラスは、決定された第1のオブジェクトクラスと異なることができる。サーバは、オブジェクト画像及び(テンプレート特徴などの)パターンマッチング情報の網羅的データベースの支援の有無にかかわらずパターンマッチング法を実行することができる。
332において、第2のオブジェクトクラスが正しいか否かを判定することができる。ある実施形態では、回路202を、第2のオブジェクトクラスが正しいか否かを判定するように構成することができる。回路202は、第2のオブジェクトクラスを、第1のオブジェクト分類結果又は第2のオブジェクト分類結果において最初に識別されたオブジェクトクラスと照合することができる。両オブジェクトクラスが一致する場合には、第2のオブジェクトクラスを正しいと判定し、制御は334に進むことができる。そうでなければ、制御は336に進むことができる。
334において、第1のオブジェクトのオブジェクト分類タグを決定することができる。ある実施形態では、回路202が、第2のオブジェクトクラスが正しいとの判定に基づいて、第1のオブジェクトについて第1のオブジェクト分類タグを決定することができる。第1のオブジェクト分類タグは、(314において決定された)1又は2以上のオブジェクト分類タグに含めることができる。
336において、回路202は、第1のオブジェクトのオブジェクト分類タグを不明として決定することができる。このオブジェクト分類タグを第1のオブジェクトにタグ付けすることができる。このタグ付けは、(データベース108などの)データベースをパターンマッチングについて改善するために(サーバ106などの)サーバに報告することができる。制御は、終了に進むことができる。
図4A及び図4Bは、本開示の実施形態による、車両の運転者の行動パターンを決定する例示的な動作を集合的に示すブロック図である。図4A及び図4Bの説明は、図1、図2、図3A及び図3Bの要素に関連して行う。図4A及び図4Bには、本明細書で説明する例示的な動作402~422を示すブロック図400を示す。ブロック図400に示す例示的な動作は402から開始することができ、図1又は図2のシステム102などのいずれかのコンピュータシステム、装置、有人ドローン又はデバイスによって実行することができる。ブロック図400の1又は2以上のブロックに関連する例示的な動作については離散ブロックで示しているが、これらは例示的な動作の実装に応じてさらなるブロックに分割し、より少ないブロックに結合し、又は削除することもできる。
402において、データを取得することができる。ある実施形態では、回路202が、(例えば、図3Aの302で説明したように)イメージセンサ回路104の出力を取得することができる。第1のフレーム114及びイベントフレーム116の各々は、車外環境のシーン情報を取り込むことができる。イメージセンサ回路104は、(ダッシュカメラのように)車両内部に取り付けることも、車両本体の外部に取り付けることも、或いは(交通カメラ、或いはカメラを含むことができる及び/又はVehicle-to-Everything(V2X)ネットワークの一部とすることができるいずれかの装置などの)沿道ユニットの一部とすることもできる。車両は、自律走行車両、半自律走行車両、又は非自律走行車両とすることができる。車両の例としては、以下に限定するわけではないが、電動式車両、ハイブリッド車両、及び/又は1又は2以上の異なる再生可能な又は再生不能な動力源の組み合わせを使用する車両を挙げることができる。本開示は、二輪車両、三輪車両、四輪車両、又は4つよりも多くの車輪を有する車両などの車両にも適用可能である。このような車両の説明は簡潔にするために本開示から省略している。
車外環境のシーン情報は、路上又は運転環境内で典型的に見られるオブジェクトを含むことができる。例えば、車外環境のシーン情報は、道路及び道路タイプ、車線、交通信号又は標識、歩行者、沿道インフラ及び付近の車両などに関する情報を含むことができる。
404において、フレームカメラ信号処理動作を実行することができる。ある実施形態では、回路202を、(例えば、図3Aの304で説明したように)取得された出力の第1のフレーム114に対してフレームカメラ信号処理動作を実行して、取得された出力の第1のフレーム114内の特徴点304Aを検出するように構成することができる。
406において、第1のオブジェクト分類結果を決定することができる。ある実施形態では、回路202を、(例えば図3Aの306で説明したように)取得された出力の第1のフレーム114内の1又は2以上の第1のオブジェクトに関連する特徴点304Aに基づいて第1のオブジェクト分類結果を決定するように構成することができる。
408において、イベントカメラ信号処理動作を実行することができる。ある実施形態では、回路202を、(例えば、図3Aの308で説明したように)取得された出力の少なくとも2つのフレームに対してイベントカメラ信号処理動作を実行してイベントフレーム116を生成するように構成することができる。
410において、第2のオブジェクト分類結果を決定することができる。ある実施形態では、回路202を、(例えば、図3Aの310で説明したように)生成されたイベントフレーム116に含まれる画素レベルの動き情報に基づいて第2のオブジェクト分類結果を決定するように構成することができる。
412において、オブジェクト分類タグを決定することができる。ある実施形態では、回路202を、(例えば、図3A及び図3Bの312~336の動作で説明したように)決定された第1のオブジェクト分類結果及び決定された第2のオブジェクト分類結果に基づいて1又は2以上のオブジェクト分類タグを決定するように構成することができる。
414において、限定するわけではないが環境内の事故又はニアミスを含むイベントを検出するように車両の電子制御システムを制御することができる。ある実施形態では、回路202を、限定するわけではないが環境内の事故又はニアミスを含むイベントを検出するように車両の電子制御システムを制御するよう構成することができる。限定ではなく一例として、電子制御システムは、先進運転支援システム(ADAS)又は自律運転(AD)システムの一方とすることができる。ADAS又はADシステムの詳細な実装は当業者に周知であると考えられ、従ってこのようなシステムの詳細な説明は簡潔にするために本開示から省略している。
416において、車両の運転者の行動パターンを決定することができる。ある実施形態では、回路202を、決定された1又は2以上のオブジェクト分類タグ及び検出されたイベントに基づいて車両の運転者の行動パターンを決定するように構成することができる。行動パターンは、運転者又は車両に関連する、イベントの検出時点前後(例えば、イベント検出前(又は直前)からイベント検出後の一定期間まで)に記録できる一連の動作、観察又は判断を意味することができる。ある実施形態では、システム102上で機械学習を使用して運転者の行動パターンを決定することができる。また、イベントが検出された期間の前後にログ記録された様々なデータ点間の関係を示すシーングラフをシステム102上に構築することもできる。図6A及び図6Bに、ニアミスイベントのシーングラフの例を示す。限定ではなく一例として、行動パターンは、運転パターン、車外環境に対する運転者の注意力の指標、及び運転者が運転中に行った動作などを含むことができる。運転パターンは、イベント検出前、イベント検出時又はイベント検出後の車両の平均速度などのデータ、1又は2以上のオブジェクト分類タグに基づくことができる。例えば、運転者は、歩行者(検出された路上オブジェクト)が道路を横断しようとしている時には低速で走行し、道路が空いている時には高速で走行すると考えられる。また、行動パターンから判定できる運転スキルに応じて運転者をプロファイリングすることも可能である。
418において、車両の1又は2以上の動作を制御することができる。ある実施形態では、回路202を、決定された行動パターンに基づいて車両の1又は2以上の動作を制御するように構成することができる。例えば、行動パターンに基づいて、交通停止標識に近付いている時に運転者が注意散漫であり又は減速していないと判定された場合、回路202は、(例えば、車両ECUの一部として)ブレーキをかけて車両の速度を落とすことができる。このような1又は2以上の動作の制御の詳細については、例えば図6A及び6B図においてさらに説明する。
420において、通知情報を生成することができる。ある実施形態では、回路202が、決定された行動パターンに基づいて通知情報を生成することができる。通知情報は、例えば付近の(事故、ニアミス、曲がり角などの)交通関連イベントに関して運転者に警告できるメッセージ、(交通停止標識付近で停止することなどの)行動の修正又は車両動作の実行のための運転者に対するプロンプト又は指示を含むことができる。通知情報の例については、例えば図7A及び図7Bに示す。
422において、生成された通知情報を電子装置422Aに送信することができる。ある実施形態では、回路202が、生成された通知情報を車両又は車両の運転者に関連する電子装置422Aに送信することができる。例えば、電子装置422Aは、スマートフォン、(運転者が携帯できる)いずれかのパーソナル装置、又は車両のディスプレイ画面とすることができる。電子装置422Aは、通知情報を受け取ってレンダリングすることができる。
図5は、本開示の実施形態による、仮想ユーザインターフェイス(UI)要素の選択に基づいて1又は2以上の車両機能を制御する例示的なシナリオを示す図である。図5の説明は、図1、図2、図3A、図3B、図4A及び図4Bの要素に関連して行う。図5には、車両502を示す例示的なシナリオ500を示す。さらに、画像投影装置504、仮想UI要素506A、506B及び506C、並びに(ディスプレイ装置210などの)ディスプレイ装置508も示す。図5には、車両502の内部の運転席に座っているユーザ510(例えば、運転者)をさらに示す。
画像投影装置504は、ユーザ510が車両502の運転中にアクセスできる(未使用の又は使用頻度の低い)いずれかの空間上に仮想UI要素506A、506B及び506Cを投影するように構成できる好適なロジック、回路及びインターフェイスを含むことができる。(プロジェクタなどの)画像投影装置504は、車両502の車載システム(すなわち、システム102)に結合して仮想UI要素506A、506B及び506Cを表示することができる。
ある実施形態では、回路202が、車両502の内部において、車両内部の投影面上にUIの画像を投影するように画像投影装置504を制御することができる。投影面は、ユーザ510がアクセス可能であって仮想UI要素506A、506B及び506Cを表示するために確実に利用できる車両502の内部のいずれかの表面とすることができる。例えば、図示のように、投影面は車両502のハンドルの一部である。なお、図5の投影面及び仮想UI要素506A、506B及び506Cは一例として示すものにすぎない。本開示は、本開示の範囲から逸脱することなく、車両502の内部のいずれかの投影面又はその他の機械及び仮想UI要素に(いずれかのスタイル、数又は外観で)適用することができる。
回路202は、イメージセンサ回路104の出力を取得するように構成することができる。取得された出力に基づいて、図3A及び図3Bの動作を実行して第1のフレーム114及びイベントフレーム116を生成し、第1のフレーム114及びイベントフレーム116に取り込むことができる1又は2以上のオブジェクトの1又は2以上のオブジェクト分類タグを決定することができる。第1のフレーム114及びイベントフレーム116の各々は、車両502の内部の車内環境のシーン情報を取り込むことができる。車内環境はユーザ510を含むことができる。
回路202は、いずれかの時点で、投影画像に含まれるUIの仮想UI要素506A、506B及び506Cのうちの1つにおける指の動きを検出することができる。このような検出は、決定された1又は2以上のオブジェクト分類タグのうちの第2のオブジェクト分類タグに基づいて行うことができる。例えば、第2のオブジェクト分類タグはUI上の指を指定することができ、イベントフレーム116は、イベントフレーム116内の指が検出された領域の周囲の指の動きを示すことができる。
ある実施形態では、回路202が、イベントカメラ信号処理動作の一部として(指などの)1又は2以上のオブジェクトの周囲のエッジを検出し、イベントフレーム116及び検出されたエッジに基づいてハンドル上の沈降エリア(sinking area)の存在を判定することができる。沈降エリアの存在は、指が仮想UI要素506A、506B及び506Cのうちの1つを押圧している動作を示すことができる。指の動きは、エッジ検出の判定及び沈降エリアの判定に基づいて検出することができる。
回路202は、指の動きの検出に基づいて仮想UI要素506A、506B及び506Cの中から仮想UI要素を選択する。ある実施形態では、このような選択が、エッジの検出、及び選択された仮想UI要素が存在するハンドル上の領域と沈降エリアが一致するとの判定に基づくことができる。回路202は、選択に基づいて1又は2以上の車両機能を制御することができる。例えば、仮想UI要素506AはBluetooth機能をオン/オフすることができ、仮想UI要素506Bは、ユーザ510又はディスプレイ装置508に関連する電子装置上で地図アプリケーションを開くことができ、仮想UI要素506Cは電話アプリケーションを開くことができる。UI要素は、ワイパー制御、ヘッドランプ制御又は方向指示器制御などの車両機能を制御するために使用することもできる。
図6A、図6B及び図6Cは、本開示の実施形態による、車両の運転者の行動パターンを決定するために使用される例示的な一連の観察を集合的に示す図である。図6A、図6B及び図6Cの説明は、図1、図2、図3A、図3B、図4A、図4B及び図5の要素に関連して行う。図6A、図6B及び図6Cには、本明細書で説明するイベント検出後の一連の観察を示す図600を示す。システム102は、このような観察を収集し、これを分析して(例えば、図4A及び図4Bで説明したような)運転者の行動パターンを決定することができる。
回路202又はADAS/ADは、いずれかの時点で環境内の事故602B又はニアミス602Aなどのイベントを検出することができる。環境内にニアミス602Aが存在する場合、車両502(及び車両機能)に応じて運転者が動作を行い(604A)、或いはADAS/ADが動作を行う(604B)ことができる。事故の場合、運転者はブレーキをかけ(606A)、ハンドルを調整し(606B)、又はクラクションのみを鳴らす(606C)ことができる。運転者は、移動オブジェクトが近づいた場合(608A)、静止オブジェクトが近づいた場合(608B)、又は静止オブジェクトがさらに近づいた場合(608C)にブレーキをかける(606A)ことができる。オブジェクトは、車両610A、歩行者610B、バイク610C、自転車610D、バス610E又は動物610Fとすることができる。オブジェクトの動きは、車両502の左側612A、右側612B、前方612C又は後方612Dのいずれかに向かうことができる。運転者は、高速道路に合流し(616A)、高速道路の位置に向かって運転し(616B)、又は交差点を通過する(616C)ために、オブジェクトの動きの強度に基づいてアクセルを踏み込み又は離す(614)ことができる。回路202は、交通のタイプを、渋滞618B、のろのろ運転618C、又は渋滞無し618Dのいずれであるか決定することができる。イベントが検出された時点で、システム102に(夕方620A、朝620B、夜620C及び日中620Dなどの)時刻を記録することができる。夕方の場合には、太陽がまぶしいかどうか(622A)、或いは曇りであるか(622B)、雨であるか(622C)、又は霧が出ているか(622D)を判定することができる。夕方に太陽がまぶしい場合には、運転者がハンズフリー通話を行っているか(624A)、音楽又はラジオを聞いているか(626B又は626C)、音楽を聞いていないか(626D)を判定することができる。628において、602A~626Dの一連の観察をシステム102に記録することができる。回路202は、記録された一連の観察を分析して運転者の行動パターンを決定し、システム102が行動パターンに基づいて車両の1又は2以上の動作を制御するのを支援する。
図7A及び図7Bは、本開示の実施形態による、運転者の行動パターンに基づいて通知情報を生成する例示的なシナリオを集合的に示す図である。図7A及び図7Bの説明は、図1、図2、図3A、図3B、図4A、図4B、図5、図6A、図6B及び図6Cの要素に関連して行う。図7A及び図7Bには、本明細書で説明する例示的な動作702~730を示す図700を示す。図700に示す例示的な動作は702から開始することができ、図1又は図2のシステム102などのいずれかのコンピュータシステム、装置又はデバイスによって実行することができる。
702において、データベースを検索することができる。ある実施形態では、回路202が、車両の運転者に関連するデータベースを検索することができる。データベースは、(サーバ106などの)サーバ又は車両上のローカル記憶装置から検索することができる。その後、回路202は、検索されたデータベースに含まれていて車内環境に関連する可能性がある情報を分析することができる。また、回路202は、車外環境のシーン情報を分析することもできる。ある実施形態では、車内環境及び車外環境に含まれるオブジェクトの分類に基づいてこのような分析をさらに実行することができる。
704において、運転者が車両の運転中にハンズフリー機能を使用して電話を使用していると判定することができる。ある実施形態では、回路202が、シーン情報及び車内環境に関連する情報の分析に基づいて運転者が運転中に電話を使用していると判定することができる。
回路202は、シーン情報及び車内環境に関連する情報の分析に基づいて一連の観察を記録することができる。例えば、一連の観察は、(まぶしい太陽706などの)環境条件、(夕方708などの)時刻、(710における)渋滞直後に(712における)高速道路に合流する行為、(714における)ペダルを踏み込む行為などを含むことができる。回路202は、このような観察、及び運転者が携帯電話を使用している可能性があるとの判定に基づいて、「合流地点左側でニアミス発生、減速」のようなメッセージ718を含む通知716を表示するように(車両ディスプレイ又はユーザ装置などの)電子装置を制御することができる。
ある実施形態では、回路202を、通知716を電子装置に送信するようにさらに構成することができる。通知716は、以下に限定するわけではないが、可聴信号、視覚信号、又は他のいずれかの通知信号を含むことができる。ある例では、通知716を、「ハンドルを握ってください」などの可聴メッセージを含む音声信号とすることができる。別の例では、通知716を、地図上の潜在的ニアミスエリア上のマーキング及び/又はカメラシースルーなどの視覚信号とすることができる。
720において、運転者が表示された通知716に従ったかどうかを判定することができる。ある実施形態では、回路202を、運転者が表示された通知716に従ったか否かを決定するように構成することができる。例えば、回路202は、運転者が行った動作と、表示された通知716において示唆される動作とを照合することができる。両動作が一致する場合、制御は722に進むことができる。そうでなければ、制御は730に進むことができる。
722において、(例えば、図6Aにおける)検出されたイベントがニアミス又は事故であるかどうかを判定することができる。ある実施形態では、回路202が、イベントを環境内のニアミス又は事故として検出することができる。ある実施形態では、回路202が、(ニアミス又は事故、及び検出されたイベントに対して運転者が行った動作などの)検出されたイベントに基づいて、運転者の行動パターンについて行動分類タグを決定することができる。決定された行動分類タグは、運転者又は車両に関する一連の動作、観察又は判断を含む行動パターンに対応することができ、イベントの検出時点前後に記録することができる。
運転者が表示された通知716に従わずに(環境内の事故又はニアミスなどの)イベントが検出された場合、回路202は、運転者の行動分類タグを「危険」724として決定することができる。危険724などの行動分類タグは、運転者が表示された通知716に従わず、従って運転中にリスクを冒したことを意味することができる。このような分類タグの場合、回路202は、運転者に発することができる警告を強化することができる。例えば、警告は、保険金請求、レンタカー費用、運転者又はパイロット免許更新システム、有人ドローンを含むトラック及びタクシー運転者、又はパイロット階級システムのうちの少なくとも1つに関連する特定のペナルティ、課金及び/又は報奨を含むことができる。警告は、将来的にこのようなイベントを回避するための具体的な指示を含むこともできる。
運転者が表示された通知716に従っていて(環境内の事故又はニアミスなどの)イベントが検出された別の事例では、回路202が、運転者の行動パターンの行動分類タグを「警告によって防止可能」728として決定することができる。
730において、(例えば、図6Aにおける)検出されたイベントがニアミス又は事故であるかどうかを判定することができる。ある実施形態では、回路202が、イベントを環境内のニアミス又は事故として検出することができる。運転者が表示された通知716に従わずに(環境内の事故又はニアミスなどの)イベントが検出された事例では、回路202が、運転者の行動パターンの行動分類タグを「要警告」732として決定することができる。運転者が表示された通知716に従わずに(環境内の事故又はニアミスなどの)イベントが検出されない別の事例では、回路202が、運転者の行動パターンの行動分類タグを「タグ無し」734として決定することができる。
図8は、本開示の実施形態による、運転者の行動パターンに基づいて通知情報を生成する例示的なシナリオを示す図である。図8の説明は、図1、図2、図3A、図3B、図4A、図4B、図5、図6A、図6B、図6C、図7A及び図7Bの要素に関連して行う。図8には、本明細書で説明する802~812の例示的な動作を示す図800を示す。図800に示す例示的な動作は802から開始することができ、図1又は図2のシステム102などのいずれかのコンピュータシステム、装置又はデバイスによって実行することができる。
802において、通知を表示することができる。ある実施形態では、回路202を、シーン情報及び車内環境に関連する情報の分析に基づいて通知を表示するように構成することができる。通知は、「合流地点左側でニアミス発生、減速」などのメッセージ802Aを含むことができる。
ある実施形態では、回路202が、(図4A、図4B、図6A、図6B及び図6Cでも説明したように)決定された行動分類タグに基づいて運転者の行動パターンを評価することができる。評価は、運転者の行動パターンについての報酬及び/又は処罰などの認識を含むことができる。
804において、運転者が表示された通知に従ったかどうかを判定することができる。ある実施形態では、回路202を、運転者が表示された通知に従ったか否かを判定するように構成することができる。例えば、回路202は、運転者が行った動作と、表示された通知において示唆される動作とを照合することができる。両動作が一致する場合、制御は806に進むことができる。そうでなければ、制御は812に進むことができる。
806において、(例えば、図6Aにおける)検出されたイベントがニアミス又は事故であるかどうかを判定することができる。運転者が表示された通知に従っていて(環境内の事故又はニアミスなどの)イベントが検出された事例では、回路202が、運転者の行動パターンに(このような行動の理由などの)有効な裏付け808があると評価することができる。このような評価は、保険サービスが正確かつ信頼性の高い保険金請求判断を行うために役立つことができる。運転者が表示された通知に従っていて(環境内の事故又はニアミスなどの)イベントが検出されなかった別の事例では、回路202が、運転者の行動に対して(割引又は報酬ポイントなどの)報酬810を追加すべきであると評価することができる。
812において、(例えば、図6Aにおける)検出されたイベントがニアミス又は事故であるかどうかを判定することができる。ある実施形態では、回路202が、イベントを環境内のニアミス又は事故として検出することができる。運転者が表示された通知に従わずに環境内の事故又はニアミスなどのイベントが検出された事例では、回路202が、車両の保険金請求又は支払いにペナルティ814(罰則又は罰金など)を加えるべきであると評価することができる。ドライバーが表示された通知に従わずに(環境内の事故又はニアミスなどの)イベントが検出されなかった別の事例では、回路202が、動作不要816と評価することができる。
図9は、本開示の実施形態による、フレーム及びイベントカメラ処理に基づくオブジェクト分類のための例示的な方法を示すフローチャートである。図9の説明は、図1、図2、図3A、図3B、図4A、図4B、図5、図6A、図6B、図6C、図7及び図8の要素に関連して行う。図9にはフローチャート900を示す。フローチャート900の動作は、システム102などのコンピュータシステム又は回路202によって実行することができる。動作は902から開始して904に進むことができる。
904において、イメージセンサ回路104の出力を取得することができる。1又は2以上の実施形態では、回路202を、イメージセンサ回路の出力を取得するように構成することができる。取得の詳細については、例えば図3A及び図3Bにおいて説明している。
906において、第1のオブジェクト分類結果を決定することができる。1又は2以上の実施形態では、回路202を、取得された出力の第1のフレーム内の1又は2以上の第1のオブジェクトに関連する特徴点に基づいて第1のオブジェクト分類結果を決定するように構成することができる。第1のオブジェクト分類結果の決定の詳細については、例えば図3A及び図3Bにおいて説明している。
908において、イベントカメラ信号処理動作を実行することができる。1又は2以上の実施形態では、回路202を、取得された出力の少なくとも2つのフレームに対してイベントカメラ信号処理動作を実行してイベントフレームを生成するように構成することができる。生成されたイベントフレームは、1又は2以上の第2のオブジェクトに関連する画素レベルの動き情報を含むことができる。イベントカメラ信号処理動作の実行の詳細については、例えば図3A及び図3Bにおいて説明している。
910において、第2のオブジェクト分類結果を決定することができる。1又は2以上の実施形態では、回路202を、例えば図3A及び図3Bで説明したように画素レベルの動き情報に基づいて第2のオブジェクト分類結果を決定するように構成することができる。
912において、1又は2以上のオブジェクト分類タグを決定することができる。1又は2以上の実施形態では、回路202を、決定された第1のオブジェクト分類結果及び決定された第2のオブジェクト分類結果に基づいて1又は2以上のオブジェクト分類タグを決定するように構成することができる。決定された1又は2以上のオブジェクト分類タグは、少なくとも1又は2以上の第1のオブジェクト及び1又は2以上の第2のオブジェクトに含まれる1又は2以上のオブジェクトに対応することができる。1又は2以上のオブジェクト分類タグの決定の詳細については、例えば図3A及び図3Bにおいて説明している。制御は終了に進むことができる。
フローチャート900については、904、906、908、910及び912などの離散的動作として説明したが、本開示はこのように限定されるものではない。従って、いくつかの実施形態では、開示する実施形態の本質を損なうことなく、このような離散的動作を特定の実装に応じてさらなる動作にさらに分割し、より少ない動作に組み合わせ、又は削除することができる。
本開示の様々な実施形態は、機械及び/又はコンピュータ(例えば、システム102)によって実行可能なコンピュータ実行可能命令を記憶した非一時的コンピュータ可読媒体及び/又は記憶媒体を提供することができる。コンピュータ実行可能命令は、取得された出力の第1のフレーム内の1又は2以上の第1のオブジェクトに関連する特徴点に基づいて第1のオブジェクト分類結果を決定することをさらに含む動作を機械及び/又はコンピュータ(例えば、システム102)に実行させることができる。動作は、取得された出力の少なくとも2つのフレームに対してイベントカメラ信号処理動作を実行してイベントフレームを生成することをさらに含むことができる。生成されたイベントフレームは、1又は2以上の第2のオブジェクトに関連する画素レベルの動き情報を含むことができる。動作は、画素レベルの動き情報に基づいて第2のオブジェクトの分類結果を決定することをさらに含むことができる。動作は、決定された第1のオブジェクト分類結果及び決定された第2のオブジェクト分類結果に基づいて1又は2以上のオブジェクト分類タグを決定することをさらに含むことができる。決定された1又は2以上のオブジェクト分類タグは、少なくとも1又は2以上の第1のオブジェクト及び1又は2以上の第2のオブジェクトに含まれる1又は2以上のオブジェクトに対応することができる。
本開示の例示的な態様は、(回路202などの)回路を含むことができる(システム102などの)システムを含むことができる。回路202は、イメージセンサ回路の出力を取得するように構成することができる。回路202は、取得された出力の第1のフレーム内の1又は2以上の第1のオブジェクトに関連する特徴点に基づいて第1のオブジェクト分類結果を決定するように構成することができる。回路202は、取得された出力の少なくとも2つのフレームに対してイベントカメラ信号処理動作を実行してイベントフレームを生成するように構成することができる。生成されたイベントフレームは、1又は2以上の第2のオブジェクトに関連する画素レベルの動き情報を含むことができる。回路202は、画素レベルの動き情報に基づいて第2のオブジェクトの分類結果を決定するように構成することができる。回路202は、決定された第1のオブジェクト分類結果及び決定された第2のオブジェクト分類結果に基づいて1又は2以上のオブジェクト分類タグを決定するように構成することができる。決定された1又は2以上のオブジェクト分類タグは、少なくとも1又は2以上の第1のオブジェクト及び1又は2以上の第2のオブジェクトに含まれる1又は2以上のオブジェクトに対応することができる。
ある実施形態によれば、1又は2以上の第1のオブジェクトは、静止状態、又は静止状態に達する寸前であることができ、1又は2以上の第2のオブジェクトは移動中である。
ある実施形態によれば、回路202は、取得された出力の第1のフレーム内の特徴点を検出するようにさらに構成することができる。回路202は、検出された特徴点と既知のオブジェクトクラスに関連する第1の基準特徴との間の第1のパターンマッチを決定するようにさらに構成することができる。決定された第1のパターンマッチに基づいて第1のオブジェクト分類結果を決定することができる。
ある実施形態によれば、回路202は、画素レベルの動き情報と既知のオブジェクトクラスに関連する第2の基準特徴とのパターンマッチングを行うことに基づいて第2のオブジェクト分類結果を決定するようにさらに構成することができる。
ある実施形態によれば、第1のオブジェクト分類結果は、1又は2以上の第1のオブジェクトに関連する第1の境界ボックス情報がオーバーレイ表示された第1のフレームを含むことができ、第2のオブジェクト分類結果は、1又は2以上の第2のオブジェクトに関連する第2の境界ボックス情報がオーバーレイ表示されたイベントフレームを含むことができる。
ある実施形態によれば、回路202は、決定された第1のオブジェクト分類結果と決定された第2のオブジェクト分類結果との間の相違点を決定するようにさらに構成することができる。その後、回路202は、1又は2以上の第1のオブジェクト又は1又は2以上の第2のオブジェクトから、誤分類されたもの、未分類のもの、検出されたにもかかわらず未分類のもの、誤検出されたもの、又は誤検出されて誤分類されたもの、のうちのいずれかである第1のオブジェクトを決定するようにさらに構成することができ、第1のオブジェクトは相違点に基づいて決定される。
ある実施形態によれば、回路202は、決定された相違点、決定された第1のオブジェクト分類結果及び決定された第2のオブジェクト分類結果に基づいて、決定された第1のオブジェクトに対してパターンマッチング動作を実行するようにさらに構成することができる。回路202は、パターンマッチング動作の実行に基づいて、決定された第1のオブジェクトを第1のオブジェクトクラスに分類することができる。
ある実施形態によれば、回路202は、第1のオブジェクトクラスが正しいとの判定に基づいて、第1のオブジェクトについて1又は2以上のオブジェクト分類タグのうちの第1のオブジェクト分類タグを決定するようにさらに構成することができる。
ある実施形態によれば、パターンマッチング動作は、機械学習ベースのパターンマッチング動作、又は深層学習ベースのパターンマッチング動作であることができる。
ある実施形態によれば、回路202は、第1のオブジェクトクラスが正しくないとの判定に基づいて、イベントフレーム又は第1のフレームをサーバに送信するようにさらに構成することができる。回路202は、送信に基づいて、決定された第1のオブジェクトの第2のオブジェクトクラスをサーバから受け取るようにさらに構成することができる。回路202は、第2のオブジェクトクラスが正しいとの判定に基づいて、第1のオブジェクトについて1又は2以上のオブジェクト分類タグのうちの第1のオブジェクト分類タグを決定するようにさらに構成することができる。
ある実施形態によれば、第1のフレーム及びイベントフレームの各々は、車外環境のシーン情報を取り込む。
ある実施形態によれば、回路202は、環境内の事故又はニアミスを含むイベントを検出するように車両の電子制御システムを制御するようさらに構成することができる。回路202は、決定された1又は2以上のオブジェクト分類タグ及び検出されたイベントに基づいて車両の運転者の行動パターンを決定するようにさらに構成することができる。
ある実施形態によれば、電子制御システムは、先進運転支援システム(ADAS)及び自律運転(AD)システムの一方とすることができる。
ある実施形態によれば、回路202は、決定された行動パターンに基づいて車両の1又は2以上の動作を制御するようにさらに構成することができる。
ある実施形態によれば、回路202は、決定された行動パターンに基づいて通知情報を生成するようにさらに構成することができる。回路202は、生成された通知情報を、車両又は車両の運転者に関連する電子装置に送信するようにさらに構成することができる。
ある実施形態によれば、回路202は、車両内部において、車両内部の投影面上にユーザインターフェイス(UI)の画像を投影するように画像投影装置を制御するようさらに構成することができる。第1のフレーム及びイベントフレームの各々は、車両内部の車内環境のシーン情報を取り込むことができる。回路202は、決定された1又は2以上のオブジェクト分類タグのうちの第2のオブジェクト分類タグに基づいて、投影画像に含まれるUIの仮想UI要素上の指の動きを検出するようにさらに構成することができる。回路202は、検出に基づいて仮想UI要素を選択し、選択に基づいて1又は2以上の車両機能を制御するようにさらに構成することができる。
本開示は、ハードウェアで実現することも、又はハードウェアとソフトウェアとの組み合わせで実現することもできる。本開示は、少なくとも1つのコンピュータシステム内で集中方式で実現することも、又は異なる要素を複数の相互接続されたコンピュータシステムにわたって分散できる分散方式で実現することもできる。本明細書で説明した方法を実行するように適合されたコンピュータシステム又はその他の装置が適することができる。ハードウェアとソフトウェアとの組み合わせは、ロードされて実行された時に本明細書で説明した方法を実行するようにコンピュータシステムを制御することができるコンピュータプログラムを含む汎用コンピュータシステムとすることができる。本開示は、他の機能も実行する集積回路の一部を含むハードウェアで実現することができる。
本開示は、本明細書で説明した方法の実装を可能にする全ての特徴を含み、コンピュータシステムにロードされた時にこれらの方法を実行できるコンピュータプログラム製品に組み込むこともできる。本文脈におけるコンピュータプログラムとは、情報処理能力を有するシステムに特定の機能を直接的に、或いはa)別の言語、コード又は表記法への変換、b)異なる内容形態での複製、のいずれか又は両方を行った後に実行させるように意図された命令セットの、あらゆる言語、コード又は表記法におけるあらゆる表現を意味する。
いくつかの実施形態を参照しながら本開示を説明したが、当業者であれば、本開示の範囲から逸脱することなく様々な変更を行うことができ、同等物を代用することもできると理解するであろう。また、本開示の範囲から逸脱することなく、特定の状況又は内容を本開示の教示に適合させるように多くの修正を行うこともできる。従って、本開示は、開示した特定の実施形態に限定されるものではなく、添付の特許請求の範囲内に収まる全ての実施形態を含むように意図される。