JP6762570B2 - 画像処理装置、画像処理方法、及び画像処理プログラム - Google Patents

画像処理装置、画像処理方法、及び画像処理プログラム Download PDF

Info

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
Application number
JP2018106963A
Other languages
English (en)
Other versions
JP2019211965A (ja
Inventor
英世 川口
英世 川口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Axell Corp
Original Assignee
Axell Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Axell Corp filed Critical Axell Corp
Priority to JP2018106963A priority Critical patent/JP6762570B2/ja
Priority to TW108116873A priority patent/TWI716874B/zh
Priority to US16/415,823 priority patent/US10902674B2/en
Priority to EP19175968.7A priority patent/EP3579195A1/en
Publication of JP2019211965A publication Critical patent/JP2019211965A/ja
Application granted granted Critical
Publication of JP6762570B2 publication Critical patent/JP6762570B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/536Depth or shape recovery from perspective effects, e.g. by using vanishing points
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Description

本発明は、深度カメラ等から得られる深度情報を有した画像を処理する装置、方法、及びプログラムに関し、特に、二次元画像から三次元空間を復元し、深度情報を幾何学情報に変換して、計算効率の向上とデータ量の削減を図ることが可能な画像処理装置、画像処理方法、及び画像処理プログラムに関する。
各画素が基準点からの距離(又は深度)に対応した画素値を有する深度画像が、自動車やロボットによる障害物の検出と回避、AR(拡張現実)、VR(バーチャルリアリティ)等、各種の分野において活用されている。
特許文献1には、深度画像に基づいて三次元空間上に対象物を配置した対象物配置モデルを作成することにより、深度画像を車両周囲の監視に活用する車両周囲監視方法、及びそのシステムについて開示されている。
特開2006−344009公報
深度画像の利用分野にもよるが、深度画像から得られる未加工の深度情報は、最終的な計算結果を得るためには必要のない情報を含んでいる場合もある。また、必要な計算をその都度、未加工の深度情報から実行する場合には、計算が複雑になり、膨大な量のデータを処理しなければならず、計算効率が悪化する。
本発明は上述の事情に鑑みてなされたものであり、深度情報を利用する際の計算効率を向上させることを目的とする。
上記の課題を解決するために、本発明は、各画素に深度情報を含む画像を処理する画像処理装置であって、前記画像を複数の多角形によりメッシュ状に分割する画像分割手段と、前記各多角形の頂点に対応する前記深度情報と前記画像上のX座標及びY座標を、前記各頂点に係る第一の座標として取得する頂点データ取得手段と、前記各頂点に係る第一の座標を所定の座標系にて表現された三次元空間座標に変換する座標変換手段と、前記各頂点の前記三次元空間座標に基づいて、前記各多角形を構成する要素ベクトルを算出するベクトル算出手段と、ユニークな前記要素ベクトルに対してこれらを互いに識別する要素インデックスを夫々付与し、ユニークな前記要素ベクトルと前記要素インデックスとを対応付けたベクトルリストを生成するベクトルリスト生成手段と、前記各多角形に対して、前記各多角形を構成する前記要素ベクトルに係る前記要素インデックスを対応付けて格納するメッシュデータ格納手段と、を備えることを特徴とする。
一実施態様によれば、画像から得られる三次元空間座標を幾何学的な情報である要素ベクトルに変換するので、深度情報を利用する際の計算効率を向上させることができる。
本発明の一実施形態に係る画像処理装置を含む画像処理システムを示したブロック構成図である。 画像処理装置が処理する画像について説明する図であり、(a)はカメラにより撮像される被写体の可視光画像を示す図であり、(b)は(a)に対応する深度画像を示す図である。 本発明の一実施形態に係る画像処理装置のハードウェア構成を示すブロック図である。 復元されたワールド空間におけるメッシュの状態、頂点座標、及び算出されるベクトルについて説明する模式図である。 (a)(b)は射影変換について説明する模式図である。 (a)は各格子に対応付けて出力された線分ベクトルの生データを示す図であり、(b)は(a)に基づいて生成された線分ベクトルリストを示す図である。 (a)は各格子に対応付けて出力された法線ベクトルの生データを示す図であり、(b)は(a)に基づいて生成された法線ベクトルリストを示す図である。 メッシュデータ格納部に格納されるメッシュデータの一例を示す図である。 本発明の一実施形態に係る画像処理装置が実行する画像処理手順を示すフローチャートである。 本発明の第二の実施形態に係る画像処理装置を含む画像処理システムを示したブロック構成図である。
以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
本発明の一実施形態に係る画像処理装置は、深度画像(距離画像、又はDepth Map)から特定の位置(例えば深度カメラの視点)を基準とするワールド空間を復元し、復元したワールド空間に係る情報を幾何学情報(ベクトル情報)に変換してリスト化することにより、該情報の格納と該情報を用いた各種の計算とを効率的に行いうるようにする点に特徴がある。
〔第一の実施形態〕
図1は、本発明の一実施形態に係る画像処理装置を含む画像処理システムを示したブロック構成図である。
図2は、画像処理装置が処理する画像について説明する図であり、(a)はカメラにより撮像される被写体の可視光画像を示す図であり、(b)は(a)に対応する深度画像を示す図である。
画像処理システム1は、画像処理装置100Aと、画像処理装置100Aに接続された深度カメラ10A及び設定入力部20とを備える。以下、先に深度カメラ(Depth-sensing camera)10Aと設定入力部20について説明し、画像処理装置100Aについては後述する。
深度カメラ(距離画像センサ)10Aは、図2(b)に示すような被写体の深度情報(奥行き情報)を含む画像である深度画像を撮影する手段である。深度画像は、各画素に深度情報として深度値が対応付けられた画像である。各画素が有する深度値は、深度カメラ10Aの視点から被写体までの距離を示す情報であり、深度値はメートル等の物理的単位で直接的に表現されたものでもよいし、深度カメラ10Aの視点から被写体までの距離が0〜1の範囲で正規化表現されたものでもよい。図示する深度画像においては、深度カメラ10Aに近い側が0(黒)〜遠方が1(白)となるように正規化表現されている。
深度カメラ10Aは、深度画像を撮影することができればよい。深度カメラ10Aによる深度値の取得原理は限定されない。例えば、深度カメラ10Aは、被写体の視差画像に基づいて三角測量法により被写体までの距離を計測するステレオカメラであってもよい。或いは、深度カメラ10Aは、被写体に対してレーザー光を照射し、その反射光が検出されるまでの時間に基づいて被写体までの距離を計測するTOF(Time Of Flight)方式のカメラであってもよい。もちろん、深度カメラ10Aは、その他の方法により被写体までの距離を計測してもよい。
深度カメラ10Aは、例えばレーザレンジファインダのように深度値のみを取得する手段でもよいし、RGBデプスカメラ(深度センサ付カメラ)のように、被写体の可視光像(RGB画像)と被写体の深度情報とを同時に取得する手段でもよい。深度カメラ10Aは、更に被写体の温度情報や放射線量情報等を取得する構成を備えてもよい。深度カメラ10Aが出力する画像の各画素には、深度情報以外の情報(付加情報)が含まれていてもよい。
設定入力部20は、画像処理装置100Aに対してメッシュ設定を入力する手段である。設定入力部20は、例えばキーボード、マウス、タッチパネル、又は各種のボタンにより構成される。
〔画像処理装置のハードウェア構成〕
画像処理装置100Aは一般的なコンピュータとして構成されている。
図3は、本発明の一実施形態に係る画像処理装置のハードウェア構成を示すブロック図である。
画像処理装置100Aは、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、入出力I/F104、ストレージ105、及びバス106等を備える。各構成要素はバス106を介して電気的に接続されている。
CPU101は、ROM102に格納されたプログラム等を用いて画像処理装置100Aの全体を制御する。ROM102は、CPU101に画像処理装置100Aの全体を制御する処理を実行させるための制御プログラムを記憶する不揮発性の記憶手段である。
上記制御プログラムは、画像処理装置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は、多角形の所定の位置にある頂点に係る頂点座標を当該多角形の原点を示す頂点(或いは当該多角形を代表する頂点)に係るデータとして、多角形の識別情報と対応付ける。
例えば、深度画像が640×480ピクセルであり、メッシュ設定が「X方向の分割数:64、Y方向の分割数:48」である場合、頂点データ取得部117は、メッシュ設定に従って深度画像を10×10ピクセルの正方格子状に分割する。頂点データ取得部117は、分割により得られた各格子に対してこれを識別する格子番号(識別情報)を付与する。
次いで、頂点データ取得部117は、各格子の頂点に位置する画素のスクリーン座標(Sx,Sy)と深度値Dを頂点座標として取得する。更に頂点データ取得部117は、各格子の左上に位置する頂点を当該格子の原点を示す頂点として、その頂点座標を格子番号と対応付ける。
<座標変換部>
座標変換部119は、頂点座標に対して所定の座標変換を実行することにより、深度画像に基づいて特定の視点を基準(原点)としたワールド空間を復元する手段である。座標変換部119は、正規化部(正規化手段)121と逆射影変換部(逆射影変換手段)123とを備える。
正規化部121は、頂点座標の各値を正規化することによって、頂点座標を正規化デバイス座標系によって表現された三次元空間座標に変換する。即ち、正規化部121は、深度画像の画像幅と画像高さ(単位:ピクセル)を用いて、各頂点のスクリーン座標(Sx,Sy)を、−1〜1の範囲で正規化した正規化座標(Nx,Ny)に変換する。また、正規化部121は、0〜1の範囲で正規化表現されている深度値Dを、−1〜1の範囲で正規化した正規化座標(Nz)に変換する。なお、深度値Dが、深度カメラ10Aの視点から被写体までの距離がメートル等の物理的単位で直接的に表現された値である場合も同様に、正規化部121は深度カメラ10Aのクリップ距離を利用して深度値Dを正規化座標Nzに変換する。
このようにして正規化部121は、各頂点の座標として正規化デバイス座標系にて表現された三次元空間座標(Nx,Ny,Nz)を生成する。
逆射影変換部123は、正規化デバイス座標系に変換された頂点座標(Nx,Ny,Nz)に対して逆射影変換(逆プロジェクション変換)を実行することにより、頂点座標を特定の視点を基準(原点)として表現された視点座標系(ビューイング座標系)の座標に変換する。なお、視点座標系は直交座標系である。この座標変換により特定の視点を基準として、深度画像に写るオブジェクトを含んだワールド空間が復元される。
例えば、逆射影変換部123は、正規化されている頂点座標(Nx,Ny,Nz)を、深度カメラ10Aの視点を基準とするカメラ座標系の頂点座標(Cx,Cy,Cz)に変換する。逆射影変換部123は、生成された各頂点の座標データ(Cx,Cy,Cz)を、各頂点が属する多角形に対応付けて、即ち、多角形を識別する識別情報(多角形が格子の場合は格子番号)に対応付けてメッシュデータ格納部141に格納する。
図4は、復元されたワールド空間におけるメッシュの状態、頂点座標、及び算出されるベクトルについて説明する模式図である。
例えば、逆射影変換部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)にて表される。
Figure 0006762570

・・・式(1)

ここで、カメラ203の画角をφ、カメラ203のアスペクト比(Sw/Sh)をaspectとすれば、式(1)は以下のように変形される。

Figure 0006762570

・・・式(2)

このように、カメラ203の画角φ(視野角情報)、アスペクト比、及びカメラ203が撮影する空間の奥行き(クリップ距離)が指定されれば、射影変換が可能となる。
<<逆射影変換について>>
ところで、画像処理装置100Aが深度カメラ10Aから取得する深度画像は、上記射影変換によって得られるスクリーン画像に相当する。即ち、カメラの視点を基準とした奥行き情報である深度値を用いて上記射影変換と逆の操作を実行することにより、深度画像からワールド空間を復元することが可能である。
深度画像からワールド空間を復元するには、射影変換とは逆の操作である逆射影変換を実行すればよい。この場合に使用される行列は、式(1)又は式(2)にて示される射影変換行列の逆行列(逆射影変換行列)である。即ち、カメラ203の画角φ、アスペクト比、及びカメラ203が撮影する空間の奥行き(クリップ距離)が指定されれば、逆射影変換が可能である。
<ベクトル算出部>
図1に戻り、ベクトル算出部125は、各多角形を構成する要素に係る要素ベクトルを算出する手段である。頂点座標から求められる第一の要素ベクトルには、例えば、多角形の辺に対応する線分を示す線分ベクトル、多角形の面に直交する面法線ベクトル、各頂点を共有する多角形の面法線を加算した頂点法線ベクトル等を含むことができる。
本例において、ベクトル算出部125は、第一の要素ベクトルを算出する手段として、線分ベクトル算出部(線分ベクトル算出手段)127と、法線ベクトル算出部(法線ベクトル算出手段)129とを有する。
線分ベクトル算出部127は、各多角形を互いに独立した(重複も交差もしない)複数の三角形に夫々分割し、各多角形の頂点の座標に基づいて、各三角形の辺に対応する線分を表す線分ベクトルを算出する。即ち、線分ベクトル算出部127は、多角形を構成する頂点同士を互いに交差しない線分で接続することによって、多角形を複数の三角形に分割する。
例えば、線分ベクトル算出部127は、多角形の原点に設定した頂点と多角形を構成する他の頂点とを接続する線分とによって、多角形を複数の三角形に分割する。線分ベクトル算出部127は、算出した線分ベクトルを各多角形に対応付けて法線ベクトル算出部129とベクトル管理部131に出力する。
深度画像が格子メッシュ状に分割されている場合、線分ベクトル算出部127は、各格子を夫々二つの三角形に分割し、各頂点の座標を用いて、夫々の三角形の辺に対応する線分を示す線分ベクトルを算出する。
線分ベクトル算出部127による線分ベクトルの算出について、図4に基づいて説明する。
まず、線分ベクトル算出部127は、格子00の原点に設定されている頂点P00から、当該格子を構成する他の頂点P01、P10、P11に向かうベクトルU00、V00、W00を夫々算出する。ベクトルW00は、格子00を二つの三角形に分割する線分に相当する。線分ベクトル算出部127は、算出した線分ベクトルU00、V00、W00を格子00に対応付けて法線ベクトル算出部129とベクトル管理部131に出力する。線分ベクトル算出部127は、他の格子01〜についても同様に処理する。
法線ベクトル算出部129は、線分ベクトル算出部127から出力された線分ベクトルに基づいて、線分ベクトル算出部127が形成した各三角形の面に垂直な法線ベクトルを算出する。また、法線ベクトル算出部129は、算出した法線ベクトルを各多角形に対応付けてベクトル管理部131に出力する。
深度画像が格子メッシュ状に分割されている場合、図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〜についても同様に処理する。
なお、法線ベクトル算出部129は、線分ベクトル同士の外積をそのまま面法線ベクトルとしてベクトル管理部131に出力してもよいし、単位ベクトル化(正規化)してベクトル管理部131に出力してもよい。なお、上記正規化処理は、ベクトル管理部131が実行してもよい。
<ベクトル管理部>
ベクトル管理部131は、ベクトル算出部125から出力された要素ベクトルのデータを管理する手段である。即ち、まずベクトル管理部131は、ベクトル算出部125より出力された要素ベクトルから、重複しない一意の(ユニークな)要素ベクトルを抽出する。ベクトル管理部131は抽出した要素ベクトルに対して、ユニークな要素ベクトル同士を互いに識別する一意の(ユニークな)要素インデックスを夫々付与したベクトルリストを生成する。ベクトルリストは、ユニークな要素ベクトルに対してユニークなインデックスが一対一で対応付けられたリストである。
また、ベクトル管理部131は、ベクトル算出部125から出力された全ての要素ベクトルを要素インデックスに置き換えると共に、置き換えた要素インデックスを多角形の識別情報(格子番号)に対応付けてメッシュデータ格納部141に格納する。
インデックスの記憶に必要なメモリ領域のサイズは、要素ベクトルの生データの記憶に必要なメモリ領域のサイズよりも十分に小さくできる。このため、要素ベクトルのインデックスを格子番号に対応付けてメッシュデータ格納部141に格納する場合は、要素ベクトルの生データを格子番号に対応付けてメッシュデータ格納部141に格納する場合に比べて、メッシュデータ格納部141の容量を削減できる。また、インデックスを格納するために用意されるメモリ領域のサイズを、発生するインデックスの個数に応じて可能な範囲で小さくなるように設定することで、インデックスの格納に必要な容量を最適化しつつ削減することができる。
本例に示すベクトル管理部131は、線分ベクトルに関わる情報を管理する手段として、線分ベクトル管理部(線分ベクトルリスト生成手段)133と線分ベクトルリスト135とを有する。ベクトル管理部131は、法線ベクトルに関わる情報を管理する手段として、法線ベクトル管理部(法線ベクトルリスト生成手段)137と法線ベクトルリスト139とを有する。
図6(a)は各格子に対応付けて出力された線分ベクトルの生データを示す図であり、(b)は(a)に基づいて生成された線分ベクトルリストを示す図である。
図6(a)は、線分ベクトル算出部127が線分ベクトル管理部133に出力するデータの一例を示している。線分ベクトル算出部127は、算出した線分ベクトルを順次各格子(格子番号)と対応付けて線分ベクトル管理部133に出力する。
線分ベクトル管理部133は、線分ベクトル算出部127から取得した各線分ベクトルが線分ベクトルリスト135に含まれているか否か、即ち、線分ベクトル算出部127から取得した各線分ベクトルがユニークな線分ベクトルであるか否かを判定する。
線分ベクトル算出部127から取得した線分ベクトルが線分ベクトルリスト135に格納されていない場合、即ち、ユニークな線分ベクトルである場合、線分ベクトル管理部133は、取得した線分ベクトルに対して新規なインデックス(線分ベクトルインデックス)を付与して、当該インデックスと元の線分ベクトルのデータとを対応付けた線分ベクトルリスト(図6(b))を生成する。
線分ベクトル算出部127から取得した線分ベクトルが線分ベクトルリスト135に格納されている線分ベクトルの何れかと一致する場合、即ち、取得した線分ベクトルがユニークな線分ベクトルではない場合、線分ベクトル管理部133は、一致する線分ベクトルに付与されているインデックスを線分ベクトルリスト135から抽出して、そのインデックスを線分ベクトル算出部127から取得した線分ベクトルに付与する。
図8は、メッシュデータ格納部に格納されるメッシュデータの一例を示す図である。線分ベクトル管理部133は、線分ベクトルに対して付与したインデックスを、格子番号と格子メッシュ内における線分ベクトルの位置(U、V、W)を示す情報に対応付けてメッシュデータ格納部141に格納する。以上の処理により、線分ベクトル算出部127から出力された全ての線分ベクトルがインデックスに置き換えられる。
図7(a)は各格子に対応付けて出力された法線ベクトルの生データを示す図であり、(b)は(a)に基づいて生成された法線ベクトルリストを示す図である。
図7(a)は、法線ベクトル算出部129が法線ベクトル管理部137に出力するデータの一例を示している。法線ベクトル算出部129は、算出した法線ベクトルを順次各格子(格子番号)と対応付けて法線ベクトル管理部137に出力する。
法線ベクトル管理部137は、法線ベクトル算出部129から取得した各法線ベクトルが法線ベクトルリスト139に含まれているか否か、即ち、法線ベクトル算出部129から取得した各法線ベクトルがユニークな法線ベクトルであるか否かを判定する。
法線ベクトル算出部129から取得した法線ベクトルが法線ベクトルリスト139に格納されていない場合、即ち、ユニークな法線ベクトルである場合、法線ベクトル管理部137は、取得した法線ベクトルに対して新規なインデックス(法線ベクトルインデックス)を付与して、当該インデックスと元の法線ベクトルのデータとを対応付けた法線ベクトルリスト(図7(b))を生成する。
法線ベクトル算出部129から取得した法線ベクトルが法線ベクトルリスト139に格納されている法線ベクトルの何れかと一致する場合、即ち、取得した法線ベクトルがユニークな法線ベクトルではない場合、法線ベクトル管理部137は、一致する法線ベクトルに付与されているインデックスを法線ベクトルリスト139から抽出して、そのインデックスを法線ベクトル算出部129から取得した法線ベクトルに付与する。
法線ベクトル管理部137は、法線ベクトルに対して付与したインデックスを、格子番号と格子メッシュを分割する三角形の何れの法線ベクトル(A、B)であるかを示す情報に対応付けてメッシュデータ格納部141に格納する(図8参照)。以上の処理により、法線ベクトル算出部129から出力された全ての法線ベクトルがインデックスに置き換えられる。
上述したように、メッシュデータ格納部141には線分ベクトルや法線ベクトルの生データではなくインデックスを記憶させているので、格子毎に線分ベクトル及び法線ベクトルの生データを保持する場合に比較して格段にメモリ容量を低減することができる。例えば図2に示したように、撮影地点から見て車(オブジェクト201b)の後方にある建物の壁(オブジェクト201c)は撮影地点に対して所定の角度を持った平面のため、当該壁の部分の各格子メッシュにおける線分ベクトルや法線ベクトルは略同一(即ち、ベクトルの成分を表すX、Y、Z値が略同一)であり、複数の格子メッシュにおいて同じインデックスを利用することとなり、使用するメモリ容量は少なくて済む。
なお、線分ベクトルリストや法線ベクトルリストを作成する際、線分ベクトル管理部133及び法線ベクトル管理部137は、線分ベクトル及び法線ベクトルの個々のX、Y、Z値が完全にユニークな場合に新規なインデックスを付与するのではなく、ユニークと判定する際のX、Y、Z値に多少の幅を持たせてインデックスを付与するように構成しても良い。
すなわち、深度カメラ等のセンサ出力は多少のばらつきが生じることもあり、またワールド空間への座標変換の演算における切り上げ、切り捨て処理等の影響により、本来であれば同一のX、Y、Z値を持つベクトルが算出されるはずであっても異なるX、Y、Z値を持つベクトルが算出される場合もある。このような場合には、X、Y、Z値が多少異なるベクトル同士であっても、X、Y、Z値の差異が所定の閾値範囲内にあるベクトルに対して同一のインデックスを付与することで更にメモリ容量を低減することが可能である。なお、上記閾値は、深度画像の利用用途に応じて適宜設定できる。また、上記閾値は、例えば、最初にインデックスが付与されたベクトルのX、Y、Z値を基準として設定することができる。
成分が異なる線分ベクトル同士を同一の線分ベクトルとみなし、これらに同一のインデックスを付与してデータを集約するということは、三次元空間を忠実に再現しないこととなるが、例えば、自動車等に実装される障害物検出に本願発明に係る深度情報処理を利用するのであれば、障害物の正確な形状認識よりは障害物の有無の検知が重要な要素となるので、厳密には異なる線分ベクトル同士を同一のインデックスに集約しても実用上問題が生じない。
〔フローチャート〕
図9は、本発明の一実施形態に係る画像処理装置が実行する画像処理手順を示すフローチャートである。以下では、深度画像を多角形メッシュの一例である格子メッシュに分割する場合の例により説明する。
ステップS1において、頂点データ取得部117は、フレームバッファ115から深度画像(図2(b))を取得する。
ステップS3において、頂点データ取得部117は、メッシュ設定部111から取得したメッシュ設定に従って図2(b)に示す深度画像を格子メッシュ状に分割する(画像分割ステップ)。また、頂点データ取得部117は、分割により形成された各格子メッシュに対してこれを識別する格子番号を付与する。
ステップS5において、頂点データ取得部117は、分割により得られた各格子の頂点に位置する画素のスクリーン座標(Sx,Sy)及び深度値Dを頂点座標として取得する(頂点データ取得ステップ)。なお、スクリーン座標は深度画像の画像幅と画像高さ(単位:ピクセル)を基準として表現された値である。例えば、深度画像が480×640ピクセルの画像の場合、SxとSyは夫々、0≦Sx≦479、0≦Sy≦639の範囲の整数値で表現される。また、深度値Dは、0〜1の範囲で正規化された値を有する実数値である。頂点データ取得部117は、各格子の左上に位置する頂点を当該格子の格子原点として、その頂点座標を格子番号と対応付ける。
ステップS7において、正規化部121は、各頂点座標(Sx,Sy,D)を正規化デバイス座標(Nx,Ny,Nz)に変換する(座標変換ステップ)。即ち、正規化部121は、各頂点座標のX座標とY座標(Sx,Sy)を、夫々画像幅と画像高さを用いて−1〜+1の範囲で正規化した実数値にて表現される座標(Nx,Ny)に変換する。また、正規化部121は、深度値Dを−1〜+1の範囲で正規化した実数値にて表現される座標Nzに変換する。これにより、各頂点は、一辺の長さが2の立方体の内部に配置される。
ステップS9において、逆射影変換部123は、正規化された頂点の三次元空間座標(Nx,Ny,Nz)に対して逆射影変換(逆プロジェクション変換)を実行して、各頂点の座標を、深度カメラ10Aの視点を基準としたカメラ視点系の三次元空間座標(Cx,Cy,Cz)(カメラ視点系座標、又はビューイング座標)に変換する(座標変換ステップ、図5)。この処理により、深度画像に写るオブジェクトが、元の立体形状で表現される。即ち、本処理により、カメラ視点を基準とする座標によりワールド空間が再現される。
ステップS11において、逆射影変換部123は、格子番号と各格子に対応する頂点の三次元空間座標(Cx,Cy,Cz)とを対応付けたデータをメッシュデータ格納部141に格納する(図4、図8)。また、逆射影変換部123は、当該データを線分ベクトル算出部127に出力する。
ステップS13において、線分ベクトル算出部127は、各格子メッシュを夫々2つの三角形に分割する。
ステップ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)。
ステップS21において、法線ベクトル算出部129は、各線分ベクトル(U、V、W)に基づいて各三角形の面法線ベクトルA,Bを算出する(ベクトル算出ステップ、図4)。法線ベクトル算出部129は、面法線ベクトルA,Bを法線ベクトル管理部137に出力する。
ステップS23において、法線ベクトル管理部137は、ユニークな法線ベクトルに対して新規なインデックスを付与し、インデックスと法線ベクトルの元の値とを対応付けた法線ベクトルリストを生成する(ベクトルリスト生成ステップ、図7)。また、法線ベクトルリスト139に含まれる法線ベクトルと重複する法線ベクトルに対しては、法線ベクトルリスト中の対応するインデックスを付与する。この処理により、法線ベクトル算出部129から出力された全ての法線ベクトルがインデックスに置き換えられる。
ステップS25において、法線ベクトル管理部137は、法線ベクトルに対して付与したインデックスを、格子番号と格子メッシュを分割する三角形の何れの法線ベクトル(A、B)であるかを示す情報に対応付けてメッシュデータ格納部141に格納する(メッシュデータ格納ステップ、図8)。
<効果>
以上のように本実施形態によれば、画像を複数の多角形に分割し、多角形の各頂点のデータを取得するので、後の計算に必要な情報を効率的に取得することができ、計算量及びデータの格納に必要な容量を削減できる。
また、深度画像から得られる深度情報を幾何学情報(ベクトル情報)に変換するので、ベクトル情報に変換された深度情報を用いた各種の計算効率が向上する。例えば、深度画像内に写る複数の被写体同士の衝突判定には面法線ベクトルが必要となる。本例のように、予め面法線ベクトルを算出しておくことで、衝突判定の計算効率が向上する。
また、ベクトル情報をユニークな値によりリスト化するので、全てのベクトルについて生データを保持する場合に比べて大幅に情報量を削減することができる。従って、深度情報の格納に必要なメモリ容量を削減できる。
更に、ベクトル情報を正規化した上でユニークな値によりリスト化すれば、更に深度情報の格納に必要なメモリ容量を削減できる。特に、衝突判定では面法線ベクトルの大きさ情報は不要である。このような場合には、ベクトルを単位ベクトル化(或いは正規化)することで、ユニークなベクトルの数を低減させることができ、深度情報の格納に必要なメモリ容量を削減できる。
少なくとも1つの頂点の三次元空間座標(Cx,Cy,Cz)と各頂点間の関係を示した線分ベクトルから、全ての頂点の三次元空間座標(Cx,Cy,Cz)を算出できるため、メッシュデータ格納部141には、全頂点のうちの少なくとも1つの頂点の三次元空間座標(Cx,Cy,Cz)が格納されていればよい。
本実施形態において示した線分ベクトルU、V、Wの向きは一例であり、その向きは反対方向でもよい。また、各格子を2つの三角形に分割する対角線(ベクトルW)は、図4に示したように右下方向(又は左上方向)に向かうものでもよいし、左下方向(又は右上方向)に向かうものでもよい。
線分ベクトルリストと法線ベクトルリストとを一体化してもよい。即ち、全ての線分ベクトルと全ての法線ベクトルの中からユニークなベクトルを抽出してインデックスを付与したベクトルリストを生成してもよい。
線分ベクトル管理部133は、各線分ベクトルを大きさと向きの2つの要素に基づいて特定するようなリストを生成してもよい。即ち、線分ベクトル管理部133は、線分ベクトルをユニークな大きさによりリスト化したサイズリストと、線分ベクトルをユニークな角度によりリスト化した単位線分ベクトルリストを生成してもよい。
深度画像に基づいて中間的に或いは最終的に算出される三次元空間(座標系)は、本実施形態に示すものに限られず、目的に応じて任意に選定できる。
〔第二の実施形態〕
図10は、本発明の第二の実施形態に係る画像処理装置を含む画像処理システムを示したブロック構成図である。
以下、第一の実施形態と同一の箇所には同一の符号を付すと共に、主として第一の実施形態と異なる点について説明する。本実施形態に係る画像処理装置は、カメラから深度情報とは異なる情報を取得して処理する点に特徴がある。
画像処理システム2を構成するカメラ10Bは、深度情報を取得するセンサに加えて付加情報を取得するセンサを備え、深度情報と付加情報とを含む画像を生成する。カメラ10Bが出力する画像の各画素には、深度値に加えて、付加情報(輝度値、温度、放射線強度等の付加データ)が対応付けられている。
カメラ10Bは付加情報を取得する機能として、例えば、被写体の可視光像に係る輝度情報(グレースケール、又はRed、Green、blue夫々の輝度情報(色情報))を取得する機能、被写体の温度分布を取得する機能(例えば赤外線サーモグラフィカメラとしての機能)、放射線の空間的な強度分布を取得する放射線計測機能(例えばコンプトンカメラとしての機能)、その他の被写体に係る空間情報を取得する機能を備える。
画像処理装置100Bのフレームバッファ115は、カメラ10Bから入力した画像を一時的に保持する。フレームバッファ115は、画像の各画素が有する深度値及び付加データを格納するために用意されたメモリ領域である。
頂点データ取得部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)を備えることを特徴とする。
深度カメラが撮像する画像は、オブジェクトが奥行きに応じた大きさにて表現されるスクリーン画像である。画像の各画素に深度情報が含まれる場合、各画素の画像上のX−Y座標と各画素に記録された深度情報と深度カメラの撮像範囲に係る情報とに基づいて逆射影変換を実行することにより、三次元直交座標系にて表現されるワールド空間を復元することができる。ワールド空間内においてオブジェクトは、元の大きさの(同一縮尺の、又は奥行きに応じた歪みを含まない)三次元の物体として再現される。
なお、復元されたワールド空間は、深度カメラの視点を基準点(原点)として表現される視点座標系(カメラ座標系)の三次元座標空間としてもよいし、他の点を基準点として表現されてもよい。
<第三の実施態様>
本態様に係る画像処理装置100において、座標変換手段(座標変換部119)は、各頂点の座標を正規化して、各頂点の三次元空間座標として正規化デバイス座標系にて表現された三次元空間座標(Nx,Ny,Nz)を生成する正規化手段(正規化部121)を備え、逆射影変換手段(逆射影変換部123)は、正規化デバイス座標系にて表現された各頂点の三次元空間座標を逆射影変換して、特定の視点を基準(原点)とする視点座標系(正確にはカメラ座標系)にて表現された三次元空間座標(Cx,Cy,Cz)を生成することを特徴とする。
正規化デバイス座標系は、スクリーン画像中のオブジェクトを例えば一辺が2の立方体中に再現する座標系である。正規化デバイス座標系を介在させることで、ワールド空間の復元に係る計算が容易になる。
<第四の実施態様>
本態様に係る画像処理装置100において、メッシュデータ格納手段(メッシュデータ格納部141)は、複数の多角形の頂点のうちの少なくとも1の頂点について三次元空間座標を格納することを特徴とする。
ここでいう三次元空間座標は生の座標データを意味する。画像上に設定された多角形の頂点のうち、少なくとも1つの頂点について生の座標データがわかれば、他の頂点については頂点同士の関係を示す幾何学情報(ベクトル情報)に基づいて生の座標データを算出することができる。このように、メッシュデータ格納手段には少なくとも1の頂点について三次元空間座標が格納されていればよい。この場合、メッシュデータ格納手段に格納するデータ量を大幅に削減できる。
なお、各多角形を代表する頂点として多角形ごとに1つの頂点に係る生の座標データをメッシュデータ格納手段に格納すれば、多角形毎に独立して各種の計算を実行することが可能(並列処理が可能)となり、計算効率が向上する。
<第五の実施態様>
本態様に係る画像処理装置100において、ベクトル算出手段(ベクトル算出部125)は、各多角形を夫々複数の三角形に分割すると共に各三角形の各辺を表す線分ベクトル(U,V,W)を算出する線分ベクトル算出手段(線分ベクトル算出部127)と、各線分ベクトルに基づいて各三角形の法線ベクトル(面法線ベクトルA,B)を算出する法線ベクトル算出手段(法線ベクトル算出部129)と、を備えることを特徴とする。
例えば、画像に基づいて再現されたワールド空間内に存在するオブジェクト同士の衝突判定を行う場合、三角形の法線ベクトルが必要である。このように、後の計算に利用される態様の要素ベクトルを算出しておくことで、後の計算効率を向上させることができる。
<第六の実施態様>
本態様に係る画像処理装置100において、ベクトルリスト生成手段(ベクトル管理部131)は、ユニークな線分ベクトルに対してこれらを互いに識別する線分ベクトルインデックスを夫々付与し、ユニークな線分ベクトルと線分ベクトルインデックスとを対応付けた線分ベクトルリストを生成する線分ベクトルリスト生成手段(線分ベクトル管理部133)と、ユニークな法線ベクトルに対してこれらを互いに識別する法線ベクトルインデックスを夫々付与し、ユニークな法線ベクトルと法線ベクトルインデックスとを対応付けた法線ベクトルリストを生成する法線ベクトルリスト生成手段(法線ベクトル管理部137)と、を備えることを特徴とする。
ベクトルリスト生成手段が、ユニークな線分ベクトルとユニークな法線ベクトルに対して夫々インデックスを付与したベクトルリストを生成するので、メッシュデータ格納手段に格納するデータ量を削減できる。
<第七、第八の実施態様>
本態様に係る画像処理装置10Bが処理する画像は、各画素に深度情報とは異なる付加データ(輝度値、温度、放射線強度等の数値化可能な値)を含んでいる。
本態様に係る画像処理装置において、頂点データ取得手段(頂点データ取得部117)は、各多角形の頂点に対応する付加データを取得する。画像処理装置は、ユニークな付加データに対してこれらを識別する付加データインデックスを付与し、ユニークな付加データと付加データインデックスとを対応付けた付加データリストを生成する付加データリスト生成手段(付加データ管理部151)を備える。メッシュデータ格納手段(メッシュデータ格納部141)は、各多角形に対して、各多角形の頂点に対応する付加データに係る付加データインデックスを対応付けて格納する。
本態様に係る画像処理装置において、付加データは、画像に写る被写体の色情報、温度情報、又は放射線情報の何れかを含むことを特徴とする。
本態様のように、画像の各画素は深度情報以外のデータ(付加データ)を含んでもよい。この場合も要素ベクトルと同様に、付加データリスト生成手段がユニークな付加データに対して夫々インデックスを付与した付加データリストを生成するので、メッシュデータ格納手段に格納するデータ量を削減できる。
1、2…画像処理システム、10A…深度カメラ、10B…カメラ、20…設定入力部、100A、100B…画像処理装置、101…CPU、102…ROM、103…RAM、104…入出力I/F、105…ストレージ、106…バス、111…メッシュ設定部、113…メッシュ設定記憶部、115…フレームバッファ、117…頂点データ取得部(画像分割手段、頂点データ取得手段)、119…座標変換部(座標変換手段)、121…正規化部(正規化手段)、123…逆射影変換部(逆射影変換手段)、125…ベクトル算出部(ベクトル算出手段)、127…線分ベクトル算出部(線分ベクトル算出手段)、129…法線ベクトル算出部(法線ベクトル算出手段)、131…ベクトル管理部(ベクトルリスト生成手段、133…線分ベクトル管理部(線分ベクトルリスト生成手段)、135…線分ベクトルリスト、137…法線ベクトル管理部(法線ベクトルリスト生成手段)、139…法線ベクトルリスト、141…メッシュデータ格納部(メッシュデータ格納手段)、151…付加データ管理部(付加データリスト生成手段)、153…付加データリスト、200…ワールド空間、201、201a、201b、201c…オブジェクト、202…基準点、203…カメラ、204…視錐台、205…前方クリップ面、206…後方クリップ面

Claims (10)

  1. 各画素に深度情報を含む画像を処理する画像処理装置であって、
    前記画像を複数の多角形によりメッシュ状に分割する画像分割手段と、
    前記各多角形の頂点に対応する前記深度情報と前記画像上のX座標及びY座標を、前記各頂点に係る第一の座標として取得する頂点データ取得手段と、
    前記各頂点に係る第一の座標を所定の座標系にて表現された三次元空間座標に変換する座標変換手段と、
    前記各頂点の前記三次元空間座標に基づいて、前記各多角形を構成する要素ベクトルを算出するベクトル算出手段と、
    ユニークな前記要素ベクトルに対してこれらを互いに識別する要素インデックスを夫々付与し、ユニークな前記要素ベクトルと前記要素インデックスとを対応付けたベクトルリストを生成するベクトルリスト生成手段と、
    前記各多角形に対して、前記各多角形を構成する前記要素ベクトルに係る前記要素インデックスを対応付けて格納するメッシュデータ格納手段と、
    を備えることを特徴とする画像処理装置。
  2. 前記座標変換手段は、前記画像を撮像した深度カメラの視野角情報と、前記画像のアスペクト比と、前記深度カメラが撮像する深度の範囲を示すクリップ距離と、に基づいて、前記各頂点の座標を逆射影変換することにより、前記各頂点の前記三次元空間座標として特定の視点を基準とする視点座標系にて表現された三次元空間座標を生成する逆射影変換手段を備えることを特徴とする請求項1に記載の画像処理装置。
  3. 前記座標変換手段は、前記各頂点の座標を正規化して、前記各頂点の前記三次元空間座標として正規化デバイス座標系にて表現された三次元空間座標を生成する正規化手段を備え、
    前記逆射影変換手段は、前記正規化デバイス座標系にて表現された前記各頂点の前記三次元空間座標を逆射影変換することを特徴とする請求項2に記載の画像処理装置。
  4. 前記メッシュデータ格納手段は、前記複数の多角形の頂点のうちの少なくとも1の頂点について前記三次元空間座標を格納することを特徴とする請求項1乃至3の何れか一項に記載の画像処理装置。
  5. 前記ベクトル算出手段は、前記各多角形を夫々複数の三角形に分割すると共に前記各三角形の各辺を表す線分ベクトルを算出する線分ベクトル算出手段と、前記各線分ベクトルに基づいて前記各三角形の法線ベクトルを算出する法線ベクトル算出手段と、を備えることを特徴とする請求項1乃至4の何れか一項に記載の画像処理装置。
  6. 前記ベクトルリスト生成手段は、
    ユニークな前記線分ベクトルに対してこれらを互いに識別する線分ベクトルインデックスを夫々付与し、ユニークな前記線分ベクトルと前記線分ベクトルインデックスとを対応付けた線分ベクトルリストを生成する線分ベクトルリスト生成手段と、
    ユニークな前記法線ベクトルに対してこれらを互いに識別する法線ベクトルインデックスを夫々付与し、ユニークな前記法線ベクトルと前記法線ベクトルインデックスとを対応付けた法線ベクトルリストを生成する法線ベクトルリスト生成手段と、を備えることを特徴とする請求項5に記載の画像処理装置。
  7. 前記画像の前記各画素は前記深度情報とは異なる付加データを含んでおり、
    前記頂点データ取得手段は、前記各多角形の前記頂点に対応する前記付加データを取得し、
    前記画像処理装置は、ユニークな前記付加データに対してこれらを互いに識別する付加データインデックスを夫々付与し、ユニークな前記付加データと前記付加データインデックスとを対応付けた付加データリストを生成する付加データリスト生成手段を備え、
    前記メッシュデータ格納手段は、前記各多角形に対して、前記各多角形の前記頂点に対応する前記付加データに係る前記付加データインデックスを対応付けて格納することを特徴とする請求項1乃至6の何れか一項に記載の画像処理装置。
  8. 前記付加データは、前記画像に写る被写体の色情報、温度情報、又は放射線情報の何れかを含むことを特徴とする請求項7に記載の画像処理装置。
  9. 各画素に深度情報を含む画像を処理する画像処理方法であって、
    前記画像を複数の多角形によりメッシュ状に分割する画像分割ステップと、
    前記各多角形の頂点に対応する前記深度情報と前記画像上のX座標及びY座標を、前記各頂点に係る第一の座標として取得する頂点データ取得ステップと、
    前記各頂点に係る第一の座標を所定の座標系にて表現された三次元空間座標に変換する座標変換ステップと、
    前記各頂点の前記三次元空間座標に基づいて、前記各多角形を構成する要素ベクトルを算出するベクトル算出ステップと、
    ユニークな前記要素ベクトルに対してこれらを互いに識別する要素インデックスを夫々付与し、ユニークな前記要素ベクトルと前記要素インデックスとを対応付けたベクトルリストを生成するベクトルリスト生成ステップと、
    前記各多角形に対して、前記各多角形を構成する前記要素ベクトルに係る前記要素インデックスを対応付けて格納するメッシュデータ格納ステップと、
    を実行することを特徴とする画像処理方法。
  10. コンピュータを、
    各画素に深度情報を含む画像を複数の多角形によりメッシュ状に分割する画像分割手段と、
    前記各多角形の頂点に対応する前記深度情報と前記画像上のX座標及びY座標を、前記各頂点に係る第一の座標として取得する頂点データ取得手段と、
    前記各頂点に係る第一の座標を所定の座標系にて表現された三次元空間座標に変換する座標変換手段と、
    前記各頂点の前記三次元空間座標に基づいて、前記各多角形を構成する要素ベクトルを算出するベクトル算出手段と、
    ユニークな前記要素ベクトルに対してこれらを互いに識別する要素インデックスを夫々付与し、ユニークな前記要素ベクトルと前記要素インデックスとを対応付けたベクトルリストを生成するベクトルリスト生成手段と、
    前記各多角形に対して、前記各多角形を構成する前記要素ベクトルに係る前記要素インデックスを対応付けて格納するメッシュデータ格納手段と、
    として機能させるための画像処理プログラム。
JP2018106963A 2018-06-04 2018-06-04 画像処理装置、画像処理方法、及び画像処理プログラム Active JP6762570B2 (ja)

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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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)

* Cited by examiner, † Cited by third party
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
WO2014000160A1 (en) * 2012-06-26 2014-01-03 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

Also Published As

Publication number Publication date
TW202004664A (zh) 2020-01-16
EP3579195A1 (en) 2019-12-11
JP2019211965A (ja) 2019-12-12
US10902674B2 (en) 2021-01-26
US20190371058A1 (en) 2019-12-05
TWI716874B (zh) 2021-01-21

Similar Documents

Publication Publication Date Title
JP6425780B1 (ja) 画像処理システム、画像処理装置、画像処理方法及びプログラム
CN108292362B (zh) 用于光标控制的手势识别
JP5713159B2 (ja) ステレオ画像による3次元位置姿勢計測装置、方法およびプログラム
JP6079131B2 (ja) 画像処理装置、方法、及びプログラム
US20130095920A1 (en) Generating free viewpoint video using stereo imaging
JP6762570B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP6073858B2 (ja) 顔の位置検出
US11189041B2 (en) Image processing apparatus, control method of image processing apparatus, and non-transitory computer-readable storage medium
US10719975B2 (en) Information processing apparatus and method of generating three-dimensional model
CN107025660A (zh) 一种确定双目动态视觉传感器图像视差的方法和装置
US20160232705A1 (en) Method for 3D Scene Reconstruction with Cross-Constrained Line Matching
US20190066363A1 (en) Image processing apparatus and image processing method
WO2020184174A1 (ja) 画像処理装置および画像処理方法
JP3800905B2 (ja) 画像特徴追跡処理方法、画像特徴追跡処理装置、3次元データ作成方法
US20130194254A1 (en) Image processing apparatus, image processing method and program
US20220180545A1 (en) Image processing apparatus, image processing method, and program
KR102587298B1 (ko) 멀티뷰 어안 렌즈들을 이용한 실시간 전방위 스테레오 매칭 방법 및 그 시스템
CN113379899B (zh) 一种建筑工程工作面区域图像自动提取方法
KR102195762B1 (ko) 포토그래메트리를 이용한 고품질 3차원 공간 정보 획득 방법
JP7298687B2 (ja) 物体認識装置及び物体認識方法
JP5865092B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2020166652A (ja) 画像処理装置、画像処理方法及びプログラム
CN112634439A (zh) 一种3d信息展示方法及装置
CN111489384A (zh) 基于互视角的遮挡评估方法及装置、设备、系统和介质
WO2022102015A1 (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