(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-07
(45)【発行日】2024-06-17
(54)【発明の名称】深度情報推定モデル学習のためのデータ処理方法及び装置
(51)【国際特許分類】
G06T 7/593 20170101AFI20240610BHJP
G06T 7/00 20170101ALI20240610BHJP
G06T 7/80 20170101ALI20240610BHJP
【FI】
G06T7/593
G06T7/00 350B
G06T7/80
(21)【出願番号】P 2023052293
(22)【出願日】2023-03-28
【審査請求日】2023-03-28
(31)【優先権主張番号】10-2022-0038596
(32)【優先日】2022-03-29
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】523045180
【氏名又は名称】42ドット・インコーポレイテッド
【氏名又は名称原語表記】42dot Inc.
(74)【代理人】
【識別番号】100145403
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【氏名又は名称】岡部 英隆
(72)【発明者】
【氏名】チョ,スンフン
(72)【発明者】
【氏名】ハ,ドンジン
(72)【発明者】
【氏名】チョ,ホヨン
(72)【発明者】
【氏名】キム,ジョンヒ
(72)【発明者】
【氏名】グエン,フォック ティエン
(72)【発明者】
【氏名】チョン,ソンギュン
【審査官】▲柳▼谷 侑
(56)【参考文献】
【文献】特表2019-526878(JP,A)
【文献】米国特許出願公開第2020/0413028(US,A1)
【文献】特表2021-522603(JP,A)
【文献】特許第6660501(JP,B1)
【文献】特開2012-203634(JP,A)
【文献】TAI HUU-PHUONG TRAN et al.,Accurate Uncalibrated Rectification Using Feature Matching Re-Selection,[online],2021年10月18日,https://ieeexplore.ieee.org/document/9579422
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/593
G06T 7/00
G06T 7/80
(57)【特許請求の範囲】
【請求項1】
深度情報推定モデル学習のためのデータ処理方法において、
1つ以上のカメラから収集された映像データをロギングするステップと、
前記ロギングされたデータをデータベースに送信す
るステップと、
前記データベースの映像データに基づいて学習用データを構成するステップと、
前記学習用データに基づいてモデルを学習させるステップと、
前記データベースの映像データに基づいて評価用データを構成するステップと、
前記評価用データに基づいてモデルを評価するステップと、
を含
み、
前記学習用データを構成するステップは、
前記データベースの映像データに対する第1特徴ベクトル(feature vector)を抽出するステップと、
前記第1特徴ベクトルを1つ以上の第1クラスタにクラスタリング(clustering)するステップと、
前記1つ以上の第1クラスタから学習用データをサンプリングするステップと、
を含み、
前記評価用データを構成するステップは、
前記データベースの映像データに対する第2特徴ベクトル(feature vector)を抽出するステップと、
前記第2特徴ベクトルを1つ以上の第2クラスタにクラスタリング(clustering)するステップと、
前記1つ以上の第2クラスタから評価用データをサンプリングするステップと、
を含む、
方法。
【請求項2】
前記1つ以上のカメラから収集された各映像データは、
複数の画像を含み、
前記複数の画像は、各収集された時間情報を示すタイムスタンプを含み、
前記映像データをロギングするステップは、
同じタイムスタンプを有する画像をペアリングして記憶するステップとを含む、
請求項1に記載の方法。
【請求項3】
前記映像データをロギングするステップは、
前記1つ以上のカメラから収集された各映像データを慣性計測装置によって測定された慣性情報と組み合わせて記憶するステップを含む、
請求項1に記載の方法。
【請求項4】
ユーザに表示するために、前記ペアリングされた同じタイムスタンプを有する画像単位で表示装置に前記1つ以上のカメラから収集された映像データを送信するステップをさらに含む、
請求項2に記載の方法。
【請求項5】
前記学習用データを構成するステップは、
ステレオレクティフィケーション(rectification)行列を取得するステップと、
前記データベースの映像データに対してレクティフィケーション行列を適用するステップと、
前記レクティフィケーション行列を適用した結果に基づいて垂直方向視差(disparity)を検証するステップと
を含む、請求項1に記載の方法。
【請求項6】
前記モデルを評価するステップは、
評価指標を計算するステップを含み、
前記方法は、
モデルレジストリに前記評価指標を記憶するステップと
をさらに含む、請求項
1に記載の方法。
【請求項7】
深度情報推定モデル学習のためのデータ処理装置において、
少なくとも1つのプログラムが記憶されたメモリと
前記少なくとも1つのプログラムを実行することによって演算を実行するプロセッサを含み、
前記プロセッサは、
1つ以上のカメラから収集された映像データをロギングし、
前記ロギングされたデータをデータベースに送信し、
前記データベースの映像データに基づいて学習用データを構成し、
前記学習用データに基づいてモデルを学習さ
せ、
前記データベースの映像データに基づいて評価用データを構成し、
前記評価用データに基づいてモデルを評価し、
前記学習用データを構成することは、
前記データベースの映像データに対する第1特徴ベクトル(feature vector)を抽出することと、
前記第1特徴ベクトルを1つ以上の第1クラスタにクラスタリング(clustering)することと、
前記1つ以上の第1クラスタから学習用データをサンプリングすることと、
を含み、
前記評価用データを構成することは、
前記データベースの映像データに対する第2特徴ベクトル(feature vector)を抽出することと、
前記第2特徴ベクトルを1つ以上の第2クラスタにクラスタリング(clustering)することと、
前記1つ以上の第2クラスタから評価用データをサンプリングすることと、
を含む、
装置。
【請求項8】
請求項1に記載の方法をコンピュータで実行するためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、深度情報推定モデル学習のためのデータ処理方法及び装置に関する。
【背景技術】
【0002】
ロボットビジョン(robot vision)、ヒューマンコンピューターインタラクション(Human-computer interaction)、インテリジェント視覚監視(intelligent visual surveillance)、3D画像取得(3D image acquisition)など、様々な分野で用いられる3D深度情報の推定方法に関して活発な研究が行われている。特に、自動運転(autonomous driving)システムにおいて、収集された映像データ上で検出された対象と車両との距離を含む様々な走行環境を認知して判断することで車両を制御するために精度の高い深度情報推定に関する研究が求められている。
【0003】
深度情報推定を含む人工知能モデルの機能を向上させるためには、人工知能モデルの人工ニューラルネットワーク(artificial neural network)自体の性能も重要であるが、人工知能モデルを学習させて評価するためのデータも重要である。学習用データまたは評価用データの量が増えるにつれ、人工知能モデルの性能も増加する傾向があるが、必ずしも比例するわけではなく、不適切なデータを学習する場合が発生することがあり、むしろ過適合(overfitting)される問題が発生する可能性がある。したがって、学習用データまたは評価用データを人工知能モデルの学習にあたって適切に加工して品質を向上させることも重要である。
【0004】
前述した背景技術は、発明者が本発明の導出のために保有していたり、本発明の導出過程で習得した技術情報であり、必ずしも本開示の出願前に一般公衆に公開された公知技術とは限らない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の目的は、深度情報推定モデル学習のためのデータ処理方法及び装置を提供することにある。本開示が解決しようとする課題は、以上で述べた課題に限定されず、言及されていない本開示の他の課題及び利点は、下記の説明によって理解されることができ、本開示の実施形態でより明確に理解されるであろう。さらに、本開示が解決しようとする課題及び利点は、特許請求の範囲に示された手段及びその組み合わせで実現できることが分かるであろう。
【課題を解決するための手段】
【0006】
本開示の第1側面は、1つ以上のカメラから収集された映像データをロギングするステップと、前記ロギングされたデータをデータベースに送信するステップと、前記データベースの映像データに基づいて学習用データを構成するステップと、前記学習用データに基づいてモデルを学習させるステップとを含む深度情報推定モデル学習のためのデータ処理方法を提供することができる。
【0007】
本開示の第2側面は、少なくとも1つのプログラムが記憶されたメモリ及び前記少なくとも1つのプログラムを実行することによって演算を実行するプロセッサを含み、前記プロセッサは、1つ以上のカメラから収集された映像データをロギングし、前記ロギングされたデータをデータベースに送信し、前記データベースの映像データに基づいて学習用データを構成し、前記学習用データに基づいてモデルを学習させる、深度情報推定モデル学習のためのデータ処理装置を提供することができる。
【0008】
本開示の第3側面は、第1側面の方法をコンピュータで実行するためのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することができる。
【0009】
その他にも、本発明を具現するための他の方法、他の装置及び前記方法を実行するためのプログラムを記録したコンピュータ読み取り可能な記録媒体をさらに提供することができる。
【0010】
前述したもの以外の他の側面、特徴、利点が、以下の図面、特許請求の範囲及び発明の詳細な説明から明確になるであろう。
【発明の効果】
【0011】
前述した本開示の課題解決手段によれば、深度情報推定を含む機能を実行する人工知能モデルを効果的に学習させることができるように学習用データまたは評価用データが構成され得る。
【0012】
また、カメラを介して収集される映像データ、学習された人工知能モデルに関するデータ、人工知能モデルの評価結果データなどが効果的に照会及び管理され、これを通じて今後持続的な人工知能モデル学習過程が改善され得る。
【図面の簡単な説明】
【0013】
【
図1】
図1は、一実施形態に係る自動運転方式を説明するための図である。
【
図2】
図2は、一実施形態に係る自動運転方式を説明するための図である。
【
図3】
図3は、一実施形態に係る自動運転方式を説明するための図である。
【
図4】
図4は、一実施形態に係る映像データに含まれる複数の対象の例を説明するための図である。
【
図5】
図5は、一実施形態に係るデータ処理装置のワークフローの全体的な側面を簡単に示す図である。
【
図6a】
図6aは、一実施形態に係る1つ以上のカメラから収集された映像データをロギングする過程を説明するための図である。
【
図6b】
図6bは、一実施形態に係る1つ以上のカメラから収集された映像データをロギングする過程を説明するための図である。
【
図6c】
図6cは、一実施形態に係る1つ以上のカメラから収集された映像データをロギングする過程を説明するための図である。
【
図7a】
図7aは、一実施形態に係るレクティフィケーション過程を説明するための図である。
【
図7b】
図7bは、一実施形態に係るレクティフィケーション過程を説明するための図である。
【
図8】
図8は、一実施形態に係るレクティフィケーション行列の適合性決定過程を説明するためのフローチャートである。
【
図9】
図9は、一実施形態に係るデータに関するクラスタリング過程を説明するための図である。
【
図10】
図10は、一実施形態に係る人工知能モデルの学習または評価過程を概略的に説明するための図である。
【
図11】
図11は、一実施形態に係る深度情報推定モデル学習のためのデータ処理方法のフローチャートである。
【
図12】
図12は、一実施形態に係る深度情報推定モデル学習のためのデータ処理装置のブロック図である。
【発明を実施するための形態】
【0014】
本発明の利点及び特徴、並びにそれらを達成する方法は、添付の図面と共に詳細に説明される実施形態を参照すれば明確になるであろう。しかしながら、本発明は、以下に提示される実施形態に限定されるものではなく、互いに異なる様々な形態で実装され得、本発明の思想及び技術範囲に含まれる全ての変換、均等物から代替物を含むものと理解されるべきである。以下に提示される実施形態は、本発明の開示を完全にし、本発明が属する技術分野において通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものである。本発明を説明することにおいて、関連する公知技術に対する具体的な説明が本発明の要旨を阻害する可能性があると判断される場合、その詳細な説明を省略する。
【0015】
本出願で使用される用語は、単に特定の実施形態を説明するために使用されたものであり、本発明を限定しようとする意図ではない。単数の表現は、文脈上明らかに別段の意味を持たない限り、複数の表現を含む。本出願において、「含む」または「有する」などの用語は、本明細書に記載の特徴、数字、ステップ、動作、構成要素、部品、またはそれらを組み合わせたものが存在することを指定するものであり、1つまたは複数の他の特徴や数字、ステップ、動作、構成要素、部品、またはそれらを組み合わせたものの存在または追加の可能性を予め排除しないことと理解されるべきである。
【0016】
本開示の一部の実施形態は、機能的なブロック構成及び様々な処理ステップで表現され得る。そのような機能ブロックの一部または全部は、特定の機能を実行する様々な数のハードウェア及び/またはソフトウェア構成で具現され得る。例えば、本開示の機能ブロックは、1つ以上のマイクロプロセッサによって具現されるか、所定の機能のための回路構成によって具現され得る。さらに、例えば、本開示の機能ブロックは、様々なプログラミングまたはスクリプト言語で具現され得る。機能ブロックは、1つ以上のプロセッサで実行されるアルゴリズムで具現され得る。さらに、本開示は、電子的な環境設定、信号処理及び/またはデータ処理などのために従来技術を採用することができる。「メカニズム」、「要素」、「手段」及び「構成」などの用語は広く使用され得、機械的及び物理的構成に限定されない。
【0017】
さらに、図面に示された構成要素間の接続線または接続部材は、機能的接続及び/または物理的または回路的接続を例示的に示したものにすぎない。実際の装置では、代替可能または追加された様々な機能的接続、物理的接続、または回路接続によって構成要素間の接続が示され得る。
【0018】
以下において、「車両」とは、自動車、バス、オートバイ、キックボードまたはトラックなどのように機関を有して人または物を移動させるために用いられるあらゆる種類の輸送手段を意味することができる。
【0019】
以下、添付の図面を参照して本開示を詳細に説明する。
【0020】
図1を参照すると、本発明の一実施形態に係る自動運転装置は、車両に取り付けられて自動運転車両10を具現することができる。自動運転車両10に取り付けられる自動運転装置は、周辺の状況情報を収集するための様々なセンサ(カメラを含む)を含むことができる。一例として、自動運転装置は、自動運転車両10の前面に取り付けられたイメージセンサ及び/またはイベントセンサを介して、前方で走行中の先行車両20の動きを感知することができる。自動運転装置は、自動運転車両10の前面はもちろん、となりの車線で走行中の他の走行車両30と、自動運転車両10周辺の歩行者等を感知するためのセンサとをさらに含むことができる。
【0021】
自動運転車両周辺の状況情報を収集するためのセンサのうち少なくとも1つは、
図1に示すように、所定の画角FoVを有することができる。一例として、自動運転車両10の前面に取り付けられたセンサが
図1に示すような画角FoVを有する場合、センサの中央から検出される情報が比較的高い重要度を有することができる。これは、センサの中央から検出される情報に、先行車両20の動きに対応する情報がほとんど含まれているためであり得る。
【0022】
自動運転装置は、自動運転車両10のセンサが収集した情報をリアルタイムで処理して自動運転車両10の動きを制御する一方、センサが収集した情報のうち少なくとも一部をメモリ装置に記憶させることができる。
【0023】
図2を参照すると、自動運転装置40は、センサ部41、プロセッサ46、メモリシステム47、車体制御モジュール48などを含むことができる。センサ部41は、複数のセンサ(カメラを含む)42~45を含み、複数のセンサ42~45は、イメージセンサ、イベントセンサ、照度センサ、GPS装置、加速度センサなどを含むことができる。
【0024】
センサ42~45が収集したデータはプロセッサ46に送信され得る。プロセッサ46は、センサ42~45が収集したデータをメモリシステム47に記憶し、センサ42~45が収集したデータに基づいて車体制御モジュール48を制御して車両の動きを決めることができる。メモリシステム47は、2つ以上のメモリ装置と、メモリ装置を制御するためのシステムコントローラとを含むことができる。メモリ装置のそれぞれは1つの半導体チップで提供され得る。
【0025】
メモリシステム47のシステムコントローラの他に、メモリシステム47に含まれる各メモリ装置はメモリコントローラを含むことができ、メモリコントローラはニューラルネットワークなどの人工知能(AI)演算回路を含むことができる。メモリコントローラは、センサ42~45またはプロセッサ46から受信したデータに所定の重みを付与して演算データを生成し、演算データをメモリチップに記憶させることができる。
【0026】
図3は、自動運転装置が搭載された自動運転車両のセンサ(カメラを含む)が取得した映像データの一例を示す図である。
図3を参照すると、映像データ50は自動運転車両の前面に取り付けられたセンサが取得したデータであり得る。したがって、映像データ50は、自動運転車両の前面部51、自動運転車両と同じ車線の先行車両52、自動運転車両周辺の走行車両53及び背景54などを含むことができる。
【0027】
図3に示す実施形態に係る映像データ50において、自動運転車両の前面部51と背景54が表れる領域のデータは、自動運転車両の走行に影響を及ぼす可能性がほとんどないデータであり得る。言い換えれば、自動運転車両の前面部51と背景54は、比較的重要度の低いデータと見なすことができる。
【0028】
一方、先行車両52との距離及び走行車両53の車線変更の動きなどは、自動運転車両の安全な走行において非常に重要な要素であり得る。したがって、映像データ50において先行車両52及び走行車両53などが含まれる領域のデータは、自動運転車両の走行において比較的高い重要度を有することができる。
【0029】
自動運転装置のメモリ装置は、センサから受信した映像データ50の領域別に重みを異なるように付与して記憶することができる。一例として、先行車両52と走行車両53などが含まれる領域のデータには高い重みを付与し、自動運転車両の前面部51と背景54が表れる領域のデータには低い重みを付与することができる。
【0030】
図4は、一実施形態に係る映像データに含まれる複数の対象の例を説明するための図である。
【0031】
1つ以上のカメラを介して収集された映像データは、深度情報推定のための深層ニューラルネットワークモデルの学習に使われ得る。収集された映像データには、複数の対象が含まれ得る。
【0032】
対象に関する情報は、対象種別情報及び対象属性情報を含む。ここで、対象種類情報は、対象の種類を示すインデックス情報であり、大きな範囲のグループと詳細範囲のクラスとで構成される。また、対象属性情報は、対象の現在の状態に関する属性情報を示すものであり、動き情報、回転情報、交通情報、色情報及び可視性情報を含む。
【0033】
一実施形態において、対象種類情報に含まれるグループ及びクラスは、以下の表1の通りであるが、これらに限定されない。
【0034】
【0035】
また、対象属性情報に含まれる情報には、Action、Rotate、Traffic info、color、Visibility情報が含まれることができる。
【0036】
Action情報は、対象の動き情報を表し、停車、駐車、移動などに定義され得る。車両の場合、停車、駐車、移動が対象属性情報として決定され得、信号機などの動かない対象の場合、デフォルト値である停止が対象属性情報として決定され得る。
【0037】
Rotate情報は、対象の回転情報を表し、正面、背面、水平(horizontal)、垂直(vertical)、側面などに定義され得る。車両の場合、正面、背面、側面に対象属性情報が定められ得、横または縦方向の信号機はそれぞれ水平または垂直に対象属性情報が定められ得る。
【0038】
Traffic infoは、対象の交通情報を意味し、交通標識の指示、注意、規制、補助標識などに定義され得る。Colorは、対象の色情報を意味し、対象の色、信号機及び交通標識の色を表すことができる。
【0039】
図4を参照すると、収集された映像データに含まれる対象は、信号機、標識、現在走行車線、ロードマーキング、横断歩道、ハンプ、交差点などであり得るが、これらに限定されない。
【0040】
以下において、「映像データ」は、カメラが収集することができる連続した画像データセットを意味することができ、方法の各詳細ステップまたは装置が実行する各詳細プロセスにおいて、「映像データ」は、単一画像データ、単一画像データセット、連続した画像データなどを含む概念として使用され得る。
【0041】
以下において、様々な実施形態に係るデータ処理動作は、データ処理装置またはデータ処理装置に含まれるプロセッサによって実行されることと理解され得る。
【0042】
自動運転車両を具現する自動運転装置またはデータ処理装置は、人工知能モデルを含むことができる。本開示において、人工知能モデルは、1つ以上のカメラを介して収集された映像データを用いて学習され、収集された映像データに対する深度情報推定を実行することができる。本開示において、人工知能モデルは、機械学習(machine learning)で一般的に使用されるモデル、ディープラーニング(deep learning)で一般的に使用されるモデルなどを含む。
【0043】
一実施形態において、本開示の人工知能モデルは人工ニューラルネットワーク(artificial neural network)を含むことができる。
【0044】
人工ニューラルネットワークは、シナプスの結合でネットワークを形成した人工ノード(ニューロン)からなる、問題解決能力を有するモデル全体を意味することができる。人工ニューラルネットワークは、異なる層のノード間の接続パターン、モデルパラメータを更新する学習過程、出力を生成する活性化関数によって定義され得る。
【0045】
人工ニューラルネットワークは、複数の層を含むことができる。各層は1つ以上のノードを含み、人工ニューラルネットワークはノードとノードを接続させるシナプスを含むことができる。人工ニューラルネットワークにおいて、各ノードはシナプスを介して入力される入力信号、重み、偏向に対する活性化関数の関数値を出力することができる。
【0046】
モデルパラメータは、学習によって決定されるパラメータを意味し、シナプス接続の重みとノードの偏向などを含むことができる。ハイパーパラメータは、機械学習アルゴリズムにおいて学習前に設定されるべきパラメータを意味し、学習率、繰り返し回数、ミニバッチサイズ、初期化関数などを含むことができる。
【0047】
人工ニューラルネットワークの学習の目的は、損失関数を最小限に抑えるモデルパラメータを決定することと見なすことができる。損失関数は、人工ニューラルネットワークの学習過程で最適のモデルパラメータを決定するための指標として使用することができる。人工ニューラルネットワークは、順伝播(forward propagation)及び逆伝播(back propagation)過程を介して学習され得る。
【0048】
本開示において、自動運転装置またはデータ処理装置の人工知能モデルは、様々な機械学習アルゴリズム及び技術を用いて収集された映像データをハイレベル(high-level)の特徴(feature)に変換し、ハイレベルの特徴から深度マップを生成することができる。深度マップは、観察時点から物体表面までの距離に関する情報を含む映像または画像である。深度マップは、映像データと同じ大きさを有することができ、画素レベルの深度情報を表すことができる。深度情報を推定するための人工知能モデルは、入力された映像データに基づいて深度マップを出力し、この深度マップを用いて自動化されたシステムを介して学習され得る。
【0049】
図5は、一実施形態に係るデータ処理装置のワークフローの全体的な側面を簡単に示す図である。
【0050】
本開示において、1つ以上のカメラ510は映像データを収集することができる。1つ以上のカメラ510によって収集された映像データは、データロガー520によってロギングされ得る。データロガー520によってロギングされたデータは、ユーザまたは管理者に表示されるようにビューア530に送信され得る。ビューア530でビューアインタフェースが構成され、ユーザまたは管理者にデータ表示が提供され得る。ロギングされたデータは、データアップローダ540によってデータベースに送信されて記憶され得る。データベースの映像データに基づいて、データ構成機550で学習用データまたは評価用データが構成され得る。学習用データまたは評価用データが構成される過程で、レクティフィケーションまたはクラスタリングプロセスが実行され得る。構成されたデータは学習または評価560のために送信され、学習用データまたは評価用データとして使用され、学習用データは人工知能モデルを学習させるために使用され、評価用データは学習された人工知能モデルを評価するために使用され得る。
【0051】
以下において、本開示の各データ処理過程に関する具体的で様々な実施形態についてより詳細に説明する。
【0052】
一実施形態において、1つ以上のカメラを介して映像データを収集することができる。
【0053】
映像データを収集するカメラは様々な種類のカメラであり得る。一実施形態において、各カメラは単眼カメラであってもよい。一実施形態において、1つ以上のカメラはステレオ構造で形成されてもよい。
【0054】
図6a~
図6cは、一実施形態に係る1つ以上のカメラから収集された映像データをロギングする過程を説明するための図である。
【0055】
図6aは、一実施形態に係るマルチカメラ構造の映像データ取得構造物を示す。
【0056】
図示のように、一実施形態に係るマルチカメラ構造の映像データ取得構造物は、1つ以上のカメラを含むことができる。マルチカメラ構造の映像データ取得構造物内の1つ以上のカメラは、車両の全方位に対する映像データを取得することができるように配向して配置され得る。マルチカメラ構造は、同じ方向に配向された2つ以上のカメラが対をなすステレオ構造カメラ対で構成されて映像を取得することができる。
【0057】
図示のように、マルチカメラ構造の映像データ取得構造物は、60°画角(FoV)のカメラと、120°画角のカメラから構成され得る。図示のように、2つの同じ画角のカメラで構成されるステレオ構造カメラ対が全方向に対する映像データを取得できるように配向され、車両の走行方向に配向された追加のカメラが配置されている。ただし、これは単なる例示の目的で提供されるものであり、本発明を限定しようとする意図ではない。マルチカメラ構造の映像データ取得構造物内のカメラの画角、数、配向、配置などは異なってもよい。
【0058】
一実施形態において、カメラは15fpsの1秒あたりフレーム数単位で、1920×1080の解像度を有する、jpeg形式の画像を取得することができる。
【0059】
図6bは、一実施形態に係る
図6aのマルチカメラ構造の映像データ取得構造物が車両に搭載された様子を示す。このような構造を通じて、車両が走行中の状態において、様々な走行状況で容易にデータを収集することができる。
【0060】
1つ以上のカメラから収集された映像データは、データロガーを介してロギングされ得る。データ処理装置に含まれ得るデータロガーは、人工知能モデルの学習または評価に用いられるデータの基礎となり得る映像データを効率的に管理する役割を果たすことができる。
【0061】
図6cは、一実施形態に係る同じタイムスタンプを有する画像がペアリングされた様子を示す。
【0062】
1つのカメラから収集された映像データは、連続した複数の画像の集合と見なすことができる。すなわち、1つのカメラから収集された映像データは、複数の画像を含むことができる。一実施形態において、映像データに含まれる複数の画像のそれぞれはタイムスタンプを有することができる。タイムスタンプは、カメラによって各画像が収集された時間情報を表すことができる。
【0063】
したがって、例えば、自動運転車両のマルチカメラ構造の映像データ取得構造物が8つのカメラ(例えば、2つの前方配向カメラ、4つの側方配向カメラ及び2つの後方配向カメラ)を含む場合、同じタイムスタンプを持つ画像が8つ存在することができる。データロガーは、同じタイムスタンプを持つ画像をペアリングし、同期化(synchronized)された画像を記憶することができる。
【0064】
図6cを参照すると、それぞれペアリングされた画像セット610及び画像セット620が示されている。画像セット610は、同じタイムスタンプt
1を有する画像がペアリングされた画像セットである。画像セット620は、同じタイムスタンプt
2を有する画像がペアリングされた画像セットである。例えば、t
1とt
2は隣接するタイムスタンプであってもよい。画像セット610と画像セット620のそれぞれは、互いに異なるカメラから収集された8つの画像を含むことができる。データロガーは、同じタイムスタンプを有する画像をペアリングして、同期化された画像である画像セット610、画像セット620などを構成して記憶することができる。
【0065】
一実施形態において、データロガーは、収集された映像データに慣性計測装置 (IMU、inertial measurement unit)によって測定された慣性情報を組み合わせて記憶することができる。
【0066】
本開示において、慣性計測装置 は、自動運転車両(または自動運転車両に搭載されたマルチカメラ構造の映像データ取得構造物)に搭載され、自動運転車両の速度、回転速度、自動運転車両に加えられる力、自動運転車両の姿勢などに関する情報を出力することができる装置を指すことができる。慣性計測装置 はジャイロスコープ及び加速度計を含むことができ、地磁気センサを含むこともできる。
【0067】
データロガーが収集された映像データに慣性計測装置 で測定された慣性情報を組み合わせて記憶することで、例えば道路が傾いている場合、平らでない場合などのように、自動運転車両の周辺環境に関する情報まで学習用データまたは評価用データに含まれ得る。
【0068】
一実施形態において、データロガーによって記憶された同期化された画像は、ユーザまたは管理者に表示されるために使用され得る。一実施形態において、同期化された画像は、同じタイムスタンプを有する画像単位で表示装置に送信され得る。一実施形態において、ユーザまたは管理者が容易に観察できるようにビューア(viewer)インタフェースを構成することができる。例えば、同じタイムスタンプを有する画像が一緒に表示されるようにビューアインタフェースを構成することができる。
【0069】
一実施形態において、ビューアインタフェースは、データロガーを制御することができるインタフェースを含むことができる。例えば、ビューアインタフェースは、データロガーのロギング動作を活性化または非活性化させる制御機能を含むことができる。例えば、ビューアインタフェースは、データベースなどの記憶装置の使用量情報を表示することができる。
【0070】
一実施形態において、ビューアインタフェースは、収集された映像データをリアルタイムで表示できるように構成され得る。一実施形態において、ビューアインタフェースはキャプチャ機能を含むことができる。一実施形態において、ビューアインタフェースは、特定のカメラによって収集された映像データのみを表示させる機能を含むことができる。一実施形態において、ビューアインタフェースは、特定の時間期間中に収集された映像データを検索する機能を含むことができる。
【0071】
一実施形態において、データロガーによってロギングされた映像データはデータベースに送信されて記憶され得る。一実施形態において、ロギングされた映像データはリアルタイムでデータベースに送信され得る。一実施形態において、ロギングされた映像データは一時記憶装置に蓄積されて記憶され、ユーザまたは管理者の入力によってトリガされ、蓄積されたデータをデータベースに送信することができる。一実施形態において、ロギングされた映像データは一時記憶装置に蓄積されて記憶され、一時記憶装置に記憶されたデータの量が所定の容量に達する場合、蓄積データがデータベースに送信され得る。一実施形態において、ロギングされた映像データは一時記憶装置に蓄積されて記憶され、走行が終了すると自動で蓄積されたデータがデータベースに送信され得る。データベースへのデータ送信は、任意の適切な送信方式によって実行され得る。
【0072】
本開示において、データベースに記憶された映像データから学習用データまたは評価用データが構成され得る。学習用データまたは評価用データが構成される過程で、人工知能モデルの効果的な学習または評価のためにデータベースに記憶された映像データに対してレクティフィケーション(rectification)またはクラスタリング(clustering)過程が実行され得る。
【0073】
一実施形態において、学習用データまたは評価用データを構成するに当たってレクティフィケーション過程が実行され得る。
【0074】
図7a~
図7bは、一実施形態に係るレクティフィケーション過程を説明するための図である。
【0075】
一実施形態において、学習用データまたは評価用データは、ステレオマッチング(stereo matching)基盤の深度情報推定によって生成され得る。上述のように、一実施形態に係るマルチカメラ構造の映像データ取得構造物は、1つ以上のカメラを含むことができ、マルチカメラ構造は、同じ方向に配向された2つ以上のカメラが対をなすステレオ構造カメラ対で構成され、映像を取得することができる。ステレオ構造カメラ対の左右のカメラで取得された映像は視差(disparity)を有することができる。ステレオ映像データに対して、ステレオカメラキャリブレーション(calibration)、画像レクティフィケーション(rectification)過程を経て視差を計算することができ、このような視差を通じて深度情報を推定して学習用データまたは評価用データが生成され得る。
【0076】
より具体的には、レクティフィケーション過程を通じてステレオ映像データは同じ行上に整列され、これを通じて物体の視差情報が抽出され得る。ステレオカメラは製造過程で公差が発生する可能性があり、使用中にカメラの配置がずれる場合が発生する可能性もある。特に、ステレオカメラが自動運転車両に搭載される場合、道路事情による衝撃等によって、両カメラで収集される映像データは互いにずれやすい。したがって、実質的にステレオカメラ間の行が一致するように収集することはできず、行を一致させるレクティフィケーション過程が必要とされる。
【0077】
図7aは、ステレオカメラが収集した映像データにレクティフィケーション行列を適用することを説明するための概略図である。
【0078】
一実施形態において、データ処理装置は、カメラキャリブレーションを通じてステレオカメラ対の外部(extrinsic)パラメータを導出してレクティフィケーション行列を取得することができる。
図7aを参照すると、2つのカメラがステレオカメラを構成し、左カメラによって収集された映像データ710と右カメラによって収集された映像データ720が示されている。人工知能モデルを介した深度情報を推定するために、左カメラによって収集された映像データ710と右カメラによって収集された映像データ720を同じ行上に整列させるためにレクティフィケーション行列が必要である。
【0079】
一実施形態において、データ処理装置は、映像データにレクティフィケーション行列を適用した結果として、較正された映像データを取得することができる。
図7aを参照すると、左カメラによって収集された映像データ710と右カメラによって収集された映像データ720とにレクティフィケーション行列を適用し、それぞれ較正された左映像データ730と較正された右映像データ740を取得することができる。較正された左映像データ730及び較正された右映像データ740は、相互比較を通じて横方向、つまりx軸視差を計算して深度情報を抽出するために使用される。
【0080】
上述のように、レクティフィケーション行列を適用して映像データを較正し、較正された映像データに基づいて横方向視差を計算することによって深度情報を抽出することができるが、これは較正されたステレオ映像データに対する垂直方向の整列が正しくなっていることを前提として可能なことである。レクティフィケーション行列は、映像データを収集するカメラの外部環境、例えば、タイヤ空気圧、外部衝撃などによって変更され得る。したがって、レクティフィケーション行列が適切に取得されたか否かに対する検証が必要となり得る。
【0081】
図7bは、較正されたステレオ映像データに対して垂直方向視差を検証する過程を説明するための概略図である。
【0082】
一実施形態において、ステレオ映像データに対して取得されたレクティフィケーション行列を適用した後、レクティフィケーション行列を適用した結果に対して垂直方向視差を検証する過程が実行され得る。
【0083】
より具体的には、一実施形態において、レクティフィケーション行列を適用した後のステレオ映像データに対して垂直方向視差数値が計算され得る。垂直方向視差数値は、ステレオ映像データが垂直方向、つまりy軸方向にずれる程度を示す値を指すことができる。すなわち、ステレオ映像データにレクティフィケーション行列を適用した後のデータを比較し、ずれの程度を数値化する過程を行う。
【0084】
一実施形態において、垂直方向視差数値の計算は特徴点に基づいて行われ得る。一実施形態において、垂直方向視差数値は、発生するすべての視差の平均値として計算され得る。一実施形態において、垂直方向視差数値は、視差が発生する特徴点のうち、その差が最も大きい場合に対する値で表すことができる。他にも、垂直方向視差数値は、ステレオ映像データの垂直方向視差を代表するか、表すことができるように適切に計算された値であってもよい。
図7bを参照すると、較正された左映像データ730と較正された右映像データ740に対して垂直方向視差検証、具体的には特徴点基盤の垂直方向視差検証が行われ得る。
【0085】
図8は、一実施形態に係るレクティフィケーション行列適合性決定過程を説明するためのフローチャートである。
【0086】
一実施形態において、計算された垂直方向視差数値としきい値との比較を通じて、レクティフィケーション行列が適合または不適合であると見なし、レクティフィケーション行列が不適合である場合にレクティフィケーション行列を再取得する、レクティフィケーション行列適合性決定過程が自動化され得る。
【0087】
具体的には、一実施形態において、データ処理装置はレクティフィケーション行列を取得810し、映像データに対してレクティフィケーション行列を適用820することができる。データ処理装置は、レクティフィケーション行列を適用した結果である較正された映像データに対して垂直方向視差数値を計算830することができる。
【0088】
データ処理装置は、計算された垂直方向視差数値がしきい値より小さいか否かを決定840することができる。垂直方向視差数値がしきい値より小さいと決定した場合、データ処理装置はレクティフィケーション行列が適切であると見なすことができる。垂直方向視差数値がしきい値より小さくないと決定した場合、データ処理装置はレクティフィケーション行列が適切でないと見なすことができる。
【0089】
データ処理装置は、計算された垂直方向視差数値がしきい値より小さくないと決定した場合、カメラキャリブレーションを通じてレクティフィケーション行列を取得810する過程を再び実行することができる。
【0090】
しきい値は、垂直方向視差数値の計算方式によって、超過した場合、ステレオ映像データが正しく整列できてないため、適切な深度情報推定ができないと決定する値として指定され得る。
【0091】
カメラが自動運転車両に搭載される場合、自動運転車両及びそれに搭載されるカメラは多様に変化する外部環境に露出されるため、過去に取得されたレクティフィケーション行列は変化した外部環境によって既に適合でなくなっている可能性があり、これを検出して変化した外部環境に対するレクティフィケーション行列を再取得することによって、人工知能モデル学習または評価をより適切に行うことができる。
【0092】
一実施形態において、学習用データまたは評価用データを構成するに当たってクラスタリング過程が実行され得る。
【0093】
クラスタリングは、データセットに含まれるデータに対して同様の性質を有するデータをグループ化するために複数のクラスタに分けることである。データを複数のクラスタに分ける過程を通じて、同じクラスタに属するデータは互いに近く、または類似に、異なるクラスタに属するデータは互いに遠く、または類似でないように区分することがクラスタリングの目的である。
【0094】
本開示において、データ処理装置は、収集された映像データに対してクラスタリングを行い、同様の特徴を有するデータ同士がクラスタを形成するように分類することができる。同じコストと同じ量のサンプルで人工知能モデルの学習または評価する場合、収集されたデータの中からランダムにサンプリングして人工知能モデルの学習または評価を行うのに比べて、様々な特徴または脆弱な特徴に関して学習または評価をさせるのがより効率的である場合がある。このような側面から、クラスタリングプロセスは、学習用データまたは評価用データを効率的に構成できるようにする。
【0095】
図9は、一実施形態に係るデータに関するクラスタリング過程を説明するための図である。
【0096】
図9を参照すると、データ処理装置は、収集されたデータ910に対するクラスタリング過程を通じて同様の特徴を有するデータ同士のクラスタ941~944を形成できるように分類することができる。
【0097】
具体的には、収集されたデータ910は、特徴ベクトル(feature vector)抽出器920に入力される。特徴ベクトル抽出器920は、これに対する出力として、収集されたデータ910に対する特徴ベクトル930を抽出する。抽出された特徴ベクトル930に対してグループ化が行われる。
図9の下部にクラスタリング結果が示されているが、ここで特徴ベクトル930は4つのクラスタ941~944でクラスタリングされ、4つのクラスタ941~944がユークリッド空間に表現されることが示されている。各クラスタは中心点(centroid)(図示せず)を有する。各特徴ベクトルは、複数の中心点のうち最も近い中心点を有するクラスタにクラスタリングされると理解され得る。
【0098】
図9の下部のクラスタリング結果図示において、例えば、クラスタ941は「横断歩道」に関連する特徴を有するデータの特徴ベクトルから構成され、クラスタ944は「1車線」に関連する特徴を有するデータの特徴ベクトルで構成され得る。
【0099】
一実施形態において、特徴ベクトル抽出器920は畳み込みニューラルネットワークを含むことができる。例えば、特徴ベクトル抽出器920は、ResNet、VGGNet、LeNet、AlexNet、ZFNet、GoogleNetなど、任意の適切な畳み込みニューラルネットワーク構造を有することができる。
【0100】
一実施形態において、クラスタリング過程で、K-meansアルゴリズム及びその変形、階層クラスタリング(hierarchical clustering)アルゴリズムなど、任意の適切なアルゴリズムが使用され得る。
【0101】
一実施形態において、前述したような過程に基づいて、データベースの映像データに対して特徴ベクトルが抽出され得、抽出された特徴ベクトルを1つ以上のクラスタにクラスタリングすることができる。1つ以上のクラスタから学習用データまたは評価用データがサンプリングされ得る。このとき、学習用データまたは評価用データを各クラスタから均等にサンプリングすることもでき、場合によっては、各クラスタから意図的に不均等にサンプリングすることもできる。
【0102】
一実施形態において、データベースの映像データは、事前に収集されたデータに基づいてクラスタリングされ得る。具体的には、事前に収集されたデータは、1つ以上のカメラから新しく収集されたデータではなく、事前に構築され、比較的多くの量を有することができるデータを指すことができる。データ処理装置は、事前に収集されたデータに対して事前特徴ベクトルを抽出し、事前特徴ベクトルに基づいて基礎クラスタを形成し、中心点を抽出することができる。抽出された基礎クラスタに対する中心点は、座標平面(ユークリッド空間)にマッピングされ得る。人工知能モデルの目的に応じて、適切な数の基礎クラスタが形成され得る。一般的に、人工知能モデルが様々な状況及び環境について学習し分類作業を実行できるように、多数の基礎クラスタが形成され得るであろう。
【0103】
一実施形態において、データ処理装置は、基礎クラスタに対する中心点に基づいて新しく収集されたデータに対するクラスタリングを実行することができる。データ処理装置は、新しく収集されたデータに対する特徴ベクトルを抽出し、基礎クラスタに対する中心点がマッピングされた座標平面と同じ座標平面に抽出された特徴ベクトルをマッピングすることができる。その後、データ処理装置は、マッピングされた特徴ベクトルと基礎クラスタに対する中心点との距離を計算し、距離が最も近い中心点が共有する特徴ベクトル同士でクラスタリングすることができる。
【0104】
前述した過程を通じて、新しく収集されたデータに対して別途の中心点を抽出する過程は省略されてもよい。また、事前に収集されたデータに対するクラスタ分析を通じて脆弱部分が事前に把握され得、これは新しく収集されたデータに基づいて学習用データまたは評価用データの構成や、学習用データまたは評価用データを構成するためにデータの新しく収集するのに反映され得る。また、新しく収集されたデータより大量の事前に収集されたデータに基づいてクラスタを事前に形成することで、多数の基礎クラスタを形成することによって人工知能モデルが様々な状況及び環境について学習することを可能にすることができる。
【0105】
一実施形態において、事前に収集されたデータに対するクラスタ分析を通じて、自動運転車両に搭載されたカメラに脆弱部分に対する映像データ収集を強化することができる。
【0106】
前述した実施形態において、中心点及び特徴ベクトルが「座標平面」にマッピングされるものとして説明したが、3次元ユークリッド空間であってもよい。
【0107】
一実施形態において、事前に収集されたデータはクラスタ(または中心点)を形成する過程でのみ使用されるデータであり、新しく収集されたデータは学習用データまたは評価用データを構成するのに使用されるデータであってもよい。一実施形態において、新しく収集されたデータは、単眼カメラから収集された映像データで、単眼カメラ深度情報推定のための人工知能モデルを学習または評価するのに使用されるデータであってもよい。
【0108】
一実施形態において、データ処理装置は、前述したクラスタリングプロセスによって形成されたクラスタに基づいて学習用データまたは評価用データをサンプリングすることができる。特定のクラスタの場合、データの量が他のクラスタに比べて相対的に多い場合があるが、この場合、全体データからランダムに抽出して学習用または評価用データをサンプリングすることは人工知能モデルに多様な特徴を学習させず、多様な特徴に関して人工知能モデルの性能が評価されない可能性がある。したがって、一実施形態において、各クラスタから同じ数のデータがランダムに抽出されサンプリングされてもよい。一実施形態において、脆弱性部分として識別されたクラスタに対して重みが付与され、各クラスタから重みに応じて異なる数のデータがランダムに抽出されサンプリングされてもよい。
【0109】
データ処理装置は、前述したような様々な実施形態に係る過程を通じて、学習用データまたは評価用データを構成し、人工知能モデルを学習または評価することができる。
【0110】
図10は、一実施形態に係る人工知能モデルの学習または評価過程を概略的に説明するための図である。
【0111】
図10を参照すると、学習用データを構成し、人工知能モデルを学習させる過程は、データ処理装置に含まれ得る学習スケジューラ1010によって制御され得る。学習スケジューラ1010は、学習用データ構成及び人工知能モデル学習過程に関する全般を制御するように設計され得る。学習スケジューラ1010は、任意の適切な方式または条件に応じて学習用データ構成及び人工知能モデル学習を開始(initiate)することができる。一例として、学習スケジューラ1010は、所定の周期によって学習用データ構成及び人工知能モデル学習を開始するように設計され得る。また別の例として、学習スケジューラ1010は、データベースに所定の容量または所定の数量のデータが蓄積されたときに学習用データ構成及び人工知能モデル学習を開始するように設計されてもよい。
【0112】
一実施形態において、データ処理装置は、学習過程を経た人工知能モデルに対する評価を実行することができる。データ処理装置は、前述したような様々な実施形態に係る過程を通じて、人工知能モデルを評価するための評価用データを構成することができ、構成された評価用データに基づいて人工知能モデルを評価することができる。
【0113】
一実施形態において、評価用データは、データベースに含まれたデータのうち学習用データで構成されたことのないデータによってのみ構成され得る。評価用データを構成し、人工知能モデルを評価する過程は、様々な方法で開始され得る。例えば、評価用データを構成し、人工知能モデルを評価する過程は、人工知能モデルの学習が終了したことに対応して開始されるように設計され得る。別の例として、評価用データを構成し、人工知能モデルを評価する過程は、人工知能モデルの学習が所定回数実行されたことに対応して開始されるように設計されてもよい。また別の例として、評価用データを構成し、人工知能モデルを評価する過程は、モデルレジストリ(詳細に後述する)に学習された人工知能モデルが更新されることに対応して開始されるように設計されてもよい。
【0114】
一実施形態において、人工知能モデルの学習に関連するデータを記憶し管理することができるモデルレジストリが構成され得る。
【0115】
図10を参照すると、モデルレジストリ1020は、人工知能モデルの学習または評価に関連するデータを記憶または管理するか、人工知能モデルの学習または評価を制御するように構成され得る。
【0116】
一実施形態において、データ処理装置は、人工知能モデルの学習が開始または終了されることに対応して、学習される人工知能モデルに関するデータをモデルレジストリ1020に記憶させることができる。例えば、学習の結果としてのモデル、具体的には学習によって決定される人工知能モデルのパラメータをモデルレジストリ1020に記憶させることができる。例えば、人工知能モデルの学習前に設定されたハイパーパラメータが記憶され得る。例えば、人工知能モデルの学習進捗状況、例えば損失、精度(accuracy)など、様々なメトリックが記憶され得る。
【0117】
一実施形態において、モデルレジストリ1020は、学習された人工知能モデルに対する追加学習を開始するか、学習された人工知能モデルの配布を管理するように構成され得る。
【0118】
一実施形態において、モデルレジストリ1020は、人工知能モデルの評価データを記憶及び管理するように構成され得る。一実施形態において、人工知能モデルに対する評価が終了することに対応し、人工知能モデルに対する評価指標をモデルレジストリ1020に記憶することができる。
【0119】
一実施形態において、モデルレジストリ1020は、人工知能モデルに対するクラスタリング基盤の評価を通じて脆弱部分に対する把握ができるように、クラスタ別評価指標が記憶されるように構成され得る。具体的には、一実施形態において、データ処理装置は、映像データに対する特徴ベクトルを抽出し、特徴ベクトルを1つ以上のクラスタにクラスタリングし、1つ以上のクラスタからサンプリングして評価用データを構成することができる。これにより、データ処理装置は、クラスタリング基盤の人工知能モデル評価を実行することができる。一実施形態において、データ処理装置は、クラスタ別に人工知能モデルの性能を評価することができ、評価の結果を示す評価指標をクラスタ別に計算することができる。一実施形態において、モデルレジストリ1020は、データ処理装置がクラスタ別に計算した評価指標を記憶できるように構成され得る。
【0120】
図11は、一実施形態に係る深度情報推定モデル学習のためのデータ処理方法のフローチャートである。
【0121】
図11に示す深度情報推定モデル学習のためのデータ処理方法は、前述した実施形態に関連するため、以下省略された内容であっても、前述した内容は
図11の方法にも適用され得る。
【0122】
図11に示す動作は、前述した自動運転装置またはデータ処理装置によって実行され得る。具体的には、
図11に示す動作は、前述した自動運転装置またはデータ処理装置に含まれたプロセッサによって実行され得る。
【0123】
ステップ1110で、1つ以上のカメラから収集された映像データをロギングされ得る。
【0124】
一実施形態において、1つ以上のカメラから収集された各映像データは複数の画像を含むことができる。
【0125】
一実施形態において、1つ以上のカメラから収集された各映像データが含む複数の画像は、それぞれ収集された時間情報を示すタイムスタンプを含むことができる。
【0126】
一実施形態において、ステップ1110は、同じタイムスタンプを有する画像をペアリングして記憶するステップを含むことができる。
【0127】
一実施形態において、ユーザに表示するために、ペアリングされた同じタイムスタンプを有する画像単位で表示装置に送信されるステップをさらに含むことができる。
【0128】
一実施形態において、ステップ1110は、1つ以上のカメラから収集された各映像データを慣性計測装置によって測定された慣性情報と組み合わせて記憶することを含むことができる。
【0129】
ステップ1120において、ロギングされたデータをデータベースに送信することができる。
【0130】
ステップ1130において、データベースの映像データに基づいて学習用データを構成することができる。
【0131】
一実施形態において、ステップ1130は、ステレオレクティフィケーション行列を取得し、データベースの映像データに対して取得されたレクティフィケーション行列を適用し、レクティフィケーション行列を適用した結果に基づいて垂直方向視差を検証するステップを含むことができる。
【0132】
一実施形態において、垂直方向視差を検証するステップは、レクティフィケーション行列を適用した後のデータを比較して垂直方向視差数値を計算し、垂直方向視差数値がしきい値より高いことに対応し、ステレオレクティフィケーション行列を再取得するステップを含むことができる。
【0133】
一実施形態において、ステップ1130は、データベースの映像データに対する特徴ベクトルを抽出し、特徴ベクトルを1つ以上のクラスタにクラスタリングし、1つ以上のクラスタから学習用データをサンプリングするステップを含むことができる。
【0134】
一実施形態において、クラスタリングするステップは、事前に収集されたデータを基盤に抽出された事前特徴ベクトルに基づいて1つ以上の基礎クラスタを形成し、1つ以上の基礎クラスタに基づいて各基礎クラスタに対する中心点を抽出し、座標平面に各基礎クラスタに対する中心点をマッピングし、特徴ベクトルを座標平面にマッピングし、特徴ベクトルと各基礎クラスタに対する中心点との間の距離を計算し、特徴ベクトルを最も近い中心点のクラスタにクラスタリングするステップを含むことができる。
【0135】
一実施形態において、学習用データをサンプリングするステップは、1つ以上のクラスタから同じ数のデータをランダムに抽出することであり得る。
【0136】
ステップ1140において、学習用データに基づいてモデルが学習され得る。
【0137】
一実施形態において、データベースの映像データに基づいて評価用データを構成するステップをさらに含むことができる。
【0138】
一実施形態において、評価用データに基づいてモデルを評価するステップをさらに含むことができる。
【0139】
一実施形態において、評価用データを構成するステップ及びモデルを評価するステップは、モデルレジストリに学習されたモデルが更新されることに対応して実行され得る。
【0140】
一実施形態において、モデルを評価するステップは、評価指標を計算するステップを含むことができる。
【0141】
一実施形態において、モデルレジストリに評価指標を記憶させるステップをさらに含むことができる。
【0142】
一実施形態において、評価用データを構成するステップは、データベースの映像データに対する特徴ベクトルを抽出し、特徴ベクトルを1つ以上のクラスタにクラスタリングし、1つ以上のクラスタから評価用データをサンプリングするステップを含むことができ、モデルを評価するステップは、1つ以上のクラスタ別に評価指標を計算するステップを含むことができる。
【0143】
図12は、一実施形態に係る深度情報推定モデル学習のためのデータ処理装置のブロック図である。
【0144】
図12を参照すると、深度情報推定モデル学習のためのデータ処理装置1200は、通信部1210、プロセッサ1220及びDB1230を含むことができる。
図12の深度情報推定モデル学習のためのデータ処理装置1200には、実施形態に関連する構成要素のみが示されている。したがって、
図12に図示された構成要素以外に他の汎用的な構成要素がさらに含まれる可能性があるということを当該技術分野の通常の技術者であれば理解できる。
【0145】
通信部1210は、外部サーバまたは外部装置と有線/無線通信ができるようにする1つ以上の構成要素を含むことができる。例えば、通信部1210は、近距離通信部(図示せず)、移動通信部(図示せず)及び放送受信部(図示せず)のうち少なくとも1つを含むことができる。
【0146】
DB1230は、深度情報推定モデル学習のためのデータ処理装置1200内で処理される各種データを記憶するハードウェアであり、プロセッサ1220の処理及び制御のためのプログラムを記憶することができる。DB1230は決済情報、ユーザ情報などを記憶することができる。
【0147】
DB1230は、DRAM(dynamic random accessmemory)、SRAM(static random accessmemory)などのRAM(random access memory)、ROM(read-only memory)、EEPROM(electrically erasable programmable read-onlymemory)、CD-ROM、ブルーレイまたは他の光学ディスクストレージ、HDD(hard disk drive)、SSD(solid state drive)、またはフラッシュメモリを含むことができる。
【0148】
プロセッサ1220は、深度情報推定モデル学習のためのデータ処理装置1200の全般的な動作を制御する。例えば、プロセッサ1220はDB1230に記憶されたプログラムを実行することで、入力部(図示せず)、ディスプレイ(図示せず)、通信部1210、DB1230などを全般的に制御することができる。プロセッサ1220は、DB1230に記憶されたプログラムを実行することで、深度情報推定モデル学習のためのデータ処理装置1200の動作を制御することができる。
【0149】
プロセッサ1220は、
図1~
図11で上述した深度情報推定モデル学習のためのデータ処理装置の動作のうち少なくとも一部を制御することができる。
【0150】
プロセッサ1220は、ASICs(application specific integrated circuits)、DSPs(digital signal processors)、DSPDs(digital signal processing devices)、PLDs(programmable logic devices)、FPGAs(field programmable gate arrays)、制御機(controllers)、マイクロコントローラ(micro-controllers)、マイクロプロセッサ(microprocessors)、その他の機能実行のための電気的ユニットのうち少なくとも一つを利用して具現され得る。
【0151】
一実施形態として、深度情報推定モデル学習のためのデータ処理装置1200は、移動性を有する電子装置であり得る。例えば、深度情報推定モデル学習のためのデータ処理装置1200は、スマートフォン、タブレットPC、PC、スマートTV、PDA(personal digital assistant)、ラップトップ、メディアプレーヤー、ナビゲーション、カメラが搭載されたデバイス及び他のモバイル電子装置で具現され得る。また、深度情報推定モデル学習のためのデータ処理装置1200は、通信機能及びデータプロセッシング機能を備えた時計、眼鏡、ヘアバンド及び指輪などのウェアラブル装置で具現され得る。
【0152】
別の実施形態として、深度情報推定モデル学習のためのデータ処理装置1200は、車両内に組み込まれる電子装置であってもよい。例えば、深度情報推定モデル学習のためのデータ処理装置1200は、製造過程後にチューニング(tuning)で車両内に挿入される電子装置であってもよい。
【0153】
また別の実施形態として、深度情報推定モデル学習のためのデータ処理装置1200は、車両の外部に位置するサーバであってもよい。サーバはネットワークを介して通信し、命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置で具現され得る。サーバは車両に搭載された装置から車両の移動経路を決定するために必要なデータを受信し、受信したデータに基づいて車両の移動経路を決定することができる。
【0154】
また別の実施形態として、深度情報推定モデル学習のためのデータ処理装置1200で実行されるプロセスは、移動性を有する電子装置、車両内に組み込まれる電子装置及び車両の外部に位置するサーバのうち少なくとも一部によって実行されてもよい。
【0155】
本発明に係る実施形態は、コンピュータ上で様々な構成要素を介して実行することができるコンピュータプログラムの形態で実装され得、そのようなコンピュータプログラムはコンピュータで読み取り可能な媒体に記録され得る。このとき、媒体は、ハードディスク、フロッピーディスク及び磁気テープなどの磁気媒体、CD-ROM及びDVDなどの光記録媒体、フロプティカルディスク(floptical disk)などの光磁気記録媒体(magneto-optical medium)、及びROM、RAM、フラッシュメモリなどのようなプログラム命令語を記憶及び実行するように特別に構成されたハードウェア装置を含むことができる。
【0156】
一方、前記コンピュータプログラムは、本発明のために特別に設計及び構成されているか、コンピュータソフトウェア分野の当業者に公知され使用可能なものであることができる。コンピュータプログラムの例には、コンパイラによって作成されるような機械語コードだけでなく、インタプリタなどを使用し、コンピュータによって実行され得る高級言語コードも含まれ得る。
【0157】
一実施形態によれば、本開示の様々な実施形態に係る方法は、コンピュータプログラム製品(computer program product)に含まれて提供され得る。コンピュータプログラム製品は、商品として販売者及び購入者の間で取引され得る。コンピュータプログラム製品は、デバイスで読み取り可能な記憶媒体(例えば、compact disc read only memory (CD-ROM))の形態で配布されるか、またはアプリケーションストア(例えば、プレイストア(商標))を介して、または2つのユーザ装置間で直接、オンラインで配布(例えば、ダウンロードまたはアップロード)され得る。オンライン配布の場合、コンピュータプログラム製品の少なくとも一部は、製造元のサーバ、アプリケーションストアのサーバ、または中継サーバのメモリなどの機器で読み取ることができる記憶媒体に少なくとも一時的に記憶されるか、一時的に生成されてもよい。
【0158】
本発明に係る方法を構成するステップについて明らかに順序を記載したり反したりする記載がない場合、前記ステップは適当な順序で行われ得る。必ずしも前記ステップの記載順序に従って本発明が限定されるものではない。本発明において、すべての例または例示的な用語(例えば、等)の使用は、単に本発明を詳細に説明するためのものであり、特許請求の範囲によって限定されない限り、前記の例または例示的な用語によって本発明の範囲が限定されるものではない。さらに、当業者は、様々な修正、組み合わせ及び変更が追加された特許請求の範囲またはその均等物の範囲内で設計条件及び要因によって構成され得ることを理解するであろう。
【0159】
したがって、本発明の思想は、前記説明した実施形態に限定されて決められてはならず、後述する特許請求の範囲のみならず、この特許請求の範囲と均等またはこれから等価的に変更された全ての範囲は、本発明の思想の範疇に属するといえるだろう。