JP2023065296A - 平面検出装置及び方法 - Google Patents
平面検出装置及び方法 Download PDFInfo
- Publication number
- JP2023065296A JP2023065296A JP2022115416A JP2022115416A JP2023065296A JP 2023065296 A JP2023065296 A JP 2023065296A JP 2022115416 A JP2022115416 A JP 2022115416A JP 2022115416 A JP2022115416 A JP 2022115416A JP 2023065296 A JP2023065296 A JP 2023065296A
- Authority
- JP
- Japan
- Prior art keywords
- image
- pixel
- plane
- network
- segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/758—Involving statistics of pixels or of feature values, e.g. histogram matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20224—Image subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20228—Disparity calculation for image-based rendering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
【課題】平面検出装置及び方法を提供する。【解決手段】一実施形態に係る平面検出方法は、入力映像のピクセルごとの平面パラメータを取得するステップと、入力映像のピクセルごとのセグメント対応確率を推定するステップと、ピクセルごとの平面パラメータ及びピクセルごとのセグメント対応確率に基づいてセグメントごとの平面パラメータを取得するステップと、セグメントごとの平面パラメータに基づいて入力映像に含まれている平面を検出するステップとを含む。【選択図】図1
Description
以下の開示は、平面検出装置及び方法に関する。
平面は映像で重要な幾何学的な特徴として、映像の平面検出技術は、場面の理解、映像の再構築、物体認識などの様々なコンピュータビジョン分野で活用される技術である。映像において、平面を検出するために映像の深度情報に基づいた様々な方法が開発されており、ディープラーニング技術の発達に伴ってニューラルネットワークを用いて映像から平面を検出する方法も多様に開発されている。映像に対応する深度情報、法線ベクトル又は平面に対する正解ラベルが含まれている学習データを用いて、地図学習方式を介して平面検出のためのニューラルネットワークを実現できるが、正解ラベルが含まれている映像データを取得することに困難があり、正解ラベルのない実際の環境に適用するためには明らかな限界がある。
実施形態の目的は、正解データなしに、教師なし学習方法で学習されたニューラルネットワークを用いて映像から平面を検出する技術を提供することにある。
実施形態の目的は、正解データなしに映像の深度を推定し、推定された深度情報を用いて映像を平面単位で分割するためのニューラルネットワーク学習方法を提供することにある。
一実施形態に係る平面検出方法は、第1ネットワークで推定された入力映像のピクセルごとの視差に基づいて、前記入力映像のピクセルごとの平面パラメータを取得するステップと、映像のセグメンテーションを行うように学習された第2ネットワークに基づいて、前記入力映像のピクセルごとのセグメント対応確率を決定するステップと、前記ピクセルごとの平面パラメータ及び前記ピクセルごとのセグメント対応確率に基づいて、セグメントごとの平面パラメータを取得するステップと、前記セグメントごとの平面パラメータに基づいて、前記入力映像に含まれている平面を検出するステップとを含む。
前記入力映像に含まれている平面を検出するステップは、前記ピクセルごとのセグメント対応確率に基づいて、ピクセルごとのセグメントクラスタリング情報を取得するステップと、前記セグメントごとの平面パラメータ及び前記ピクセルごとのセグメントクラスタリング情報に基づいて、前記入力映像に含まれている平面を検出するステップとを含むことができる。
前記セグメントごとの平面パラメータを取得するステップは、前記第2ネットワークに基づいた前記入力映像内のセグメントそれぞれに対応し、該当セグメントに対応する前記ピクセルごとのセグメント対応確率に基づいて、前記ピクセルごとの平面パラメータを加重和するステップと、前記加重和された平面パラメータに基づいて、前記該当セグメントに対応する平面パラメータを取得するステップとを含むことができる。
前記第1ネットワーク及び前記第2ネットワークは、前記第2ネットワークに基づいてクラスタリングされた各セグメントに対応する平面パラメータの確率分布に基づいて算出された、各ピクセルが各セグメントに対応する確率で定義される尤度に関する第1ロスと、第1映像に対応し、前記第1ネットワークで推定された視差に基づいて前記第1映像に対応する第2映像を変換した映像と前記第1映像との差に関する第2ロスのうち少なくとも1つに基づいて学習されることができる。
前記ピクセルごとの平面パラメータを取得するステップは、前記第1ネットワークに基づいて、前記入力映像のピクセルごとの視差を決定するステップと、前記入力映像を撮影したカメラの内部パラメータに基づいて、前記ピクセルごとの視差から法線ベクトル及び距離情報を含む前記ピクセルごとの平面パラメータを取得するステップとを含むことができる。
一実施形態に係る平面検出モデルの学習方法は、学習データに含まれている第1映像を第1ネットワークに印加して取得された前記第1映像のピクセルごとの視差に基づいて、前記第1映像のピクセルごとの平面パラメータを取得するステップと、前記第1映像を第2ネットワークに印加し、前記第1映像のピクセルごとのセグメント対応確率を決定するステップと、前記第1映像のピクセルごとの平面パラメータ及び前記第1映像のピクセルごとのセグメント対応確率に基づいて算出された、前記第1映像の各ピクセルが各セグメントに対応する確率で定義される尤度に関する第1ロスに基づいて、前記第1ネットワーク及び前記第2ネットワークを学習させるステップとを含む。
前記第1映像の各ピクセルが各セグメントに対応する確率は、複数のセグメントそれぞれに対応する平面パラメータに関する確率分布及び前記ピクセルごとの平面パラメータに基づいて算出されることができる。
前記複数のセグメントそれぞれに対応する平面パラメータに関する確率分布は、前記ピクセルごとのセグメント対応確率及び前記ピクセルごとの平面パラメータに基づいて算出された前記セグメントそれぞれに対応する平面パラメータの代表値と、前記ピクセルごとのセグメント対応確率、前記ピクセルごとの平面パラメータ、及び前記セグメントそれぞれに対応する平面パラメータの代表値に基づいて算出された、前記セグメントそれぞれに対応する平面パラメータの分散とを含むことができる。
前記第1ネットワーク及び前記第2ネットワークを学習させるステップは、前記第1ネットワークで前記第1映像に対応して推定された深度に基づいて、前記第1映像と異なる視点で撮影された第2映像を変換するステップと、前記第2映像の変換された映像と前記第1映像との差に関する第2ロス及び前記第1ロスに基づいて、前記第1ネットワーク及び前記第2ネットワークを学習させるステップとを含むことができる。
前記学習データは、ステレオ映像の第1単眼映像である前記第1映像及び前記ステレオ映像の第2単眼映像である第2映像と、ビデオ映像の第1フレームである前記第1映像及び前記ビデオ映像の第2フレームである第2映像のうち少なくとも1つを含むことができる。
前記ピクセルごとの平面パラメータを取得するステップは、前記第1映像を前記第1ネットワークに印加し、前記第1映像のピクセルごとの視差を決定するステップと、前記第1映像を撮影したカメラの内部パラメータに基づいて、前記ピクセルごとの視差から法線ベクトル及び距離情報を含む前記ピクセルごとの平面パラメータを取得するステップとを含むことができる。
一実施形態に係る平面検出装置は、第1ネットワークで推定された入力映像のピクセルごとの視差に基づいて、前記入力映像のピクセルごとの平面パラメータを取得し、映像のセグメンテーションを行うように学習された第2ネットワークに基づいて、前記入力映像のピクセルごとのセグメント対応確率を決定し、前記ピクセルごとの平面パラメータ及び前記ピクセルごとのセグメント対応確率に基づいて、セグメントごとの平面パラメータを取得し、前記セグメントごとの平面パラメータに基づいて、前記入力映像に含まれている平面を検出する少なくとも1つのプロセッサを含む。
前記プロセッサは、前記入力映像に含まれている平面を検出することにおいて、前記ピクセルごとのセグメント対応確率に基づいて、ピクセルごとのセグメントクラスタリング情報を取得し、前記セグメントごとの平面パラメータ及び前記ピクセルごとのセグメントクラスタリング情報に基づいて、前記入力映像に含まれている平面を検出することができる。
前記プロセッサは、前記セグメントごとの平面パラメータを取得することにおいて、前記第2ネットワークに基づいた前記入力映像内のセグメントそれぞれに対応し、該当セグメントに対応する前記ピクセルごとのセグメント対応確率に基づいて、前記ピクセルごとの平面パラメータを加重和し、前記加重和された平面パラメータに基づいて、前記該当セグメントに対応する平面パラメータを取得することができる。
前記第1ネットワーク及び前記第2ネットワークは、前記第2ネットワークに基づいてクラスタリングされた各セグメントに対応する平面パラメータの確率分布に基づいて算出された、各ピクセルが各セグメントに対応する確率で定義される尤度に関する第1ロスと、第1映像に対応し、前記第1ネットワークで推定された視差に基づいて前記第1映像に対応する第2映像を変換した映像と前記第1映像との差に関する第2ロスのうち少なくとも1つに基づいて学習されることができる。
前記プロセッサは、前記ピクセルごとの平面パラメータを取得することにおいて、前記第1ネットワークに基づいて、前記入力映像のピクセルごとの視差を決定し、前記入力映像を撮影したカメラの内部パラメータに基づいて、前記ピクセルごとの視差から法線ベクトル及び距離情報を含む前記ピクセルごとの平面パラメータを取得することができる。
一実施形態に係る平面検出装置は、入力された映像の視差を推定する第1ネットワーク及び入力された映像のセグメンテーションを行う第2ネットワークを含む平面検出モデルが記録されたメモリを含み、前記平面検出モデルは、学習データに含まれている第1映像を第1ネットワークに印加して取得された前記第1映像のピクセルごとの視差に基づいて、前記第1映像のピクセルごとの平面パラメータを取得するステップと、前記第1映像を第2ネットワークに印加し、前記第1映像のピクセルごとのセグメント対応確率を決定するステップと、前記第1映像のピクセルごとの平面パラメータ及び前記第1映像のピクセルごとのセグメント対応確率に基づいて算出された、前記第1映像の各ピクセルが各セグメントに対応する確率で定義される尤度に関する第1ロスに基づいて、前記第1ネットワーク及び前記第2ネットワークを学習させるステップとを含む、前記平面検出モデルの学習方法により製造される。
前記平面検出モデルの学習方法に含まれている前記第1ネットワーク及び前記第2ネットワークを学習させるステップは、前記第1ネットワークで前記第1映像に対応して推定された深度に基づいて、前記第1映像と異なる視点で撮影された第2映像を変換するステップと、前記第2映像の変換された映像と前記第1映像との差に関する第2ロス及び前記第1ロスに基づいて、前記第1ネットワーク及び前記第2ネットワークを学習させるステップとを含むことができる。
入力映像を前記第1ネットワークに印加し、前記第1ネットワークで推定された前記入力映像のピクセルごとの視差に基づいて、前記入力映像のピクセルごとの平面パラメータを取得し、前記入力映像を前記第2ネットワークに印加し、前記第2ネットワークで推定された前記入力映像のピクセルごとのセグメント対応確率を取得し、前記ピクセルごとの平面パラメータ及び前記ピクセルごとのセグメント対応確率に基づいて、セグメントごとの平面パラメータを取得し、前記セグメントごとの平面パラメータに基づいて、前記入力映像に含まれている平面を検出する少なくとも1つのプロセッサをさらに含む。
本発明によると、正解データなしに、教師なし学習方法で学習されたニューラルネットワークを用いて、映像から平面を検出する技術を提供することができる。
本発明によると、正解データなしに映像の深度を推定し、推定された深度情報を用いて映像を平面単位で分割するためのニューラルネットワーク学習方法を提供することができる。
以下、添付する図面を参照しながら実施形態を詳細に説明する。添付図面を参照して説明することにおいて、図面符号に関係なく、同じ構成要素には同じ参照符号を付与し、これに対する重複する説明は省略する
図1は、一実施形態に係る平面検出方法の動作フローチャートである。図1の動作は、図1に示したような順序及び方式で行うことができるが、説明された実施形態の思想及び範囲を超えることなく、一部動作の順序が変更されたり一部動作が省略されてもよい。図1に示された複数の動作は、並列又は同時に実行されてもよい。図1に示す1つ以上のブロック及びブロックの組み合せは、特定機能を行うプロセッサのような特定目的のハードウェア基盤のコンピュータ、又は特定目的のハードウェアとコンピュータ命令の組み合せで実現することができる。
図1は、一実施形態に係る平面検出方法の動作フローチャートである。図1の動作は、図1に示したような順序及び方式で行うことができるが、説明された実施形態の思想及び範囲を超えることなく、一部動作の順序が変更されたり一部動作が省略されてもよい。図1に示された複数の動作は、並列又は同時に実行されてもよい。図1に示す1つ以上のブロック及びブロックの組み合せは、特定機能を行うプロセッサのような特定目的のハードウェア基盤のコンピュータ、又は特定目的のハードウェアとコンピュータ命令の組み合せで実現することができる。
図1を参照すると、一実施形態による平面検出方法は、入力映像のピクセルごとの平面パラメータを取得するステップS110、入力映像のピクセルごとのセグメント対応確率を推定又は決定するステップS120、セグメントごとの平面パラメータを取得するステップS130、及び入力映像に含まれている平面を検出するステップS140を含む。
平面を検出することは、映像に含まれているオブジェクトをなしている互いに異なる平面又は面を検出することを意味する。検出対象となる平面は、数学的定義による全ての地点における曲率が0である完全な平面のみならず、ある程度の曲率又は屈曲を有する平面に類似の面を含んでもよい。例えば、図2を参照すると、底面に置かれている直六面体を被写体として含むイメージ200の場合、平面検出により底面に対応する平面210、オブジェクトを構成している第1平面220、オブジェクトを構成している第2平面230、及びオブジェクトを構成している第3平面240が検出されることができる。
一実施形態に係るステップS110は、第1ネットワークで推定された入力映像のピクセルごとの視差(disparity)に基づいて、入力映像のピクセルごとの平面パラメータを取得するステップを含む。
一実施形態によれば、第1ネットワークは、入力映像の視差又は深度を推定するように学習されたニューラルネットワークを含む。入力映像は、単眼映像(monocular image)を含む。単眼映像は、1つの視点で撮影された映像として、深度情報又は視差情報が含まれていない映像である。言い換えれば、第1ネットワークは、深度情報を含まない単眼映像が入力され、映像の視差又は深度を推定するように学習されたニューラルネットワークを含むことができる。
映像の深度は、映像を構成しているピクセルに投射された被写体と映像を撮影したカメラとの間の距離に対応し、任意のベースライン(base line)の距離をおいて配置されている2つのカメラを介して撮影された2つ映像における被写体間の距離の差である視差(disparity)から取得されることができる。深度rは、視差dとカメラレンズの焦点距離f及びベースラインbから下記の数式(1)のように算出されることができる。
一実施形態に係る平面パラメータは、平面を特定するためのパラメータとして、例えば、平面の法線ベクトル及び基準点からの距離情報を含む。例えば、カメラの位置を原点にする3次元の座標系において、ax+by+cz+d=0に対応する平面を特定するための平面パラメータは、法線ベクトル(a、b、c)と原点との距離情報に対応するdを含むベクトル[a、b、c、d]を含む。
一実施形態によれば、ピクセルごとの平面パラメータは、映像に含まれている各ピクセルの平面パラメータとして、ピクセルが属する平面の法線ベクトル及び基準点からの距離情報を含む。
一実施形態によれば、ピクセルごとの平面パラメータを取得するステップS110は、第1ネットワークに基づいて入力映像のピクセルごとの視差を推定するステップ、及び入力映像を撮影したカメラの内部パラメータに基づいてピクセルごとの視差から法線ベクトル及び距離情報を含むピクセルごとの平面パラメータを取得するステップを含む。カメラの内部パラメータは、カメラの内部設定に関する値として、例えば、カメラレンズの焦点距離及びベースライン値を含む。
一実施形態によれば、第1ネットワークで推定されたピクセルの視差とカメラの内部パラメータを用いてピクセルの3Dポイントクラウドが算出され、ポイントクラウドからピクセルごとの法線ベクトル及び基準点からの距離を算出することができる。言い換えれば、ピクセルごとの平面パラメータは、第1ネットワークで推定されたピクセルごとの視差及びカメラの内部パラメータから算出を介して取得されることができる。
一実施形態に係るステップS120は、映像のセグメンテーション(segmentation)を行うように学習された第2ネットワークに基づいて、入力映像のピクセルごとのセグメント対応確率を推定するステップを含む。
一実施形態によれば、第2ネットワークは、入力された映像のセグメンテーションを行うように学習されたニューラルネットワークを含むことができる。セグメンテーションは、映像のピクセルを複数のグループにクラスタリング(clustering)することを意味する。セグメンテーションによってクラスタリングされたピクセルのグループ又はクラスタ(cluster)は、セグメントのように称される。
一実施形態によれば、第2ネットワークは、同じ平面に属する映像のピクセルを同じセグメントにクラスタリングするよう学習されたニューラルネットワークを含む。以下で説明するが、第2ネットワークは、映像のピクセルのセグメントに対する正解データなしに第1ネットワークに基づいて取得されたピクセルごとの平面パラメータの値及び第2ネットワークの出力に基づいて、ピクセルを同じ平面に属するセグメントでクラスタリングするよう学習されることができる。また、第2ネットワークは、第1ネットワークに基づいて取得されたピクセルごとの平面パラメータの値にピクセルごとの追加情報が付加されたデータ及び第2ネットワークの出力に基づいて、ピクセルを同じ平面に属するセグメントでクラスタリングするように学習されることができる。
一実施形態によれば、第2ネットワークは、入力映像のピクセルごとのセグメント対応確率を出力することができる。特定ピクセルのセグメント対応確率は、セグメントそれぞれに対応して該当ピクセルが該当セグメントに対応する確率又は該当セグメントでクラスタリングされる確率を含む。セグメントの個数は、任意の値に決定されてもよい。例えば、セグメントの個数がK個に決定された場合、特定ピクセルnのセグメント対応確率γnは、ピクセルnがK個のセグメントそれぞれに対応する確率を含む集合
一実施形態によれば、平面パラメータ値が類似の2つのピクセルは、対応する確率の高いセグメントの種類が同一である。言い換えれば、同じ平面に属する複数のピクセルは、該当平面に該当するセグメントに対応する確率が高く示される。
一実施形態によれば、第1ネットワーク及び第2ネットワークの少なくとも1つは、第1ロス及び第2ロスのうち少なくとも1つに基づいて学習されることができる。第1ロスは、第2ネットワークに基づいてクラスタリングされた各セグメントに対応する平面パラメータの確率分布に基づいて算出された、各ピクセルが各セグメントに対応する確率として定義される尤度(likelihood)に関するロスを含む。第2ロスは、第1映像に対応して第1ネットワークで推定された視差に基づいて、第1映像に対応する第2映像を変換した映像及び第1映像の差に関するロスを含む。一実施形態に係る第1ネットワーク及び第2ネットワークの学習方法については以下で説明する。
一実施形態に係るステップS130は、ピクセルごとの平面パラメータ及びピクセルごとのセグメント対応確率に基づいて、セグメントごとの平面パラメータを取得するステップを含む。
一実施形態によれば、セグメントごとの平面パラメータを取得するステップS130は、第2ネットワークに基づいた入力映像内のセグメントそれぞれに対応し、該当セグメントに対応するピクセルごとのセグメント対応確率に基づいて、ピクセルごとの平面パラメータを加重和するステップ及び加重和された平面パラメータに基づいて、該当セグメントに対応する平面パラメータを取得するステップを含むことができる。
一実施形態によると、ピクセルごとの平面パラメータを加重和するステップは、ピクセルの特定セグメントに対応する確率を加重値にし、ピクセルの平面パラメータを加重和するステップを含む。例えば、下記の数式(2)のように、すべてのピクセルそれぞれの平面パラメータにセグメントkに対応する確率を乗算して合わせた値が、セグメントkの平面パラメータykとして取得される。
一実施形態によれば、セグメントごとの平面パラメータを正規化するために、数式(1)によるykに1/Nkを乗算した値をセグメントkの平面パラメータとして利用する。Nkは、下記の数式(3)のように定義されることができる。
一例として、特定セグメントの平面パラメータは、セグメント対応確率のうち該当セグメントに対応する確率が最大であるピクセルの平面パラメータの単純和又は加重和に決定されてもよい。言い換えれば、
また、一例として、特定セグメントの平面パラメータは、該当セグメントに対応する確率が閾値以上のピクセルの平面パラメータの加重和に決定されてもよい。例えば、閾値が0.5である場合、
一実施形態に係るステップS140は、セグメントごとの平面パラメータに基づいて、入力映像に含まれている平面を検出するステップを含む。セグメントごとの平面パラメータに基づいて、入力映像で各セグメントに対応する平面が検出され得る。セグメントごとの平面パラメータは、各セグメントに対応する平面を特定するための情報を含み、例えば、各セグメントに対応する平面の法線ベクトル及び基準点との距離情報を含む。言い換えれば、セグメントごとの平面パラメータによって入力映像で各セグメントに対応する平面が特定され得る。
一実施形態によれば、入力映像に含まれている平面を検出するステップS140は、入力映像のピクセルごとのセグメント対応確率に基づいて、ピクセルごとのセグメントクラスタリング情報を取得するステップと、セグメントごとの平面パラメータ及びピクセルごとのセグメントクラスタリング情報に基づいて、入力映像に含まれている平面を検出するステップを含む。ピクセルごとのセグメントクラスタリング情報は、各ピクセルに対応するセグメントを指示する情報を含む。ピクセルのセグメントクラスタリング情報は、該当ピクセルのセグメント対応確率に基づいて、該当ピクセルが対応する確率が最も大きいセグメントを指示する情報を含む。例えば、特定ピクセルnのセグメント対応確率
図3は、一実施形態に係る平面検出モデルのフレームワークを例示する図である。
図3を参照すると、一実施形態に係る平面検出モデル300は、映像が入力されてセグメント平面パラメータ及びセグメントクラスタリング情報を平面検出の結果として出力するモデルであって、図1を参照して上述した平面検出方法の動作を行うモデルに該当する。上述したように、入力される映像は単眼映像を含む。
一実施形態に係る平面検出モデル300は、深度推定モジュール310、セグメンテーションモジュール320、代表平面パラメータ算出モジュール330、及びセグメント選択モジュール340を含む。平面検出モデル300に含まれているモジュール310~340は、説明の便宜のために平面検出モデル300で実行される論理的動作に応じて任意に区分したもので、平面検出モデル300の構造を限定するものではない。一例として、平面検出モデル300は装置として実現されてもよく、装置の少なくとも1つのプロセッサで平面検出モデル300の動作を行うことができる。平面検出モデルが具現された装置の具体的な構成については、以下で説明する。
一実施形態によれば、深度推定モジュール310は、映像が入力され、入力された映像のピクセルごとの平面パラメータを出力するモジュールである。上述したように、ピクセルの平面パラメータは、ピクセルに対応する平面を特定するためのパラメータとして、ピクセルに対応する平面の法線ベクトル及び基準点からの距離情報を含む。深度推定モジュール310は、入力された映像のピクセルごとの視差を推定するニューラルネットワークである第1ネットワークを含み、第1ネットワークで出力された視差に基づいてピクセルごとの平面パラメータを算出するモジュールを含む。深度推定モジュール310は、第1ネットワークで推定された映像のピクセルごとの視差、及び入力された映像を撮影したカメラの内部パラメータに基づいて各ピクセルのポイントクラウドを算出し、各ポイントで隣接したポイントとの関係を考慮して法線ベクトル及び基準点からの距離を算出する動作を行うことができる。
一実施形態によると、セグメンテーションモジュール320は映像が入力され、入力された映像のピクセルごとのセグメント対応確率を出力するモジュールである。セグメンテーションモジュール320は、映像が入力され、入力された映像のピクセルごとのセグメント対応確率を出力するよう学習された第2ネットワークを含む。上述のように、ピクセルのセグメント対応確率はセグメントそれぞれに対応し、当該ピクセルが当該セグメントに対応する確率又は当該セグメントにクラスタリングされる確率を含む。セグメンテーションモジュール320は、入力された映像の各ピクセルごとの特定セグメントに対応する確率を算出する動作を行うことができる。
一実施形態によれば、代表平面パラメータ算出モジュール330は、ピクセルごとの平面パラメータ及びピクセルごとのセグメントの対応確率が入力され、セグメントごとの平面パラメータを出力するモジュールである。代表平面パラメータ算出モジュール330は、深度推定モジュール310及びセグメンテーションモジュール320で出力された結果を用いて、第2ネットワークに基づいた前記入力映像内のセグメントごとに、各セグメントに対応するピクセルの平面パラメータの代表値を算出する動作を行う。例えば、上述したように、特定セグメントの平面パラメータは、ピクセルの該当セグメントに対応する確率を加重値にし、ピクセルの平面パラメータを加重和した値に決定され、又は、セグメント対応確率のうち該当セグメントに対応する確率が最大であるピクセルの平面パラメータの単純和又は加重和に決定されてもよい。
一実施形態によれば、セグメント選択モジュール340は、ピクセルごとのセグメント対応確率が入力され、セグメンテーションの結果としてピクセルごとのセグメントクラスタリング情報を出力するモジュールである。セグメント選択モジュール340は、ピクセルごとの各セグメントに属する確率の最大値に対応するセグメントを指示する情報を該当ピクセルのセグメントクラスタリング情報として出力することができる。セグメント選択モジュール340は、マックス(max)関数を含んでもよく、入力されたピクセルごとのセグメント対応確率で最大値を抽出し、最大値に対応するセグメントを指示する情報を出力するように動作することができる。
図4は、一実施形態に係る平面検出モデルの学習方法の動作フローチャートである。図4の動作は、図4に示したような順序及び方式で実行され得るが、説明された実施形態の思想及び範囲を超過することなく、一部動作の順序が変更されたり一部動作が省略されてもよい。図4に示された複数の動作は、並列的又は同時に実行されてもよい。図4に示す1つ以上のブロック及びブロックの組み合せは、特定機能を行うプロセッサのような特定目的のハードウェア基盤コンピュータ又は特定目的のハードウェアとコンピュータ命令の組み合せで実現し得る。以下、図4に対する説明に加えて、図1~図3の説明は図4に対しても適用可能であり、図4に対する説明に参照として含まれてもよい。従って、以下の図4に対する説明において、上記の説明を繰り返すことはない。
一実施形態によれば、平面検出モデルは、図3を参照して上述した平面検出モデル300に対応する。より具体的に、平面検出モデルの学習方法は、平面検出モデルに含まれているニューラルネットワークの学習方法に該当し、上述したように、平面検出モデルに含まれているニューラルネットワークは、第1ネットワーク及び第2ネットワークを含む。
図4を参照すると、一実施形態に係る平面検出モデルの学習方法は、第1映像のピクセルごとの平面パラメータを取得するステップS410、第1映像のピクセルごとのセグメント対応確率を推定するステップS420、及び第1ロスに基づいて、第1ネットワーク及び第2ネットワークを学習させるステップS430を含む。
一実施形態によれば、学習データはステレオ映像(stereo image)の第1単眼映像である第1映像、及びステレオ映像の第2単眼映像である第2映像を含む。例えば、第1映像がステレオ映像の左側単眼映像である場合、第2映像は、同じステレオ映像の右側単眼映像である。
一実施形態によると、学習データは、ビデオ映像の第1フレームである第1映像及びビデオ映像の第2フレームである第2映像を含むことができる。言い換えれば、第1映像及び第2映像は、同じビデオ映像の互いに異なるフレームに対応するイメージである。
一実施形態に係るステップS410は、学習データに含まれている第1映像を第1ネットワークに印加して取得された第1映像のピクセルごとの視差に基づいて、第1映像のピクセルごとの平面パラメータを取得するステップを含む。一実施形態に係るステップS410は、上述した図1に示すステップS110に対応し、図3に示す深度推定モジュール310で実行される動作に対応する。
一実施形態に係るピクセルごとの平面パラメータを取得するステップS410は、第1映像を第1ネットワークに印加し、第1映像のピクセルごとの視差を推定するステップと、第1映像を撮影したカメラの内部パラメータに基づいて、ピクセルごとの視差から法線ベクトル及び距離情報を含むピクセルごとの平面パラメータを取得するステップを含む。
一実施形態に係るステップS420は、第1映像を第2ネットワークに印加し、第1映像のピクセルごとのセグメント対応確率を推定するステップを含む。一実施形態に係るステップS420は、上述した図1に示すステップS120に対応し、図3に示すセグメンテーションモジュール320で実行される動作に対応する。
一実施形態に係るステップS430は、第1映像のピクセルごとの平面パラメータ及び第1映像のピクセルごとのセグメント対応確率に基づいて算出された、第1映像の各ピクセルが各セグメントに対応する確率として定義される尤度(likelihood)に関する第1ロスに基づいて、第1ネットワーク及び前記第2ネットワークを学習させるステップを含む。
一実施形態によれば、第1ロスは、クラスタリングのための教師なし学習方式で使用される尤度ロスである。第1ネットワーク及び第2ネットワークは、第1ロスに基づいて教師なし学習(unsupervised learning)方式で学習されることができる。
一実施形態に係る尤度は、第1映像の各ピクセルが各セグメントに対応する確率として定義され、第1映像の各ピクセルが各セグメントに対応する確率は、任意の数のセグメントそれぞれに対応する平面パラメータに関する確率分布及びピクセルごとの平面パラメータに基づいて算出されることができる。第2ネットワークに関してセグメンテーションの実行によってクラスタリングされるセグメントの個数は、任意の値に設定されてもよい。
一実施形態によれば、セグメントそれぞれに対応する平面パラメータに関する確率分布は、セグメントそれぞれに対応する平面パラメータの代表値及びセグメントそれぞれに対応する平面パラメータの分散を含む。セグメントそれぞれに対応する平面パラメータの代表値は、ピクセルごとのセグメント対応確率及びピクセルごとの平面パラメータに基づいて算出される。セグメントそれぞれに対応する平面パラメータの分散は、セグメントそれぞれに対応する平面パラメータの代表値及びピクセルごとのセグメント対応確率、ピクセルごとの平面パラメータ及びセグメントそれぞれに対応する平面パラメータの代表値に基づいて算出されてもよい。
一実施形態によれば、第1映像の各ピクセルが各セグメントに対応する確率である尤度は、ピクセルごとの平面パラメータにピクセルごとの追加情報が付加されたデータ、及び任意の数のセグメントそれぞれに対応するピクセルごとの平面パラメータ及び追加情報に関する確率分布に基づいて算出されることができる。ピクセルごとの平面パラメータにピクセルごとの追加情報が付加されたデータは、ピクセルごとの平面パラメータにピクセルごとのから抽出されたピクセルに関する情報を位置エンコーディング(positional encoding)のような方式を用いて付加したデータを含む。ピクセルごとの追加情報は、例えば、ピクセルごとの映像内座標値、ピクセルごとのディープラーニングモデルによって抽出された特性のようなピクセルごとに抽出可能なピクセルに関する様々な形態の情報を含む。
例えば、尤度は、ピクセルごとの平面パラメータ[a、b、c、d]にピクセルごとの映像内座標値(x、y)を付加したデータ[a、b、c、d、x、y]に基づいて取得されることができる。この場合、各セグメントに対応するピクセルの座標値の代表値がさらに定義され、これに基づいた新しい尤度が算出される。言い換えれば、ピクセルごとの平面パラメータの類似度だけでなく、ピクセルごとの座標値の類似度まで反映して尤度に関する第1ロスが算出されることができる。第1ロスに関しては、以下で具体的に説明する。
一実施形態によれば、第1ネットワーク及び前記第2ネットワークを学習させるステップS430は、第1ロス及び第2ロスに基づいて第1ネットワーク及び第2ネットワークを学習させるステップを含む。例えば、第1ロス及び第2ロスの和が減少するよう、第1ネットワーク及び第2ネットワークの加重値がアップデートされることができる。
一実施形態によれば、第2ロスは、第1映像に対応して第1ネットワークで推定された視差に基づいて、第1映像に対応する第2映像を変換した映像及び第1映像の差に関するロスである。言い換えれば、第1ネットワーク及び前記第2ネットワークを学習させるステップS430は、第1ネットワークで第1映像に対応して推定された深度に基づいて、第1映像とは異なる視点で撮影された第2映像を変換するステップ及び変換された映像と第1映像との差に関する第2ロス及び第1ロスに基づいて、第1ネットワーク及び前記第2ネットワークを学習させるステップを含む。第2ロスに関しては、以下でより具体的に説明する。
図5は、一実施形態に係る平面検出モデルの学習のためのロスを説明するための図である。
図5を参照すると、第1ロス530は、第1ネットワーク510の出力である映像のピクセルごとの視差511で取得されたピクセルごとの平面パラメータ512、及び第2ネットワーク520の出力であるピクセルごとのセグメント対応確率521に基づいて定義される。上述したように、第1ロス530は、ピクセルごとの平面パラメータ512にピクセルごとの追加情報が付加されたデータに基づいて定義されるが、以下では、説明の便宜のためにピクセルごとの平面パラメータ512に基づいて第1ロスが定義される場合を例に挙げて説明する。
例えば、第1ロス530は、各セグメントに対応するピクセルの平面パラメータがガウシアン分布によるものと仮定し、各ピクセルが各セグメントに対応する確率として定義された尤度に基づいて決定することができる。尤度は、下記の数式(4)のように定義される。
言い換えれば、各セグメントに対応する平面パラメータがガウス分布によるものと仮定するとき、各セグメントに対応する平面パラメータの平均と分散に基づいて、各ピクセルの平面パラメータ値により各セグメントに対応する確率が算出されることができる。
一実施形態によれば、第1ロス530は、尤度が大きいほど小さく定義され、第1ネットワーク510及び第2ネットワーク520は、第1ロス530が減少する方向に学習され得る。
一実施形態によれば、第2ロス540は、合成映像503と第1映像501との差に関するロスである。合成映像は、第1映像501に対応して第1ネットワーク510で推定された視差に基づいて、第1映像501に対応する第2映像502を変換して合成された映像である。第2ロス540は、合成映像503と第1映像501との差が小さいほど小さくなるよう定義され、第1ネットワーク510は、第2ロス540が減少する方向に学習されることができる。
一実施形態によれば、第2ロス540は、第1ネットワーク510で推定された視差511の正確度を補正するためのもので、第1ネットワーク510は、入力された映像の視差に関する正解データに基づいたロスに基づいて学習されることができる。
一例として、図6を参照すると、第1ネットワークの視差推定の正確度を向上させるために、RGB-D映像データベース610に基づいて平面検出モデル300が学習されることができる。図3を参照して上述したように、平面検出モデル300は深度推定モジュール310を含み、深度推定モジュール310は、ニューラルネットワークである第1ネットワークを含む。言い換えれば、RGB-D映像データベース610に基づいて平面検出モデル300の第1ネットワークが学習されることができる。
RGB-D映像は、深度情報が含まれている映像である。第1ネットワークは、RGB-D映像が入力され、入力された映像の深度又は視差を推定することができる。第1ネットワークで推定された結果とRGB-D映像の実際の深度情報とを比較し、その差が減少する方向に第1ネットワークが学習されることができる。一実施形態によれば、第1ネットワークは、上述した第2ロスの代わりに、深度に関する正解データに基づいて定義されたロスと第1ロスに基づいて学習されることができる。言い換えれば、第1ネットワークの出力である視差に関する正解データを含む映像を学習データとして使用し、第1ネットワークで出力された視差と正解データとの差に関するロスを定義して第1ネットワークが学習されることができる。
また、一例として、図7を参照すると、第1ネットワークの視差推定の正確度を向上させるために、マルチビュー(multi-view)映像データベース710に基づいて平面検出モデル300が学習されることができる。図3を参照して上述したように、平面検出モデル300は深度推定モジュール310を含み、深度推定モジュール310は、ニューラルネットワークである第1ネットワークを含む。言い換えれば、マルチビュー映像データベース710に基づいて平面検出モデル300の第1ネットワークが学習されることができる。
マルチビュー映像は、複数の互いに異なる角度で撮影した複数の映像(例えば、ステレオ映像)を含む。マルチビュー映像に含まれている複数の映像間のマッチング関係に基づいて、マルチビュー映像が撮影された環境に関する3次元情報が取得され、取得された3次元情報に基づいてより正確な映像の視差又は深度値を取得することができる。第1ネットワークは、マルチビュー映像が入力され、入力された映像の深度又は視差を推定することができる。第1ネットワークで推定された結果とマルチビュー映像のマッチング関係に基づいて算出された深度情報とを比較し、その差が減少する方向に1ネットワークが学習され得る。
一実施形態によれば、第1ネットワーク及び第2ネットワークは同時に学習されてもよい。例えば、第1ネットワーク及び第2ネットワークは、第1ロス及び第2ロスに基づいて、第1ロス及び第2ロスの和が減少する方向に同時に学習され得る。第2ネットワークは、第1ネットワークの出力である視差推定の正確度が高いほど、正確度が高いピクセルごとの平面パラメータを使用でき、セグメンテーションの正確度が向上し得る。第1ネットワークは、第2ネットワークの出力であるセグメンテーションの正確度が高いほど、言い換えれば、ピクセルが属する平面によりクラスタリングを正確に行うほど、同じセグメントに対応するピクセルの平面パラメータが類似になるという効果により、視差推定の正確度を向上させることができる。
一実施形態によれば、第1ネットワーク及び第2ネットワークは順次学習されてもよい。例えば、第1ロス及び第2ロスに基づいて第1ネットワークが先に学習され、第1ロスに基づいて第2ネットワークが学習されてもよい。
図8は、一実施形態に係る学習された第2ネットワークを活用した平面抽出モデルのフレームワークを例示する図である。
一実施形態によれば、図4~図7を参照して上述した学習方法により学習された第2ネットワークは、入力された映像で特定平面を抽出する平面抽出モデルに使用することができる。言い換えれば、図4~図7を参照して上述した学習方法により、第1ネットワークと共に学習された第2ネットワークは、入力された映像で特定セグメントに対応する平面を抽出するための平面抽出モデルに活用されることができる。
図8を参照すると、平面抽出モデル800は、映像が入力されてセグメントマスキング情報を平面抽出の結果として出力するモデルである。入力される映像は、単眼映像を含む。平面抽出は、映像から特定の平面を分離するもので、例えば、映像で特定平面を他の部分と区分して表示したり、特定平面に含まれているピクセルの情報を出力し、映像から特定平面を抽出することができる。
一実施形態に係る平面抽出モデル800は、セグメンテーションモジュール320、セグメント選択モジュール340、及びセグメントマスキングモジュール810を含む。平面抽出モデル800に含まれているモジュール320,340,810は、説明の便宜のために平面検出モデル300で実行される論理的な動作により任意に区分したもので、平面抽出モデル800の構造を限定するものではない。一例として、平面抽出モデル800は装置として実現されてもよく、装置の少なくとも1つのプロセッサで平面検出モデル300の動作を行うことができる。
一実施形態に係るセグメンテーションモジュール320及びセグメント選択モジュール340は、図3を参照して上述した平面検出モデル300の構成である。上述したように、セグメンテーションモジュール320は学習された第2ネットワークを含み、映像が入力され、入力された映像のピクセルごとのセグメント対応確率を出力し得る。上述したように、セグメント選択モジュール340は、ピクセルごとのセグメント対応確率が入力され、セグメンテーションの結果としてピクセルごとのセグメントクラスタリング情報を出力することができる。
一実施形態に係るセグメントマスキングモジュール810は、セグメントを指示するためのセグメントID801が入力され、ピクセルごとのセグメントクラスタリング情報に基づいて入力されたセグメントID801に対応する平面を入力映像からマスキング又は抽出する。平面抽出モデル800の出力であるセグメントマスキング情報は、入力映像でセグメントIDに対応する平面を他の部分と区分されるように表示された映像、又は、セグメントIDに対応する平面に含まれているピクセルの情報を含む。例えば、入力されたセグメントIDが底面に対応するセグメントを指示する場合、入力映像において、底面に該当する部分が他の部分と区分するように表示されて出力されたり、底面に該当するピクセルの情報が出力されることができる。
一実施形態に係る平面抽出モデル800は、様々なコンピュータビジョン基盤の3次元モデリングアプリケーションにおいて、特定の平面に関する情報を提供するために使用されてもよく、一例として、ARアプリケーションでARオブジェクトを配置するための特定平面(例えば、底面又は特定オブジェクトの上段面)を抽出するために使用されてもよい。
図9は、一実施形態に係る装置の構成の例示図である。
図9を参照すると、一実施形態に係る装置900は、プロセッサ901、メモリ903、及び入出力装置905を含む。装置900は、例えば、ユーザデバイス(例えば、スマートフォン、パーソナルコンピュータ、タブレットPCなど)、ARグラス(AR glasses)、センサ、サーバを含む。
一実施形態に係る装置900は、平面検出モデルが記録されたメモリ903を含む。平面検出モデルは、図1~図7を参照して上述した平面検出モデルを含む。一実施形態に係るメモリ903は、揮発性メモリ又は不揮発性メモリであってもよい。
一実施形態によれば、メモリ903は、上述した平面検出モデルが具現されたプログラムを格納し、プロセッサ901は、メモリ903に格納されたプログラムを実行し、装置900を制御する。一例として、プロセッサ901は、第1ネットワークで推定された入力映像のピクセルごとの視差に基づいて、入力映像のピクセルごとの平面パラメータを取得し、映像のセグメンテーションを行うように学習された第2ネットワークに基づいて、入力映像のピクセルごとのセグメント対応確率を推定し、ピクセルごとの平面パラメータ及びピクセルごとのセグメント対応確率に基づいてセグメントごとの平面パラメータを取得し、セグメントごとの平面パラメータに基づいて入力映像に含まれている平面を検出する動作を行うことができる。
一側面に係る装置900は、入出力装置905を介して外部装置(例えば、パーソナルコンピュータ、サーバ又はネットワーク)に接続してデータを交換し得る。例えば、装置900は、入出力装置905を介して映像を受信し、平面検出モデルの結果を出力してもよい。
上述したように、平面検出モデルは、ニューラルネットワークである第1ネットワーク及び第2ネットワークを含む。第1ネットワーク及び第2ネットワークを含む平面検出モデルは、図4~図7を参照して上述した学習方法により生成及び製造されることができる。
例えば、平面検出モデルは、学習データに含まれている第1映像を第1ネットワークに印加して取得された第1映像のピクセルごとの視差に基づいて、第1映像のピクセルごとの平面パラメータを取得するステップと、第1映像を第2ネットワークに印加し、第1映像のピクセルごとのセグメント対応確率を推定するステップと、第1映像のピクセルごとの平面パラメータ及び第1映像のピクセルごとのセグメント対応確率に基づいて算出された、第1映像の各ピクセルが各セグメントに対応する確率として定義される尤度に関する第1ロスに基づいて、第1ネットワーク及び第2ネットワークを学習させるステップにより製造又は生成されることができる。第1ネットワーク及び第2ネットワークの学習によって更新された第1ネットワーク及び第2ネットワークのパラメータは、メモリ903に格納されることができる。
一実施形態に係るプロセッサ901は、図4~図7を参照して上述した学習方法の少なくとも1つの動作を実行することができ、学習過程で更新された第1ネットワーク及び第2ネットワークのパラメータをメモリ903に格納する動作を行う。
一実施形態に係る装置900は、図8を参照して上述した平面抽出モデルが具現されたプログラムを格納し、プロセッサ901は、メモリ903に格納されたプログラムを実行して装置900を制御し得る。言い換えれば、プロセッサ901は、入力映像を第2ネットワークに印加し、入力映像のピクセルごとのセグメント対応確率を取得し、取得されたピクセルごとのセグメント対応確率をセグメント選択モジュールに入力してピクセルごとのセグメントクラスタリング情報を取得し、セグメントを指示するためのセグメントIDが入力され、ピクセルごとのセグメントクラスタリング情報に基づいて入力映像で入力されたセグメントIDに対応する平面をマスキング又は抽出することができる。
以上で説明された実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組み合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、又は命令(instruction)を実行して応答する異なる装置のように、1つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム(OS)及びオペレーティングシステム上で実行される1つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は1つが使用されるものとして説明する場合もあるが、当技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数類型の処理要素を含むことが把握する。例えば、処理装置は、複数のプロセッサ又は1つのプロセッサ及び1つのコントローラを含む。また、並列プロセッサ(parallel processor)のような、他の処理構成も可能である。
ソフトウェアは、コンピュータプログラム、コード、命令、又はそのうちの一つ以上の組合せを含み、希望の通りに動作するよう処理装置を構成したり、独立的又は結合的に処理装置を命令することができる。ソフトウェア及び/又はデータは、処理装置によって解釈されたり処理装置に命令又はデータを提供するために、いずれかの類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、又は送信される信号波に永久的又は一時的に具体化することができる。ソフトウェアはネットワークに連結されたコンピュータシステム上に分散され、分散した方法で格納されたり実行され得る。ソフトウェア及びデータは一つ以上のコンピュータで読出し可能な記録媒体に格納され得る。
本実施形態による方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組み合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例として、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD-ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気-光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。
上記で説明したハードウェア装置は、本発明に示す動作を実行するために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
上述したように実施形態をたとえ限定された図面によって説明したが、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順で実行されるし、及び/又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられてもよいし、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。
したがって、他の具現、他の実施形態および特許請求の範囲と均等なものも後述する特許請求の範囲に属する。
900 装置
901 プロセッサ
903 メモリ
905 入出力装置
901 プロセッサ
903 メモリ
905 入出力装置
Claims (16)
- 第1ネットワークで推定された入力映像のピクセルごとの視差に基づいて、前記入力映像のピクセルごとの平面パラメータを取得するステップと、
映像のセグメンテーションを行うように学習された第2ネットワークに基づいて、前記入力映像のピクセルごとのセグメント対応確率を決定するステップと、
前記ピクセルごとの平面パラメータ及び前記ピクセルごとのセグメント対応確率に基づいて、セグメントごとの平面パラメータを取得するステップと、
前記セグメントごとの平面パラメータに基づいて、前記入力映像に含まれている平面を検出するステップと、
を含む、平面検出方法。 - 前記入力映像に含まれている平面を検出するステップは、
前記ピクセルごとのセグメント対応確率に基づいて、ピクセルごとのセグメントクラスタリング情報を取得するステップと、
前記セグメントごとの平面パラメータ及び前記ピクセルごとのセグメントクラスタリング情報に基づいて、前記入力映像に含まれている平面を検出するステップと、
を含む、請求項1に記載の平面検出方法。 - 前記セグメントごとの平面パラメータを取得するステップは、
前記第2ネットワークに基づいた前記入力映像内のセグメントそれぞれに対応し、
該当セグメントに対応する前記ピクセルごとのセグメント対応確率に基づいて、前記ピクセルごとの平面パラメータを加重和するステップと、
前記加重和された平面パラメータに基づいて、前記該当セグメントに対応する平面パラメータを取得するステップと、
を含む、請求項1に記載の平面検出方法。 - 前記第1ネットワーク及び前記第2ネットワークは、
前記第2ネットワークに基づいてクラスタリングされた各セグメントに対応する平面パラメータの確率分布に基づいて算出された、各ピクセルが各セグメントに対応する確率で定義される尤度に関する第1ロスと、
第1映像に対応し、前記第1ネットワークで推定された視差に基づいて前記第1映像に対応する第2映像を変換した映像と前記第1映像との差に関する第2ロスと、
のうち少なくとも1つに基づいて学習される、請求項1に記載の平面検出方法。 - 前記ピクセルごとの平面パラメータを取得するステップは、
前記第1ネットワークに基づいて、前記入力映像のピクセルごとの視差を決定するステップと、
前記入力映像を撮影したカメラの内部パラメータに基づいて、前記ピクセルごとの視差から法線ベクトル及び距離情報を含む前記ピクセルごとの平面パラメータを取得するステップと、
を含む、請求項1に記載の平面検出方法。 - 学習データに含まれている第1映像を第1ネットワークに印加して取得された前記第1映像のピクセルごとの視差に基づいて、前記第1映像のピクセルごとの平面パラメータを取得するステップと、
前記第1映像を第2ネットワークに印加し、前記第1映像のピクセルごとのセグメント対応確率を決定するステップと、
前記第1映像のピクセルごとの平面パラメータ及び前記第1映像のピクセルごとのセグメント対応確率に基づいて算出された、前記第1映像の各ピクセルが各セグメントに対応する確率で定義される尤度に関する第1ロスに基づいて、前記第1ネットワーク及び前記第2ネットワークを学習させるステップと、
を含む、平面検出モデルの学習方法。 - 前記第1映像の各ピクセルが各セグメントに対応する確率は、複数のセグメントそれぞれに対応する平面パラメータに関する確率分布及び前記ピクセルごとの平面パラメータに基づいて算出される、請求項6に記載の平面検出モデルの学習方法。
- 前記複数のセグメントそれぞれに対応する平面パラメータに関する確率分布は、
前記ピクセルごとのセグメント対応確率及び前記ピクセルごとの平面パラメータに基づいて算出された前記セグメントそれぞれに対応する平面パラメータの代表値と、
前記ピクセルごとのセグメント対応確率、前記ピクセルごとの平面パラメータ、及び前記セグメントそれぞれに対応する平面パラメータの代表値に基づいて算出された、前記セグメントそれぞれに対応する平面パラメータの分散と、
を含む、請求項7に記載の平面検出モデルの学習方法。 - 前記第1ネットワーク及び前記第2ネットワークを学習させるステップは、
前記第1ネットワークで前記第1映像に対応して推定された深度に基づいて、前記第1映像と異なる視点で撮影された第2映像を変換するステップと、
前記第2映像の変換された映像と前記第1映像との差に関する第2ロス及び前記第1ロスに基づいて、前記第1ネットワーク及び前記第2ネットワークを学習させるステップと、
を含む、請求項6に記載の平面検出モデルの学習方法。 - 前記学習データは、
ステレオ映像の第1単眼映像である前記第1映像及び前記ステレオ映像の第2単眼映像である第2映像と、
ビデオ映像の第1フレームである前記第1映像及び前記ビデオ映像の第2フレームである第2映像と、
のうち少なくとも1つを含む、請求項6に記載の平面検出モデルの学習方法。 - 前記ピクセルごとの平面パラメータを取得するステップは、
前記第1映像を前記第1ネットワークに印加し、前記第1映像のピクセルごとの視差を決定するステップと、
前記第1映像を撮影したカメラの内部パラメータに基づいて、前記ピクセルごとの視差から法線ベクトル及び距離情報を含む前記ピクセルごとの平面パラメータを取得するステップと、
を含む、請求項6に記載の平面検出モデルの学習方法。 - ハードウェアと結合して請求項1~11のいずれか一項に記載の方法を実行させるために媒体に格納されたコンピュータプログラム。
- 請求項1乃至5のいずれか1項に記載の平面検出方法を実行する少なくとも1つのプロセッサを含む、平面検出装置。
- 平面検出装置において、
入力された映像の視差を推定する第1ネットワーク及び入力された映像のセグメンテーションを行う第2ネットワークを含む平面検出モデルが記録されたメモリを含み、
前記平面検出モデルは、
学習データに含まれている第1映像を第1ネットワークに印加して取得された前記第1映像のピクセルごとの視差に基づいて、前記第1映像のピクセルごとの平面パラメータを取得するステップと、
前記第1映像を第2ネットワークに印加し、前記第1映像のピクセルごとのセグメント対応確率を決定するステップと、
前記第1映像のピクセルごとの平面パラメータ及び前記第1映像のピクセルごとのセグメント対応確率に基づいて算出された、前記第1映像の各ピクセルが各セグメントに対応する確率で定義される尤度に関する第1ロスに基づいて、前記第1ネットワーク及び前記第2ネットワークを学習させるステップと、
を含む、前記平面検出モデルの学習方法により製造される、平面検出装置。 - 前記平面検出モデルの学習方法に含まれている前記第1ネットワーク及び前記第2ネットワークを学習させるステップは、
前記第1ネットワークで前記第1映像に対応して推定された深度に基づいて、前記第1映像と異なる視点で撮影された第2映像を変換するステップと、
前記第2映像の変換された映像と前記第1映像との差に関する第2ロス及び前記第1ロスに基づいて、前記第1ネットワーク及び前記第2ネットワークを学習させるステップと、
を含む、請求項14に記載の平面検出装置。 - 入力映像を前記第1ネットワークに印加し、前記第1ネットワークで推定された前記入力映像のピクセルごとの視差に基づいて、前記入力映像のピクセルごとの平面パラメータを取得し、
前記入力映像を前記第2ネットワークに印加し、前記第2ネットワークで推定された前記入力映像のピクセルごとのセグメント対応確率を取得し、
前記ピクセルごとの平面パラメータ及び前記ピクセルごとのセグメント対応確率に基づいて、セグメントごとの平面パラメータを取得し、
前記セグメントごとの平面パラメータに基づいて、前記入力映像に含まれている平面を検出する、
少なくとも1つのプロセッサをさらに含む、請求項14に記載の平面検出装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0144225 | 2021-10-27 | ||
KR1020210144225A KR20230060029A (ko) | 2021-10-27 | 2021-10-27 | 평면 검출 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023065296A true JP2023065296A (ja) | 2023-05-12 |
Family
ID=81344281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022115416A Pending JP2023065296A (ja) | 2021-10-27 | 2022-07-20 | 平面検出装置及び方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230132106A1 (ja) |
EP (1) | EP4174774A1 (ja) |
JP (1) | JP2023065296A (ja) |
KR (1) | KR20230060029A (ja) |
CN (1) | CN116051448A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117237360B (zh) * | 2023-11-15 | 2024-03-01 | 宁德思客琦智能装备有限公司 | 一种基于3d视觉的铸件毛刺检测方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11328476B2 (en) * | 2019-11-14 | 2022-05-10 | Qualcomm Incorporated | Layout estimation using planes |
-
2021
- 2021-10-27 KR KR1020210144225A patent/KR20230060029A/ko unknown
-
2022
- 2022-03-18 US US17/698,577 patent/US20230132106A1/en active Pending
- 2022-04-20 EP EP22169094.4A patent/EP4174774A1/en active Pending
- 2022-05-17 CN CN202210543523.5A patent/CN116051448A/zh active Pending
- 2022-07-20 JP JP2022115416A patent/JP2023065296A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20230060029A (ko) | 2023-05-04 |
CN116051448A (zh) | 2023-05-02 |
US20230132106A1 (en) | 2023-04-27 |
EP4174774A1 (en) | 2023-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2018292610B2 (en) | Method and system for performing simultaneous localization and mapping using convolutional image transformation | |
US11727661B2 (en) | Method and system for determining at least one property related to at least part of a real environment | |
CN108961327B (zh) | 一种单目深度估计方法及其装置、设备和存储介质 | |
US10198623B2 (en) | Three-dimensional facial recognition method and system | |
KR102647351B1 (ko) | 3차원의 포인트 클라우드를 이용한 모델링 방법 및 모델링 장치 | |
JP6438403B2 (ja) | 結合された深度キューに基づく平面視画像からの深度マップの生成 | |
US8331614B2 (en) | Method and apparatus for tracking listener's head position for virtual stereo acoustics | |
Jellal et al. | LS-ELAS: Line segment based efficient large scale stereo matching | |
CN113850865A (zh) | 一种基于双目视觉的人体姿态定位方法、系统和存储介质 | |
CN112200056B (zh) | 人脸活体检测方法、装置、电子设备及存储介质 | |
KR20180035359A (ko) | 평면정보를 이용한 3차원 공간 모델링 및 데이터 경량화 방법 | |
CN114627491A (zh) | 一种基于极线汇聚的单人三维姿态估计方法 | |
WO2023016182A1 (zh) | 位姿确定方法、装置、电子设备和可读存储介质 | |
CN110443228B (zh) | 一种行人匹配方法、装置、电子设备及存储介质 | |
JP2023056466A (ja) | グローバル測位装置及び方法 | |
JP2023065296A (ja) | 平面検出装置及び方法 | |
CN116630423A (zh) | 一种基于orb特征的微小型机器人多目标双目定位方法及系统 | |
WO2017042852A1 (en) | Object recognition appratus, object recognition method and storage medium | |
Dong et al. | Stereo matching method based on high-precision occlusion-recovering and discontinuity-preserving | |
CN116957999A (zh) | 深度图优化方法、装置、设备及存储介质 | |
Sun | Deep Superpixel Stereo | |
CN117974786A (zh) | 一种基于多视觉动态环境重建和测量方法及系统 | |
CN117152204A (zh) | 目标追踪方法、装置、设备和存储介质 | |
Fan et al. | Visual Applications | |
Wang | Depth Inference and Visual Saliency Detection from 2D Images |