IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ パナソニックIPマネジメント株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023072099
(43)【公開日】2023-05-24
(54)【発明の名称】測距装置を制御する方法および装置
(51)【国際特許分類】
   G01S 17/931 20200101AFI20230517BHJP
   G01C 3/06 20060101ALI20230517BHJP
   G08G 1/16 20060101ALN20230517BHJP
   G02B 26/10 20060101ALN20230517BHJP
【FI】
G01S17/931
G01C3/06 120Q
G01C3/06 140
G08G1/16 C
G02B26/10 101
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2020067522
(22)【出願日】2020-04-03
(71)【出願人】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100101683
【弁理士】
【氏名又は名称】奥田 誠司
(74)【代理人】
【識別番号】100155000
【弁理士】
【氏名又は名称】喜多 修市
(74)【代理人】
【識別番号】100180529
【弁理士】
【氏名又は名称】梶谷 美道
(74)【代理人】
【識別番号】100125922
【弁理士】
【氏名又は名称】三宅 章子
(74)【代理人】
【識別番号】100135703
【弁理士】
【氏名又は名称】岡部 英隆
(74)【代理人】
【識別番号】100188813
【弁理士】
【氏名又は名称】川喜田 徹
(74)【代理人】
【識別番号】100184985
【弁理士】
【氏名又は名称】田中 悠
(74)【代理人】
【識別番号】100202197
【弁理士】
【氏名又は名称】村瀬 成康
(74)【代理人】
【識別番号】100218981
【弁理士】
【氏名又は名称】武田 寛之
(72)【発明者】
【氏名】加藤 弓子
(72)【発明者】
【氏名】稲田 安寿
(72)【発明者】
【氏名】鳴海 建治
(72)【発明者】
【氏名】久田 和也
【テーマコード(参考)】
2F112
2H045
5H181
5J084
【Fターム(参考)】
2F112AD01
2F112BA05
2F112CA04
2F112CA05
2F112CA12
2F112DA09
2F112DA15
2F112DA19
2F112DA21
2F112DA22
2F112DA25
2F112DA28
2F112EA05
2F112EA07
2F112FA29
2F112FA35
2F112FA38
2F112GA01
2H045AB13
2H045AB72
2H045AB73
2H045BA12
2H045BA13
5H181AA01
5H181CC02
5H181CC04
5H181LL01
5H181LL04
5H181LL09
5J084AA05
5J084AA07
5J084AB01
5J084AB07
5J084AC02
5J084AC07
5J084AD01
5J084AD02
5J084AD05
5J084BA04
5J084BA17
5J084BA20
5J084BA34
5J084BA36
5J084BA40
5J084BA48
5J084BA50
5J084BB02
5J084BB20
5J084BB27
5J084BB28
5J084BB34
5J084BB35
5J084CA03
5J084CA10
5J084CA22
5J084CA44
5J084CA53
5J084CA65
5J084CA67
5J084EA05
5J084EA22
(57)【要約】
【課題】対象物の距離情報をより効率的に取得する。
【解決手段】光ビームの出射方向を変化させることが可能な発光装置と、前記光ビームの出射によって生じた反射光ビームを検出する受光装置と、を備える測距装置を制御する方法が開示される。当該方法は、測距対象のシーンの画像を取得するイメージセンサによって異なる時刻に取得された複数の画像のデータを取得することと、前記複数の画像のデータに基づき、前記複数の画像に含まれる1つ以上の対象物の測距の優先度を決定することと、前記優先度に応じた方向に、前記優先度に応じた順序で、前記発光装置に前記光ビームを出射させ、前記受光装置に前記反射光ビームを検出させることにより、前記1つ以上の対象物の測距を実行することと、を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
光ビームの出射方向を変化させることが可能な発光装置と、前記光ビームの出射によって生じた反射光ビームを検出する受光装置と、を備える測距装置を制御する方法であって、
測距対象のシーンの画像を取得するイメージセンサによって異なる時刻に取得された複数の画像のデータを取得することと、
前記複数の画像のデータに基づき、前記複数の画像に含まれる1つ以上の対象物の測距の優先度を決定することと、
前記優先度に応じた方向に、前記優先度に応じた順序で、前記発光装置に前記光ビームを出射させ、前記受光装置に前記反射光ビームを検出させることにより、前記1つ以上の対象物の測距を実行することと、
を含む方法。
【請求項2】
前記測距装置は、移動体に搭載され、
前記方法は、前記移動体から、前記移動体の動作を示すデータを取得することを含み、
前記優先度は、前記複数の画像のデータと、前記移動体の動作を示すデータとに基づいて決定される、
請求項1に記載の方法。
【請求項3】
前記優先度を決定することは、
前記複数の画像に基づいて、前記1つ以上の対象物のモーションベクトルを生成することと、
前記移動体の動作を示すデータに基づいて、前記移動体の動作に起因して生じる静止物体のモーションベクトルを生成することと、
前記対象物のモーションベクトルと、前記静止物体のモーションベクトルとの差である相対速度ベクトルに基づいて、前記優先度を決定することと、
を含む、請求項2に記載の方法。
【請求項4】
前記測距を実行した後、前記対象物を特定する情報と、前記対象物までの距離を示す情報とを含むデータを、前記移動体に出力することをさらに含む、請求項2または3に記載の方法。
【請求項5】
前記優先度は、前記相対速度ベクトルの時間変化の大きさに基づいて決定される、請求項4に記載の方法。
【請求項6】
前記複数の画像のデータを取得することは、前記イメージセンサによって連続して取得された第1の画像、第2の画像、および第3の画像のデータを取得することを含み、
前記優先度を決定することは、
前記第1の画像と前記第2の画像とに基づいて、前記対象物の第1のモーションベクトルを生成することと、
前記第2の画像と前記第3の画像とに基づいて、前記対象物の第2のモーションベクトルを生成することと、
前記移動体の動作を示すデータに基づいて、前記移動体の動作に起因して生じる静止物体のモーションベクトルを生成することと、
前記第1のモーションベクトルと、前記静止物体のモーションベクトルとの差である第1の相対速度ベクトルを生成することと、
前記第2のモーションベクトルと、前記静止物体のモーションベクトルとの差である第2の相対速度ベクトルを生成することと、
前記第1の相対速度ベクトルと前記第2の相対速度ベクトルとの差に基づいて、前記優先度を決定することと、
を含む、請求項2から5のいずれかに記載の方法。
【請求項7】
前記画像のデータの取得と、前記対象物の測距の優先度の決定と、前記対象物の測距の実行とを含むサイクルを複数回繰り返すことを含む、請求項1から6のいずれかに記載の方法。
【請求項8】
あるサイクルにおいて前記測距が実行された対象物については、次回のサイクルにおいて、前記優先度を決定することなく、前記測距が継続される、請求項7に記載の方法。
【請求項9】
前記優先度に応じて、前記光ビームの照射時間を決定することをさらに含む、請求項1から8のいずれかに記載の方法。
【請求項10】
前記優先度に応じて、前記光ビームの出射および前記反射光ビームの検出の反復回数を決定することをさらに含む、請求項1から9のいずれかに記載の方法。
【請求項11】
前記受光装置が前記イメージセンサを備える、請求項1から10のいずれかに記載の方法。
【請求項12】
前記イメージセンサは、前記発光装置から出射された光によって前記画像を取得する、請求項11に記載の方法。
【請求項13】
光ビームの出射方向を変化させることが可能な発光装置と、前記光ビームの出射によって生じた反射光ビームを検出する受光装置と、を備える測距装置を制御する制御装置であって、
プロセッサと、
前記プロセッサによって実行されるコンピュータプログラムを格納した記憶媒体と、
を備え、
前記コンピュータプログラムは、前記プロセッサに、
測距対象のシーンの画像を取得するイメージセンサによって異なる時刻に取得された複数の画像のデータを取得することと、
前記複数の画像のデータに基づき、前記複数の画像に含まれる1つ以上の対象物の測距の優先度を決定することと、
前記優先度に応じた方向に、前記優先度に応じた順序で、前記発光装置に前記光ビームを出射させ、前記受光装置に前記反射光ビームを検出させることにより、前記1つ以上の対象物の測距を実行することと、
を実行させる、制御装置。
【請求項14】
請求項13に記載の制御装置と、
前記発光装置と、
前記制御装置と、
を備えるシステム。
【請求項15】
光ビームの出射方向を変化させることが可能な発光装置と、前記光ビームの出射によって生じた反射光ビームを検出する受光装置と、を備える測距装置を制御するプロセッサによって実行されるコンピュータプログラムであって、
前記プロセッサに、
測距対象のシーンの画像を取得するイメージセンサによって異なる時刻に取得された複数の画像のデータを取得することと、
前記複数の画像のデータに基づき、前記複数の画像に含まれる1つ以上の対象物の測距の優先度を決定することと、
前記優先度に応じた方向に、前記優先度に応じた順序で、前記発光装置に前記光ビームを出射させ、前記受光装置に前記反射光ビームを検出させることにより、前記1つ以上の対象物の測距を実行することと、
を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、測距装置を制御する方法および装置に関する。
【背景技術】
【0002】
自動運転車および自走式ロボットのような自走システムにおいて、他の車両または人等との衝突を回避することが重要である。そのために、カメラまたは測距装置による外部環境のセンシングを行うシステムが利用されている。
【0003】
測距に関しては、空間中に存在する1つ以上の物体までの距離を計測する種々のデバイスが提案されている。例えば、特許文献1から3は、ToF(Time of Flight)技術を利用して物体までの距離を計測するシステムを開示している。
【0004】
特許文献1は、光ビームで空間をスキャンし、物体からの反射光を検出することにより、物体までの距離を計測するシステムを開示している。このシステムは、複数のフレーム期間の各々において、光ビームの方向を変化させながら、イメージセンサにおける1つ以上の受光素子に、反射光を逐次検出させる。このような動作により、対象シーン全体の距離情報の取得に要する時間を短縮することに成功している。
【0005】
特許文献2は、複数回の全方位の測距により、自車の移動方向とは異なる方向に移動する横断物体を検出する方法を開示している。光源からの光パルスの強度または出射回数を増加させることにより、信号に対するノイズの比率を低減すること等が開示されている。
【0006】
特許文献3は、遠方の対象物についての詳細な距離情報を得るために、第1の測距装置とは別に、遠方の対象物に光ビームを出射する第2の測距装置を設けることを開示している。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2018-124271号公報
【特許文献2】特開2009-217680号公報
【特許文献3】特開2018-049014号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本開示は、シーン中に存在する1つ以上の対象物の距離情報をより効率的に取得するための技術を提供する。
【課題を解決するための手段】
【0009】
本開示の一態様に係る方法は、光ビームの出射方向を変化させることが可能な発光装置と、前記光ビームの出射によって生じた反射光ビームを検出する受光装置と、を備える測距装置を制御する方法である。前記方法は、測距対象のシーンの画像を取得するイメージセンサによって異なる時刻に取得された複数の画像のデータを取得することと、
前記複数の画像のデータに基づき、前記複数の画像に含まれる1つ以上の対象物の測距の優先度を決定することと、前記優先度に応じた方向に、前記優先度に応じた順序で、前記発光装置に前記光ビームを出射させ、前記受光装置に前記反射光ビームを検出させることにより、前記1つ以上の対象物の測距を実行することと、を含む。
【0010】
本開示の包括的または具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能な記録ディスク等の記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。コンピュータ読み取り可能な記録媒体は、例えばCD-ROM(Compact Disc‐Read Only Memory)等の不揮発性の記録媒体を含み得る。装置は、1つ以上の装置で構成されてもよい。装置が2つ以上の装置で構成される場合、当該2つ以上の装置は、1つの機器内に配置されてもよく、分離した2つ以上の機器内に分かれて配置されてもよい。本明細書および特許請求の範囲では、「装置」とは、1つの装置を意味し得るだけでなく、複数の装置からなるシステムも意味し得る。
【発明の効果】
【0011】
本開示の一態様によれば、シーン中に存在する1つ以上の対象物の距離情報をより効率的に取得することができる。
【0012】
本開示の一態様の付加的な恩恵および有利な点は本明細書および図面から明らかとなる。この恩恵および/または有利な点は、本明細書および図面に開示した様々な態様および特徴により個別に提供され得るものであり、その1つ以上を得るために全てが必要ではない。
【図面の簡単な説明】
【0013】
図1】本開示の例示的な実施形態における測距システムを模式的に示す図である。
図2】発光装置の一例を示す図である。
図3】発光装置の他の例を模式的に示す斜視図である。
図4】光導波路素子の構造の例を模式的に示す図である。
図5】位相シフタの例を模式的に示す図である。
図6】間接ToF方式の測距方法の例を説明するための図である。
図7】間接ToF方式の測距方法の他の例を説明するための図である。
図8A】第1記憶装置に記録されるデータの例を示す図である。
図8B】第1記憶装置に記録されるデータの例を示す図である。
図8C】第1記憶装置に記録されるデータの例を示す図である。
図8D】第1記憶装置に記録されるデータの例を示す図である。
図9A】第2記憶装置に記録されるデータの例を示す図である。
図9B】第2記憶装置に記録されるデータの例を示す図である。
図9C】第2記憶装置に記録されるデータの例を示す図である。
図9D】第2記憶装置に記録されるデータの例を示す図である。
図10】第3記憶装置に記録されるデータの例を示す図である。
図11】測距システムの動作の概要を示すフローチャートである。
図12A】クラスタごとの測距方法の例を示す図である。
図12B】クラスタごとの測距方法の例を示す図である。
図12C】クラスタごとの測距方法の例を示す図である。
図13図11におけるステップS1400の動作の詳細を示すフローチャートである。
図14A】直前のフレームf0の画像の例を示す図である。
図14B】現フレームf1の画像の例を示す図である。
図14C】フレームf0およびf1の画像を重ね合わせ、モーションベクトルを表示した図である。
図14D】自車動作によるモーションベクトルの例を示す図である。
図14E】相対速度ベクトルの例を示す図である。
図15】ステップS1407における自車動作によるモーションベクトル計算処理の詳細を示すフローチャートである。
図16A】測距システムが移動体の正面に配置され、移動体が前進している場合の見かけのモーションベクトルの例を示す図である。
図16B】測距システムが移動体の前面右側に配置され、移動体が前進している場合の見かけのモーションベクトルの例を示す図である。
図16C】測距システムが移動体の右側面に配置され、移動体が前進している場合の見かけのモーションベクトルの例を示す図である。
図16D】測距システムが移動体の後部中央に配置され、移動体が前進している場合の見かけのモーションベクトルの例を示す図である。
図17】ステップS1500における危険度計算の処理の詳細を示すフローチャートである。
図18】ステップS1503の処理の例を説明するための図である。
図19】ステップS1504における加速度危険度の計算方法の詳細な例を示すフローチャートである。
図20A】自車が等速で直進している場合における加速度ベクトルの計算処理を説明するための第1の図である。
図20B】自車が等速で直進している場合における加速度ベクトルの計算処理を説明するための第2の図である。
図20C】自車が等速で直進している場合における加速度ベクトルの計算処理を説明するための第3の図である。
図21A】自車が加速しながら直進している場合における加速度ベクトルの計算処理を説明するための第1の図である。
図21B】自車が加速しながら直進している場合における加速度ベクトルの計算処理を説明するための第2の図である。
図21C】自車が加速しながら直進している場合における加速度ベクトルの計算処理を説明するための第3の図である。
図22A】自車が減速しながら直進している場合における加速度ベクトルの計算処理を説明するための第1の図である。
図22B】自車が減速しながら直進している場合における加速度ベクトルの計算処理を説明するための第2の図である。
図22C】自車が減速しながら直進している場合における加速度ベクトルの計算処理を説明するための第3の図である。
図23A】自車が右に方向転換する場合における加速度ベクトルの計算処理を説明するための第1の図である。
図23B】自車が右に方向転換する場合における加速度ベクトルの計算処理を説明するための第2の図である。
図23C】自車が右に方向転換する場合における加速度ベクトルの計算処理を説明するための第3の図である。
図24】ステップS1600の動作の詳細な例を示すフローチャートである。
図25】ステップS1700における測距の動作の詳細な例を示すフローチャートである。
図26】ステップS1800におけるデータ統合処理の詳細な例を示すフローチャートである。
図27】移動体の座標系の例を示す図である。
図28A】処理装置が生成する出力データの一例を示す図である。
図28B】出力データの他の例を示す図である。
図29A】測距システムが移動体の前面右端に設置されている場合におけるベクトル生成処理を説明するための第1の図である。
図29B】測距システムが移動体の前面右端に設置されている場合におけるベクトル生成処理を説明するための第2の図である。
図29C】測距システムが移動体の前面右端に設置されている場合におけるベクトル生成処理を説明するための第3の図である。
図29D】測距システムが移動体の前面右端に設置されている場合におけるベクトル生成処理を説明するための第4の図である。
図29E】測距システムが移動体の前面右端に設置されている場合におけるベクトル生成処理を説明するための第5の図である。
図30】測距システムが移動体の前面右端に設置されている場合におけるシーン内の対象物の予測相対位置の例を示す図である。
図31A】測距システムが移動体の右側面に設置されている場合におけるベクトル生成処理を説明するための第1の図である。
図31B】測距システムが移動体の右側面に設置されている場合におけるベクトル生成処理を説明するための第2の図である。
図31C】測距システムが移動体の右側面に設置されている場合におけるベクトル生成処理を説明するための第3の図である。
図31D】測距システムが移動体の右側面に設置されている場合におけるベクトル生成処理を説明するための第4の図である。
図31E】測距システムが移動体の右側面に設置されている場合におけるベクトル生成処理を説明するための第5の図である。
図32A】測距システムが移動体の後方中央に設置されている場合におけるベクトル生成処理を説明するための第1の図である。
図32B】測距システムが移動体の後方中央に設置されている場合におけるベクトル生成処理を説明するための第2の図である。
図32C】測距システムが移動体の後方中央に設置されている場合におけるベクトル生成処理を説明するための第3の図である。
図32D】測距システムが移動体の後方中央に設置されている場合におけるベクトル生成処理を説明するための第4の図である。
図32E】測距システムが移動体の後方中央に設置されている場合におけるベクトル生成処理を説明するための第5の図である。
図33】測距システムが移動体の後方中央に設置されている場合におけるシーン内の対象物の予測相対位置の例を示す図である。
図34A】測距システムが移動体の前面右端に設置されており、自車が加速しながら直進している場合における加速度ベクトルの計算処理の例を示す第1の図である。
図34B】測距システムが移動体の前面右端に設置されており、自車が加速しながら直進している場合における加速度ベクトルの計算処理の例を示す第2の図である。
図34C】測距システムが移動体の前面右端に設置されており、自車が加速しながら直進している場合における加速度ベクトルの計算処理の例を示す第3の図である。
図35A】測距システムが移動体の前面右端に設置されており、自車が減速しながら直進している場合における加速度ベクトルの計算処理の例を示す第1の図である。
図35B】測距システムが移動体の前面右端に設置されており、自車が減速しながら直進している場合における加速度ベクトルの計算処理の例を示す第2の図である。
図35C】測距システムが移動体の前面右端に設置されており、自車が減速しながら直進している場合における加速度ベクトルの計算処理の例を示す第3の図である。
図36A】測距システムが移動体の前面右端に設置されており、自車が減速しながら右に方向転換する場合における加速度ベクトルの計算処理の例を示す第1の図である。
図36B】測距システムが移動体の前面右端に設置されており、自車が減速しながら右に方向転換する場合における加速度ベクトルの計算処理の例を示す第2の図である。
図36C】測距システムが移動体の前面右端に設置されており、自車が減速しながら右に方向転換する場合における加速度ベクトルの計算処理の例を示す第3の図である。
図37A】測距システムが移動体の右側面に設置されており、自車が加速しながら直進している場合における加速度ベクトルの計算処理の例を示す第1の図である。
図37B】測距システムが移動体の右側面に設置されており、自車が加速しながら直進している場合における加速度ベクトルの計算処理の例を示す第2の図である。
図37C】測距システムが移動体の右側面に設置されており、自車が加速しながら直進している場合における加速度ベクトルの計算処理の例を示す第3の図である。
図38A】測距システムが移動体の右側面に設置されており、自車が減速しながら直進している場合における加速度ベクトルの計算処理の例を示す第1の図である。
図38B】測距システムが移動体の右側面に設置されており、自車が減速しながら直進している場合における加速度ベクトルの計算処理の例を示す第2の図である。
図38C】測距システムが移動体の右側面に設置されており、自車が減速しながら直進している場合における加速度ベクトルの計算処理の例を示す第3の図である。
図39A】測距システムが移動体の右側面に設置されており、自車が減速しながら右に方向転換する場合における加速度ベクトルの計算処理の例を示す第1の図である。
図39B】測距システムが移動体の右側面に設置されており、自車が減速しながら右に方向転換する場合における加速度ベクトルの計算処理の例を示す第1の図である。
図39C】測距システムが移動体の右側面に設置されており、自車が減速しながら右に方向転換する場合における加速度ベクトルの計算処理の例を示す第1の図である。
図40A】測距システムが移動体の後方中央に設置されており、自車が加速しながら直進している場合における加速度ベクトルの計算処理の例を示す第1の図である。
図40B】測距システムが移動体の後方中央に設置されており、自車が加速しながら直進している場合における加速度ベクトルの計算処理の例を示す第2の図である。
図40C】測距システムが移動体の後方中央に設置されており、自車が加速しながら直進している場合における加速度ベクトルの計算処理の例を示す第3の図である。
図41A】測距システムが移動体の後方中央に設置されており、自車が減速しながら直進している場合における加速度ベクトルの計算処理の例を示す第1の図である。
図41B】測距システムが移動体の後方中央に設置されており、自車が減速しながら直進している場合における加速度ベクトルの計算処理の例を示す第2の図である。
図41C】測距システムが移動体の後方中央に設置されており、自車が減速しながら直進している場合における加速度ベクトルの計算処理の例を示す第3の図である。
図42A】測距システムが移動体の後方中央に設置されており、自車が減速しながら右に方向転換する場合における加速度ベクトルの計算処理の例を示す第1の図である。
図42B】測距システムが移動体の後方中央に設置されており、自車が減速しながら右に方向転換する場合における加速度ベクトルの計算処理の例を示す第2の図である。
図42C】測距システムが移動体の後方中央に設置されており、自車が減速しながら右に方向転換する場合における加速度ベクトルの計算処理の例を示す第3の図である。
図43】変形例における測距装置の構成例を示すブロック図である。
図44】測距装置における記憶装置が記憶するデータの一例を示す図である。
図45】変形例における測距の動作を示すフローチャートである。
【発明を実施するための形態】
【0014】
本開示において、回路、ユニット、装置、部材もしくは部の全部または一部、またはブロック図における機能ブロックの全部または一部は、例えば、半導体装置、半導体集積回路(IC)、またはLSI(large scale integration)を含む1つまたは複数の電子回路によって実行され得る。LSIまたはICは、1つのチップに集積されてもよいし、複数のチップを組み合わせて構成されてもよい。例えば、記憶素子以外の機能ブロックは、1つのチップに集積されてもよい。ここでは、LSIまたはICと呼んでいるが、集積の度合いによって呼び方が変わり、システムLSI、VLSI(very large scale integration)、もしくはULSI(ultra large scale integration)と呼ばれるものであってもよい。LSIの製造後にプログラムされる、Field Programmable Gate Array(FPGA)、またはLSI内部の接合関係の再構成またはLSI内部の回路区画のセットアップができるreconfigurable logic deviceも同じ目的で使うことができる。
【0015】
さらに、回路、ユニット、装置、部材または部の全部または一部の機能または動作は、ソフトウェア処理によって実行することが可能である。この場合、ソフトウェアは1つまたは複数のROM、光学ディスク、ハードディスクドライブなどの非一時的記録媒体に記録され、ソフトウェアがプロセッサによって実行されたときに、そのソフトウェアで特定された機能がプロセッサおよび周辺装置によって実行される。システムまたは装置は、ソフトウェアが記録されている1つまたは複数の非一時的記録媒体、プロセッサ、および必要とされるハードウェアデバイス、例えばインターフェースを備えていてもよい。
【0016】
従来の測距装置では、シーン中の広い範囲に点在する複数の物体までの距離を計測するために、例えばラスタースキャンによってシーン内をくまなく光ビームで照射する方法が用いられている。そのような方法では、物体が存在しない領域にも光ビームが照射され、かつ光ビームの出射順序があらかじめ決まっている。そのため、シーン内に例えば危険な物体または重要な物体が存在する場合であっても、その物体に優先的に光ビームを照射することができない。スキャンの光出射の順序に関わらず特定の方向に優先的に光ビームを照射するためには、例えば特許文献3に開示されているように、優先される方向についての測距を行う測距装置を追加する必要がある。
【0017】
本開示の実施形態は、測距装置を追加することなく、物体の距離情報を効率的に取得することを可能にする技術を提供する。以下、本開示の実施形態の概要を説明する。
【0018】
本開示の例示的な実施形態による制御方法は、光ビームの出射方向を変化させることが可能な発光装置と、前記光ビームの出射によって生じた反射光ビームを検出する受光装置と、を備える測距装置を制御する方法である。前記方法は、測距対象のシーンの画像を取得するイメージセンサによって異なる時刻に取得された複数の画像のデータを取得することと、前記複数の画像のデータに基づき、前記複数の画像に含まれる1つ以上の対象物の測距の優先度を決定することと、前記優先度に応じた方向に、前記優先度に応じた順序で、前記発光装置に前記光ビームを出射させ、前記受光装置に前記反射光ビームを検出させることにより、前記1つ以上の対象物の測距を実行することと、を含む。
【0019】
上記の方法によれば、前記複数の画像のデータに基づき、前記複数の画像に含まれる1つ以上の対象物の測距の優先度を決定し、前記優先度に応じた方向に、前記優先度に応じた順序で、前記発光装置に前記光ビームを出射させ、前記受光装置に前記反射光ビームを検出させることにより、前記1つ以上の対象物の測距を実行する。このような制御により、優先度の高い特定の対象物の測距を効率的に実行することができる。
【0020】
前記測距装置は、移動体に搭載されていてもよい。前記方法は、前記移動体から、前記移動体の動作を示すデータを取得することを含んでいてもよい。前記優先度は、前記複数の画像のデータと、前記移動体の動作を示すデータとに基づいて決定されてもよい。
【0021】
上記の方法によれば、移動体の動作状態に応じて対象物の優先度を決定することができる。移動体は、例えば自動車または二輪車などの車両であり得る。移動体の動作を示すデータは、例えば移動体の速度、加速度、または各加速度などの情報を含み得る。複数の画像のデータだけでなく、移動体の動作を示すデータも利用することにより、対象物の優先度をより適切に決定することができる。例えば、自車両の速度または加速度と、複数の画像から算出される対象物のモーションベクトルとに基づいて、その対象物の危険度を推定できる。危険度の高い対象物の優先度を高く設定するなどの柔軟な制御が可能である。
【0022】
前記優先度を決定することは、前記複数の画像に基づいて、前記1つ以上の対象物のモーションベクトルを生成することと、前記移動体の動作を示すデータに基づいて、前記移動体の動作に起因して生じる静止物体のモーションベクトルを生成することと、前記対象物のモーションベクトルと、前記静止物体のモーションベクトルとの差である相対速度ベクトルに基づいて、前記優先度を決定することと、を含んでいてもよい。
【0023】
上記の方法によれば、例えば相対速度ベクトルが大きいほど、その対象物の危険度が高く、優先度を高くすることができる。その結果、危険な対象物を重点的に効率よく測距することができる。
【0024】
前記方法は、前記測距を実行した後、前記対象物を特定する情報と、前記対象物までの距離を示す情報とを含むデータを、前記移動体に出力することをさらに含んでいてもよい。これにより、移動体は、例えば当該対象物を回避するなどの動作を行うことができる。
【0025】
前記優先度は、前記相対速度ベクトルの時間変化の大きさに基づいて決定されてもよい。相対速度ベクトルの時間変化は、その対象物の加速度を表す。加速度の高い対象物ほど危険で優先度が高いものとすることができる。前記優先度は、前記相対速度ベクトルの大きさに基づいて決定されてもよい。
【0026】
前記複数の画像のデータを取得することは、前記イメージセンサによって連続して取得された第1の画像、第2の画像、および第3の画像のデータを取得することを含んでいてもよい。前記優先度を決定することは、前記第1の画像と前記第2の画像とに基づいて、前記対象物の第1のモーションベクトルを生成することと、前記第2の画像と前記第3の画像とに基づいて、前記対象物の第2のモーションベクトルを生成することと、前記移動体の動作を示すデータに基づいて、前記移動体の動作に起因して生じる静止物体のモーションベクトルを生成することと、前記第1のモーションベクトルと、前記静止物体のモーションベクトルとの差である第1の相対速度ベクトルを生成することと、前記第2のモーションベクトルと、前記静止物体のモーションベクトルとの差である第2の相対速度ベクトルを生成することと、前記第1の相対速度ベクトルと前記第2の相対速度ベクトルとの差に基づいて、前記優先度を決定することと、を含んでいてもよい。このような動作により、モーションベクトルの時間変化に応じて優先度を適切に決定することができる。
【0027】
前記方法は、前記画像のデータの取得と、前記対象物の測距の優先度の決定と、前記対象物の測距の実行とを含むサイクルを複数回繰り返すことを含んでいてもよい。複数のサイクルは、一定の短い時間間隔(例えば、数マイクロ秒から数秒程度)で繰り返されてもよい。優先度の決定および測距を複数回繰り返すことにより、時間の経過とともに目まぐるしく変化する交通環境においても、危険度あるいは重要度の高い対象物の測距を適切に実行することができる。
【0028】
あるサイクルにおいて前記測距が実行された対象物については、次回のサイクルにおいて、前記優先度を決定することなく、前記測距が継続されてもよい。一般に、優先度が高いと判断された対象物は、次回以降のサイクルにおいても測距を継続することが好ましい。上記方法によれば、優先度の決定を省略して測距を継続することにより、当該物をトラッキングすることができる。
【0029】
前記方法は、前記優先度に応じて、前記光ビームの照射時間を決定することをさらに含んでいてもよい。例えば、優先度が高い対象物ほど長く光ビームを照射してもよい。測距方法として間接ToF法が用いられる場合、光ビームの照射時間および受光装置の露光期間を長くするほど測距可能な距離の範囲を拡大できる。このため、優先度が高い対象物への光ビームの照射時間を長くすることで、当該対象物の測距可能なレンジを拡大することができる。
【0030】
前記方法は、前記優先度に応じて、前記光ビームの出射および前記反射光ビームの検出の反復回数を決定することをさらに含んでいてもよい。例えば、優先度が高い対象物ほど反復回数を増加させてもよい。反復回数を増加させることにより、測距の精度を高くすることができる。例えば、複数回の測距の結果を平均化するなどの処理により、測距の誤差を低減することができる。
【0031】
前記受光装置が前記イメージセンサを備えていてもよい。あるいは、前記イメージセンサは、前記受光装置とは独立した装置であってもよい。
【0032】
前記イメージセンサは、前記発光装置から出射された光によって前記画像を取得するように構成されていてもよい。その場合、前記発光装置は、前記光ビームとは別に、広範囲を照射するフラッシュ光を出射するように構成され得る。
【0033】
本開示の他の実施形態による制御装置は、前記光ビームの出射方向を変化させることが可能な発光装置と、前記光ビームの出射によって生じた反射光ビームを検出する受光装置と、を備える測距装置を制御する。前記制御装置は、プロセッサと、前記プロセッサによって実行されるコンピュータプログラムを格納した記憶媒体と、を備える。前記コンピュータプログラムは、前記プロセッサに、測距対象のシーンの画像を取得するイメージセンサによって異なる時刻に取得された複数の画像のデータを取得することと、前記複数の画像のデータに基づき、前記複数の画像に含まれる1つ以上の対象物の測距の優先度を決定することと、前記優先度に応じた方向に、前記優先度に応じた順序で、前記発光装置に前記光ビームを出射させ、前記受光装置に前記反射光ビームを検出させることにより、前記1つ以上の対象物の測距を実行することと、を実行させる。
【0034】
本開示のさらに他の実施形態によるシステムは、上記の制御装置と、前記発光装置と、前記制御装置と、を備える。
【0035】
本開示のさらに他の実施形態によるコンピュータプログラムは、光ビームの出射方向を変化させることが可能な発光装置と、前記光ビームの出射によって生じた反射光ビームを検出する受光装置と、を備える測距装置を制御するプロセッサによって実行される。前記コンピュータプログラムは、前記プロセッサに、測距対象のシーンの画像を取得するイメージセンサによって異なる時刻に取得された複数の画像のデータを取得することと、前記複数の画像のデータに基づき、前記複数の画像に含まれる1つ以上の対象物の測距の優先度を決定することと、前記優先度に応じた方向に、前記優先度に応じた順序で、前記発光装置に前記光ビームを出射させ、前記受光装置に前記反射光ビームを検出させることにより、前記1つ以上の対象物の測距を実行することと、を実行させる。
【0036】
以下、本開示の例示的な実施形態を説明する。なお、以下で説明する実施形態は、いずれも包括的または具体的な例を示すものである。以下の実施形態で示される数値、形状、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は模式図であり、必ずしも厳密に図示されたものではない。さらに、各図において、実質的に同一の構成要素に対しては同一の符号を付しており、重複する説明は省略または簡略化される場合がある。
【0037】
(実施形態1)
本開示の例示的な実施形態1に係る測距システムの構成および動作を説明する。
【0038】
[1-1.構成]
図1は、本開示の例示的な実施形態1における測距システム10を模式的に示す図である。この測距システム10は、例えば自動運転車などの移動体に搭載され得る。移動体は、例えばエンジン、ステアリング、ブレーキ、およびアクセル等の機構を制御する制御装置400を備える。測距システム10は、移動体の制御装置400から、移動体の動作および動作計画の情報を取得し、制御装置400に、生成した周辺環境に関する情報を出力する。
【0039】
この測距システム10は、撮像装置100と、測距装置200と、処理装置300とを備える。撮像装置100は、シーンを撮像することによって2次元画像を取得する。測距装置200は、光を出射し、出射した光が対象物で反射することによって生じた反射光を検出することで対象物までの距離を計測する。処理装置300は、撮像装置100が取得した画像情報と、測距装置200が取得した距離情報と、移動体の制御装置400から送られる動作情報および動作計画情報とを取得する。処理装置300は、取得したそれらの情報に基づいて、周辺環境に関する情報を生成して制御装置400に出力する。以下の説明において、周辺環境に関する情報を「周辺情報」と称する。
【0040】
[1-1-1.撮像装置]
撮像装置100は、光学系110と、イメージセンサ120とを備える。光学系110は、1つ以上のレンズを含み、イメージセンサ120の受光面に像を形成する。イメージセンサ120は、例えばCMOS(Complementary Metal Oxide Semiconductor)またはCCD(Charge-Coupled Device)などのセンサであり、2次元画像のデータを生成して出力する。
【0041】
撮像装置100は、測距装置200と同じ方向のシーンの輝度画像を取得する。輝度画像はカラー画像であっても白黒画像であってもよい。撮像装置100は、外光を利用してシーンを撮影してもよいし、光源を使用してシーンに光を照射して撮影してもよい。光源から出射される光は拡散光であってもよいし、光ビームを順次照射してシーン全体を撮影してもよい。撮像装置100は、可視光カメラに限らず、赤外線カメラであってもよい。
【0042】
撮像装置100は、処理装置300からの指示に従い、連続的に撮像を行い、動画像のデータを生成する。
【0043】
[1-1-2.測距装置]
測距装置200は、発光装置210と、受光装置220と、制御回路230と、処理回路240とを備える。発光装置210は、所定の範囲内の任意の方向に光ビームを出射することができる。受光装置220は、発光装置210が出射した光ビームがシーン内の対象物によって反射されることで生じる反射光ビームを受光する。受光装置220は、反射光ビームを検出するイメージセンサまたは1つ以上のフォトディテクタを備える。制御回路230は、発光装置210から出射される光ビームの出射タイミングおよび出射方向、ならびに受光装置220の露光タイミングを制御する。処理回路240は、受光装置220から出力された信号に基づいて、光ビームが照射された物体までの距離を計算する。光ビームの出射から受光までの時間を計測または計算することで、距離を計測することができる。なお、制御回路230および処理回路240は、統合された1つの回路によって実現されていてもよい。
【0044】
発光装置210は、制御回路230の制御に応じて光ビームの出射方向を変化させることが可能なビームスキャナである。発光装置210は、測距対象のシーン内の一部の領域を光ビームで順次照射することができる。発光装置210から出射される光ビームの波長は特に限定されず、例えば可視域から赤外域に含まれる任意の波長でよい。
【0045】
図2は、発光装置210の一例を示す図である。この例では、発光装置210は、レーザなどの光ビームを発する光源と、少なくとも1つの可動ミラー、例えばMEMSミラーとを備える。光源から出射された光は、可動ミラーによって反射され、対象領域内(図2において矩形で表示)の所定の領域に向かう。制御回路230は、可動ミラーを駆動することにより、発光装置210からの出射光の方向を変化させる。これにより、例えば図2において点線矢印で示すように、対象領域を光でスキャンすることができる。
【0046】
可動ミラーを有する発光装置とは異なる構造によって光の出射方向を変化させることが可能な光源を用いてもよい。例えば、特許文献1に開示されているような、反射型導波路を利用した発光デバイスを用いてもよい。あるいは、アンテナアレイによって各アンテナから出力される光の位相を調節することで、アレイ全体の光の方向を変化させる発光デバイスを用いてもよい。
【0047】
図3は、発光装置210の他の例を模式的に示す斜視図である。参考のために、互いに直交するX軸、Y軸、およびZ軸が模式的に示されている。この発光装置210は、光導波路アレイ80Aと、位相シフタアレイ20Aと、光分岐器30と、それらが集積された基板40とを備える。光導波路アレイ80Aは、Y方向に配列された複数の光導波路素子80を含む。各光導波路素子80はX方向に延びている。位相シフタアレイ20AはY方向に配列された複数の位相シフタ20を含む。各位相シフタ20はX方向に延びた光導波路を備える。光導波路アレイ80Aにおける複数の光導波路素子80は、位相シフタアレイ20Aにおける複数の位相シフタ20にそれぞれ接続されている。位相シフタアレイ20Aには光分岐器30が接続されている。
【0048】
レーザ素子などの光源から発せられた光L0は、光分岐器30を介して位相シフタアレイ20Aにおける複数の位相シフタ20に入力される。位相シフタアレイ20Aにおける複数の位相シフタ20を通過した光は、位相がY方向に一定量ずつシフトした状態で、光導波路アレイ80Aにおける複数の光導波路素子80にそれぞれ入力される。光導波路アレイ80Aにおける複数の光導波路素子80にそれぞれ入力された光は、光ビームL2として、XY平面に平行な光出射面80sから、光出射面80sに交差する方向に出射される。
【0049】
図4は、光導波路素子80の構造の例を模式的に示す図である。光導波路素子80は、互いに対向する第1ミラー11および第2ミラー12と、第1ミラー11と第2ミラー12との間に位置する光導波層15と、光導波層15に駆動電圧を印加するための一対の電極13および14とを含む。光導波層15は、例えば液晶材料または電気光学材料などの、電圧の印加によって屈折率が変化する材料によって構成され得る。第1ミラー11の透過率は、第2ミラー12の透過率よりも高い。第1ミラー11および第2ミラー12の各々は、例えば、複数の高屈折率層および複数の低屈折率層が交互に積層された多層反射膜から形成され得る。
【0050】
光導波層15に入力された光は、光導波層15内を第1ミラー11および第2ミラー12によって反射されながらX方向に沿って伝搬する。図4における矢印は、光が伝搬する様子を模式的に表している。光導波層15内を伝搬する光の一部は、第1ミラー11から外部に出射される。
【0051】
電極13および14に駆動電圧を印加することにより、光導波層15の屈折率が変化し、光導波路素子80から外部に出射される光の方向が変化する。駆動電圧の変化に応じて、光導波路アレイ80Aから出射される光ビームL2の方向が変化する。具体的には、図3に示す光ビームL2の出射方向を、X軸に平行な第1の方向D1に沿って変化させることができる。
【0052】
図5は、位相シフタ20の例を模式的に示す図である。位相シフタ20は、例えば熱によって屈折率が変化する熱光学材料を含む全反射導波路21と、全反射導波路21に熱的に接触するヒータ22と、ヒータ22に駆動電圧を印加するための一対の電極23および24とを含む。全反射導波路21の屈折率は、ヒータ22、基板40、および空気の屈折率よりも高い。屈折率差により、全反射導波路21に入力された光は、全反射導波路21内を全反射されながらX方向に沿って伝搬する。
【0053】
一対の電極23および24に駆動電圧を印加することにより、全反射導波路21がヒータ22によって加熱される。その結果、全反射導波路21の屈折率が変化し、全反射導波路21の端から出力される光の位相がシフトする。図5に示す複数の位相シフタ20における隣り合う2つの位相シフタ20から出力される光の位相差を変化させることにより、光ビームL2の出射方向を、Y軸に平行な第2の方向D2に沿って変化させることができる。
【0054】
以上の構成により、発光装置210は、光ビームL2の出射方向を2次元的に変化させることができる。このような発光装置210の動作原理、および動作方法などの詳細は、例えば特許文献1に開示されている。特許文献1の開示内容の全体を本明細書に援用する。
【0055】
次に、受光装置220が備えるイメージセンサの構成例を説明する。イメージセンサは、受光面に沿って2次元的に配列された複数の受光素子を備える。イメージセンサの受光面に対向して、光学部品が設けられ得る。光学部品は、例えば少なくとも1つのレンズを含み得る。光学部品は、プリズムまたはミラー等の他の光学素子を含んでいてもよい。光学部品は、シーン中の物体の1点から拡散した光がイメージセンサの受光面上の1点に集束するように設計され得る。
【0056】
イメージセンサは、例えばCCD(Charge-Coupled Device)センサ、CMOS(Complementary Metal Oxide Semiconductor)センサ、または赤外線アレイセンサであり得る。各受光素子は、例えばフォトダイオードなどの光電変換素子と、1つ以上の電荷蓄積部とを含む。光電変換によって生じた電荷が、露光期間の間、電荷蓄積部に蓄積される。電荷蓄積部に蓄積された電荷は、露光期間終了後、出力される。このようにして、各受光素子は、露光期間の間に受けた光の量に応じた電気信号を出力する。この電気信号を「検出信号」と称することがある。イメージセンサは、モノクロタイプの撮像素子であってもよいし、カラータイプの撮像素子であってもよい。例えば、R/G/B、R/G/B/IR、またはR/G/B/Wのフィルタを有するカラータイプの撮像素子を用いてもよい。イメージセンサは、可視の波長範囲に限らず、例えば紫外、近赤外、中赤外、遠赤外などの波長範囲に検出感度を有していてもよい。イメージセンサは、SPAD(Single Photon Avalanche Diode)を利用したセンサであってもよい。イメージセンサは、全画素の露光を一括で行なう電子シャッタ方式、すなわちグローバルシャッタの機構を備え得る。電子シャッタの方式は、行毎に露光を行うローリングシャッタ方式、または光ビームの照射範囲に合わせた一部のエリアのみ露光を行うエリアシャッタ方式であってもよい。
【0057】
イメージセンサは、発光装置210からの光の出射タイミングを基準として、開始および終了のタイミングの異なる複数の露光期間のそれぞれにおいて、反射光を受光し、受光量を示す信号を露光期間ごとに出力する。
【0058】
制御回路230は、発光装置210による光の出射方向と出射タイミングとを決定し、発光を指示する制御信号を発光装置210に出力する。さらに、制御回路230は、受光装置220の露光のタイミングを決定し、露光および信号の出力を指示する制御信号を受光装置220に出力する。
【0059】
処理回路240は、受光装置220から出力された複数の異なる露光期間に蓄積された電荷を示す信号を取得し、それらの信号に基づき、対象物までの距離を計算する。処理回路240は、複数の露光期間にそれぞれ蓄積された電荷の比に基づき、発光装置210から光ビームが出射されてから反射光ビームが受光装置220によって受光されるまでの時間を計算し、当該時間から距離を計算する。このような測距の方式を間接ToF方式という。
【0060】
図6は、間接ToF方式における投光タイミング、反射光の到達タイミング、および2回の露光タイミングの例を示す図である。横軸は時間を示している。矩形部分は、投光、反射光の到達、および2回の露光のそれぞれの期間を表している。この例では、簡単のため、1つの光ビームが出射され、その光ビームによって生じた反射光を受ける受光素子が連続で2回露光する場合の例を説明する。図6の(a)は、光源から光が出射するタイミングを示している。T0は測距用の光ビームのパルス幅である。図6の(b)は、光源から出射して物体で反射された光ビームがイメージセンサに到達する期間を示している。Tdは光ビームの飛行時間である。図6の例では、光パルスの時間幅T0よりも短い時間Tdで反射光がイメージセンサに到達している。図6の(c)は、イメージセンサの第1の露光期間を示している。この例では、投光の開始と同時に露光が開始され、投光の終了と同時に露光が終了している。第1の露光期間では、反射光のうち、早期に戻ってきた光が光電変換され、生じた電荷が蓄積される。Q1は、第1の露光期間の間に光電変換された光のエネルギーを表す。このエネルギーQ1は、第1の露光期間の間に蓄積された電荷の量に比例する。図6の(d)は、イメージセンサの第2の露光期間を示している。この例では、第2の露光期間は、投光の終了と同時に開始し、光ビームのパルス幅T0と同一の時間、すなわち第1の露光期間と同一の時間が経過した時点で終了する。Q2は、第2の露光期間の間に光電変換された光のエネルギーを表す。このエネルギーQ2は、第2の露光期間の間に蓄積された電荷の量に比例する。第2の露光期間では、反射光のうち、第1の露光期間が終了した後に到達した光が受光される。第1の露光期間の長さが光ビームのパルス幅T0に等しいことから、第2の露光期間で受光される反射光の時間幅は、飛行時間Tdに等しい。
【0061】
ここで、第1の露光期間の間に受光素子に蓄積される電荷の積分容量をCfd1、第2の露光期間の間に受光素子に蓄積される電荷の積分容量をCfd2、光電流をIph、電荷転送クロック数をNとする。第1の露光期間における受光素子の出力電圧は、以下のVout1で表される。
Vout1=Q1/Cfd1=N×Iph×(T0-Td)/Cfd1
【0062】
第2の露光期間における受光素子の出力電圧は、以下のVout2で表される。
Vout2=Q2/Cfd2=N×Iph×Td/Cfd2
【0063】
図6の例では、第1の露光期間の時間長と第2の露光期間の時間長とが等しいため、Cfd1=Cfd2である。従って、Tdは以下の式で表すことができる。
Td={Vout2/(Vout1+Vout2)}×T0
【0064】
光速をC(≒3×10m/s)とすると、装置と物体との距離Lは、以下の式で表される。
L=1/2×C×Td=1/2×C×{Vout2/(Vout1+Vout2)}×T0
【0065】
イメージセンサは、実際には露光期間に蓄積した電荷を出力するため、時間的に連続して2回の露光を行うことができない場合がある。その場合には、例えば図7に示す方法が用いられ得る。
【0066】
図7は、連続で2つの露光期間を設けることができない場合の投光と露光、および電荷出力のタイミングを模式的に示す図である。図7の例では、まず、光源が投光を開始すると同時にイメージセンサは露光を開始し、光源が投光を終了すると同時にイメージセンサは露光を終了する。この露光期間は、図6における露光期間1に相当する。イメージセンサは、露光直後にこの露光期間で蓄積された電荷を出力する。この電荷量は、受光された光のエネルギーQ1に相当する。次に、光源は再度投光を開始し、1回目と同一の時間T0が経過すると投光を終了する。イメージセンサは、光源が投光を終了すると同時に露光を開始し、第1の露光期間と同一の時間長が経過すると露光を終了する。この露光期間は、図6における露光期間2に相当する。イメージセンサは、露光直後にこの露光期間で蓄積された電荷を出力する。この電荷量は、受光された光のエネルギーQ2に相当する。
【0067】
このように、図7の例では、上記の距離計算のための信号を取得するために、光源は投光を2回行い、イメージセンサはそれぞれの投光に対して異なるタイミングで露光する。このようにすることで、2つの露光期間を時間的に連続して設けることができない場合でも、露光期間ごとに電圧を取得できる。このように、露光期間ごとに電荷の出力を行うイメージセンサでは、予め設定された複数の露光期間の各々で蓄積される電荷の情報を得るために、同一条件の光を、設定された露光期間の数と等しい回数だけ投光することになる。
【0068】
なお、実際の測距では、イメージセンサは、光源から出射されて物体で反射された光のみではなく、バックグラウンド光、すなわち太陽光または周辺の照明等の外部からの光を受光し得る。そこで、一般には、光ビームが出射されていない状態でイメージセンサに入射するバックグラウンド光による蓄積電荷を計測するための露光期間が設けられる。バックグランド用の露光期間で計測された電荷量を、光ビームの反射光を受光したときに計測される電荷量から減算することで、光ビームの反射光のみを受光した場合の電荷量を求めることができる。本実施形態では、簡便のため、バックグランド光についての動作の説明を省略する。
【0069】
この例では、間接ToFによる測距を行うが、直接ToFによる測距を行ってもよい。直接ToFによる測距を行う場合、受光装置220は、タイマーカウンタを伴う受光素子を受光面に沿って2次元的に配置したセンサを備える。タイマーカウンタは、露光開始とともに計時を開始し、受光素子が反射光を受光した時点で計時を終了する。このようにして、タイマーカウンタは、受光素子ごとに計時を行い、光の飛行時間を直接計測する。処理回路240は、計測された光の飛行時間から、距離を計算する。
【0070】
本実施形態では、撮像装置100と測距装置200は、それぞれ分離した装置であるが、撮像装置100と測距装置200の機能を1つの装置に統合してもよい。例えば、撮像装置100が取得する輝度画像を、測距装置200の受光装置220を用いて取得してもよい。受光装置220は、発光装置210から光を出射することなく、輝度画像を取得してもよいし、発光装置210から出射された光による輝度画像を取得してもよい。発光装置210が光ビームを出射する場合、複数の光ビームによって順次得られるシーン中の一部の輝度画像を記憶し、結合することで、シーン全体の輝度画像を生成してもよい。あるいは、光ビームを順次出射する期間露光し続けることで、シーン全体の輝度画像を生成してもよい。発光装置210が光ビームとは別に広い範囲に拡散する光を出射することによって受光装置220が輝度画像を取得してもよい。
【0071】
[1-1-3.処理装置]
処理装置300は、撮像装置100、測距装置200、および制御装置400に接続されたコンピュータである。処理装置300は、第1記憶装置320と、第2記憶装置330と、第3記憶装置350と、画像処理モジュール310と、危険度計算モジュール340と、自車動作処理モジュール360と、周辺情報生成モジュール370とを備える。画像処理モジュール310、危険度計算モジュール340、自車動作処理モジュール360、および周辺情報生成モジュール370は、1つ以上のプロセッサによって実現され得る。処理装置300におけるプロセッサが、記憶媒体に格納されたコンピュータプログラムを実行することにより、画像処理モジュール310、危険度計算モジュール340、自車動作処理モジュール360、および周辺情報生成モジュール370として機能してもよい。
【0072】
画像処理モジュール310は、撮像装置100が出力する画像を処理する。第1記憶装置320は、撮像装置100が取得した画像等のデータと、処理装置300によって生成された処理結果とを対応付けて記憶する。処理結果には、例えばシーン中の物体の危険度等の情報が含まれる。第2記憶装置330は、危険度計算モジュール340が実行する処理に用いられる、あらかじめ定められた変換テーブルまたは関数を記憶する。危険度計算モジュール340は、第2記憶装置330に格納された変換テーブルまたは関数を参照して、シーン中の物体の危険度を計算する。危険度計算モジュール340は、物体の相対速度ベクトルと加速度ベクトルとに基づいて、当該物体の危険度を計算する。自車動作処理モジュール360は、第1記憶装置320に記録された画像処理結果および危険度計算結果と、移動体から取得した動作情報および動作計画情報とに基づき、第3記憶装置350に記録されたデータを参照して、当該移動体の動作および処理に関する情報を生成する。周辺情報生成モジュール370は、第1記憶装置320に記録された画像処理結果と、危険度計算結果と、移動体の動作および処理に関する情報とに基づいて、周辺情報を生成する。
【0073】
画像処理モジュール310は、前処理モジュール311と、相対速度ベクトルモジュール312と、認識処理モジュール313とを含む。前処理モジュール311は、撮像装置100によって生成された画像データについて、初期の信号処理を行う。相対速度ベクトルモジュール312は、撮像装置100によって取得された画像に基づき、シーン内の対象物のモーションベクトルを計算する。相対速度ベクトルモジュール312は、さらに計算したモーションベクトルと自車動作による見かけのモーションベクトルとから、対象物の相対速度ベクトルを生成する。認識処理モジュール313は、前処理モジュール311によって処理された画像から、1つ以上の対象物を認識する。
【0074】
図1に示す例では、第1記憶装置320、第2記憶装置330、および第3記憶装置350は、それぞれ分離した3つの記憶装置として表現されている。しかし、これらの記憶装置320、330、および350は、単一の記憶装置によって実現されていてもよいし、2つまたは4つ以上の記憶装置によって実現されていてもよい。また、この例では、処理回路240と処理装置300とが分離されているが、これらが1つの装置または回路によって実現されていてもよい。さらに、処理回路240および処理装置300の各々は、移動体の構成要素であってもよい。処理回路240および処理装置300の各々は、複数の回路の集合によって実現されていてもよい。
【0075】
以下、処理装置300の構成をより詳細に説明する。
【0076】
前処理モジュール311は、撮像装置100によって生成された一連の画像データについて、ノイズ低減、エッジ抽出、および信号強調等の信号処理を行う。これらの信号処理を前処理と称する。
【0077】
相対速度ベクトルモジュール312は、前処理が行われた一連の画像に基づいて、シーン内の1つ以上の対象物のそれぞれのモーションベクトルを計算する。相対速度ベクトルモジュール312は、一定時間内で異なる時刻に取得された複数の画像、すなわち動画像における異なるタイミングの複数のフレームの画像に基づいて、シーン内の対象物ごとにモーションベクトルを計算する。また、相対速度ベクトルモジュール312は、自車動作処理モジュール360によって生成された、移動体による動作ベクトルを生成する。移動体による動作ベクトルは、当該移動体の動作に起因して生じる、静止物体の見かけ上の動作ベクトルである。相対速度ベクトルモジュール312は、シーン内の対象物ごとに計算したモーションベクトルと、自車の動作による見かけ上の動作ベクトルとの差分から、相対速度ベクトルを生成する。相対速度ベクトルは、例えば各対象物のエッジの屈曲点などの特徴点のそれぞれについて生成され得る。
【0078】
認識処理モジュール313は、前処理モジュール311によって処理された各フレームの画像から、1つ以上の対象物を認識する。この認識処理は、例えば画像から、シーン内の車両、人、または自転車等の可動物体または静止物体を抽出し、その画像の領域を矩形の領域として出力する処理を含み得る。認識の方法には、機械学習またはパターンマッチング等の任意の方法が用いられ得る。認識処理のアルゴリズムは、特定のものに限定されず、任意のアルゴリズムを採用することができる。例えば機械学習による対象物の学習および認識が行われる場合、あらかじめ訓練された学習済みモデルが記憶媒体に格納される。入力された各フレームの画像データに当該学習済みモデルを適用することにより、車両、人、または自転車等の対象物を抽出することができる。
【0079】
記憶装置320は、撮像装置100、測距装置200、および処理装置300が生成する種々のデータを記憶する。記憶装置320は、例えば、以下のデータを記憶する。
・撮像装置100によって生成された画像データ
・画像処理モジュール310によって生成された前処理済みの画像データ、相対速度ベクトルのデータ、対象物の認識結果を示すデータ、
・危険度計算モジュール340によって計算された対象物ごとの危険度を示すデータ
・測距装置200によって生成された対象物ごとの距離データ
【0080】
図8Aから図8Dは、記憶装置320に記録されるデータの例を模式的に示す図である。この例では、撮像装置100によって取得された動画像のフレームと、処理装置300によって生成された画像中の認識された対象物の領域を示すクラスタとを基準にデータベースが構成される。図8Aは、撮像装置100によって生成された動画像における複数のフレームを示している。図8Bは、前処理モジュール311が複数のフレームに前処理を行うことによって生成した複数のエッジ画像を示している。図8Cは、各フレームの番号、撮像装置100によって生成された画像データの番号、前処理モジュール311によって生成されたエッジ画像の番号、および画像中の対象物の領域を表すクラスタの数を記録するテーブルを示している。図8Dは、各フレームの番号、各クラスタを識別する番号、各クラスタに含まれる特徴点(例えば、エッジの屈曲点等)の座標、特徴点ごとの相対速度ベクトルの始点座標と終点座標、クラスタごとに計算された危険度、クラスタごとに計算された距離、および認識された対象物のIDとを記録するテーブルを示している。
【0081】
記憶装置330は、あらかじめ定められた、危険度計算のための対応表または関数と、そのパラメータとを記憶する。図9Aから図9Dは、記憶装置330に記録されるデータの例を示す図である。図9Aは、予測相対位置と危険度との対応表を示している。図9Bは、加速時および減速時の直進加速度と危険度との対応表を示している。図9Cは、右折時の加速度と危険度との対応表を示している。図9Dは、左折時の加速度と危険度との対応表を示している。危険度計算モジュール340は、記憶装置330に記録された、位置と危険度との対応関係、および加速度と危険度との対応情報を参照して、シーン内の各対象物の予測相対位置および加速度から、危険度を計算する。なお、記憶装置330は、対応表の形式に限らず、関数の形式で、位置と危険度との対応関係、および加速度と危険度との対応関係を記憶してもよい。
【0082】
危険度計算モジュール340は、相対速度ベクトルモジュール312が計算した、エッジの特徴点ごとの相対速度ベクトルに従って、エッジの特徴点を含む対象物の予測相対位置を推定する。予測相対位置は、当該対象物が、あらかじめ定められた一定時間後に存在する位置である。あらかじめ定められた時間は、例えば、フレーム間隔に等しい時間に設定され得る。危険度計算モジュール340は、計算された予測相対位置に対応する危険度を、記憶装置330に記録された予測相対位置と危険度との対応表、および相対速度ベクトルの大きさに基づいて決定する。一方、危険度計算モジュール340は、自車動作処理モジュール360が生成した自車の動作計画に基づいて、自車動作の加速度ベクトルを計算する。加速度ベクトルの絶対値が、あらかじめ定められた大きさよりも大きい場合に、危険度計算モジュール340は、自車の方向転換および加減速による危険度を計算する。危険度計算モジュール340は、加速度ベクトルの直交成分と直進成分とを求める。直交成分の絶対値が所定の閾値よりも大きい場合には、図9Cまたは図9Dに示す対応表を参照して、相対速度ベクトルの加速度が転換する方向の成分についての危険度を抽出し、予測相対位置に応じて決定された危険度と合算する。一方、加速度ベクトルの直進成分の絶対値が所定の閾値よりも大きい場合には、図9Bに示す対応表を参照して、相対速度ベクトルの自車向き成分の値についての危険度を抽出し、予測相対位置に応じて決定された危険度と合算する。
【0083】
記憶装置350は、画像中の対象物の位置と見かけのモーションベクトルの大きさとの関係を示す対応表を記憶する。図10は、記憶装置350に記録される対応表の例を示している。図10の例では、記憶装置350は、撮像装置100が取得する画像中の、一点透視図の消失点に当たる点の座標、および当該座標から対象物の座標までの距離とモーションベクトルの大きさとの対応表を記憶する。この例では、消失点からの距離とモーションベクトルの大きさとの関係が、表の形式で記録されているが、関係式として記録されていてもよい。
【0084】
自車動作処理モジュール360は、測距システム10を搭載する移動体の制御装置400から、前フレームf0から現フレームf1の間に行われた当該移動体の動作情報と、動作計画情報とを取得する。動作情報は、当該移動体の速度または加速度の情報を含む。動作計画情報は、当該移動体の今後の動作を示す情報、例えば直進、右折、左折、加速、減速などの情報を含む。自車動作処理モジュール360は、記憶装置350に記録されたデータを参照して、取得した動作情報から、当該移動体の動作によって生じる見かけのモーションベクトルを生成する。また、自車動作処理モジュール360は、取得した動作計画情報から、次のフレームf2における自車の加速度ベクトルを生成する。自車動作処理モジュール360は、生成した見かけのモーションベクトルおよび自車の加速度ベクトルを、危険度計算モジュール340に出力する。
【0085】
制御装置400は、自車に搭載された自動運転システム、ナビゲーションシステム、および種々の他の車載センサから、動作情報および動作計画情報を取得する。他の車載センサは、舵角センサ、速度センサ、加速度センサ、GPS、ドライバモニタリングセンサを含み得る。動作計画情報は、例えば、自動運転システムが決定する自車の次の動作を示す情報である。動作計画情報の他の例は、ナビゲーションシステムから取得され走行予定経路と他の車載センサからの情報とを基に予測された自車の次の動作を示す情報である。
【0086】
[1-2.動作]
次に、測距システム10の動作をより詳細に説明する。
【0087】
図11は、本実施形態における測距システム10の動作の概要を示すフローチャートである。測距システム10は、図11に示すステップS1100からS1900の動作を実行する。以下、各ステップの動作を説明する。
【0088】
<ステップS1100>
処理装置300は、入力手段、例えば図1に示す制御装置400または不図示の入力装置から終了信号が入力されているか否かを判断する。終了信号が入力されている場合、処理装置300は動作を終了する。終了信号が入力されていない場合、ステップS1200に進む。
【0089】
<ステップS1200>
処理装置300は、撮像装置100に、シーンの2次元画像の撮影を指示する。撮像装置100は、2次元画像のデータを生成し、処理装置300における記憶装置320に出力する。記憶装置320は、図8Cに示すように、取得した2次元画像のデータをフレーム番号と対応付けて記憶する。
【0090】
<ステップS1300>
処理装置300の前処理モジュール311は、ステップS1200において撮像装置100によって取得され、記憶装置320に記録された2次元画像の前処理を行う。前処理は、例えば、フィルタによるノイズ低減処理、エッジ抽出処理、およびエッジ強調処理を含む。前処理は、これ以外の処理であってもよい。前処理モジュール311は、前処理の結果を記憶装置320に記憶する。図8Bおよび図8Cに示す例では、前処理モジュール311は、前処理によってエッジ画像を生成する。記憶装置320は、エッジ画像をフレーム番号と対応付けて記憶する。前処理モジュール311はまた、エッジ画像中のエッジから1つ以上の特徴点を抽出し、フレーム番号と対応付けて記憶する。特徴点は、例えば、エッジ画像中のエッジにおける屈曲点であり得る。
【0091】
<ステップS1400>
処理装置300の相対速度ベクトルモジュール312は、ステップS1300で処理された、直近のフレームf1の2次元画像と、その直前のフレームf0の2次元画像とを用いて相対速度ベクトルを生成する。相対速度ベクトルモジュール312は、記憶装置320に記録された、直近のフレームf1の画像中で設定された特徴点と、直前のフレームf0の画像中で設定された特徴点とのマッチングを行う。マッチングされた特徴点について、フレームf0の特徴点の位置からフレームf1の特徴点の位置までを結ぶベクトルをモーションベクトルとして抽出する。相対速度ベクトルモジュール312は、そのモーションベクトルから、自車動作処理モジュール360によって計算された、自車動作によるベクトルを減じて、相対速度ベクトルを計算する。計算された相対速度ベクトルは、当該相対速度ベクトルの計算に用いたフレームf1の特徴点と対応させて、ベクトルの始点と終点の座標を記述する形式で記憶装置320に記憶する。相対速度ベクトルの計算方法の詳細については後述する。
【0092】
<ステップS1450>
相対速度ベクトルモジュール312は、ステップS1400で計算した複数の相対速度ベクトルを、ベクトルの方向と大きさに基づき、クラスタリングする。例えば、相対速度ベクトルモジュール312は、ベクトルの始点と終点との間のx軸方向における差分とy軸方向における差分とに基づいてクラスタリングを行う。相対速度ベクトルモジュール312は、抽出されたクラスタに番号を付与し、現フレームf1に対応付ける。抽出されたクラスタは、図8Dに示すように、当該クラスタの相対速度ベクトルと対応付けられる形式で、記憶装置320に記録される。各クラスタは、1つの対象物に対応する。
【0093】
<ステップS1500>
処理装置300の危険度計算モジュール340は、記憶装置320に記録された相対速度ベクトルに基づいて、次フレームf2での予測相対位置を計算する。危険度計算モジュール340は、同一クラスタ内で、予測相対位置が自車の位置に最も近い相対速度ベクトルを用いて危険度を計算する。危険度計算モジュール340は、予測相対位置に従って、記憶装置330を参照して、危険度を計算する。一方、危険度計算モジュール340は、移動体の制御装置400から入力された自車の動作計画に基づき、加速度ベクトルを生成し、当該加速度ベクトルに従って危険度を計算する。危険度計算モジュール340は、予測相対位置に基づいて計算された危険度と、加速度ベクトルに基づいて計算された危険度とを統合し、当該クラスタの総合的な危険度を計算する。記憶装置320は、図8Dに示すように、当該危険度を、クラスタごとに記憶する。危険度の計算方法の詳細については後述する。
【0094】
<ステップS1600>
測距装置200の制御回路230は、記憶装置320を参照し、クラスタごとの危険度に従って、測距対象の有無を判断する。例えば、危険度が閾値よりも高いクラスタがある場合、測距対象があると判断する。測距対象がない場合、ステップS1100に戻る。測距対象が1つ以上ある場合、ステップS1650に進む。現フレームf1に対応付けられたクラスタについて、危険度の高い相対速度ベクトルを持つクラスタすなわち対象物の測距が優先的に行われる。処理装置300は、例えば、測距対象の各クラスタの相対速度ベクトルから予測される次のフレームでの位置の範囲を測距対象とする。測距対象として、例えば、危険度の高い順に一定数のクラスタを決定してもよい。あるいは、受光装置220の撮像範囲としての2次元空間に対する、クラスタの予測位置が占める範囲の合計の割合が一定の値を超えるまで、危険度の高い順に複数のクラスタを決定してもよい。
【0095】
<ステップS1650>
制御回路230は、測距対象のクラスタのすべてについて測距が終了したか否かを判断する。測距対象のクラスタのうち、まだ測距が終了していないクラスタがある場合、ステップS1700に進む。測距対象のクラスタのすべてについて測距が終了した場合、ステップS1800に進む。
【0096】
<ステップS1700>
制御回路230は、ステップS1600で測距対象として決定されたクラスタのうち、まだ測距が行われていないクラスタの1つについて、測距を実行する。例えば、測距対象として決定され、まだ測距されていないクラスタの中で、最も危険度の高いクラスタすなわち対象物が測距対象として決定され得る。制御回路230は、当該クラスタに対応する範囲が照射されるように光ビームの出射方向を設定する。例えば、当該クラスタにおける特徴点に対応する予測相対位置に向かう方向が光ビームの出射方向として設定され得る。制御回路230は、発光装置210からの光ビームの出射タイミングと受光装置220の露光タイミングとを設定し、それぞれの制御信号を発光装置210および受光装置220に出力する。発光装置210は、制御信号を受けると、制御信号が示す方向に光ビームを出射する。受光装置220は、制御信号を受けると、露光を開始し、対象物からの反射光を検出する。受光装置220のイメージセンサにおける各受光素子は、各露光期間内に蓄積された電荷を示す信号を処理回路240に出力する。処理回路240は、光ビームが照射された範囲内で、露光期間に電荷の蓄積があった画素について、前述の方法で距離を計算する。
【0097】
処理回路240は、計算した距離をクラスタ番号に関連付けて処理装置300の記憶装置320に出力する。記憶装置320は、図8Dに示すように、測距結果をクラスタに関連付ける形式で記憶する。ステップS1700における測距およびデータ記憶の終了後、ステップS1650に戻る。
【0098】
図12Aから図12Cは、各クラスタの測距方法の例を示す図である。上記の例では、図12Aに示すように、クラスタ500ごとに1つの特徴点510が選択され、その方向に光ビームが出射される。クラスタ500に対応する範囲が単一の光ビームで照射される範囲を超える場合、図12Bに示すように、各クラスタ500の2次元領域を複数の部分領域に分割して、部分領域ごとに光ビームを照射してもよい。そのような方法により、部分領域ごとに距離を計測することができる。分割された部分領域ごとの光ビームの照射順序は任意に決定してよい。あるいは、図12Cに示すように、各クラスタ500の2次元領域に対応する範囲を、光ビームでスキャンしてもよい。スキャンの方向およびスキャンの軌跡は、任意に決定してよい。そのような方法により、スキャンの軌跡に対応する画素のそれぞれについて距離を計測できる。
【0099】
<ステップS1800>
処理装置300の周辺情報生成モジュール370は、記憶装置320を参照し、認識処理モジュール313による画像認識の結果と、クラスタごとに記録された距離とを、クラスタごとに統合する。データの統合方法の詳細については後述する。
【0100】
<ステップS1900>
周辺情報生成モジュール370は、ステップS1800で統合されたデータを出力データに変換し、移動体の制御装置400に出力する。出力データの詳細については後述する。この出力データを「周辺情報」と称する。データ出力の後、ステップS1100に戻る。
【0101】
ステップS1100からステップS1900の動作を繰り返すことで、測距システム10は、移動体が動作するために利用される周辺環境の情報を繰り返し生成する。
【0102】
移動体の制御装置400は、測距システム10が出力した周辺情報を基に、移動体の制御を実行する。移動体の制御の一例は、移動体のエンジン、モータ、ステアリング、ブレーキ、およびアクセル等の機構を自動制御することである。移動体の制御は、移動体を運転するドライバーに対して運転に必要な情報を提供すること、あるいはアラートを発することであってもよい。ドライバーに提供される情報は、移動体に搭載されたヘッドアップディスプレイ、およびスピーカー等の出力装置によって出力され得る。
【0103】
図11の例では、測距システム10は、撮像装置100が生成するフレームごとにステップS1100からステップS1900の動作を行う。しかし、測距による情報生成の動作は、複数フレームに1回の頻度で行われてもよい。例えば、ステップS1400の動作の後、以降の動作を実行するか否かを判断するステップが追加されてもよい。例えば、対象物の加速度が所定値以上の場合のみ、測距および周辺情報の生成を行ってもよい。より具体的には、処理装置300は、現フレームf1で計算されたシーン内の相対速度ベクトルを、直前のフレームf0について計算されたシーン内の相対速度ベクトルと比較してもよい。フレームf1中のすべてのクラスタについて、フレームf0中の同一のクラスタに対応する相対速度ベクトルの大きさの差が、あらかじめ定められた値よりも小さい場合、ステップS1450からステップS1800の動作を省略してもよい。その場合、周辺状況に変化がないものとみなされ、ステップS1100に戻る、あるいは相対速度ベクトルの情報のみを移動体の制御装置400に出力してステップS1100に戻ってもよい。
【0104】
[1-2-1.相対速度ベクトルの計算]
次に、ステップS1400における相対速度ベクトル計算の詳細を説明する。
【0105】
図13は、図11におけるステップS1400の動作の詳細を示すフローチャートである。ステップS1400は、図13に示すステップS1401からS1408の動作を含む。以下、各ステップの動作を説明する。
【0106】
<ステップS1401>
処理装置300の自車動作処理モジュール360は、移動体の制御装置400から、直前のフレームf0の取得時から現フレームf1の取得時までの移動体の動作の情報を取得する。動作の情報は、例えば車両の走行速度、および、直前のフレームf0のタイミングから現フレームf1のタイミングまでの移動方向および距離の情報を含み得る。さらに、自車動作処理モジュール360は、制御装置400から、現フレームf1のタイミングから次のフレームf2のタイミングまでの移動体の動作の計画を示す情報、例えば作動装置への制御信号を取得する。作動装置への制御信号は、例えば、加速、減速、右折、または左折などの動作を指示する信号であり得る。
【0107】
<ステップS1402>
処理装置300の相対速度ベクトルモジュール312は、記憶装置320を参照し、直前のフレームf0の画像中のすべての特徴点と、現フレームf1の画像中のすべての特徴点について、マッチング処理が完了したかを判断する。すべての特徴点のマッチング処理が終了している場合、ステップS1450に進む。マッチング処理が行われていない特徴点がある場合、ステップS1403に進む。
【0108】
<ステップS1403>
相対速度ベクトルモジュール312は、記憶装置320に記録された直前のフレームf0の画像中で抽出された特徴点と現フレームf1の画像中で抽出された特徴点のうち、マッチング処理が行われていない点を選択する。選択は、直前のフレームf0の画像中の特徴点について優先して行われる。
【0109】
<ステップS1404>
相対速度ベクトルモジュール312は、ステップS1403で選択した特徴点と、当該特徴点が含まれる画像とは異なるフレーム中の特徴点とのマッチングを行う。相対速度ベクトルモジュール312は、直前のフレームf0から現フレームf1の時間の間に、当該特徴点を持つ対象物、あるいは対象物の当該特徴点にあたる位置が、撮像装置100の視野の外、すなわちイメージセンサの画角の範囲外に出たか否かを判断する。ステップS1403で選択した特徴点が、直前のフレームf0の画像中の特徴点であり、現フレームf1の画像中の特徴点の中に、対応する特徴点がない場合、ステップS1404はyesと判断される。すなわち、直前のフレームf0の画像中の特徴点に対応する特徴点が現フレームf1の画像中にない場合、直前のフレームf0から現フレームf1の時間の間に、当該特徴点にあたる位置が撮像装置100の視野の外に出たと判断される。その場合、ステップS1402に戻る。一方、ステップS1403で選択された特徴点が、直前のフレームf0の画像中の特徴点でない場合、または、選択された特徴点が、直前のフレームf0の画像中の特徴点であり、現フレームf1の画像中に対応する特徴点がある場合、ステップS1405に進む。
【0110】
<ステップS1405>
相対速度ベクトルモジュール312は、ステップS1403で選択された特徴点と、当該特徴点が含まれる画像とは異なるフレーム中の特徴点とのマッチングを行う。相対速度ベクトルモジュール312は、直前のフレームf0から現フレームf1の時間の間に、当該特徴点を持つ対象物、あるいは対象物の当該特徴点にあたる位置が、撮像装置100の視野内に入った、あるいは判別可能な大きさの領域を占めるようになったか否かを判断する。ステップS1403において選択された特徴点が、現フレームf1の画像中の特徴点であり、直前のフレームf0の画像中に対応する特徴点がない場合、ステップS1405はYesと判断される。すなわち、現フレームf1の画像中の特徴点に対応する特徴点が直前のフレームf0の画像中にない場合、その特徴点は、現フレームf1で撮像装置100の視野内に初出した対象物の特徴点であると判断される。この場合、ステップS1402に戻る。一方、現フレームf1の画像中の特徴点と直前のフレームf0の画像中の特徴点とのマッチングに成功した場合、ステップS1406に進む。
【0111】
<ステップS1406>
相対速度ベクトルモジュール312は、ステップS1403で選択され、現フレームf1と直前のフレームf0の両方の画像中に、同一の対象物に含まれる特定の特徴点として特定された特徴点について、モーションベクトルを生成する。モーションベクトルは、直前のフレームf0の画像中での特徴点の位置から、現フレームf1の画像中での対応する特徴点の位置を結ぶベクトルである。
【0112】
図14Aから図14Cは、ステップS1406の動作を模式的に示す図である。図14Aは、直前のフレームf0の画像の例を示している。図14Bは、現フレームf1の画像の例を示している。図14Cは、フレームf0およびf1の画像を重ね合わせた図である。図14Cにおける矢印は、モーションベクトルを表している。フレームf0の画像中の街灯、歩行者、道路の白線、先行車両、および交差する道路上の車両のそれぞれについて、フレームf1の画像中の対応箇所をマッチングすることにより、フレームf0中の位置を始点とし、フレームf1中の位置を終点とするモーションベクトルが得られる。
【0113】
マッチング処理は、例えば、Sum of Squared difference(SSD)、またはSum of Absolute difference(SAD)に代表されるテンプレートマッチングの方法によって行われ得る。本実施形態では、特徴点を含むエッジの図形をテンプレート画像とし、このテンプレート画像との差が少なくなる画像中の部分が抽出される。マッチングにはこれ以外の方法を用いてもよい。
【0114】
<ステップS1407>
相対速度ベクトルモジュール312は、自車動作によるモーションベクトルを生成する。自車動作によるモーションベクトルは、自車から見た静止物体の相対的な移動、すなわち見かけの移動を表す。相対速度ベクトルモジュール312は、ステップS1406で生成された各モーションベクトルの始点における自車動作によるモーションベクトルを生成する。自車動作によるモーションベクトルは、ステップS1401で取得された、直前のフレームf0のタイミングから現フレームf1のタイミングまでの移動方向および距離の情報と、図10に示す記憶装置350に記録された自車動作によるモーションベクトルの消失点の座標、および消失点からの距離とベクトルの大きさとの対応関係の情報とに基づいて生成される。自車動作によるモーションベクトルは、自車の移動方向とは逆向きのベクトルである。図14Dは、自車動作によるモーションベクトルの例を示している。ステップS1407のより詳細な処理については後述する。
【0115】
<ステップS1408>
相対速度ベクトルモジュール312は、ステップS1406で生成された各特徴点のモーションベクトルと、ステップS1407で生成された自車動作による見かけのモーションベクトルとの差分である相対速度ベクトルを生成する。相対速度ベクトルモジュール312は、生成した相対速度ベクトルの始点および終点の座標を記憶装置320に記憶する。図8Dに示すように、相対速度ベクトルは、現フレームの各特徴点に対応する形式で記録される。図14Eは、相対速度ベクトルの例を示している。図14Cに示すモーションベクトルから図14Dに示す自車動作によるモーションベクトルを減じることにより、相対速度ベクトルが生成される。静止している街灯、白線、およびほぼ静止している歩行者については、相対速度ベクトルはほぼ0である。これに対して、先行車両および交差する道路上の車両については、0よりも大きい長さの相対速度ベクトルが得られる。図14Eの例では、先行車両のモーションベクトルから自車動作による見かけのモーションベクトルを引いたベクトルV1は、自車から離れる方向を示すベクトルとなる。一方、交差する道路上の車両のモーションベクトルから自車動作による見かけ上のモーションベクトルを引いたベクトルV2は、自車に近づく方向を示すベクトルとなる。ステップS1408の後、ステップS1402に戻る。
【0116】
処理装置300は、ステップS1402からステップS1408の動作を繰り返すことにより、フレーム内の全特徴点について、相対速度ベクトルを生成する。
【0117】
図15は、ステップS1407における自車動作によるモーションベクトル計算処理の詳細を示すフローチャートである。ステップS1407は、図15に示すステップS1471からS1473を含む。以下、これらの各ステップの動作を説明する。
【0118】
<ステップS1471>
処理装置300の相対速度ベクトルモジュール312は、ステップS1401で取得された、直前のフレームf0のタイミングから現フレームf1のタイミングまでの移動距離と、フレームの時間間隔とから、自車の速度を決定する。
【0119】
<ステップS1472>
相対速度ベクトルモジュール312は、記憶装置350を参照し、画像中の消失点の座標を取得する。相対速度ベクトルモジュール312は、ステップS1406で生成された各モーションベクトルの始点を自車動作による見かけのモーションベクトルの始点とする。測距システム10が搭載されている移動体が、ほぼ消失点の方向に進む場合は、消失点から当該モーションベクトルの始点に向かう方向を自車動作による見かけのモーションベクトルの方向とする。
【0120】
図16Aから図16Dは、消失点座標と自車動作による見かけのモーションベクトルの例を示す図である。図16Aは、測距システム10が移動体の正面に配置され、移動体が前進している場合の見かけのモーションベクトルの例を示している。図16Bは、測距システム10が移動体の前面右側に配置され、移動体が前進している場合の見かけのモーションベクトルの例を示している。図16Aおよび図16Bの例については上記の方法で自車動作による見かけのモーションベクトルの方向が定められる。図16Cは、測距システム10が移動体の右側面に配置され、移動体が前進している場合の見かけのモーションベクトルの例を示している。図16Cの例では、測距システム10が搭載されている移動体の進路は、測距システム10が撮影あるいは測距する視野角内にはなく、測距システム10の視野方向と直交する。このような場合、測距システム10の視野方向は移動体の移動方向に沿って平行移動する。このため、測距システム10の視野中の消失点に関わらず、移動体の移動方向とは逆の方向が見かけのモーションベクトルの方向となる。図16Dは、測距システム10が移動体の後部中央に配置され、移動体が前進している場合の見かけのモーションベクトルの例を示している。図16Dの例では、移動体の進行方向は、図16Aの例とは逆向きのベクトルで表され、見かけのモーションベクトルの方向も図16Aの例とは逆になる。
【0121】
<ステップS1473>
相対速度ベクトルモジュール312は、記憶装置350を参照し、消失点から当該モーションベクトルの始点までの距離に従ってベクトルの大きさを設定する。そして、ステップS1471で計算した移動体の速度に応じた補正を加えて、ベクトルの大きさを決定する。以上の処理により、自車動作によるモーションベクトルが決定される。
【0122】
[1-2-2.危険度計算]
次に、処理装置300の危険度計算モジュール340による動作の詳細を説明する。
【0123】
図17は、ステップS1500における危険度計算の処理の詳細を示すフローチャートである。ステップS1500は、図17に示すステップS1501からS1505を含む。以下、各ステップの動作を説明する。
【0124】
<ステップS1501>
危険度計算モジュール340は、記憶装置320を参照し、ステップS1450で生成された現フレームf1に対応付けられたクラスタのすべてについて危険度の計算が終了したか否かを判断する。すべてのクラスタで危険度の計算が終了している場合、ステップS1600に進む。危険度の計算が終了していないクラスタがある場合、ステップS1502に進む。
【0125】
<ステップS1502>
危険度計算モジュール340は、現フレームf1に対応付けられたクラスタのうち危険度計算が終了していないクラスタを選択する。危険度計算モジュール340は、記憶装置320を参照し、選択されたクラスタに含まれる特徴点に対応付けられた相対速度ベクトルのうち、終点座標が自車位置に最も近いベクトルを、当該クラスタの相対速度ベクトルとして選択する。
【0126】
<ステップS1503>
危険度計算モジュール340は、ステップS1502で選択されたベクトルを、以下の2つの成分に分解する。1つは、自車方向のベクトル成分であり、自車あるいは撮像装置100の位置に向かうベクトル成分である。このベクトル成分は、撮像装置100が生成したシーンの画像中では、例えば画像の下辺中央へ向かう成分である。もう1つの成分は、自車に向かう方向に直交するベクトル成分である。自車方向のベクトル成分の大きさを2倍にしたベクトルの終点を、現フレームf1の次のフレームf2での当該特徴点がとり得る自車に対する相対的な位置として計算する。さらに、危険度計算モジュール340は、当該相対速度ベクトルから求められた当該特徴点がとりうる自車に対する相対的な位置に対応する危険度を、記憶装置330を参照して決定する。
【0127】
図18は、ステップS1503の処理の例を説明するための図である。図14Eに示す相対速度ベクトルについてステップS1503の処理を適用することによって得られる、次のフレームf2のタイミングでの自車に対する特徴点の相対位置が星印で示されている。この例のように、各クラスタすなわち対象物の特徴点が、次のフレームf2でどの位置にあるかが推定され、その位置に応じた危険度が決定される。
【0128】
<ステップS1504>
危険度計算モジュール340は、ステップS1401で取得された動作計画情報に基づいて、加速度に伴う危険度を計算する。危険度計算モジュール340は、記憶装置320を参照し、直前のフレームf0から現フレームf1までの相対速度ベクトルと、現フレームf1から次のフレームf2までの相対速度ベクトルとの差分から、加速度ベクトルを生成する。危険度計算モジュール340は、記憶装置330に記録された加速度ベクトルと危険度との対応表を参照して、加速度ベクトルに応じた危険度を決定する。
【0129】
<ステップS1505>
危険度計算モジュール340は、ステップS1503で計算した予測位置に応じた危険度と、ステップS1504で計算した加速度に応じた危険度とを統合する。危険度計算モジュール340は、予測位置に応じた危険度を基礎とし、加速度に応じた危険度を乗ずることにより、総合的な危険度を計算する。ステップS1505の後、ステップS1501に戻る。
【0130】
ステップS1501からS1505の動作を繰り返すことにより、全てのクラスタについて、総合的な危険度が計算される。
【0131】
次に、ステップS1504における加速度に応じた危険度の計算方法のより詳細な例を説明する。
【0132】
図19は、ステップS1504における加速度危険度の計算方法の詳細な例を示すフローチャートである。ステップS1504は、図19に示すステップS1541からS1549を含む。以下、各ステップの動作を説明する。なお、以下の説明では、撮像装置100および測距装置200が車両の前面に配置されているものとする。撮像装置100および測距装置200が車両の他の部位に配置されている場合の処理の例については、後述する。
【0133】
<ステップS1541>
危険度計算モジュール340は、ステップS1401で取得された動作計画情報に基づき、自車の加速度ベクトルを計算する。図20Aから図20Cは、自車が等速で直進している場合における加速度ベクトルの計算処理の例を示す図である。図21Aから図21Cは、自車が加速しながら直進している場合における加速度ベクトルの計算処理の例を示す図である。図22Aから図22Cは、自車が減速しながら直進している場合における加速度ベクトルの計算処理の例を示す図である。図23Aから図23Cは、自車が右に方向転換する場合における加速度ベクトルの計算処理の例を示す図である。動作計画情報は、例えば、現フレームf1から次のフレームf2までの自車の動作を示す。この動作に対応するベクトルは、現フレームf1での自車の位置を始点とし、次のフレームf2での自車の予測位置を終点とするベクトルである。このベクトルは、ステップS1503と同様の処理によって得られる。図20A図21A図22A、および図23Aは、現フレームf1から次のフレームf2までの自車の動作を示すベクトルの例を示している。一方、直前のフレームf0から現フレームf1までの自車の動作は、自車位置を始点とし、記憶装置350に記録された消失点の座標に向かうベクトルによって表される。ベクトルの大きさは、自車の位置と消失点座標との距離に依存する。図20B図21B図22B、および図23Bは、直前のフレームf0から現フレームf1までの自車の動作を示すベクトルの例を示している。自車の加速度ベクトルは、現フレームf1から次のフレームf2までの自車の動作計画を表すベクトルから、直前のフレームf0から現フレームf1までの自車の動作を表すベクトルを差し引くことによって得られる。図20C図21C図22C、および図23Cは、計算される加速度ベクトルの例を示している。図20Cの例では、加速度が生じていないため、加速度ベクトルは0である。
【0134】
<ステップS1542>
危険度計算モジュール340は、ステップS1541で得られた自車の加速度ベクトルを、自車の直進方向の成分と直交方向の成分とに分解する。直進方向の成分は、図中の上下方向の成分であり、直交方向の成分は図中の左右方向の成分である。図20C図21C、および図22Cの例では、加速度ベクトルは直進方向の成分のみを持つ。図23Cの例では、加速度ベクトルは直進方向と直交方向の両方の成分を持つ。加速度ベクトルが直交方向の成分を持つのは、移動体が方向転換を行う場合である。
【0135】
<ステップS1543>
危険度計算モジュール340は、ステップS1542で分解した加速度ベクトルの成分のうち、直交方向の成分の絶対値があらかじめ定められた値Th1を超えているか否かを判断する。直交方向の成分の大きさがTh1を超えている場合、ステップS1544に進む。直交方向の成分の大きさがTh1を超えない場合、ステップS1545に進む。
【0136】
<ステップS1544>
危険度計算モジュール340は、記憶装置320を参照し、現フレームf1における相対速度ベクトルについて、ステップS1542で抽出した加速度ベクトルの直交成分と同一の方向の成分の大きさを計算する。危険度計算モジュール340は、記憶装置330を参照し、加速度ベクトルの直交成分から危険度を決定する。
【0137】
<ステップS1545>
危険度計算モジュール340は、ステップS1542で分解した加速度ベクトルの成分のうち、直進方向の成分の絶対値があらかじめ定められた値Th2を下回るか否かを判断する。直進方向の成分の大きさがTh2よりも小さい場合、ステップS1505に進む。直進方向の成分の大きさがTh2以上の場合、ステップS1546に進む。直進方向の成分の大きさが一定の値未満である状態は、急峻な加減速がないことを示す。直進方向の成分の大きさが一定の値以上である状態は、ある程度急峻な加減速が行われることを示す。この例では、加減速が小さい場合には、加速度危険度は計算されない。
【0138】
<ステップS1546>
危険度計算モジュール340は、記憶装置320を参照し、現フレームf1における相対速度ベクトルについて、自車向き方向の成分の大きさを計算する。
【0139】
<ステップS1547>
危険度計算モジュール340は、ステップS1542で分解された加速度ベクトルの成分のうち、直進方向の成分があらかじめ定められた値-Th2以下であるか否かを判断する。直進方向の成分が-Th2以下である場合、ステップS1548に進む。直交方向の成分が値-Th2よりも大きい場合、ステップS1549に進む。ここで、Th2は正の値である。従って、加速度ベクトルの直進方向の成分が-Th2以下である状態は、ある程度急峻に減速することを示している。
【0140】
<ステップS1548>
危険度計算モジュール340は、記憶装置320を参照して、フレームf1に対応付けられた相対速度ベクトルについて、ステップS1546で計算した自車向きの成分の大きさに減速係数を乗ずる。減速係数は、1よりも小さい値であって、ステップS1542で計算された直進加速度の絶対値に反比例する値として設定され得る。危険度計算モジュール340は、記憶装置330を参照し、加速度ベクトルの直進成分から危険度を決定する。
【0141】
<ステップS1549>
危険度計算モジュール340は、記憶装置320を参照して、フレームf1に対応付けられた相対速度ベクトルについて、ステップS1546で計算した自車向きの成分の大きさに加速係数を乗ずる。加速係数は、1よりも大きい値であって、ステップS1542で計算された直進加速度の絶対値に比例する値として設定され得る。危険度計算モジュール340は、記憶装置330を参照し、加速度ベクトルの直進成分から危険度を決定する。
【0142】
[1-2-3.危険度に基づく測距対象の決定]
次に、ステップS1600の動作の詳細な例を説明する。
【0143】
図24は、ステップS1600の動作の詳細な例を示すフローチャートである。ステップS1600は、図24に示すステップS1601からS1606を含む。以下、各ステップの動作を説明する。測距装置200の制御回路230は、ステップS1500で決定されたクラスタごとの危険度に従って測距対象を決定し、測距対象の有無を判断する。
【0144】
<ステップS1601>
制御回路230は、選択されたクラスタ数があらかじめ定められた値C1を超えているか否かを判定する。測距対象として選択されたクラスタ数がC1を超えている場合、ステップS1650に進む。測距対象として選択されたクラスタ数がC1以下の場合、ステップS1602に進む。
【0145】
<ステップS1602>
制御回路230は、記憶装置320を参照し、当該フレームの相対速度ベクトルのすべてについて測距対象か否かの判断が終了しているか否かを判定する。当該フレームのすべての相対速度ベクトルに対して測距対象か否かの判断が終了している場合、ステップS1606に進む。当該フレームの相対速度ベクトルの中に、測距対象か否かの判断が終了していないベクトルがある場合、ステップS1603に進む。
【0146】
<ステップS1603>
制御回路230は、記憶装置320を参照し、当該フレームの相対速度ベクトルのうち、測距対象か否かの判断が終了していないベクトルを抽出する。ここでは、測距対象か否かの判断が終了していないベクトルのうち、危険度が最も高いベクトルが選択される。
【0147】
<ステップS1604>
制御回路230は、ステップS1603で選択した相対速度ベクトルの危険度があらかじめ定められた基準Th4を下回るか否かを判断する。当該ベクトルの危険度がTh4を下回る場合、ステップS1650に進む。当該ベクトルの危険度がTh4以上である場合、ステップS1605に進む。
【0148】
<ステップS1605>
制御回路230は、ステップS1603で選択したベクトルを含むクラスタを測距対象のクラスタとして決定し、当該クラスタに含まれるベクトルのすべてについて測距対象か否かの判断が終了したものとする。ステップS1605の後、ステップS1601に戻る。
【0149】
<ステップS1606>
制御回路230は、測距対象のクラスタが1つ以上抽出されているか否かを判断する。測距対象のクラスタが1つも抽出されていない場合、ステップS1100に戻る。測距対象のクラスタが1つ以上抽出されている場合、ステップS1650に進む。
【0150】
ステップS1601からステップS1606を繰り返すことで、制御回路230は、測距対象となるすべてのクラスタを選択する。なお、本実施形態では、制御回路230がステップS1600の動作を実行するが、処理装置300がステップS1600の動作を代わりに実行してもよい。
【0151】
[1-2-4.測距]
次に、ステップS1700における測距の動作の具体例を説明する。
【0152】
図25は、ステップS1700における測距の動作の詳細な例を示すフローチャートである。ステップS1700は、図25に示すステップS1701からS1703を含む。以下、各ステップの動作を説明する。制御回路230は、ステップS1600で測距対象として決定されたクラスタについて、クラスタ内の相対速度ベクトルから予測される、次のフレームf2での位置情報に基づき、光ビームの出射方向を決定して測距を行う。
【0153】
<ステップS1701>
制御回路230は、ステップS1600で選択されたクラスタのうち、まだ測距が行われていないクラスタを選択する。
【0154】
<ステップS1702>
制御回路230は、記憶装置320を参照して、ステップS1701で選択したクラスタに対応する1つ以上の相対速度ベクトルから、あらかじめ定められた数、例えば5までの相対速度ベクトルを抽出する。抽出の基準として、例えば、危険度の最も高い相対速度ベクトルを含み、互いに終点が最も離れた配置になる5つの相対速度ベクトルが選択され得る。
【0155】
<ステップS1703>
制御回路230は、ステップS1702で選択した相対速度ベクトルについて、図17に示すステップS1503の危険度計算過程と同様に、図18に示すように、当該相対速度ベクトルの自車方向の成分を2倍にしたベクトルの終点位置を、対象物の予測位置として特定する。制御回路230は、特定した次のフレームf2での予測位置に光ビームが照射されるように、光ビームの出射方向を決定する。
【0156】
<ステップS1704>
制御回路230は、ステップS1703で決定された光ビームの出射方向および出射タイミング、受光装置220の露光タイミング、およびデータ読み出しタイミング等を制御する制御信号を、発光装置210と受光装置220に出力する。発光装置210は、制御信号を受けて、光ビームを出射する。受光装置220は、制御信号を受けて、露光およびデータ出力を行う。処理回路240は、受光装置220の検出結果を示す信号を受けて、前述の方法により、対象物までの距離を計算する。
【0157】
[1-2-5.データ統合と出力]
次に、ステップS1800におけるデータ統合処理の具体例を説明する。
【0158】
図26は、ステップS1800におけるデータ統合処理の詳細な例を示すフローチャートである。ステップS1800は、図26に示すステップS1801からステップS1804を含む。以下、各ステップの動作を説明する。処理装置300の周辺情報生成モジュール370は、対象物を示すクラスタの領域、クラスタ内の距離分布、および認識処理の結果を示すデータを統合して、制御装置400に出力する。
【0159】
<ステップS1801>
周辺情報生成モジュール370は、記憶装置320を参照して、図8Dに示すデータから、ステップS1700で測距を行ったクラスタを抽出する。
【0160】
<ステップS1802>
周辺情報生成モジュール370は、記憶装置320を参照して、図8Dに示すデータから、ステップS1801で抽出したクラスタに対応する画像認識結果を抽出する。
【0161】
<ステップS1803>
周辺情報生成モジュール370は、記憶装置320を参照して、図8Dに示すデータから、ステップS1801で抽出したクラスタに対応する距離を抽出する。このとき、ステップS1700で計測された、クラスタ内の1個以上の相対速度ベクトルに対応する距離の情報が抽出される。距離が相対速度ベクトルごとに異なる場合、例えば最も小さい距離がクラスタの距離として採用され得る。なお、複数の距離の平均値または中央値などの、最小値以外の代表値をクラスタの距離として用いてもよい。
【0162】
<ステップS1804>
周辺情報生成モジュール370は、記憶装置350に予め記録されているイメージセンサの位置および画角の情報に基づき、ステップS1801で抽出したクラスタの領域を示す座標データと、ステップS1803で決定した距離データとを、測距システム10が搭載される移動体の座標系で表現されたデータに変換する。図27は、移動体の座標系の例を示す図である。この例における移動体の座標系は、移動体の中心を原点とし、移動体の前方を0度とする、水平方向の角度と高さと原点からの水平方向の距離によって示される3次元座標系である。これに対して、測距システム10の座標系は、例えば、図27に移動体の右前方に原点を持つ座標系として示されているように、xy座標と距離とによって構成される3次元座標系である。周辺情報生成モジュール370は、記憶装置350に記録されたセンサ位置と画角の情報に基づき、測距システム10の座標系で記録されたクラスタの範囲と距離のデータを、移動体の座標系で表現されたデータに変換する。
【0163】
図28Aは、処理装置300が生成する出力データの一例を示す図である。この例における出力データは、各クラスタの領域および距離、認識結果、および危険度を対応付けたデータである。処理装置300は、このようなデータを生成し、移動体の制御装置400に出力する。図28Bは、出力データの他の例を示す図である。この例では、認識内容にコードが割り当てられており、処理装置300は、データの先頭にコードと認識内容との対応表を含め、クラスタごとのデータには認識内容としてコードのみを記録する方法でデータを生成する。あるいは、認識結果とコードとの対応表があらかじめ移動体の記憶装置に保持されている場合には、処理装置300は、認識結果としてコードのみを出力してもよい。
【0164】
[1-3.効果]
以上のように、本実施形態の測距システム10は、撮像装置100と、測距装置200と、処理装置300とを備える。測距装置200は、光ビームの出射方向を水平方向および垂直方向に沿って変化させることができる発光装置210と、イメージセンサを含む受光装置220と、制御回路230と、処理回路240とを備える。処理装置300は、撮像装置100が連続して撮影することによって取得した複数の2次元の輝度画像から、シーン内の1つ以上の対象物のモーションベクトルを生成する。処理装置300は、当該モーションベクトルと、測距システム10を含む移動体から得た自車の動作情報とに基づいて、対象物の危険度を計算する。制御回路230は、処理装置300が計算した危険度に基づいて、測距の対象とする対象物を選択する。測距装置200は、選択された対象物の方向に光ビームを出射することで対象物までの距離を計測する。処理装置300は、対象物の座標範囲と距離の情報を含むデータを移動体の制御装置400に出力する。
【0165】
以上の構成により、測距システム10の測距対象のシーン内で、衝突等の危険度の高い対象物を選択して距離を計測することができる。このため、少ない測距動作で、危険回避に効果的な距離情報を取得することができる。
【0166】
[1-4.変形例]
実施形態1では、測距システム10は、輝度画像を取得する撮像装置100と、測距を行う測距装置200と、危険度計算を行う処理装置300とを備えるが、本開示はこのような構成に限定されない。例えば、処理装置300は、測距システム10を含む移動体の構成要素であってもよい。その場合、測距システム10は、撮像装置100と、測距装置200とを備える。撮像装置100は、画像を取得して、移動体における処理装置300に出力する。処理装置300は、撮像装置100から取得した画像に基づき、画像内の1つ以上の対象物の危険度を計算し、距離を計測すべき対象物を特定し、対象物の予測位置を示す情報を測距装置200に出力する。測距装置200の制御回路230は、処理装置300から取得した対象物の予測位置の情報に基づいて、発光装置210および受光装置220を制御する。制御回路230は、光ビームの出射の方向およびタイミングを制御する制御信号を発光装置210に出力し、露光タイミングを制御する制御信号を受光装置220に出力する。発光装置210は、制御信号に従い、光ビームを対象物の方向に出射する。受光装置220は、制御信号に従い、画素ごとに露光を行い、各露光期間に蓄積された電荷を示す信号を処理回路240に出力する。処理回路240は、当該信号に基づき、画素ごとに距離を計算することで、対象物の距離情報を生成する。
【0167】
処理装置300と、測距装置200における制御回路230および処理回路240の機能は、移動体が備える処理装置(例えば前述の制御装置400)に統合されていてもよい。その場合、測距システム10は、撮像装置100と、発光装置210と、受光装置220とを備える。撮像装置100は、画像を取得して、移動体における処理装置に出力する。移動体における処理装置は、撮像装置100から取得した画像に基づき、画像内の1つ以上の対象物の危険度を計算し、距離を計測すべき対象物を特定し、当該対象物の測距を行うように発光装置210および受光装置220を制御する。当該処理装置は、光ビームの出射の方向およびタイミングを制御する制御信号を発光装置210に出力し、露光タイミングを制御する制御信号を受光装置220に出力する。発光装置210は、制御信号に従い、光ビームを対象物の方向に出射する。受光装置220は、制御信号に従い、画素ごとに露光を行い、各露光期間に蓄積された電荷を示す信号を、移動体における処理装置に出力する。処理装置は、当該信号に基づき、画素ごとに距離を計算することで、対象物の距離情報を生成する。
【0168】
実施形態1では、撮像装置100が連続して生成するフレームの各々について、図11に示すステップS1100からS1900の動作が実行される。しかし、すべてのフレームでステップS1100からS1900のすべての動作を実行する必要はない。例えば、ステップS1600で測距対象として決定された対象物については、以後のフレームにおいて、撮像装置100から取得した画像に基づいて測距対象にするか否かを判断することなく、引き続き測距対象としてもよい。言い換えれば、一旦測距対象として決定された対象物については、以後のフレームでトラッキングの対象として記憶し、ステップS1400からステップS1600の処理を省略してもよい。この場合、トラッキングの終了は、例えば、以下の条件によって決定され得る。
・撮像装置100の画角から当該対象物が外れた場合、または
・計測された当該対象物の距離が、あらかじめ定められた値を超えた場合。
【0169】
トラッキングは、あらかじめ定められた2以上のフレームごとに見直されるものとしてもよい。あるいは、図19に示すステップS1543で直交加速度が閾値Th1よりも大きい場合に、トラッキング対象のクラスタについても危険度の計算を行い、トラッキングを見直してもよい。
【0170】
実施形態1では、測距システム10が移動体の前面中央に設置されている場合を中心に説明を行った。以下、測距システム10が移動体の前面右端に設置されている場合、右側面に設置されている場合、および後方中央に設置されている場合のそれぞれについて、ステップS1400における相対速度ベクトル計算の処理の例を説明する。
【0171】
図29Aから図29Eは、測距システム10が移動体の前面右端に設置されている場合に、測距システム10が撮影および測距するシーンの例を模式的に示す図である。図29Aは、直前のフレームf0の画像の例を示す図である。図29Bは、現フレームf1の画像の例を示す図である。図29Cは、フレームf0およびf1の画像を重ね合わせ、モーションベクトルを矢印で表した図である。図29Dは、自車動作によるモーションベクトルの例を示す図である。図29Eは、相対速度ベクトルの例を示す図である。処理装置300は、ステップS1300で処理された現フレームf1の2次元画像と、その直前のフレームf0の2次元画像とを用いて相対速度ベクトルを生成する。処理装置300は、現フレームf1の特徴点と、直前のフレームf0の特徴点とのマッチングを行う。マッチングされた特徴点について、図29Cに例示するように、フレームf0での特徴点の位置からフレームf1での特徴点の位置を結ぶモーションベクトルを生成する。処理装置300は、生成したモーションベクトルから、図29Dに示す自車動作によるベクトルを減じることにより、相対速度ベクトルを計算する。相対速度ベクトルは、図29Eに例示するように、当該相対ベクトルの計算に用いたフレームf1の特徴点と対応付けられ、ベクトルの始点と終点の座標を記述する形式で記憶装置320に記録される。図30は、測距システム10が移動体の前面右端に設置されている場合におけるシーン内の対象物の予測相対位置の例を示す図である。図18に示す例と同様、処理装置300は、相対速度ベクトルの自車方向の成分を2倍にしたベクトルの終点位置を特定する。処理装置300は、特定した終点位置を、次のフレームf2での予測相対位置とし、その位置に光ビームが照射されるように出射方向を決定する。
【0172】
図31Aから図31Eは、測距システム10が移動体の右側面に設置されている場合に、測距システム10が撮影および測距するシーンの例を模式的に示す図である。図31Aは、直前のフレームf0の画像の例を示す図である。図31Bは、現フレームf1の画像の例を示す図である。図31Cは、フレームf0およびf1の画像を重ね合わせ、モーションベクトルを矢印で表した図である。図31Dは、自車動作によるモーションベクトルの例を示す図である。図31Eは、相対速度ベクトルの例を示す図である。この例においても、処理装置300は、現フレームf1の2次元画像と、直前のフレームf0の2次元画像とを用いて相対速度ベクトルを生成する。処理装置300は、現フレームf1の特徴点と、直前のフレームf0の特徴点とのマッチングを行う。マッチングされた特徴点について、図31Cに例示するように、フレームf0での特徴点の位置からフレームf1での特徴点の位置を結ぶモーションベクトルを生成する。処理装置300は、生成したモーションベクトルから、図31Dに示す自車動作によるベクトルを減じることにより、相対速度ベクトルを計算する。図31Eの例では、計算された相対速度ベクトルは、フレームf1の特徴点と対応させるとシーンの右端を超えて大きくなる。このため、当該相対速度ベクトルによる次のフレームf2での予測位置は、当該測距システム10の画角の範囲外となる。このため、当該特徴点に対応する物体は、次のフレームf2での照射の対象とはならない。また、図31Eに示す相対速度ベクトルは、自車動作によるベクトルに平行であり、自車方向の成分を持たない。そのため、次のフレームf2での自車方向の予測相対位置は現フレームf1から変わらず、危険度の増加はない。
【0173】
図32Aから図32Eは、測距システム10が移動体の後方中央に設置されている場合に、測距システム10が撮影および測距するシーンの例を模式的に示す図である。図32Aは、直前のフレームf0の画像の例を示す図である。図32Bは、現フレームf1の画像の例を示す図である。図32Cは、フレームf0およびf1の画像を重ね合わせ、モーションベクトルを矢印で表した図である。図32Dは、自車動作によるモーションベクトルの例を示す図である。図32Eは、相対速度ベクトルの例を示す図である。この例においても、処理装置300は、現フレームf1の2次元画像と、直前のフレームf0の2次元画像とを用いて相対速度ベクトルを生成する。処理装置300は、現フレームf1の特徴点と、直前のフレームf0の特徴点とのマッチングを行う。マッチングされた特徴点について、図32Cに例示するように、フレームf0での特徴点の位置からフレームf1での特徴点の位置を結ぶモーションベクトルを生成する。処理装置300は、生成したモーションベクトルから、図32Dに示す自車動作によるベクトルを減じることにより、相対速度ベクトルを計算する。相対速度ベクトルは、図32Eに例示するように、当該相対ベクトルの計算に用いたフレームf1の特徴点と対応付けられ、ベクトルの始点と終点の座標を記述する形式で記憶装置320に記録される。図33は、測距システム10が移動体の後方中央に設置されている場合におけるシーン内の対象物の予測相対位置の例を示す図である。図18に示す例と同様、処理装置300は、相対速度ベクトルの自車方向の成分を2倍にしたベクトルの終点位置を特定する。処理装置300は、特定した終点位置を、次のフレームf2での予測相対位置とし、その位置に光ビームが照射されるように出射方向を決定する。
【0174】
次に、測距システム10が移動体の前面右端に設置されている場合、右側面に設置されている場合、および後方中央に設置されている場合のそれぞれについて、図17に示すステップS1504における加速度に応じた危険度を計算する処理の例を説明する。
【0175】
図34Aから図34Cは、測距システム10が移動体の前面右端に設置されており、自車が加速しながら直進している場合における加速度ベクトルの計算処理の例を示す図である。図35Aから図35Cは、測距システム10が移動体の前面右端に設置されており、自車が減速しながら直進している場合における加速度ベクトルの計算処理の例を示す図である。図36Aから図36Cは、測距システム10が移動体の前面右端に設置されており、自車が減速しながら右に方向転換する場合における加速度ベクトルの計算処理の例を示す図である。
【0176】
図37Aから図37Cは、測距システム10が移動体の右側面に設置されており、自車が加速しながら直進している場合における加速度ベクトルの計算処理の例を示す図である。図38Aから図38Cは、測距システム10が移動体の右側面に設置されており、自車が減速しながら直進している場合における加速度ベクトルの計算処理の例を示す図である。図39Aから図39Cは、測距システム10が移動体の右側面に設置されており、自車が減速しながら右に方向転換する場合における加速度ベクトルの計算処理の例を示す図である。
【0177】
図40Aから図40Cは、測距システム10が移動体の後方中央に設置されており、自車が加速しながら直進している場合における加速度ベクトルの計算処理の例を示す図である。図41Aから図41Cは、測距システム10が移動体の後方中央に設置されており、自車が減速しながら直進している場合における加速度ベクトルの計算処理の例を示す図である。図42Aから図42Cは、測距システム10が移動体の後方中央に設置されており、自車が減速しながら右に方向転換する場合における加速度ベクトルの計算処理の例を示す図である。
【0178】
これらの各例において、処理装置300は、ステップS1401で取得した動作計画情報に基づいて、加速度に伴う危険度を計算する。処理装置300は、記憶装置320を参照し、直前のフレームf0から現フレームf1までの自車動作を示すベクトルと、現フレームf1から次のフレームf2までの自車の動作計画を示すベクトルとの差分を求め、加速度ベクトルを生成する。図34B、35B、36B、37B、38B、39B、40B、41B、42Bは、直前のフレームf0から現フレームf1までの自車動作を示すベクトルの例を示している。図34A、35A、36A、37A、38A、39A、40A、41A、42Aは、現フレームf1から次のフレームf2までの自車の動作計画を示すベクトルの例を示している。図34C、35C、36C、37C、38C、39C、40C、41C、42Cは、生成される加速度ベクトルの例を示している。処理装置300は、記憶装置330に記録された加速度ベクトルと危険度との対応表を参照して、加速度ベクトルに応じた危険度を決定する。なお、測距システム10が移動体の後方にある場合、図9Bに示す直進加速度と危険度との関係は逆転する。測距システム10が移動体の後方にある場合は、記憶装置330は直進加速度として、移動体の前方にある場合の直進加速度の符号を反転させた対応表を記憶してもよいし、処理装置300が直進加速度の符号を反転させて危険度を求めてもよい。
【0179】
以上の実施形態では、処理装置300は、撮像装置100が異なる時間に取得した複数の画像に基づき、対象物との相対速度ベクトルおよび相対位置を求める。さらに、処理装置300は、測距システム10を含む移動体の動作計画情報に基づき、移動体の加速度を求め、当該加速度に基づいて対象物の危険度を決定する。測距装置200は、危険度の高い対象物から優先的に、対象物までの距離を計測する。対象物ごとに距離を計測するため、測距装置200は、発光装置210が出射する光ビームの方向を各対象物の方向に設定する。
【0180】
上記の動作において、測距装置200は、危険度の高さに応じて測距動作における光ビームの出射と露光の反復回数を決定してもよい。あるいは、危険度の高さに応じて測距動作における光ビームの出射の時間長と露光の時間長を決定してもよい。そのような動作により、危険度に基づいて測距の精度または距離レンジを調整することができる。
【0181】
図43は、上記の動作を実現するための測距装置200の構成例を示すブロック図である。この例における測距装置200は、図1に示す構成要素に加えて、記憶装置250を備えている。記憶装置250は、処理装置300が決定するクラスタすなわち対象物ごとの危険度に応じた、光ビームの出射および露光の反復回数と、光ビームの出射および露光の時間長との対応関係を規定するデータを記憶する。
【0182】
制御回路230は、記憶装置250を参照し、処理装置300が計算した危険度に応じて、発光装置210が出射する光ビームの時間長と出射の反復回数を決定する。さらに、危険度に応じて、受光装置220の露光時間長と露光の反復回数を決定する。これにより、制御回路230は、測距の動作を制御し、測距の精度と測距の距離レンジを調整する。
【0183】
図44は、記憶装置250が記憶するデータの一例を示す図である。図44の例では、危険度の範囲と、距離レンジおよび精度との対応表が記録される。記憶装置250は、対応表の代わりに、危険度から距離レンジまたは精度を決定するための関数を記憶してもよい。距離レンジの調整は、例えば図6および図7に例示する間接ToF法による測距において、光パルスおよび各露光期間の時間長T0を調整することで実現できる。T0を長くするほど、測距可能な距離レンジを拡大することができる。また、図6(c)および(d)に示す露光期間1および露光期間2のタイミングを調整することで、測距可能な距離レンジをずらすこともできる。例えば露光期間1を図6(a)の投光開始と同時に開始するのではなく、投光開始よりも遅らせることで、測距可能な距離レンジを長距離側にずらすことができる。ただし、この場合は露光期間1の開始以前に反射光が受光装置220に到達する近距離の測距はできない。露光期間1の開始を遅らせる場合も、露光期間1および露光期間2の時間長は投光の時間長と同等であり、露光期間2の開始時点は露光期間1の終了時点と同一である。また、測距の精度は測距の反復回数に依存する。複数回の測距の結果を平均化するなどの処理により、誤差を低減することができる。反復回数を危険度が高いほど多くすることにより、危険な対象物についての測距の精度を向上させることができる。
【0184】
前述の実施形態では、図8Dに示すように、記憶装置320は、ステップS1503で計算された予測相対位置に応じた危険度と、ステップS1504で計算された加速度に応じた危険度とを統合した総合的な危険度のみを記憶する。この場合、記憶装置250は、総合的な危険度と距離レンジおよび精度との対応を規定するデータを記憶する。一方、記憶装置320は、予測相対位置に応じた危険度および加速度に応じた危険度の両方を記憶してもよい。その場合には、記憶装置250は、予測相対位置に応じた危険度および加速度に応じた危険度から、測距の距離レンジおよび精度を決定するための対応表または関数を記憶してもよい。
【0185】
図45は、危険度に応じて測距の距離レンジおよび反復回数を調整する変形例における測距の動作を示すフローチャートである。図45に示すフローチャートでは、図25に示すフローチャートにおけるステップS1703とS1704との間に、ステップS1711およびS1712が追加されている。また、ステップS1704において、光ビームの出射および検出が、設定された反復回数だけ繰り返される。それ以外の点は、前述の実施形態の動作と同じである。以下、前述の実施形態の動作と異なる点を説明する。
【0186】
<ステップS1711>
制御回路230は、記憶装置320を参照し、ステップS1701で選択したクラスタに対応する危険度を抽出する。制御回路230は、記憶装置250を参照し、危険度に対応する距離レンジ、すなわち光ビームを出射する時間長と、受光装置220の露光期間の時間長とを決定する。例えば危険度が高いほど、距離レンジをより近くから遠くまでを含むように設定する。すなわち、危険度が高いほど、発光装置210から出射される光ビームの出射時間長と受光装置220の露光時間長とが長くなる。
【0187】
<ステップS1712>
制御回路230は、記憶装置250を参照し、ステップS1711で抽出した危険度に基づいて、危険度に対応する測距精度、すなわち、出射と露光の動作の反復回数を決定する。例えば危険度が高いほど測距精度を高めるように設定する。すなわち、危険度が高いほど出射と受光の動作の反復回数を増加させる。
【0188】
<ステップS1704>
制御回路230は、ステップS1703で決定されたビームの出射方向、ステップS1711で決定された出射タイミングと出射の時間長、および受光装置220の露光タイミングと露光時間長、さらにステップS1712で決定された出射と露光を組合わせた動作の反復回数を制御する制御信号を、発光装置210と受光装置220とに出力して、測距を行う。測距の方法は前述のとおりである。
【0189】
本変形例によれば、危険度が高い対象物ほど、広いレンジで、高い精度で測距を行うことができる。広いレンジと高い精度での測距を行うには、より長い計測時間を必要とする。一定時間内に複数の対象物の測距を行うために、例えば、危険度の高い対象物の測距の時間を相対的に長くし、危険度の低い対象物の測距の時間を相対的に短くしてもよい。そのような動作により、測距動作全体の時間を適切に調整することができる。
【産業上の利用可能性】
【0190】
本開示の技術は、測距を行う装置またはシステムに広く利用可能である。例えば、本開示の技術は、LiDAR(Light Detection and Ranging)システムの構成要素として使用され得る。
【符号の説明】
【0191】
10 測距システム
100 撮像装置
110 光学系
120 イメージセンサ
200 測距装置
210 発光装置
220 受光装置
230 制御回路
240 処理回路
250 記憶装置
300 処理装置
310 画像処理モジュール
311 前処理モジュール
312 相対速度ベクトル計算モジュール
313 認識処理モジュール
320 第1記憶装置
330 第2記憶装置
340 危険度計算モジュール
350 第3記憶装置
360 自車動作処理モジュール
370 周辺情報生成モジュール
400 移動体の制御装置
500 クラスタ
510 照射点
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
図8C
図8D
図9A
図9B
図9C
図9D
図10
図11
図12A
図12B
図12C
図13
図14A
図14B
図14C
図14D
図14E
図15
図16A
図16B
図16C
図16D
図17
図18
図19
図20A
図20B
図20C
図21A
図21B
図21C
図22A
図22B
図22C
図23A
図23B
図23C
図24
図25
図26
図27
図28A
図28B
図29A
図29B
図29C
図29D
図29E
図30
図31A
図31B
図31C
図31D
図31E
図32A
図32B
図32C
図32D
図32E
図33
図34A
図34B
図34C
図35A
図35B
図35C
図36A
図36B
図36C
図37A
図37B
図37C
図38A
図38B
図38C
図39A
図39B
図39C
図40A
図40B
図40C
図41A
図41B
図41C
図42A
図42B
図42C
図43
図44
図45