JP2023077658A - 画像処理装置、画像処理方法、及びプログラム - Google Patents
画像処理装置、画像処理方法、及びプログラム Download PDFInfo
- Publication number
- JP2023077658A JP2023077658A JP2021191006A JP2021191006A JP2023077658A JP 2023077658 A JP2023077658 A JP 2023077658A JP 2021191006 A JP2021191006 A JP 2021191006A JP 2021191006 A JP2021191006 A JP 2021191006A JP 2023077658 A JP2023077658 A JP 2023077658A
- Authority
- JP
- Japan
- Prior art keywords
- dimensional shape
- shape data
- distance
- image
- image processing
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- 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/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- 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/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Closed-Circuit Television Systems (AREA)
- Image Processing (AREA)
Abstract
【課題】 高精度の仮想視点画像を生成可能なテクスチャ付きの3次元形状データを得る。
【解決手段】 画像処理装置は、まず、基準点の周囲を撮像する撮像装置の撮像により得られた撮像画像のデータ、及び、基準点から、基準点の周辺に存在するオブジェクトまでの距離を示す距離情報を取得する。次に、取得した距離情報に基づいてオブジェクトの形状に対応する第1の3次元形状データを取得する。次に、オブジェクト以外の基準点の周囲に対応する1以上の平面又は曲面により構成される第2の3次元形状データを取得する。次に、第1の3次元形状データと第2の3次元形状データとを統合した第3の3次元形状データを取得し、取得した第3の3次元形状データに対して撮像画像をマッピングする。
【選択図】 図6
【解決手段】 画像処理装置は、まず、基準点の周囲を撮像する撮像装置の撮像により得られた撮像画像のデータ、及び、基準点から、基準点の周辺に存在するオブジェクトまでの距離を示す距離情報を取得する。次に、取得した距離情報に基づいてオブジェクトの形状に対応する第1の3次元形状データを取得する。次に、オブジェクト以外の基準点の周囲に対応する1以上の平面又は曲面により構成される第2の3次元形状データを取得する。次に、第1の3次元形状データと第2の3次元形状データとを統合した第3の3次元形状データを取得し、取得した第3の3次元形状データに対して撮像画像をマッピングする。
【選択図】 図6
Description
本開示は、テクスチャ付きの3次元形状データを生成する技術に関する。
車両等の基準点の周囲の環境を監視する技術分野において、基準点に設置された複数台の撮像装置による撮像により得た撮像画像を用いて、任意の仮想視点から基準点の周囲を見たときの像に対応する画像(以下「仮想視点画像」という。)を生成する技術がある。特許文献1には、平面形状又は曲面形状を示す3次元形状データを複数組合せた、基準点の周囲の環境に対応する空間形状を示す3次元形状データを生成し、これに基準点からの撮像により得られた撮像画像をマッピングする手法が開示されている。特許文献1に開示された手法によれば、当該3次元形状データに撮像画像をマッピングすることにより得たテクスチャ付きの3次元形状示すデータに基づいて、任意の仮想視点から見た像に対応する仮想視点画像を生成することができる。
具体的には、特許文献1には、基準点の周囲の路面に対応する3次元形状データと、基準点の近方に存在するオブジェクトの位置のみに基づいて仮想空間に配置した予め定められた形状のついたて面の3次元形状データとを組合せる手法が開示されている。特許文献1に開示された手法によれば、仮想視点画像における歪み又は倒れを低減することができる。ここで、仮想視点画像における歪み及び倒れとは、仮想視点から実際に撮像したときに得られる画像と仮想視点画像との、仮想視点画像における相違を意味する。
しかしながら、特許文献1に開示されたついたて面の形状は、予め定められた形状であるため、当該ついたて面の形状は、本来のオブジェクトの形状と異なる。そのため、特許文献1に開示された手法では、ついたて面の3次元形状データに撮像画像をマッピングする際に、撮像画像におけるオブジェクトに対応する画像領域だけでなく、当該画像領域以外の画像領域についても、マッピングされてしまう。結果として、特許文献1に開示された手法では、仮想視点画像におけるオブジェクトに対応する画像領域の周辺の画像領域に歪み又は倒れが残存してしまい、精度の高い仮想視点画像を得ることができない。
本開示は、基準点の近方にオブジェクトが存在する場合であっても、高精度の仮想視点画像を生成可能なテクスチャ付きの3次元形状データを得ることができる画像処理装置を提供することを目的としている。
本開示に係る画像処理装置は、基準点の周囲を撮像する撮像装置の撮像により得られた撮像画像のデータを取得する画像取得手段と、前記基準点から、前記基準点の周辺に存在するオブジェクトまでの距離を示す距離情報を取得する距離取得手段と、前記距離情報に基づいて、前記オブジェクトの形状に対応する第1の3次元形状データを取得する第1取得手段と、前記オブジェクト以外の前記基準点の周囲に対応する、1以上の平面又は曲面により構成される第2の3次元形状データを取得する第2取得手段と、前記第1の3次元形状データと前記第2の3次元形状データとを統合した第3の3次元形状データを取得する第3取得手段と、前記第3の3次元形状データに対して前記撮像画像をマッピングするマッピング手段と、を有する。
本開示に係る画像処理装置によれば、基準点の近方にオブジェクトが存在する場合であっても、高精度の仮想視点画像を生成可能なテクスチャ付きの3次元形状データを得ることができる。
本開示に係る実施形態の説明の前に、図1乃至4を参照して、本開示に係るテクスチャ付きの3次元形状データの生成方法の概要について説明する。図1は、本開示に係るテクスチャ付きの3次元形状データの生成方法の一例を説明するための説明図である。図1(a)は、テクスチャをマッピングする前の3次元形状データの一例を可視化した図である。図1(b)は、図1(a)に示す3次元形状データにマッピングするテクスチャの画像(以下「テクスチャ画像」という。)の一例を示す概念図である。テクスチャ付きの3次元形状データは、図1(a)に示す3次元形状データに対して、図1(b)に示すテクスチャ画像をマッピングする(以下「貼り付ける」ともいう。)ことにより生成される。図1(c)は、生成されたテクスチャ付きの3次元形状データを、ユーザ操作等により指定された任意の仮想視点を示す情報に基づいて、3次元のレンダリング処理することにより生成される仮想視点画像の一例を示す図である。ここで、仮想視点を示す情報とは、仮想の視点の位置及び視線の方向等を示す情報である。
図2は、図1(a)に一例として示す3次元形状データと、図1(b)に一例として示すテクスチャ画像とを対応付けるための表現方法の一例を説明するための説明図である。なお、以下、図1(a)に一例として示す3次元形状データは、それぞれが3個の頂点により形成される複数の三角形のポリゴン(以下「三角形ポリゴン」という。)の組合せにより構成されるものとして説明する。図2(a)は、図1(a)に示す3次元形状データにおける複数の三角形ポリゴン及び各三角形ポリゴンの頂点の一例を可視化した図である。図1(a)に示す3次元形状データは、図2(a)に一例として示すように、当該3次元形状データを表現するための要素として、12個の三角形ポリゴンT0乃至11、及びこれらを構成する12個の頂点V0乃至11により構成されている。図2(b)は、図2(a)に示す三角形ポリゴンT0乃至11を構成する各頂点V0乃至11に対応する、図1(b)に示すテクスチャ画像における位置P0乃至13の一例を可視化した図である。
図2(c)は、図2(a)に示す三角形ポリゴンT0乃至11及び頂点V0乃至11と、図2(b)に示すテクスチャ画像における位置P0乃至13とを互いに対応づけるための情報の一例を示す図である。図2(c)に示すように、各三角形ポリゴンT0乃至11に対して、それらを構成する3次元空間における頂点V0乃至11のそれぞれを示す頂点IDと、テクスチャ画像における位置P0乃至13のそれぞれを示すテクスチャ頂点IDとを対応付ける。このようにして、図1(a)に示す3次元形状データに対して、図1(b)に示すテクスチャ画像を貼り付けたテクスチャ付きの3次元形状データを生成することができる。図2(a)に示す各三角形ポリゴンT0乃至11を構成する各頂点V0乃至11の座標は、図2(a)に一例と示すように、予め定められたxyz軸における各成分により3次元の空間座標として表現される。図2(b)に示すテクスチャ画像における各位置P0乃至13の座標は、図2(b)に一例と示すように、予め定められたuv軸における各成分により2次元の空間座標として表現される。
多くの場合、図2(c)に示す頂点V0乃至4及び頂点V7乃至11のように、三角形ポリゴンを構成する頂点と、テクスチャ画像における頂点の位置とは、1対1の対応となっており、インデックス番号を一致させて表現することができる。これに対して、頂点V5がテクスチャ画像における頂点の位置P5とP12とに対応するように、3次元空間における1つの頂点が、テクスチャ画像の2次元空間における互いに異なる複数の頂点に対応することがある。このような対応関係の場合であっても、各三角形ポリゴンを構成する各頂点とテクスチャ画像における頂点とを対応付ける処理ができるように、図2(c)では、頂点IDとテクスチャ頂点IDとが互いに独立して管理されている。
図3は、テクスチャ付きの3次元形状データを表現するためのデータセットの一例を示す図である。図3(a)は、頂点IDと、頂点IDに対応する頂点の3次元の空間座標との対応付けを示す頂点座標一覧の一例を示す図である。図3(b)は、テクスチャ頂点IDと、テクスチャ頂点IDに対応するテクスチャ画像における頂点の2次元の空間座標との対応付けを示すテクスチャ頂点座標一覧の一例を示す図である。図3(c)は、三角形ポリゴンと、頂点ID及びテクスチャ頂点IDとの対応付けを示す対応表の一例を示す図である。図3(d)は、テクスチャ画像の一例を示す図である。テクスチャ付きの3次元形状データのデータセットは、図3の各図に一例として示す、頂点座標一覧、テクスチャ頂点座標一覧、対応表、及びテクスチャ画像のデータにより構成される。
図3(c)に示す対応表において、頂点IDの並び順に、三角形ポリゴンの表面を定義する役割を持たせてもよい。図4は、対応表における頂点IDの並び順と、三角形ポリゴンの表面との関係の一例を示す図である。図4に示す三角形ポリゴンT0は、一例として、頂点V0,V1,V2により構成されている。三角形ポリゴンT0における頂点IDの並び順には、図4に示すように6通りが存在する。例えば、三角形ポリゴンT0の表面は、対応表に示す三角形ポリゴンを構成する頂点を左から順に3次元の空間座標において辿った際に、その回転方向に対して右ねじが進む方向を存在するものとして定義することができる。図4(a)及び(b)のそれぞれは、三角形ポリゴンの表面が同じ方向となる対応表における頂点の順序の組を表している。図4(a)に示す三角形ポリゴンT0では、図4を示す紙面に対して裏側から表側に向かう方向、すなわち、当該紙面において図4を示している面が三角形ポリゴンT0の表面となる。これに対して、図4(b)に示す三角形ポリゴンT0では、図4を示す紙面に対して表側から裏側に向かう方向、すなわち、当該紙面において図4を示している面の裏面が三角形ポリゴンT0の表面となる。
なお、三角形ポリゴンの表面の定義は、対応表に示す三角形ポリゴンを構成する頂点を左から順に3次元の空間座標において辿った際に、その回転方向に対して右ねじが進む方向を表面の方向とすることに限定されるものではない。例えば、当該回転方向に対して左ねじが進む方向、すなわち、右ねじが後退する方向を三角形ポリゴンの表面の方向として定義してもよい。
また、上述では、3次元形状データは、複数の三角形ポリゴンの組合せにより構成されるものとしたが、3次元形状データのデータ表現の形態は、これに限定されるものではない。例えば、3次元形状データは、四角形又は五角形等の4つ以上の頂点により構成される複数のポリゴンの組合せ、又は、互いに頂点の数が異なる2種類以上のポリゴンの組合せにより構成されたものであってもよい。
また、上述では、頂点座標一覧、テクスチャ頂点座標一覧、及び対応表のデータを用いて、三角形ポリゴンと、三角形ポリゴンの頂点の座標、及びテクスチャ画像の頂点の座標との対応関係を表現したが、当該対応関係の表現は、これに限定されるものではない。例えば、対応表において、三角形ポリゴンと、三角形ポリゴンの頂点の座標、及び、テクスチャ画像の頂点の座標とを、直接、対応付けて表現してもよい。
以下、本開示の実施形態について図面を参照して説明する。なお、以下の実施形態は本開示を限定するものではなく、また、本実施形態で説明されている特徴の組合せの全てが本開示の解決手段に必須のものとは限らない。なお、同一の構成又は同一の処理については、同じ符号を付して説明を省略する。
<実施形態1>
図5乃至11を参照して、実施形態1に係る画像処理装置について説明する。実施形態1に係る画像処理装置は、互いに異なる2つの3次元形状データ(以下「第1の3次元形状データ」及び「第2の3次元形状データ」という。)を生成する。また、実施形態1に係る画像処理装置は、生成した第1の3次元形状データと第2の3次元形状データとを統合することにより、車両等の基準点が存在する空間の形状を表現する第3の3次元形状データを生成する。更に、実施形態1に係る画像処理装置は、生成した第3の3次元形状データにテクスチャ画像をマッピングしてテクスチャ付きの3次元形状データを生成し、生成したテクスチャ付きの3次元形状データを用いて仮想視点画像を生成する。
図5乃至11を参照して、実施形態1に係る画像処理装置について説明する。実施形態1に係る画像処理装置は、互いに異なる2つの3次元形状データ(以下「第1の3次元形状データ」及び「第2の3次元形状データ」という。)を生成する。また、実施形態1に係る画像処理装置は、生成した第1の3次元形状データと第2の3次元形状データとを統合することにより、車両等の基準点が存在する空間の形状を表現する第3の3次元形状データを生成する。更に、実施形態1に係る画像処理装置は、生成した第3の3次元形状データにテクスチャ画像をマッピングしてテクスチャ付きの3次元形状データを生成し、生成したテクスチャ付きの3次元形状データを用いて仮想視点画像を生成する。
図5を参照して実施形態1に係る画像処理装置における仮想視点画像の生成処理の概要について説明する。図5は、実施形態1に係る画像処理装置における仮想視点画像の生成処理の一例を説明するための説明図である。3次元形状502は、第1の3次元形状データの一例を可視化したものである。第1の3次元形状データは、車両501に設置された測距センサの出力値を用いて取得された点群データ等の距離情報であって、車両501の周辺に存在するオブジェクトの基準点からの距離を示す距離情報に基づいて生成される。以下、一例として、距離情報は点群データであり、第1の3次元形状データは点群データに基づいて生成されるものとして説明する。第1の3次元形状データは、点群データが示す複数の点のそれぞれを頂点とする複数の三角形ポリゴンの組合せにより構成される。以下、点群データは、LiDAR(Light Detection And Ranging)により取得されるものとして説明するが、LiDARより取得されるものに限定にされるものではない。例えば、点群データは、RADAR(Radio Detection And Ranging)又はSONAR(Sound navigation and ranging)等により取得されるものであってもよい。
LiDARは、近赤外光又は可視光等のレーザ光を照射光として照射し、オブジェクトで反射した反射光を光センサで捉えることにより、照射光と反射光との位相差又は周波数差等に基づいて基準点からオブジェクトまでの距離を計測するものである。LiDARの性能にもよるが、LiDARによれば、広範囲にわたって高精度にオブジェクトまでの距離を点群データとして取得することができる。また、車両501つまりLiDARの設置位置に近い位置ではLiDARにより照射される照射光の密度が高い。そのため、LiDARの設置位置に近い位置に存在するオブジェクトについては、その正確な位置及び形状を点群データとして取得することができる。したがって、LiDARにより取得された点群データを用いて生成された第1の3次元形状データは、LiDARの設置位置からオブジェクトまでの距離が予め定められた範囲内であれば、オブジェクトの実際の形状を正確に再現した高精度なものとなる。
平面形状503は、車両501が存在する地面又は床面等の路面に対応する3次元形状データを可視化したものである。曲面形状504は、車両501の周囲の環境における遠景等に対応する3次元形状データを可視化したものである。曲面形状504は、平面形状503に対して高さ方向の成分を持つものである。本実施形態に係る第2の3次元形状データは、平面形状503と曲面形状504との組合せ、すなわち、車両が存在する環境に対応する複数の3次元形状データの組み合わせにより生成されるものとして説明する。なお、第2の3次元形状データは、平面形状503と曲面形状504との組合せに限定されるものではない。例えば、第2の3次元形状データは、平面形状503及び曲面形状504のいずれか一方のみにより構成されるものであっても、平面形状503と曲面形状504との境界を滑らかにつないだ1つの曲面形状により構成されるものであってもよい。また、車両501が存在する路面に対応する平面形状503は、一様な平面の形状に限定されるものではなく、略平面等の高さ方向に凹凸のある形状であってもよい。また、車両の周囲の環境における遠景等に対応する曲面形状504は、曲面の形状に限定されるものではなく、複数の平面形状等の組合せ等により構成されるものであってもよい。
第1の3次元形状データを生成するために設置された測距センサにより取得できる点群データには、以下のような制限がある。具体的には、測距センサにより測定できる点群データの最大距離又は画角は、測距センサの仕様又は設置台数等により制限される。また、測距センサから近い位置にオブジェクトが存在する場合、その後方に存在する他のオブジェクトに対応する点群データについては取得することができない。
一方、仮想視点画像の生成の際に設定される任意の仮想視点の位置、又は仮想視点画像の撮像範囲によっては、車両の遠方等、車両からの距離が様々な位置に存在するオブジェクトが仮想視点画像に映りこむことがある。例えば、車両の遠方に存在するオブジェクトとしては、例えば、車両が走行する道路の周辺に存在する家又は施設等の建築物があげられる。本実施形態に係る画像処理装置は、点群データを用いて生成した第1の3次元形状データでは表現できない遠方のオブジェクトに対応する平面形状又は曲面形状の3次元形状データを組合せた第2の3次元形状データを生成する。これにより、本実施形態に係る画像処理装置は、第1の3次元形状データでは表現できない遠方のオブジェクトに対応する画像領域において、歪み又は倒れ等の画質劣化を低減した仮想視点画像することができる。
なお、曲面形状504のような平面形状503に対して高さ方向の成分を有する、車両501を囲むような面を示す3次元形状データを第2の3次元形状データに含めることにより、以下のような効果を得ることができる。建築物等の高さのあるオブジェクトを平面形状503に対応させた場合、本来高さのある当該オブジェクトと平面形状503との形状の違いにより、仮想視点画像における当該オブジェクトに対応する画像領域において歪み又は倒れ等の画質劣化が発生してしまう。これに対して、曲面形状504のように平面形状503に垂直な面等の、平面形状503に対して高さ方向の成分を有する面の形状のデータを第2の3次元形状データに含めることにより、建築物等のオブジェクトと車両の周囲の環境をより忠実に表現できる。結果として、仮想視点画像における当該オブジェクトに対応する画像領域において歪み又は倒れ等の画質劣化を低減できる。すなわち、第1及び第2の3次元形状データを統合した第3の3次元形状データにテクスチャ画像をマッピングすることにより、車両の近方及び遠方の両方に存在するオブジェクト同士の間でバランスの取れた仮想視点画像を生成することができる。なお、ここでいう垂直は、厳密な垂直に限定されるものではなく、略垂直を含むものであってもよい。
図19を参照して、本開示に係る画像処理装置により生成される仮想視点画像と、特許文献1(国際公開第00/007373号)に開示された手法を用いて生成される仮想視点画像との違いについて説明する。以下、一例として、車両1901に設置された撮像装置及び測距センサを用いて、車両1901の左方に位置する仮想視点1902から車両1901の左方を見たときの像に仮想視点画像について説明する。図19(a)に示すように、車両1901の左方には、車両1903が存在し、車両1901から見て、車両1903の後方には、路面に車線等を示す破線1904が存在する。
図19(b)及び(c)は、特許文献1に開示された手法を用いて生成される仮想視点画像1910,1920の一例である。特に、図19(b)に示す仮想視点画像1910は、車両1903に対応するついたて面の面積が、車両1903の表面に対応する仮想空間における面の面積よりも小さく、ついたて面が当該面の領域の一部のみを含む場合において生成されたものである。また、図19(c)に示す仮想視点画像1920は、車両1903に対応するついたて面の面積が、車両1903の表面に対応する仮想空間における面の面積よりも大きく、ついたて面が当該面の領域以外の領域をも含む場合において生成されたものである。
図19(b)に示す仮想視点画像1910には、車両1903に対応する画像領域1911と、破線1904に対応する画像領域1914とが存在する。しかしながら、仮想視点画像1910には、ついたて面が小さいため、車両1903に対応する画像の一部が、本来であれば路面又は破線1904が写るべき画像領域1912に表れてしまっている。また、図19(c)に示す仮想視点画像1920には、車両1903に対応する画像領域1921と、破線1904に対応する画像領域1922,1923とが存在する。しかしながら、仮想視点画像1920には、ついたて面が大きいため、本来であれば破線1904が1本の直線上に写るべきであるのに対して、画像領域1922と画像領域1923とに分かれて表れてしまっている。このように、特許文献1に開示された手法を用いて生成される仮想視点画像1910,1920は、仮想視点から見たときの実際の像とは異なり、歪んだものになってしまう。
図19(d)は、本開示に係る画像処理装置により生成される仮想視点画像1930の一例である。図19(d)に示す仮想視点画像1930には、車両1903に対応する画像領域1931と、破線1904に対応する画像領域1932とが存在する。仮想視点画像1930は、図19(b)又は(c)に示す仮想視点画像1910,1920とは異なり、第1の3次元形状データが車両1903の表面の形状に対応するものであるため、画像領域1931の周囲に歪みのない画像になっている。
図6及び7を参照して、実施形態1に係る画像処理装置600の構成について説明する。図6は、実施形態1に係る画像処理装置600の機能ブロックの構成の一例を示すブロック図である。画像処理装置600は、画像取得部601、距離取得部602、第1取得部603、第2取得部604、第3取得部605、マッピング部606、視点取得部607、及び画像生成部608を有する。
画像処理装置600が備える各部の処理は、画像処理装置600に内蔵されたASIC(Application Specific Integrated Circuit)等のハードウェアによってなされる。画像処理装置600が備える各部の処理は、画像処理装置600に内蔵されたFPGA(Field Programmable Gate Array)等のハードウェアによってなされてもよい。また、当該処理は、CPU(Central Processor Unit)若しくはGPU(Graphic Processor Unit)、及びメモリを用いたソフトウェアによってなされてもよい。
図7を参照して、画像処理装置600が備える各部がソフトウェアとして動作する場合の画像処理装置600のハードウェア構成について説明する。図7は、実施形態1に係る画像処理装置600のハードウェア構成の一例を示すブロック図である。画像処理装置600は、コンピュータにより構成されており、当該コンピュータは、図7に一例として示すようにCPU701、RAM702、ROM703、補助記憶装置704、表示部705、操作部706、通信部707、及びバス708を有している。
CPU701は、RAM702又はROM703に格納されているプログラム又はデータを用いて当該コンピュータを制御することにより、当該コンピュータを図6に示す画像処理装置600が備える各部として機能させる。なお、画像処理装置600は、CPU701とは異なる1又は複数の専用のハードウェアを有し、CPU701による処理の少なくとも一部を専用のハードウェアが実行してもよい。専用のハードウェアの例としては、ASIC、FPGA、及びDSP(デジタルシグナルプロセッサ)等がある。ROM703は、変更を必要としないプログラム等を格納する。RAM702は、補助記憶装置704から供給されるプログラム若しくはデータ、又は通信部707を介して外部から供給されるデータ等を一時記憶する。補助記憶装置704は、例えばハードディスクドライブ等で構成され、画像データ又は音声データ等の種々のデータを記憶する。
表示部705は、例えば液晶ディスプレイ又はLED等により構成され、ユーザが画像処理装置600を操作又は閲覧するためのGUI(Graphical User Interface)等を表示する。操作部706は、例えばキーボード、マウス、又はタッチパネル等により構成され、ユーザによる操作を受けて各種の指示をCPU701に入力する。CPU701は、表示部705を制御する表示制御部、及び操作部706を制御する操作制御部としても動作する。通信部707は、画像処理装置600の外部の装置との通信に用いられる。例えば、画像処理装置600が外部の装置と有線接続される場合には、通信用のケーブルが通信部707に接続される。画像処理装置600が外部の装置と無線通信する機能を有する場合には、通信部707はアンテナを備える。バス708は、画像処理装置600の備える各部をつないで情報を伝達する。実施形態1では、表示部705及び操作部706は、画像処理装置600の内部に存在するものとして説明するが、表示部705及び操作部706の少なくとも一方は、画像処理装置600の外部に別の装置として存在していてもよい。
図8乃至11を参照して、画像処理装置600の動作、及び画像処理装置600が有する図6に示す各部の処理について説明する。図8は、実施形態1に係る画像処理装置600の処理フローの一例を示すフローチャートである。なお、以下の説明において記号「S」はステップを意味する。まず、S801にて、画像取得部601は、基準点の周囲を撮像する撮像装置の撮像により得られた撮像画像のデータ(以下「撮像画像データ」ともいう。)を取得する。具体的には、画像取得部601は、通信部707を介して撮像装置から、又は補助記憶装置704から、撮像画像データを取得する。例えば、画像取得部601は、基準点の周囲を撮像する複数台の撮像装置のそれぞれによる撮像により得られた複数の撮像画像データを取得する。
図9を参照して、撮像装置902乃至905の配置について説明する。図9は、実施形態1に係る撮像装置902乃至905及び測距センサ906の配置の一例を示す図である。本実施形態では、図9に示すように、撮像装置902乃至905のそれぞれは、車両901に配置され、車両901から外向きに車両901の周囲を撮像する。また、各撮像装置902乃至905には魚眼レンズが装着されており、少ない台数で車両901の周囲を360度に亘って撮像することができる。図9に示す各撮像装置902乃至905の配置、及び各撮像装置902乃至905装着するレンズの構成は、あくまで一例に過ぎず、これに限定されるものではない。例えば、撮像装置の台数は、複数台に限定されるものではなく、画像取得部601は、基準点の周囲を広角に又は360°に亘って撮像可能な1台の撮像装置による撮像により得られた撮像画像データを取得するものであってもよい。
以下、本実施形態では、図9に一例として示すように、4台の撮像装置902乃至905が配置されているものとして説明する。また、以下、本実施形態では、画像取得部601により取得される撮像画像データは、一例として、RGBの3チャンネルのカラー画像データである場合の形態に説明するが、撮像画像データは、1チャンネルのグレー画像データ又は動画像データであってもよい。なお、撮像画像データが動画像データである場合、画像処理装置600は、各撮像装置902乃至905により略同時刻に撮像されたフレームを用いて処理を行う。
また、画像取得部601は、撮像画像データに加えて、撮像装置の位置及び姿勢等の撮像視点を示す情報(以下「撮像視点情報」という。)を撮像装置902乃至905から撮像装置902乃至905ごとに取得する。本実施形態において、撮像視点とは、撮像装置902乃至905のそれぞれにおける視点を指し、撮像視点情報とは、撮像装置902乃至905のそれぞれについての情報を意味する。撮像視点情報には、予め定められた座標系における撮像装置902乃至905の位置及び姿勢等を示す情報が含まれる。ここで、撮像装置の姿勢を示す情報とは、例えば、撮像装置の光軸の方向を示す情報である。また、撮像視点情報は、撮像装置902乃至905の位置及び姿勢等を示す情報に加えて、撮像装置902乃至905の焦点距離又は主点位置等の撮像装置の画角を示す情報を含むものであってもよい。撮像視点情報を用いることにより、撮像画像の各画素と、撮像画像に写ったオブジェクトの位置とを対応付けることができる。その結果として、オブジェクトにおける特定の箇所に対応する、撮像画像における画素を特定して、当該箇所に対応する色情報を取得することができる。
以下、本実施形態では、座標系として、車両901の前後方向をx軸、左右方向をy軸、上下方向をz軸、及び車両901の中心点を地表面に投影した点を座標系の原点と定義して説明する。また、以下、座標系は右手座標系とし、車両901の進行方向をx軸の正方向、車両901の左方向をy軸の正方向、及び上方向をz軸の正方向と定義して説明する。なお、上述の定義は、これに限定されるものではなく、任意の座標系を定義してよい。以下、上述の座標系を世界座標系と表記して説明する。また、撮像視点情報は、上述の情報の他に、撮像装置902~905による撮像により得られる撮像画像の歪曲を示す歪曲パラメータ、並びに、F値、シャッタースピード、及びホワイトバランス等の撮像パラメータを含むものであってもよい。画像取得部601は、取得した撮像画像データと撮像視点情報とをRAM702等に一時記憶する。画像取得部601は、複数の撮像画像データのそれぞれがどの撮像装置により撮像されたものであるかを区別するために、撮像装置を識別可能な番号(以下「視点番号」という。)等の情報と各撮像画像データとを対応付けてRAM702等に一時記憶してもよい。
S801の後、S802にて、距離取得部602は、基準点から、基準点の周辺に存在するオブジェクトまでの距離を示す距離情報を取得する。具体的には、例えば、距離取得部602は、通信部707を介して測距センサ906から、又は補助記憶装置704から、測距センサ906により取得された距離情報を取得する。距離情報は、図9に一例として示す車両901に設置された1台の測距センサ906により取得され、測距センサ906は、例えば、車両901の中心点の上方における車両901の上部に配置されている。本実施形態では、測距センサ906としてLiDARを用い、測距センサ906は、車両901の周囲を360度に亘って測距することにより得た点群データを距離情報として取得するものとして説明する。なお、図9に示す測距センサ906の配置方法及び台数は、あくまで一例に過ぎず、例えば、車両901の前後左右に1台ずつ、計4台のLiDARを配置する等、他の構成により点群データを取得してもよい。また、例えば、測距センサ906は、LiDARに限定されるものではなく、点群データ等の距離情報を取得可能なものであれば、RADAR又はSONAR等であってもよい。
また、測距センサ906は、点群データを取得して出力するものに限定されるものではない。例えば、測距センサ906は、基準点から基準点の周辺に存在するオブジェクトまでの距離を示すデプスマップのデータ(以下「デプスマップデータ」ともいう。)を生成して出力するものであってもよい。なお、デプスマップデータは、ステレオカメラ等のステレオ光学系による撮像により得られた撮像画像データに基づいて生成される。ステレオ光学系による撮像により得られた撮像画像データからデプスマップデータを生成する手法は周知であるため説明を省略する。
距離取得部602は、距離情報に加えて、測距センサ906の位置及び姿勢を示す情報(以下「測距センサ情報」という。)を取得する。測距センサ情報には、世界座標系における測距センサ906の位置及び姿勢を示す情報が含まれる。ここで、測距センサ906の姿勢を示す情報とは、例えば、測距センサの光軸の方向を示す情報である。距離取得部602は、取得した距離情報と測距センサ情報とをRAM702等に一時記憶する。
S802の後、S803にて、第1取得部603は、距離取得部602により取得された点群データ等の距離情報に基づいて、第1の3次元形状データを生成して取得する。具体的には、距離情報が点群データである場合、例えば、第1取得部603は、点群データが示す複数の点のそれぞれを頂点とする複数の三角形ポリゴン等の複数の面を特定することによりオブジェクトの表面の形状に対応する第1の3次元形状データを生成する。例えば、第1取得部603は、LiDARが、上下方向の縦1列の点列であるスキャンラインによるビームの照射方向を変更しながら点群データを取得するという測定原理を利用して、点群データから3次元形状データを生成する。このような原理を利用することにより、第1取得部603は、比較的に軽い処理で点群データから3次元形状データを生成することができる。具体的には、第1取得部603は、距離取得部602により取得された点群データが示す各点が、LiDARのどの位置から照射されたビームであるかを特定することにより、点群データが示す互いに異なる点間の関係を特定する。第1取得部603は、特定した当該関係に基づいて面(ポリゴン)を生成する。
なお、上述又は以下では、LiDARを用いて点群データを取得する形態について説明するが、他の測距センサを用いて取得した点群データについても同様の処理を適用することができる。また、第1の3次元形状データの生成方法は、上述の点群データが示す各点間の関係に基づく方法に限定されるものではなく、点群データに基づいてオブジェクトの表面の形状に対応する3次元形状データを生成可能であれば、任意の方法であってよい。また、距離情報がデプスマップデータである場合、例えば、第1取得部603は、以下のようにして第1の3次元形状データを生成することができる。まず、第1取得部603は、デプスマップにおける各画素と各画素に対応する深度とを3次元の空間座標に変換することにより、デプスマップの各画素に対応する3次元空間における複数の点を特定する。次に、第1取得部603は、特定した3次元空間における各点を頂点とする複数の面を特定することにより、オブジェクトの表面の形状に対応する第1の3次元形状データを生成する。デプスマップから3次元形状データを生成する方法は周知であるため、詳細な説明については省略する。
以下、点群データから第1の3次元形状データを生成する方法について具体的に説明する。まず、点群データが示す各点の順序を入れ替える。具体的には、LiDARを用いて取得した点群データが示す各点がどのリング及びスキャンラインに対応するかを特定し、各点の順序が上位のリングから下位のリングへとなるように、各点の順序を入れ替える。ここで、リングとは、LIDARがビームを照射する周方向の1周に亘る点列であり、スキャンラインとは、LIDARがビームを照射する上下方向の点列である。以下、各リングの点の順序は、一例として、x軸の正方向を照射の開始点として、原点からz軸の正方向を見たときに時計回りに並ぶ順序となるように入れ替えを行うものとする。
順序の入れ替え方法は、順序の入れ替えを行う前の点群データの各点の順序によって処理が異なり、順序の入れ替えを行う前の点群データが保持する情報に応じた処理が行われる。例えば、点群データが、各点について、取得時のリング及びスキャンラインを特定可能な情報を保持している場合は、当該情報に基づいて、上述した順序となるように点群データが示す各点の入れ替えが行われる。また、点群データが当該情報を保持していない場合は、例えば、まず、各点の3次元空間における位置と、測距センサ情報に含まれるLiDARが設置された位置を示す情報とから、各点に対応するLiDARの仰俯角と方位角とを算出する。次に、算出した仰俯角及び方位角に基づいて、各点に対応するリングの位置とスキャンラインの位置とを特定して、上述した順序となるように点群データが示す各点の入れ替えが行われる。
次に、LiDARを用いて取得した点群データの座標の原点は、LiDARの設置位置が基準となっているため、順序を入れ替えた後の点群データの原点が世界座標系の原点となるように順序を入れ替えた後の点群データの補正が行われる。以下、点群データの座標の原点はLiDARの設置位置であるものとして説明する。具体的には、点群データに含まれる各点について、各点の3次元の空間座標から、世界座標系における点群データの原点の座標を減算することにより、順序を入れ替えた後の点群データの補正が行われる。世界座標系における点群データの原点の座標は、距離取得部602により取得された測距センサ情報に含まれる測距センサの位置を示す情報を用いる。最後に、当該補正後の点群データに基づいて、オブジェクトの表面の形状に対応する複数の面を構成する。ここで、面を構成するとは、図3に一例として示すデータセットに従って、各三角形ポリゴンに対して3個の頂点のそれぞれに対応する頂点IDを対応付けることである。
図10を参照して、当該補正後の点群データに基づいて、オブジェクトの表面の形状に対応する面を構成する処理について説明する。図10は、実施形態1に係る、点群データに基づいてオブジェクトの表面の形状に対応する面を構成する処理の一例を説明するための説明図である。図10(a)には、上述の補正を行った後の点群データが示す各点が中黒丸で、また、オブジェクトの表面の形状に対応する面が、中黒丸で示す点同士を結ぶ3個の線分で囲む三角形として示されている。各点には、頂点ID(図10では一例としてVp-q(p及びqは0以上の整数))が対応付けられており、各面には、三角形ポリゴンID(図10では一例としてTr(rは0以上の整数))が対応付けられている。ここで、pは、リング番号であり、qは、スキャンライン番号である。rの最大値は、構成できた面の数によって決定される。図10に一例として示すように、順序の入れ替えにより既に正しい順序で並んでいる点群データが示す各点を順序通りに結んで、各点を頂点とする三角形により構成される複数の面を構成する。このようにして構成された各面に三角形ポリゴンIDを付与し、付与した三角形ポリゴンIDと頂点IDとを対応付けて、図10(b)に一例として示すトライアングルリストを第1の3次元形状データとして生成する。
S803の後、S804にて、第2取得部604は、平面形状又は曲面形状の3次元形状(以下「基準3次元形状」という。)のデータ(以下「基準3次元形状データ」という。)により構成される第2の3次元形状データを生成する。第2取得部604は、基準3次元形状データを変形することにより第2の3次元形状データを生成してもよく、複数の基準3次元形状データを組合せて第2の3次元形状データを生成してもよい。例えば、第2取得部604は、路面に対応する基準3次元形状データである平面形状503のデータと、車両501の周囲の環境における遠景等に対応する基準3次元形状データである曲面形状504のデータとを組合せた第2の3次元形状データを生成する。基準点である車両501から曲面形状504までの距離505は、通信部707を介して、又は補助記憶装置704から取得した基準の距離を示す情報に基づいて設定される。基準の距離は、基準点である車両501が走行する道路の幅又は歩道の幅等に基づいて予め設定されたものであっても、ユーザ等が道路状況等の基準点の周囲の状況に応じて任意に設定したものであってもよい。また、第2の3次元形状データは、上述した基準3次元形状データの組合せに限定されるものではないが、z軸方向の成分を持つ、つまり、高さ方向の成分を持つ基準3次元形状のデータを含むことが好適である。第2の3次元形状データが高さ方向の成分を持つ基準3次元形状のデータを含むことにより、仮想視点画像における、車両等の基準点の遠方に存在する建築物等の高さのあるオブジェクトに対応する画像領域において、歪み又は倒れを低減させることができる。上述したように、車両等の基準点に対応する仮想空間における点から高さ成分を持つ基準3次元形状までの距離は、上述の基準の距離に基づいて設定される。
図11を参照して、曲面形状504とは形状が異なる、高さ方向の成分を持つ基準3次元形状について説明する。図11は、実施形態1に係る高さ方向の成分を持つ基準3次元形状のデータの一例を可視化した図である。高さ方向の成分を持つ基準3次元形状としては、曲面形状504のような車両を取り囲む曲面に換えて、例えば、図11(a)に示すような世界座標系のx-y軸に垂直な複数の平面を車両の前後左右に配置して設定したものであってもよい。また、例えば、図11(b)に示すような半球状の曲面を設定したものであってもよい。なお、第2の3次元形状データには、必ずしも、平面形状503のような路面に対応する基準3次元形状のデータが含まれる必要ではなく、第1取得部603が路面に対応する3次元形状データを含む第1の3次元形状データを生成してもよい。この場合、車両等の基準点の周囲の環境を高精度に反映した地面又は床面等を示す3次元形状データの生成が可能となる。
S804の後、S805にて、第3取得部605は、第1取得部603により取得された第1の3次元形状データと、第2取得部604により取得された第2の3次元形状データとを統合した第3の3次元形状データを取得する。具体的には、例えば、第3取得部605は、第1の3次元形状データである図10に一例として示すトライアングルリストと、第2の3次元形状データであるトライアングルリスト等の情報とを保持する第3の3次元形状データを生成して取得する。なお、第3取得部605は、図10に示すようなトライアングルリストのような頂点と面とを対応付けた情報に加えて、各面の法線方向を示す法線情報等を含む第3の3次元形状データを生成してよい。また、第1の3次元形状データと第2の3次元形状データとを統合する方法は、上記の方法に限定されるものではない。例えば、第2の3次元形状データ生成時に設定された基準の距離よりも近い位置に存在する第1の3次元形状データの頂点及び面の情報を、第2の3次元形状データに追加することにより、第1の3次元形状データと第2の3次元形状データとを統合してもよい。
S805の後、S806にて、マッピング部606は、画像取得部601により取得された撮像画像データをテクスチャ画像のデータとして、当該テクスチャ画像を第3取得部605により取得された第3の3次元形状データにマッピングする。ここでいう、テクスチャ画像のマッピングとは、三角形ポリゴンごとに三角形ポリゴンの頂点とテクスチャ画像における点とを対応付けることである。以下、テクスチャ画像のマッピング処理の具体的な方法について説明する。
まず、撮像画像データを用いて第3の3次元形状データにマッピングするテクスチャ画像のデータを生成する。具体的には、例えば、視点番号が小さい撮像装置による撮像により得られた撮像画像データから順に撮像画像を上から並べた画像をテクスチャ画像として生成する。例えば、4台の撮像装置が得る4つの撮像画像データのそれぞれの画像サイズがFULLHD(1920×1080[pix])である場合、テクスチャ画像の画像サイズは、1920×4320[pix]となる。テクスチャ画像の生成方法はこれに限定されるものではない。例えば、テクスチャ画像のデータを構成する複数の画像データのそれぞれと各撮像画像データを構成する複数の画像データのそれぞれとが互いに対応付けされていれば、テクスチャ画像のデータを構成する各画像データの配置、又は配置の順序は任意である。
また、テクスチャ画像を生成する際に、不可視領域又はオクルージョン領域に対応する第3の3次元形状データにおける領域に貼り付けるためのテクスチャ画像の画素値を、生成するテクスチャ画像のデータの一部に用意してもよい。ここで、不可視領域とは、撮像画像データを取得したいずれの撮像装置によっても撮像することができない領域のことである。また、オクルージョン領域とは、撮像画像データを取得した全ての撮像装置において、ある撮像装置の近方に存在するオブジェクトにより遮蔽された領域のうち、他のいずれの撮像装置によっても撮像することができない撮像領域のことである。
以下、一例として、不可視領域及びオクルージョン領域に対応する第3の3次元形状データにおける領域に貼り付けるためのテクスチャ画像が一様な黒色であるものとして説明する。この場合、例えば、生成するテクスチャ画像における最も左上に位置する画素に対応する画素値を黒色(r,g,b)=(0,0,0)を示す画素値に置き換えることにより、上述の領域に貼り付けるテクスチャ画像の画素値を用意する。なお、不可視領域及びオクルージョン領域用に用意する画素値は、必ずしも、上述した位置の画素に対応する画素値を置き換えることにより用意する必要はない。例えば、他の位置に位置する画素の画素値として用意してもよく、テクスチャ画像の縦方向の最下段に1ライン分の画素を追加し、追加した画素の画素値として用意してもよい。また、不可視領域及びオクルージョン領域用に用意する画素値は黒色を示す画素値以外の任意の画素値であってもよい。また、不可視領域用に用意する画素値、及びオクルージョン領域用に用意する画素値について、互いに異なる画素値を用意してもよい。
次に、第3の3次元形状データに含まれる全ての頂点について、頂点ごとに、撮像画像データとの対応関係を取得する。具体的には、撮像視点情報に基づいて、各頂点の3次元の空間座標(Xj,Yj,Zj)を撮像画像データにおける画素の座標(uij,vij)に変換する。ここで、jは、第3の3次元形状データに含まれる複数の頂点を識別するための番号、iは、撮像画像データを構成する複数の画像データを識別するための画像番号である。上述の変換は、例えば、次式(1)を解いた次式(2)を用いて行う。
式(1)において、Riは、画像番号iの世界座標系での光軸方向を示すベクトルである。(Xcam,i、Ycam,i、Zcam,i)は、撮像視点情報に含まれる、画像番号iに対応する画像データを得た撮像装置の位置を示す世界座標系における座標である。fiは、画像番号iに対応する画像データを得た撮像装置の焦点距離であり、cxi及びcyiは、画像番号iに対応する画像データを得た撮像装置の主点の位置である。また、tは、定数である。式(1)を(uij、vij)について解くことにより、式(2)が得られる。式(2)を用いていることにより、まず、tを求めることができる。さらに、得られたtを用いることにより、各頂点の3次元の空間座標(Xj,Yj,Zj)に対応する撮像画像データにおける画素の座標(uij、vij)を求めることができる。
最後に、各頂点の3次元の空間座標に対応する、撮像画像データにおける画素の座標に基づいて、三角形ポリゴンとテクスチャ画像とを三角形ポリゴンごとに対応付ける。具体的には、まず、算出した撮像画像データにおける画素の座標に基づいて、各三角形ポリゴンを構成する全ての頂点に対して、各頂点が撮像装置の画角内に存在するか否かを撮像装置ごとに判定する。ある三角形ポリゴンを構成する全ての頂点について画角内となる撮像装置が1台のみである場合、当該三角形ポリゴンに当該撮像装置により得られた撮像画像データをテクスチャ画像のデータとして対応付ける。三角形ポリゴンとテクスチャ画像とを対応付ける際に、式(2)を用いて、算出した撮像画像データにおける画素の座標をテクスチャ画像における画素の座標に変換する。また、ある三角形ポリゴンを構成する全ての頂点が画角内となる撮像装置が1つも存在しない場合、当該三角形ポリゴンに対応する領域を撮像領域とする撮像装置が存在しないものとする。すなわち、この場合、当該三角形ポリゴンに上述の不可視領域用に用意した画素値を有するテクスチャ画像における画素の座標を対応付ける。また、ある三角形ポリゴンを構成する全ての頂点が画角内となる撮像装置が複数台存在する場合、まず、画角内となった複数台の撮像装置のうちのいずれかの撮像装置を選択する。さらに、選択した撮像装置により得られた撮像画像データをテクスチャ画像のデータとして当該三角形ポリゴンに対応付ける。上述の撮像装置の選択は、三角形ポリゴンに対応する領域を高解像度に撮像する撮像装置を選択する等の任意の方法により行われる。また、三角形ポリゴンを構成する全ての頂点が画角内となる撮像装置が複数台存在する場合、上述のような1台の撮像装置のみを選択する方法に限定されるものではない。例えば、複数台の撮像装置により得られた複数の撮像画像データにおける対応する画素の画素値を任意の割合でブレンドして、新たなテクスチャ画像を生成してもよい。なお、この場合、テクスチャ画像に対して、ブレンドした後の画素値を反映する必要がある。
以上の処理を全ての三角形ポリゴンに対して行うことにより、テクスチャ画像をマッピングした、テクスチャ付きの第3の3次元形状データが生成される。なお、上述したテクスチャ画像のマッピング処理は一例に過ぎず、撮像画像データを用いて第3の3次元形状データにテクスチャ画像をマッピングできれば、任意の方法を用いてマッピング処理を行ってよい。
S806の後、S807にて、視点取得部607は、仮想視点を示す情報(以下「仮想視点情報」という。)を取得する。ここで、仮想視点とは、画像処理装置600により生成される仮想視点画像を生成する際の視点を指す。具体的には、仮想視点情報には、撮像視点情報と同様に、予め定められた世界座標系等の座標系における仮想視点の位置を示す位置情報、及び視線の方向(「光軸方向」ともいう。)を示す姿勢情報が含まれている。仮想視点情報は、位置情報及び姿勢情報に加えて、仮想視点からの画角を示す情報、仮想視点画像の解像度を示す情報等を含んでもよい。さらに、仮想視点情報は、位置情報及び姿勢情報に加えて、歪曲パラメータ及び撮像パラメータ等を含んでもよい。仮想視点情報は、例えば、ユーザよる操作入力等により与えられる。
S807の後、S808にて、画像生成部608は、視点取得部607により取得された仮想視点情報に基づいて、マッピング部606により取得されたテクスチャ付きの第3の3次元形状データをレンダリングすることにより仮想視点画像を生成する。指定された仮想視点に基づいて、テクスチャ付きの3次元形状データをレンダリングして仮想視点画像を生成する方法は周知であるため説明を省略する。画像生成部608は、生成した仮想視点画像のデータを補助記憶装置704又は表示部705等に出力する。S808の後、画像処理装置600は、図8に示すフローチャートの処理を終了する。
以上のように、画像処理装置600は、距離情報に基づいて生成した基準点の近方に存在するオブジェクトの表面の形状に対応する第1の3次元形状データを含む第3の3次元形状データにテクスチャ画像をマッピングする。このように構成した画像処理装置600によれば、基準点の近方にオブジェクトが存在する場合であっても、近方に存在するオブジェクトと遠方に存在するオブジェクトとが互いにバランスの取れた高精度の仮想視点画像を生成することができる。なお、本実施形態では、画像処理装置600を車両に適用した形態を示したが、これに限定されるものではなく、画像処理装置600は、施設若しくは敷地の内外、又は道路若しくは線路等が敷設された空間等を監視する監視システムに適用することもできる。
<実施形態2>
実施形態1に係る画像処理装置600は、距離情報に基づいて生成した第1の3次元形状データと、基準3次元形状データの組合せ等により生成した第2の3次元形状データとを統合した第3の3次元形状データにテクスチャ画像をマッピングするものであった。特に、実施形態1に係る画像処理装置600は、第2の3次元形状データにおいて、基準点である車両から、高さ方向の成分を持つ基準3次元形状までの距離は、予め定められた任意の距離を基準の距離として設定するものであった。これに対して、実施形態2に係る画像処理装置は、測距センサから取得した距離情報に基づいて基準の距離を決定して設定するものである。
実施形態1に係る画像処理装置600は、距離情報に基づいて生成した第1の3次元形状データと、基準3次元形状データの組合せ等により生成した第2の3次元形状データとを統合した第3の3次元形状データにテクスチャ画像をマッピングするものであった。特に、実施形態1に係る画像処理装置600は、第2の3次元形状データにおいて、基準点である車両から、高さ方向の成分を持つ基準3次元形状までの距離は、予め定められた任意の距離を基準の距離として設定するものであった。これに対して、実施形態2に係る画像処理装置は、測距センサから取得した距離情報に基づいて基準の距離を決定して設定するものである。
図12を参照して、実施形態2に係る画像処理装置1200の構成について説明する。図12は、実施形態2に係る画像処理装置1200の機能ブロックの構成の一例を示すブロック図である。画像処理装置1200は、画像取得部601、距離取得部602、第1取得部603、領域分割部1201、距離設定部1202、第2取得部1203、第3取得部605、マッピング部606、視点取得部607、及び画像生成部608を有する。すなわち、画像処理装置1200は、実施形態1に係る画像処理装置600と比較して、領域分割部1201及び距離設定部1202が追加され、第2取得部604が第2取得部1203に変更されたものである。
以下、図12において、図6に示す構成と同様の構成については同一の符号を付すことにより説明を省略する。すなわち、実施形態2に係る画像取得部601、距離取得部602、第1取得部603、第3取得部605、マッピング部606、視点取得部607、及び画像生成部608については、実施形態1に係る各部と同様であるため説明を省略する。なお、画像処理装置1200が有する各部の処理は、実施形態1と同様に、例えば、画像処理装置1200に内蔵されたASIC又はFPGA等のハードウェアにより実行される。当該処理は、図7に一例として示すハードウェアを用いてソフトウェアにより実行されてもよい。
領域分割部1201は、車両等の基準点の周囲の空間を複数の領域に分割する。図14を参照して、領域分割部1201による空間の分割例について説明する。図14は、実施形態2に係る領域分割部1201により分割された領域(以下「分割領域」という。)の一例を説明するための図である。図14に一例に示すように、領域分割部1201は、例えば、車両が存在する空間を4つの分割領域1401乃至1404に分割する。分割領域1401は、車両の前方の領域であってx座標が全て正の領域であり、分割領域1404は、車両の後方の領域であってx座標が全て負の領域である。また、分割領域1402は、車両の左方の領域であってy座標が全て正の領域であり、分割領域1403は、車両の右方の領域であってy座標が全て負の領域である。
距離設定部1202は、車両等の基準点に対応する仮想空間における位置から第2の3次元形状データに含まれる高さ方向の成分を持つ3次元形状までの距離を設定する。例えば、距離設定部1202は、分割された領域ごとに、基準点に対応する位置から高さ方向の成分を持つ3次元形状までの距離を決定して設定する。具体的には、距離設定部1202は、距離取得部602により取得された点群データ等の距離情報に基づいて、領域分割部1201により分割領域ごとに、基準点に対応する位置から高さ方向の成分を持つ3次元形状までの距離を決定する。
より具体的には、距離設定部1202は、距離情報に基づいて、基準点からオブジェクトまでの距離の統計値を算出し、算出した統計値に基づいて、基準点に対応する位置から高さ方向の成分を持つ3次元形状までの距離を設定する。例えば、距離情報が点群データである場合、距離設定部1202は、まず、車両から、点群データが示す複数の点のうちの対象の分割領域に含まれる各点までの距離を算出する。更に、算出した距離の中央値又は平均値等の統計値を算出して、算出した統計的な値を、基準点から対象の分割領域における基準位置までの基準の距離とする。図14には、一例として、各分割領域における基準位置として、xy平面に直交し且つ各分割領域を2等分する平面と、原点を通るxy平面との交線上に配置された基準位置1405乃至1408が示されている。原点から基準位置までの距離が上述の基準の距離となる。各分割領域における基準位置を配置する直線は、例えば、上述の分割の際に設定される。
第2取得部1204は、分割領域ごとに設定された基準の距離に基づいて、床面に接し且つ高さ方向の成分を持つ基準3次元形状のデータを定義して、第2の3次元形状データを生成する。高さ方向の成分を持つ基準3次元形状は、例えば、図14に示す実線1409のように、各分割領域において基準位置を通り、且つx軸又はy軸に直交する複数の平面形状の組合せにより定義する。また、例えば、図14に示す破線1410のように、各分割領域において基準位置を通り、且つ各基準位置を滑らかにつなぐような曲面により定義してもよい。
車両の周囲の環境には、車両同士のすれ違いが困難な幅員の狭い道路、又は片側に2車線あるような幅員の広い道路等、様々なものがある。そのため、基準点である車両から、道路の周囲に存在する建築物等のオブジェクトまでの距離は、車両が存在する環境によって様々である。また、実施形態1に記述した車両を中心の位置を原点として定義した世界座標系において、道路における車両のy軸方向における位置によっては、車両から建築物等のオブジェクトまでの距離がy軸の正方向と負方向とで互いに異なる場合がある。実施形態2に係る画像処理装置1200によれば、上述のような場合であっても、第2の3次元形状データを生成する際に距離情報を用いて分割領域ごとに基準の距離を設定することができるため、車両の周囲の環境を高精度に反映することができる。結果として、基準点の近方にオブジェクトが存在する場合であっても、車両等の基準点の周囲の環境によらず、近方に存在するオブジェクトと遠方に存在するオブジェクトとが互いにバランスの取れた高精度の仮想視点画像を生成することができる。
図13を参照して、画像処理装置1200の動作について説明する。図13は、実施形態2に係る画像処理装置1200の処理フローの一例を示すフローチャートである。以下、図13において、図8に示す処理と同様の処理については同一の符号を付すことにより説明を省略する。まず、画像処理装置1200は、S801からS803までの処理を実行する。S803の後、S1302にて、領域分割部1201は、基準点の周囲の空間を複数の領域に分割する。領域分割部1201が分割する分割領域の数は、例えば、予め定められており、領域分割部1201は、分割領域の数を示す情報(以下「分割情報」という。)を、通信部707を介して、又は補助記憶装置704から取得する。
以下、領域分割部1201は、基準点の周囲の空間を図14に一例として示す4つの分割領域1401乃至1404に分割するものとして、分割処理の具体例について説明する。まず、車両の全周囲に相当する360度を分割情報が示す数で除して、各分割領域に割り当てる角度を算出する。図14の場合、360度を4で除するため、各分割領域に割り当てる角度は90度となる。次に、各分割領域における基準位置を配置する直線を決定するための基準方向ベクトルを分割領域ごとに算出する。本実施形態では、x軸が正で、且つy座標が0である点の方向を最初の基準方向ベクトルとして、z軸の正方向から原点を見たときに反時計周り方向の順番に基準方向ベクトルを決定する。例えば、基準方向ベクトルを決定は、次式(3)を用いて行う。
ここで、θは、各分割領域に割り当てる角度であり、iは、何番目の基準方向ベクトルであるかを示す定数である。図14の場合、θは、90度であり、iは、1から4までのいずれかの値である。式(3)に従うと、基準の方向ベクトルは、(1,0)、(0,1)、(-1,0)、(0,-1)の順に算出される。
最後に、算出した基準方向ベクトルに基づいて分割領域を定義する。例えば、分割領域の境界を、開始の方向ベクトル及び終了の方向ベクトル(以下「開始ベクトル」及び「終了ベクトル」という。)の2つ方向ベクトルで定義することにより、分割領域を定義する。具体的には、例えば、まず、処理対象の分割領域の基準の方向ベクトルと、処理対象の分割領域の基準の方向ベクトルからz軸の正方向から原点を見たときに時計回り方向に最初に検出される基準の方向ベクトルとの平均ベクトルを算出する。次に、平均ベクトルを正規化して、正規化した平均ベクトルを、処理対象の分割領域の開始ベクトルとして定義する。また、終了ベクトルについては、まず、処理対象の分割領域の基準の方向ベクトルと、処理対象の分割領域の基準の方向ベクトルからz軸の正方向から原点を見たときに反時計回り方向に最初に検出される基準の方向ベクトルとの平均ベクトルを算出する。次に、平均ベクトルを正規化して、正規化した平均ベクトルを、処理対象の分割領域の終了ベクトルとして定義する。図14の場合、各分割領域の開始ベクトルは、(1/√2,-1/√2)、(1/√2,1/√2)、(-1/√2,1/√2)、(-1/√2,-1/√2)となる。また、各分割領域の終了ベクトルは、(1/√2,1/√2)、(-1/√2,1/√2)、(-1/√2,-1/√2)、(1/√2,-1/√2)となる。
本実施形態では、分割領域の数が4つである場合について説明したが、分割領域の数は、4つに限定されるものではなく、任意の分割数であってよい。また、本実施形態では、各分割領域の基準点における角度が均等になるように分割領域を定義したが、このような角度に限定されるものではない。例えば、車両の進行方向の分割領域の角度と、他の分割領域の角度とで互いに異なる角度を定義する等、方向に応じた分割領域の角度を定義してもよい。また本実施形態では、2つの方向ベクトルを用いて分割領域の境界を定義したが、分割領域の定義の方法は、これ限定されるものではない。例えば、基準点の周囲の空間を一定の細かな間隔で区切った区分領域の集合を用意し、各分割領域に対応する区分領域の識別情報を保持するように設定する等、分割領域を定義可能な方法であれば任意の方法で分割領域を定義してよい。
S1301の後、S1302にて、距離設定部1202は、領域分割部1201により分割された分割領域ごとに、距離取得部602により取得された距離情報に基づいて基準の距離を算出する。以下、一例として、距離情報が点群データである場合の基準の距離の算出方法について説明する。まず、距離設定部1202は、世界座標系の原点から点群データが示す各点までのベクトルをxy平面に射影した方向ベクトルをそれぞれ算出する。次に、処理対象の分割領域において、上述の開始ベクトルと終了ベクトルとの間に存在する方向ベクトルに対応する1以上の点を特定する。さらに、特定した各点について、車両等の基準点から、つまり世界座標系の原点から、特定した点までの距離を、特定した点の3次元の空間座標に基づいて算出する。最後に、特定した点ごとに算出した距離の中央値、最大値、又は平均値等の統計値を算出し、算出した統計値を処理対象の分割領域における基準の距離として設定する。また、基準の距離として設定する統計値の算出において、特定した複数の点のうちの一部に対応する距離だけを用いてもよい。具体的には、第1の3次元形状データで表現可能な、車両から近方の予め定められた範囲内に存在する点を事前に除去する等、特定した複数の点のうちの一部に対応する距離を用いてもよい。
S1302の後、S1303にて、第2取得部1203は、距離設定部1202により取得された分割領域ごとの基準の距離に基づいて、高さ成分を持つ基準3次元形状のデータを生成する。更に、第2取得部1203は、生成した基準3次元形状データを含む第2の3次元形状データを生成する。第2の3次元形状データとして複数の平面形状により構成された基準3次元形状のデータを用いる場合は、分割領域ごとに、基準の方向ベクトルに垂直な平面を基準の距離の位置に配置した基準3次元形状データを生成する。当該平面の高さには、例えば、車両の周囲に存在する建築物等のオブジェクトを覆うことが可能な高さを設定する。なお、当該平面の高さに設定する値は、通信部707を介して、又は補助記憶装置704から取得した予め定められた値であってよく、点群データに基づいて算出した値であってもよい。点群データに基づく当該平面の高さに設定する値の算出は、例えば、以下のように行う。距離設定部1202が分割領域ごとの基準の距離を算出する際に、上述の特定した1以上の点の3次元の空間座標におけるz座標の値の平均値、中央値、又は最大値等の統計値を算出し、算出した統計値を当該平面の高さに設定する。また、当該平面の高さは、分割領域に関わらず全ての分割領域で同一のものであってもよく、分割領域ごとに互いに異なるものであってもよい。
当該平面の幅は、当該平面と、当該平面が配置されるに分割領域に隣接する互いに異なる2つの分割領域のそれぞれに配置される平面とが交わる位置に基づいて設定される。分割領域ごとに配置した垂直の平面の全てを統合して、統合した複数の平面に対応する3次元形状データを基本3次元形状データとして生成する。更に、生成した基本3次元形状データを含む第2の3次元形状データとする。上述の統合の際は、互いに異なる分割領域に対応する面のうち、互いに重複する領域を除去してもよいし、除去しなくてもよい。除去する際は、互いに重複する領域のうち、車両等の基準点により近い領域を保持し、当該領域よりも遠方に存在し、当該領域を有する面の存在により基準点からは見ない他の面の領域を除去する。
第2の3次元形状データとして曲面形状により構成された基準3次元形状のデータを用いる場合は、まず、分割領域ごとに、基準点から基準の方向ベクトルの方向に基準の距離だけ離れた位置を算出し、算出した位置を各分割領域の基準位置とする。次に、xy平面において各分割領域の基準位置を滑らかにつないだ曲線を算出する。曲線の算出は、2つの基準位置同士を結ぶ2次関数又は多項式関数等の曲線を示す関数をあてがうことにより行えばよい。また、曲線を示す関数をあてがわず、基準位置同士を座標軸ごとに一定間隔で区切った点の位置を算出し、例えば、基準位置及び算出した点の位置を線形につないでもよい。最後に、曲線に沿って高さ方向に伸びる面を定義する。その際、高さが高くなるに従って曲線により囲まれるXY平面に平行な面の面積が大きくなるような面を定義しても、高さが高くなるに従って当該面積が小さくなるような面を定義してもよい。曲線に沿って高さ方向に伸びる面は、車両周囲の環境として表現したい形状に合わせて任意に定義すればよい。S1303の後、画像処理装置1200は、S805からS808までの処理を実行し、S808の後、図13に示すフローチャートの処理を終了する。
以上のように、画像処理装置1200は、距離情報に基づいて基準の距離を設定し、設定した基準の距離に基づいて第2の3次元形状データを生成する。更に、画像処理装置1200は、生成した第1及び第2の3次元形状データを統合した第3の3次元形状データにテクスチャ画像をマッピングする。このように構成した画像処理装置1200によれば、基準点の近方にオブジェクトが存在する場合であっても、近方に存在するオブジェクトと遠方に存在するオブジェクトとが互いにバランスの取れた高精度の仮想視点画像を生成することができる。なお、本実施形態では、画像処理装置1200を車両に適用した形態を示したが、これに限定されるものではなく、画像処理装置1200は、施設若しくは敷地の内外、又は道路若しくは線路等が敷設された空間等を監視する監視システムに適用することもできる。
<実施形態3>
実施形態1及び2に係る画像処理装置600,1200は、距離情報に基づいて生成した第1の3次元形状データと、基準3次元形状データの組合せ等により生成した第2の3次元形状データとを統合した第3の3次元形状データを生成するものであった。実施形態1及び2に係る画像処理装置600,1200は、更に、第3の3次元形状データにテクスチャ画像をマッピングするものであった。また、実施形態2に係る画像処理装置1200は、距離情報に基づいて基準の距離を設定し、設定した基準の距離に基づいて第2の3次元形状データを生成するものであった。これに対して、実施形態3に係る画像処理装置は、生成した第1の3次元形状データにおいて、距離情報に基づいて構成した面のうちから不要な面を除去し、当該除去後の第1の3次元形状データを統合して、第3の3次元形状データを生成するものである。
実施形態1及び2に係る画像処理装置600,1200は、距離情報に基づいて生成した第1の3次元形状データと、基準3次元形状データの組合せ等により生成した第2の3次元形状データとを統合した第3の3次元形状データを生成するものであった。実施形態1及び2に係る画像処理装置600,1200は、更に、第3の3次元形状データにテクスチャ画像をマッピングするものであった。また、実施形態2に係る画像処理装置1200は、距離情報に基づいて基準の距離を設定し、設定した基準の距離に基づいて第2の3次元形状データを生成するものであった。これに対して、実施形態3に係る画像処理装置は、生成した第1の3次元形状データにおいて、距離情報に基づいて構成した面のうちから不要な面を除去し、当該除去後の第1の3次元形状データを統合して、第3の3次元形状データを生成するものである。
図15を参照して、実施形態3に係る画像処理装置1500の構成について説明する。図15は、実施形態3に係る画像処理装置1500の機能ブロックの構成の一例を示すブロック図である。画像処理装置1500は、画像取得部601、距離取得部602、第1取得部603、領域分割部1201、距離設定部1202、第2取得部1203、第3取得部605、マッピング部606、視点取得部607、及び画像生成部608を有する。更に、画像処理装置1500は、上述の構成に加えて、修正部1501を有する。すなわち、画像処理装置1500は、実施形態2に係る画像処理装置1200と比較して、修正部1501が追加されたものである。なお、画像処理装置1500の構成において、領域分割部1201、距離設定部1202、及び第2取得部1203については、実施形態1に係る600が有する第2取得部604に置き換えることができる。すなわち、画像処理装置1500は、実施形態1に係る画像処理装置600と比較して、修正部1501が追加されたものであってもよい。
以下、図15において、図6又は図12に示す構成と同様の構成については同一の符号を付すことにより説明を省略する。すなわち、実施形態3に係る画像取得部601、距離取得部602、第1取得部603、第3取得部605、マッピング部606、視点取得部607、及び画像生成部608については、実施形態1又は2に係る各部と同様であるため説明を省略する。また、実施形態3に係る領域分割部1201、距離設定部1202、第2取得部1203、については、実施形態2に係る各部と同様であるため説明を省略する。なお、画像処理装置1500が有する各部の処理は、実施形態1又は2と同様に、例えば、画像処理装置1500に内蔵されたASIC又はFPGA等のハードウェアにより実行される。当該処理は、図7に一例として示すハードウェアを用いてソフトウェアにより実行されてもよい。
実施形態1で説明したように、第1取得部603は、車両等の基準点の近方に存在するオブジェクトの表面に対応する複数の面を距離情報に基づいて構成し、構成した複数の面を示す3次元形状データを第1の3次元形状データとして生成する。実施形態1において一例として説明したように、各面は、LiDARがスキャンラインのビームを照射する方向を変更しながら点群データを取得するという測定原理を利用して構成される。具体的には、LiDARからのビームの照射状況が反映されるように点群データの並び替えを行い、並び替え後の点群データが示す複数の点のうち、隣接する点同士をつなぐことにより面を構成する。この時、基準点の近方に存在するオブジェクトの表面に対応する点と、基準点から見たときの当該オブジェクトの後方に存在する他のオブジェクトの表面に対応する点とを頂点とする面が構成されることがある。
図17を参照して、基準点の近方に存在するオブジェクトの表面に対応する点と、基準点から見たときの当該オブジェクトの後方に存在する他のオブジェクトの表面に対応する点とを頂点とする面について説明する。図17(a)は、z座標が正の位置から原点に向かう方向に見たときの、基準点である車両とオブジェクトである人1701,1702との位置関係の一例を示す図である。また、図17(b)は、3次元の仮想空間における車両に対応する形状と、人1701,1702に対応する3次元形状データ1705,1706を可視化した図である。以下、図17(a)に示すように、車両の右方に車両からの距離が互いに異なる人1701,1702が2人存在する場合を例にして説明する。
図17において、LiDARから見た際に、人1701及び人1702は、隣接して存在し、人1702は、人1701よりも車両から見て遠方に存在している。実施形態1に係る第1取得部603のように点群データが示す各点をつないで面を構成する際、人1701に対応する3次元形状データ1704と人1702に対応する3次元形状データ1705との間に面1706が構成される。面1706は、本来、オブジェクトの表面に対応しない面であり、第1の3次元形状データには不要な面である。第1の3次元形状データに不要な面に対応する3次元形状データを含む場合、当該第3の3次元形状データにテクスチャ画像をマッピングしたテクスチャ付きの第3の3次元形状データに基づいて仮想視点画像が生成されることがある。この場合、不要な面にテクスチャが歪んだ状態でマッピングされることになるため、仮想視点画像における当該面に対応する画像領域において、画質が低下することになってしまう。この画質の低下に対処するため、実施形態3に係る画像処理装置1500は、第1取得部603により第1の3次元形状データから不要な面1706に対応する3次元形状データを削除する。
以下、図16を参照して、画像処理装置1500の動作について説明する。図16は、実施形態3に係る画像処理装置1500の処理フローの一例を示すフローチャートである。以下、図16において、図8又は図13に示す処理と同様の処理については同一の符号を付すことにより説明を省略する。まず、画像処理装置1500は、S801からS803までの処理を実行する。S803の後、S1601にて、修正部1501は、第1取得部603により取得された第1の3次元形状データを修正する。具体的には、修正部1501は、第1取得部603により取得された第1の3次元形状データから不要な面に対応する3次元形状データを削除することにより、第1の3次元形状データを修正する。
上述の通り、第1取得部603は、例えば、LiDARにおけるビームの照射の順番に従って面を構成するものである。そのため、第1取得部603により生成された第1の3次元形状データは、前方のオブジェクトとその後方に存在するオブジェクトとをつないだ面に対応する3次元形状データを含む。上述のとおり、当該面は、オブジェクトの表面に対応するものではない。そのため、当該面の面上には、点群データが示す点が存在しない。したがって、当該面は、本来のオブジェクトの表面に対応する面には見られないような、xy平面の広がる方向(以下「奥行方向」という。)に長さの長い面となる。
例えば、修正部1501は、第1の3次元形状データが示す複数の面のそれぞれの奥行方向の長さと、予め定められた長さの閾値とを比較する。ここで、長さの閾値には、例えば、LiDARの仕様等に基づいて算出される、構成可能な面の奥行方向の長さの上限値が設定される。例えば、修正部1501は、第1の3次元形状データに含まれる各三角形ポリゴンにおける各頂点間の距離を算出し、算出した距離が上述の長さの閾値よりも大きいか否かを判定する。当該判定の結果、算出した距離が長さの閾値よりも長い三角形ポリゴンを不要な面に対応する3次元形状データであるものとして、当該三角形ポリゴンを示すデータを3次元形状データから削除する。
上述の長さの閾値は、三角形ポリゴンごとに決定されるものであってもよい。例えば、LiDARにより取得された点群データでは、同一のリングにおける互いに隣接する点間の距離は短く、スキャンラインにおける互いに隣接する点間の距離は長くなる。また、LiDARにより取得された点群データでは、LiDARからの距離が遠くなればなるほど、スキャンラインにおける、点群データが示す床面における互いに隣接する点間の距離は長くなる。LiDARは上述のような特性を有するため、LiDARにより取得された点群データに基づいて生成された第1の3次元形状データに対して、一定の長さの閾値に基づいて面に対応する3次元形状データを削除する場合、以下のような不具合が生じることがある。例えば、長さの閾値が小さい過ぎる場合、除去すべきではない面、すなわち、オブジェクトの表面、又は路面等の正しい面に対応する3次元形状データを削除してしまう可能性がある。また、逆に、閾値が大き過ぎる場合、除去すべき面、すなわち、オブジェクトの表面又は路面等に対応しない不要な面に対応する3次元形状データを十分に削除できない可能性がある。そのため、三角形ポリゴンごとに長さの閾値を適切に変更することが好適である。
図18を参照して、上述の長さの閾値の算出方法について説明する。図18は、実施形態3に係る長さの閾値の算出方法の一例を説明するための説明図である。図18に示すように、まず、ある三角形ポリゴンに対応する頂点1801の3次元の空間座標、及びLiDAR1802の位置と頂点1801とを結ぶ直線がxy平面となす角度θを取得する。次に、LiDARの仕様等により決定されるスキャンラインにおける互いに隣接するビーム間の照射角度の差αを用いて、LiDARからθ―α及びθ―2αの角度のスキャンラインが存在した場合の点間の距離dを算出して、距離dを長さの閾値とする。次に、当該三角形ポリゴンに対応する各頂点間の距離を頂点ごとに算出し、当該距離の最大値を算出する。最後に、当該距離の最大値が決定した長さの閾値以上である三角形ポリゴンは、不要であるものとして、当該三角形ポリゴンに対応するデータを第1の3次元形状データから削除する。なお、上述の処理は、第1取得部603により取得された第1の3次元形状データに含まれる全ての三角形ポリゴンについて、三角形ポリゴンごとに実施される。また、三角形ポリゴンに対応する各頂点間の距離は、各頂点の3次元の空間座標に基づいて算出される。
上述の処理を全ての三角形ポリゴンに対して三角形ポリゴンごとに実施し、第1取得部603により取得された第1の3次元形状データから不要な面に対応する3次元形状データを削除することにより、第1の3次元形状データを修正する。本実施形態では、LiDARの仕様等に基づいて算出される構成可能な面の奥行方向の長さに基づいて、不要な面であるか否かを判定する形態について説明したが、不要な面であるか否かを判定は、これに限定されるものではない。例えば、車両等の基準点の周囲に存在し得る人又は車両等のオブジェクトの奥行方向の厚みを事前に想定し、処理対象の面の奥行方向の長さが当該厚みの長さよりも長いか否かを判定することにより、当該面が不要な面であるか否かを判定してもよい。この場合、第1の3次元形状データに含まれる複数の三角形ポリゴンについて、三角形ポリゴンによらず一律の長さの閾値を設定してもよい。この場合、除去すべきでない面を除去することを防ぐためは、例えば、まず、処理対象の三角形ポリゴンが床面に対応するものである否かを判定する。更に、三角形ポリゴンが床面に対応するものでない場合、当該三角形ポリゴンの頂点間の距離と長さの閾値とを比較することにより面の除去を行うか否かを決定すればよい。
S1601の後、画像処理装置1500は、S1301からS1303までの処理を実行する。S1303の後、画像処理装置1500は、S805の処理を実行する。具体的には、第3取得部605は、修正部1501による修正後の第1の3次元形状データと第2の3次元形状データとを統合して第3の3次元形状データを取得する。S805の後、画像処理装置1500は、S806からS808までの処理を実行し、S808の後、図16に示すフローチャートの処理を終了する。
以上のように構成した画像処理装置1500によれば、基準点の近方にオブジェクトが存在する場合であっても、近方に存在するオブジェクトと遠方に存在するオブジェクトとが互いにバランスの取れた高精度の仮想視点画像を生成することができる。特に、画像処理装置1500は、距離情報に基づいて生成された第1の3次元形状データのうち、不要な面に対応する3次元形状データを削除することにより、当該第1の3次元形状データを修正するものである。このように構成した画像処理装置1500によれば、不要な面に対応する3次元形状データを削除することにより、より高精度の仮想視点画像を生成することができる。なお、本実施形態では、画像処理装置1500を車両に適用した形態を示したが、これに限定されるものではなく、画像処理装置1500は、施設若しくは敷地の内外、又は道路若しくは線路等が敷設された空間等を監視する監視システムに適用することもできる。
<その他の実施形態>
本開示に係る画像処理装置は、上述の実施形態に限定されるものではなく、様々な実施の形態をとることが可能である。例えば、画像処理装置は、撮像装置及び測距センサと接続とされ、画像処理装置、撮像装置、及び測距センサを備える画像処理システムとして構成されていてもよい。このような構成によれば、撮像装置及び測距センサからリアルタイムに取得した撮像画像及び点群データに基づいて仮想視点画像を生成することができる。
本開示に係る画像処理装置は、上述の実施形態に限定されるものではなく、様々な実施の形態をとることが可能である。例えば、画像処理装置は、撮像装置及び測距センサと接続とされ、画像処理装置、撮像装置、及び測距センサを備える画像処理システムとして構成されていてもよい。このような構成によれば、撮像装置及び測距センサからリアルタイムに取得した撮像画像及び点群データに基づいて仮想視点画像を生成することができる。
また、上述の実施形態では、撮像画像データが静止画像データである形態について説明したがこれに限定されるものではなく、撮像画像データが動画像データであってもよい。この場合、動画像データに含まれる各フレームのデータに対して同様の処理を実施すればよい。撮像画像データが動画像データである場合、距離取得部602は、フレーム間隔等に対応する予め定められた時間間隔で、繰り返し距離情報を取得する。なお、この場合、全てのフレームのうちの一部のフレームに対応する第2の3次元形状データを生成しなくてもよい。例えば、測距センサにより取得された距離情報から取得可能な基準点の遠方の環境が大きく変化した場合にのみ、第2の3次元形状データの生成を行えばよい。これにより、必要なタイミングにのみ第2の3次元形状データの生成を行うことになるため、第2の3次元形状データを生成するための処理に要する演算コストを低減することができる。また、この必要なタイミングのみでの第2の3次元形状データの生成は、演算コストに依存するリアルタイム処理にも有効である。
また、上述の実施形態では、画像処理装置は、視点取得部607及び画像生成部608を有することにより仮想視点画像を生成する形態について説明したが、画像処理装置は、必ずしも仮想視点画像を生成するものでなくてもよい。例えば、画像処理装置は、仮想視点画像を生成して出力せずに、マッピング部606により生成されたテクスチャ付きの3次元形状データを補助記憶装置704又は表示部705等に出力するものであってもよい。
また、上述の実施形態では、車両の周囲の360度に亘る空間に対応する第1、第2、及び第3の3次元形状データを取得する形態について説明したが、第1、第2、及び第3の3次元形状データに対応する空間は、これに限定されるものではない。仮想視点の位置又は視線の方向等が予め所定の範囲内に定められている場合等、車両の周囲の空間のうちの一部の空間のみに対応する第1、第2、及び第3の3次元形状データを取得してもよい。
本開示は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
なお、本開示はその開示の範囲内において、各実施形態の自由な組み合わせ、各実施形態の任意の構成要素の変形、又は、各実施形態において任意の構成要素の省略が可能である。
600 画像処理装置
601 画像取得部
602 距離取得部
603 第1取得部
604 第2取得部
605 第3取得部
606 マッピング部
601 画像取得部
602 距離取得部
603 第1取得部
604 第2取得部
605 第3取得部
606 マッピング部
Claims (19)
- 基準点の周囲を撮像する撮像装置の撮像により得られた撮像画像のデータを取得する画像取得手段と、
前記基準点から、前記基準点の周辺に存在するオブジェクトまでの距離を示す距離情報を取得する距離取得手段と、
前記距離情報に基づいて、前記オブジェクトの形状に対応する第1の3次元形状データを取得する第1取得手段と、
前記オブジェクト以外の前記基準点の周囲に対応する、1以上の平面又は曲面により構成される第2の3次元形状データを取得する第2取得手段と、
前記第1の3次元形状データと前記第2の3次元形状データとを統合した第3の3次元形状データを取得する第3取得手段と、
前記第3の3次元形状データに対して前記撮像画像をマッピングするマッピング手段と、
を有すること
を特徴とする画像処理装置。 - 前記距離情報は、前記基準点から、前記基準点の周辺に存在する前記オブジェクトまでの距離を示す点群データであること
を特徴とする請求項1に記載の画像処理装置。 - 前記第1取得手段は、前記点群データが示す複数の点のそれぞれを頂点とする複数の面を特定することにより、前記オブジェクトの表面の形状に対応する前記第1の3次元形状データを取得すること
を特徴とする請求項2に記載の画像処理装置。 - 前記距離情報は、前記基準点から、前記基準点の周辺に存在する前記オブジェクトまでの距離を示すデプスマップのデータであること
を特徴とする請求項1に記載の画像処理装置。 - 前記第2の3次元形状データは、前記基準点の周囲における地面又は床面に対応する3次元形状のデータを含むこと
を特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。 - 前記第2の3次元形状データは、前記地面又は床面に対応する3次元形状に対して高さ方向の成分を持つ3次元形状のデータを含むこと
を特徴とする請求項5に記載の画像処理装置。 - 前記基準点に対応する位置から前記第2の3次元形状データに含まれる前記高さ方向の成分を持つ3次元形状までの距離を設定する距離設定手段、
を更に有し、
前記第2取得手段は、距離設定手段により設定された距離に基づいて、前記高さ方向の成分を持つ3次元形状のデータを生成して前記第2の3次元形状データを取得すること
を特徴とする請求項6に記載の画像処理装置。 - 前記距離設定手段は、ユーザにより指定された距離に基づいて、前記基準点に対応する位置から前記高さ方向の成分を持つ3次元形状までの距離を設定すること
を特徴とする請求項7に記載の画像処理装置。 - 前記距離設定手段は、前記距離情報に基づいて、前記基準点に対応する位置から前記高さ方向の成分を持つ3次元形状までの距離を設定すること
を特徴とする請求項7に記載の画像処理装置。 - 前記距離設定手段は、前記距離情報に基づいて、前記基準点から前記オブジェクトまでの距離の統計値を算出し、算出した前記統計値に基づいて、前記基準点に対応する位置から前記高さ方向の成分を持つ3次元形状までの距離を設定すること
を特徴とする請求項9に記載の画像処理装置。 - 前記基準点の周囲の空間を複数の領域に分割する領域分割手段、
を更に有し、
前記距離設定手段は、前記領域分割手段により分割された前記領域ごとに、前記基準点に対応する位置から前記高さ方向の成分を持つ3次元形状までの距離を設定すること
を特徴とする請求項7乃至10のいずれか1項に記載の画像処理装置。 - 前記第1の3次元形状データを修正する修正手段、
を更に有し、
前記第3取得手段は、前記修正手段により修正された修正後の前記第1の3次元形状データと、前記第2の3次元形状データとを統合することにより、前記第3の3次元形状データを取得すること
を特徴とする請求項1乃至11のいずれか1項に記載の画像処理装置。 - 前記修正手段は、前記第1の3次元形状データが示す複数の面のうち、面を構成する頂点間の距離が予め定められた閾値よりも大きい面を前記第1の3次元形状データから削除することにより、前記第1の3次元形状データを修正すること
を特徴とする請求項12に記載の画像処理装置。 - 前記閾値は、前記第1の3次元形状データが示す面ごとに定められることを
特徴とする請求項13に記載の画像処理装置。 - 前記閾値は、前記距離情報が示す距離を計測する測距装置の特性を示す情報、前記測距装置の設置位置を示す情報、及び前記測距装置が測距する向きを示す情報のうち、少なくともいずれかに基づいて定められること
を特徴とする請求項13又は14に記載の画像処理装置。 - 前記距離取得手段は、予め定められた時間間隔で繰り返し前記距離情報を取得し、
前記第2取得手段は、互いに異なるときに取得された2つの前記距離情報の間の変化が予め定められた変化より大きいときに、前記第2の3次元形状データを取得し直すこと
を特徴とする請求項1乃至15のいずれか1項に記載の画像処理装置。 - 仮想視点の情報を取得する視点取得手段と、
前記マッピング手段により前記撮像画像がマッピングされた後の前記第3の3次元形状データと、前記仮想視点の情報とに基づいて、仮想視点画像を生成する画像生成手段と、
を更に有すること
を特徴とする請求項1乃至16のいずれか1項に記載の画像処理装置。 - 基準点の周囲を撮像する撮像装置の撮像により得られた撮像画像のデータを取得する画像取得工程と、
前記基準点から、前記基準点の周辺に存在するオブジェクトまでの距離を示す距離情報を取得する距離取得工程と、
前記距離情報に基づいて、前記オブジェクトの形状に対応する第1の3次元形状データを取得する第1取得工程と、
前記オブジェクト以外の前記基準点の周囲に対応する、1以上の平面又は曲面により構成される第2の3次元形状データを取得する第2取得工程と、
前記第1の3次元形状データと前記第2の3次元形状データとを統合した第3の3次元形状データを取得する第3取得工程と、
前記第3の3次元形状データに対して前記撮像画像をマッピングするマッピング工程と、
を有すること
を特徴とする画像処理方法。 - コンピュータを、請求項1乃至17のいずれか1項に記載の画像処理装置として動作させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021191006A JP2023077658A (ja) | 2021-11-25 | 2021-11-25 | 画像処理装置、画像処理方法、及びプログラム |
US17/984,315 US20230162442A1 (en) | 2021-11-25 | 2022-11-10 | Image processing apparatus, image processing method, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021191006A JP2023077658A (ja) | 2021-11-25 | 2021-11-25 | 画像処理装置、画像処理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023077658A true JP2023077658A (ja) | 2023-06-06 |
Family
ID=86384082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021191006A Pending JP2023077658A (ja) | 2021-11-25 | 2021-11-25 | 画像処理装置、画像処理方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230162442A1 (ja) |
JP (1) | JP2023077658A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020225886A1 (ja) * | 2019-05-08 | 2020-11-12 | 日本電信電話株式会社 | 点群解析装置、方法、及びプログラム |
-
2021
- 2021-11-25 JP JP2021191006A patent/JP2023077658A/ja active Pending
-
2022
- 2022-11-10 US US17/984,315 patent/US20230162442A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230162442A1 (en) | 2023-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11210806B1 (en) | Using satellite imagery to enhance a 3D surface model of a real world cityscape | |
CN108876926B (zh) | 一种全景场景中的导航方法及系统、ar/vr客户端设备 | |
US9443308B2 (en) | Position and orientation determination in 6-DOF | |
RU2695528C2 (ru) | Визуализация изображения данных лазерного сканирования | |
WO2021140886A1 (ja) | 三次元モデル生成方法、情報処理装置およびプログラム | |
JP6149676B2 (ja) | 画像処理装置、画像処理方法、及び、プログラム | |
US20180262737A1 (en) | Scan colorization with an uncalibrated camera | |
JP5633058B1 (ja) | 3次元計測装置及び3次元計測方法 | |
CN111080662A (zh) | 车道线的提取方法、装置及计算机设备 | |
WO2012096747A1 (en) | Forming range maps using periodic illumination patterns | |
Guidi et al. | 3D Modelling from real data | |
CN113160328A (zh) | 一种外参标定方法、系统、机器人和存储介质 | |
JP7502440B2 (ja) | 環境のトポグラフィを測定するための方法 | |
JP2016218694A (ja) | 3次元モデル生成装置、3次元モデル生成方法、及びプログラム | |
CN111915723A (zh) | 一种用于室内的三维全景构建方法和系统 | |
KR102317182B1 (ko) | 3차원 객체와 2차원 배경을 이용한 합성 이미지 생성 장치 | |
KR20200049337A (ko) | 영상 정합 장치 및 방법 | |
Wan et al. | A study in 3d-reconstruction using kinect sensor | |
CN113945167B (zh) | 一种工件数据获取方法和装置 | |
JP2023077658A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
Chiang et al. | Active stereo vision system with rotated structured light patterns and two-step denoising process for improved spatial resolution | |
Harvent et al. | Multi-view dense 3D modelling of untextured objects from a moving projector-cameras system | |
WO2020250348A1 (ja) | 物体認識装置及び物体認識方法 | |
KR20210050365A (ko) | 영상 정합 장치 및 방법 | |
Wong et al. | 3D object model reconstruction from image sequence based on photometric consistency in volume space |