JP6762570B2 - 画像処理装置、画像処理方法、及び画像処理プログラム - Google Patents
画像処理装置、画像処理方法、及び画像処理プログラム Download PDFInfo
- Publication number
- JP6762570B2 JP6762570B2 JP2018106963A JP2018106963A JP6762570B2 JP 6762570 B2 JP6762570 B2 JP 6762570B2 JP 2018106963 A JP2018106963 A JP 2018106963A JP 2018106963 A JP2018106963 A JP 2018106963A JP 6762570 B2 JP6762570 B2 JP 6762570B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- image
- coordinates
- line segment
- vertex
- 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.)
- Active
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/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- 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
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/536—Depth or shape recovery from perspective effects, e.g. by using vanishing points
-
- 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/10028—Range image; Depth image; 3D point clouds
-
- 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/20021—Dividing image into blocks, subimages or windows
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Description
特許文献1には、深度画像に基づいて三次元空間上に対象物を配置した対象物配置モデルを作成することにより、深度画像を車両周囲の監視に活用する車両周囲監視方法、及びそのシステムについて開示されている。
本発明は上述の事情に鑑みてなされたものであり、深度情報を利用する際の計算効率を向上させることを目的とする。
図1は、本発明の一実施形態に係る画像処理装置を含む画像処理システムを示したブロック構成図である。
図2は、画像処理装置が処理する画像について説明する図であり、(a)はカメラにより撮像される被写体の可視光画像を示す図であり、(b)は(a)に対応する深度画像を示す図である。
画像処理システム1は、画像処理装置100Aと、画像処理装置100Aに接続された深度カメラ10A及び設定入力部20とを備える。以下、先に深度カメラ(Depth-sensing camera)10Aと設定入力部20について説明し、画像処理装置100Aについては後述する。
深度カメラ10Aは、深度画像を撮影することができればよい。深度カメラ10Aによる深度値の取得原理は限定されない。例えば、深度カメラ10Aは、被写体の視差画像に基づいて三角測量法により被写体までの距離を計測するステレオカメラであってもよい。或いは、深度カメラ10Aは、被写体に対してレーザー光を照射し、その反射光が検出されるまでの時間に基づいて被写体までの距離を計測するTOF(Time Of Flight)方式のカメラであってもよい。もちろん、深度カメラ10Aは、その他の方法により被写体までの距離を計測してもよい。
深度カメラ10Aは、例えばレーザレンジファインダのように深度値のみを取得する手段でもよいし、RGBデプスカメラ(深度センサ付カメラ)のように、被写体の可視光像(RGB画像)と被写体の深度情報とを同時に取得する手段でもよい。深度カメラ10Aは、更に被写体の温度情報や放射線量情報等を取得する構成を備えてもよい。深度カメラ10Aが出力する画像の各画素には、深度情報以外の情報(付加情報)が含まれていてもよい。
画像処理装置100Aは一般的なコンピュータとして構成されている。
図3は、本発明の一実施形態に係る画像処理装置のハードウェア構成を示すブロック図である。
画像処理装置100Aは、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、入出力I/F104、ストレージ105、及びバス106等を備える。各構成要素はバス106を介して電気的に接続されている。
上記制御プログラムは、画像処理装置100Aが備えるストレージ105に記憶されてもよい。上記制御プログラムは、入出力I/F104を介して接続される外部記憶装置や記録媒体に記憶されてもよい。外部記憶装置は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性の記憶手段である。記録媒体は、例えば、SDメモリーカード(SD Memory Card)、FD(Floppy Disk)、CD(Compact Disc)、DVD(Digital Versatile Disk)、BD(Blu-ray(登録商標) Disk)、およびフラッシュメモリなどの不揮発性の記録媒体である。
RAM103は、ROM102から読み出されたプログラムやデータ等を一時的に格納する揮発性の記憶手段である。CPU101が起動時にROM102から制御プログラムを読み出してRAM103に展開し、RAM103をワークスペースとして制御プログラムを実行することにより、各種の機能が実現される。
入出力I/F104は、画像処理装置100Aに対して深度カメラ10Aと設定入力部20とを接続するインターフェースである。
ストレージ105は、例えば、HDDやSSD等の不揮発性の記憶手段である。ストレージ105は、上記制御プロクラムや、各種の設定等を記憶する。
図1に戻り、画像処理装置100Aは、メッシュ設定部111、メッシュ設定記憶部113、フレームバッファ115、頂点データ取得部(画像分割手段、頂点データ取得手段)117、座標変換部(座標変換手段)119、ベクトル算出部(ベクトル算出手段)125、ベクトル管理部(ベクトルリスト生成手段)131、及びメッシュデータ格納部(メッシュデータ格納手段)141を備える。
メッシュ設定部111、フレームバッファ115、頂点データ取得部117、座標変換部119、ベクトル算出部125、及び、ベクトル管理部131は、図3に示すCPU101が制御プログラムをRAM103に展開して実行することにより実現され、メッシュ設定記憶部113、及び、メッシュデータ格納部141は、図3に示すストレージ105により実現される。
メッシュ設定部111は、設定入力部20からメッシュ設定の入力を受け付けると共に、入力されたメッシュ設定をメッシュ設定記憶部113に記憶させる。また、メッシュ設定部111は、入力されたメッシュ設定を頂点データ取得部117に供給する。
メッシュ設定は、深度画像を複数の多角形によってメッシュ状に分割する際の分割方法を指定する情報である。例えば、深度画像を格子状(複数の矩形)に分割する場合、メッシュ設定は深度画像のX方向における分割数とY方向における分割数に係る情報を持つことができる。
メッシュ設定は、深度画像を格子以外の多角形メッシュ(三角形、五角形、六角形…等)に分割するための情報であってもよい。メッシュ設定は、深度画像を所定形状の複数の多角形に分割する情報として、分割する多角形の形状、大きさ、分割開始の基準となる画素の座標、X方向及びY方向における分割数等、画像の分割に必要な情報を含む。
フレームバッファ115は、深度カメラ10Aから入力した深度画像(図2(b))を一時的に保持する。フレームバッファ115は、深度画像の各画素が有する深度値を格納するために用意されたメモリ領域(深度バッファ)である。
フレームバッファ115には、例えば0〜1の範囲で正規化された深度値が格納される。深度値は、深度カメラ10Aに近い側が0(黒)〜遠方が1(白)となるように表現されていてもよいし、深度カメラ10Aに近い側が1(白)〜遠方が0(黒)となるように表現されていてもよい。
なお、フレームバッファ115には、深度カメラ10Aの視点から被写体までの距離がメートル等の物理的単位で直接的に表現された深度値が格納されてもよい。
頂点データ取得部117は、メッシュ設定に従って、フレームバッファ115から取得した深度画像を複数の多角形によりメッシュ状に分割し、分割により生成された各多角形に対してこれを識別する識別情報(例えば識別番号)を付与する。
次いで、頂点データ取得部117は、分割した深度画像から各多角形の頂点に位置する画素の座標(頂点座標、第一の座標)を取得する。ここで、頂点座標は、頂点に位置する画素の画面上(スクリーン上)におけるX座標(スクリーン座標Sx、単位:ピクセル)とY座標(スクリーン座標Sy、単位:ピクセル)と、当該画素が有する深度値D(0≦D≦1)により構成される。
頂点データ取得部117は、一の多角形を構成する複数の頂点のうちの少なくとも1つの頂点について、その頂点座標を当該多角形に属する頂点に係る座標として多角形を識別する識別情報と対応付ける。特に、頂点データ取得部117は、多角形の所定の位置にある頂点に係る頂点座標を当該多角形の原点を示す頂点(或いは当該多角形を代表する頂点)に係るデータとして、多角形の識別情報と対応付ける。
次いで、頂点データ取得部117は、各格子の頂点に位置する画素のスクリーン座標(Sx,Sy)と深度値Dを頂点座標として取得する。更に頂点データ取得部117は、各格子の左上に位置する頂点を当該格子の原点を示す頂点として、その頂点座標を格子番号と対応付ける。
座標変換部119は、頂点座標に対して所定の座標変換を実行することにより、深度画像に基づいて特定の視点を基準(原点)としたワールド空間を復元する手段である。座標変換部119は、正規化部(正規化手段)121と逆射影変換部(逆射影変換手段)123とを備える。
このようにして正規化部121は、各頂点の座標として正規化デバイス座標系にて表現された三次元空間座標(Nx,Ny,Nz)を生成する。
例えば、逆射影変換部123は、正規化されている頂点座標(Nx,Ny,Nz)を、深度カメラ10Aの視点を基準とするカメラ座標系の頂点座標(Cx,Cy,Cz)に変換する。逆射影変換部123は、生成された各頂点の座標データ(Cx,Cy,Cz)を、各頂点が属する多角形に対応付けて、即ち、多角形を識別する識別情報(多角形が格子の場合は格子番号)に対応付けてメッシュデータ格納部141に格納する。
例えば、逆射影変換部123は、図4の格子番号00にて示される格子の左上に相当する頂点P00のカメラ座標系にて表現された頂点座標(x00,y00,z00)を格子番号00に対応付けて、メッシュデータ格納部141に格納する(図8参照)。逆射影変換部123は、格子番号01、02…についても同様に、該格子の左上に相当する頂点P01、P02…の頂点座標を、順次各格子に対応付けてメッシュデータ格納部141に格納する。
また、逆射影変換部123は、生成された各頂点の座標データ(Cx,Cy,Cz)をベクトル算出部125の線分ベクトル算出部127に出力する。
ここで、座標系の射影変換について説明する。
図5は、射影変換について説明する模式図である。(a)はカメラと視錐台との関係を示す斜視図であり、(b)はカメラと視錐台との関係を示す上面図((a)のE矢視図)である。
一般的に3DCGでは、取り扱う三次元空間の全体をワールド空間200と呼び、ワールド空間200を表現する座標系をワールド座標系と呼ぶ。
図5(b)に示すワールド空間200に存在するオブジェクト201(201a,201b,201c)をある基準点202(視点)から観察すると、図2(a)に示すように、基準点に近いオブジェクト201aはより大きく観察され、基準点から遠いオブジェクト201b、201cはより小さく観察される。そこで、ワールド空間200に存在するオブジェクト201を、基準点202を視点とするカメラ203により撮影したような画像を生成する場合には、図5に示すようにオブジェクト201a,201b,201cを含む視錐台204(ビューボリューム)によってワールド空間200の一部を切り出す座標変換(射影変換又はプロジェクション変換)が実行される。三次元空間座標の変換には、x,y,zにw(拡大率)を含めた4×4行列が用いられる。
ここで、カメラ203から視錐台204の前方クリップ面205までの距離をZn、カメラ203から視錐台204の後方クリップ面206までの距離をZf、前方クリップ面205の幅をSw、前方クリップ面205の高さをShとする。
ワールド空間200における座標を、カメラ203から観察したスクリーン画像上の座標(スクリーン座標)に変換する射影変換行列(プロジェクション行列)は、式(1)にて表される。
ところで、画像処理装置100Aが深度カメラ10Aから取得する深度画像は、上記射影変換によって得られるスクリーン画像に相当する。即ち、カメラの視点を基準とした奥行き情報である深度値を用いて上記射影変換と逆の操作を実行することにより、深度画像からワールド空間を復元することが可能である。
深度画像からワールド空間を復元するには、射影変換とは逆の操作である逆射影変換を実行すればよい。この場合に使用される行列は、式(1)又は式(2)にて示される射影変換行列の逆行列(逆射影変換行列)である。即ち、カメラ203の画角φ、アスペクト比、及びカメラ203が撮影する空間の奥行き(クリップ距離)が指定されれば、逆射影変換が可能である。
図1に戻り、ベクトル算出部125は、各多角形を構成する要素に係る要素ベクトルを算出する手段である。頂点座標から求められる第一の要素ベクトルには、例えば、多角形の辺に対応する線分を示す線分ベクトル、多角形の面に直交する面法線ベクトル、各頂点を共有する多角形の面法線を加算した頂点法線ベクトル等を含むことができる。
本例において、ベクトル算出部125は、第一の要素ベクトルを算出する手段として、線分ベクトル算出部(線分ベクトル算出手段)127と、法線ベクトル算出部(法線ベクトル算出手段)129とを有する。
例えば、線分ベクトル算出部127は、多角形の原点に設定した頂点と多角形を構成する他の頂点とを接続する線分とによって、多角形を複数の三角形に分割する。線分ベクトル算出部127は、算出した線分ベクトルを各多角形に対応付けて法線ベクトル算出部129とベクトル管理部131に出力する。
深度画像が格子メッシュ状に分割されている場合、線分ベクトル算出部127は、各格子を夫々二つの三角形に分割し、各頂点の座標を用いて、夫々の三角形の辺に対応する線分を示す線分ベクトルを算出する。
まず、線分ベクトル算出部127は、格子00の原点に設定されている頂点P00から、当該格子を構成する他の頂点P01、P10、P11に向かうベクトルU00、V00、W00を夫々算出する。ベクトルW00は、格子00を二つの三角形に分割する線分に相当する。線分ベクトル算出部127は、算出した線分ベクトルU00、V00、W00を格子00に対応付けて法線ベクトル算出部129とベクトル管理部131に出力する。線分ベクトル算出部127は、他の格子01〜についても同様に処理する。
深度画像が格子メッシュ状に分割されている場合、図4に示すように、法線ベクトル算出部129は、線分ベクトルU,V,Wに基づいて、各三角形の面に垂直な法線ベクトルA、Bを算出する。法線ベクトルAは線分ベクトルUとWの外積から、法線ベクトルBは線分ベクトルWとVの外積から算出される。
格子00の場合、法線ベクトル算出部129は、線分ベクトルU00,W00の外積を計算することで三角形P00P01P11の面法線ベクトルA00を算出し、線分ベクトルV00,W00の外積を計算することで三角形P00P11P10の面法線ベクトルB00を算出する。また、法線ベクトル算出部129は、算出した面法線ベクトルA00とB00を格子00に対応付けてベクトル管理部131に出力する。法線ベクトル算出部129は、他の格子01〜についても同様に処理する。
ベクトル管理部131は、ベクトル算出部125から出力された要素ベクトルのデータを管理する手段である。即ち、まずベクトル管理部131は、ベクトル算出部125より出力された要素ベクトルから、重複しない一意の(ユニークな)要素ベクトルを抽出する。ベクトル管理部131は抽出した要素ベクトルに対して、ユニークな要素ベクトル同士を互いに識別する一意の(ユニークな)要素インデックスを夫々付与したベクトルリストを生成する。ベクトルリストは、ユニークな要素ベクトルに対してユニークなインデックスが一対一で対応付けられたリストである。
また、ベクトル管理部131は、ベクトル算出部125から出力された全ての要素ベクトルを要素インデックスに置き換えると共に、置き換えた要素インデックスを多角形の識別情報(格子番号)に対応付けてメッシュデータ格納部141に格納する。
線分ベクトル管理部133は、線分ベクトル算出部127から取得した各線分ベクトルが線分ベクトルリスト135に含まれているか否か、即ち、線分ベクトル算出部127から取得した各線分ベクトルがユニークな線分ベクトルであるか否かを判定する。
線分ベクトル算出部127から取得した線分ベクトルが線分ベクトルリスト135に格納されていない場合、即ち、ユニークな線分ベクトルである場合、線分ベクトル管理部133は、取得した線分ベクトルに対して新規なインデックス(線分ベクトルインデックス)を付与して、当該インデックスと元の線分ベクトルのデータとを対応付けた線分ベクトルリスト(図6(b))を生成する。
線分ベクトル算出部127から取得した線分ベクトルが線分ベクトルリスト135に格納されている線分ベクトルの何れかと一致する場合、即ち、取得した線分ベクトルがユニークな線分ベクトルではない場合、線分ベクトル管理部133は、一致する線分ベクトルに付与されているインデックスを線分ベクトルリスト135から抽出して、そのインデックスを線分ベクトル算出部127から取得した線分ベクトルに付与する。
法線ベクトル管理部137は、法線ベクトル算出部129から取得した各法線ベクトルが法線ベクトルリスト139に含まれているか否か、即ち、法線ベクトル算出部129から取得した各法線ベクトルがユニークな法線ベクトルであるか否かを判定する。
法線ベクトル算出部129から取得した法線ベクトルが法線ベクトルリスト139に格納されていない場合、即ち、ユニークな法線ベクトルである場合、法線ベクトル管理部137は、取得した法線ベクトルに対して新規なインデックス(法線ベクトルインデックス)を付与して、当該インデックスと元の法線ベクトルのデータとを対応付けた法線ベクトルリスト(図7(b))を生成する。
法線ベクトル算出部129から取得した法線ベクトルが法線ベクトルリスト139に格納されている法線ベクトルの何れかと一致する場合、即ち、取得した法線ベクトルがユニークな法線ベクトルではない場合、法線ベクトル管理部137は、一致する法線ベクトルに付与されているインデックスを法線ベクトルリスト139から抽出して、そのインデックスを法線ベクトル算出部129から取得した法線ベクトルに付与する。
すなわち、深度カメラ等のセンサ出力は多少のばらつきが生じることもあり、またワールド空間への座標変換の演算における切り上げ、切り捨て処理等の影響により、本来であれば同一のX、Y、Z値を持つベクトルが算出されるはずであっても異なるX、Y、Z値を持つベクトルが算出される場合もある。このような場合には、X、Y、Z値が多少異なるベクトル同士であっても、X、Y、Z値の差異が所定の閾値範囲内にあるベクトルに対して同一のインデックスを付与することで更にメモリ容量を低減することが可能である。なお、上記閾値は、深度画像の利用用途に応じて適宜設定できる。また、上記閾値は、例えば、最初にインデックスが付与されたベクトルのX、Y、Z値を基準として設定することができる。
成分が異なる線分ベクトル同士を同一の線分ベクトルとみなし、これらに同一のインデックスを付与してデータを集約するということは、三次元空間を忠実に再現しないこととなるが、例えば、自動車等に実装される障害物検出に本願発明に係る深度情報処理を利用するのであれば、障害物の正確な形状認識よりは障害物の有無の検知が重要な要素となるので、厳密には異なる線分ベクトル同士を同一のインデックスに集約しても実用上問題が生じない。
図9は、本発明の一実施形態に係る画像処理装置が実行する画像処理手順を示すフローチャートである。以下では、深度画像を多角形メッシュの一例である格子メッシュに分割する場合の例により説明する。
ステップS5において、頂点データ取得部117は、分割により得られた各格子の頂点に位置する画素のスクリーン座標(Sx,Sy)及び深度値Dを頂点座標として取得する(頂点データ取得ステップ)。なお、スクリーン座標は深度画像の画像幅と画像高さ(単位:ピクセル)を基準として表現された値である。例えば、深度画像が480×640ピクセルの画像の場合、SxとSyは夫々、0≦Sx≦479、0≦Sy≦639の範囲の整数値で表現される。また、深度値Dは、0〜1の範囲で正規化された値を有する実数値である。頂点データ取得部117は、各格子の左上に位置する頂点を当該格子の格子原点として、その頂点座標を格子番号と対応付ける。
ステップS11において、逆射影変換部123は、格子番号と各格子に対応する頂点の三次元空間座標(Cx,Cy,Cz)とを対応付けたデータをメッシュデータ格納部141に格納する(図4、図8)。また、逆射影変換部123は、当該データを線分ベクトル算出部127に出力する。
ステップS15において、線分ベクトル算出部127は、各頂点の三次元空間座標(Cx,Cy,Cz)に基づいて各三角形の各辺を表す線分ベクトルU,V,Wを算出する(ベクトル算出ステップ、図4)。線分ベクトル算出部127は、線分ベクトルU,V,Wを線分ベクトル管理部133と法線ベクトル算出部129に出力する。
ステップS17において、線分ベクトル管理部133は、ユニークな線分ベクトルに対して新規なインデックスを付与し、インデックスと線分ベクトルの元の値とを対応付けた線分ベクトルリストを生成する(ベクトルリスト生成ステップ、図6)。また、線分ベクトルリスト135に含まれる線分ベクトルと重複する線分ベクトルに対しては、線分ベクトルリスト中の対応するインデックスを付与する。この処理により、線分ベクトル算出部127から出力された全ての線分ベクトルがインデックスに置き換えられる。
ステップS19において、線分ベクトル管理部133は、線分ベクトルに対して付与したインデックスを、格子番号と格子メッシュ内における線分ベクトルの位置(U、V、W)に対応付けてメッシュデータ格納部141に格納する(メッシュデータ格納ステップ、図8)。
ステップS23において、法線ベクトル管理部137は、ユニークな法線ベクトルに対して新規なインデックスを付与し、インデックスと法線ベクトルの元の値とを対応付けた法線ベクトルリストを生成する(ベクトルリスト生成ステップ、図7)。また、法線ベクトルリスト139に含まれる法線ベクトルと重複する法線ベクトルに対しては、法線ベクトルリスト中の対応するインデックスを付与する。この処理により、法線ベクトル算出部129から出力された全ての法線ベクトルがインデックスに置き換えられる。
ステップS25において、法線ベクトル管理部137は、法線ベクトルに対して付与したインデックスを、格子番号と格子メッシュを分割する三角形の何れの法線ベクトル(A、B)であるかを示す情報に対応付けてメッシュデータ格納部141に格納する(メッシュデータ格納ステップ、図8)。
以上のように本実施形態によれば、画像を複数の多角形に分割し、多角形の各頂点のデータを取得するので、後の計算に必要な情報を効率的に取得することができ、計算量及びデータの格納に必要な容量を削減できる。
また、ベクトル情報をユニークな値によりリスト化するので、全てのベクトルについて生データを保持する場合に比べて大幅に情報量を削減することができる。従って、深度情報の格納に必要なメモリ容量を削減できる。
更に、ベクトル情報を正規化した上でユニークな値によりリスト化すれば、更に深度情報の格納に必要なメモリ容量を削減できる。特に、衝突判定では面法線ベクトルの大きさ情報は不要である。このような場合には、ベクトルを単位ベクトル化(或いは正規化)することで、ユニークなベクトルの数を低減させることができ、深度情報の格納に必要なメモリ容量を削減できる。
本実施形態において示した線分ベクトルU、V、Wの向きは一例であり、その向きは反対方向でもよい。また、各格子を2つの三角形に分割する対角線(ベクトルW)は、図4に示したように右下方向(又は左上方向)に向かうものでもよいし、左下方向(又は右上方向)に向かうものでもよい。
線分ベクトルリストと法線ベクトルリストとを一体化してもよい。即ち、全ての線分ベクトルと全ての法線ベクトルの中からユニークなベクトルを抽出してインデックスを付与したベクトルリストを生成してもよい。
線分ベクトル管理部133は、各線分ベクトルを大きさと向きの2つの要素に基づいて特定するようなリストを生成してもよい。即ち、線分ベクトル管理部133は、線分ベクトルをユニークな大きさによりリスト化したサイズリストと、線分ベクトルをユニークな角度によりリスト化した単位線分ベクトルリストを生成してもよい。
深度画像に基づいて中間的に或いは最終的に算出される三次元空間(座標系)は、本実施形態に示すものに限られず、目的に応じて任意に選定できる。
図10は、本発明の第二の実施形態に係る画像処理装置を含む画像処理システムを示したブロック構成図である。
カメラ10Bは付加情報を取得する機能として、例えば、被写体の可視光像に係る輝度情報(グレースケール、又はRed、Green、blue夫々の輝度情報(色情報))を取得する機能、被写体の温度分布を取得する機能(例えば赤外線サーモグラフィカメラとしての機能)、放射線の空間的な強度分布を取得する放射線計測機能(例えばコンプトンカメラとしての機能)、その他の被写体に係る空間情報を取得する機能を備える。
頂点データ取得部117は、メッシュ設定に従って、フレームバッファ115から取得した画像を複数の多角形によりメッシュ状に分割し、分割により生成された各多角形に対してこれを識別する識別情報を付与する。頂点データ取得部117は、各多角形の頂点に位置する画素の頂点座標と付加データとを取得し、頂点座標と付加データを多角形の識別情報に対応付ける。
画像処理装置100Bは、線分ベクトル及び法線ベクトルを管理するベクトル管理部131と、付加データを管理する付加データ管理部(付加データリスト生成手段)151、及び付加データに関わるリストである付加データリスト153を備える。
付加データ管理部151は、ベクトル管理部131と同様に動作する。即ち、付加データ管理部151は、頂点データ取得部117から入力した付加データのうちユニークな付加データに対して新規なインデックス(付加データインデックス)を付与し、インデックスと付加データとを対応付けた付加データリスト153を生成する。また、付加データリスト153に含まれる付加データと重複する付加データに対しては、付加データリスト153中の対応するインデックスを付与する。この処理により、頂点データ取得部117から入力した全ての付加データがインデックスに置き換えられる。
付加データ管理部151は、付加データに対して付与したインデックスを、多角形の識別情報に対応付けてメッシュデータ格納部141に格納する。
なお、画像処理装置100Bは、頂点データ取得部117が出力した付加情報を、後に利用しやすい形態(例えば正規化データ)に予め変換する手段として、付加データ変換部を付加データ管理部151の前段に備えてもよい。このようにすれば、付加データの利用時に必要な計算を省略することができ、画像処理装置の処理負荷の低減及び処理の高速化を図れる。
また、画像処理装置100Bは、同種の一組の付加データを一つの要素ベクトル(第二の要素ベクトル)として取り扱うようにしてもよい。例えば、各種の表色系で色ベクトルとして表現されるR、G、B等の各輝度値を一つの色ベクトルとして取り扱うようにしてもよい。
<第一の実施態様>
本態様は、各画素に深度情報を含む画像を処理する画像処理装置100であって、画像を複数の多角形によりメッシュ状に分割する画像分割手段(頂点データ取得部117)と、各多角形の頂点に対応する深度情報と画像上のX座標及びY座標を、各頂点に係る第一の座標として取得する頂点データ取得手段(頂点データ取得部117)と、各頂点に係る第一の座標を所定の座標系にて表現された三次元空間座標に変換する座標変換手段(座標変換部119)と、各頂点の三次元空間座標に基づいて、各多角形を構成する要素ベクトル(線分ベクトル、法線ベクトル)を算出するベクトル算出手段(ベクトル算出部125)と、ユニークな要素ベクトルに対してこれらを互いに識別する要素インデックスを夫々付与し、ユニークな要素ベクトルと要素インデックスとを対応付けたベクトルリストを生成するベクトルリスト生成手段(ベクトル管理部131)と、各多角形に対して、各多角形を構成する要素ベクトルに係る要素インデックスを対応付けて格納するメッシュデータ格納手段(メッシュデータ格納部141)と、を備えることを特徴とする。
画像分割手段は、画像を格子状(矩形状)に分割してもよいし、格子以外の多角形状に分割してもよい。
頂点データ取得手段は、分割により形成された多角形の頂点に対応する画素について画像上のX座標SxとY座標Sy、更に当該画素に記録された深度情報(深度値D)を取得する。深度情報は画像を撮像した深度カメラのカメラ視点から被写体までの距離を示す情報である。頂点データ取得手段は、少なくとも深度画像からワールド空間を復元しうる3つの座標(第一の座標)を取得する。
座標変換手段は、第一の座標に基づいて、例えば直交座標系であるワールド空間を表現する三次元空間座標を算出する。座標変換手段は、三次元空間座標を算出する際に、後に実行される演算処理の内容に応じて最適な座標系を設定し、最適な基準点を設定する。
ベクトル算出手段は、各頂点の三次元空間座標に基づいて、各多角形を構成する要素ベクトルを算出する。ベクトル算出手段は、三次元空間座標を、予め後の計算に利用される態様の要素ベクトル(幾何学情報)に変換する。ここで、要素ベクトルの一例として、多角形の線分を表す線分ベクトル、多角形の面に対する法線を表す面法線ベクトル、多角形の頂点における法線を示す頂点法線ベクトルを挙げることができる。なお、線分ベクトルは頂点同士の関係を示す幾何学情報の一例である。
ベクトルリスト生成手段は、ベクトルリストを生成することにより、同一の要素ベクトルに対して共通する要素インデックスを付与する。
メッシュデータ格納手段は、各要素ベクトルに対応する要素インデックスを格納する。要素ベクトルの生データを格納する場合に比べて、データの格納に必要な容量を削減できる。
即ち、深度情報を含む画像の利用分野によっては、一部の画素の深度情報等があれば足り、全画素の深度情報等までは必要ではない場合もある。例えば、画像に写るオブジェクト同士の衝突判定では、衝突判定が可能な程度にオブジェクトの形状を認識でき、且つオブジェクト同士の位置関係を認識できれば十分である。本態様のように画像を複数の多角形に分割して各頂点に対応する画素のデータを取得することによって、データを効率的に処理可能となる。
例えば、未加工の深度情報を用いてオブジェクト同士の衝突判定をする際に、毎回レイを飛ばして計算する(衝突判定のために仮想的な直線を設定して計算する)のは計算量が膨大となり非効率的である。また、衝突判定には、法線ベクトルが必要となるが、衝突判定には法線ベクトルの大きさに係る情報は不要である。このように未加工の深度情報は、深度情報の利用態様によっては計算に不要な情報を含む場合がある。本態様のように、深度情報等を予め後の計算に利用される態様の幾何学情報に変換しておけば、後の計算量の削減と効率化を図れる。
本態様に係る画像処理装置100において、座標変換手段(座標変換部119)は、画像を撮像した深度カメラ10の視野角情報と、画像のアスペクト比と、深度カメラが撮像する深度の範囲を示すクリップ距離と、に基づいて、各頂点の座標を逆射影変換することにより、各頂点の三次元空間座標として特定の視点を基準(原点)とする視点座標系にて表現された三次元空間座標(Cx,Cy,Cz)を生成する逆射影変換手段(逆射影変換部123)を備えることを特徴とする。
なお、復元されたワールド空間は、深度カメラの視点を基準点(原点)として表現される視点座標系(カメラ座標系)の三次元座標空間としてもよいし、他の点を基準点として表現されてもよい。
本態様に係る画像処理装置100において、座標変換手段(座標変換部119)は、各頂点の座標を正規化して、各頂点の三次元空間座標として正規化デバイス座標系にて表現された三次元空間座標(Nx,Ny,Nz)を生成する正規化手段(正規化部121)を備え、逆射影変換手段(逆射影変換部123)は、正規化デバイス座標系にて表現された各頂点の三次元空間座標を逆射影変換して、特定の視点を基準(原点)とする視点座標系(正確にはカメラ座標系)にて表現された三次元空間座標(Cx,Cy,Cz)を生成することを特徴とする。
本態様に係る画像処理装置100において、メッシュデータ格納手段(メッシュデータ格納部141)は、複数の多角形の頂点のうちの少なくとも1の頂点について三次元空間座標を格納することを特徴とする。
なお、各多角形を代表する頂点として多角形ごとに1つの頂点に係る生の座標データをメッシュデータ格納手段に格納すれば、多角形毎に独立して各種の計算を実行することが可能(並列処理が可能)となり、計算効率が向上する。
本態様に係る画像処理装置100において、ベクトル算出手段(ベクトル算出部125)は、各多角形を夫々複数の三角形に分割すると共に各三角形の各辺を表す線分ベクトル(U,V,W)を算出する線分ベクトル算出手段(線分ベクトル算出部127)と、各線分ベクトルに基づいて各三角形の法線ベクトル(面法線ベクトルA,B)を算出する法線ベクトル算出手段(法線ベクトル算出部129)と、を備えることを特徴とする。
本態様に係る画像処理装置100において、ベクトルリスト生成手段(ベクトル管理部131)は、ユニークな線分ベクトルに対してこれらを互いに識別する線分ベクトルインデックスを夫々付与し、ユニークな線分ベクトルと線分ベクトルインデックスとを対応付けた線分ベクトルリストを生成する線分ベクトルリスト生成手段(線分ベクトル管理部133)と、ユニークな法線ベクトルに対してこれらを互いに識別する法線ベクトルインデックスを夫々付与し、ユニークな法線ベクトルと法線ベクトルインデックスとを対応付けた法線ベクトルリストを生成する法線ベクトルリスト生成手段(法線ベクトル管理部137)と、を備えることを特徴とする。
本態様に係る画像処理装置10Bが処理する画像は、各画素に深度情報とは異なる付加データ(輝度値、温度、放射線強度等の数値化可能な値)を含んでいる。
本態様に係る画像処理装置において、頂点データ取得手段(頂点データ取得部117)は、各多角形の頂点に対応する付加データを取得する。画像処理装置は、ユニークな付加データに対してこれらを識別する付加データインデックスを付与し、ユニークな付加データと付加データインデックスとを対応付けた付加データリストを生成する付加データリスト生成手段(付加データ管理部151)を備える。メッシュデータ格納手段(メッシュデータ格納部141)は、各多角形に対して、各多角形の頂点に対応する付加データに係る付加データインデックスを対応付けて格納する。
本態様に係る画像処理装置において、付加データは、画像に写る被写体の色情報、温度情報、又は放射線情報の何れかを含むことを特徴とする。
Claims (10)
- 各画素に深度情報を含む画像を処理する画像処理装置であって、
前記画像を複数の多角形によりメッシュ状に分割する画像分割手段と、
前記各多角形の頂点に対応する前記深度情報と前記画像上のX座標及びY座標を、前記各頂点に係る第一の座標として取得する頂点データ取得手段と、
前記各頂点に係る第一の座標を所定の座標系にて表現された三次元空間座標に変換する座標変換手段と、
前記各頂点の前記三次元空間座標に基づいて、前記各多角形を構成する要素ベクトルを算出するベクトル算出手段と、
ユニークな前記要素ベクトルに対してこれらを互いに識別する要素インデックスを夫々付与し、ユニークな前記要素ベクトルと前記要素インデックスとを対応付けたベクトルリストを生成するベクトルリスト生成手段と、
前記各多角形に対して、前記各多角形を構成する前記要素ベクトルに係る前記要素インデックスを対応付けて格納するメッシュデータ格納手段と、
を備えることを特徴とする画像処理装置。 - 前記座標変換手段は、前記画像を撮像した深度カメラの視野角情報と、前記画像のアスペクト比と、前記深度カメラが撮像する深度の範囲を示すクリップ距離と、に基づいて、前記各頂点の座標を逆射影変換することにより、前記各頂点の前記三次元空間座標として特定の視点を基準とする視点座標系にて表現された三次元空間座標を生成する逆射影変換手段を備えることを特徴とする請求項1に記載の画像処理装置。
- 前記座標変換手段は、前記各頂点の座標を正規化して、前記各頂点の前記三次元空間座標として正規化デバイス座標系にて表現された三次元空間座標を生成する正規化手段を備え、
前記逆射影変換手段は、前記正規化デバイス座標系にて表現された前記各頂点の前記三次元空間座標を逆射影変換することを特徴とする請求項2に記載の画像処理装置。 - 前記メッシュデータ格納手段は、前記複数の多角形の頂点のうちの少なくとも1の頂点について前記三次元空間座標を格納することを特徴とする請求項1乃至3の何れか一項に記載の画像処理装置。
- 前記ベクトル算出手段は、前記各多角形を夫々複数の三角形に分割すると共に前記各三角形の各辺を表す線分ベクトルを算出する線分ベクトル算出手段と、前記各線分ベクトルに基づいて前記各三角形の法線ベクトルを算出する法線ベクトル算出手段と、を備えることを特徴とする請求項1乃至4の何れか一項に記載の画像処理装置。
- 前記ベクトルリスト生成手段は、
ユニークな前記線分ベクトルに対してこれらを互いに識別する線分ベクトルインデックスを夫々付与し、ユニークな前記線分ベクトルと前記線分ベクトルインデックスとを対応付けた線分ベクトルリストを生成する線分ベクトルリスト生成手段と、
ユニークな前記法線ベクトルに対してこれらを互いに識別する法線ベクトルインデックスを夫々付与し、ユニークな前記法線ベクトルと前記法線ベクトルインデックスとを対応付けた法線ベクトルリストを生成する法線ベクトルリスト生成手段と、を備えることを特徴とする請求項5に記載の画像処理装置。 - 前記画像の前記各画素は前記深度情報とは異なる付加データを含んでおり、
前記頂点データ取得手段は、前記各多角形の前記頂点に対応する前記付加データを取得し、
前記画像処理装置は、ユニークな前記付加データに対してこれらを互いに識別する付加データインデックスを夫々付与し、ユニークな前記付加データと前記付加データインデックスとを対応付けた付加データリストを生成する付加データリスト生成手段を備え、
前記メッシュデータ格納手段は、前記各多角形に対して、前記各多角形の前記頂点に対応する前記付加データに係る前記付加データインデックスを対応付けて格納することを特徴とする請求項1乃至6の何れか一項に記載の画像処理装置。 - 前記付加データは、前記画像に写る被写体の色情報、温度情報、又は放射線情報の何れかを含むことを特徴とする請求項7に記載の画像処理装置。
- 各画素に深度情報を含む画像を処理する画像処理方法であって、
前記画像を複数の多角形によりメッシュ状に分割する画像分割ステップと、
前記各多角形の頂点に対応する前記深度情報と前記画像上のX座標及びY座標を、前記各頂点に係る第一の座標として取得する頂点データ取得ステップと、
前記各頂点に係る第一の座標を所定の座標系にて表現された三次元空間座標に変換する座標変換ステップと、
前記各頂点の前記三次元空間座標に基づいて、前記各多角形を構成する要素ベクトルを算出するベクトル算出ステップと、
ユニークな前記要素ベクトルに対してこれらを互いに識別する要素インデックスを夫々付与し、ユニークな前記要素ベクトルと前記要素インデックスとを対応付けたベクトルリストを生成するベクトルリスト生成ステップと、
前記各多角形に対して、前記各多角形を構成する前記要素ベクトルに係る前記要素インデックスを対応付けて格納するメッシュデータ格納ステップと、
を実行することを特徴とする画像処理方法。 - コンピュータを、
各画素に深度情報を含む画像を複数の多角形によりメッシュ状に分割する画像分割手段と、
前記各多角形の頂点に対応する前記深度情報と前記画像上のX座標及びY座標を、前記各頂点に係る第一の座標として取得する頂点データ取得手段と、
前記各頂点に係る第一の座標を所定の座標系にて表現された三次元空間座標に変換する座標変換手段と、
前記各頂点の前記三次元空間座標に基づいて、前記各多角形を構成する要素ベクトルを算出するベクトル算出手段と、
ユニークな前記要素ベクトルに対してこれらを互いに識別する要素インデックスを夫々付与し、ユニークな前記要素ベクトルと前記要素インデックスとを対応付けたベクトルリストを生成するベクトルリスト生成手段と、
前記各多角形に対して、前記各多角形を構成する前記要素ベクトルに係る前記要素インデックスを対応付けて格納するメッシュデータ格納手段と、
として機能させるための画像処理プログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018106963A JP6762570B2 (ja) | 2018-06-04 | 2018-06-04 | 画像処理装置、画像処理方法、及び画像処理プログラム |
TW108116873A TWI716874B (zh) | 2018-06-04 | 2019-05-16 | 影像處理裝置、影像處理方法、及影像處理程式 |
US16/415,823 US10902674B2 (en) | 2018-06-04 | 2019-05-17 | Creating a geometric mesh from depth data using an index indentifying unique vectors |
EP19175968.7A EP3579195A1 (en) | 2018-06-04 | 2019-05-22 | Image processing for index-based storage of a polygonal mesh generated from a depth camera image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018106963A JP6762570B2 (ja) | 2018-06-04 | 2018-06-04 | 画像処理装置、画像処理方法、及び画像処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019211965A JP2019211965A (ja) | 2019-12-12 |
JP6762570B2 true JP6762570B2 (ja) | 2020-09-30 |
Family
ID=66668705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018106963A Active JP6762570B2 (ja) | 2018-06-04 | 2018-06-04 | 画像処理装置、画像処理方法、及び画像処理プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US10902674B2 (ja) |
EP (1) | EP3579195A1 (ja) |
JP (1) | JP6762570B2 (ja) |
TW (1) | TWI716874B (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2586869B (en) | 2019-09-06 | 2023-02-15 | Imperial College Innovations Ltd | Scene representation using image processing |
US11373339B2 (en) * | 2020-03-18 | 2022-06-28 | Sony Group Corporation | Projection-based mesh compression |
CN111915686B (zh) * | 2020-09-18 | 2022-07-26 | 深圳市商汤科技有限公司 | 标定方法及装置、测温人脸识别装置 |
CN113034696B (zh) * | 2021-05-21 | 2021-08-06 | 潍坊幻视软件科技有限公司 | 弧线网格模型生成方法 |
US20230290037A1 (en) * | 2022-03-10 | 2023-09-14 | Streem, Llc | Real-time progressive texture mapping of a 3d mesh |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005196505A (ja) * | 2004-01-07 | 2005-07-21 | Ritsumeikan | 3次元画像ボリュームデータの適応的かつ階層的な四面体格子構造表現生成方法、プログラム及び装置 |
JP4847051B2 (ja) | 2005-06-09 | 2011-12-28 | クラリオン株式会社 | 車両周囲監視方法およびシステム |
US8976168B2 (en) * | 2011-11-02 | 2015-03-10 | Microsoft Technology Licensing, Llc | Mesh generation from depth images |
US20130271459A1 (en) * | 2012-04-13 | 2013-10-17 | IntegrityWare, Inc. | Systems and methods of editing graphical data |
US9503719B2 (en) * | 2012-06-26 | 2016-11-22 | Intel Corporation | Inter-layer coding unit quadtree pattern prediction |
CN104012088B (zh) * | 2012-11-19 | 2016-09-28 | 松下知识产权经营株式会社 | 图像处理装置以及图像处理方法 |
JP2014211822A (ja) * | 2013-04-19 | 2014-11-13 | 株式会社Nttファシリティーズ | 接触面検出システム、状態変化算出システム、内包判定システム、接触面検出方法およびプログラム |
JP6569389B2 (ja) * | 2015-08-24 | 2019-09-04 | 大日本印刷株式会社 | ポリゴンモデル構造化装置および立体物造形用データ削減装置 |
US9978173B2 (en) * | 2016-07-27 | 2018-05-22 | Adobe Systems Incorporated | Generating views of three-dimensional models illustrating defects |
-
2018
- 2018-06-04 JP JP2018106963A patent/JP6762570B2/ja active Active
-
2019
- 2019-05-16 TW TW108116873A patent/TWI716874B/zh active
- 2019-05-17 US US16/415,823 patent/US10902674B2/en active Active
- 2019-05-22 EP EP19175968.7A patent/EP3579195A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP3579195A1 (en) | 2019-12-11 |
US10902674B2 (en) | 2021-01-26 |
JP2019211965A (ja) | 2019-12-12 |
US20190371058A1 (en) | 2019-12-05 |
TW202004664A (zh) | 2020-01-16 |
TWI716874B (zh) | 2021-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6762570B2 (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
JP6425780B1 (ja) | 画像処理システム、画像処理装置、画像処理方法及びプログラム | |
JP5713159B2 (ja) | ステレオ画像による3次元位置姿勢計測装置、方法およびプログラム | |
JP7566973B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6079131B2 (ja) | 画像処理装置、方法、及びプログラム | |
US11189041B2 (en) | Image processing apparatus, control method of image processing apparatus, and non-transitory computer-readable storage medium | |
WO2013056188A1 (en) | Generating free viewpoint video using stereo imaging | |
JP6073858B2 (ja) | 顔の位置検出 | |
CN107025660A (zh) | 一种确定双目动态视觉传感器图像视差的方法和装置 | |
US10719975B2 (en) | Information processing apparatus and method of generating three-dimensional model | |
US20160232705A1 (en) | Method for 3D Scene Reconstruction with Cross-Constrained Line Matching | |
US20190066363A1 (en) | Image processing apparatus and image processing method | |
US20220180545A1 (en) | Image processing apparatus, image processing method, and program | |
WO2020184174A1 (ja) | 画像処理装置および画像処理方法 | |
JP2020166652A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP3800905B2 (ja) | 画像特徴追跡処理方法、画像特徴追跡処理装置、3次元データ作成方法 | |
US20130194254A1 (en) | Image processing apparatus, image processing method and program | |
KR102195762B1 (ko) | 포토그래메트리를 이용한 고품질 3차원 공간 정보 획득 방법 | |
JP7298687B2 (ja) | 物体認識装置及び物体認識方法 | |
KR20210147647A (ko) | 얼굴 이미지 색상 합성 장치 및 방법 | |
CN114820368B (zh) | 一种基于3d扫描的破损陶瓷图像修复方法及系统 | |
KR102587298B1 (ko) | 멀티뷰 어안 렌즈들을 이용한 실시간 전방위 스테레오 매칭 방법 및 그 시스템 | |
CN111489384A (zh) | 基于互视角的遮挡评估方法及装置、设备、系统和介质 | |
CN113379899B (zh) | 一种建筑工程工作面区域图像自动提取方法 | |
JP5865092B2 (ja) | 画像処理装置、画像処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190606 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200812 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200825 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200902 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6762570 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |