(57)【要約】      （修正有）【課題】主に自動運転車両の操作に関し、オブジェクトの二次元（２Ｄ）境界枠を自動運転車両（ＡＤＶ）の三次元（３Ｄ）位置に転換する方法を提供する。。【解決手段】ＡＤＶのシステムは、ＡＤＶに取り付けられた画像取得装置によりＡＤＶの立体図からオブジェクトを検知する７０１。次にシステムは、画像取得装置により取得されたオブジェクトの画像に基いて、オブジェクトの２Ｄ境界枠を生成する７０２。次に、画像に基いてオブジェクトの方位と３Ｄサイズを測定する７０３。次に、オブジェクトの方位と３Ｄサイズに基いて、オブジェクトの３Ｄビューを画像に投影する７０４。次に、オブジェクトの３Ｄビューと生成された２Ｄ境界枠とに基いて、ＡＤＶからオブジェクトまでの距離を測定する７０５。次に、ＡＤＶの運転を制御してオブジェクトを回避して操縦できるように、測定されたＡＤＶからオブジェクトまでの距離に基いて軌道を生成する７０６。【選択図】図７
2019182411.tif 000002
【特許請求の範囲】
【請求項１】
自動運転車両（ＡＤＶ）を動作させるためのコンピュータに実装された方法であって、
前記ＡＤＶに取り付けられた画像取得装置により、前記ＡＤＶの立体図からオブジェクトを検知するステップと、
前記画像取得装置により取得された前記オブジェクトの画像に基いて、前記オブジェクトの２Ｄ境界枠を生成するステップと、
前記オブジェクトの前記画像に基いて、前記オブジェクトの方位と３Ｄサイズを測定するステップと、
前記オブジェクトの方位と３Ｄサイズに基いて、前記オブジェクトの三次元（３Ｄ）ビューを前記画像に投影するステップと、
前記オブジェクトの３Ｄビューと前記生成された２Ｄ境界枠に基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、
前記ＡＤＶの運転を制御して前記オブジェクトを回避して操縦できるように、測定された前記ＡＤＶから前記オブジェクトまでの距離に基いて軌道を生成するステップと、を含むコンピュータに実装された方法。
【請求項２】
前記オブジェクトの２Ｄ境界枠は、
前記オブジェクトの前記画像を取得するのに機械学習モデルを適用するステップと、
前記機械学習モデルに基いて、前記オブジェクトを囲む２Ｄ境界枠の長さ、幅又は面積を測定するステップと、
により生成される請求項１に記載のコンピュータに実装された方法。
【請求項３】
前記投影された画像の寸法が前記２Ｄ境界枠の幅又は高さの所定閾値内になるまで、貪欲検索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
前記サイズに基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、を更に含む請求項２に記載のコンピュータに実装された方法。
【請求項４】
前記投影された画像の寸法が前記２Ｄ境界枠の幅、高さ又は面積の所定閾値内になるまで、二分探索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
前記サイズに基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、を更に含む請求項２に記載のコンピュータに実装された方法。
【請求項５】
前記測定された前記オブジェクトまでの距離に基いて、前記オブジェクトまでのセンターベクトルを決定するステップを更に含み、前記センターベクトルは、前記ＡＤＶを制御するように運転軌道を生成するために使用できるものである請求項１に記載のコンピュータに実装された方法。
【請求項６】
前記オブジェクトまでのセンターベクトルを決定するステップは、
前記投影されたオブジェクトの中心が前記２Ｄ境界枠の２Ｄ中心における水平軸の中央に位置するまで、前記投影されたオブジェクトを左か右へシフトするステップと、
前記投影されたオブジェクトの中心が前記２Ｄ境界枠の２Ｄ中心における垂直軸の中央に位置するまで、前記投影されたオブジェクトを上か下へシフトするステップと、
前記投影されたオブジェクトのシフトと前記測定された前記オブジェクトまでの距離とに基いて、前記センターベクトルを決定するステップと、を含む請求項５に記載のコンピュータに実装された方法。
【請求項７】
前記決定された前記オブジェクトまでのセンターベクトルに基いて、前記ＡＤＶを制御するステップを更に含む請求項６に記載のコンピュータに実装された方法。
【請求項８】
命令が記憶された不揮発性の機械可読記憶媒体であって、
前記命令が一つ以上のプロセッサにより実行されると、前記一つ以上のプロセッサに処理を実行させ、前記処理は、
ＡＤＶに取り付けられた画像取得装置により、前記ＡＤＶの立体図からオブジェクトを検知するステップと、
前記画像取得装置により取得された前記オブジェクトの画像に基いて、前記オブジェクトの２Ｄ境界枠を生成するステップと、
前記オブジェクトの前記画像に基いて、前記オブジェクトの方位と３Ｄサイズを測定するステップと、
前記オブジェクトの方位と３Ｄサイズに基いて、前記オブジェクトの三次元（３Ｄ）ビューを前記画像に投影するステップと、
前記オブジェクトの３Ｄビューと前記生成された２Ｄ境界枠に基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、
前記ＡＤＶの運転を制御して前記オブジェクトを回避して操縦できるように、測定された前記ＡＤＶから前記オブジェクトまでの距離に基いて軌道を生成するステップと、を含む不揮発性の機械可読記憶媒体。
【請求項９】
前記オブジェクトの２Ｄ境界枠は、
前記オブジェクトの前記画像を取得するのに機械学習モデルを適用するステップと、
前記機械学習モデルに基いて、前記オブジェクトを囲む２Ｄ境界枠の長さ、幅又は面積を測定するステップと、
により生成される請求項８に記載の不揮発性の機械可読記憶媒体。
【請求項１０】
前記投影された画像の寸法が前記２Ｄ境界枠の幅又は高さの所定閾値内になるまで、貪欲検索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
前記サイズに基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、を更に含む請求項９に記載の不揮発性の機械可読記憶媒体。
【請求項１１】
前記投影された画像の寸法が前記２Ｄ境界枠の幅、高さ又は面積の所定閾値内になるまで、二分探索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
前記サイズに基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、を更に含む請求項９に記載の不揮発性の機械可読記憶媒体。
【請求項１２】
前記測定された前記オブジェクトまでの距離に基いて、前記オブジェクトまでのセンターベクトルを決定するステップを更に含み、前記センターベクトルは、前記ＡＤＶを制御するように運転軌道を生成するために使用できるものである請求項８に記載の不揮発性の機械可読記憶媒体。
【請求項１３】
前記オブジェクトまでのセンターベクトルを決定するステップは、
前記投影されたオブジェクトの中心が前記２Ｄ境界枠の２Ｄ中心における水平軸の中央に位置するまで、前記投影されたオブジェクトを左か右へシフトするステップと、
前記投影されたオブジェクトの中心が前記２Ｄ境界枠の２Ｄ中心における垂直軸の中央に位置するまで、前記投影されたオブジェクトを上か下へシフトするステップと、
前記投影されたオブジェクトのシフトと前記測定された前記オブジェクトまでの距離とに基いて、前記センターベクトルを決定するステップと、を含む請求項１２に記載の不揮発性の機械可読記憶媒体。
【請求項１４】
前記決定された前記オブジェクトまでのセンターベクトルに基いて前記ＡＤＶを制御することを更に含む請求項１３に記載の不揮発性の機械可読記憶媒体。
【請求項１５】
データ処理システムであって、
一つ以上のプロセッサと、
前記一つ以上のプロセッサに接続されて命令を記憶するメモリと、を備え、
前記命令が前記一つ以上のプロセッサにより実行されると、前記一つ以上のプロセッサに処理を実行させ、前記処理は、
ＡＤＶに取り付けられた画像取得装置により、前記ＡＤＶの立体図からオブジェクトを検知するステップと、
前記画像取得装置により取得された前記オブジェクトの画像に基いて、前記オブジェクトの２Ｄ境界枠を生成するステップと、
前記オブジェクトの前記画像に基いて、前記オブジェクトの方位と３Ｄサイズを測定するステップと、
前記オブジェクトの方位と３Ｄサイズに基いて、前記オブジェクトの三次元（３Ｄ）ビューを前記画像に投影するステップと、
前記オブジェクトの３Ｄビューと前記生成された２Ｄ境界枠に基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、
前記ＡＤＶの運転を制御して前記オブジェクトを回避して操縦できるように、測定された前記ＡＤＶから前記オブジェクトまでの距離に基いて軌道を生成するステップと、を含むシステム。
【請求項１６】
前記オブジェクトの２Ｄ境界枠は、
前記オブジェクトの前記画像を取得するのに機械学習モデルを適用するステップと、
前記機械学習モデルに基いて、前記オブジェクトを囲む２Ｄ境界枠の長さ、幅又は面積を測定するステップと、
により生成される請求項１５に記載のシステム。
【請求項１７】
前記投影された画像の寸法が前記２Ｄ境界枠の幅又は高さの所定閾値内になるまで、貪欲検索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
前記サイズに基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、を更に請求項１６に記載のシステム。
【請求項１８】
前記投影された画像の寸法が前記２Ｄ境界枠の幅、高さ又は面積の所定閾値内になるまで、二分探索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
前記サイズに基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、を更に含む請求項１６に記載のシステム。
【請求項１９】
前記測定された前記オブジェクトまでの距離に基いて、前記オブジェクトまでのセンターベクトルを決定するステップを更に含み、前記センターベクトルは、前記ＡＤＶを制御するように運転軌道を生成するために使用できるものである請求項１５に記載のシステム。
【請求項２０】
前記オブジェクトまでのセンターベクトルを決定するステップは、
前記投影されたオブジェクトの中心が前記２Ｄ境界枠の２Ｄ中心における水平軸の中央に位置するまで、前記投影されたオブジェクトを左か右へシフトするステップと、
前記投影されたオブジェクトの中心が前記２Ｄ境界枠の２Ｄ中心における垂直軸の中央に位置するまで、前記投影されたオブジェクトを上か下へシフトするステップと、
前記投影されたオブジェクトのシフトと前記測定された前記オブジェクトまでの距離とに基いて、前記センターベクトルを決定するステップと、を含む請求項１９に記載のシステム。
【請求項２１】
前記決定された前記オブジェクトまでのセンターベクトルに基いて前記ＡＤＶを制御することを更に含む請求項２０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、主に自動運転車両の操作に関する。具体的に、本願は、オブジェクトの二次元（２Ｄ）境界枠を自動運転車両（ＡＤＶ）の三次元（３Ｄ）位置に転換する方法に関する。
【背景技術】
【０００２】
自動運転モードで走行する（例えば、ドライバーレス）車両は、乗員、特に運転者を幾つかの運転に関する役割から解放可能である。車両は、自動運転モードで走行される場合に、車載センサを使用して各位置までナビゲーションすることにより、ヒューマンマシンインタラクションが最も少ない場合、又は乗客が一人もいない場合などに車両を運転することを許可することができる。
【０００３】
周囲環境の検知は、通常の運転者の検知する、当該運転者により運転される車両の周囲の状況を示すことができる。検知において、オブジェクトは、一般的に画像平面における２Ｄ境界枠として検出される。２Ｄ境界枠をカメラ座標及び／又は実世界座標における３Ｄ位置（例えば、３Ｄオブジェクトの中心までのベクトル）を有する３Ｄオブジェクトに転換する必要がある。
【発明の概要】
【０００４】
本願の実施形態は、図面の各図において限定的ではなく例示的な形態で示され、図面における同じ図面符号は類似する要素を示す。
【図面の簡単な説明】
【０００５】
【図１】図１は、一実施形態によるネットワークシステムを示すブロック図である。
【図２】図２は、一実施形態による自動運転車両の例示を示すブロック図である。
【図３Ａ】図３Ａは、一実施形態による自動運転車両と共に使用される検知／計画システムの例示を示すブロック図である。
【図３Ｂ】図３Ｂは、一実施形態による自動運転車両と共に使用される検知／計画システムの例示を示すブロック図である。
【図４】図４は、一実施形態によるオブジェクト位置決めモジュールの例示を示すブロック図である。
【図５Ａ】図５Ａは、一実施形態によるオブジェクトを検知するＡＤＶの例示を示すブロック図である。
【図５Ｂ】図５Ｂは、一実施形態による図５ＡにおけるＡＤＶ１０１による検知画面の画像及び検知オブジェクトの投影の例示である。
【図６Ａ】図６Ａは、立体図と平面図で示された一実施形態によるオブジェクトを検知するＡＤＶの例示を示すブロック図である。
【図６Ｂ】図６Ｂは、立体図と平面図で示された一実施形態によるオブジェクトを検知するＡＤＶの例示を示すブロック図である。
【図７】図７は、一実施形態によるＡＤＶにより実行される方法を示すフローチャートである。
【図８】図８は、一実施形態によるＡＤＶにより実行される方法を示すフローチャートである。
【図９】図９は、一実施形態によるデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【０００６】
以下、説明の詳細を参照しながら本願の様々な実施形態及び態様を説明し、図面には、上記様々な実施形態が示される。以下の説明及び図面は、本願を例示するためのものであり、限定するものとして解釈されるべきではない。本願の様々な実施形態を全面的に理解するために、多くの特定の詳細を説明する。ところが、いくつかの場合には、本願の実施形態に対する簡単な説明を提供するために、周知又は従来技術の詳細について説明していない。
【０００７】
本明細書において、「一実施形態」又は「実施形態」とは、当該実施形態に組み合わせて説明された特定の特徴、構造又は特性が本願の少なくとも一実施形態に含まれてもよいと意味する。「一実施形態では」という表現は、本明細書全体において同一の実施形態を指すとは限らない。
【０００８】
ＡＤＶの画像取得装置により取得された画像におけるオブジェクトは、一般的に機械学習モデルからの２Ｄ境界枠により検出される。一つの態様によれば、ＡＤＶは、既知の３Ｄサイズと方位を有するオブジェクトの２Ｄ境界枠に基いて、オブジェクトのカメラ座標系における３Ｄ位置を検索することができる。第一の態様によれば、ＡＤＶのシステムは、ＡＤＶに取り付けられた画像取得装置によりＡＤＶの立体図からオブジェクトを検知する。システムは、画像取得装置により取得されたオブジェクトの画像に基いて、機械学習モデルによりオブジェクトの２Ｄ境界枠を生成する。システムは、オブジェクトの画像に基いてオブジェクトの方位と３Ｄサイズを測定する。システムは、オブジェクトの方位と３Ｄサイズに基いてオブジェクトの３Ｄビューを画像に投影する。システムはオブジェクトの３Ｄビューと生成された２Ｄ境界枠とに基いて、ＡＤＶからオブジェクトまでの距離を測定する。システムは、ＡＤＶの運転を制御してオブジェクトを回避して操縦できるように、測定されたＡＤＶからオブジェクトまでの距離に基いて軌道を生成する。
【０００９】
他の態様によれば、システムは、投影されたオブジェクトの中心が２Ｄ境界枠の２Ｄ中心における水平軸の中央にほぼ位置するまで、投影されたオブジェクトを左か右へシフトする。システムは、投影されたオブジェクトの中心が２Ｄ境界枠の２Ｄ中心における垂直軸の中央にほぼ位置するまで、投影されたオブジェクトを上か下へシフトする。システムは、投影されたオブジェクトのシフトと測定されたオブジェクトまでの距離とに基いて、センターベクトルを決定する。システムは、決定されたオブジェクトまでのセンターベクトルに基いてＡＤＶを制御する。
【００１０】
図１は、本願の一実施形態による自動運転車両のネットワーク構造を示すブロック図である。図１を参照し、ネットワーク構造１００には、ネットワーク１０２を介して一つ以上のサーバ１０３〜１０４に通信接続される自動運転車両１０１が備えられる。一つの自動運転車両が示されたが、複数の自動運転車両がネットワーク１０２を介して互いに接続され、及び／又はサーバ１０３〜１０４に接続可能である。ネットワーク１０２は、例えば、有線又は無線のローカルエリアネットワーク（ＬＡＮ）、インターネットのようなワイドエリアネットワーク（ＷＡＮ）、セルラーネットワーク、衛星ネットワーク又はそれらの組み合わせのような任意のタイプのネットワークであっても良い。サーバ１０３〜１０４は、例えば、ネットワーク又はクラウドサーバ、アプリサーバ、バックエンドサーバ又はそれらの組み合わせのような任意のタイプのサーバ又はサーバグループであっても良い。サーバ１０３〜１０４は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図／興味点（ＭＰＯＩ）サーバ又は位置サーバなどであっても良い。
【００１１】
自動運転車両は、自動運転モードとして配置可能な車両であり、前記自動運転モードにおいて運転者からの入力が非常に少なく又はない場合に車両が環境をナビゲーションし通過する。このような自動運転車両はセンサシステムを備えても良い。前記センサシステムは、車両の走行環境に関する情報を検出するように配置される一つ以上のセンサを備える。前記車両と関連するコントローラとは、検出された情報を使用して前記環境をナビゲーションし通過する。自動運転車両１０１は、手動モード、オートマチック運転モード、又は一部の自動運転モードで走行することができる。
【００１２】
一実施形態において、自動運転車両１０１には、検知／計画システム１１０と、車両制御システム１１１と、無線通信システム１１２と、ユーザインターフェースシステム１１３と、センサシステム１１５とが含まれるが、それらに限定されない。自動運転車両１０１には、通常の車両に備えられている幾つかの常用的な部品、例えばエンジン、車輪、ハンドル、変速機などが更に備えられても良い。前記部品は、車両制御システム１１１及び／又は検知／計画システム１１０により複数種の通信信号及び／又は命令(commands)を使用して制御可能である。当該複数種の通信信号及び／又は命令(commands)は、例えば、加速信号又は命令(commands)、減速信号又は命令(commands)、操舵信号又は命令(commands)、ブレーキ信号又は命令(commands)などである。
【００１３】
部品１１０〜１１５は、インターコネクタ、バス、ネットワーク或いはそれらの組み合わせにより互いに通信接続することができる。例えば、部品１１０〜１１５は、コントローラローカルエリアネットワーク（ＣＡＮ）バスを介して互いに通信接続することができる。ＣＡＮバスは、ホストコンピュータなしのアプリケーションでマイクロコントローラ及びデバイスが相互に通信できるように設計された車両バス規格である。これは、もともと自動車内の多重電気配線のために設計されたメッセージベースのプロトコルであるが、他の多くの環境でも使用される。
【００１４】
ここで、図２を参照し、一実施形態において、センサシステム１１５は、一つ以上のカメラ２１１、全地球位置決めシステム（ＧＰＳ）ユニット２１２、慣性計測ユニット（ＩＭＵ）２１３、レーダユニット２１４及び光検出及び測距（ＬＩＤＡＲ）ユニット２１５を含むが、それらに限定されない。ＧＰＳシステム２１２は、送受信機を含むことができる。前記送受信機は、操作により自動運転車両の位置に関する情報を提供可能である。ＩＭＵユニット２１３は、慣性加速度に基いて自動運転車両の位置及び方位変化を検出することができる。レーダユニット２１４は、無線電気信号を利用して自動運転車両のローカル環境におけるオブジェクトを検知するシステムとして表すことができる。幾つかの実施形態において、オブジェクトの検知以外に、レーダユニット２１４は、付加的にオブジェクトの速度及び／又は進行方向も検知することができる。ＬＩＤＡＲユニット２１５は、レーザを使用して自動運転車両の位置する環境におけるオブジェクトを検知することができる。他のシステム部品以外に、ＬＩＤＡＲユニット２１５は、更に一つ以上のレーザ光源、レーザスキャナ及び一つ以上の検出器を含んでも良い。カメラ２１１は、自動運転車両の周囲環境の画像を採集する一つ以上の装置を含んでも良い。カメラ２１１は、静止物カメラ及び／又はビデオカメラであっても良い。カメラは、例えば、回転及び／又は傾斜のプラットフォームにカメラを取り付けることによって、機械的に移動されてもよい。
【００１５】
センサシステム１１５には、例えばソナーセンサ、赤外線センサ、操舵センサ、アクセルセンサ、ブレーキセンサ及びラジオセンサ（例えば、マイクロフォン）のような他のセンサが含まれても良い。ラジオセンサは、自動運転車両の周囲の環境から音声を取得するように配置されても良い。操舵センサは、ハンドル、車両の車輪又はそれらの組み合わせの操舵角を検出するように配置されても良い。アクセルセンサとブレーキセンサは、車両のアクセル位置とブレーキ位置をそれぞれ検出する。ある場合に、アクセルセンサとブレーキセンサは、集積型のアクセル／ブレーキセンサとして集積されても良い。
【００１６】
一実施形態において、車両制御システム１１１は、操舵ユニット２０１、アクセルユニット２０２（加速ユニットとも呼ばれる）とブレーキユニット２０３を含むが、それらに限定されない。操舵ユニット２０１は、車両の方向又は進行方向を調整するために用いられる。アクセルユニット２０２は、モータ又はエンジンの速度を制御するために用いられ、モータ又はエンジンの速度は更に車両の速度と加速度を制御するために用いられる。ブレーキユニット２０３は、摩擦を提供して車両の車輪又はタイヤを減速させることにより車両を減速させる。注意すべきなのは、図２に示された部品はハードウェア、ソフトウェア或いはそれらの組み合わせで実装することができる。
【００１７】
図１に戻し、無線通信システム１１２は、自動運転車両１０１と装置、センサ、他の車両などのような外部システムとの通信を許す。例えば、無線通信システム１１２は、一つ以上の装置と直接的に無線通信しても良く、或いは通信ネットワークを経由して無線通信し、例えばネットワーク１０２を経由してサーバ１０３〜１０４と通信しても良い。無線通信システム１１２は、如何なるセルラー通信ネットワーク又は無線ローカルエリアネットワーク（ＷＬＡＮ）、例えばＷｉＦｉを使用して他の部品又はシステムと通信することができる。無線通信システム１１２は、例えば赤外線リンク、ブルートゥース（登録商標）などを使用して装置（例えば、乗客の携帯装置、表示装置、車両１０１内のスピーカ）と直接的に通信する。ユーザインターフェースシステム１１３は、車両１０１内に実装される周辺機器の部分であっても良く、例えばキーボード、タッチパネル表示装置、マイクロフォン及びスピーカなどを含む。
【００１８】
自動運転車両１０１の機能のうちの一部又は全部は、特に自動運転モードで操作される場合に、検知／計画システム１１０により制御し又は管理されることができる。検知／計画システム１１０は、センサシステム１１５、制御システム１１１、無線通信システム１１２及び／又はユーザインターフェースシステム１１３から情報を受信し、受信された情報を処理し、開始点からオブジェクト点までの路線又は経路を計画した後に、計画と制御情報に基づいて車両１０１を運転するように、必要なハードウェア（例えば、プロセッサ、メモリ、記憶デバイス）とソフトウェア（例えば、操作システム、計画と路線設定プログラム）を含む。その代わりに、検知／計画システム１１０は車両制御システム１１１と一体に集積されても良い。
【００１９】
例えば、乗客であるユーザは、例えばユーザインターフェースを介してトリップの開始位置と目的地を指定することができる。検知／計画システム１１０はトリップに関連するデータを取得する。例えば、検知／計画システム１１０は、ＭＰＯＩサーバから位置と路線情報を取得することができる。前記ＭＰＯＩサーバはサーバ１０３〜１０４の一部であっても良い。位置サーバは位置サービスを提供し、ＭＰＯＩサーバは地図サービスとある位置のＰＯＩを提供する。その代わりに、このような位置とＭＰＯＩ情報は、ローカルに検知／計画システム１１０の不揮発性の記憶装置にキャッシュされても良い。
【００２０】
自動運転車両１０１が路線に沿って移動している場合に、検知／計画システム１１０は交通情報システム又はサーバ（ＴＩＳ）からリアルタイムの交通情報を取得することもできる。注意すべきなのは、サーバ１０３〜１０４は第三者のものに操作されても良い。その代わりに、サーバ１０３〜１０４の機能は検知／計画システム１１０と一体に集積されても良い。検知／計画システム１１０は、リアルタイム交通情報、ＭＰＯＩ情報と位置情報、及びセンサシステム１１５により検出され又は検知されるリアルタイムのローカル環境データ（例えば、障害物、オブジェクト、付近の車両）に基いて、最適な路線を計画し且つ計画された路線に従って例えば制御システム１１１を介して車両１０１を運転することにより、所定の目的地まで安全的且つ効率的に到達可能である。
【００２１】
サーバ１０３は、各種のクライアントに対してデータ解析サービスを実行するデータ解析システムであっても良い。一実施形態において、データ解析システム１０３は、データ採集器１２１と、機械学習エンジン１２２とを含む。データ採集器１２１は、複数種の車両（自動運転車両又は人間の運転者により運転される通常の車両）から運転統計データ１２３を採集する。運転統計データ１２３には、配布される運転命令(commands)（例えば、アクセル、ブレーキ、及び操舵の命令(commands)）を示す情報及び異なるタイミングで車両のセンサにより採集される車両の応答（例えば、速度、加速度、減速度、方向）を示す情報が含まれる。運転統計データ１２３は更に、異なるタイミングにおける運転環境を記述する情報、例えば、路線（出発位置と目的地の位置を含む）、ＭＰＯＩ、天気状況及び道路状況（例えば、高速道路における徐行、渋滞、交通事故、道路工事、一時迂回、未知の障害物など）を含んでも良い。  
【００２２】
機械学習エンジン１２２は、運転統計データ１２３に基いて、各種の目的のためにルールセット、アルゴリズム及び／又は予測モデル１２４を生成し訓練する。その内、２Ｄ境界枠をＡＤＶの画像取得装置により取得された画像において認識されたオブジェクトに描画するモデルが含まれる。アルゴリズム１２４は、オブジェクトの３Ｄ距離と方位を測定するためのアルゴリズムを更に含んでも良い。
【００２３】
図３Ａと図３Ｂは、一実施形態による自動運転車両と共に使用される検知／計画システムの例示を示すブロック図である。システム３００は、図１の自動運転車両１０１の一部として実装されても良く、検知／計画システム１１０、制御システム１１１とセンサシステム１１５を含むが、それらに限定されない。図３Ａ〜図３Ｂを参照し、検知／計画システム１１０には、測位モジュール３０１、検知モジュール３０２、予測モジュール３０３、策定モジュール３０４、計画モジュール３０５、制御モジュール３０６、路線設定モジュール３０７及びオブジェクト位置決めモジュール３０８が含まれるが、それらに限定されない。
【００２４】
モジュール３０１〜３０８のうち一部又は全部は、ソフトウェア、ハードウェア或いはそれらの組み合わせで実装されても良い。例えば、これらのモジュールは、不揮発性の記憶装置３５２にインストールされ、メモリ３５１にロードされ、且つ一つ以上のプロセッサ（図示しない）により実行されても良い。注意すべきなのは、これらのモジュールのうち一部又は全部は、通信可能に図２の車両制御システム１１１の一部又は全部のモジュールに接続され、或いはそれらと一体に集積されても良い。モジュール３０１〜３０８のうち一部は、一体に集積モジュールとして集積可能である。
【００２５】
測位モジュール３０１は、自動運転車両３００の現在位置を測定し（例えば、ＧＰＳユニット２１２を利用する）、ユーザのトリップ又は路線に関する如何なるデータを管理する。測位モジュール３０１（地図／路線モジュールと呼ばれる）はユーザのトリップ又は路線に関連する如何なるデータを管理する。ユーザは例えばユーザインターフェースを経由して登録してトリップの開始位置と目的地を指定することができる。測位モジュール３０１は自動運転車両３００における地図と路線情報３１１のような他の部品と通信してトリップに関するデータを取得する。例えば、測位モジュール３０１は位置サーバと地図／ＰＯＩ（ＭＰＯＩ）サーバから位置と路線情報を取得することができる。位置サーバは位置サービスを提供し、ＭＰＯＩサーバは地図サービスとある位置のＰＯＩを提供することにより、地図と路線情報３１１の一部としてキャッシュされることができる。自動運転車両３００が路線に沿って移動する際に、測位モジュール３０１は交通情報システム又はサーバからリアルタイムな交通情報を取得することもできる。
【００２６】
検知モジュール３０２は、センサシステム１１５により提供されたセンサデータと、測位モジュール３０１により取得されたポジショニング情報に基づいて、周囲の環境への検知を決定する。検知情報は、通常のドライバーがドライバーにより運転されている車両周囲において検知すべきものを示すことができる。検知は、例えばオブジェクトの形を採用する車線配置（例えば、直線車線又はカーブ車線）、信号機信号、他の車両の相対位置、歩行者、建築、横断歩道又は他の交通関連標識（例えば、停止標識、譲り標識）などを含むことができる。
【００２７】
検知モジュール３０２は、一つ以上のカメラにより採集される画像を処理し解析して自動運転車両の環境におけるオブジェクト及び／又は特徴を識別するように、コンピュータ視覚システム又はコンピュータ視覚システムの機能を含むことができる。前記オブジェクトは、交通信号、道路の境界、他の車両、歩行者及び／又は障害物などを含むことができる。コンピュータ視覚システムは、オブジェクト識別アルゴリズム、ビデオトラッキング及び他のコンピュータ視覚技術を使用することができる。幾つかの実施形態において、コンピュータ視覚システムは、環境地図を描画し、オブジェクトを追跡し、及びオブジェクトの速度などを推定することができる。検知モジュール３０２は、レーダ及び／又はＬＩＤＡＲのような他のセンサにより提供される他のセンサデータに基いてオブジェクトを検出することもできる。
【００２８】
オブジェクトごとについて、予測モジュール３０３はこの場合にオブジェクトがどのように動くかを予測する。前記予測は地図と路線情報３１１と交通ルール３１２のセットに基いて当該タイミングで運転環境が検知された検知データにより実行される。例えば、オブジェクトが反対の方向における車両であって且つ現在の運転環境に交差点が含まれている場合に、予測モジュール３０３は車両が直進し、又は曲がる可能性を予測する。検知データにより交差点において信号機がないと示された場合に、予測モジュール３０３は、車両が交差点に入る前に完全に停車する必要があると予測可能である。検知データにより車両が現在に左折車線又は右折車線に位置すると示された場合に、予測モジュール３０３は車両が左折又は右折の可能性が大きいと予測可能である。
【００２９】
オブジェクトごとに対して、策定モジュール３０４はオブジェクトをどのように処置するかについての決定を下す。例えば、特定のオブジェクト（例えば、交差の路線における他の車両）及びオブジェクトを描画するメタデータ（例えば、速度、方向、操舵角度）について、策定モジュール３０４は前記オブジェクトとどのように出会うか（例えば、追い越し、譲り、停止、追い抜き）を決定する。策定モジュール３０４は交通ルール又は運転ルール３１２のルールセットに基づいてこのような決定を下すことができる。前記ルールセットは不揮発性の記憶装置３５２に記憶されても良い。
【００３０】
路線設定モジュール３０７は、起点から終点までの一つ以上の路線又は経路を提供するように配置される。（例えばユーザから受け取られた）開始位置から目標位置までの所定のトリップについて、路線設定モジュール３０７は路線と地図情報３１１を取得し、開始位置から目標位置までの全ての走行可能な路線又は経路を決定する。路線設定モジュール３０７は、開始位置から目標位置までの各路線が決定された地形図による参照線を生成することができる。参照線は、例えば他の車両、障碍物又は交通状況からの干渉を受けない理想的な路線又は経路である。つまり、道路において他の車両、歩行者又は障害物がない場合に、ＡＤＶは参照線に従って精確的に又は緊密的に追随すべきである。そして、地形図を策定モジュール３０４及び／又は計画モジュール３０５に提供する。策定モジュール３０４及び／又は計画モジュール３０５は、他のモジュールにより提供された他のデータ（例えば測位モジュール３０１からの交通状况、検知モジュール３０２により検知された運転環境及び予測モジュール３０３により予測された交通状况）に基いて、全ての走行可能な路線を検査して最適路線のうちの何れか一つを選択し更新する。タイミングにおける特定の運転環境によっては、ＡＤＶを制御するための実際の経路又は路線は、路線設定モジュール３０７から提供された参照線と異なり又は近い可能性がある。
【００３１】
計画モジュール３０５は、検知されたオブジェクトのそれぞれに対する決定に基づいて、路線設定モジュール３０７により提供された参照線を基礎として、自動運転車両に経路又は路線及び運転パラメータ（例えば、距離、速度及び／又は操舵角度）を計画する。言い換えれば、所定のオブジェクトについて、策定モジュール３０４は当該オブジェクトに対してなにをするかを決定し、計画モジュール３０５はどのようにするかを決定する。例えば、所定のオブジェクトについて、策定モジュール３０４は前記オブジェクトを追い越すことを決定することができ、計画モジュール３０５は前記オブジェクトの左側か右側に追い越すことを決定することができる。計画と制御データは、計画モジュール３０５により生成され、車両３００が次の移動循環（例えば、次の路線／経路区間）においてどのように移動するかを描画する情報を含む。例えば、計画と制御データは、車両３００が３０マイル／時間（ｍｐｈ）の速度で１０メートルだけ移動し、その後に２５  ｍｐｈの速度で右側の車線に変更するように指示することができる。
【００３２】
制御モジュール３０６は、計画と制御データに基づいて、計画と制御データにより限定された路線又は経路に応じて適当な命令(commands)又は信号を車両制御システム１１１に送信することにより自動運転車両を制御し運転する。前記計画と制御データは、経路又は路線に沿って異なるタイミングで適当な車両設置又は運転パラメータ（例えば、アクセル、ブレーキ、及び操舵の命令(commands)）を使用することにより車両を路線又は経路の第一の点から第二の点まで運転するように十分な情報を有する。
【００３３】
計画段階は、複数の計画周期（運転周期とも呼ばれる）（例えば、１００ミリ秒（ｍｓ）の時間間隔毎）に実行される。各計画周期又は運転周期について、計画データと制御データに基いて一つ以上の制御命令(control commands)を発する。つまり、１００  ｍｓ毎に、計画モジュール３０５は次の路線区間又は経路区間を計画し、例えば、オブジェクト位置とＡＤＶがオブジェクト位置まで所要の時間が含まれる。その代わりに、計画モジュール３０５は更に具体的な速度、方向及び／又は操舵角などを規定することもできる。一実施形態において、計画モジュール３０５は、次の予定時間帯（例えば５秒）に対して路線区間又は経路区間を計画する。各計画周期について、計画モジュール３０５は前の周期において計画されたオブジェクト位置に基いて現在の周期（例えば、次の５秒）に用いるオブジェクト位置を計画する。そして、制御モジュール３０６は、現在の周期における計画データと制御データに基いて一つ以上の制御命令(control commands)（例えば、アクセル、ブレーキ、及び操舵の制御命令(control commands)）を生成する。
【００３４】
注意すべきなのは、策定モジュール３０４と計画モジュール３０５は、集積モジュールとして集積することができる。策定モジュール３０４／計画モジュール３０５は、自動運転車両の運転経路を決定するように、ナビゲーションシステム又はナビゲーションシステムの機能を具備することができる。例えば、ナビゲーションシステムは、自動運転車両が下記の経路に沿って移動することを実現する一連の速度と進行方向を決定することができる。前記経路は、自動運転車両を最終の目的地まで走行させる車線による経路に沿って進行させると共に、基本的に検知された障害物を回避して操縦できる。目的地は、ユーザインターフェースシステム１１３を経由して行われたユーザ入力に基づいて設定されても良い。ナビゲーションシステムは自動運転車両が運転していると同時に動的に運転経路を更新することができる。ナビゲーションシステムは、自動運転車両のための運転経路を決定するように、ＧＰＳシステムと一つ以上の地図中のデータを合併することができる。
【００３５】
策定モジュール３０４／計画モジュール３０５は、識別、推定及び回避、或いは他の手段で自動運転車両の環境における潜在の障害物を越えるように、更に衝突回避システム又は衝突回避システムの機能を具備する。例えば、衝突回避システムは、以下の手段で自動運転車両のナビゲーションにおける変化を実現することができる。即ち、操作制御システム１１１のうち一つ以上のサブシステムは操舵操作、回転操作、制動操作などを採用する。衝突回避システムは、周囲の交通モード、道路状況などに基いて自動的に実現可能な障害物回避操作を決定することができる。衝突回避システムは、他のセンサシステムにより自動運転車両が方向変更して進入しようとする隣接領域における車両、建築障害物などが検出された時に操舵操作を行わないように配置することができる。衝突回避システムは、使用可能で且つ自動運転車両の乗員の安全性を最大化させる操作を自動的に選択することができる。衝突回避システムは、自動運転車両の車室に最小値の加速度が発生させるように予測される回避操作を選択することができる。
【００３６】
一実施形態によれば、オブジェクト位置決めモジュール３０８は、オブジェクトの機械学習モデル（機械学習モデル３１３の一部として）により生成された２Ｄ境界枠に対応する３Ｄ位置を検索することができる。そして、ＡＤＶ  １０１は、オブジェクトの３Ｄ位置に基いて運転軌道を生成してＡＤＶを制御することができる。オブジェクト位置決めモジュール３０８は、検知モジュール３０２の一部として実現可能である。
【００３７】
図４は、一実施形態によるオブジェクト位置決めモジュールの例示を示すブロック図である。図４を参照し、オブジェクト位置決めモジュール３０８には、方位測定モジュール４０１と、サイズ測定モジュール４０３と、２Ｄ境界枠生成モジュール４０５と、３Ｄ距離測定モジュール４０７と、３Ｄセンターベクトル測定モジュール４０９とが備えられても良い。方位測定モジュール４０１はオブジェクトの方位を測定することができる。サイズ測定モジュール４０３はオブジェクトのサイズを測定することができる。２Ｄ境界枠生成モジュール４０５は、画像におけるオブジェクト毎に２Ｄ境界枠を生成することができる。３Ｄ距離測定モジュール４０７は、三次元座標系におけるＡＤＶからオブジェクトまでの距離を測定することができる。３Ｄセンターベクトル決定モジュール４０９は、三次元座標系におけるＡＤＶからオブジェクトまでのセンターベクトルを決定することができる。
【００３８】
図５Ａは一実施形態によるＡＤＶがオブジェクトを検知する例示を示すブロック図である。図５Ｂは一実施形態による、図５ＡにおけるＡＤＶ１０１の検知画面の画像と検知オブジェクトの投影の例示である。投影（例えば、投影５１１）と検出された２Ｄ境界枠（例えば、境界枠５０５）とを比較して検知オブジェクト（例えば、車両５０３）の３Ｄ距離を検索することができる。図４及び図５Ａ〜図５Ｂを参照し、一実施形態において、例示５００は、ＡＤＶ１０１と、ＡＤＶ１０１に取り付けられたカメラ２１１と、ＡＤＶ１０１の前方の道路区間を走行してくる車両５０３とを含むことにより、カメラ２１１により取得された画像（例えば、画像５０１）が車両５０３を取得する。ＡＤＶ１０１は、第一機械学習モデル（機械学習モデル３１３の一部として）を画像５０１に適用することにより、２Ｄ境界枠（例えば、車両５０３の境界枠５０５）、及び／又は取得された画像における各オブジェクトの３Ｄ境界枠から導出される２Ｄ境界枠を生成することができる。
【００３９】
方位測定モジュール（例えば図４の方位測定モジュール４０１）は、境界枠５０５に基いて、第二機械学習モデル（機械学習モデル３１３の一部として）を適用して車両５０３の方位（例えば、車両５０３のヨー（ｙａｗ）、ピッチ（ｐｉｔｃｈ）とロール（ｒｏｌｌ））及び／又は３Ｄサイズを測定することができる。一実施形態において、車両５０３の方位及び／又は３Ｄサイズを測定する前に、方位測定モジュール４０１は第三機械学習モデル（機械学習モデル３１３の一部として）及び／又は画像認識エンジン（検知モジュール３０２の一部として）に基づいてオブジェクト５０３を車両として分類し、且つ車両のモデル及び／又はタイプを決定する。ここで、オブジェクト５０３の分類、オブジェクト方位と３Ｄサイズの測定、及び２Ｄ境界枠の生成に用いられる第一機械学習モデル、第二機械学習モデル及び第三機械学習モデルは、複数種のタスクを実行するように予め訓練された同一又は異なる機械学習モデルであっても良い。例えば、第一機械学習モデル、第二機械学習モデル及び第三機械学習モデルは、サーバ１０３の予測モデル１２４の一部であっても良い。また、複数種の機械学習モデルとコンピュータ視覚アルゴリズムは、２Ｄ境界枠の生成、オブジェクトに対する分類及び分類されたオブジェクトの方位及び／又は３Ｄサイズの測定に用いられても良い。モデルとアルゴリズムには、回帰モデル、コンボリューションニューラルネットワーク、エリアコンボリューションニューラルネットワーク（例えば速い、及びより速いエリアコンボリューションニューラルネットワーク）、マスク（ｍａｓｋｅｄ）エリアコンボリューションニューラルネットワークなどが含まれるが、それらに限定されない。一実施形態において、車両５０３の寸法に合わせるように２Ｄ境界枠５０５を減縮する。例えば、境界枠の寸法（例えば、長さ又は幅）がその前の寸法と比べて所定の閾値まで達成し、或いは一定の回数のイテレーションが経過するまで、車両５０３における領域毎に線形的な回帰を応用して当該領域の緊密な境界枠の座標を生成することができる。
【００４０】
サイズ測定モジュール４０３は、既知のオブジェクト（例えば、車両）及び／又は既知の車両の既知のモデルタイプ及び既知の方位及び／又は３Ｄサイズに基づいて、３Ｄ枠（例えば、３Ｄビュー）を生成して既知の方位及び／又は３Ｄサイズを有する既知の車両を示すことができる。例えば、サイズ測定モジュール４０３は、車両５０３の既知の方位及び／又は３Ｄサイズ、及び既知のモデルタイプに基づいて３Ｄビュー５１１を生成することができる。そして、サイズ測定モジュール４０３は、サイズの異なる３Ｄビュー５１１を画像５０１の画像平面に投影する。３Ｄビュー５１１の異なる（例えば、異なるサイズの）投影図は、ＡＤＶ１０１から対応する３Ｄビュー５１１まで異なる距離を有する３Ｄビュー５１１の立体図に対応することができる。
【００４１】
３Ｄ距離測定モジュール４０７は、境界枠５０５の寸法（例えば、長さ又は幅）及び／又は面積、及び３Ｄビュー５１１の異なる（例えば、異なる３Ｄ距離の位置における異なるサイズと仮定する）投影ビューにより、２Ｄ境界枠５０５の同一の寸法（例えば、長さ、幅又は面積（例えば、長さ×幅））にベストマッチする寸法を有する３Ｄビュー５１１に基づいて対応する距離を測定することができる。一実施形態において、（検索アルゴリズム３１４の一部とする貪欲検索アルゴリズム、バイナリ検索アルゴリズム又は他の検索アルゴリズムを使用することにより）異なる投影ビューの３Ｄビュー５１１を検索して投影された３Ｄビュー５１１の寸法（例えば、長さ、幅又は面積（例えば、長さ×幅））を所定の閾値まで２Ｄ境界枠５０５の寸法に合わせ、或いは一定の回数のイテレーションが経過するまでＡＤＶから車両５０３までの距離を測定する。そして、２Ｄ境界枠５０５にベストマッチするサイズを有する投影ビューの３Ｄビュー５１１の対応距離は、ＡＤＶから車両５０３までの特定距離である。注意すべきなのは、貪欲アルゴリズムは、ヒューリスティック問題解決（例えば、幾つかの候補選択肢から解を求めて目標関数を求める）に従うアルゴリズムであって、段階毎にローカルな最適選択を行ってグローバルな最適を探し出そうとすることである。バイナリ検索は、ソートされた配列から目標値の位置を検索する検索アルゴリズムである。
【００４２】
図６Ａ〜図６Ｂは、一実施形態による立体図と平面図で示された、オブジェクトを検知するＡＤＶの例示を示すブロック図である。図６Ａを参照し、投影ビュー６１１は図５の３Ｄ投影ビュー５１１であっても良いが、２Ｄ境界枠５０５のオブジェクトの寸法にベストマッチするサイズを有する３Ｄオブジェクトの投影ビュー（例えば、３Ｄ枠）である。図６Ｂを参照し、投影ビュー６１１は関連付けられたオブジェクト中心位置６１３とオブジェクト中心位置６１３からカメラ２１１までの距離６１５を有する。ここで、距離６１５は予め規定された距離である。
【００４３】
一実施形態において、３Ｄセンターベクトル測定モジュール４０９は異なる３Ｄ投影ビュー６１１を画像平面（例えば、画像５０１の画像平面）に投影する。各３Ｄ投影ビュー６１１は異なるオブジェクト中心位置６１４（それに応じて、異なるオブジェクト中心位置６１３）に関連付けられたが、カメラ２１１までの同一のサイズ（例えば、同一の半径方向距離６１５）を有する。そして、２Ｄ境界枠５０５の２Ｄ中心は、異なる３Ｄ投影ビュー６１１に基づいて、幾つかの所定の閾値まで、或いは一定の回数のイテレーションが経過するまで、３Ｄ投影ビュー６１１の中心にベストマッチすることができる。ベストマッチである３Ｄ投影ビュー６１１のオブジェクト中心位置６１４に投影されたカメラ２１１からの斜線（距離６１５に等しい距離を有する）は、これから決定されたセンターベクトルになる。一実施形態において、（検索アルゴリズム３１４の一部として貪欲検索アルゴリズム、バイナリ検索又は他の検索アルゴリズムを使用する）異なるオブジェクト中心位置の座標を有するが、半径方向距離を一定に維持する（例えば、予め規定されたＡＤＶからオブジェクトまでの距離に等しい）異なる投影３Ｄビュー６１１を検索することにより、センターベクトルを決定する。
【００４４】
一実施形態において、投影されたオブジェクト中心位置６１３を２Ｄ境界枠５０５の中点として初期化することにより検索を実行することができる。そして、検索は、投影６１１のオブジェクト中心がほぼ２Ｄ境界枠５０５の２Ｄ中心における水平軸の中央に位置するまで、左か右へ投射された画像をシフトする。そして、検索は、投影６１１のオブジェクト中心がほぼ２Ｄ境界枠５０５の２Ｄ中心における垂直軸の中央に位置するまで、上か下へ投影された画像をシフトすることができる。そして、ベストマッチした次元を有する投影ビュー６１１は、オブジェクト中心位置を決定するための最適候補になる。そして、投影ビュー６１１に関わるオブジェクト中心位置はセンターベクトルの決定に用いられる。
【００４５】
センターベクトルが決定されると、車両５０３のＡＤＶ１０１に対する３Ｄ位置はカメラ座標において既知である。そして、予測モジュール３０３、策定モジュール３０４及び／又は計画モジュール３０５は、オブジェクト（例えば、車両５０３）のセンターベクトルを使用して運転軌道を生成することにより、車両５０３に応じてＡＤＶ１０１を制御する。幾つかの実施形態において、二つ又はそれ以上のオブジェクトの３Ｄ位置（例えば、センターベクトル）を決定しても良く、例えば、二つ又はそれ以上のオブジェクトについて取得された画像の二つ又はそれ以上の２Ｄ境界枠を取得する。幾つかの実施形態において、センターベクトルは一つの座標系から他の座標系へ転換可能である。例えば、カメラ２１１が校正されると、決定されたセンターベクトルは、既知の校正パラメータにより、カメラ座標から実世界座標へ転換し、或いは実世界座標からカメラ座標へ転換することができる。
【００４６】
図７は一実施形態によるＡＤＶにより実行される方法を示したフローチャートである。フロー７００は処理ロジックにより実行可能である。処理ロジックは、ソフトウェア、ハードウェア又はそれらの組合せを含んでも良い。例えば、フロー８００は図３Ａのオブジェクト位置決めモジュール３０８により実行可能である。図７を参照し、ブロック７０１において、処理ロジックはＡＤＶに取り付けられた画像取得装置によりＡＤＶの立体図からオブジェクトを検知する。ブロック７０２において、処理ロジックは画像取得装置により取得されたオブジェクトの画像に基づいてオブジェクトの２Ｄ境界枠を生成する。ブロック７０３において、処理ロジックはオブジェクトの画像に基づいてオブジェクトの方位と３Ｄサイズを測定する。ブロック７０４において、処理ロジックはオブジェクトの方位と３Ｄサイズに基づいてオブジェクトの三次元（３Ｄ）ビューを画像に投影する。ブロック７０５において、処理ロジックはオブジェクトの３Ｄビューと生成された２Ｄ境界枠に基づいてＡＤＶからオブジェクトまでの距離を測定する。ブロック７０６において、選択的に、処理ロジックは、ＡＤＶがオブジェクトを回避して操縦できるように運転を制御するように、測定されたＡＤＶから当該オブジェクトまでの距離に応じて軌道を生成する。
【００４７】
一実施形態において、機械学習モデルを取得されたオブジェクトの画像に適用し、機械学習モデルによりオブジェクトを囲む２Ｄ境界枠の長さ、幅又は面積を測定することにより、オブジェクトの２Ｄ境界枠を生成する。他の実施形態において、処理ロジックは更に、投影画像の寸法が２Ｄ境界枠の幅又は高さの所定の閾値内になるまで、貪欲検索アルゴリズムにより投影画像のサイズを検索し、且つ当該サイズに基づいてＡＤＶから目までの距離を測定する。他の実施形態において、処理ロジックは、投影画像のサイズが２Ｄ境界枠の幅、高さ又は面積の所定の閾値内になるまで、バイナリ検索アルゴリズムにより投影画像のサイズを検索する。そして、処理ロジックは検索されたサイズに基づいてＡＤＶからオブジェクトまでの距離を測定する。
【００４８】
一実施形態において、処理ロジックは更に測定されたオブジェクトまでの距離に基づいてオブジェクトまでのセンターベクトルを決定する。なお、センターベクトルは、軌道を生成してＡＤＶを制御するように利用可能である。図８は一実施形態によるＡＤＶにより実行される方法を示したフローチャートである。フロー８００は処理ロジックにより実行可能である。処理ロジックは、ソフトウェア、ハードウェア又はそれらの組合せを含んでも良い。例えば、フロー８００は図３Ａのオブジェクト位置決めモジュール３０８により実行可能である。図８を参照し、ブロック８０１において、処理ロジックは、投影オブジェクトの中心がほぼ２Ｄ境界枠の２Ｄ中心における水平軸の中央に位置するまで、左か右へ投影オブジェクトをシフトする。ブロック８０２において、処理ロジックは、投影オブジェクトの中心がほぼ２Ｄ境界枠の２Ｄ中心における垂直軸の中央に位置するまで、上か下へ投影オブジェクトをシフトする。ブロック８０３において、処理ロジックは、投影オブジェクトのシフトと予め規定されたオブジェクトまでの距離に基いてセンターベクトルを決定する。ブロック８０４において、選択的に、処理ロジックは決定されたオブジェクトまでのセンターベクトルに基いてＡＤＶを制御する。
【００４９】
注意すべきなのは、いままで示され説明された部品における一部又は全部がソフトウェア、ハードウェア又はそれらの組み合わせで実装可能なことである。例えば、このような部品は不揮発性の記憶装置にインストールされ記憶されるソフトウェアとして実装可能である。前記ソフトウェアは、プロセッサ（図示しない）によりメモリにロードされてメモリに実行されることにより本願の全文に記述されたプロセス又は操作を実装することができる。その代わりに、このような部品は、専用ハードウェア（例えば、集積回路（例えば、専用集積回路又はＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）或いはフィールドプログラマブルゲートアレイ（ＦＰＧＡ））にプログラミングされ、或いは組み込まれた実行可能なコードとして実装可能である。前記実行可能なコードは、アプリからの相応的なドライブプログラム及び／又は操作システムを介してアクセス可能である。また、そのような部品はプロセッサ又はプロセッサのコアにおける特定なハードウェアロジックとして実装され、ソフトウェア部品により一つ以上の特定なコマンドを介してアクセスされるコマンドセットの一部とすることができる。
【００５０】
図９は本発明の一実施形態と共に使用可能なデータ処理システムの例示を示すブロック図である。例えば、システム１５００は、以上で説明された前記プロセス又は方法の何れか一つを実行する如何なるデータ処理システム、例えば、図１の検知／計画システム１１０又はサーバ１０３〜１０４のうちの何れか一つを示すことができる。システム１５００は異なる部品を多く具備することができる。これらの部品は、集積回路（ＩＣ）、集積回路の一部、独立な電子装置又はプリント基板（例えば、コンピュータシステムのマザーボード又はインサートカード）に適用される他のモジュールとして実行可能し、或いは他の方式でコンピュータシステムのフレームに設置される部品として実装可能である。
【００５１】
注意すべきなのは、システム１５００はコンピュータシステムの複数の部品のハイレベルビューを示したことである。理解すべきなのは、幾つかの実施例に付加的な部品を具備しても良く、また他の実施例に示された部品の異なる配置を具備しても良いことである。システム１５００は、デスクトップコンピュータ、ノードパソコン、タブレット、サーバ、モバイルフォン、メディアプレーヤ、パーソナルデジタルアシスタント（ＰＤＡ）、スマート腕時計、パーソナル通信機、ゲーム装置、ネットワークルータ又はハブ、無線アクセスポイント（ＡＰ）又はリピータ、セットトップボックス或いはそれらの組み合わせを示すことができる。また、単一の機器又はシステムが示されたが、単語「機器」又は「システム」は更に一つ（又は複数の）コマンドセットを単独で或いは協同的に実行することにより、本文に説明された任意の一つ以上の方法を実行する機器或いはシステムの如何なるセットを含むことを理解すべきである。
【００５２】
一実施形態において、システム１５００は、バス又はインターコネクタ１５１０を介して接続されるプロセッサ１５０１、メモリ１５０３及び装置１５０５〜１５０８を具備する。プロセッサ１５０１は、そのうちに単一のプロセッサコア、又は複数のプロセッサコアの単一のプロセッサ、又は複数のプロセッサが含まれることを表すことができる。プロセッサ１５０１は、一つ以上の汎用プロセッサ、例えばマイクロプロセッサ、中央処理ユニット（ＣＰＵ）などを表すことができる。具体的に、プロセッサ１５０１は複雑コマンドセット演算（ＣＩＳＣ）マイクロプロセッサ、簡単コマンドセット演算（ＲＩＳＣ）マイクロプロセッサ、超長コマンドワード（ＶＬＩＷ）マイクロプロセッサ、或いは他のコマンドセットを実行するプロセッサ、或いはコマンドセットの組み合わせを実行するプロセッサであっても良い。プロセッサ１５０１は更に一つ以上の専用プロセッサ、例えば専用集積回路（ＡＳＩＣ）、セルラー又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、図形プロセッサ、通信プロセッサ、暗号化プロセッサ、セカンドプロセッサ、組み込みプロセッサ、或いはコマンドを処理可能な任意の他のタイプのロジックであっても良い。
【００５３】
プロセッサ１５０１（ローパワーマルチコアプロセッサソケット、例えば超低電圧プロセッサであっても良い）は前記システムの各部品と通信用のメイン処理ユニットと中央ハブとして使用可能である。このようなプロセッサは、チップ上システム（ＳｏＣ）として実装可能である。プロセッサ１５０１は、本文に説明された処理及びステップを実行するためのコマンドを実行するように配置される。システム１５００は更に選択可能な図形サブシステム１５０４と通信するための図形インターフェースを含んでも良い。図形サブシステム１５０４は、表示コントローラ、図形プロセッサ及び／又は表示装置を含んでも良い。
【００５４】
プロセッサ１５０１はメモリ１５０３と通信可能である。ある実施形態において、メモリ１５０３は複数のメモリ装置を介して実装されることにより定量のシステム記憶が提供可能である。メモリ１５０３は、一つ以上の揮発性の記憶装置（或いはメモリ）、例えばランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）又は他のタイプの記憶装置を含んでも良い。メモリ１５０３はプロセッサ１５０１又は他の任意の装置により実行されるコマンドシーケンスを含む情報を記憶可能である。例えば、各操作システム、装置ドライブプログラム、ファームウェア（例えば、入出力基盤システム又はＢＩＯＳ）及び／又はアプリの実行可能なコード及び／又はデータは、メモリ１５０３にロードされ且つプロセッサ１５０１により実行可能である。操作システムは、任意のタイプの操作システム、例えばロボット操作システム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）会社からのＷｉｎｄｏｗｓ（登録商標）操作システム、アップル会社からのＭａｃ  ＯＳ（登録商標）／ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）会社からのＡｎｄｒｏｉｄ（登録商標）、ＬＩＮＵＸ、ＵＮＩＸ（登録商標）、或いは他のリアルタイム又は組み込み操作システムであっても良い。
【００５５】
システム１５００は更にＩＯ装置、例えばネットワークインターフェース装置１５０５、選択可能な入力装置１５０６、及び他の選択可能なＩＯ装置１５０７を含む装置１５０５〜１５０８を含む。ネットワークインターフェース装置１５０５は、無線送受信機及び／又はネットワークインターフェースカード（ＮＩＣ）を含んでも良い。前記無線送受信機は、ＷｉＦｉ送受信機、赤外線送受信機、ブルートゥース（登録商標）送受信機、ＷｉＭａｘ送受信機、無線セルラー電話送受信機、衛星送受信機（例えば、グロバールポジションシステム（ＧＰＳ）送受信機）、他の無線周波数（ＲＦ）送受信機或いはそれらの組み合わせであっても良い。ＮＩＣはイーサネット（登録商標）カードであっても良い。
【００５６】
入力装置１５０６は、マウス、タッチパネル、タッチセンシティブスクリーン（表示装置１５０４と一体化に集積可能）、指示装置（例えばスタイラス）及び／又はキーボード（例えば、物理キーボード又はタッチセンシティブスクリーンの一部として表示される仮想キーボード）を含んでも良い。例えば、入力装置１５０６はタッチパネルに接続されるタッチパネルコントローラを含んでも良い。タッチパネルとタッチパネルコントローラは、例えば複数種類のタッチセンシティブ技術（コンデンサ、抵抗、赤外と表面弾性波技術を含むが、それらに限定されない）のうちの何れか一つ、及び他の近隣センサアレイ又はタッチパネルと接触する一つ以上のポイントを特定するための他の素子を利用してその接触、移動又は中断を検出する。
【００５７】
ＩＯ装置１５０７はラジオ装置を含んでも良い。ラジオ装置は、例えば音声識別、音声複製、デジタル記録及び／又は電話機能のような音声をサポートする機能を促進するように、スピーカ及び／又はマイクロフォンを含んでも良い。他のＩＯ装置１５０７は、ユニバーサルシリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、プリンター、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計のような運動センサ、ジャイロ、磁力計、光センサ、コンパス、近接センサなど）或いはそれらの組み合わせを更に含んでも良い。装置１５０７は画像形成処理サブシステム（例えば、カメラ）を含んでも良い。前記画像形成処理サブシステムは、カメラ機能（例えば、写真とビデオセグメントを記録する）を促進するための光学センサ、例えば電荷結合装置（ＣＣＤ）又は相補型金属酸化物半導体（ＣＭＯＳ）の光学センサを含んでも良い。幾つかのセンサはセンサハブ（図示しない）を介してインターコネクタ１５１０に接続されても良い。キーボード又は熱センサのような他の装置は、システム１５００の具体的な配置又は設計に応じて組み込みコントローラ（図示しない）により制御されても良い。
【００５８】
例えばデータ、アプリ、一つ以上の操作システムなどの情報の不揮発性の記憶を提供するために、大容量の記憶デバイス（図示しない）はプロセッサ１５０１に接続されても良い。各実施形態において、より薄い且つより軽いシステム設計を実現すると共にシステムの応答性を改善するために、このような大容量の記憶デバイスは、ソリッドステートデバイス（ＳＳＤ）により実装されても良い。ところが、他の実施形態において、大容量の記憶デバイスは、主にハードディスクドライバー（ＨＤＤ）を使用して実装されても良い。そのうち、容量の小さいＳＳＤ記憶デバイスは、ＳＳＤキャッシュとして使用されて断電の間にコンテキスト及び他の類似の情報の不揮発性の記憶を実現することにより、システムの動作が再起動される時に快速給電を実現することができる。また、フラッシュメモリは、例えばシリアルペリフェラルインターフェース（ＳＰＩ）を介してプロセッサ１５０１に接続されても良い。このようなフラッシュメモリは、システムソフトウェアの不揮発性の記憶を提供することができる。前記システムソフトウェアには、前記システムのＢＩＯＳ及び他のファームウェアが含まれる。
【００５９】
記憶装置１５０８は、本文に記載された任意の一つ以上の方法或いは機能を表す一つ以上のコマンドセット又はソフトウェア（例えば、モジュール、ユニット及び／又はロジック１５２８）が記憶されるコンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体或いはコンピュータ可読記憶媒体とも呼ばれる）を含んでも良い。処理モジュール／ユニット／ロジック１５２８は、前記部品のうちの何れか一つ、例えば図３Ａのオブジェクト位置決めモジュール３０８を示すことができる。処理モジュール／ユニット／ロジック１５２８は、データ処理システム１５００、メモリ１５０３及びプロセッサ１５０１により実行される間に完全的又は少なくとも一部的にメモリ１５０３内及び／又はプロセッサ１５０１内に保存されても良い。データ処理システム１５００、メモリ１５０３及びプロセッサ１５０１も機械可読記憶媒体として構成される。処理モジュール／ユニット／ロジック１５２８は、ネットワークによりネットワークインターフェース装置１５０５を介して伝送し又は受信可能である。
【００６０】
コンピュータ可読記憶媒体１５０９は、以上で説明された幾つかのソフトウェア機能を永遠に記憶しても良い。コンピュータ可読記憶媒体１５０９は、例示的な実施形態において単一の記憶媒体として示されたが、「コンピュータ可読記憶媒体」という用語は前記一つ以上のコマンドセットを記憶する単一以上の記憶媒体（例えば、集中式又は分散式のデータベース及び／又は関連のキャッシュ及びサーバ）を含むと理解すべきである。「コンピュータ可読記憶媒体」という用語は、コマンドセットを記憶し又はコーディング可能な任意の記憶媒体を含むと理解すべきである。前記コマンドセットは、機器により実行され且つ前記機器に本願の任意の一つ以上の方法を実行させるために用いられる。従って、「コンピュータ可読記憶媒体」という用語は、固体メモリ及び光学記憶媒体及び磁気記憶媒体、或いは如何なる他の不揮発性の機械可読記憶媒体を含むと理解すべきであるが、それらに限定されない。
【００６１】
本文に記載の処理モジュール／ユニット／ロジック１５２８、部品及び他の特徴は、独立なハードウェア部品として実装され、又はハードウェア部品（例えば、ＡＳＩＣＳ、ＦＰＧＡ、ＤＳＰ又は類似の装置）の機能に集積されるように実装可能である。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置におけるファームウェア又は機能回路として実装可能である。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置とソフトウェア部品の如何なる組み合わせで実装されても良い。
【００６２】
注意すべきなのは、システム１５００はデータ処理システムの各部品を備えると示されたが、部品の接続の如何なる特定な構成又は手段を示すわけではないことである。これは、このような詳細が本願の実施形態と緊密な関係を有していないからである。更に、より少ない部品を持ち、或いはより多い部品を持ち可能なネットワークコンピュータ、携帯コンピュータ、モバイルフォン、サーバ及び／又は他のデータ処理システムも本願の実施形態と共に使用可能と理解すべきである。
【００６３】
前記の詳しい説明における幾つかの部分は、既にコンピュータメモリ内にデータビットに対する演算のアルゴリズムと符号標記により表された。これらのアルゴリズムの説明及び標記は、データ処理分野における技術者により使用される方式であり、彼らの作業の意図を効率的に当分野の他の技術者に伝達する。本文において、アルゴリズムは一般的に所望の結果を引き起こすセルフコンシステント操作シーケンスであると考えられる。これらの操作は物理量に対する物理的な制御の必要がある操作である。
【００６４】
ところが、理解すべきなのは、全てのこれらと類似する用語は、何れも適当な物理量に関連させると意味し、且つこれらの量に適用する便利な標識に過ぎないことである。上記の論述に他の方式で明確に指定される場合以外、全明細書において、用語（例えば付加の特許請求の範囲に記載される用語）で行われた論述はコンピュータシステム又は類似の電子演算装置の動作及び処理であると理解すべきである。前記コンピュータシステム又は電子演算装置は、コンピュータシステムのレジスタとメモリに物理（電子）量として表されるデータを制御し、前記データをコンピュータシステムメモリ、レジスタ、他の類似の情報記憶デバイス、伝送又は表示装置に同様に物理量として表される他のデータに変換する。
【００６５】
本願の実施形態は更に本文における処理を実行するデバイスに関する。このようなコンピュータプログラムは不揮発性のコンピュータ可読記憶媒体に記憶される。機械可読記憶媒体は、機械（例えば、コンピュータ）可読な形で情報を記憶する如何なる機構を含む。例えば、機械可読（例えば、コンピュータ可読）な記憶媒体は、機械（例えば、コンピュータ）可読な記憶媒体（例えば、読み出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置）を含む。
【００６６】
前記の図面に描画されるプロセス又は方法は処理ロジックにより実行されても良い。前記処理ロジックは、ハードウェア（例えば、回路、専用ロジック等）、ソフトウェア（例えば、不揮発性のコンピュータ可読記憶媒体として表す）或いは両者の組み合わせを含む。前記過程又は方法は前記の記載において所定の順序に従う操作として説明されたが、前記操作のうちの一部が異なる順序に従って実行可能と理解すべきである。また、一部の操作は順序での実行ではなく、並行に実行可能である。
【００６７】
本願の実施形態は、如何なる特定のプログラミング言語に従って説明することではない。理解すべきなのは、複数のプログラミング言語を使用して本文に記載された本願の実施形態を実装することができることである。
【００６８】
以上の明細書において、既に本願の具体的な例示的実施形態を参照して本願の実施形態を説明した。明らかに、付加の特許請求の範囲に記載の本願のより広い主旨及び範囲から逸脱されない場合に、本願に対する各修正が可能である。よって、制限的な意味ではなく、説明的な意味で本明細書及び図面を理解すべきである。
【図１】
2019182411.tif 000003
【図２】
2019182411.tif 000004
【図３Ａ】
2019182411.tif 000005
【図３Ｂ】
2019182411.tif 000006
【図４】
2019182411.tif 000007
【図５Ａ】
2019182411.tif 000008
【図５Ｂ】
2019182411.tif 000009
【図６Ａ】
2019182411.tif 000010
【図６Ｂ】
2019182411.tif 000011
【図７】
2019182411.tif 000012
【図８】
2019182411.tif 000013
【図９】
2019182411.tif 000014
【手続補正書】
【提出日】令和1年5月20日(2019.5.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自動運転車両（ＡＤＶ）を動作させるためのコンピュータに実装された方法であって、
前記ＡＤＶに取り付けられた画像取得装置により、前記ＡＤＶの立体図からオブジェクトを検知するステップと、
前記画像取得装置により取得された前記オブジェクトの画像に基いて、前記オブジェクトの２Ｄ境界枠を生成するステップと、
前記オブジェクトの前記画像に基いて、前記オブジェクトの方位と３Ｄサイズを測定するステップと、
前記オブジェクトの方位と３Ｄサイズに基いて、前記オブジェクトの三次元（３Ｄ）ビューを前記画像に投影するステップと、
前記オブジェクトの３Ｄビューと前記生成された２Ｄ境界枠に基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、
前記ＡＤＶの運転を制御して前記オブジェクトを回避して操縦できるように、測定された前記ＡＤＶから前記オブジェクトまでの距離に基いて軌道を生成するステップと、を含むコンピュータに実装された方法。
【請求項２】
前記オブジェクトの２Ｄ境界枠は、
前記オブジェクトの前記画像を取得するのに機械学習モデルを適用するステップと、
前記機械学習モデルに基いて、前記オブジェクトを囲む２Ｄ境界枠の長さ、幅又は面積を測定するステップと、
により生成される請求項１に記載のコンピュータに実装された方法。
【請求項３】
前記投影された画像の寸法が前記２Ｄ境界枠の幅又は高さの所定閾値内になるまで、貪欲検索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
前記サイズに基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、を更に含む請求項２に記載のコンピュータに実装された方法。
【請求項４】
前記投影された画像の寸法が前記２Ｄ境界枠の幅、高さ又は面積の所定閾値内になるまで、二分探索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
前記サイズに基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、を更に含む請求項２に記載のコンピュータに実装された方法。
【請求項５】
前記測定された前記オブジェクトまでの距離に基いて、前記オブジェクトまでのセンターベクトルを決定するステップを更に含み、前記センターベクトルは、前記ＡＤＶを制御するように運転軌道を生成するために使用できるものである請求項１に記載のコンピュータに実装された方法。
【請求項６】
前記オブジェクトまでのセンターベクトルを決定するステップは、
前記投影されたオブジェクトの中心が前記２Ｄ境界枠の２Ｄ中心における水平軸の中央に位置するまで、前記投影されたオブジェクトを左か右へシフトするステップと、
前記投影されたオブジェクトの中心が前記２Ｄ境界枠の２Ｄ中心における垂直軸の中央に位置するまで、前記投影されたオブジェクトを上か下へシフトするステップと、
前記投影されたオブジェクトのシフトと前記測定された前記オブジェクトまでの距離とに基いて、前記センターベクトルを決定するステップと、を含む請求項５に記載のコンピュータに実装された方法。
【請求項７】
前記決定された前記オブジェクトまでのセンターベクトルに基いて、前記ＡＤＶを制御するステップを更に含む請求項６に記載のコンピュータに実装された方法。
【請求項８】
命令が記憶された不揮発性の機械可読記憶媒体であって、
前記命令が一つ以上のプロセッサにより実行されると、前記一つ以上のプロセッサに処理を実行させ、前記処理は、
ＡＤＶに取り付けられた画像取得装置により、前記ＡＤＶの立体図からオブジェクトを検知するステップと、
前記画像取得装置により取得された前記オブジェクトの画像に基いて、前記オブジェクトの２Ｄ境界枠を生成するステップと、
前記オブジェクトの前記画像に基いて、前記オブジェクトの方位と３Ｄサイズを測定するステップと、
前記オブジェクトの方位と３Ｄサイズに基いて、前記オブジェクトの三次元（３Ｄ）ビューを前記画像に投影するステップと、
前記オブジェクトの３Ｄビューと前記生成された２Ｄ境界枠に基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、
前記ＡＤＶの運転を制御して前記オブジェクトを回避して操縦できるように、測定された前記ＡＤＶから前記オブジェクトまでの距離に基いて軌道を生成するステップと、を含む不揮発性の機械可読記憶媒体。
【請求項９】
前記オブジェクトの２Ｄ境界枠は、
前記オブジェクトの前記画像を取得するのに機械学習モデルを適用するステップと、
前記機械学習モデルに基いて、前記オブジェクトを囲む２Ｄ境界枠の長さ、幅又は面積を測定するステップと、
により生成される請求項８に記載の不揮発性の機械可読記憶媒体。
【請求項１０】
前記処理は、
前記投影された画像の寸法が前記２Ｄ境界枠の幅又は高さの所定閾値内になるまで、貪欲検索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
前記サイズに基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、を更に含む請求項９に記載の不揮発性の機械可読記憶媒体。
【請求項１１】
前記処理は、
投影された画像の大きさが前記２Ｄ境界枠の幅、高さ又は面積の所定閾値内になるま前記投影された画像の寸法が前記２Ｄ境界枠の幅、高さ又は面積の所定閾値内になるまで、二分探索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
前記サイズに基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、を更に含む請求項９に記載の不揮発性の機械可読記憶媒体。
【請求項１２】
前記処理は、前記測定された前記オブジェクトまでの距離に基いて、前記オブジェクトまでのセンターベクトルを決定するステップを更に含み、前記センターベクトルは、前記ＡＤＶを制御するように運転軌道を生成するために使用できるものである請求項８に記載の不揮発性の機械可読記憶媒体。
【請求項１３】
前記オブジェクトまでのセンターベクトルを決定するステップは、
前記投影されたオブジェクトの中心が前記２Ｄ境界枠の２Ｄ中心における水平軸の中央に位置するまで、前記投影されたオブジェクトを左か右へシフトするステップと、
前記投影されたオブジェクトの中心が前記２Ｄ境界枠の２Ｄ中心における垂直軸の中央に位置するまで、前記投影されたオブジェクトを上か下へシフトするステップと、
前記投影されたオブジェクトのシフトと前記測定された前記オブジェクトまでの距離とに基いて、前記センターベクトルを決定するステップと、を含む請求項１２に記載の不揮発性の機械可読記憶媒体。
【請求項１４】
前記処理は、
前記決定された前記オブジェクトまでのセンターベクトルに基いて前記ＡＤＶを制御することを更に含む請求項１３に記載の不揮発性の機械可読記憶媒体。
【請求項１５】
データ処理システムであって、
一つ以上のプロセッサと、
前記一つ以上のプロセッサに接続されて命令を記憶するメモリと、を備え、
前記命令が前記一つ以上のプロセッサにより実行されると、前記一つ以上のプロセッサに処理を実行させ、前記処理は、
ＡＤＶに取り付けられた画像取得装置により、前記ＡＤＶの立体図からオブジェクトを検知するステップと、
前記画像取得装置により取得された前記オブジェクトの画像に基いて、前記オブジェクトの２Ｄ境界枠を生成するステップと、
前記オブジェクトの前記画像に基いて、前記オブジェクトの方位と３Ｄサイズを測定するステップと、
前記オブジェクトの方位と３Ｄサイズに基いて、前記オブジェクトの三次元（３Ｄ）ビューを前記画像に投影するステップと、
前記オブジェクトの３Ｄビューと前記生成された２Ｄ境界枠に基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、
前記ＡＤＶの運転を制御して前記オブジェクトを回避して操縦できるように、測定された前記ＡＤＶから前記オブジェクトまでの距離に基いて軌道を生成するステップと、を含むシステム。
【請求項１６】
前記オブジェクトの２Ｄ境界枠は、
前記オブジェクトの前記画像を取得するのに機械学習モデルを適用するステップと、
前記機械学習モデルに基いて、前記オブジェクトを囲む２Ｄ境界枠の長さ、幅又は面積を測定するステップと、
により生成される請求項１５に記載のシステム。
【請求項１７】
前記処理は、
前記投影された画像の寸法が前記２Ｄ境界枠の幅又は高さの所定閾値内になるまで、貪欲検索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
前記サイズに基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、を更に請求項１６に記載のシステム。
【請求項１８】
前記処理は、
前記投影された画像の寸法が前記２Ｄ境界枠の幅、高さ又は面積の所定閾値内になるまで、二分探索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
前記サイズに基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、を更に含む請求項１６に記載のシステム。
【請求項１９】
前記処理は、前記測定された前記オブジェクトまでの距離に基いて、前記オブジェクトまでのセンターベクトルを決定するステップを更に含み、前記センターベクトルは、前記ＡＤＶを制御するように運転軌道を生成するために使用できるものである請求項１５に記載のシステム。
【請求項２０】
前記オブジェクトまでのセンターベクトルを決定するステップは、
前記投影されたオブジェクトの中心が前記２Ｄ境界枠の２Ｄ中心における水平軸の中央に位置するまで、前記投影されたオブジェクトを左か右へシフトするステップと、
前記投影されたオブジェクトの中心が前記２Ｄ境界枠の２Ｄ中心における垂直軸の中央に位置するまで、前記投影されたオブジェクトを上か下へシフトするステップと、
前記投影されたオブジェクトのシフトと前記測定された前記オブジェクトまでの距離とに基いて、前記センターベクトルを決定するステップと、を含む請求項１９に記載のシステム。
【請求項２１】
前記処理は、
前記決定された前記オブジェクトまでのセンターベクトルに基いて前記ＡＤＶを制御することを更に含む請求項２０に記載のシステム。
【請求項２２】
コンピュータプログラムであって、
前記コンピュータプログラムがプロセッサにより実行される場合、請求項１ないし請求項７のいずれか一項に記載の方法を実行するコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、主に自動運転車両の操作に関する。具体的に、本願は、オブジェクトの二次元（２Ｄ）境界枠を自動運転車両（ＡＤＶ）の三次元（３Ｄ）位置に転換する方法に関する。
【背景技術】
【０００２】
自動運転モードで走行する（例えば、ドライバーレス）車両は、乗員、特に運転者を幾つかの運転に関する役割から解放可能である。車両は、自動運転モードで走行される場合に、車載センサを使用して各位置までナビゲーションすることにより、ヒューマンマシンインタラクションが最も少ない場合、又は乗客が一人もいない場合などに車両を運転することを許可することができる。
【０００３】
周囲環境の検知は、通常の運転者の検知する、当該運転者により運転される車両の周囲の状況を示すことができる。検知において、オブジェクトは、一般的に画像平面における２Ｄ境界枠として検出される。２Ｄ境界枠をカメラ座標及び／又は実世界座標における３Ｄ位置（例えば、３Ｄオブジェクトの中心までのベクトル）を有する３Ｄオブジェクトに転換する必要がある。
【発明の概要】
【０００４】
本願の一つの態様は、自動運転車（ＡＤＶ）を動作させるためのコンピュータに実装された方法に関する。前記方法は、自動運転車両（ＡＤＶ）を動作させるためのコンピュータに実装された方法であって、前記ＡＤＶに取り付けられた画像取得装置により、前記ＡＤＶの立体図からオブジェクトを検知するステップと、前記画像取得装置により取得された前記オブジェクトの画像に基いて、前記オブジェクトの２Ｄ境界枠を生成するステップと、前記オブジェクトの前記画像に基いて、前記オブジェクトの方位と３Ｄサイズを測定するステップと、前記オブジェクトの方位と３Ｄサイズに基いて、前記オブジェクトの三次元（３Ｄ）ビューを前記画像に投影するステップと、前記オブジェクトの３Ｄビューと前記生成された２Ｄ境界枠に基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、前記ＡＤＶの運転を制御して前記オブジェクトを回避して操縦できるように、測定された前記ＡＤＶから前記オブジェクトまでの距離に基いて軌道を生成するステップと、を含む。
【０００５】
本願の他の態様は、命令が記憶された不揮発性の機械可読記憶媒体に関する。前記命令が記憶された不揮発性の機械可読記憶媒体は、前記命令が一つ以上のプロセッサにより実行されると、前記一つ以上のプロセッサに処理を実行させ、前記処理は、ＡＤＶに取り付けられた画像取得装置により、前記ＡＤＶの立体図からオブジェクトを検知するステップと、前記画像取得装置により取得された前記オブジェクトの画像に基いて、前記オブジェクトの２Ｄ境界枠を生成するステップと、前記オブジェクトの前記画像に基いて、前記オブジェクトの方位と３Ｄサイズを測定するステップと、前記オブジェクトの方位と３Ｄサイズに基いて、前記オブジェクトの三次元（３Ｄ）ビューを前記画像に投影するステップと、前記オブジェクトの３Ｄビューと前記生成された２Ｄ境界枠に基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、前記ＡＤＶの運転を制御して前記オブジェクトを回避して操縦できるように、測定された前記ＡＤＶから前記オブジェクトまでの距離に基いて軌道を生成するステップと、を含む。
【０００６】
本願のもう一つの態様は、データ処理システムに関する。前記データ処理システムは、一つ以上のプロセッサと、前記一つ以上のプロセッサに接続されて命令を記憶するメモリと、を備え、前記命令が前記一つ以上のプロセッサにより実行されると、前記一つ以上のプロセッサに処理を実行させ、前記処理は、ＡＤＶに取り付けられた画像取得装置により、前記ＡＤＶの立体図からオブジェクトを検知するステップと、前記画像取得装置により取得された前記オブジェクトの画像に基いて、前記オブジェクトの２Ｄ境界枠を生成するステップと、前記オブジェクトの前記画像に基いて、前記オブジェクトの方位と３Ｄサイズを測定するステップと、前記オブジェクトの方位と３Ｄサイズに基いて、前記オブジェクトの三次元（３Ｄ）ビューを前記画像に投影するステップと、前記オブジェクトの３Ｄビューと前記生成された２Ｄ境界枠に基いて、前記ＡＤＶから前記オブジェクトまでの距離を測定するステップと、前記ＡＤＶの運転を制御して前記オブジェクトを回避して操縦できるように、測定された前記ＡＤＶから前記オブジェクトまでの距離に基いて軌道を生成するステップと、を含む。
【０００７】
本願の実施形態は、図面の各図において限定的ではなく例示的な形態で示され、図面における同じ図面符号は類似する要素を示す。
【図面の簡単な説明】
【０００８】
【図１】図１は、一実施形態によるネットワークシステムを示すブロック図である。
【図２】図２は、一実施形態による自動運転車両の例示を示すブロック図である。
【図３Ａ】図３Ａは、一実施形態による自動運転車両と共に使用される検知／計画システムの例示を示すブロック図である。
【図３Ｂ】図３Ｂは、一実施形態による自動運転車両と共に使用される検知／計画システムの例示を示すブロック図である。
【図４】図４は、一実施形態によるオブジェクト位置決めモジュールの例示を示すブロック図である。
【図５Ａ】図５Ａは、一実施形態によるオブジェクトを検知するＡＤＶの例示を示すブロック図である。
【図５Ｂ】図５Ｂは、一実施形態による図５ＡにおけるＡＤＶ１０１による検知画面の画像及び検知オブジェクトの投影の例示である。
【図６Ａ】図６Ａは、立体図と平面図で示された一実施形態によるオブジェクトを検知するＡＤＶの例示を示すブロック図である。
【図６Ｂ】図６Ｂは、立体図と平面図で示された一実施形態によるオブジェクトを検知するＡＤＶの例示を示すブロック図である。
【図７】図７は、一実施形態によるＡＤＶにより実行される方法を示すフローチャートである。
【図８】図８は、一実施形態によるＡＤＶにより実行される方法を示すフローチャートである。
【図９】図９は、一実施形態によるデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、説明の詳細を参照しながら本願の様々な実施形態及び態様を説明し、図面には、上記様々な実施形態が示される。以下の説明及び図面は、本願を例示するためのものであり、限定するものとして解釈されるべきではない。本願の様々な実施形態を全面的に理解するために、多くの特定の詳細を説明する。ところが、いくつかの場合には、本願の実施形態に対する簡単な説明を提供するために、周知又は従来技術の詳細について説明していない。
【００１０】
本明細書において、「一実施形態」又は「実施形態」とは、当該実施形態に組み合わせて説明された特定の特徴、構造又は特性が本願の少なくとも一実施形態に含まれてもよいと意味する。「一実施形態では」という表現は、本明細書全体において同一の実施形態を指すとは限らない。
【００１１】
ＡＤＶの画像取得装置により取得された画像におけるオブジェクトは、一般的に機械学習モデルからの２Ｄ境界枠により検出される。一つの態様によれば、ＡＤＶは、既知の３Ｄサイズと方位を有するオブジェクトの２Ｄ境界枠に基いて、オブジェクトのカメラ座標系における３Ｄ位置を検索することができる。第一の態様によれば、ＡＤＶのシステムは、ＡＤＶに取り付けられた画像取得装置によりＡＤＶの立体図からオブジェクトを検知する。システムは、画像取得装置により取得されたオブジェクトの画像に基いて、機械学習モデルによりオブジェクトの２Ｄ境界枠を生成する。システムは、オブジェクトの画像に基いてオブジェクトの方位と３Ｄサイズを測定する。システムは、オブジェクトの方位と３Ｄサイズに基いてオブジェクトの３Ｄビューを画像に投影する。システムはオブジェクトの３Ｄビューと生成された２Ｄ境界枠とに基いて、ＡＤＶからオブジェクトまでの距離を測定する。システムは、ＡＤＶの運転を制御してオブジェクトを回避して操縦できるように、測定されたＡＤＶからオブジェクトまでの距離に基いて軌道を生成する。
【００１２】
他の態様によれば、システムは、投影されたオブジェクトの中心が２Ｄ境界枠の２Ｄ中心における水平軸の中央にほぼ位置するまで、投影されたオブジェクトを左か右へシフトする。システムは、投影されたオブジェクトの中心が２Ｄ境界枠の２Ｄ中心における垂直軸の中央にほぼ位置するまで、投影されたオブジェクトを上か下へシフトする。システムは、投影されたオブジェクトのシフトと測定されたオブジェクトまでの距離とに基いて、センターベクトルを決定する。システムは、決定されたオブジェクトまでのセンターベクトルに基いてＡＤＶを制御する。
【００１３】
図１は、本願の一実施形態による自動運転車両のネットワーク構造を示すブロック図である。図１を参照し、ネットワーク構造１００には、ネットワーク１０２を介して一つ以上のサーバ１０３〜１０４に通信接続される自動運転車両１０１が備えられる。一つの自動運転車両が示されたが、複数の自動運転車両がネットワーク１０２を介して互いに接続され、及び／又はサーバ１０３〜１０４に接続可能である。ネットワーク１０２は、例えば、有線又は無線のローカルエリアネットワーク（ＬＡＮ）、インターネットのようなワイドエリアネットワーク（ＷＡＮ）、セルラーネットワーク、衛星ネットワーク又はそれらの組み合わせのような任意のタイプのネットワークであっても良い。サーバ１０３〜１０４は、例えば、ネットワーク又はクラウドサーバ、アプリサーバ、バックエンドサーバ又はそれらの組み合わせのような任意のタイプのサーバ又はサーバグループであっても良い。サーバ１０３〜１０４は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図／興味点（ＭＰＯＩ）サーバ又は位置サーバなどであっても良い。
【００１４】
自動運転車両は、自動運転モードとして配置可能な車両であり、前記自動運転モードにおいて運転者からの入力が非常に少なく又はない場合に車両が環境をナビゲーションし通過する。このような自動運転車両はセンサシステムを備えても良い。前記センサシステムは、車両の走行環境に関する情報を検出するように配置される一つ以上のセンサを備える。前記車両と関連するコントローラとは、検出された情報を使用して前記環境をナビゲーションし通過する。自動運転車両１０１は、手動モード、オートマチック運転モード、又は一部の自動運転モードで走行することができる。
【００１５】
一実施形態において、自動運転車両１０１には、検知／計画システム１１０と、車両制御システム１１１と、無線通信システム１１２と、ユーザインターフェースシステム１１３と、センサシステム１１５とが含まれるが、それらに限定されない。自動運転車両１０１には、通常の車両に備えられている幾つかの常用的な部品、例えばエンジン、車輪、ハンドル、変速機などが更に備えられても良い。前記部品は、車両制御システム１１１及び／又は検知／計画システム１１０により複数種の通信信号及び／又は命令(commands)を使用して制御可能である。当該複数種の通信信号及び／又は命令(commands)は、例えば、加速信号又は命令(commands)、減速信号又は命令(commands)、操舵信号又は命令(commands)、ブレーキ信号又は命令(commands)などである。
【００１６】
部品１１０〜１１５は、インターコネクタ、バス、ネットワーク或いはそれらの組み合わせにより互いに通信接続することができる。例えば、部品１１０〜１１５は、コントローラローカルエリアネットワーク（ＣＡＮ）バスを介して互いに通信接続することができる。ＣＡＮバスは、ホストコンピュータなしのアプリケーションでマイクロコントローラ及びデバイスが相互に通信できるように設計された車両バス規格である。これは、もともと自動車内の多重電気配線のために設計されたメッセージベースのプロトコルであるが、他の多くの環境でも使用される。
【００１７】
ここで、図２を参照し、一実施形態において、センサシステム１１５は、一つ以上のカメラ２１１、全地球位置決めシステム（ＧＰＳ）ユニット２１２、慣性計測ユニット（ＩＭＵ）２１３、レーダユニット２１４及び光検出及び測距（ＬＩＤＡＲ）ユニット２１５を含むが、それらに限定されない。ＧＰＳシステム２１２は、送受信機を含むことができる。前記送受信機は、操作により自動運転車両の位置に関する情報を提供可能である。ＩＭＵユニット２１３は、慣性加速度に基いて自動運転車両の位置及び方位変化を検出することができる。レーダユニット２１４は、無線電気信号を利用して自動運転車両のローカル環境におけるオブジェクトを検知するシステムとして表すことができる。幾つかの実施形態において、オブジェクトの検知以外に、レーダユニット２１４は、付加的にオブジェクトの速度及び／又は進行方向も検知することができる。ＬＩＤＡＲユニット２１５は、レーザを使用して自動運転車両の位置する環境におけるオブジェクトを検知することができる。他のシステム部品以外に、ＬＩＤＡＲユニット２１５は、更に一つ以上のレーザ光源、レーザスキャナ及び一つ以上の検出器を含んでも良い。カメラ２１１は、自動運転車両の周囲環境の画像を採集する一つ以上の装置を含んでも良い。カメラ２１１は、静止物カメラ及び／又はビデオカメラであっても良い。カメラは、例えば、回転及び／又は傾斜のプラットフォームにカメラを取り付けることによって、機械的に移動されてもよい。
【００１８】
センサシステム１１５には、例えばソナーセンサ、赤外線センサ、操舵センサ、アクセルセンサ、ブレーキセンサ及びラジオセンサ（例えば、マイクロフォン）のような他のセンサが含まれても良い。ラジオセンサは、自動運転車両の周囲の環境から音声を取得するように配置されても良い。操舵センサは、ハンドル、車両の車輪又はそれらの組み合わせの操舵角を検出するように配置されても良い。アクセルセンサとブレーキセンサは、車両のアクセル位置とブレーキ位置をそれぞれ検出する。ある場合に、アクセルセンサとブレーキセンサは、集積型のアクセル／ブレーキセンサとして集積されても良い。
【００１９】
一実施形態において、車両制御システム１１１は、操舵ユニット２０１、アクセルユニット２０２（加速ユニットとも呼ばれる）とブレーキユニット２０３を含むが、それらに限定されない。操舵ユニット２０１は、車両の方向又は進行方向を調整するために用いられる。アクセルユニット２０２は、モータ又はエンジンの速度を制御するために用いられ、モータ又はエンジンの速度は更に車両の速度と加速度を制御するために用いられる。ブレーキユニット２０３は、摩擦を提供して車両の車輪又はタイヤを減速させることにより車両を減速させる。注意すべきなのは、図２に示された部品はハードウェア、ソフトウェア或いはそれらの組み合わせで実装することができる。
【００２０】
図１に戻し、無線通信システム１１２は、自動運転車両１０１と装置、センサ、他の車両などのような外部システムとの通信を許す。例えば、無線通信システム１１２は、一つ以上の装置と直接的に無線通信しても良く、或いは通信ネットワークを経由して無線通信し、例えばネットワーク１０２を経由してサーバ１０３〜１０４と通信しても良い。無線通信システム１１２は、如何なるセルラー通信ネットワーク又は無線ローカルエリアネットワーク（ＷＬＡＮ）、例えばＷｉＦｉを使用して他の部品又はシステムと通信することができる。無線通信システム１１２は、例えば赤外線リンク、ブルートゥース（登録商標）などを使用して装置（例えば、乗客の携帯装置、表示装置、車両１０１内のスピーカ）と直接的に通信する。ユーザインターフェースシステム１１３は、車両１０１内に実装される周辺機器の部分であっても良く、例えばキーボード、タッチパネル表示装置、マイクロフォン及びスピーカなどを含む。
【００２１】
自動運転車両１０１の機能のうちの一部又は全部は、特に自動運転モードで操作される場合に、検知／計画システム１１０により制御し又は管理されることができる。検知／計画システム１１０は、センサシステム１１５、制御システム１１１、無線通信システム１１２及び／又はユーザインターフェースシステム１１３から情報を受信し、受信された情報を処理し、開始点からオブジェクト点までの路線又は経路を計画した後に、計画と制御情報に基づいて車両１０１を運転するように、必要なハードウェア（例えば、プロセッサ、メモリ、記憶デバイス）とソフトウェア（例えば、操作システム、計画と路線設定プログラム）を含む。その代わりに、検知／計画システム１１０は車両制御システム１１１と一体に集積されても良い。
【００２２】
例えば、乗客であるユーザは、例えばユーザインターフェースを介してトリップの開始位置と目的地を指定することができる。検知／計画システム１１０はトリップに関連するデータを取得する。例えば、検知／計画システム１１０は、ＭＰＯＩサーバから位置と路線情報を取得することができる。前記ＭＰＯＩサーバはサーバ１０３〜１０４の一部であっても良い。位置サーバは位置サービスを提供し、ＭＰＯＩサーバは地図サービスとある位置のＰＯＩを提供する。その代わりに、このような位置とＭＰＯＩ情報は、ローカルに検知／計画システム１１０の不揮発性の記憶装置にキャッシュされても良い。
【００２３】
自動運転車両１０１が路線に沿って移動している場合に、検知／計画システム１１０は交通情報システム又はサーバ（ＴＩＳ）からリアルタイムの交通情報を取得することもできる。注意すべきなのは、サーバ１０３〜１０４は第三者のものに操作されても良い。その代わりに、サーバ１０３〜１０４の機能は検知／計画システム１１０と一体に集積されても良い。検知／計画システム１１０は、リアルタイム交通情報、ＭＰＯＩ情報と位置情報、及びセンサシステム１１５により検出され又は検知されるリアルタイムのローカル環境データ（例えば、障害物、オブジェクト、付近の車両）に基いて、最適な路線を計画し且つ計画された路線に従って例えば制御システム１１１を介して車両１０１を運転することにより、所定の目的地まで安全的且つ効率的に到達可能である。
【００２４】
サーバ１０３は、各種のクライアントに対してデータ解析サービスを実行するデータ解析システムであっても良い。一実施形態において、データ解析システム１０３は、データ採集器１２１と、機械学習エンジン１２２とを含む。データ採集器１２１は、複数種の車両（自動運転車両又は人間の運転者により運転される通常の車両）から運転統計データ１２３を採集する。運転統計データ１２３には、配布される運転命令(commands)（例えば、アクセル、ブレーキ、及び操舵の命令(commands)）を示す情報及び異なるタイミングで車両のセンサにより採集される車両の応答（例えば、速度、加速度、減速度、方向）を示す情報が含まれる。運転統計データ１２３は更に、異なるタイミングにおける運転環境を記述する情報、例えば、路線（出発位置と目的地の位置を含む）、ＭＰＯＩ、天気状況及び道路状況（例えば、高速道路における徐行、渋滞、交通事故、道路工事、一時迂回、未知の障害物など）を含んでも良い。  
【００２５】
機械学習エンジン１２２は、運転統計データ１２３に基いて、各種の目的のためにルールセット、アルゴリズム及び／又は予測モデル１２４を生成し訓練する。その内、２Ｄ境界枠をＡＤＶの画像取得装置により取得された画像において認識されたオブジェクトに描画するモデルが含まれる。アルゴリズム１２４は、オブジェクトの３Ｄ距離と方位を測定するためのアルゴリズムを更に含んでも良い。
【００２６】
図３Ａと図３Ｂは、一実施形態による自動運転車両と共に使用される検知／計画システムの例示を示すブロック図である。システム３００は、図１の自動運転車両１０１の一部として実装されても良く、検知／計画システム１１０、制御システム１１１とセンサシステム１１５を含むが、それらに限定されない。図３Ａ〜図３Ｂを参照し、検知／計画システム１１０には、測位モジュール３０１、検知モジュール３０２、予測モジュール３０３、策定モジュール３０４、計画モジュール３０５、制御モジュール３０６、路線設定モジュール３０７及びオブジェクト位置決めモジュール３０８が含まれるが、それらに限定されない。
【００２７】
モジュール３０１〜３０８のうち一部又は全部は、ソフトウェア、ハードウェア或いはそれらの組み合わせで実装されても良い。例えば、これらのモジュールは、不揮発性の記憶装置３５２にインストールされ、メモリ３５１にロードされ、且つ一つ以上のプロセッサ（図示しない）により実行されても良い。注意すべきなのは、これらのモジュールのうち一部又は全部は、通信可能に図２の車両制御システム１１１の一部又は全部のモジュールに接続され、或いはそれらと一体に集積されても良い。モジュール３０１〜３０８のうち一部は、一体に集積モジュールとして集積可能である。
【００２８】
測位モジュール３０１は、自動運転車両３００の現在位置を測定し（例えば、ＧＰＳユニット２１２を利用する）、ユーザのトリップ又は路線に関する如何なるデータを管理する。測位モジュール３０１（地図／路線モジュールと呼ばれる）はユーザのトリップ又は路線に関連する如何なるデータを管理する。ユーザは例えばユーザインターフェースを経由して登録してトリップの開始位置と目的地を指定することができる。測位モジュール３０１は自動運転車両３００における地図と路線情報３１１のような他の部品と通信してトリップに関するデータを取得する。例えば、測位モジュール３０１は位置サーバと地図／ＰＯＩ（ＭＰＯＩ）サーバから位置と路線情報を取得することができる。位置サーバは位置サービスを提供し、ＭＰＯＩサーバは地図サービスとある位置のＰＯＩを提供することにより、地図と路線情報３１１の一部としてキャッシュされることができる。自動運転車両３００が路線に沿って移動する際に、測位モジュール３０１は交通情報システム又はサーバからリアルタイムな交通情報を取得することもできる。
【００２９】
検知モジュール３０２は、センサシステム１１５により提供されたセンサデータと、測位モジュール３０１により取得されたポジショニング情報に基づいて、周囲の環境への検知を決定する。検知情報は、通常のドライバーがドライバーにより運転されている車両周囲において検知すべきものを示すことができる。検知は、例えばオブジェクトの形を採用する車線配置（例えば、直線車線又はカーブ車線）、信号機信号、他の車両の相対位置、歩行者、建築、横断歩道又は他の交通関連標識（例えば、停止標識、譲り標識）などを含むことができる。
【００３０】
検知モジュール３０２は、一つ以上のカメラにより採集される画像を処理し解析して自動運転車両の環境におけるオブジェクト及び／又は特徴を識別するように、コンピュータ視覚システム又はコンピュータ視覚システムの機能を含むことができる。前記オブジェクトは、交通信号、道路の境界、他の車両、歩行者及び／又は障害物などを含むことができる。コンピュータ視覚システムは、オブジェクト識別アルゴリズム、ビデオトラッキング及び他のコンピュータ視覚技術を使用することができる。幾つかの実施形態において、コンピュータ視覚システムは、環境地図を描画し、オブジェクトを追跡し、及びオブジェクトの速度などを推定することができる。検知モジュール３０２は、レーダ及び／又はＬＩＤＡＲのような他のセンサにより提供される他のセンサデータに基いてオブジェクトを検出することもできる。
【００３１】
オブジェクトごとについて、予測モジュール３０３はこの場合にオブジェクトがどのように動くかを予測する。前記予測は地図と路線情報３１１と交通ルール３１２のセットに基いて当該タイミングで運転環境が検知された検知データにより実行される。例えば、オブジェクトが反対の方向における車両であって且つ現在の運転環境に交差点が含まれている場合に、予測モジュール３０３は車両が直進し、又は曲がる可能性を予測する。検知データにより交差点において信号機がないと示された場合に、予測モジュール３０３は、車両が交差点に入る前に完全に停車する必要があると予測可能である。検知データにより車両が現在に左折車線又は右折車線に位置すると示された場合に、予測モジュール３０３は車両が左折又は右折の可能性が大きいと予測可能である。
【００３２】
オブジェクトごとに対して、策定モジュール３０４はオブジェクトをどのように処置するかについての決定を下す。例えば、特定のオブジェクト（例えば、交差の路線における他の車両）及びオブジェクトを描画するメタデータ（例えば、速度、方向、操舵角度）について、策定モジュール３０４は前記オブジェクトとどのように出会うか（例えば、追い越し、譲り、停止、追い抜き）を決定する。策定モジュール３０４は交通ルール又は運転ルール３１２のルールセットに基づいてこのような決定を下すことができる。前記ルールセットは不揮発性の記憶装置３５２に記憶されても良い。
【００３３】
路線設定モジュール３０７は、起点から終点までの一つ以上の路線又は経路を提供するように配置される。（例えばユーザから受け取られた）開始位置から目標位置までの所定のトリップについて、路線設定モジュール３０７は路線と地図情報３１１を取得し、開始位置から目標位置までの全ての走行可能な路線又は経路を決定する。路線設定モジュール３０７は、開始位置から目標位置までの各路線が決定された地形図による参照線を生成することができる。参照線は、例えば他の車両、障碍物又は交通状況からの干渉を受けない理想的な路線又は経路である。つまり、道路において他の車両、歩行者又は障害物がない場合に、ＡＤＶは参照線に従って精確的に又は緊密的に追随すべきである。そして、地形図を策定モジュール３０４及び／又は計画モジュール３０５に提供する。策定モジュール３０４及び／又は計画モジュール３０５は、他のモジュールにより提供された他のデータ（例えば測位モジュール３０１からの交通状况、検知モジュール３０２により検知された運転環境及び予測モジュール３０３により予測された交通状况）に基いて、全ての走行可能な路線を検査して最適路線のうちの何れか一つを選択し更新する。タイミングにおける特定の運転環境によっては、ＡＤＶを制御するための実際の経路又は路線は、路線設定モジュール３０７から提供された参照線と異なり又は近い可能性がある。
【００３４】
計画モジュール３０５は、検知されたオブジェクトのそれぞれに対する決定に基づいて、路線設定モジュール３０７により提供された参照線を基礎として、自動運転車両に経路又は路線及び運転パラメータ（例えば、距離、速度及び／又は操舵角度）を計画する。言い換えれば、所定のオブジェクトについて、策定モジュール３０４は当該オブジェクトに対してなにをするかを決定し、計画モジュール３０５はどのようにするかを決定する。例えば、所定のオブジェクトについて、策定モジュール３０４は前記オブジェクトを追い越すことを決定することができ、計画モジュール３０５は前記オブジェクトの左側か右側に追い越すことを決定することができる。計画と制御データは、計画モジュール３０５により生成され、車両３００が次の移動循環（例えば、次の路線／経路区間）においてどのように移動するかを描画する情報を含む。例えば、計画と制御データは、車両３００が３０マイル／時間（ｍｐｈ）の速度で１０メートルだけ移動し、その後に２５  ｍｐｈの速度で右側の車線に変更するように指示することができる。
【００３５】
制御モジュール３０６は、計画と制御データに基づいて、計画と制御データにより限定された路線又は経路に応じて適当な命令(commands)又は信号を車両制御システム１１１に送信することにより自動運転車両を制御し運転する。前記計画と制御データは、経路又は路線に沿って異なるタイミングで適当な車両設置又は運転パラメータ（例えば、アクセル、ブレーキ、及び操舵の命令(commands)）を使用することにより車両を路線又は経路の第一の点から第二の点まで運転するように十分な情報を有する。
【００３６】
計画段階は、複数の計画周期（運転周期とも呼ばれる）（例えば、１００ミリ秒（ｍｓ）の時間間隔毎）に実行される。各計画周期又は運転周期について、計画データと制御データに基いて一つ以上の制御命令(control commands)を発する。つまり、１００  ｍｓ毎に、計画モジュール３０５は次の路線区間又は経路区間を計画し、例えば、オブジェクト位置とＡＤＶがオブジェクト位置まで所要の時間が含まれる。その代わりに、計画モジュール３０５は更に具体的な速度、方向及び／又は操舵角などを規定することもできる。一実施形態において、計画モジュール３０５は、次の予定時間帯（例えば５秒）に対して路線区間又は経路区間を計画する。各計画周期について、計画モジュール３０５は前の周期において計画されたオブジェクト位置に基いて現在の周期（例えば、次の５秒）に用いるオブジェクト位置を計画する。そして、制御モジュール３０６は、現在の周期における計画データと制御データに基いて一つ以上の制御命令(control commands)（例えば、アクセル、ブレーキ、及び操舵の制御命令(control commands)）を生成する。
【００３７】
注意すべきなのは、策定モジュール３０４と計画モジュール３０５は、集積モジュールとして集積することができる。策定モジュール３０４／計画モジュール３０５は、自動運転車両の運転経路を決定するように、ナビゲーションシステム又はナビゲーションシステムの機能を具備することができる。例えば、ナビゲーションシステムは、自動運転車両が下記の経路に沿って移動することを実現する一連の速度と進行方向を決定することができる。前記経路は、自動運転車両を最終の目的地まで走行させる車線による経路に沿って進行させると共に、基本的に検知された障害物を回避して操縦できる。目的地は、ユーザインターフェースシステム１１３を経由して行われたユーザ入力に基づいて設定されても良い。ナビゲーションシステムは自動運転車両が運転していると同時に動的に運転経路を更新することができる。ナビゲーションシステムは、自動運転車両のための運転経路を決定するように、ＧＰＳシステムと一つ以上の地図中のデータを合併することができる。
【００３８】
策定モジュール３０４／計画モジュール３０５は、識別、推定及び回避、或いは他の手段で自動運転車両の環境における潜在の障害物を越えるように、更に衝突回避システム又は衝突回避システムの機能を具備する。例えば、衝突回避システムは、以下の手段で自動運転車両のナビゲーションにおける変化を実現することができる。即ち、操作制御システム１１１のうち一つ以上のサブシステムは操舵操作、回転操作、制動操作などを採用する。衝突回避システムは、周囲の交通モード、道路状況などに基いて自動的に実現可能な障害物回避操作を決定することができる。衝突回避システムは、他のセンサシステムにより自動運転車両が方向変更して進入しようとする隣接領域における車両、建築障害物などが検出された時に操舵操作を行わないように配置することができる。衝突回避システムは、使用可能で且つ自動運転車両の乗員の安全性を最大化させる操作を自動的に選択することができる。衝突回避システムは、自動運転車両の車室に最小値の加速度が発生させるように予測される回避操作を選択することができる。
【００３９】
一実施形態によれば、オブジェクト位置決めモジュール３０８は、オブジェクトの機械学習モデル（機械学習モデル３１３の一部として）により生成された２Ｄ境界枠に対応する３Ｄ位置を検索することができる。そして、ＡＤＶ  １０１は、オブジェクトの３Ｄ位置に基いて運転軌道を生成してＡＤＶを制御することができる。オブジェクト位置決めモジュール３０８は、検知モジュール３０２の一部として実現可能である。
【００４０】
図４は、一実施形態によるオブジェクト位置決めモジュールの例示を示すブロック図である。図４を参照し、オブジェクト位置決めモジュール３０８には、方位測定モジュール４０１と、サイズ測定モジュール４０３と、２Ｄ境界枠生成モジュール４０５と、３Ｄ距離測定モジュール４０７と、３Ｄセンターベクトル測定モジュール４０９とが備えられても良い。方位測定モジュール４０１はオブジェクトの方位を測定することができる。サイズ測定モジュール４０３はオブジェクトのサイズを測定することができる。２Ｄ境界枠生成モジュール４０５は、画像におけるオブジェクト毎に２Ｄ境界枠を生成することができる。３Ｄ距離測定モジュール４０７は、三次元座標系におけるＡＤＶからオブジェクトまでの距離を測定することができる。３Ｄセンターベクトル決定モジュール４０９は、三次元座標系におけるＡＤＶからオブジェクトまでのセンターベクトルを決定することができる。
【００４１】
図５Ａは一実施形態によるＡＤＶがオブジェクトを検知する例示を示すブロック図である。図５Ｂは一実施形態による、図５ＡにおけるＡＤＶ１０１の検知画面の画像と検知オブジェクトの投影の例示である。投影（例えば、投影５１１）と検出された２Ｄ境界枠（例えば、境界枠５０５）とを比較して検知オブジェクト（例えば、車両５０３）の３Ｄ距離を検索することができる。図４及び図５Ａ〜図５Ｂを参照し、一実施形態において、例示５００は、ＡＤＶ１０１と、ＡＤＶ１０１に取り付けられたカメラ２１１と、ＡＤＶ１０１の前方の道路区間を走行してくる車両５０３とを含むことにより、カメラ２１１により取得された画像（例えば、画像５０１）が車両５０３を取得する。ＡＤＶ１０１は、第一機械学習モデル（機械学習モデル３１３の一部として）を画像５０１に適用することにより、２Ｄ境界枠（例えば、車両５０３の境界枠５０５）、及び／又は取得された画像における各オブジェクトの３Ｄ境界枠から導出される２Ｄ境界枠を生成することができる。
【００４２】
方位測定モジュール（例えば図４の方位測定モジュール４０１）は、境界枠５０５に基いて、第二機械学習モデル（機械学習モデル３１３の一部として）を適用して車両５０３の方位（例えば、車両５０３のヨー（ｙａｗ）、ピッチ（ｐｉｔｃｈ）とロール（ｒｏｌｌ））及び／又は３Ｄサイズを測定することができる。一実施形態において、車両５０３の方位及び／又は３Ｄサイズを測定する前に、方位測定モジュール４０１は第三機械学習モデル（機械学習モデル３１３の一部として）及び／又は画像認識エンジン（検知モジュール３０２の一部として）に基づいてオブジェクト５０３を車両として分類し、且つ車両のモデル及び／又はタイプを決定する。ここで、オブジェクト５０３の分類、オブジェクト方位と３Ｄサイズの測定、及び２Ｄ境界枠の生成に用いられる第一機械学習モデル、第二機械学習モデル及び第三機械学習モデルは、複数種のタスクを実行するように予め訓練された同一又は異なる機械学習モデルであっても良い。例えば、第一機械学習モデル、第二機械学習モデル及び第三機械学習モデルは、サーバ１０３の予測モデル１２４の一部であっても良い。また、複数種の機械学習モデルとコンピュータ視覚アルゴリズムは、２Ｄ境界枠の生成、オブジェクトに対する分類及び分類されたオブジェクトの方位及び／又は３Ｄサイズの測定に用いられても良い。モデルとアルゴリズムには、回帰モデル、コンボリューションニューラルネットワーク、エリアコンボリューションニューラルネットワーク（例えば速い、及びより速いエリアコンボリューションニューラルネットワーク）、マスク（ｍａｓｋｅｄ）エリアコンボリューションニューラルネットワークなどが含まれるが、それらに限定されない。一実施形態において、車両５０３の寸法に合わせるように２Ｄ境界枠５０５を減縮する。例えば、境界枠の寸法（例えば、長さ又は幅）がその前の寸法と比べて所定の閾値まで達成し、或いは一定の回数のイテレーションが経過するまで、車両５０３における領域毎に線形的な回帰を応用して当該領域の緊密な境界枠の座標を生成することができる。
【００４３】
サイズ測定モジュール４０３は、既知のオブジェクト（例えば、車両）及び／又は既知の車両の既知のモデルタイプ及び既知の方位及び／又は３Ｄサイズに基づいて、３Ｄ枠（例えば、３Ｄビュー）を生成して既知の方位及び／又は３Ｄサイズを有する既知の車両を示すことができる。例えば、サイズ測定モジュール４０３は、車両５０３の既知の方位及び／又は３Ｄサイズ、及び既知のモデルタイプに基づいて３Ｄビュー５１１を生成することができる。そして、サイズ測定モジュール４０３は、サイズの異なる３Ｄビュー５１１を画像５０１の画像平面に投影する。３Ｄビュー５１１の異なる（例えば、異なるサイズの）投影図は、ＡＤＶ１０１から対応する３Ｄビュー５１１まで異なる距離を有する３Ｄビュー５１１の立体図に対応することができる。
【００４４】
３Ｄ距離測定モジュール４０７は、境界枠５０５の寸法（例えば、長さ又は幅）及び／又は面積、及び３Ｄビュー５１１の異なる（例えば、異なる３Ｄ距離の位置における異なるサイズと仮定する）投影ビューにより、２Ｄ境界枠５０５の同一の寸法（例えば、長さ、幅又は面積（例えば、長さ×幅））にベストマッチする寸法を有する３Ｄビュー５１１に基づいて対応する距離を測定することができる。一実施形態において、（検索アルゴリズム３１４の一部とする貪欲検索アルゴリズム、バイナリ検索アルゴリズム又は他の検索アルゴリズムを使用することにより）異なる投影ビューの３Ｄビュー５１１を検索して投影された３Ｄビュー５１１の寸法（例えば、長さ、幅又は面積（例えば、長さ×幅））を所定の閾値まで２Ｄ境界枠５０５の寸法に合わせ、或いは一定の回数のイテレーションが経過するまでＡＤＶから車両５０３までの距離を測定する。そして、２Ｄ境界枠５０５にベストマッチするサイズを有する投影ビューの３Ｄビュー５１１の対応距離は、ＡＤＶから車両５０３までの特定距離である。注意すべきなのは、貪欲アルゴリズムは、ヒューリスティック問題解決（例えば、幾つかの候補選択肢から解を求めて目標関数を求める）に従うアルゴリズムであって、段階毎にローカルな最適選択を行ってグローバルな最適を探し出そうとすることである。バイナリ検索は、ソートされた配列から目標値の位置を検索する検索アルゴリズムである。
【００４５】
図６Ａ〜図６Ｂは、一実施形態による立体図と平面図で示された、オブジェクトを検知するＡＤＶの例示を示すブロック図である。図６Ａを参照し、投影ビュー６１１は図５の３Ｄ投影ビュー５１１であっても良いが、２Ｄ境界枠５０５のオブジェクトの寸法にベストマッチするサイズを有する３Ｄオブジェクトの投影ビュー（例えば、３Ｄ枠）である。図６Ｂを参照し、投影ビュー６１１は関連付けられたオブジェクト中心位置６１３とオブジェクト中心位置６１３からカメラ２１１までの距離６１５を有する。ここで、距離６１５は予め規定された距離である。
【００４６】
一実施形態において、３Ｄセンターベクトル測定モジュール４０９は異なる３Ｄ投影ビュー６１１を画像平面（例えば、画像５０１の画像平面）に投影する。各３Ｄ投影ビュー６１１は異なるオブジェクト中心位置６１４（それに応じて、異なるオブジェクト中心位置６１３）に関連付けられたが、カメラ２１１までの同一のサイズ（例えば、同一の半径方向距離６１５）を有する。そして、２Ｄ境界枠５０５の２Ｄ中心は、異なる３Ｄ投影ビュー６１１に基づいて、幾つかの所定の閾値まで、或いは一定の回数のイテレーションが経過するまで、３Ｄ投影ビュー６１１の中心にベストマッチすることができる。ベストマッチである３Ｄ投影ビュー６１１のオブジェクト中心位置６１４に投影されたカメラ２１１からの斜線（距離６１５に等しい距離を有する）は、これから決定されたセンターベクトルになる。一実施形態において、（検索アルゴリズム３１４の一部として貪欲検索アルゴリズム、バイナリ検索又は他の検索アルゴリズムを使用する）異なるオブジェクト中心位置の座標を有するが、半径方向距離を一定に維持する（例えば、予め規定されたＡＤＶからオブジェクトまでの距離に等しい）異なる投影３Ｄビュー６１１を検索することにより、センターベクトルを決定する。
【００４７】
一実施形態において、投影されたオブジェクト中心位置６１３を２Ｄ境界枠５０５の中点として初期化することにより検索を実行することができる。そして、検索は、投影６１１のオブジェクト中心がほぼ２Ｄ境界枠５０５の２Ｄ中心における水平軸の中央に位置するまで、左か右へ投射された画像をシフトする。そして、検索は、投影６１１のオブジェクト中心がほぼ２Ｄ境界枠５０５の２Ｄ中心における垂直軸の中央に位置するまで、上か下へ投影された画像をシフトすることができる。そして、ベストマッチした次元を有する投影ビュー６１１は、オブジェクト中心位置を決定するための最適候補になる。そして、投影ビュー６１１に関わるオブジェクト中心位置はセンターベクトルの決定に用いられる。
【００４８】
センターベクトルが決定されると、車両５０３のＡＤＶ１０１に対する３Ｄ位置はカメラ座標において既知である。そして、予測モジュール３０３、策定モジュール３０４及び／又は計画モジュール３０５は、オブジェクト（例えば、車両５０３）のセンターベクトルを使用して運転軌道を生成することにより、車両５０３に応じてＡＤＶ１０１を制御する。幾つかの実施形態において、二つ又はそれ以上のオブジェクトの３Ｄ位置（例えば、センターベクトル）を決定しても良く、例えば、二つ又はそれ以上のオブジェクトについて取得された画像の二つ又はそれ以上の２Ｄ境界枠を取得する。幾つかの実施形態において、センターベクトルは一つの座標系から他の座標系へ転換可能である。例えば、カメラ２１１が校正されると、決定されたセンターベクトルは、既知の校正パラメータにより、カメラ座標から実世界座標へ転換し、或いは実世界座標からカメラ座標へ転換することができる。
【００４９】
図７は一実施形態によるＡＤＶにより実行される方法を示したフローチャートである。フロー７００は処理ロジックにより実行可能である。処理ロジックは、ソフトウェア、ハードウェア又はそれらの組合せを含んでも良い。例えば、フロー８００は図３Ａのオブジェクト位置決めモジュール３０８により実行可能である。図７を参照し、ブロック７０１において、処理ロジックはＡＤＶに取り付けられた画像取得装置によりＡＤＶの立体図からオブジェクトを検知する。ブロック７０２において、処理ロジックは画像取得装置により取得されたオブジェクトの画像に基づいてオブジェクトの２Ｄ境界枠を生成する。ブロック７０３において、処理ロジックはオブジェクトの画像に基づいてオブジェクトの方位と３Ｄサイズを測定する。ブロック７０４において、処理ロジックはオブジェクトの方位と３Ｄサイズに基づいてオブジェクトの三次元（３Ｄ）ビューを画像に投影する。ブロック７０５において、処理ロジックはオブジェクトの３Ｄビューと生成された２Ｄ境界枠に基づいてＡＤＶからオブジェクトまでの距離を測定する。ブロック７０６において、選択的に、処理ロジックは、ＡＤＶがオブジェクトを回避して操縦できるように運転を制御するように、測定されたＡＤＶから当該オブジェクトまでの距離に応じて軌道を生成する。
【００５０】
一実施形態において、機械学習モデルを取得されたオブジェクトの画像に適用し、機械学習モデルによりオブジェクトを囲む２Ｄ境界枠の長さ、幅又は面積を測定することにより、オブジェクトの２Ｄ境界枠を生成する。他の実施形態において、処理ロジックは更に、投影画像の寸法が２Ｄ境界枠の幅又は高さの所定の閾値内になるまで、貪欲検索アルゴリズムにより投影画像のサイズを検索し、且つ当該サイズに基づいてＡＤＶから目までの距離を測定する。他の実施形態において、処理ロジックは、投影画像のサイズが２Ｄ境界枠の幅、高さ又は面積の所定の閾値内になるまで、バイナリ検索アルゴリズムにより投影画像のサイズを検索する。そして、処理ロジックは検索されたサイズに基づいてＡＤＶからオブジェクトまでの距離を測定する。
【００５１】
一実施形態において、処理ロジックは更に測定されたオブジェクトまでの距離に基づいてオブジェクトまでのセンターベクトルを決定する。なお、センターベクトルは、軌道を生成してＡＤＶを制御するように利用可能である。図８は一実施形態によるＡＤＶにより実行される方法を示したフローチャートである。フロー８００は処理ロジックにより実行可能である。処理ロジックは、ソフトウェア、ハードウェア又はそれらの組合せを含んでも良い。例えば、フロー８００は図３Ａのオブジェクト位置決めモジュール３０８により実行可能である。図８を参照し、ブロック８０１において、処理ロジックは、投影オブジェクトの中心がほぼ２Ｄ境界枠の２Ｄ中心における水平軸の中央に位置するまで、左か右へ投影オブジェクトをシフトする。ブロック８０２において、処理ロジックは、投影オブジェクトの中心がほぼ２Ｄ境界枠の２Ｄ中心における垂直軸の中央に位置するまで、上か下へ投影オブジェクトをシフトする。ブロック８０３において、処理ロジックは、投影オブジェクトのシフトと予め規定されたオブジェクトまでの距離に基いてセンターベクトルを決定する。ブロック８０４において、選択的に、処理ロジックは決定されたオブジェクトまでのセンターベクトルに基いてＡＤＶを制御する。
【００５２】
注意すべきなのは、いままで示され説明された部品における一部又は全部がソフトウェア、ハードウェア又はそれらの組み合わせで実装可能なことである。例えば、このような部品は不揮発性の記憶装置にインストールされ記憶されるソフトウェアとして実装可能である。前記ソフトウェアは、プロセッサ（図示しない）によりメモリにロードされてメモリに実行されることにより本願の全文に記述されたプロセス又は操作を実装することができる。その代わりに、このような部品は、専用ハードウェア（例えば、集積回路（例えば、専用集積回路又はＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）或いはフィールドプログラマブルゲートアレイ（ＦＰＧＡ））にプログラミングされ、或いは組み込まれた実行可能なコードとして実装可能である。前記実行可能なコードは、アプリからの相応的なドライブプログラム及び／又は操作システムを介してアクセス可能である。また、そのような部品はプロセッサ又はプロセッサのコアにおける特定なハードウェアロジックとして実装され、ソフトウェア部品により一つ以上の特定なコマンドを介してアクセスされるコマンドセットの一部とすることができる。
【００５３】
図９は本発明の一実施形態と共に使用可能なデータ処理システムの例示を示すブロック図である。例えば、システム１５００は、以上で説明された前記プロセス又は方法の何れか一つを実行する如何なるデータ処理システム、例えば、図１の検知／計画システム１１０又はサーバ１０３〜１０４のうちの何れか一つを示すことができる。システム１５００は異なる部品を多く具備することができる。これらの部品は、集積回路（ＩＣ）、集積回路の一部、独立な電子装置又はプリント基板（例えば、コンピュータシステムのマザーボード又はインサートカード）に適用される他のモジュールとして実行可能し、或いは他の方式でコンピュータシステムのフレームに設置される部品として実装可能である。
【００５４】
注意すべきなのは、システム１５００はコンピュータシステムの複数の部品のハイレベルビューを示したことである。理解すべきなのは、幾つかの実施例に付加的な部品を具備しても良く、また他の実施例に示された部品の異なる配置を具備しても良いことである。システム１５００は、デスクトップコンピュータ、ノードパソコン、タブレット、サーバ、モバイルフォン、メディアプレーヤ、パーソナルデジタルアシスタント（ＰＤＡ）、スマート腕時計、パーソナル通信機、ゲーム装置、ネットワークルータ又はハブ、無線アクセスポイント（ＡＰ）又はリピータ、セットトップボックス或いはそれらの組み合わせを示すことができる。また、単一の機器又はシステムが示されたが、単語「機器」又は「システム」は更に一つ（又は複数の）コマンドセットを単独で或いは協同的に実行することにより、本文に説明された任意の一つ以上の方法を実行する機器或いはシステムの如何なるセットを含むことを理解すべきである。
【００５５】
一実施形態において、システム１５００は、バス又はインターコネクタ１５１０を介して接続されるプロセッサ１５０１、メモリ１５０３及び装置１５０５〜１５０８を具備する。プロセッサ１５０１は、そのうちに単一のプロセッサコア、又は複数のプロセッサコアの単一のプロセッサ、又は複数のプロセッサが含まれることを表すことができる。プロセッサ１５０１は、一つ以上の汎用プロセッサ、例えばマイクロプロセッサ、中央処理ユニット（ＣＰＵ）などを表すことができる。具体的に、プロセッサ１５０１は複雑コマンドセット演算（ＣＩＳＣ）マイクロプロセッサ、簡単コマンドセット演算（ＲＩＳＣ）マイクロプロセッサ、超長コマンドワード（ＶＬＩＷ）マイクロプロセッサ、或いは他のコマンドセットを実行するプロセッサ、或いはコマンドセットの組み合わせを実行するプロセッサであっても良い。プロセッサ１５０１は更に一つ以上の専用プロセッサ、例えば専用集積回路（ＡＳＩＣ）、セルラー又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、図形プロセッサ、通信プロセッサ、暗号化プロセッサ、セカンドプロセッサ、組み込みプロセッサ、或いはコマンドを処理可能な任意の他のタイプのロジックであっても良い。
【００５６】
プロセッサ１５０１（ローパワーマルチコアプロセッサソケット、例えば超低電圧プロセッサであっても良い）は前記システムの各部品と通信用のメイン処理ユニットと中央ハブとして使用可能である。このようなプロセッサは、チップ上システム（ＳｏＣ）として実装可能である。プロセッサ１５０１は、本文に説明された処理及びステップを実行するためのコマンドを実行するように配置される。システム１５００は更に選択可能な図形サブシステム１５０４と通信するための図形インターフェースを含んでも良い。図形サブシステム１５０４は、表示コントローラ、図形プロセッサ及び／又は表示装置を含んでも良い。
【００５７】
プロセッサ１５０１はメモリ１５０３と通信可能である。ある実施形態において、メモリ１５０３は複数のメモリ装置を介して実装されることにより定量のシステム記憶が提供可能である。メモリ１５０３は、一つ以上の揮発性の記憶装置（或いはメモリ）、例えばランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）又は他のタイプの記憶装置を含んでも良い。メモリ１５０３はプロセッサ１５０１又は他の任意の装置により実行されるコマンドシーケンスを含む情報を記憶可能である。例えば、各操作システム、装置ドライブプログラム、ファームウェア（例えば、入出力基盤システム又はＢＩＯＳ）及び／又はアプリの実行可能なコード及び／又はデータは、メモリ１５０３にロードされ且つプロセッサ１５０１により実行可能である。操作システムは、任意のタイプの操作システム、例えばロボット操作システム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）会社からのＷｉｎｄｏｗｓ（登録商標）操作システム、アップル会社からのＭａｃ  ＯＳ（登録商標）／ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）会社からのＡｎｄｒｏｉｄ（登録商標）、ＬＩＮＵＸ、ＵＮＩＸ（登録商標）、或いは他のリアルタイム又は組み込み操作システムであっても良い。
【００５８】
システム１５００は更にＩＯ装置、例えばネットワークインターフェース装置１５０５、選択可能な入力装置１５０６、及び他の選択可能なＩＯ装置１５０７を含む装置１５０５〜１５０８を含む。ネットワークインターフェース装置１５０５は、無線送受信機及び／又はネットワークインターフェースカード（ＮＩＣ）を含んでも良い。前記無線送受信機は、ＷｉＦｉ送受信機、赤外線送受信機、ブルートゥース（登録商標）送受信機、ＷｉＭａｘ送受信機、無線セルラー電話送受信機、衛星送受信機（例えば、グロバールポジションシステム（ＧＰＳ）送受信機）、他の無線周波数（ＲＦ）送受信機或いはそれらの組み合わせであっても良い。ＮＩＣはイーサネット（登録商標）カードであっても良い。
【００５９】
入力装置１５０６は、マウス、タッチパネル、タッチセンシティブスクリーン（表示装置１５０４と一体化に集積可能）、指示装置（例えばスタイラス）及び／又はキーボード（例えば、物理キーボード又はタッチセンシティブスクリーンの一部として表示される仮想キーボード）を含んでも良い。例えば、入力装置１５０６はタッチパネルに接続されるタッチパネルコントローラを含んでも良い。タッチパネルとタッチパネルコントローラは、例えば複数種類のタッチセンシティブ技術（コンデンサ、抵抗、赤外と表面弾性波技術を含むが、それらに限定されない）のうちの何れか一つ、及び他の近隣センサアレイ又はタッチパネルと接触する一つ以上のポイントを特定するための他の素子を利用してその接触、移動又は中断を検出する。
【００６０】
ＩＯ装置１５０７はラジオ装置を含んでも良い。ラジオ装置は、例えば音声識別、音声複製、デジタル記録及び／又は電話機能のような音声をサポートする機能を促進するように、スピーカ及び／又はマイクロフォンを含んでも良い。他のＩＯ装置１５０７は、ユニバーサルシリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、プリンター、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計のような運動センサ、ジャイロ、磁力計、光センサ、コンパス、近接センサなど）或いはそれらの組み合わせを更に含んでも良い。装置１５０７は画像形成処理サブシステム（例えば、カメラ）を含んでも良い。前記画像形成処理サブシステムは、カメラ機能（例えば、写真とビデオセグメントを記録する）を促進するための光学センサ、例えば電荷結合装置（ＣＣＤ）又は相補型金属酸化物半導体（ＣＭＯＳ）の光学センサを含んでも良い。幾つかのセンサはセンサハブ（図示しない）を介してインターコネクタ１５１０に接続されても良い。キーボード又は熱センサのような他の装置は、システム１５００の具体的な配置又は設計に応じて組み込みコントローラ（図示しない）により制御されても良い。
【００６１】
例えばデータ、アプリ、一つ以上の操作システムなどの情報の不揮発性の記憶を提供するために、大容量の記憶デバイス（図示しない）はプロセッサ１５０１に接続されても良い。各実施形態において、より薄い且つより軽いシステム設計を実現すると共にシステムの応答性を改善するために、このような大容量の記憶デバイスは、ソリッドステートデバイス（ＳＳＤ）により実装されても良い。ところが、他の実施形態において、大容量の記憶デバイスは、主にハードディスクドライバー（ＨＤＤ）を使用して実装されても良い。そのうち、容量の小さいＳＳＤ記憶デバイスは、ＳＳＤキャッシュとして使用されて断電の間にコンテキスト及び他の類似の情報の不揮発性の記憶を実現することにより、システムの動作が再起動される時に快速給電を実現することができる。また、フラッシュメモリは、例えばシリアルペリフェラルインターフェース（ＳＰＩ）を介してプロセッサ１５０１に接続されても良い。このようなフラッシュメモリは、システムソフトウェアの不揮発性の記憶を提供することができる。前記システムソフトウェアには、前記システムのＢＩＯＳ及び他のファームウェアが含まれる。
【００６２】
記憶装置１５０８は、本文に記載された任意の一つ以上の方法或いは機能を表す一つ以上のコマンドセット又はソフトウェア（例えば、モジュール、ユニット及び／又はロジック１５２８）が記憶されるコンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体或いはコンピュータ可読記憶媒体とも呼ばれる）を含んでも良い。処理モジュール／ユニット／ロジック１５２８は、前記部品のうちの何れか一つ、例えば図３Ａのオブジェクト位置決めモジュール３０８を示すことができる。処理モジュール／ユニット／ロジック１５２８は、データ処理システム１５００、メモリ１５０３及びプロセッサ１５０１により実行される間に完全的又は少なくとも一部的にメモリ１５０３内及び／又はプロセッサ１５０１内に保存されても良い。データ処理システム１５００、メモリ１５０３及びプロセッサ１５０１も機械可読記憶媒体として構成される。処理モジュール／ユニット／ロジック１５２８は、ネットワークによりネットワークインターフェース装置１５０５を介して伝送し又は受信可能である。
【００６３】
コンピュータ可読記憶媒体１５０９は、以上で説明された幾つかのソフトウェア機能を永遠に記憶しても良い。コンピュータ可読記憶媒体１５０９は、例示的な実施形態において単一の記憶媒体として示されたが、「コンピュータ可読記憶媒体」という用語は前記一つ以上のコマンドセットを記憶する単一以上の記憶媒体（例えば、集中式又は分散式のデータベース及び／又は関連のキャッシュ及びサーバ）を含むと理解すべきである。「コンピュータ可読記憶媒体」という用語は、コマンドセットを記憶し又はコーディング可能な任意の記憶媒体を含むと理解すべきである。前記コマンドセットは、機器により実行され且つ前記機器に本願の任意の一つ以上の方法を実行させるために用いられる。従って、「コンピュータ可読記憶媒体」という用語は、固体メモリ及び光学記憶媒体及び磁気記憶媒体、或いは如何なる他の不揮発性の機械可読記憶媒体を含むと理解すべきであるが、それらに限定されない。
【００６４】
本文に記載の処理モジュール／ユニット／ロジック１５２８、部品及び他の特徴は、独立なハードウェア部品として実装され、又はハードウェア部品（例えば、ＡＳＩＣＳ、ＦＰＧＡ、ＤＳＰ又は類似の装置）の機能に集積されるように実装可能である。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置におけるファームウェア又は機能回路として実装可能である。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置とソフトウェア部品の如何なる組み合わせで実装されても良い。
【００６５】
注意すべきなのは、システム１５００はデータ処理システムの各部品を備えると示されたが、部品の接続の如何なる特定な構成又は手段を示すわけではないことである。これは、このような詳細が本願の実施形態と緊密な関係を有していないからである。更に、より少ない部品を持ち、或いはより多い部品を持ち可能なネットワークコンピュータ、携帯コンピュータ、モバイルフォン、サーバ及び／又は他のデータ処理システムも本願の実施形態と共に使用可能と理解すべきである。
【００６６】
前記の詳しい説明における幾つかの部分は、既にコンピュータメモリ内にデータビットに対する演算のアルゴリズムと符号標記により表された。これらのアルゴリズムの説明及び標記は、データ処理分野における技術者により使用される方式であり、彼らの作業の意図を効率的に当分野の他の技術者に伝達する。本文において、アルゴリズムは一般的に所望の結果を引き起こすセルフコンシステント操作シーケンスであると考えられる。これらの操作は物理量に対する物理的な制御の必要がある操作である。
【００６７】
ところが、理解すべきなのは、全てのこれらと類似する用語は、何れも適当な物理量に関連させると意味し、且つこれらの量に適用する便利な標識に過ぎないことである。上記の論述に他の方式で明確に指定される場合以外、全明細書において、用語（例えば付加の特許請求の範囲に記載される用語）で行われた論述はコンピュータシステム又は類似の電子演算装置の動作及び処理であると理解すべきである。前記コンピュータシステム又は電子演算装置は、コンピュータシステムのレジスタとメモリに物理（電子）量として表されるデータを制御し、前記データをコンピュータシステムメモリ、レジスタ、他の類似の情報記憶デバイス、伝送又は表示装置に同様に物理量として表される他のデータに変換する。
【００６８】
本願の実施形態は更に本文における処理を実行するデバイスに関する。このようなコンピュータプログラムは不揮発性のコンピュータ可読記憶媒体に記憶される。機械可読記憶媒体は、機械（例えば、コンピュータ）可読な形で情報を記憶する如何なる機構を含む。例えば、機械可読（例えば、コンピュータ可読）な記憶媒体は、機械（例えば、コンピュータ）可読な記憶媒体（例えば、読み出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置）を含む。
【００６９】
前記の図面に描画されるプロセス又は方法は処理ロジックにより実行されても良い。前記処理ロジックは、ハードウェア（例えば、回路、専用ロジック等）、ソフトウェア（例えば、不揮発性のコンピュータ可読記憶媒体として表す）或いは両者の組み合わせを含む。前記過程又は方法は前記の記載において所定の順序に従う操作として説明されたが、前記操作のうちの一部が異なる順序に従って実行可能と理解すべきである。また、一部の操作は順序での実行ではなく、並行に実行可能である。
【００７０】
本願の実施形態は、如何なる特定のプログラミング言語に従って説明することではない。理解すべきなのは、複数のプログラミング言語を使用して本文に記載された本願の実施形態を実装することができることである。
【００７１】
以上の明細書において、既に本願の具体的な例示的実施形態を参照して本願の実施形態を説明した。明らかに、付加の特許請求の範囲に記載の本願のより広い主旨及び範囲から逸脱されない場合に、本願に対する各修正が可能である。よって、制限的な意味ではなく、説明的な意味で本明細書及び図面を理解すべきである。
【外国語明細書】
2019182411000001.pdf