(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-02
(45)【発行日】2023-06-12
(54)【発明の名称】三次元空間に対応するマップを生成する車両、及びその方法
(51)【国際特許分類】
G06T 7/70 20170101AFI20230605BHJP
G06T 7/00 20170101ALI20230605BHJP
G01C 21/32 20060101ALI20230605BHJP
【FI】
G06T7/70 A
G06T7/00 650Z
G01C21/32
(21)【出願番号】P 2022510833
(86)(22)【出願日】2020-09-18
(86)【国際出願番号】 KR2020012654
(87)【国際公開番号】W WO2021060778
(87)【国際公開日】2021-04-01
【審査請求日】2022-02-17
(31)【優先権主張番号】10-2019-0120132
(32)【優先日】2019-09-27
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】521292722
【氏名又は名称】ソウル ロボティクス カンパニー リミテッド
(74)【代理人】
【識別番号】110000914
【氏名又は名称】弁理士法人WisePlus
(72)【発明者】
【氏名】パク, ジェ イル
(72)【発明者】
【氏名】イ, ハン ビン
(72)【発明者】
【氏名】チョン, ドン ハ
(72)【発明者】
【氏名】チュオン, ホン ミン
【審査官】新井 則和
(56)【参考文献】
【文献】特開2005-337863(JP,A)
【文献】韓国公開特許第10-2019-0062635(KR,A)
【文献】特開2017-151536(JP,A)
【文献】特開2012-118666(JP,A)
【文献】特開2015-179514(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
G01C 21/32
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのセンサを利用し、三次元空間を感知し、複数フレームの空間情報を出力するセンサ部と、
コンピュータ実行可能命令語を保存するメモリと、
前記コンピュータ実行可能命令語を実行することにより、複数のフレームに基づく客体動きモデルを利用し、現在フレームに対応する客体の位置を予測し、前記予測された客体の位置に基づき、前記現在フレームに含まれた客体を除去し、前記客体が除去された現在フレームで、所定個数の以前フレームで構成されるマップデータベースをアップデートし、前記アップデートされたマップデータベースに基づき、前記三次元空間に対応するマップを生成するプロセッサと、を含
み、
前記プロセッサは、
前記コンピュータ実行可能命令語を実行することにより、前記客体が除去された現在フレームと、前記マップデータベースとを整合させ、前記整合結果に基づき、前記客体が除去された現在フレームの新たな点群の位置を推定し、前記推定された新たな点群の位置と、前記マップデータベースに設定された基準点の位置との差値を所定の値と比較し、前記比較結果により、前記マップデータベースで真っ先に保存されたフレームと、最も後に保存されたフレームとのうち、いずれか1つを除去し、前記何れか1つのフレームが除去されたマップデータベースに、前記客体が除去された現在フレームを追加する、車両。
【請求項2】
前記プロセッサは、
前記コンピュータ実行可能命令語を実行することにより、前記現在フレームの直前フレームまで反映された前記客体動きモデルに、前記現在フレームと前記直前フレームとの時間差を適用し、前記客体の動きを推定することにより、前記現在フレームに対応する前記客体の位置を予測する、請求項1に記載の車両。
【請求項3】
前記プロセッサは、
前記コンピュータ実行可能命令語を実行することにより、前記現在フレームに含まれた客体を除去するプロセス、及び前記マップデータベースをアップデートするプロセスに対する並列処理として、前記現在フレームに含まれた客体を検出して追跡することにより、前記現在フレームまで反映された前記客体動きモデルを利用し、前記現在フレームの次のフレームに対応する前記客体の位置を予測するプロセスを遂行する、請求項1に記載の車両。
【請求項4】
前記プロセッサは、
前記コンピュータ実行可能命令語を実行することにより、前記比較結果、前記差値が所定値以上であるならば、前記マップデータベースで前記最も先に保存されたフレームを除去し、前記差値が所定値未満であるならば、前記マップデータベースで前記最も後に保存されたフレームを除去する、請求項
1に記載の車両。
【請求項5】
前記基準点の位置は、前記マップデータベースで最も先に保存されたフレームに設定されており、
前記プロセッサは、
前記コンピュータ実行可能命令語を実行することにより、前記比較結果により、前記マップデータベースで前記最も先に保存されたフレームが除去される場合、前記除去されたフレームの次のフレームに、前記基準点位置を設定する、請求項
1に記載の車両。
【請求項6】
複数フレームの空間情報を利用してマップを生成する方法において、
複数のフレームに基づく客体動きモデルを利用し、現在フレームに対応する客体の位置を予測する段階と、
前記予測された客体の位置に基づき、前記現在フレームに含まれた客体を除去する段階と、
前記客体が除去された現在フレームで、所定個数の以前フレームで構成されるマップデータベースをアップデートする段階と、
前記アップデートされたマップデータベースに基づき、三次元空間に対応するマップを生成する段階と、を含
み、
前記アップデートする段階は、
前記客体が除去された現在フレームと、前記マップデータベースとを整合させる段階と、
前記整合結果に基づき、前記客体が除去された現在フレームの新たな点群の位置を推定する段階と、
前記推定された新たな点群の位置と、前記マップデータベースに設定された基準点の位置とに基づき、前記マップデータベースから所定フレームを除去した後、前記所定フレームが除去されたマップデータベースに、前記客体が除去された現在フレームを追加する段階と、を含み、
前記追加する段階は、
前記推定された新たな点群の位置と、前記基準点の位置との差値を、所定値と比較する段階と、
前記比較結果により、前記マップデータベースで最も先に保存されたフレームと、最も後に保存されたフレームとのうち、いずれか一つを除去する段階と、
前記いずれか1つのフレームが除去されたマップデータベースに、前記客体が除去された現在フレームを追加する段階と、を含む、方法。
【請求項7】
前記予測する段階は、
前記現在フレームの直前フレームまで反映された前記客体動きモデルに、前記現在フレームと前記直前フレームとの時間差を適用し、前記客体の動きを推定することにより、前記現在フレームに対応する前記客体の位置を予測する、請求項
6に記載の方法。
【請求項8】
前記現在フレームに含まれた客体を検出して追跡することにより、前記現在フレームまで反映された前記客体動きモデルを利用し、前記現在フレームの次のフレームに対応する前記客体の位置を予測する段階をさらに含み、
前記次のフレームに対応する前記客体の位置を予測する段階は、
前記現在フレームに含まれた客体を除去する段階、及び前記マップデータベースをアップデートする段階と並列処理される、請求項
6に記載の方法。
【請求項9】
前記除去する段階は、
前記比較結果、前記差値が所定値以上であるならば、前記マップデータベースで前記最も先に保存されたフレームを除去し、前記差値が所定値未満であるならば、前記マップデータベースで前記最も後に保存されたフレームを除去する、請求項
6に記載の方法。
【請求項10】
前記基準点の位置は、前記マップデータベースで最も先に保存されたフレームに設定されており、
前記除去する段階は、
前記比較結果により、前記マップデータベースで前記最も先に保存されたフレームが除去される場合、除去されたフレームの次のフレームに、前記基準点位置を設定する段階をさらに含む、請求項
6に記載の方法。
【請求項11】
電子動力装置において、
複数のフレームに基づく客体動きモデルを利用し、現在フレームに対応する客体の位置を予測する段階と、
前記予測された客体の位置に基づき、前記現在フレームに含まれた客体を除去する段階と、
前記客体が除去された現在フレームで、所定個数の以前フレームで構成されるマップデータベースをアップデートする段階と、
前記アップデートされたマップデータベースに基づき、三次元空間に対応するマップを生成する段階と、を含
み、
前記アップデートする段階は、
前記客体が除去された現在フレームと、前記マップデータベースとを整合させる段階と、
前記整合結果に基づき、前記客体が除去された現在フレームの新たな点群の位置を推定する段階と、
前記推定された新たな点群の位置と、前記マップデータベースに設定された基準点の位置とに基づき、前記マップデータベースから所定フレームを除去した後、前記所定フレームが除去されたマップデータベースに、前記客体が除去された現在フレームを追加する段階と、を含み、
前記追加する段階は、
前記推定された新たな点群の位置と、前記基準点の位置との差値を、所定値と比較する段階と、
前記比較結果により、前記マップデータベースで最も先に保存されたフレームと、最も後に保存されたフレームとのうち、いずれか一つを除去する段階と、
前記いずれか1つのフレームが除去されたマップデータベースに、前記客体が除去された現在フレームを追加する段階と、を含み、
複数フレームの空間情報を利用してマップを生成する方法を遂行させる、コンピュータ可読記録媒体に保存されたコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、三次元空間に対応するマップを生成する車両、及びその方法に関する。
【背景技術】
【0002】
自律走行車、ドローン、ロボットなどが安全であって正確に制御されるためには、それらの動作を制御するのに十分なデータの収集が重要である。例えば、三次元空間を感知する代表的なセンサであるライダー(LiDAR)センサを利用し、点群形態のデータ、すなわち、ポイントクラウドの情報量を十分に獲得することができなければ、自律走行車、ドローン、ロボットなどの動作制御に困難を伴ってしまう。それを解決するために、高解像度マップを事前に設け、自律走行車、ドローン、及びロボットなどに搭載する方案を考慮することができるが、膨大な量のデータを保存するリソース問題、及びリアルタイムで変化する状況を反映させるために、高解像度マップの持続的なアップデートを行わなければならないという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明が解決しようとする課題は、所定個数のフレームに維持されながら、最新フレームの空間情報がアップデートされるマップデータベースに基づき、三次元空間に対応するマップを生成する車両、及びその方法、並びにコンピュータ可読記録媒体に保存されたコンピュータプログラムを提供することである。
【課題を解決するための手段】
【0004】
第1側面による車両は、少なくとも1つのセンサを利用し、三次元空間を感知し、複数フレームの空間情報を出力するセンサ部と、コンピュータ実行可能命令語(computer executable instruction)を保存するメモリと、前記コンピュータ実行可能命令語を実行することにより、複数のフレームに基づく客体動きモデルを利用し、現在フレームに対応する客体の位置を予測し、前記予測された客体の位置に基づき、前記現在フレームに含まれた客体を除去し、前記客体が除去された現在フレームで、所定個数の以前フレームで構成されるマップデータベースをアップデートし、前記アップデートされたマップデータベースに基づき、前記三次元空間に対応するマップを生成するプロセッサと、を含むものであってもよい。
【0005】
第2側面による複数フレームの空間情報を利用してマップを生成する方法は、複数のフレームに基づく客体動きモデルを利用し、現在フレームに対応する客体の位置を予測する段階と、前記予測された客体の位置に基づき、前記現在フレームに含まれた客体を除去する段階と、前記客体が除去された現在フレームで、所定個数の以前フレームで構成されるマップデータベースをアップデートする段階と、前記アップデートされたマップデータベースに基づき、三次元空間に対応するマップを生成する段階と、を含むものであってもよい。
【0006】
第3側面によるコンピュータ可読記録媒体に保存されたコンピュータプログラムは、電子動力装置において、複数のフレームに基づく客体動きモデルを利用し、現在フレームに対応する客体の位置を予測する段階と、前記予測された客体の位置に基づき、前記現在フレームに含まれた客体を除去する段階と、前記客体が除去された現在フレームで、所定個数の以前フレームで構成されるマップデータベースをアップデートする段階と、前記アップデートされたマップデータベースに基づき、三次元空間に対応するマップを生成する段階と、を含む複数フレームの空間情報を利用してマップを生成する方法を遂行することができる。
【図面の簡単な説明】
【0007】
【
図1】一実施形態による車両の構成を示したブロック図である。
【
図2】複数フレームの空間情報を利用してマップを生成するためのマップデータベースをアップデートする過程について説明するための図である。
【
図3】所定個数のフレームで構成されるマップデータベースをアップデートするとき、マップデータベースで最も先に保存されたフレームを除去する例について説明するための図面である。
【
図4】所定個数のフレームで構成されるマップデータベースをアップデートするとき、マップデータベースで最も後に保存されたフレームを除去する例について説明するための図面である。
【
図5】三次元空間に対応するマップを生成する方法について説明するためのフローチャートである。
【
図6】マップデータベースをアップデートする過程について説明するための詳細フローチャートである。
【
図7】マップデータベースから、1つのフレームを除去した後、現在フレームを追加する過程について説明するための詳細フローチャートである。
【
図8A】1つのフレームの空間情報を利用してマップを生成した場合を示した図面である。
【
図8B】所定個数のフレームで構成されるマップデータベースを利用してマップを生成した場合を示した図面である。
【発明を実施するための形態】
【0008】
第1側面による車両は、少なくとも1つのセンサを利用し、三次元空間を感知し、複数フレームの空間情報を出力するセンサ部と、コンピュータ実行可能命令語(computer executable instruction)を保存するメモリと、前記コンピュータ実行可能命令語を実行することにより、複数のフレームに基づく客体動きモデルを利用し、現在フレームに対応する客体の位置を予測し、前記予測された客体の位置に基づき、前記現在フレームに含まれた客体を除去し、前記客体が除去された現在フレームで、所定個数の以前フレームで構成されるマップデータベースをアップデートし、前記アップデートされたマップデータベースに基づき、前記三次元空間に対応するマップを生成するプロセッサと、を含むものであってもよい。
【0009】
以下においては、図面を参照し、多様な実施形態について詳細に説明する。以下において説明される実施形態は、さまざまに異なる形態に変形されても実施される。本実施形態の特徴についてさらに明確に説明するために、以下の実施形態が属する技術分野において当業者に周知されている事項については、詳細な説明は、省略する。
【0010】
本実施形態は、三次元空間に対応するマップを生成する車両、及びその方法、並びにコンピュータ可読記録媒体に保存されたコンピュータプログラムに係わるものであり、以下の実施形態が属する技術分野において当業者に周知されている事項については、詳細な説明を省略する。
【0011】
図1は、一実施形態による車両100の構成を示したブロック図である。
【0012】
車両100は、道路上や線路上を走る車、列車のような走行手段になってもよい。ただし、道路上や線路上ではない空中を運行するときは、ドローン、飛行機のような飛行手段、あるいはまたは海上を運航するときは、ボート、船のような船舶手段を代表する名称であり、その意味が拡張され、広義の意味では、ロボットのような電子動力装置であり、その名称を異にすることにもなる。以下では、説明の便宜上、車両100という名称で記載され、自律走行車の場合を例として挙げて説明する。
【0013】
車両100は、走行のために、センサを利用し、周辺の三次元空間に係わる空間情報を直接獲得することができる。車両100は、走行方向に対応するさらに広い空間に係わる空間情報を事前に獲得するために、直接獲得することができていない空間情報を、外部から受信することができる。例えば、車両100は、周辺の他車から、それぞれが獲得した空間情報を伝達されうる。以下、車両100の走行を制御するために、車両100で獲得された空間情報を利用し、三次元空間に対応するマップを生成する方式につき、詳細に説明する。
【0014】
図1を参照すれば、一実施形態による車両100は、メモリ110、プロセッサ120、通信インターフェース装置130、センサ部140、ユーザインターフェース装置150を含むものであってもよい。本実施形態と係わる技術分野で当業者であるならば、
図1に図示された構成要素以外に、他の汎用的な構成要素がさらに含まれてもよいということを理解することができるであろう。
【0015】
メモリ110は、ソフトウェア及び/またはプログラムを保存することができる。例えば、メモリ110は、アプリケーション、アプリケーションプログラミングインターフェース(API)のようなプログラム、及び多様な種類のデータを保存することができる。メモリ110は、プロセッサ120によって実行可能な命令語を保存することができる。
【0016】
プロセッサ120は、メモリ110に保存されたデータにアクセスしてそれを利用するか、あるいは新たなデータをメモリ110に保存することができる。プロセッサ120は、メモリ110に保存された命令語を実行することができる。プロセッサ120は、車両100にインストールされたコンピュータプログラムを実行することができる。また、プロセッサ120は、外部から受信したコンピュータプログラムまたはアプリケーションを、メモリ110にインストールすることもできる。プロセッサ120は、少なくとも1つのプロセッシングモジュールを含むものであってもよい。該プロセッシングモジュールは、所定のプログラムを実行するための専用プロセッシングモジュールであってもよい。例えば、プロセッサ120は、ADAS(advanced driver-assistance system)のように、自律走行のための車両制御プログラムを実行する多様な種類のプロセッシングモジュールや、三次元空間追跡プログラムを実行するプロセッシングモジュールを、それぞれ別途の専用チップ形態で含んでもよい。プロセッサ120は、命令語またはコンピュータプログラムなどの実行結果に対応する動作を遂行するように、車両100に含まれた他の構成を制御することができる。
【0017】
通信インターフェース装置130は、他の装置、またはネットワークと無線通信を行うことができる。そのために、通信インターフェース装置130は、多様な無線通信方法のうち少なくとも一つを支援する通信モジュールを含んでもよい。例えば、Wi-Fi(wireless fidelity)のような近距離通信、3G(generation)・4G・5Gのような多様な種類の移動通信、または超広帯域通信を行う通信モジュールが含まれうる。通信インターフェース装置130は、車両100の外部に位置した装置と連結され、信号またはデータを送受信することができる。車両100は、通信インターフェース装置130を介し、他車両と通信を行ったり、車両100が位置する区域を管理するサーバと連結されたりしてもよい。
【0018】
センサ部140は、三次元空間を感知するための少なくとも1つのセンサを含むものであってもよい。センサ部140は、感知範囲内に位置した客体を感知することができ、感知された客体の三次元空間上の座標を生成することができるデータを獲得することができる。センサ部140は、感知範囲内に位置した客体に係わる形状データまたは距離データを獲得することができる。センサ部140は、ライダー(LiDAR)センサ、レーダセンサ、カメラセンサ、赤外線映像センサ、超音波センサのような多様な種類のセンサのうち少なくとも一つを含んでもよい。
【0019】
三次元空間に係わる空間情報を獲得するために、各種類のセンサが有している感知範囲や、獲得することができるデータの種類などを考慮し、同種のセンサを複数個利用したり、異種のセンサを組み合わせて利用したりすることができる。例えば、センサ部140は、少なくとも1つの三次元ライダーセンサを含み、360°範囲の空間に係わるデータを獲得し、レーダセンサ及び超音波センサのうち少なくとも一つをさらに含み、三次元ライダーセンサが感知することができない死角領域、または車両100から所定距離内の近接空間に係わるデータを獲得することができる。
【0020】
ユーザインターフェース装置150は、ユーザから、ユーザ入力などを受信することができる。ユーザインターフェース装置150は、車両100におけるコンピュータプログラムの実行結果、ユーザ入力に対応する処理結果、車両100の状態などの情報をディスプレイすることができる。ユーザインターフェース装置150は、入力を受信したり、出力を提供したりするためのハードウェアユニットを含み、それらを駆動するための専用ソフトウェアモジュールを含むものであってもよい。例えば、ユーザインターフェース装置150は、タッチスクリーンになってもよいが、それに限定されるものではない。
【0021】
図1に図示されていないが、車両100は、GPS(global positioning system)、IMU(inertial measurement unit)のような自律走行に要求される構成をさらに含んでもよい。該GPSは、GPS衛星から送られる信号を受信し、車両100の現在位置を計算する衛星航法システムである。該IMUは、車両100の速度、方向、重力、加速度を測定する装置である。プロセッサ120は、該GPSと該IMUとを利用し、車両100の移動及び姿勢に係わる情報を獲得することができる。プロセッサ120は、車両100に具備された他のセンサやメモリから、車両100制御に係わるそれ以外の情報を獲得することもできる。
【0022】
前述の車両100の構成要素の名称は、異なってもよく、車両100は、前述の構成要素のうち少なくとも一つを含んで構成されてもよく、一部構成要素は、省略されるか、あるいはさらなる他の構成要素をさらに含んでもよい。
【0023】
車両100は、最新の情報が反映されたマップを、車両100の走行に利用される部分ほど、リアルタイムで確保すれば、走行を行うことができる。以下、車両100が、所定個数のフレームに維持されながら、最新フレームの空間情報がアップデートされるマップデータベースに基づき、三次元空間に対応するマップを生成する方式について詳細に説明する。
【0024】
プロセッサ120は、コンピュータ実行可能命令語を実行することにより、複数のフレームに基づく客体動きモデルを利用し、現在フレームに対応する客体の位置を予測することができる。現在フレームは、プロセッサ120がリアルタイムで獲得するフレームであり、プロセッサ120に連続して入力される複数フレームのうち、最も最新の空間情報を含んでいるフレームでもある。プロセッサ120は、コンピュータ実行可能命令語を実行することにより、現在フレームの直前フレームまで反映された客体動きモデルに、現在フレームと直前フレームとの時間差を適用し、客体の動きを推定することにより、現在フレームに対応する客体の位置を予測することができる。
【0025】
プロセッサ120は、コンピュータ実行可能命令語を実行することにより、予測された現在フレームに対応する客体の位置に基づき、現在フレームに含まれた客体を除去することができる。
【0026】
プロセッサ120は、コンピュータ実行可能命令語を実行することにより、客体が除去された現在フレームで、所定個数の以前フレームで構成されるマップデータベースをアップデートすることができる。プロセッサ120は、コンピュータ実行可能命令語を実行することにより、客体が除去された現在フレームと、以前のフレームで構成されたマップデータベースとを整合させ、整合結果に基づき、客体が除去された現在フレームの新たな点群の位置を推定することができる。プロセッサ120は、コンピュータ実行可能命令語を実行することにより、推定された新たな点群の位置と、マップデータベースに設定された基準店の位置とに基づき、マップデータベースから所定フレームを除去した後、該所定フレームが除去されたマップデータベースに、客体が除去された現在フレームを追加することができる。
【0027】
詳細に説明すれば、プロセッサ120は、コンピュータ実行可能命令語を実行することにより、推定された新たな点群の位置と、基準点位置との差値を所定値と比較し、該比較結果により、マップデータベースで最も先に保存されたフレームと最も後に保存されたフレームとのうち、いずれか一つを除去することができる。プロセッサ120は、コンピュータ実行可能命令語を実行することにより、該比較結果、差値が所定値以上であるならば、マップデータベースで最も先に保存されたフレームを除去し、差値が所定値未満であるならば、マップデータベースで最も後に保存されたフレームを除去することができる。該基準点の位置は、マップデータベースで最も先に保存されたフレームに設定されているために、マップデータベースで最も先に保存されたフレームが除去される場合、除去されたフレームの次のフレームに基準点位置が設定されうる。プロセッサ120は、コンピュータ実行可能命令語を実行することにより、いずれか1つのフレームが除去されたマップデータベースに、客体が除去された現在フレームを追加することができる。
【0028】
一方、プロセッサ120は、コンピュータ実行可能命令語を実行することにより、現在フレームに含まれた客体を除去するプロセス、及びマップデータベースをアップデートするプロセスに対する並列処理として、現在フレームに含まれた客体を検出して追跡することにより、現在フレームまで反映された客体動きモデルを利用し、現在フレームの次のフレームに対応する客体の位置を予測するプロセスを遂行することができる。予測された、現在フレームの次のフレームに対応する客体の位置は、次のフレームに含まれた客体を除去するのに即座に利用されうる。
【0029】
プロセッサ120は、コンピュータ実行可能命令語を実行することにより、アップデートされたマップデータベースに基づき、三次元空間に対応するマップを生成することができる。アップデートされたマップデータベースは、空間情報が含まれたフレームを所定個数に維持し、データを保存するリソースを最適化させ、最新フレームの空間情報は、常時アップデートされるようにし、情報の最新性を確保することができる。マップデータベースは、空間情報の最新性を保証しながらも、適正個数のフレームを維持するために、以前フレームの除去、及び現在フレームの追加を持続的に遂行するが、続けてアップデートが行われるマップデータベースに基づいて生成される三次元空間に対応するマップは、「揮発性マップ」と呼ぶことができる。
【0030】
図2は、複数フレームの空間情報を利用してマップを生成するためのマップデータベースをアップデートする過程について説明するための図面である。
【0031】
複数フレームの空間情報を利用してマップを生成するためには、各フレームにおいて、動く客体を検出し、検出された動く客体をいずれも除去し、動く客体が除去されたフレームを活用しなければならない。そのとき、1つのフレームに含まれた客体を直接検出するプロセスは、演算量が多く、長い処理時間が必要となってしまうので、フレームが連続して入力されるたびに、各フレームに含まれた客体を直接検出するプロセスを遂行すれば、複数のフレームに対する全体プロセスの処理時間を延長させる要因になる。
【0032】
従って、
図2に図示されているように、相対的に演算量が少ない客体追跡、及び客体の動き推定による位置予測のようなプロセスを並列的処理(parallel processing)で遂行し、以前フレームで検出された客体を追跡して動きを推定し、その次のフレームに含まれた客体の位置を間接的に検出することにより、全体プロセスの効率性を高めることができる。そのとき、プロセッサの並列的処理は、2以上のプロセスのいずれか一部が同時に遂行される場合を意味し、2つのプロセスの開始から終了まで同時に起こる場合に限定されるものではない。言い換えれば、並列的に処理される第1プロセスと第2プロセスは、同時に始まらなくてもよく、同時に終わらなくてもよく、いずれのプロセスの開始が、他のプロセスの進行中に生じれば十分である。
【0033】
図2に関して、三次元空間に係わる時間別空間情報、すなわち、連続して入力される複数のフレームに基づいて感知された三次元空間の客体を検出して追跡し、追跡された客体の動きを推定し、客体の位置を予測する第1ワークフロー(work flow)プロセスを例に挙げて説明すれば、次の通りである。
【0034】
車両100は、いずれか1つのフレームの空間情報から、地面領域と客体領域とを区分することができる。車両100は、いずれか1つのフレームの全体ポイントクラウドデータから、地面領域と推定されるポイントクラウドデータを分離することにより、地面領域に対応するポイントクラウドデータと、客体領域に対応するポイントクラウドデータとを区分することができる。車両100は、客体領域に対応するポイントクラウドデータを、距離情報、形状情報、分布情報のうち少なくとも一つに基づいてクラスタリングすることにより、各客体別にポイントクラウドデータを区分し、個別客体領域を区分することができる。
【0035】
車両100は、神経網基盤の客体分類モデルを利用し、少なくとも1つの客体を識別し、識別された客体の客体情報を獲得することができる。神経網基盤の客体分類モデルは、各客体についてデータベース化された学習用映像を利用して学習されたものであってもよい。該神経網基盤の客体分類モデルは、感知された対象に対応するポイントクラウドデータから、距離情報、形状情報、分布情報のうち少なくとも一つに基づいて識別される各客体の客体情報を推定することができる。車両100は、神経網基盤の客体分類モデルを介し、自動車、軽自動車、二輪自動車、歩行者のような動く客体を検出することができる。
【0036】
車両100は、複数のフレームにおいて、ポイントクラウドデータをクラスタリングすることによって区分した個別客体領域に係わる情報と、神経網基盤の客体分類モデルを利用して識別された客体の客体情報とに基づき、三次元空間の客体を追跡することができる。車両100は、クラスタリングを介して区分された個別客体領域から獲得した客体に係わる情報と、神経網基盤の客体分類モデルが推定した客体の情報とを統合し、三次元空間上の全ての客体を逃さずに追跡することができる。
【0037】
車両100は、感知された三次元空間に係わる複数フレームの空間情報から、時間の流れにより、感知された三次元空間上の全ての客体に係わる連続的な情報を獲得し、感知された三次元空間上の全ての客体を追跡することができる。例えば、車両100は、カルマンフィルタを利用した客体追跡方式などを利用し、時間フローによる各客体の位置変化量に基づき、速度と移動方向とを追跡することができる。
【0038】
車両100は、追跡した結果に基づき、追跡された客体に係わる情報を予測することができる。車両100は、複数のフレームに基づく客体動きモデルを利用し、次のフレームに対応する客体の位置を予測することができる。車両100は、客体を追跡した情報を累積し、累積された追跡情報から、客体の動きに係わる数学的モデルを導き出し、客体の動きを推定することができる。
【0039】
図2に関して、連続して入力される複数のフレームに基づき、各フレームに含まれた客体を除去し、客体が除去された各フレームをマップデータベースにアップデートする第2ワークフロープロセスを例に挙げて説明すれば、次の通りである。
【0040】
図2に図示されているように、車両100は、現在フレーム(Frame n)から客体を除去するために、現在フレーム(Frame n)において直接客体を検出する代わりに、直前フレーム(Frame n-1)における客体動きモデルを利用し、現在フレーム(Frame n)に対応する客体の位置を予測した結果に基づき、現在フレーム(Frame n)に含まれた客体を除去することができる。車両100は、現在フレーム(Frame n)以前のフレームに基づく客体動きモデルに、現在フレーム(Frame n)と直前フレーム(Frame n-1)との時間差を適用し、現在フレーム(Frame n)に対応する客体の位置を予測し、予測された客体の位置に基づき、現在フレーム(Frame n)に含まれた動く客体を除去することができる。
【0041】
車両100は、客体が除去された現在フレーム(Frame n)で、所定個数の以前フレームで構成されるマップデータベースをアップデートするために、客体が除去された現在フレーム(Frame n)とマップデータベースとを整合させるプロセスを遂行することができる。それにより、現在フレーム(Frame n)の空間情報と、マップデータベースの空間情報が比較され、現在フレーム(Frame n)における新たな点群の位置が推定されうる。新たな点群の位置は、以前フレームで構成されたマップデータベースに基づくマップに対する相対的位置変化を示すために、車両100の動き情報としても活用し、客体を追跡するところに利用することもできる。
【0042】
車両100は、客体が除去された現在フレーム(Frame n)とマップデータベースとを整合させた結果に基づき、客体が除去された現在フレーム(Frame n)の新たな点群の位置を推定し、推定された新たな点群の位置変化に基づき、客体が除去された現在フレーム(Frame n)をマップデータベースにアップデートする方式が異なりうる。客体が除去された現在フレーム(Frame n)をマップデータベースに追加する前、マップデータベースを構成するフレームの個数を維持し、点群の均一な分布が維持されるように、マップデータベースのどのフレームを除去するかということが、新たな点群の位置変化によって異なってもよい。それについては、
図3及び
図4を参照して説明する。
【0043】
図3は、所定個数のフレームで構成されるマップデータベースをアップデートするとき、マップデータベースで最も先に保存されたフレームを除去する例について説明するための図面である。
【0044】
車両100は、客体が除去された現在フレーム(Frame n)における新たな点群の位置が、マップデータベースに設定された基準点の位置と比較し、十分な距離を置いてあれば、最も古い点群の空間情報である、マップデータベースで最も先に保存されたフレーム(Frame j)を除去することができる。マップデータベースに設定された基準点の位置は、新たな点群の位置変化を判断する基準になる地点であり、マップデータベースで最も先に保存されたフレーム(Frame j)に設定されているので、マップデータベースで最も先に保存されたフレーム(Frame j)が除去される場合、除去されたフレームの次フレーム(Frame k)に基準点位置を設定することができる。
【0045】
図3に図示されているように、マップデータベースに、時間の順序上、最も先に保存されたフレーム(Frame j)をマップデータベースから除去し、客体が除去された現在フレーム(Frame n)をマップデータベースにアップデートすることができる。
【0046】
図4は、所定個数のフレームで構成されるマップデータベースをアップデートするとき、マップデータベースで最も後に保存されたフレームを除去する例について説明するための図面である。
【0047】
車両100は、客体が除去された現在フレーム(Frame n)における新たな点群の位置がマップデータベースに設定された基準点の位置と比較し、十分な距離を置いていなければ、最も最近アップデートされた点群の空間情報である、マップデータベースで最も後に保存されたフレーム(Frame n-1)を除去することができる。
【0048】
図4に図示されているように、マップデータベースに時間の順序上、最も後に保存されたフレーム(Frame n-1)をマップデータベースから除去し、客体が除去された現在フレーム(Frame n)をマップデータベースにアップデートすることができる。客体が除去された現在フレーム(Frame n)の直前フレーム(Frame n-1)を除去することにより、マップデータベースの最新性を保証することができる。すなわち、新たな点群の位置が、基準点の位置に比べ、十分な距離を置いて移動されたものではないとしても、マップの最新性を保証するように、マップデータベースで最も後に保存された、すなわち、客体が除去された現在フレーム(Frame n)の直前フレーム(Frame n-1)をマップデータベースから除去することができる。そのとき、基準点の位置は、変わらない。
【0049】
再び
図2を参照すれば、同一フレームにつき、第1ワークフロープロセスと第2ワークフロープロセスとが並列的に処理されるということが分かる。また、各フレームにおいて、第1ワークフロープロセスの結果は、次のフレームの第2ワークフロープロセスに入力となり、第2ワークフロープロセスの効率的な処理を可能にするということが分かる。
【0050】
図5は、三次元空間に対応するマップを生成する方法について説明するためのフローチャートである。
【0051】
510段階において、車両100は、複数のフレームに基づく客体動きモデルを利用し、現在フレームに対応する客体の位置を予測することができる。車両100は、現在フレームにおいて、客体を直接検出する代わりに、現在フレームの直前フレームまで反映された客体動きモデルに、現在フレームと直前フレームとの時間差を適用し、客体の動きを推定することにより、現在フレームに対応する客体の位置を予測することができる。
【0052】
520段階において、車両100は、予測された客体の位置に基づいて現在フレームに含まれた客体を除去することができる。車両100は、現在フレームの直前フレームにおける客体動きモデルを利用し、現在フレームに対応する客体の位置と方向とを予測し、予測された客体のバウンディングボックス(bounding box)を生成し、現在フレームから、バウンディングボックス内の点群形態の空間情報を除去することができる。
【0053】
530段階において、車両100は、客体が除去された現在フレームで所定個数の以前フレームによって構成されるマップデータベースをアップデートすることができる。
【0054】
一方、車両100は、現在フレームに含まれた客体を除去する520段階、及びマップデータベースをアップデートする530段階の並列的処理として、現在フレームに含まれた客体を検出して追跡することにより、現在フレームまで反映された客体動きモデルを利用し、現在フレームの次のフレームに対応する客体の位置予測を行うことができる。
【0055】
540段階において、車両100は、アップデートされたマップデータベースに基づいて三次元空間に対応するマップを生成することができる。
【0056】
図6は、マップデータベースをアップデートする過程について説明するための詳細フローチャートである。
【0057】
610段階において、車両100は、客体が除去された現在フレームとマップデータベースとを整合させることができる。
【0058】
620段階において、車両100は、該整合結果に基づき、客体が除去された現在フレームの新たな点群の位置を推定することができる。
【0059】
630段階において、車両100は、推定された新たな点群の位置と、マップデータベースに設定された基準点の位置とに基づき、マップデータベースから所定フレームを除去した後、所定フレームが除去されたマップデータベースに、客体が除去された現在フレームを追加することができる。
【0060】
図7は、マップデータベースから、1つのフレームを除去した後、現在フレームを追加する過程について説明するための詳細フローチャートである。
【0061】
710段階において、車両100は、推定された新たな点群の位置と、マップデータベースに設定された基準点の位置との差値を、所定値と比較することができる。基準点の位置は、マップデータベースで最も先に保存されたフレームに設定されてもよい。
【0062】
720段階において、車両100は、710段階の比較結果、差値が所定値以上であるか否かということを判断することができる。車両100は、比較結果により、以下の730段階または750段階において、マップデータベースにおいて最も先に保存されたフレームと、最も後に保存されたフレームのうち、いずれか一つを除去することができる。
【0063】
730段階において、車両100は、該比較結果、差値が所定値以上であるならば、マップデータベースにおいて最も先に保存されたフレームを除去することができる。
【0064】
740段階において、車両100は、マップデータベースにおいて最も先に保存されたフレームが除去される場合、除去されたフレームに設定されていた基準点の位置を、除去されたフレームの次のフレームに設定することができる。
【0065】
750段階において、車両100は、該比較結果、差値が所定値未満であるならば、マップデータベースにおいて最も後に保存されたフレームを除去することができる。
【0066】
760段階において、車両100は、マップデータベースにおいて最も先に保存されたフレームと、最も後に保存されたフレームとのうち、いずれか1つのフレームが除去されたマップデータベースに、客体が除去された現在フレームを追加することができる。
【0067】
図8A及び
図8Bは、1つのフレームの空間情報を利用してマップを生成した場合と、所定個数のフレームで構成されるマップデータベースを利用してマップを生成した場合とを示した図面である。
【0068】
図8A及び
図8Bは、ライダーセンサを介して感知した三次元空間に係わる空間情報を利用してレーン(lane)を検出するためにマップを生成した例である。
図8Aのように、単一フレームの空間情報を利用してマップを生成する場合、点群の量が十分ではなく、レーン検出に困難がある。一方、
図8Bのように、所定個数のフレームに維持されながら、最新フレームの空間情報がアップデートされるマップデータベースに基づき、三次元空間に対応するマップを生成する場合、点群の量が十分であり、
図8Aよりさらに広い領域でさらに正確なレーンを検出することができる。
【0069】
前述の実施形態それぞれは、車、ドローン、ロボットのような電子動力装置において、三次元空間に対応するマップを生成する方法を遂行させるコンピュータ可読記録媒体に保存されたコンピュータプログラム形態またはアプリケーション形態に提供されてもよい。言い替えれば、前述の実施形態それぞれは、電子動力装置において、複数フレームの空間情報を利用してマップを生成する所定段階を含む方法を遂行させるためのコンピュータ可読記録媒体に保存されたコンピュータプログラム形態またはアプリケーション形態に提供されてもよい。
【0070】
前述の実施形態は、コンピュータまたはプロセッサによって実行可能な命令語及びデータを保存するコンピュータ可読記録媒体の形態に具現されてもよい。前記命令語及び前記データのうち少なくとも一つは、プログラムコードの形態に保存されてもよく、プロセッサによって実行されたとき、所定プログラムモジュールを生成し、所定の動作を遂行することができる。そのようなコンピュータ可読記録媒体は、ROM(read only memory)、RAM(random access memory)、フラッシュメモリ、CD-ROMs、CD-Rs、CD+Rs、CD-RWs、CD+RWs、DVD-ROMs、DVD-Rs、DVD+Rs、DVD-RWs、DVD+RWs、DVD-RAMs、BD-ROMs、BD-Rs、BD-RLTHs、BD-REs、マグネチックテープ、フロッピーディスク、光磁気データ保存装置、光学データ保存装置、ハードディスク、ソリッドステートディスク(SSD)、そして命令語、またはソフトウェア・関連データ・データファイル及びデータ構造を保存することができ、プロセッサやコンピュータが命令語を実行するように、プロセッサやコンピュータに、命令語、またはソフトウェア・関連データ・データファイル及びデータ構造を提供することができるいかなる装置であってもよい。
【0071】
以上、実施形態を中心に説明した。開示された実施形態が属する技術分野で当業者であるならば、開示された実施形態が、本質的な特性からはずれない範囲で変形された形態にも具現されるということを理解することができるであろう。従って、開示された実施形態は、限定的な観点ではなく、説明的な観点から考慮されなければならない。発明の範囲は、前述の実施形態の説明ではなく、特許請求の範囲に示されており、それと同等な範囲内にある全ての差異は、発明の範囲に含まれたものであると解釈されなければならないのである。