(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-15
(45)【発行日】2022-08-23
(54)【発明の名称】トレーラ牽引カプラの中心を求める装置および方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20220816BHJP
【FI】
G06T7/00 650
(21)【出願番号】P 2020560265
(86)(22)【出願日】2019-04-26
(86)【国際出願番号】 US2019029310
(87)【国際公開番号】W WO2019210142
(87)【国際公開日】2019-10-31
【審査請求日】2020-12-16
(32)【優先日】2018-04-27
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-04-25
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】313005662
【氏名又は名称】コンチネンタル オートモーティブ システムズ インコーポレイテッド
【氏名又は名称原語表記】CONTINENTAL AUTOMOTIVE SYSTEMS, INC.
【住所又は居所原語表記】1 Continental Drive, Auburn Hills, Michigan 48326-1581, USA
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100135633
【氏名又は名称】二宮 浩康
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】ジョイス チェン
(72)【発明者】
【氏名】シン ユー
(72)【発明者】
【氏名】ジュリアン イプ
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2007-108159(JP,A)
【文献】特開2005-112004(JP,A)
【文献】特開2016-203972(JP,A)
【文献】特表2017-502866(JP,A)
【文献】特開2017-076833(JP,A)
【文献】特開2002-312768(JP,A)
【文献】特開2002-308029(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 1/00
H04N 7/18
G08G 1/00
B60R 21/00
(57)【特許請求の範囲】
【請求項1】
牽引車両の後方に配置されているターゲットの位置を求める方法であって、
データ処理ハードウェアで、前記牽引車両の後部に配置されており、かつ前記データ処理ハードウェアと通信するカメラから、前記ターゲットが含まれている画像を受け取るステップと、
前記データ処理ハードウェアによって、1つまたは複数のフィルターバンクを前記画像に適用するステップと、
前記データ処理ハードウェアによって、適用された前記フィルターバンクに基づいて、各画像内の、前記ターゲットが含まれている関心領域を決定するステップと、
前記データ処理ハードウェアによって、前記関心領域内の前記ターゲットを識別するステップと、
前記データ処理ハードウェアによって、現実世界の座標系における位置を含む、前記ターゲットのターゲット位置を求めるステップと、
前記データ処理ハードウェアから、前記車両によって支持されており、かつ前記データ処理ハードウェアと通信する駆動システムに指示を伝送するステップと、
を含み、
前記指示によって、前記現実世界の座標系における前記位置に向かう、前記牽引車両の自律的な操縦が行わ
れ、
前記方法はさらに、
前記データ処理ハードウェアで、前記データ処理ハードウェアと通信するハードウェアメモリ内に格納されているトレーニング画像を受け取るステップと、
前記データ処理ハードウェアによって、受け取った各画像内の、ターゲットが含まれているトレーニング関心領域を決定するステップと、
前記データ処理ハードウェアによって、各トレーニング関心領域内の前記1つまたは複数のフィルターバンクを決定するステップと、
を含む、方法。
【請求項2】
さらに、
識別された前記ターゲットに向かう、前記牽引車両の自律的な操縦の間、前記データ処理ハードウェアによって、前記ターゲットを追跡するステップと、
前記データ処理ハードウェアによって、更新されたターゲット位置を求めるステップと、
前記データ処理ハードウェアから、更新された指示を前記駆動システムに伝送するステップと、
を含み、
前記更新された指示によって、前記更新されたターゲット位置に向かう、前記牽引車両の自律的な操縦が行われる、
請求項1記載の方法。
【請求項3】
前記カメラは、魚眼画像を捕捉する魚眼カメラを含む、請求項1
または2記載の方法。
【請求項4】
さらに、
前記データ処理ハードウェアによって、前記1つまたは複数のフィルターバンクを適用する前に、前記魚眼画像を修正するステップを含む、請求項3記載の方法。
【請求項5】
さらに、
前記データ処理ハードウェアによって、前記ターゲットの中心を識別するステップを含み、前記ターゲット位置は前記ターゲットの前記中心の位置を含む、請求項
1から4までのいずれか1項記載の方法。
【請求項6】
前記ターゲットは、トレーラによって支持されている牽引バー・カプラのカプラである、請求項1
から5までのいずれか1項記載の方法。
【請求項7】
前記画像は、前記牽引バー・カプラのトップダウンビューである、請求項
6記載の方法。
【請求項8】
前記ターゲットは前記牽引車両の後方に配置されているトレーラであり、前記ターゲット位置は牽引バーでのトレーラ底部中心の位置である、請求項1
から7までのいずれか1項記載の方法。
【請求項9】
前記画像は、前記トレーラの斜視図である、請求項
8記載の方法。
【請求項10】
牽引車両の後方に配置されているターゲットの位置を求めるシステムであって、
データ処理ハードウェアと、
前記データ処理ハードウェアと通信するメモリハードウェアと、
を含み、
前記メモリハードウェアは、前記データ処理ハードウェア上で実行されると、前記データ処理ハードウェアに動作を実行させる指示を格納し、
前記動作は、
前記牽引車両の後部に配置されており、かつ前記データ処理ハードウェアと通信するカメラから、前記ターゲットを含む画像を受け取ることと、
1つまたは複数のフィルターバンクを前記画像に適用することと、
適用された前記フィルターバンクに基づいて、各画像内の、前記ターゲットを含む関心領域を決定することと、
前記関心領域内の前記ターゲットを識別することと、
現実世界の座標系における位置を含む、前記ターゲットのターゲット位置を求めることと、
前記車両によって支持されており、かつ前記データ処理ハードウェアと通信する駆動システムに指示を伝送することと、
を含み、
前記指示によって、前記現実世界の座標系における前記位置に向かう、前記牽引車両の自律的な操縦が行わ
れ、
前記動作はさらに、
前記データ処理ハードウェアと通信するハードウェアメモリ内に格納されているトレーニング画像を受け取ることと、
受け取った各画像内の、ターゲットを含むトレーニング関心領域を決定することと、
各トレーニング関心領域内の前記1つまたは複数のフィルターバンクを決定することと、
を含む、システム。
【請求項11】
前記動作はさらに、
識別された前記ターゲットに向かう、前記牽引車両の自律的な操縦の間、前記ターゲットを追跡することと、
更新されたターゲット位置を求めることと、
更新された指示を前記駆動システムに伝送することと、
を含み、
前記更新された指示によって、前記更新されたターゲット位置に向かう、前記牽引車両の自律的な操縦が行われる、
請求項
10記載のシステム。
【請求項12】
前記カメラは、魚眼画像を捕捉する魚眼カメラを含む、請求項
10または11記載のシステム。
【請求項13】
前記動作はさらに、
前記1つまたは複数のフィルターバンクを適用する前に、前記魚眼画像を修正することを含む、請求項
12記載のシステム。
【請求項14】
前記動作はさらに、
前記ターゲットの中心を識別することを含み、前記ターゲット位置には前記ターゲットの前記中心の位置を含む、請求項
10から13までのいずれか1項記載のシステム。
【請求項15】
前記ターゲットは、トレーラによって支持されている牽引バー・カプラのカプラである、請求項
10から14までのいずれか1項記載のシステム。
【請求項16】
前記画像は、前記牽引バー・カプラのトップダウンビューである、請求項
15記載のシステム。
【請求項17】
前記ターゲットは前記牽引車両の後方に配置されているトレーラであり、前記ターゲット位置は牽引バーでのトレーラ底部中心の位置である、請求項
10から16までのいずれか1項記載のシステム。
【請求項18】
前記画像は、前記トレーラの斜視図である、請求項
17記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、トレーラ牽引カプラの中心を求める装置および方法に関する。
【0002】
背景
トレーラは通常、動力を備えた牽引車両によって引っ張られる無動力の車両である。トレーラを、他にもある中で特に、ユーティリティトレーラ、ポップアップ式キャンピングカー、旅行用トレーラ、家畜用トレーラ、平床式トレーラ、有蓋車両輸送トレーラおよびボートトレーラとすることができる。牽引車両を、乗用車、クロスオーバー車、トラック、バン、スポーツ・ユーティリティ・ビークル(SUV)、レクレーショナル・ビークル(RV)、またはトレーラに取り付けてトレーラを引っ張るように構成されている他の任意の車両とすることができる。トレーラヒッチを用いて、トレーラを動力車両に取り付けることができる。受け側ヒッチが牽引車両に装備されており、これがトレーラヒッチと接続されて接続が形成される。
【0003】
いくつかの例では、トレーラは、カプラタング(すなわちトレーラヒッチ)、カプラタングをトレーラに接続する牽引バー、トレーラホイールの車軸中心を中心に旋回する、車両に接続する前にトレーラを支持するためのジャッキ支持を含んでいる。トレーラの接続および特徴は非常に多様である。たとえば、トレーラ・牽引バー・カプラの特徴には、様々な形状、色、牽引バーのタイプ、カプラのタイプ、ジャッキ支持のタイプ、トレーラのフレームへのタングのアタッチメント、ジャッキ支持の位置、トレーラが支持する追加の物体、トレーラのサイズ、可搬重量および車軸の数が含まれる。したがって、上述の特徴の様々な組み合わせによって、多くの異なるトレーラモデルが生じ、これによってトレーラタイプは非常に多様になる。さらに、いくつかの例では、トレーラの所有者は自身のトレーラをパーソナライズする。これによって、トレーラはさらに多様になる。したがって、車両の後方に配置されているトレーラを識別するように構成されているトレーラ検出システムを有する車両は、利用可能なトレーラのタイプが様々であるため、トレーラまたはトレーラヒッチを識別するのに困難を伴う場合がある。さらに、識別を難しくする、草地、未舗装道路、浜辺等の、手入れの行き届いた道路以外の様々な表面にトレーラが配置される可能性があるため、車両識別システムは、車両の後方に配置されているトレーラを識別するのに困難を伴う場合がある。現在のトレーラ識別システムでは、識別システムがそれ以前にこの種の環境を格納していない場合、識別システムはトレーラを識別することができない。さらに、視覚ベースのアプローチを使用してトレーラを検出する現在のトレーラ識別システムは、トレーラ特徴、すなわち牽引バー、カプラの特徴を一般化する傾向があり、その結果、一般的でない特徴を有しているトレーラまたはカスタマイズされたトレーラまたは一般的でない環境(すなわち、手入れの行き届いた道路とは異なる環境)にあるパーソナライズされたトレーラを検出することができない。さらに、種々のトレーラを検出するためのトレーラ識別システムハードウェアの製造は、大量のデータ処理が必要となるため、非常にコストがかかる。したがって、現在のトレーラ検出システムは、トレーラが複数あるシナリオにおいて、特定のトレーラの組み合わせを区別することができない。
【0004】
形状およびその上にトレーラが配置されている表面に関係なく、トレーラ・牽引バー・カプラの組み合わせを迅速かつ容易に識別することによって、上述の問題に取り組むシステムを有することが望ましい。
【0005】
概要
本開示の一態様は、牽引車両の後方に配置されているターゲットの位置を求める方法を提供する。この方法は、データ処理ハードウェアで、牽引車両の後部に配置されており、かつデータ処理ハードウェアと通信するカメラから画像を受け取ることを含んでいる。画像にはターゲットが含まれている。この方法は、データ処理ハードウェアによって、1つまたは複数のフィルターバンクを画像に適用することも含んでいる。この方法は、データ処理ハードウェアによって、適用されたフィルターバンクに基づいて、各画像内の関心領域を決定することを含んでいる。関心領域にはターゲットが含まれている。この方法は、データ処理ハードウェアによって、関心領域内のターゲットを識別することも含んでいる。この方法は、データ処理ハードウェアによって、現実世界の座標系における位置を含んでいる、ターゲットのターゲット位置を求めることも含んでいる。この方法は、データ処理ハードウェアから、車両によって支持されており、かつデータ処理ハードウェアと通信する駆動システムに指示を伝送することも含んでいる。この指示によって、現実世界の座標系における位置に向かう、牽引車両の自律的な操縦が行われる。
【0006】
本開示の実施形態は、以降の任意の特徴のうちの1つまたは複数を含んでいてよい。いくつかの実施形態では、この方法はさらに、識別されたターゲットに向かう、牽引車両の自律的な操縦の間、データ処理ハードウェアによって、ターゲットを追跡することを含んでいる。この方法は、データ処理ハードウェアによって、更新されたターゲット位置を求めることも含んでいてよい。いくつかの例では、この方法は、データ処理ハードウェアから、更新された指示を駆動システムに伝送することを含んでいる。更新された指示によって、更新されたターゲット位置に向かう、牽引車両の自律的な操縦が行われる。
【0007】
いくつかの実施形態では、カメラは、魚眼画像を捕捉する魚眼カメラを含んでいる。いくつかの例では、この方法はさらに、データ処理ハードウェアによって、1つまたは複数のフィルターバンクを適用する前に、魚眼画像を修正することを含んでいる。
【0008】
いくつかの実施形態では、この方法は、データ処理ハードウェアで、データ処理ハードウェアと通信するハードウェアメモリ内に格納されているトレーニング画像を受け取り、データ処理ハードウェアによって、受け取った各画像内のトレーニング関心領域を決定することを含んでいる。トレーニング関心領域にはターゲットが含まれている。この方法は、データ処理ハードウェアによって、各トレーニング関心領域内の1つまたは複数のフィルターバンクを決定することを含んでいてよい。いくつかの例では、この方法はさらに、データ処理ハードウェアによって、ターゲットの中心を識別することを含んでおり、ここで、ターゲット位置にはターゲットの中心の位置が含まれている。
【0009】
ターゲットは、トレーラによって支持されている牽引バー・カプラのカプラであってよい。画像は、牽引バー・カプラのトップダウンビューであってよい。いくつかの例では、ターゲットは牽引車両の後方に配置されているトレーラであり、ターゲット位置は牽引バーでのトレーラ底部中心の位置である。画像はトレーラの斜視図である。
【0010】
本開示の別の態様は、牽引車両の後方に配置されているターゲットの位置を求めるシステムを提供する。このシステムには、データ処理ハードウェアおよびデータ処理ハードウェアと通信するメモリハードウェアが含まれる。メモリハードウェアは、データ処理ハードウェア上で実行されると、データ処理ハードウェアに動作を実行させる指示を格納している。動作には、牽引車両の後部に配置されており、かつデータ処理ハードウェアと通信するカメラから画像を受け取ることが含まれる。画像にはターゲットが含まれている。動作には、1つまたは複数のフィルターバンクを画像に適用することが含まれる。動作には、適用されたフィルターバンクに基づいて、各画像内の関心領域を決定することが含まれる。関心領域にはターゲットが含まれている。動作には、関心領域内のターゲットを識別すること、および現実世界の座標系における位置を含んでいる、ターゲットのターゲット位置を求めることが含まれる。動作には、車両によって支持されており、かつデータ処理ハードウェアと通信する駆動システムに指示を伝送することが含まれる。この指示によって、現実世界の座標系における位置に向かう、牽引車両の自律的な操縦が行われる。
【0011】
本開示のこの態様の実施形態は、以降の任意の特徴のうちの1つまたは複数を含んでいてよい。いくつかの実施形態では、動作にはさらに、識別されたターゲットに向かう、牽引車両の自律的な操縦の間、ターゲットを追跡することが含まれる。動作には、更新されたターゲット位置を求めること、および更新された指示を駆動システムに伝送することが含まれていてよい。更新された指示によって、更新されたターゲット位置に向かう、牽引車両の自律的な操縦が行われる。
【0012】
いくつかの実施形態では、カメラは、魚眼画像を捕捉する魚眼カメラを含んでいる。動作には、1つまたは複数のフィルターバンクを適用する前に、魚眼画像を修正することが含まれていてよい。
【0013】
いくつかの例では、動作にはさらに、データ処理ハードウェアと通信するハードウェアメモリ内に格納されているトレーニング画像を受け取ること、および受け取った各画像内のトレーニング関心領域を決定することが含まれる。トレーニング関心領域にはターゲットが含まれている。動作には、各トレーニング関心領域内の1つまたは複数のフィルターバンクを決定することも含まれていてよい。動作にはさらに、ターゲットの中心を識別することが含まれており、ここで、ターゲット位置にはターゲットの中心の位置が含まれている。
【0014】
いくつかの例では、ターゲットは、トレーラによって支持されている牽引バー・カプラのカプラである。画像は、牽引バー・カプラのトップダウンビューであってよい。ターゲットは牽引車両の後方に配置されているトレーラであってよく、ターゲット位置は牽引バーでのトレーラ底部中心の位置である。画像はトレーラの斜視図である。
【0015】
本開示の1つまたは複数の実施形態の詳細を、添付の図面および以降の説明に記載する。他の態様、特徴および利点は、明細書および図面ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0016】
【
図1】トレーラから距離を置いた例示的な牽引車両の概略的な上面図である。
【
図3】トレーニング段階中に実行される動作の例示的な段取りの概略図である。
【
図4A】牽引バーおよびカプラを含んでいる例示的な画像の概略図である。
【
図4B】牽引車両から異なる距離にあるトレーラを含んでいる例示的な画像の概略図である。
【
図4C】牽引車両から異なる距離にあるトレーラを含んでいる例示的な画像の概略図である。
【
図5】関心領域提案を決定するための動作の例示的な段取りの概略図である。
【
図5A】後方の車両カメラによって捕捉されたトレーラの例示的な画像の概略図である。
【
図6】例示的なトレーラカプラ検出器および例示的なトラッカーの概略図である。
【
図7A】それらの間の異なる距離で車両の後方に配置されているトレーラの概略的な側面図である。
【
図7B】それらの間の異なる距離で車両の後方に配置されているトレーラの概略的な側面図である。
【
図7C】それらの間の異なる距離で車両の後方に配置されているトレーラの概略的な側面図である。
【
図7D】ビューポートの異なる位置を示す、車両の後方に配置されているトレーラの概略的な上面図である。
【
図8】カプラの位置およびトレーラの底部の中心を求めるための動作の例示的な段取りの概略図である。
【
図9】適応型牽引ボール高さ変化検出器によって実行される動作の例示的な段取りの概略図である。
【
図10】ターゲットを決定し、牽引車両をターゲットに向かわせるための動作の例示的な段取りの概略図である。
【0017】
種々の図面における同様の参照記号は、同じ要素を示している。
【0018】
詳細な説明
乗用車、クロスオーバー車、トラック、バン、スポーツ・ユーティリティ・ビークル(SUV)およびレクレーショナル・ビークル(RV)等であるがこれらに限定されない牽引車両は、トレーラを牽引するように構成されていてよい。牽引車両は、車両によって支持されているトレーラヒッチボールとトレーラヒッチカプラとを介してトレーラに接続する。トレーラの牽引バーを検出し、トレーラの牽引バー上に配置されているトレーラヒッチカプラの中心を検出し、位置を求めることができる牽引車両を有することが望ましい。さらに、車両がトレーラに向かって逆方向に動いている間、牽引車両が牽引バーを検出し、トレーラカプラの中心を検出し、位置を求めることが望まれる。このように、検出モジュールを備えた牽引車両は、逆方向においてトレーラに向かう牽引車両の(運転者による、または自律的な)駆動を助ける情報を運転者および/または車両に提供する。検出モジュールは、牽引バーおよびトレーラのカプラを有するトレーラを検出する方法を学習するように構成されており、学習したデータに基づいて、検出モジュールは、牽引車両がトレーラに接近する間、高い歪み率を有する、魚眼カメラ等のカメラから画像を受け取り、牽引バーの位置とカプラの中心の位置とを求めてよい。さらに、検出モジュールを含んでいる牽引車両は、形状およびその上にトレーラが配置されている表面に関係なく、トレーラ・牽引バー・カプラの組み合わせを容易に識別する。学習段階の間、検出モジュールは任意の形状の牽引バーおよび任意の形状のカプラを検出することを学習し、検出段階の間、検出モジュールは、カプラの中心および/またはトレーラのキーポイントの位置を正確に求めるために、学習したデータを使用することができる。いくつかの例では、学習段階および検出段階は、トレーラ・牽引バー・カプラの組み合わせの堅固に接続された構成要素(たとえばボックス、Vノーズ、ボート等のトレーラ本体。その上にボルトで固定される、トレーラ本体用の2つ以上の車輪を備えたトレーラフレーム、およびカプラタングがフレームの一部である場合もあれば、牽引バー上にボルトで固定される別個の構成要素である場合もある。)に対するカスケードアプローチの使用を含んでおり、カプラの中心の位置決定の信頼度を、これらの構成要素間の関係によって向上させることができる。たとえば、カスケードアプローチは、最初にトレーラ本体を検出し、次に牽引バー・カプラの組み合わせを検出し、次にズームインしてカプラ中心とその周辺の特徴とを詳しく調べ、最後にカプラタングを検出するアルゴリズムを実行する。ズーム比は、カプラ中心LCCPを識別するために使用できる十分な特徴がある限り、1.5~2.5のいずれかであってよい。検出モジュールは、トレーラ駐車場等の、ある場面において、並んで駐車されているトレーラ・牽引バー・カプラの組み合わせの複数のクラスを区別することもできる。
【0019】
図1A~
図4を参照すると、いくつかの実施形態では、牽引車両100の運転者は、牽引車両100の後方に配置されているトレーラ200を牽引することを望んでいる。牽引車両100は、選択されたトレーラ200に関連付けられた、運転者の選択の表示を受け取るように構成されていてよい。いくつかの例では、運転者は、牽引車両100を選択されたトレーラ200に向かって操縦し、他の例では、牽引車両100は、選択されたトレーラ200に自律的に向かう。牽引車両100は、たとえば、x、yおよびz成分を有する駆動命令に基づいて、路面を横切るように牽引車両100を操縦する駆動システム110を含んでいてよい。示されているように、駆動システム110は、右前輪112、112a、左前輪112、112b、右後輪112、112cおよび左後輪112、112dを含んでいる。駆動システム110は、同様に他の車輪配置を含んでいてよい。駆動システム110は、各車輪112、112a~dに関連付けられたブレーキを含んでいるブレーキシステム114および牽引車両100の速度および方向を調整するように構成されている加速システム116も含んでいてよい。さらに、駆動システム110は、サスペンションシステム118を含んでいてよく、これは各車輪112、112a~dに関連付けられたタイヤと、タイヤの空気と、ばねと、衝撃吸収装置と、連結部とを含んでおり、この連結部は、牽引車両100をその車輪112、112a~dに接続し、牽引車両100と車輪112、112a~dとの間の相対運動を可能にする。サスペンションシステム118は、牽引車両100の高さを調整するように構成されていてよく、これによって牽引車両ヒッチ120(たとえば牽引車両ヒッチボール122)を、トレーラ牽引バー214によって支持されているトレーラヒッチ210(たとえばカプラ・牽引バーの組み合わせ210)と整列させることが可能になり、これによって牽引車両100とトレーラ200との間の接続が可能になる。
【0020】
牽引車両100は、牽引車両100によって規定された3つの相互に鉛直な軸、すなわち横軸Xv、前後軸Yvおよび中心垂直軸Zvに対する動きの様々な組み合わせによって路面を横切って移動してよい。横軸Xvは、牽引車両100の右側と左側との間に延在している。前後軸Yvに沿った前進駆動方向はFvとして示されており、前進運動とも称される。さらに、前後方向Yvに沿った、後部または逆駆動方向はRvとして示されており、後方運動または逆方向運動とも称される。サスペンションシステム118が牽引車両100のサスペンションを調整するとき、牽引車両100は、Xv軸および/またはYv軸を中心として傾斜するか、または中心垂直軸Zvに沿って動いてよい。
【0021】
牽引車両100は、ディスプレイ等のユーザインターフェース130を含んでいてよい。ユーザインターフェース130は、1つまたは複数の入力機構またはタッチスクリーンディスプレイ132を介して運転者から1つまたは複数のユーザ命令を受け取る、かつ/または運転者への1つまたは複数の通知を表示する。ユーザインターフェース130は車両コントローラー150と通信し、また車両コントローラーはセンサーシステム140と通信する。いくつかの例では、ユーザインターフェース130は、牽引車両100の環境の画像を表示する。これによって、1つまたは複数の動作の実行を開始させる1つまたは複数の命令が(運転者から)ユーザインターフェース130によって受け取られる。いくつかの例では、ユーザディスプレイ132は、牽引車両100の後方に配置されているトレーラ200の1つまたは複数の表現136を表示する。この場合、運転者は、どのトレーラ200の表現136をコントローラー150が識別すべきかの選択134を行い、コントローラー150は、選択されたトレーラ200に関連付けられたカプラ212の中心を検出し、その位置を決定すべきである。他の例では、コントローラー150は、1つまたは複数のトレーラ200を検出し、1つまたは複数のトレーラのトレーラカプラ212の中心を検出し、その位置を求める。車両コントローラー150は、コンピューティングデバイス(またはプロセッサ)152(たとえば、1つまたは複数のコンピューティングプロセッサを有する中央処理装置)を含んでおり、これは、非一時的なメモリ154(たとえばハードディスク、フラッシュメモリ、ランダムアクセスメモリ、メモリハードウェア)と通信し、コンピューティングプロセッサ152上で実行可能な指示を格納することができる。
【0022】
牽引車両100は、信頼性が高く、ロバストな駆動を提供するセンサーシステム140を含んでいてよい。センサーシステム140は、牽引車両100の環境の認識を作り出すために、別々にまたは相互に使用され得る異なるタイプのセンサーを含んでいてよい。これは、牽引車両100に対して、駆動のために、およびセンサーシステム140によって検出された物体および障害物に基づいて運転者が知的判定を行うのを支援するために、または駆動システム110が牽引車両100を自律的に操縦するのを支援するために使用される。センサーシステム140は、レーダー、ソナー、LIDAR(Light Detection and Ranging、これは遠隔ターゲットの距離および/またはその他の情報を検出するために、散乱光の特性を測定する光学リモートセンシングを伴うことができる)、LADAR(Laser Detection and Ranging)、超音波センサー等を含んでいてよいが、これに限定されない。
【0023】
いくつかの実施形態では、センサーシステム140は、車両によって支持されている1つまたは複数のカメラ142、142a~nを含んでいる。いくつかの例では、センサーシステム140は、リアビューカメラ142aを含んでいる。これは牽引車両100の後部駆動経路を見ることができるように取り付けられている。リアビューカメラ410は、広いパノラマ画像または半球状の画像を作成することを目的とした強い視覚的歪みを生成する超広角レンズを含んでいる魚眼レンズを含んでいてよい。魚眼カメラ142aは、非常に広い画角の画像を捕捉する。さらに、魚眼カメラ142aによって捕捉された画像は、特徴的な凸状の非直線的な外見を有する。
【0024】
検出モジュール160
【0025】
車両コントローラー150は、後方カメラ410aから画像144(すなわち魚眼画像)を受け取り、牽引バー214の位置およびカプラ212の位置、たとえば、画像内144内およびワールド座標におけるカプラ212の中心を求める検出モジュール160を含んでいる。いくつかの例では、検出モジュール160は、牽引車両100とトレーラ200との間の遠距離、中距離および近距離の距離で、牽引バー214およびカプラ212の中心を求める。いくつかの実施形態では、検出モジュール160は、トレーニング/学習段階170とそれに続く検出段階180とを含んでいる。トレーニング/学習段階170の間、検出モジュール160は、トレーラおよびカプラトレーニングモジュール172を動作させる。さらに、検出段階180の間、検出モジュール160は、以下のものを動作させる。すなわち、ROI提案決定器182、トレーラおよびカプラ検出器184、ポーズおよびスケール推定器186、カルマンマルチチャネル相関フィルター(MCCF)トラッカー188、信頼度計算モジュール190、適応型牽引ボール高さ変化検出器192および現実世界位置推定モジュール194を動作させる。
【0026】
トレーニング/学習段階170
【0027】
図3および
図4A~
図4Cは、トレーニング/学習段階170を示している。
図3を参照すると、検出モジュール160は、カルマンMCCFトラッカー188にカプラ212および牽引バー214を検出する方法を教えるために、トレーラおよびカプラトレーナモジュール172を動作させる。
図3を参照すると、トレーナモジュール172は、後方カメラ410a、すなわち魚眼カメラによって捕捉された入力画像144を受け取る。入力画像144は、トレーラ200またはカプラ・牽引バーの組み合わせ210(カプラ212および牽引バー214を含んでいる)のいずれかの関心領域(ROI)400を含んでいる。
図4Aを参照すると、入力画像144は、画像144内のカプラ212の中心のピクセル位置L
CCPおよびカプラ・牽引バーの組み合わせ210を含んでいる。なぜなら、この場合には、トレーラおよびカプラトレーナモジュール172がカプラ・牽引バーの組み合わせ210 ROI400c内のカプラ212を検出する方法を学習しているからである。また
図4Bおよび
図4Cは、トレーラ200を示している。トレーニング画像144における、カプラ212の中心のピクセル位置L
CCP(
図4A)または牽引バー214でのトレーラ底部中心のピクセル位置L
TCPは、トレーニング/学習段階170の前に、事前に決定されており、たとえば、(100×100ピクセルの)トレーニング画像144におけるピクセル(64,42)である。いくつかの例では、ROI400、400c、400tは、トレーニングおよび学習段階170のために、固定されたピクセルのサイズ、たとえば(100×100ピクセル)に再スケーリングされる。トレーナモジュール172は、特定の範囲のピクセルに対して、トレーニング画像144におけるカプラ212の中心L
CCPまたは牽引バー214でのトレーラの底部中心L
TCPが画像144内の同じ位置に保たれることを維持する。
【0028】
図4Aは、リアビューカメラ142aによって捕捉された画像144に基づく、修正されたトップダウン画像146を示している。コントローラー150は、受け取った画像144を調整して、魚眼カメラである後方カメラ142aによって引き起こされる歪みを除去する。カメラ142aは、路面に対してカプラ・牽引バーの組み合わせ210の上方に位置しているので、カプラ・牽引バーの組み合わせ210のカメラ142aによって捕捉された画像144は、一般的に、カプラ・牽引バーの組み合わせ210のトップダウンビューである。さらに、トレーナモジュール172は、カプラ・牽引バーの組み合わせ210を含んでいる、修正された画像146内の関心領域(ROI)400、400cを決定する。
【0029】
図4Bおよび
図4Cは、トレーラ200を含んでいる、修正された画像146の異なる距離での斜視図である。
図4Bは、トレーラ200からの第1の距離で捕捉された画像144に関連付けされた、修正された画像146bのものであり、
図4Cは、トレーラ200からの第2の距離で捕捉された別の画像144に関連付けされた、修正された画像146cものであり、第2の距離は第1の距離よりも長い。トレーラ200は牽引車両100の後方に配置されているので、カメラ142aは、トレーラ200の真っ直ぐ前方の画像144を捕捉してよい。したがって、真っ直ぐ前方の画像144に基づいている修正された画像146b、146cも真っ直ぐ前方の眺めである。いくつかの例では、トレーナモジュール172は、トレーラ200を含んでいる、修正された画像146b、146c内のトレーラROI400tを決定する。示されているように、修正された画像146b、146cは、トレーナモジュール172によって識別されるROI400tでもある。
【0030】
上述のように、トレーナモジュール172は、捕捉された画像144を修正する。いくつかの例では、カプラ・牽引バーの組み合わせ210の
図4Aに示されるトップダウンビューにおいて、カプラ・牽引バーの組み合わせ210の牽引バー・カプラの外見(すなわち、形状のアスペクト比)は変化しない。上からのカプラ・牽引バーの組み合わせ210のスケール変化は、カプラ・牽引バーの組み合わせ210の高さの変化を示している。
図4Bおよび
図4Cにおいて示されている後方斜視図において、トレーラ200の外見は、固定されたピッチ角のもとで変化しない。しかし、ピッチ角が変化すると、トレーラ200の外見は変化する。いくつかの例では、トレーラピッチ角の変化による上述の外見の変化は、固定されたピッチ角を有する基準画像パスのもとでトレーラピッチ角を推定するために使用されてよい。画像パスは、トレーラの周りにある。
【0031】
さらに、上述した外見の変化は、固定されたヨー角を伴う基準パッチのもとでトレーラヨー角(すなわち配向)を推定するために使用されてよい。テスト画像がトレーニングされた画像と一致する場合、相関エネルギーが最大になる。
図3に戻ると、ステップ302で、トレーナモジュール172は、ROI400、400c、400tに対して正規化関数を実行して、照明変動を低減させる。次に、ステップ304で、トレーナモジュール172は、たとえば、ROI400、400c、400t内のx方向およびy方向の両方における画像ピクセル値の差を求めることによって、勾配関数を実行する。トレーナモジュール172は、以下の式から大きさおよび配向を求める。
大きさ:(sqrt(Gx
2+Gy
2))(1)
配向:(arctan2(Gy/Gx))(2)
トレーナモジュール172は、受け取った画像ROI400、400c、400tにおける強度または色の方向変化を求めるために、かつ勾配のヒストグラムを求めるために、x方向の勾配(Gx)およびy方向の勾配(Gy)から式(1)および(2)を決定してよい。
【0032】
勾配のヒストグラム(HOG)は、画像内の1つまたは複数の物体を特徴付けるためにコンピュータビジョンおよび画像処理において使用される特徴記述子である。HOGは、画像の、位置決定された部分の勾配の配向のビンの数(たとえば5つのビン)を決定する。各ビンは特定の配向範囲を表す。
【0033】
ステップ304で、HOGに基づいて、トレーナモジュール172は、HOGに関連付けされたビンの数を決定する。トレーナモジュール172は、セルごとの正規化関数およびブロックごとの正規化関数を実行する。セルごとの正規化関数の間に、各セルにわたった勾配の大きさおよび勾配の配向の平均が求められる。セルのサイズはたとえば(5×5ピクセル)である。トレーナモジュール172は、ROI400、400c、400tのサイズ(たとえば100×100ピクセル)をセルのサイズ(たとえば(5×5))で割ったものに基づいて、セルの数、たとえば(20×20ピクセル)を決定する。トレーナモジュール172が、特定のセルにおける平均の勾配の大きさが0未満であると決定すると、トレーナモジュール172は、セルの値を0に設定する。トレーナモジュール172が、特定のセルにおいて、平均の勾配の配向が0未満であると決定すると、トレーナモジュール172は、セルの値を0に設定する。トレーナモジュール172は、平均の勾配の配向に基づいて平均の勾配の配向のビンを決定し、次に、平均の勾配の配向のビンに、平均の勾配の大きさ+0.1の反転を掛ける。ブロックごとの正規化関数の間に、セルごとの正規化が行われた勾配の配向のすべてのチャネルが、トレーナモジュール172によって二乗され、合計され、セルのサイズ(たとえば(5×5))にわたって平均化される。トレーナモジュール172は、勾配二乗ビンの総計(GSsum)を、GSsumが0未満の場合、0に設定する。トレーナモジュール172は、GSsumを平方根化することによって、勾配の最終的な総計(Gsum)を得る。トレーナモジュール172は、最終的なHOGビンをGsumによって正規化し、ここで、セル正規化された勾配ビンは、再びGsum+0.1によって除算される。ブロック304のステップは、照明および環境の変動に対応する。
【0034】
ステップ306で、トレーナモジュール172は、(以下の方程式における「pos」である)カプラの中心LCCPまたは牽引バー214でのトレーラ底部中心のピクセル位置LTCPであるターゲット位置の周りにガウシアンフィルターを適用する。
rsp(i,j)=exp(-((i-pos(1))2+(j-pos(2))2)/(2*S2))(3)
Sはシグマであり、調整可能なパラメータである。これは学習ステップであるので、トレーナモジュール172は、画像内のカプラ212の位置を知っており、したがって、既知の位置の周りにガウシアンフィルターを適用する。(周波数領域における画像144のサイズである)「rsp_f」としての周波数領域におけるガウス応答を得るための高速の計算時間のために、ガウス応答、「rsp」である画像パッチのサイズも周波数領域に変換される。
【0035】
ステップ308で、トレーナモジュール172は、パフォーマンスを改善するマスクをROI400、400c、400tに適用する。トレーナモジュール172は、マスクを適用して、トレーラ200またはカプラ・牽引バーの組み合わせ210を取り囲む領域をマスクする。ステップ310で、トレーナモジュール172は、セル/ブロック正規化されたHoGチャネルにコサイン窓関数を適用して、修正された画像146(すなわちROI400)の画像境界の高い周波数を低減し、HoG_f(HOG周波数)を得るための高速の計算時間のために、HoGチャネルを周波数領域に変換する。ステップ312で、トレーナモジュール172は、自己相関エネルギーおよび相互相関エネルギー、xxFおよびxyFをそれぞれ計算する。自己相関エネルギーxxFは、HoG_fにHoG_fの転置を掛けることによって得られる。相互相関エネルギーxyFは、rsp_fにHoG_fの転置を掛けることによって得られる。ステップ314で、トレーナモジュール172は、同じ範囲内の複数のROI400にわたって、自己相関エネルギーxxFおよび相互相関エネルギーxyFを別個に合計する。ステップ316で、トレーナモジュール172は方程式
MCCF=lsqr(xxF+lambda,xyF)(4)
を解く。
ステップ318で、式(4)は、フィルターバンク322(すなわちMCCF)について解かれ、周波数領域から画像領域に戻る。フィルターバンク322は、トレーラまたはカプラ・牽引バーの組み合わせ210(すなわちトレーラヒッチ201)の特徴を提供するマルチチャネル相関フィルターバンク322である。したがって、フィルターバンク322は、後に、画像144内でのトレーラ200またはカプラ212の位置が未知である検出段階180中に、捕捉された画像144内のトレーラ200またはカプラ212の位置を求めるために使用される。ステップ320で、トレーナモジュール172は、トレーラ200および式(4)によって決定されたカプラ・牽引バーの組み合わせ210に関連付けされたフィルターバンク322(すなわちMCCF)をメモリハードウェア154内に格納する。
【0036】
いくつかの実施形態では、トレーナモジュール172は、各画像144内のトレーラ200、カプラ・牽引バーの組み合わせ210の外見、解像度およびスケールの変化に対応するために、遠距離、中距離および近距離内で捕捉された画像144上で
図3のステップを実行することによって、3つのフィルターバンク322を別々に決定する。
【0037】
いくつかの実施形態では、トレーニング/トレーニングおよび学習段階170は、たとえば、動的な駆動シナリオにおいて、トレーラ200からの特定の距離で配向角度が0である車両中心線Yに沿って、監視されて、生の魚眼画像144上で実行されてよい。いくつかの例では、トレーニング/トレーニングおよび学習段階170は、単一の画像フレームまたは少数の画像フレームを使用することによってさらに単純化されてよい。いくつかの例では、捕捉された魚眼画像144は、
図4A~
図4Cで説明されるように修正される。トレーナ172は、カプラ・牽引バーの組み合わせ210に関連付けされたフィルター学習のためにトップダウンビューを使用し、またトレーナ172は、トレーラ200のフィルター学習のために前方斜視図を使用する。いくつかの例では、学習画像144はメモリ154内に格納される。学習画像144は、トラック牽引ボール122の位置が既知である、連結された位置にあるトレーラ200と牽引車両とを含んでいてよい。修正された画像146に基づいてトレーニングおよび学習段階170の間に学習させたフィルターバンク322が、リアルタイム動作中に、トレーラ200の中心位置L
CCPおよび牽引バー214でのトレーラ底部中心のピクセル位置L
TCPを求めるために、修正された画像146に適用されてよい。いくつかの例では、トレーラ200の中心位置L
CCPは、前方斜視図(
図4Bおよび
図4C)において、画像144を捕捉することによって求められる。カプラ中心は、近距離でのトップダウンビュー(
図4A)において画像144を捕捉することによって求めてよい。いくつかの実施形態では、トレーニングおよび学習段階170は、連結されていない位置にあるトレーラ200および牽引車両100の画像も含んでいてよい。いくつかの例では、トレーラ200の画像144は、牽引車両100から3~4メートル離れて捕捉されてよい。画像144は、牽引車両100に面するトレーラ200の側面を含んでいてよい。
【0038】
いくつかの例では、トレーニングおよび学習段階170の間、修正された画像146内のトレーラ200およびカプラ・牽引バーの組み合わせ210は、ランダムに配向されておらず、たとえば、0°または90°等の既知の配向角度を有している。さらに、トレーラ200とカプラ・牽引バーの組み合わせ210とは、実際のそれらの接続と同様に、前方斜視図(
図4Bおよび
図4C)およびトップダウンビュー(
図4A)の捕捉された画像144内で互いに直交して接続されている。
【0039】
いくつかの実施形態では、トレーナモジュール172は、牽引バー・カプラROI400cが牽引車両100に対して、すなわち、牽引車両100がトレーラ200に連結されている間の牽引車両100の長手方向軸Yに対してゼロ配向になるように、牽引バー・カプラROI400cの捕捉された上面図画像146aを修正する。さらに、トレーナは、トレーラROI400bが牽引車両100に対して、すなわち、牽引車両100がトレーラ200に連結されている間の牽引車両100の長手方向軸Yに対してゼロ配向になるように、トレーラ200の斜視画像146b、146cを修正する。
【0040】
いくつかの例では、学習プロセス170中に学習させたフィルターバンク322を使用して、トレーラ200のトレーラピッチが推定される。トレーナモジュール172は、カプラ・牽引バーの組み合わせ210またはトレーラ200ではない、画像144内の領域をマスクしてよい。したがって、トレーナモジュール172は、画像144のROI400内のカプラ・牽引バーの組み合わせ210またはトレーラ200領域のみを使用し、周囲の領域は、トレーニング中はマスクされており、トレーニングされたROI400が、一貫した結果を伴う様々な環境条件において使用されてよい。このアプローチは、メモリ154内に格納されているトレーニングデータの量を減らす。
【0041】
いくつかの実施形態では、トレーナモジュール172は、カプラ212の中心LCCPまたは牽引バー214でのトレーラの底部中心LTCP以外の付加的な画像キーポイントを分析する。したがって、検出段階180の間、コントローラー150は、信頼値を決定するために、リアルタイム動作中に付加的なキーポイントからの相関エネルギーを使用することができる。したがって、検出段階180の信頼度を高めるために、トレーニングROI400内のキーポイントが、リアルタイムで捕捉された画像において識別されたキーポイントと一致されてよい。
【0042】
いくつかの実施形態では、トレーナモジュール172は、トレーニングおよび学習段階170中に、トレーラ200、牽引バー214およびカプラ212の3次元(3D)ビューを生成してよい。さらに、トレーナモジュール172は、測定スケールで3Dビューを生成してよく、そのためトレーナモジュール172は、物理的なトレーラ構成要素と正規化されたROI400との間のスケールを求めることができる。いくつかの例では、トレーナモジュール172は、トレーラ200およびカプラ・牽引バーの組み合わせ210の形状特徴を決定および学習する。
【0043】
いくつかの例では、トレーナモジュール172は、牽引車両100の最初の使用時に、牽引車両100の運転者に対して実行される。したがって、トレーナモジュール172は、運転者の、牽引車両の最初の使用の間に、受け取った1つまたは複数の画像144に基づいてフィルターバンク322を決定する。いくつかの例では、フィルターバンク322を、オンライン適応学習プロセスでも使用することができ、または牽引車両100は、オンラインシステムから付加的なフィルターバンク322を受け取ってよい。
【0044】
いくつかの例では、トレーニングおよび学習段階170は、牽引車両100とは別個に配置されているクラウドコンピューティングハードウェアデバイス上で実行される。たとえば、牽引車両100の後方カメラ142aは、車両の後方環境の画像144を捕捉し、無線インターネット接続を介して、捕捉された画像144をクラウドコンピューティングハードウェアデバイスに伝送する。クラウドコンピューティングハードウェアデバイスは、トレーナモジュール172を実行し、フィルターバンク322が決定されると、クラウドコンピューティングハードウェアデバイスは、無線インターネット接続を介してフィルターバンク322を牽引車両100に送り返す。牽引車両100は、フィルターバンク322を受け取り、フィルターバンク322をメモリハードウェア154内に格納する。
【0045】
検出段階180
【0046】
トレーニングおよび学習段階170が実行されて完了すると、検出段階180が実行可能である。検出モジュール160は、以下のものを動作させる。すなわち、ROI提案決定器182、トレーラおよびカプラ検出器184、ポーズおよびスケール推定器186、カルマンマルチチャネル相関フィルター(MCCF)トラッカー188、信頼度計算モジュール190、適応型牽引ボール高さ変化検出器192および現実世界位置推定モジュール194を動作させる。任意に実装されていてよいROI提案決定器182は、捕捉された画像144を分析し、カプラ・牽引バーの組み合わせ210またはトレーラ200を含んでいるROI提案400pを出力する。次に、トレーラおよびカプラ検出器184は、ROI提案400pを分析し、
図4A~
図4CのROI400c、400tを使用して、トレーラ(遠い場合)および牽引バー・カプラ(近い場合)の位置を突きとめる。ポーズおよびスケール推定器186は、画像全体を分析し、トレーラ200のポーズを求める。次に、カルマンMCCFトラッカー188は、牽引車両100がトレーラ200に向かって動いている間、位置が突きとめられた(トレーラおよびカプラ検出器184によって位置が突きとめられた)トレーラまたは牽引バー・カプラを追跡する。信頼度計算器190は、カプラの位置を求めるために信頼度を計算する。いくつかの例では、適応型車両牽引ボール高さ変化検出器192は、現在のトレーラヒッチ210の位置に基づいて、車両牽引ボールの高さの変化をチェックする。適応型車両牽引ボール高さ変化検出器192は、トレーラ200および牽引車両100が連結された位置にある間に実行されてよく、したがって、適応型車両牽引ボール高さ変化検出器は、牽引ボールの高さの変化をチェックし、メモリハードウェア154内に格納されているトレーニング/学習した情報が、現在の牽引ボールの高さから学習した特徴と一致することを検証し、次の連結の試みにおいて潜在的な衝突が回避され得る。最後に、現実世界位置推定モジュール194は、現実世界の座標における上述のモジュール182~192に基づいて、カプラ212の位置を求める。
【0047】
ROI提案決定器182
【0048】
図5は、受け取った画像144に基づいて1つまたは複数のROI提案400pを決定し、カプラ・牽引バーの組み合わせ210またはトレーラ200の周りに、ぴったり合ったバウンディングボックス(ROI)を適用することによって、受け取った画像144内のカプラ・牽引バーの組み合わせ210またはトレーラ200を自動的に検出するために、ROI提案決定器182によって実行される方法500を示している。ブロック502で、ROI提案決定器182は、1つまたは複数の画像144を受け取る。ブロック504で、ROI提案決定器182は、受け取った画像144を分析し、分析のための有効なエリアを決定する。たとえば、
図5Aを参照すると、カプラ212を検出するために、ROI提案決定器182は、カメラ較正に基づいて有効な領域530を決定し、地平線より上のエリアおよび牽引車両100の本体を含んでいるエリアを除外する。同様に、トレーラを検出するために、ROI提案決定器182は、カメラ較正に基づいて有効な領域530を決定し、トレーラ200より上のエリアおよびトレーラ200より下のエリアを除外する。
【0049】
続いて、ROI提案決定器182は、ROI提案400pを決定するために、3つの方法のうちの1つを実行してよい(すなわちROI提案400pは、カプラROI400cまたはトレーラROI400tを含んでいてよい)。方法1:ブロック506で、ROI提案決定器182は、最大ピークが発見されるまで、画像領域530をカバーする一連の走査ウィンドウにわたって、学習したフィルターバンク322(すなわちMCCF)を繰り返し適用する。この第1の方法は、力ずくの検索方法として知られており、実行時間が問題にならない場合に使用されてよい。
【0050】
方法2:ROI提案決定器182は、ROI提案520を決定するために方法2を実行してよい。ブロック508で、ROI提案決定器182は、SLIC(Simple Linear Iterative Clustering)を使用して、画像144の受け取った領域530をセグメント化し、最初にスーパーピクセルを見つけ、次に、RAG(Region Adjacent Graph:領域隣接グラフ)を作成して、類似性のある領域をマージする。ピクセルの類似性は、強度、距離、色、エッジおよびテクスチャに基づいていてよい。ブロック510で、ROI提案決定器182は、ブロック508のセグメント化に基づいて領域隣接グラフ(RAG)を構築する。RAGはセグメンテーションアルゴリズムに使用されるデータ構造であり、領域を表す頂点と、隣接する領域間の接続を表すエッジとを提供する。
【0051】
ブロック512で、ROI提案決定器182は、画像144の決定された領域530内の領域をマージする。たとえば、2つの隣接するピクセルが類似している場合、ROI提案決定器182は、それらを1つの領域にマージする。2つの隣接する領域が総体的に十分に類似している場合、ROI提案決定器182はそれらを同様にマージする。マージされた領域はスーパーピクセルと称される。この総体的な類似性は通常、各領域の統計の比較に基づいている。
【0052】
ブロック514で、ROI提案決定器182は、可能性のあるトレーラスーパーピクセルを識別する。スーパーピクセルは、それが最小サイズの制約および最大サイズの制約を有しており、かつ予め定められたトレーラタイプに基づいて不規則な形状を除外する場合、トレーラ関心領域として適格である。ブロック516で、検出モジュール160は、特定の画像位置での推定されたトレーラの形状およびサイズに基づいて、可能性のあるトレーラスーパーピクセルを識別およびマージして、ROI提案400pを得る。ROI提案決定器182は、これらのROI提案400pをトレーニングされたMCCFフィルター322に関連付けて、カプラ212の中心L
CCPの自動的なピクセル位置(
図4A)または牽引バー214でのトレーラ底部中心のピクセル位置L
TCP(
図4Bおよび
図4C)に対するピークエネルギーを見つける。
【0053】
方法3:ROI提案決定器182は、ROI提案520を決定するために方法3を実行してよい。ブロック518で、ROI提案決定器182は、多数のカプラ・牽引バーの組み合わせ210またはトレーラ200の検出を一般化し得る他の任意の物体検出方法および分類方法を使用してよいが、トレーラ駐車場内の特定の優先トレーラを識別することができない。いくつかの例では、ディープニューラルネットワーク(DNN)または他の一般化方法が使用されてよいが、特定のトレーラタイプを識別することができない。ROI提案520は、他の視覚ベースの物体検出方法および分類方法によって提供されてよい。ROI提案400pは、レーダーまたはLIDAR等の他のセンサーが利用可能な場合にはそれによって決定されてもよい。誤検知のROI提案400pを減らすために、複数のROI提案方法を組み合わせてよい。
【0054】
トレーラおよびカプラ検出器184
【0055】
図6は、牽引車両100がトレーラ200に接近する間のトレーラおよびカプラ検出器184のフローチャートを示している。ブロック602で、牽引車両100の開始位置は、通常、トレーラ200から数メートルの距離D内にある。ブロック604で、トレーラおよびカプラ検出器184は、メモリハードウェア154から(トレーニング段階によって格納された)パラメータおよびトレーニングされたMCCFフィルター322を受け取る。パラメータには、カメラの内因性の較正情報および外因性の較正情報として、牽引ボール122と牽引車両の前車軸との間の距離、牽引車両のホイールベースおよび牽引ボールの初期の高さ等の牽引車両構成、およびトレーラ200の幅、カプラ212とトレーラホイール中心との間の距離等のトレーラ構成が含まれ得るが、これらに限定されない。カメラの内因性のパラメータには、焦点距離、画像センサー形式および主点が含まれていてよく、カメラの外因性のパラメータには、3Dワールド座標から3Dカメラ座標への座標系変換が含まれていてよい。換言すれば、外因性のパラメータは、カメラ中心の位置およびワールド座標におけるカメラの方位を規定する。ブロック606で、トレーニングされたフィルターと、特定のビューポートポーズおよびビューポート中心でのトレーラおよびカプラ関心領域との間の最大相関エネルギーを発見するために、トレーラおよびカプラ検出器184は、他のモジュールからトレーラ200またはカプラ・牽引バーの組み合わせ210のポーズ推定を受け取ってよく、またはポーズおよびスケール推定器186は、MCCF322に基づいて、トレーラ200またはカプラ・牽引バーの組み合わせ210のポーズおよびスケールを繰り返し推定してよい。
【0056】
次に、ブロック608で、トレーラおよびカプラ検出器184は、ビューポートの中心およびビューポートの回転角度(ピッチ、ヨー、ロール)を調整することによって動的なビューポートを決定し、その結果、修正された画像146は、既知の配向を有するトレーニングされたパターン(すなわち
図4A~
図4Cに示されたROI400c、400t)に類似した外見になる。
図7A~
図7Dを参照すると、カメラからのビューポート中心距離と、ピッチおよびヨー等の視野角とを変更することによって、最大相関エネルギーに達するトレーニングされたパターン(すなわち
図4A~
図4Cに示されたROI400c、400t)と一致するまで、トレーラの外見が変化するだろう。現実世界では、トレーラ200と牽引車両100との間の配向角度が0である完全な整列は行われず、トレーラ200と牽引車両100との間の距離も変化する。トップダウンビューおよびフォワードビューに対するビューポート700は、ワールド座標系において、mm(ミリメートル)単位で(x、y、z)での中心によって規定される。ビューポート700のサイズは、(幅_mm×高さ_mm)ならびに(幅_px×高さ_px)において、autosar(AUTomotive Open System ARchitecture)車両座標系に対するピッチ、ヨーおよびロール回転角度で規定される。画像の1ピクセルあたりのミリメートルおよび1ミリメートルあたりのピクセルを計算することができる。修正ビューポート700中心が固定されている場合には、スケール推定が必要である。修正された画像におけるトレーラサイズが、学習したフィルターの1つのチャネルのサイズと同じになるように、修正ビューポート中心を適応させることができる。ビューポート中心を変えることによって、推定されたスケールを回避することができる。トラックとトレーラとが、現実世界において、完全に整列していない場合には、フォワードビューにおけるトレーラの外見がトレーニングパッチと同じ配向および外見を維持するように、修正ビューポートのヨー角を適応させることができる。修正された画像内のトレーラの1つのチャネルの学習したフィルターと同じサイズを維持するために、トレーラのキーポイントの位置決定中に、トレーニングされたフィルターとのピーク相関エネルギーを見つけることによって、ビューポートヨー角を繰り返し求めることができる。一連の仮想カメラは、各フレームにおけるビューポート中心に配置されている。
【0057】
動的なビューポート700は、カメラ142aからのビューポート中心の長手方向距離である視距離と、ピッチ、ヨーおよびロール等のビューポート回転角度(ビューポートポーズとも称される)である視野角とを調整するように構成されている。したがって、トレーラ200の外見は、異なる中心位置およびポーズ構成を有するビューポート700に基づいて変化する。したがって、ブロック608で、検出器184は、トレーニングされたROI400と一致するように、現在の画像144のビューポートを調整する。
図7Aは、ビューポートが牽引車両100とトレーラ200との間の中間距離にあることを示している。
図7Bは、ビューポートが中間距離に対して、より近い距離にあることを示している。さらに、
図7Cは、ビューポートが、牽引車両100および取り付けられているトレーラ200を捕捉することを示している。
図7Dは、ビューポート700の異なる、眺めの中心および視野角の上面図を示している(「眼」の位置はビューポート中心であり、「眼」の方向はビューポートポーズである。眼の位置は、たとえば、カメラ142aとトレーラ200との間に立って、トレーラ200を見ている、または周りを見ている人を表してよい)。
【0058】
ブロック610で、トレーラおよびカプラ検出器184は、それがカプラ・牽引バーの組み合わせ210を検出しているか、またはトレーラ200を検出しているかを判断する。したがって、トレーラおよびカプラ検出器184が、それがカプラ・牽引バーの組み合わせ210を検出していると判断すると、ブロック612で、捕捉された画像144は、
図4Aにおいて前に示したような、カプラ・牽引バーの組み合わせ210のトップダウンビューを含んでいる。しかし、トレーラおよびカプラ検出器184が、それがトレーラ200を検出していると判断すると、ブロック614で、捕捉画像144は、
図4Bおよび
図4Cにおいて前に示したような、トレーラ200の斜視図を含んでいる。
【0059】
次に、ブロック616で、トレーラおよびカプラ検出器184は、ブロック610の判断に基づいて、トレーラROI提案400pまたは牽引バー・カプラROI提案400pを決定するようにROI提案決定器182に指示する。トレーラおよびカプラ検出器184は、カプラ・牽引バーの組み合わせ210およびトレーラ200のそれぞれについてルックアップテーブル(LUT)も生成し、ここでルックアップテーブルLUTは、魚眼画像144におけるピクセル位置に対応する、(ブロック608で決定された)動的なビューポートからのエントリを含んでいる。
【0060】
ブロック618で、トレーラおよびカプラ検出器184は、ブロック608で決定された動的なビューポート画像のROI提案400p内で、カプラ中心L
CCPに対するピーク相関エネルギーの位置、または牽引バー214でのトレーラ底部中心のピクセル位置L
TCPに対するピーク相関エネルギーの位置を求める。相関エネルギーは、相互のピクセル位置の関数である、(たとえば、ROI提案400p画像パッチと、そのキーポイントがトレーラの底部中心(L
TCP)またガウシアン曲線のピークにある、事前にトレーニングされたトレーラパッチ400またはカプラ中心でガウス加重された牽引バー・カプラパッチとの間の)2つの画像の特徴間の類似性の尺度を指す。ROI提案400pにおけるピーク相関エネルギーは、トレーニングされた画像パッチ400におけるガウス加重されたキーポイントに対応する。いくつかの例では、検出器184は、
図8に示された方法800を実行して、カプラ中心L
CCPまたはカプラ・牽引バーの組み合わせ210でのトレーラ底部中心のピクセル位置L
TCPに対するピーク相関エネルギーを求める。ブロック802で、検出器184は、メモリハードウェア154から、決定器182によって決定され、トレーニング段階中に使用された画像パッチと同じサイズに再スケーリングされたROI提案400pを検索する。ブロック802で、検出器184は、照明変動を低減するために、ROI提案400pに対して正規化関数を実行する。ブロック804で、検出器184は、
図3のブロック304で実行された方法と同様にマルチチャネルの正規化されたHOG特徴を計算する。ブロック806で、検出器184は、
図3のブロック310の方法と同様に、コサイン窓をHOGチャネルに適用し、それらを周波数領域に変換する。ブロック808で、検出器184は、周波数領域におけるROI提案パッチ400pとトレーニングされたフィルター322との間のピクセル位置の関数として相関エネルギーマップを決定し、画像領域に戻す。ブロック810で、検出器184は、相関エネルギーマップ内のピークエネルギーのピクセル位置を見つけることによって、カプラ中心L
CCPまたはカプラ・牽引バーの組み合わせ210でのトレーラ底部中心のピクセル位置L
TCPを求める。
【0061】
再度、
図6を参照すると、ブロック620で、トレーラおよびカプラ検出器184は、ルックアップテーブルに基づいて、動的なビューポートのROI提案400p内で決定されたカプラ中心L
CCPまたは牽引バー214でのトレーラ底部中心のピクセル位置L
TCPを生の魚眼画像144にマッピングする。
【0062】
カルマンMCCFトラッカー188
【0063】
ブロック622で、いくつかの例において、トラッカー188は、ブロック620での、マッピングされたカプラ中心LCCPまたは牽引バー214でのトレーラ底部中心のピクセル位置LTCPに基づいて、魚眼画像144内のカプラ中心LCCPまたはカプラ・牽引バーの組み合わせ210でのトレーラ底部中心のピクセル位置LTCPを追跡する。トラッカー188は、ビューポート700およびキーポイントを追跡するように構成されているカルマンMCCFトラッカーを含んでいてよい。ブロック622で、トラッカー188は、生の画像における、ビューポート中心およびビューポートポーズならびにトレーラ底部中心LTCPおよびカプラ中心LCCPを追跡する。ブロック624で、トラッカー188は、ビューポート中心およびビューポートポーズを予測し、生の画像における予測されたキーポイントから、新しいビューポートにおける更新されたカプラ中心LCCPまたはカプラ・牽引バーの組み合わせ210でのトレーラ底部中心のピクセル位置LTCPを予測する。予測されたビューポート700は、次のビューポートポーズおよびビューポート中心を求めるための基準としてブロック606で使用されてよい。
【0064】
信頼度計算190
【0065】
いくつかの実施形態では、信頼度計算モジュール190が、追跡されたカプラ中心LCCPまたはカプラ・牽引バーの組み合わせ210でのトレーラ底部中心の追跡されたピクセル位置LTCPに関連付けされた信頼値を決定する。信頼度計算モジュール190は、上面図または3Dビューにおけるトレーラ200およびカプラ・牽引バーの組み合わせ210の配向を求めて、トレーラポーズの信頼度をチェックするために、カプラ中心LCCPまたはカプラ・牽引バーの組み合わせ210でのトレーラ底部中心の位置LTCPを使用してよい。
【0066】
さらに、信頼度計算モジュール190は、カスケードアプローチを適用して、キーポイントの位置決定の信頼度を決定する。最初に、信頼度計算モジュール190がトレーラ本体を検出し、次に信頼度計算モジュール190がカプラ・牽引バーの組み合わせ210を検出し、信頼度計算モジュール190が2つのキーポイント間の制約をチェックする。次に、信頼度計算モジュール190がズームインして、カプラ中心LCCPおよびその周辺の特徴を詳細に調べる。カプラ中心LCCPを識別するために使用できる十分な特徴がある限り、ズーム比は1.5~2.5であってよい。信頼度計算モジュール190は、カスケードアプローチから、相関エネルギーおよびカプラ中心LCCPの位置をチェックする。最後に、信頼度計算モジュール190は、カプラ自体の高解像度パッチを決定し、信頼度計算モジュール190は、そのエッジを分析して、カプラ中心の位置決定精度を確認する。信頼度計算モジュール190は、いくつかの方法を使用して1つのメトリックを推定して、位置決定精度の信頼度を高める。信頼度計算モジュール190が決定しようと試みる、この1つのメトリックは、カプラ中心位置LCCPである。したがって、信頼度計算モジュール190は、トレーラ・牽引バー・カプラの組み合わせ内の物理的な制約および関係、およびテクスチャのサイズが変化するキーポイントを分析し、信頼度計算モジュール190は、カプラの高解像度エッジ特徴も分析する。信頼度計算モジュール190がその分析を完了すると、信頼度計算モジュール190は、カプラ中心位置LCCPの信頼度を決定する。信頼度が閾値を下回っている場合、連結動作が停止されてよい、またはより広い検索を実行するためにアルゴリズムがリセットされてよい。信頼度計算モジュール190は、トレーニングされたフィルター322と実際のトレーラおよび牽引バー・カプラとの間の不一致を判断するために、その前に決定された信頼度の履歴を分析してよい。
【0067】
適応型牽引ボール高さ変化検出器192
【0068】
図9を参照すると、いくつかの実施形態では、牽引車両100がトレーラ200に連結された後に、適応型牽引ボール高さ変化検出器192が、取り付けられているカプラ・牽引バーの組み合わせ210の特徴の(1つまたは複数の捕捉された画像144に基づく)スケールが、その前に学習したカプラ・牽引バーの組み合わせ210に関連付けされたスケールと同じであるか否かを判断する。
【0069】
ブロック902で、適応型牽引ボール高さ変化検出器192は、トレーラ200に取り付けられている牽引車両100の後方カメラ142aから画像144を受け取る。牽引車両100がトレーラ200に取り付けられているので、カプラ中心L
CCPと車両牽引ボール122の中心とが重なる。画像144は、カプラ・牽引バーの組み合わせ210に関連付けされているので、画像は、
図4Aに示されているようにトップダウン画像である。ブロック904で、適応型牽引ボール高さ変化検出器192は、学習したフィルターバンク322および牽引バーのパラメータをメモリハードウェア154からロードする。次に、ブロック906で、適応型牽引ボール高さ変化検出器192は、画像144の修正されたトップダウンビュー146を生成する。ブロック908で、適応型牽引ボール高さ変化検出器192は、
図8に示されたように方法800を実行することによってカプラ中心を見つける。ブロック910で、適応型牽引ボール高さ変化検出器192は、異なるスケールファクターで多数の画像パッチをトリミングする。このスケールファクターは、より大きな相関エネルギーが発見された方向において反復的に検索されてよい。これらの画像パッチは、トレーニングおよび学習段階170中に使用されるパッチ(ROI400)のサイズにサイズ変更され、次にトレーニングされたフィルター322と相関して適用される。最大ピーク相関エネルギーを有する画像パッチのスケールファクターが選択されるだろう。ブロック912で、適応型牽引ボール高さ変化検出器192は、最大ピークエネルギーを有する捕捉された画像144内の特徴のスケールが、トレーニングされたROI400cに関連付けされた特徴のスケールと異なっているか否か、および最大ピークエネルギーが所定の閾値より大きいか否かを判断する。一方または両方の条件が満たされない場合、適応型牽引ボール高さ変化検出器192は、画像144がカプラ・牽引バーの組み合わせ210を含んでいないこと、またはカプラ・牽引バーの組み合わせ210のスケールが変更されていないことを判断する。しかし、両方の条件が満たされる場合、ブロック914で、適応型牽引ボール高さ変化検出器192は、牽引ボール高さが変化したこと、したがってトレーニングデータが更新され得ることを運転者に通知するための表示フラグを設定する。ブロック916で、適応型牽引ボール高さ変化検出器192は、学習段階(
図3)の間に学習させていたフィルターバンク322(すなわちMCCF)を更新する。ブロック918で、適応型牽引ボール高さ変化検出器192は、トレーニングパッチが固定された寸法を有する、トレーニングおよび学習段階170中に使用される画像パッチに関連付けされたスケールを更新する。ブロック920で、適応型牽引ボール高さ変化検出器192は、更新されたフィルターバンク322をメモリハードウェア154内に格納した。したがって、適応型牽引ボール高さ変化検出器192は、牽引ボール122とカプラ212とが連結中に互いに衝突するのを防ぐための安全機能のために、牽引バー・カプラパッチのスケールを現在の牽引ボールの高さに同期させる手順である。これが同期されると、カプラ212と牽引ボール122とが、たとえば互いに1メートル以内で離れている間、安全機能を備えた同様の手順が実行されてよく、カプラ212と牽引ボール122とが連結プロセス中に互いに衝突するのを防ぐために、カプラ212が牽引ボール122よりも高いか否か、または低いか否かが判断される。このプロセスは、相対的な高さの決定とも称される。
【0070】
現実世界位置推定モジュール194
【0071】
現実世界位置推定モジュール194は、ワールド座標系においてトラッカー188によって決定されるトレーラカプラ212の位置を求める。ビューポート中心は3次元座標である。動作中に各画像フレームにおいて同じスケールが維持され、かつトレーラ200の3Dでの物理的な幅が既知である場合には、トレーラ200の3D座標とビューポート中心との間の関係が決定されてよい。テクスチャの幅ならびに現実世界のトレーラの幅に基づく、トレーラに対する、この3D距離推定方法は、浜辺、未舗装道路、草地等の凹凸のある表面が存在する状況に対してロバストである。さらに、現実世界における、牽引バーでのトレーラ底部中心LTCPとカプラ中心との間の固定された距離は、カプラ中心およびカプラ高さの3D距離推定を最適化する別の有用な制約である。
【0072】
したがって、現実世界位置推定モジュール194がトレーラカプラ212の現実世界位置を求めると、現実世界位置推定モジュール194は、これを駆動支援システム196に送る。受け取った現実世界位置に基づいて、駆動支援システム196は、牽引車両100とトレーラ200との間の経路を決定し、これによって牽引車両100は、連結のためにトレーラ200と整列する。さらに、駆動支援システム196は、駆動システム110に1つまたは複数の命令198を送り、これによって、駆動システム110は、牽引車両100を後方方向Rvにおいてトレーラ200に向かって自律的に操縦する。いくつかの例では、駆動支援システム196は、牽引車両100の前後軸Yvとトレーラ200の前後軸Ytとが一致するように牽引車両100を配置するように駆動システム110に指示する。
【0073】
図10は、
図1~
図9に示されたシステムを使用して、牽引車両100の後方に配置されているターゲット200、210、212、214(たとえばトレーラ200、カプラ・牽引バーの組み合わせ210、カプラ212および牽引バー214)の位置を求める方法1000の動作の例示的な段取りを提供する。ブロック1002で、方法1000は、データ処理ハードウェア152で、牽引車両100の後部に配置されているカメラ142aから画像144を受け取ることを含んでいる。カメラ142aは、魚眼カメラを含んでいてよい。画像144はターゲット200、210、212、214を含んでいる。ブロック1004で、方法1000は、データ処理ハードウェア152によって、1つまたは複数のフィルターバンク322を画像144に適用することを含んでいる。フィルターバンク322は、データ処理ハードウェア152と通信するメモリハードウェア154内に格納されている。ブロック1006で、方法1000は、データ処理ハードウェア152によって、適用されたフィルターバンク322に基づいて、各画像144内の関心領域(ROI)400、400c、400tを決定することを含んでいる。ROI400、400c、400tは、ターゲット200、210、212、214を含んでいる。ブロック1008で、方法1000は、データ処理ハードウェア152によって、ROI400、400c、400t内のターゲット200、210、212、214を識別することを含んでいる。ブロック1010で、方法1000は、データ処理ハードウェア152によって、現実世界の座標系における位置を含んでいる、ターゲット200、210、212、214のターゲット位置L
CCP、L
TCPを求めることを含んでいる。ブロック1012で、方法1000は、データ処理ハードウェア152から、牽引車両100によって支持されており、かつデータ処理ハードウェア152と通信する駆動システム110に指示195、198を伝送することを含んでいる。指示195、198によって、現実世界の座標系におけるターゲット200、212、214の位置に向かう、牽引車両100の自律的な操縦が行われる。
【0074】
いくつかの実施形態では、方法1000は、識別されたターゲット200、210、212、214に向かう、牽引車両100の自律的な操縦の間、データ処理ハードウェア152によって、ターゲット200、210、212、214を追跡すること、およびデータ処理ハードウェア152によって、更新されたターゲット位置LCCP、LTCPを求めることを含んでいる。方法1000は、データ処理ハードウェア152から、更新された指示195、198を駆動システム110に伝送することも含んでいてよい。更新された指示195、198によって、更新されたターゲット位置LCCP、LTCPに向かう、牽引車両100の自律的な操縦が行われる。カメラ142aが魚眼カメラであるいくつかの例では、方法1000はさらに、1つまたは複数のフィルターバンク322を適用する前に、データ処理ハードウェア152によって、魚眼画像144を修正することを含んでいる。
【0075】
いくつかの実施形態では、方法1000は、データ処理ハードウェア152で、データ処理ハードウェア152と通信するハードウェアメモリ154内に格納されているトレーニング画像144を受け取ることを含んでいる。方法1000は、データ処理ハードウェア152によって、受け取った各画像内のトレーニングROI400、400c、400tを決定することも含んでいてよく、トレーニングROI400、400c、400tは、ターゲット200、210、212、214を含んでいる。方法1000は、データ処理ハードウェア152によって、各トレーニングROI400、400c、400t内の1つまたは複数のフィルターバンク322を決定することを含んでいてよい。いくつかの例では、方法1000はさらに、データ処理ハードウェア152によって、ターゲットの中心を識別することを含んでおり、ここでターゲット位置LCCP、LTCPは、ターゲットの中心の位置を含んでいる。
【0076】
いくつかの実施形態では、ターゲット200、210、212、214は、トレーラ200によって支持されているカプラ・牽引バーの組み合わせ210のカプラ212である。したがって、画像144は、
図4Aに示されているようなカプラ・牽引バーの組み合わせ210のトップダウンビューである。
【0077】
いくつかの実施形態では、ターゲット200、210、212、214は、牽引車両100の後方に配置されているトレーラ200であり、ターゲット位置LTCPは、牽引バー214でのトレーラ底部中心の位置である。したがって、画像144は、トレーラ200の斜視図である。
【0078】
本明細書に記載したシステムおよび技術の様々な実施形態を、ディジタル電子回路、集積回路、特別設計のASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェアおよび/またはこれらの組み合わせで実現することができる。これらの様々な実施形態は、プログラミング可能なシステム上で実行可能かつ/または解釈可能な1つまたは複数のコンピュータプログラムでの実施形態を含んでいてよい。プログラミング可能なシステムは、少なくとも1つのプログラミング可能なプロセッサを含んでおり、このプロセッサは特定の目的または汎用の目的のものであってよく、ストレージシステム、少なくとも1つの入力装置および少なくとも1つの出力装置からデータおよび指示を受け取るように、かつそれらにデータおよび指示を伝送するように、結合されていてよい。
【0079】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)は、プログラミング可能なプロセッサのための機械命令を含んでおり、高水準の手続き型プログラミング言語および/またはオブジェクト指向プログラミング言語および/またはアセンブリ言語/機械語として具現化することができる。本明細書で用いられる用語「機械可読媒体」および「コンピュータ可読媒体」とは、プログラミング可能なプロセッサへ、機械命令および/またはデータを供給するために用いられる任意のコンピュータプログラム製品、機器および/または装置(たとえば磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))のことを指し、これには機械命令を機械可読信号として受け取る機械可読媒体が含まれる。用語「機械可読信号」とは、プログラミング可能なプロセッサへ機械命令および/またはデータを供給するために用いられる任意の信号のことを指す。
【0080】
本明細書に記載した保護対象および機能的動作の実施形態を、ディジタル電子回路として、あるいは本明細書で開示されている構造およびそれらの構造的等価物を含んでいる、コンピュータソフトウェア、ファームウェア、またはハードウェアとして、あるいはこれらのうちの1つまたは複数の組み合わせとして、具現化することができる。さらに、本明細書に記載した保護対象を、1つまたは複数のコンピュータプログラム製品として具現化することができ、つまりデータ処理機器によって実行するために、またはデータ処理機器の動作をコントロールするために、コンピュータ可読媒体にコーディングされているコンピュータプログラム命令の1つまたは複数のモジュールとして具現化することができる。コンピュータ可読媒体を、機械可読記憶装置、機械可読ストレージ基板、メモリ装置、機械可読伝播信号に作用する組成物、またはこれらのうちの1つまたは複数の組み合わせとすることができる。用語「データ処理機器」、「コンピューティングデバイス」および「コンピューティングプロセッサ」は、データを処理するためのあらゆる機器、装置および機械を包含し、例を挙げるとすればこれらには、プログラミング可能なプロセッサ、コンピュータ、またはマルチプロセッサまたはマルチコンピュータが含まれる。機器はハードウェアに加え、対象となるコンピュータプログラムのための実行環境を生成するコードを含んでいることができ、たとえばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらのうちの1つまたは複数の組み合わせを構成するコードを含んでいることができる。伝播信号は人工的に生成される信号であって、たとえば機械によって生成される電気的、光学的または電磁的な信号であり、この信号は適切な受け取り機器へ伝送する目的で情報をコーディングするために生成される。
【0081】
同様に、図面には特定の順序で動作が描かれているが、このことを、図示された特定の順序または逐次的な順序でかかる動作を実施しなければならないと捉えるべきではなく、あるいは所望の結果を達成するためには図示されたすべての動作を実施しなければならないと捉えるべきではない。所定の周囲環境では、マルチタスキングおよび並列処理が有利となる可能性がある。しかも、上述の具現化態様における様々なシステム構成要素の分離を、すべての具現化態様においてかかる分離を行わなければならないと捉えるべきではなく、上述のプログラム構成要素およびシステムを通例、単一のソフトウェア製品にまとめて統合することができる、または複数のソフトウェア製品にパッケージングすることができる、と捉えるべきである。
【0082】
これまで多数の実施形態について説明してきたが、自明のとおり本開示の着想および範囲を逸脱することなく、様々な変形を行うことができる。よって、その他の実施形態は以下の特許請求の範囲内に含まれる。