JP7614801B2 - Image processing device, image processing method and program - Google Patents
Image processing device, image processing method and program Download PDFInfo
- Publication number
- JP7614801B2 JP7614801B2 JP2020193311A JP2020193311A JP7614801B2 JP 7614801 B2 JP7614801 B2 JP 7614801B2 JP 2020193311 A JP2020193311 A JP 2020193311A JP 2020193311 A JP2020193311 A JP 2020193311A JP 7614801 B2 JP7614801 B2 JP 7614801B2
- Authority
- JP
- Japan
- Prior art keywords
- voxel
- vertices
- scale
- image processing
- voxels
- 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
Landscapes
- Image Generation (AREA)
Description
本発明は、オブジェクトの三次元形状をポリゴンで表現したデータを生成する技術に関する。 The present invention relates to a technology for generating data that represents the three-dimensional shape of an object using polygons.
VR、AR、ストリートビューイングなどの用途において、人物等の三次元形状を表す高品質なコンピュータグラフィックス(以下、「CG」と表記)によるポリゴンモデルを生成する需要がある。一般に、ポリゴンモデルはクリエータの手作業によって作成されるところ、ポリゴン数が多く且つ美麗な外観を持つポリゴンモデルの作成は非常に難しく、多大な時間が掛かる。クリエータの手間を削減する手法として、現実世界の物体を撮像した画像からポリゴンモデルを生成するフォトグラメトリと呼ばれる技術がある。フォトグラメトリの代表的な手法の1つである視体積交差法では、オブジェクトを複数の視点で撮像した画像からそのシルエットを抽出し、抽出したシルエットの情報を基に、当該オブジェクトの三次元形状をボクセルで表現したデータを生成する。そして、三次元空間中のボクセルの配置に従ってボクセル表面を覆うようなポリゴンで表現されたポリゴンモデルを生成する。 In applications such as VR, AR, and street viewing, there is a demand for the generation of high-quality computer graphics (hereinafter referred to as "CG") polygon models that represent the three-dimensional shapes of people and the like. Generally, polygon models are created manually by creators, and it is very difficult and time-consuming to create polygon models with a large number of polygons and beautiful appearances. As a method to reduce the creator's efforts, there is a technology called photogrammetry that generates polygon models from images of real-world objects. In the volume intersection method, one of the representative photogrammetry methods, the silhouette of an object is extracted from images captured from multiple viewpoints, and data is generated that represents the three-dimensional shape of the object in voxels based on the extracted silhouette information. Then, a polygon model is generated that is represented by polygons that cover the voxel surface according to the arrangement of the voxels in the three-dimensional space.
フォトグラメトリによって得られたポリゴンモデルのポリゴン数を適宜削減することで、利用用途に応じて簡略化した(ポリゴンメッシュを粗くした)ポリゴンモデルを得ることが行われている。非特許文献1は、ポリゴンモデル中のエッジで接続される2頂点を1頂点に集約することでポリゴン数を削減する手法(以下、「QEM法」と表記)を開示する。
By appropriately reducing the number of polygons in a polygon model obtained by photogrammetry, a simplified polygon model (with a coarser polygon mesh) can be obtained depending on the intended use. Non-Patent
しかしながら、QEM法の場合には、高密度なポリゴンモデルを入力した後、形状の誤差が少なくなるような2頂点のペアを算出し、それらを適切な1頂点に集約するために多大な時間が掛かるという課題があった。 However, with the QEM method, there was an issue that after inputting a high-density polygon model, it took a lot of time to calculate pairs of vertices that would minimize shape error and then aggregate them into a single appropriate vertex.
そこで本開示の技術では、ポリゴンで表現した形状データの生成負荷を軽減する技術を提案することを目的とする。 The technology disclosed herein aims to propose a technique that reduces the burden of generating shape data represented by polygons.
本開示に係る画像処理装置は、オブジェクトの三次元形状をボクセルで表現した形状データに基づいて、ボクセル配置に応じたポリゴンを決定する決定手段と、前記決定手段により決定されたポリゴンに関する情報から、頂点を特定のスケールのボクセル単位で算出する算出手段と、前記算出手段にて算出された頂点を接続することに基づいて、前記オブジェクトの三次元形状をポリゴンで表現した形状データを生成する生成手段と、を備え、前記算出手段は、前記特定のスケールがr倍(r>1)の場合、前記頂点を、前記生成される1つ以上の面と前記頂点となり得る点との距離の関係に基づいて算出する、ことを特徴とする。 The image processing device according to the present disclosure comprises a determination means for determining polygons according to a voxel arrangement based on shape data in which the three-dimensional shape of an object is represented in voxels, a calculation means for calculating vertices in voxel units of a specific scale from information regarding the polygons determined by the determination means, and a generation means for generating shape data in which the three-dimensional shape of the object is represented in polygons based on connecting the vertices calculated by the calculation means, wherein when the specific scale is r times (r>1), the calculation means calculates the vertices based on the distance relationship between the one or more faces to be generated and points that can become the vertices .
本開示の技術によれば、ポリゴンで表現した形状データの生成負荷を軽減することができる。 The technology disclosed herein can reduce the burden of generating shape data represented by polygons.
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。 The following describes an embodiment of the present invention with reference to the drawings. Note that the following embodiment does not limit the present invention, and not all of the combinations of features described in the present embodiment are necessarily essential to the solution of the present invention. Note that the same components are described with the same reference numerals.
[実施形態1]
本実施形態では、仮想視点映像の生成に必要なオブジェクトの三次元形状データとして、簡略化されたポリゴンモデルを生成する場面を適用例として説明を行うものとする。仮想視点映像は、オブジェクトの三次元形状データであるポリゴンモデルを用いてレンダリングすることで得られる。
[Embodiment 1]
In this embodiment, a case where a simplified polygon model is generated as three-dimensional shape data of an object required for generating a virtual viewpoint video will be described as an application example. The virtual viewpoint video is obtained by rendering using the polygon model, which is the three-dimensional shape data of the object.
<システム構成>
図1は、本実施形態における、仮想視点映像システムの構成の一例を示す図である。なお、仮想視点映像とは、エンドユーザ及び/又は選任のオペレータ等が自由に仮想視点(現実には存在しない仮想カメラ)の位置及び姿勢を操作することによって生成される映像であり、自由視点映像や任意視点映像などとも呼ばれる。仮想視点画像によれば、サッカーやラグビーといったスポーツのハイライトシーンを様々な角度から視聴閲覧することができるので、通常の画像と比較してユーザに高臨場感を与えることができる。図1に示す仮想視点映像システムは、画像処理装置100、カメラ群110、仮想視点映像生成装置120を有する。
<System Configuration>
FIG. 1 is a diagram showing an example of the configuration of a virtual viewpoint video system in this embodiment. The virtual viewpoint video is a video generated by an end user and/or a designated operator freely manipulating the position and posture of a virtual viewpoint (a virtual camera that does not exist in reality), and is also called a free viewpoint video or an arbitrary viewpoint video. The virtual viewpoint image allows the highlight scenes of sports such as soccer and rugby to be viewed from various angles, so that a high sense of realism can be given to the user compared to normal images. The virtual viewpoint video system shown in FIG. 1 includes an
画像処理装置100は、カメラ群110から映像データを受信する。この映像データは、複数の異なる視点で撮影された映像データである。そして、受信した複数の視点に対応した映像データから、オブジェクトの三次元形状をポリゴンで表現した形状データであるポリゴンモデルを生成する。生成されたポリゴンモデルは、仮想視点映像生成装置120に送られる。
The
カメラ群110は、撮像装置としての複数のデジタルビデオカメラ(以下、単に「カメラ」と表記)で構成される。各カメラは、シリアルデジタルインタフェース(SDI)に代表される映像信号インタフェースを備えており、映像信号インタフェースを介して、各カメラで撮影した映像データを画像処理装置100に出力する。
The
仮想視点映像生成装置120は、画像処理装置100から受け取ったポリゴンモデルを用いてレンダリング処理を行って、ユーザが指定した仮想視点からの見えを表す仮想視点映像を生成する。レンダリング処理では、別途入力された仮想視点情報に従って、ポリゴンモデルが表す三次元形状の表面にテクスチャを貼り付ける処理(表面の色を決める処理)を行うことで、仮想視点映像を生成する。生成された仮想視点映像データは、液晶ディスプレイ等に代表される不図示の表示装置に出力・表示され、ユーザの視聴に供される。
The virtual viewpoint
なお、仮想視点情報には、少なくとも仮想視点の位置及び方向に関する情報が含まれる。また、仮想視点の指定には、少なくとも仮想視点の位置及び方向に関する指定が含まれる。また、仮想視点の指定は、ユーザによる指定でなくてもよい。例えば、装置が、自動で指定するような構成であってもよい。システム構成については、上記以外にも、様々な構成要素が存在するが、本発明の主眼ではないので、その説明は省略する。 The virtual viewpoint information includes at least information about the position and direction of the virtual viewpoint. Furthermore, the specification of the virtual viewpoint includes at least specification of the position and direction of the virtual viewpoint. Furthermore, the specification of the virtual viewpoint does not have to be specified by the user. For example, the device may be configured to specify it automatically. There are various other components in addition to those mentioned above regarding the system configuration, but as they are not the main focus of the present invention, a description of them will be omitted.
<画像処理装置のハードウェア構成>
次に、画像処理装置100のハードウェア構成を、図1を参照しつつ説明する。画像処理装置100は、CPU101、メインメモリ102、HDD103、入力部104、表示部105、外部I/F106を備え、各部がバス107を介して接続されている。まず、CPU101は、画像処理装置100を統括的に制御する演算処理装置であり、HDD103等に格納された各種プログラムを実行して、カメラ群110を制御して複数視点映像データを取得したり、後述するポリゴンモデル生成処理を含む様々な画像処理を行う。メインメモリ102は、各種処理で用いるデータやパラメータなどを一時的に格納するほか、CPU101に作業領域を提供する。HDD103は、各種プログラムや入力された映像データなどを記憶する不揮発性の大容量記憶装置であり、例えばSSD等でもよい。入力部104は、キーボードやマウス、電子ペン、タッチパネル等の装置であり、様々なユーザ指示を受け付ける。表示部105は、液晶パネルなどで構成され、UI(ユーザインタフェース)画面の表示などを行う。外部I/F部106は、カメラ群110を構成する各カメラ及び仮想視点映像装置120とネットワーク(ここではLAN108)を介して、各カメラで撮像した映像データやポリゴンモデルといった各種データの送受信を行う通信インタフェースである。バス107は上述の各部を接続し、データ転送を行う。なお、仮想視点映像装置120も、画像処理装置100と同様の構成を備え、CPUやメインメモリを用いて上述のレンダリング処理などを行う。
<Hardware configuration of image processing device>
Next, the hardware configuration of the
<本開示の技術の概要>
図2は、本開示に係る、ポリゴンモデル生成処理の概要を説明する図である。ここでは、四角錐と立方体とを組み合わせたシンプルな形状のオブジェクト200を、複数のカメラ201を用いて様々な視点から撮像し、得られた複数視点画像に基づいて、その三次元形状を復元する場合を例に説明を行うものとする。
<Overview of the technology disclosed herein>
2 is a diagram for explaining an overview of the polygon model generation process according to the present disclosure. Here, an example will be described in which an
≪STEP.1≫
オブジェクト200を取り囲むように複数のカメラ201を配置して撮像を行い、複数の視点に対応する撮像画像を取得する。この際、カメラ群110を構成する個々のカメラ201は、オブジェクト200がその画角内に適切に収まるように、向き及び姿勢、焦点距離、露出制御パラメータ等が設定される。
<
A plurality of
≪STEP.2≫
複数の視点に対応する撮像画像それぞれにおけるオブジェクト200のシルエット情報から、視体積交差法などを用いて、オブジェクト200の三次元形状をボクセルで表現した形状データ(以下、「ボクセルデータ」と表記)を生成する。図2において、黒の矩形は視体積の内側に位置していた残ったボクセル(ONボクセル)を示し、白抜きの矩形は視体積の外側に位置していた削除されたボクセル(OFFボクセル)を示している。
<
Shape data (hereinafter referred to as "voxel data") expressing the three-dimensional shape of the
≪STEP.3≫
STEP.2で得られたボクセルデータに対して、ボクセル配置に応じた面(ポリゴン)を決定する。図2において、白点線が決定された面を示している。
<
A surface (polygon) according to the voxel arrangement is determined for the voxel data obtained in
≪STEP.4≫
上記面に関する情報を参照して、簡略化後のポリゴンモデルにおける尤もらしい頂点を、入力ボクセルよりも大きな特定のスケールのボクセル単位で算出する。なお、以下の説明において、上記特定のスケールを「マクロスケール」と呼び、マクロスケールのボクセルを「マクロボクセル」と呼ぶこととする。図3は、マクロボクセルを説明する図である。最も小さい矩形300が入力ボクセルを示し、最も大きい矩形301がスケール8倍のマクロボクセル、矩形302がスケール4倍のマクロボクセル、矩形303がスケール2倍のマクロボクセルをそれぞれ示している。なお、マクロボクセルは、そのスケールが入力ボクセルと同じ(すなわち、スケール1倍)であってもよい。図2において、一点鎖線の矩形がマクロボクセルを示し、二重丸がマクロボクセル単位で算出された尤もらしい頂点を示している。
<
By referring to the information on the surface, the most likely vertices in the simplified polygon model are calculated in units of voxels with a specific scale larger than that of the input voxel. In the following description, the specific scale is called "macroscale" and the voxels in the macroscale are called "macrovoxels". FIG. 3 is a diagram for explaining macrovoxels. The
≪STEP.5≫
STEP.4で算出された尤もらしい頂点に対してトポロジを決定して頂点同士を接続し、形状を簡略化したポリゴンモデルを生成する。図2において、白い実線が決定したトポロジ(≒面)を示している。
<
A topology is determined for the likely vertices calculated in
以上が、本開示に係るポリゴンモデル生成処理の概要である。なお、本開示の技術を適用可能なオブジェクトは、図2に示すようなシンプルな形状のオブジェクトに限定されるものではなく、一般的な生物、建築物、乗り物といったより複雑な形状を持つオブジェクトの三次元形状の復元にも適用できることはいうまでもない。 The above is an overview of the polygon model generation process according to the present disclosure. Note that the objects to which the technology of the present disclosure can be applied are not limited to objects with simple shapes such as those shown in FIG. 2, but it goes without saying that the technology can also be applied to the reconstruction of the three-dimensional shapes of objects with more complex shapes, such as general living things, buildings, and vehicles.
<画像処理装置のソフトウェア構成>
図4は、本実施形態に係る、画像処理装置100の機能構成を示すブロック図である。画像処理装置100は、撮像画像取得部401、カメラ校正部402、シルエット画像生成部403、ボクセルデータ生成部404、面決定部405、代表頂点算出部406、代表頂点接続部407を有する。
<Software configuration of image processing device>
4 is a block diagram showing the functional configuration of the
撮像画像取得部401は、カメラ群110を構成する複数のカメラ201によって異なる視点から撮像された画像(複数視点画像)のデータを取得する。取得した複数視点画像のデータは、カメラ校正部402及びシルエット画像生成部403に入力される。
The captured
カメラ校正部402は、例えば試合の開始前などのタイミングでカメラキャリブレーションを行い、カメラ群110を構成する各カメラ201のカメラパラメータを導出する。カメラパラメータには、内部パラメータ、外部パラメータ、歪曲パラメータが含まれる。カメラキャリブレーションの大まかな手順は以下のとおりである。まず、スクエアグリッド等の平面パターンを各カメラ201で撮像する。次に、得られた各カメラ201の撮像画像それぞれから特徴点を検出し、画像座標系において当該特徴点の座標を求める。ここで、特徴点とは、スクエアグリッドの場合であれば直交する直線同士の交点のことである。そして、求めた特徴点の座標を用いて、内部パラメータの初期値を算出する。ここで、内部パラメータとは、焦点距離や、主点と呼ばれる光学的中心を表すパラメータである。また、内部パラメータの初期値は必ずしも、画像中の特徴点から算出する必要はなく、カメラの設計値を用いてもよい。次に、バンドル調整と呼ばれる非線形最適化処理によって、内部パラメータ、外部パラメータ、歪曲パラメータを算出する。ここで、外部パラメータとは、カメラの位置、視線方向、視線方向を軸とする回転角を表すパラメータのことである。また、歪曲パラメータとは、レンズの屈折率の違いによって生じる半径方向の画像の歪みや、レンズとイメージプレーンが平行にならないことによって生じる円周方向の歪みを表す係数のことである。カメラキャリブレーションの手法は他にも多く存在するが、本発明の主眼でないため詳細は省略する。カメラキャリブレーションによって求めた各カメラ201のカメラパラメータはHDD103に保存しておく。
The
シルエット画像生成部403は、複数視点画像を構成する各撮像画像からオブジェクトのシルエットに対応する領域(前景領域)を抽出し、前景領域を「1」それ以外の背景領域を「0」で表した2値の画像(シルエット画像)を生成する。前景領域を抽出する手法には様々あり特に限定されない。例えば背景差分法の場合は、オブジェクトが存在する場合と存在しない場合の画像をそれぞれ撮像し、双方の撮像画像の差分に相当する領域を、オブジェクトのシルエットとして抽出する。
The silhouette
ボクセルデータ生成部404は、シルエット画像生成部403が生成したシルエット画像と、カメラ校正部402が導出したカメラパラメータとに基づいて、オブジェクトの三次元形状をボクセルの集合で表現したボクセルデータを生成する。シルエット画像からオブジェクトの三次元形状を導出する手法にも様々あり特に限定されないが、本実施形態ではビジュアル・ハル(VH)法を用いる。VH法は、カメラパラメータに基づき、シルエット画像におけるシルエットの領域(前景領域)を空間中に投影し、投影領域の積集合をオブジェクトの形状として定義する方式である。具体的にはまず、あるスケールのボクセルを敷き詰めた三次元空間を定義する。次に三次元空間中の全ボクセルに対して、ボクセルを三次元座標から各カメラの二次元画像上に射影する。この時、射影されたボクセルが各カメラのオブジェクトのシルエットと重なっているかを判定し、重なっていると判定されたカメラの台数が事前に設定された閾値以上であれば、そのボクセルがオブジェクトの形状の一部であると定義する。例えば、全ボクセルに「0」のフラグを初期値として与えておいて、オブジェクトの形状の一部であると判定されたボクセルには「1」のフラグを与える。「1」のフラグを与えられたボクセルの集合が、オブジェクトの三次元形状を表すボクセルデータとなる。本実施形態ではVH法を用いてボクセルデータを生成する例について述べるが、オブジェクトの三次元形状を得る方法は必ずしもVH法でなくてもよい。例えば、ステレオマッチング法によってオブジェクトの形状を点群として取得し、次に、あるスケールのボクセル格子で区切られた三次元空間について、取得した点群が存在する領域に「1」のフラグを与えることでも、ボクセルデータを取得可能である。また、レーザ測定器を使い、射出したレーザが戻ってくるまでの時間とレーザの速度の関係からオブジェクトまでの距離を求めることで、その形状を点群として取得することも可能である。その後は上記と同様の方法で点群をボクセルに変換すれば、ボクセルデータが得られることになる。ボクセル形状の推定の方法については他にも多くの方法が存在するが、本発明の主眼ではないため省略する。
The voxel
面決定部405は、ボクセルデータ生成部404が生成したボクセルデータに対し、そのボクセル配置に応じて面を決定する。ボクセルデータから面を決定する手法にも様々あるが、本実施形態では、マーチングキューブス法(以下、「MC法」と表記)を用いる。また、面決定部405は、決定した面に関する情報を、面情報として保存する。この面情報は、代表頂点算出部406及び代表頂点接続部408の処理にて参照される。
The
代表頂点算出部406は、上述の面情報を用いて、簡略化後のポリゴンモデルにおける尤もらしい頂点(代表頂点)を算出する。算出した代表頂点の情報は、代表頂点接続部407に入力される。
The representative
代表頂点接続部407は、代表頂点算出部406が算出した代表頂点を、面情報を参照して接続し、より少ないポリゴン数で構成された(すなわち、形状を簡略化した)ポリゴンモデルを生成する。
The representative
<ポリゴンモデルの生成フロー>
次に、画像処理装置100において、形状を簡略化したポリゴンモデルを生成するまでの一連の処理の流れについて、図5に示すフローチャートを参照して詳しく説明する。この一連の処理は、CPU101が、所定のプログラムをHDD103から読み込んでメインメモリ102に展開し、これをCPU101が実行することで実現される。なお、以下の説明において記号「S」はステップを意味する。
<Polygon model generation flow>
Next, a series of processing steps up to generating a polygon model with a simplified shape in
まず、S501では、撮像画像取得部401が、カメラ群110にて撮像された画像(複数視点画像)のデータをLAN108、外部I/F部106、バス107を介して取得する。取得した複数視点画像のデータは、メインメモリ102に保存される。そして、S502では、上記複数視点画像を撮像したカメラ群110を構成する各カメラ201のカメラパラメータがHDD103から読み出される。なお、カメラ校正部402が上述のキャリブレーションをこのタイミングで行ってカメラパラメータを取得してもよい。
First, in S501, the captured
続いて、S503では、シルエット画像生成部403が、S501で取得した複数視点画像に基づきシルエット画像を生成する。そして、S504では、ボクセルデータ生成部404が、S503で生成されたシルエット画像とS502で取得したカメラパラメータとを用いて、「1」又は「0」のフラグを付したボクセルの集合によりオブジェクトの三次元形状を表現したボクセルデータを生成する。生成されたボクセルデータは、面決定部405に入力される。
Next, in S503, the silhouette
次のS505では、面決定部405が、S504で生成されたボクセルデータに対して、ボクセルの配置に応じた面を決定する。面を決定する代表的な方法として、マーチングキューブス(MC)法がある。ここで、図6を参照してMC法について説明する。MC法では、図6に示すような、隣接した8つのボクセルからなる立方体を1つの単位として考える。例えば図6のように、隣接した各ボクセル中心に、S504で付された「0」又は「1」の値で定義される点を考え、これらを結んで得られる立方体を1つの単位とする。この場合、単位立方体の8つの頂点に対して、それぞれ「0」又は「1」の値が割り振られるため、頂点の値の組み合わせは256通り存在することになる。そして、これら組合せが、単位立方体中の様々な面を表現する指標(インデックス)となる。以下、MC法における単位立方体を「MCボクセル」と呼び、上記256通りの組合せに対応する面の決め方のことを「MCインデックス」と呼ぶこととする。MC法では、隣接した8つのボクセルの頂点に付された「0」又は「1」の値の組み合わせでMCインデックスを導出するため、入力ボクセルデータに対するMCボクセルの数はx軸、y軸、z軸それぞれで1つずつ少なくなる。入力ボクセルデータは、x軸、y軸、z軸の端点で「1」の値を持つ場合があり、この場合に端点処理が失敗し、形状が破綻する可能性がある。このような形状の破綻を防ぐため、通常は、xyzの各軸に対して、「0」の値を持つボクセルをxp個、yp子、zp個追加するようなパディング処理を行った後に、MC法を適用する。また、このようなボクセルが敷き詰められた3次元空間を囲う、矩形の境界のことをバウンディングボックスという。
In the next step S505, the
通常のMC法では、三角形の面を構成する頂点位置を、MCボクセルのエッジインデックス(EI)を用いて管理する。ここでエッジインデックスとは、MCボクセルの頂点間に割り当てられる1~12までのインデックス番号と、それに対応する座標のことである。本実施形態では、このエッジインデックスと、生成される面に対応する法線情報をMCインデックスと関連付けて上述の面情報として、図7に示すようなテーブル形式にて保存しておく。なお、生成される面数や、面を構成する頂点位置の情報を面情報として保存してもよい。以下、図7のようなテーブルを「MCテーブル」と呼ぶこととする。また、MCテーブルには、隣接するMCボクセルとの接続関係を示す情報も、面情報として格納される。MCテーブルの詳細については後述する。このような面情報を含んだMCテーブルはHDD103にて保持される。
In the normal MC method, the vertex positions constituting the triangular faces are managed using the edge index (EI) of the MC voxel. Here, the edge index refers to an index number from 1 to 12 assigned between the vertices of the MC voxel and the corresponding coordinates. In this embodiment, this edge index and normal information corresponding to the generated face are associated with the MC index and stored as the above-mentioned face information in a table format as shown in FIG. 7. Note that the number of faces generated and information on the vertex positions constituting the faces may also be stored as face information. Hereinafter, a table like that in FIG. 7 will be referred to as an "MC table." In addition, the MC table also stores information indicating the connection relationship with adjacent MC voxels as face information. Details of the MC table will be described later. The MC table including such face information is held in the
S506では、代表頂点算出部406が、上述のMCテーブルを参照して、代表頂点の位置を、指定されたマクロスケールのボクセル単位で算出する。マクロスケールは可変であり、マクロスケールを変えることによって簡略化度合いを調整することができる。本実施形態では、入力MCボクセルのスケールSviに対してその整数倍のスケールSvmを持つMCボクセルの単位で尤もらしい頂点(代表頂点)が算出される。以下、入力MCボクセルの整数倍のスケールを持つMCボクセルを「マクロMCボクセル」と呼ぶこととする。なお、実際に適用するマクロスケールは、対象オブジェクトの種類や形状等を考慮して予め決めておいてもよいし、ユーザが所望のスケールをUI等を介して都度指定してもよい。代表頂点算出部406は、このような代表頂点の算出を全てのマクロMCボクセルに対して行う。なお、この算出処理においては、マクロMCボクセルを1つずつ順に処理してもよいし、複数のマクロMCボクセル単位で並列に処理してもよい。代表頂点算出処理の詳細については後述する。算出結果は代表頂点接続部407に出力される。
In S506, the representative
S507では、代表頂点接続部407が、S506で算出された代表頂点に対してトポロジを決定して、代表頂点同士を接続し、形状が簡略化されたポリゴンモデルを生成する。代表頂点接続部407は、トポロジの決定を全てのマクロMCボクセルに対して行う。トポロジ決定処理の詳細については後述する。
In S507, the representative
以上が、本実施形態に係る、ポリゴンモデルの生成フローの内容である。 The above is the polygon model generation flow according to this embodiment.
<MCテーブルの詳細>
続いて、MCテーブルについて詳しく説明する。図8はMCボクセルとエッジインデックスとの関係を説明する図、図9はMCボクセルと隣接MCボクセルとの接続関係を説明する図である。いま、番号1のMCインデックスに関し、頂点1のみが「1」の値を持ち、頂点1以外が「0」の値を持つと定義する。この場合、図8に示すように、エッジインデックスEI1、EI2、EI3に対して面が貼られることになる。このようなMCインデックスとエッジインデックスとの対応関係が、MCテーブルには格納される。そして、エッジインデックスによって特定される面に対応する法線情報もMCテーブルには格納される。
<Details of MC table>
Next, the MC table will be described in detail. Fig. 8 is a diagram for explaining the relationship between MC voxels and edge indexes, and Fig. 9 is a diagram for explaining the connection relationship between MC voxels and adjacent MC voxels. Now, for the
法線情報に関しては以下のようにして得ることができる。そもそも、三次元の法線の切片は、面に応じて変化するが、その傾きはMCインデックスに対して固有である。一般に、3次元空間上の平面の方程式が以下の式(1)のように与えられた場合、正規化された法線ベクトルnは以下の式(2)のように表される。 Normal information can be obtained as follows. First of all, the intercept of a three-dimensional normal varies depending on the surface, but its slope is unique to the MC index. In general, if the equation of a plane in three-dimensional space is given as in the following equation (1), the normalized normal vector n is expressed as in the following equation (2).
したがって、例えば番号1のMCインデックスに対する法線ベクトル(nx,ny,nz)は、面の表裏も考慮すると、以下の式(3)のようになる。
Therefore, for example, the normal vector (nx , ny, nz ) for the
このようにして求めた法線ベクトル(nx,ny,nz)も、MCインデックスと対応付けて、MCテーブルに格納される。なお、格納しておく法線ベクトル(nx、ny、nz)は必ずしも正規化されている必要はない。 The normal vector ( nx , ny , nz ) thus obtained is also stored in the MC table in association with the MC index. Note that the stored normal vector ( nx , ny , nz ) does not necessarily have to be normalized.
次に、隣接ボクセルとの接続関係を考える。例えば、番号1のMCインデックスの場合、その対象MCボクセルには3つのエッジE12(EI1とEI2とを結ぶエッジ)、E25(EI2とEI5とを結ぶエッジ)、E51(EI5とEI1とを結ぶエッジ)が形成される。したがって、当該対象MCボクセルは図9に示すように、その上下左右に存在する6つの隣接MCボクセル(MV1~MV6)のうち、3つの隣接MCボクセルMV1、MV2、MV3と接続される。これらの接続関係が、MCインデックスと対応付けてMCテーブルに格納される。なお、接続関係は必ずしもMCボクセル単位で保存する必要はなく、MCボクセルに対して半ボクセル分ずれた位置に存在する入力ボクセル単位で保存してもよい。例えば、番号1のMCインデックスの場合であれば、頂点1を中心とするボクセルは、頂点2、頂点4、頂点5をそれぞれ中心とする3つの入力ボクセル(図8及び図6を参照)と接続されるので、これらボクセルの情報を格納すればよい。
Next, consider the connection relationship with adjacent voxels. For example, in the case of the
なお、前述のとおり、MC法における単位立方体の8個の頂点の「0」と「1」の組合せを考えると、面の生成パターンは256通り存在することになる。しかしながら、回転や反転によって同じ生成パターンになるものが多く存在し、図10に示す15通りの生成パターンに集約される。なお、図10において、単位立方体の8つの頂点のうち黒丸は「1」が付された頂点を示し、白丸は「0」が付された頂点を示している。 As mentioned above, when considering the combinations of "0" and "1" at the eight vertices of a unit cube in the MC method, there are 256 possible face generation patterns. However, there are many cases where the same generation pattern results from rotation or inversion, and these are summarized in the 15 generation patterns shown in Figure 10. In Figure 10, black circles among the eight vertices of the unit cube indicate vertices marked with "1," and white circles indicate vertices marked with "0."
<代表頂点算出処理の詳細>
続いて、前述のS506における代表頂点の算出処理について、場合を分けて詳しく説明する。
<Details of Representative Vertex Calculation Process>
Next, the process of calculating the representative vertex in S506 described above will be explained in detail for different cases.
≪マクロスケールが1倍の場合≫
前述のとおりマクロスケールが1倍とは、入力MCボクセルのスケールSviとマクロMCボクセルのスケールSvmとが同じということである。この場合の代表頂点の算出方法は複数存在する。まず一つ目として、入力MCボクセルで生成される面の頂点の平均位置を算出する方法について説明する。図11は、複数のMCボクセルが整列して配置された3次元空間を示している。いま、処理対象とする入力MCボクセルの開始位置をMV(0,0,0)とし、k、l、mを開始位置から各軸方向のボクセル個数を表すボクセル座標とする。MV(k,l,m)のMCインデックスが番号1だった場合、面の平均頂点位置Cは、エッジインデックスEI1、EI2、EI5の位置を用いて以下(4)の式で求めることができる。
<When the macro scale is 1x>
As described above, a macro scale of 1 means that the scale S vi of the input MC voxel and the scale S vm of the macro MC voxel are the same. In this case, there are several methods for calculating the representative vertex. First, a method for calculating the average position of the vertices of the surface generated by the input MC voxel will be described. FIG. 11 shows a three-dimensional space in which a plurality of MC voxels are aligned and arranged. Now, the start position of the input MC voxel to be processed is set to MV(0,0,0), and k, l, and m are voxel coordinates representing the number of voxels in each axial direction from the start position. When the MC index of MV(k,l,m) is
上記式(4)において、EIx,i,k、EIy,i,l、EIz,i,m+、はそれぞれ以下の式(5)~式(7)の示すとおりである。 In the above formula (4), EI x,i,k , EI y,i,l , and EI z,i,m+ are as shown in the following formulas (5) to (7), respectively.
また、生成される面が2面以上(図10におけるパターン1とパターン2を除くすべての生成パターン)の場合、代表頂点位置を算出する手法として、非特許文献1のQuadric Error Metrics(以下、「QEM」と表記。)がある。QEMを用いることで、複数の頂点を一つの頂点に集約した時の、誤差を近似することができる。ここで、3次元空間における平面の方程式を上記式(1)とし、二つの平面のQEMをQ1、Q2とする。このとき、二つの面に含まれる頂点を頂点vに集約した時の誤差△vは、以下の式(8)の条件下で、以下の式(9)のように表される。
In addition, when two or more faces are generated (all generated patterns except for
なお、上記式(9)において、 Note that in the above formula (9),
であり、Q1及びQ2はそれぞれ以下のように定義される。 where Q1 and Q2 are defined as follows:
また、複数の面n枚に含まれる頂点から、ある頂点v’までの誤差△v’の総和は、以下の式(10)で導かれる。 Furthermore, the sum of the errors Δv' from the vertices included in the n faces to a certain vertex v' is calculated using the following formula (10).
なお、上記式(10)において、 Note that in the above formula (10),
である。そして、この誤差△v’が最小になるような頂点が尤もらしい頂点、すなわち、代表頂点となる。このことから、以下の式(11)に示す条件の下、以下の式(12)が成り立つ。 The vertex for which this error Δv' is smallest is the most likely vertex, i.e., the representative vertex. Therefore, under the conditions shown in the following formula (11), the following formula (12) holds.
そして、上記式(12)について、v’に掛かる行列に逆行列が存在するとして、以下の式(13)を満たすようなv’を算出する。 Then, assuming that an inverse matrix exists for the matrix multiplied by v' in the above formula (12), calculate v' that satisfies the following formula (13).
また、逆行列が存在しない場合、各面の頂点の平均値をv’としてもよい。この場合、上記式(13)中の、平面の方程式の係数a、b、cに関して、入力MCボクセルのインデックスに対応する法線の係数をMCテーブルから参照した後、上述の式(8)の条件を満たすように変換すればよい。また、マクロMCボクセルのスケールと入力MCボクセルのスケールとが等しいことから、入力MCボクセルのスケールSviと位置(k,l,m)から、面が通るエッジインデックスEIの位置が容易に算出できる。したがって、a、b、c及び、EIの座標を前述の式(1)に代入して、定数項dを算出すればよい。もちろん、面の平行移動の性質を用いて、MCボクセルの位置から直接dを算出してもよい。 Also, when there is no inverse matrix, the average value of the vertices of each face may be v'. In this case, for the coefficients a, b, and c of the equation of the plane in the above formula (13), the coefficients of the normal corresponding to the index of the input MC voxel are referred to from the MC table, and then converted to satisfy the condition of the above formula (8). Also, since the scale of the macro MC voxel and the scale of the input MC voxel are equal, the position of the edge index EI through which the face passes can be easily calculated from the scale S vi and position (k, l, m) of the input MC voxel. Therefore, the coordinates of a, b, c, and EI may be substituted into the above formula (1) to calculate the constant term d. Of course, d may be calculated directly from the position of the MC voxel using the nature of the parallel movement of the face.
また、複数の面が生成される場合、算出する代表頂点は必ずしも1つでなくてもよい。図12(a)は、図10における生成パターン6で生成される3つの面それぞれに対して代表頂点を算出した場合を示している。各面に対して、隣接MCボクセルとの接続関係は保存されており、尚且つ各入力MCボクセル内での面の接続関係はMCインデックスから既知である。そのため、面毎に平均頂点を求め、それらを代表頂点として算出してもよい。この手法は、部分的に複雑な形状を表現したい場合に有用である。スケール1倍のMCボクセルを1頂点に集約すると集約し過ぎになってしまう場合にこの手法を使うことで、部分的に細かい形状を表現しつつ、他のMCボクセルとの接続を維持することが可能になる。
In addition, when multiple faces are generated, the representative vertex to be calculated does not necessarily have to be one. FIG. 12(a) shows the case where the representative vertex is calculated for each of the three faces generated by
≪マクロスケールが2倍以上の場合≫
次に、入力MCボクセルに対するマクロMCボクセルのスケールがr倍だった場合を考える。ここで、rは1よりも大きい正の整数(r≧2)を示す。
<When the macro scale is more than twice the normal size>
Next, consider the case where the scale of the macro MC voxel with respect to the input MC voxel is r times, where r is a positive integer greater than 1 (r≧2).
マクロMCボクセルのスケールが決まると、まず、当該マクロMCボクセルにどの入力MCボクセルが含まれるかが特定される。このとき、特定された入力MCボクセルに対応するMCインデックスも決まる。そして、前述の図7に示すようなMCテーブルを参照することで、これらMCインデックスに対応する法線の係数が決まり、また生成される平面の方程式が入力MCボクセルの位置から決まる。こうして決定した全ての面から、ある頂点までの誤差の総和△v’は、以下の式(14)で表される。 Once the scale of the macro MC voxel is determined, it is first identified which input MC voxels are included in that macro MC voxel. At this time, the MC index corresponding to the identified input MC voxel is also determined. Then, by referring to the MC table shown in Figure 7 above, the normal coefficients corresponding to these MC indexes are determined, and the equation of the plane to be generated is determined from the position of the input MC voxel. The sum of the errors Δv' from all the faces determined in this way to a certain vertex is expressed by the following equation (14).
上記式(14)において、IMVは入力ボクセルを表し、MMVはマクロMCボクセルを表す。 In the above formula (14), IMV represents the input voxel and MMV represents the macro MC voxel.
なお、マクロMCボクセルのスケールが入力MCボクセルより大きい場合においても、複数の面が生成される場合には、マクロMCボクセルに対して生成する代表頂点は必ずしも一つでなくてもよい。 Note that even if the scale of the macro MC voxel is larger than that of the input MC voxel, if multiple faces are generated, the representative vertex generated for the macro MC voxel does not necessarily have to be one.
(トポロジ決定処理の詳細)
続いて、前述のS507におけるトポロジの決定処理について、代表頂点算出処理と同様に場合を分けて詳しく説明する。
(Details of the topology determination process)
Next, the topology determination process in S507 described above will be explained in detail for different cases, similar to the representative vertex calculation process.
≪マクロスケールが1倍の場合≫
S505で生成されるMCテーブルには、接続関係にある隣接MCボクセルを特定可能な情報が格納されている。そして、MC法は穴が開かないポリゴンメッシュ(≒面の集合)を作るため、隣接MCボクセルは必ず面を形成する。そのため、各面について必ず代表頂点が算出されており、これを接続対象とする。具体的には、まず、入力MCボクセルに対応するMCインデックスを、MCテーブルを参照して取得する。次に、取得したMCインデックスについて、隣接MCボクセルとの接続関係を用いてトポロジを決定する。入力MCボクセルの代表頂点と、当該入力MCボクセルと接続関係にある隣接MCボクセルの代表頂点とを結ぶことで、トポロジ(つまり、新たなエッジ)を決定できる。図12(b)にその具体例を示す。図12(b)において、上述の生成パターン6に従う面を有するMCボクセル1について、生成パターン9に従う面を有するMCボクセル2が接続関係にあり、何かしらの連続する面を生成することがMCテーブル内の隣接MCボクセルの情報から分かっている。このようなMCボクセル1及び2それぞれから算出された代表頂点1及び2を接続し(図中の破線を参照)、同じように接続関係にある他の隣接MCボクセルの代表頂点とも接続することで、簡略化されたポリゴンメッシュが生成される。なお、頂点を接続していく方向についてのルール(例えば、x、y、zのプラス方向に頂点を結んでいく等)を予め設定しておくことで、トポロジ接続の重複を防ぐことができる。
<When the macro scale is 1x>
The MC table generated in S505 stores information that can identify adjacent MC voxels in a connected relationship. Since the MC method creates a polygon mesh (≒ a collection of faces) without holes, adjacent MC voxels always form faces. Therefore, a representative vertex is always calculated for each face, and this is the connection target. Specifically, first, an MC index corresponding to an input MC voxel is acquired by referring to the MC table. Next, a topology is determined for the acquired MC index using a connection relationship with adjacent MC voxels. A topology (i.e., a new edge) can be determined by connecting the representative vertex of the input MC voxel with the representative vertex of an adjacent MC voxel in a connected relationship with the input MC voxel. A specific example is shown in FIG. 12(b). In FIG. 12(b), it is known from the information of adjacent MC voxels in the MC table that
≪マクロスケールが2倍以上の場合≫
入力MCボクセルに対するマクロMCボクセルのスケールがr倍(r>2)だった場合も、基本的な考え方は同じである。この場合、まず、当該マクロMCボクセルにどの入力MCボクセルが含まれるかが特定される。このとき、特定された入力MCボクセルに対応するMCインデックスも決まる。そして、上述したように、対応するMCインデックスの、隣接MCボクセルとの接続関係を用いてトポロジを決定する。隣接MCボクセルとの接続関係は入力MCボクセルについてMCテーブルに保存されているため、該当する入力MCボクセルがどのマクロMCボクセルに含まれるかを求めた後に、算出された代表頂点同士を接続すればよい。
<When the macro scale is more than twice the normal size>
The basic idea is the same even when the scale of the macro MC voxel relative to the input MC voxel is r times (r>2). In this case, first, it is specified which input MC voxel is included in the macro MC voxel. At this time, the MC index corresponding to the specified input MC voxel is also determined. Then, as described above, the topology is determined using the connection relationship between the corresponding MC index and the adjacent MC voxel. Since the connection relationship between the adjacent MC voxel and the input MC voxel is stored in the MC table, it is sufficient to connect the calculated representative vertices after determining which macro MC voxel the corresponding input MC voxel is included in.
なお、本実施形態では、MC法を前提として、簡略化後のポリゴンモデルにおける尤もらしい頂点を算出する場合を説明したが、本実施形態の適用範囲はこれに限定されない。例えば、有限要素法、幾何形状フィッティング、関数フィッティングなどのポリゴンモデル生成法においても適用できる。これらの方法はポリゴンメッシュ生成のための既定の関数系(例えば孤立点に対する内挿関数など)を有しており、これら既定の関数系から法線や接続関係を導出・参照することで、同様の処理が可能である。 In this embodiment, the MC method is used to calculate likely vertices in a simplified polygon model, but the scope of application of this embodiment is not limited to this. For example, the present invention can also be applied to polygon model generation methods such as the finite element method, geometric fitting, and function fitting. These methods have a predefined function system for generating polygon meshes (e.g., an interpolation function for isolated points), and similar processing is possible by deriving and referencing normals and connection relationships from these predefined function systems.
以上のとおり本実施形態によれば、ボクセルデータに対してボクセル配置に応じた面を決定した後、当該面に関する情報を参照して代表頂点を算出してトポロジを決定する。これにより、ポリゴンモデルのポリゴン数を高速かつ高精度に削減することが可能になる。 As described above, according to this embodiment, after determining faces for the voxel data according to the voxel arrangement, the representative vertices are calculated by referencing information about the faces to determine the topology. This makes it possible to reduce the number of polygons in a polygon model quickly and with high accuracy.
[実施形態2]
次に、マクロMCボクセルのスケールを形状の複雑度に応じて変更する態様について、実施形態2として説明する。なお、基本のシステム構成など実施形態1と共通する内容については説明を省略ないしは簡略化し、以下では差異点であるポリゴンモデルの生成フローを中心に説明を行うこととする。
[Embodiment 2]
Next, an aspect in which the scale of a macro MC voxel is changed according to the complexity of the shape will be described as
<ポリゴンモデルの生成フロー>
図13は、本実施形態に係る、ポリゴンモデル生成フローの流れを示すフローチャートである。S1301~S1305までの各処理は、実施形態の図5のフローにおけるS501~S505の各処理にそれぞれ対応し、特に異なるところはないので説明を省く。
<Polygon model generation flow>
13 is a flowchart showing the flow of a polygon model generation flow according to this embodiment. Each process from S1301 to S1305 corresponds to each process from S501 to S505 in the flow of FIG. 5 of the embodiment, and there is no particular difference, so a description thereof will be omitted.
S1306では、代表頂点算出部406が、全ての入力MCボクセルのうち注目する入力MCボクセルに対するマクロMCボクセルのスケール初期値を設定する。このスケール初期値は、最大限に許容可能な簡略化の程度を考慮し、例えばr=8(すなわち、入力MCボクセルの8倍のスケール)といった値を設定すればよい。
In S1306, the representative
S1307では、代表頂点算出部406が、設定されたスケールのマクロMCボクセル内に生成される面に関する情報に基づいて、形状の複雑度を算出する。ここでは、形状の複雑度CPとして、マクロMCボクセルに含まれる面pの法線nの内積値を使用する。この場合、法線の内積値が大きいほど、法線は同じ方向を向いていることになり、形状の複雑度CPは低くなる。形状の複雑度CPは、以下の式(15)によって表される。
In S1307, the representative
上記式(15)において、MMVはマクロMCボクセルを表す。代表頂点算出部406は、まず、設定されたスケールのマクロMCボクセルに含まれる入力MCボクセルを決定する。次に、S1305で生成されたMCテーブルを参照して、当該決定した入力MCボクセルに対応するMCインデックスを取得し、さらに、当該MCインデックスに対応する法線の係数を取得して、上記式(15)を用いて形状の複雑度CPを算出する。
In the above formula (15), MMV represents a macro MC voxel. The representative
S1308では、代表頂点算出部406が、S1307にて算出した形状の複雑度CPに基づいて、形状の複雑度が所定のレベルよりも高いかどうかを判定する。このような閾値判定処理の結果、形状の複雑度が高いと判定されればS1309に進む。
In S1308, the representative
S1309では、現在設定中のスケールが入力MCボクセルのスケールと等しいかどうかが判定される。判定の結果、等しくない場合(すなわち、スケール2倍以上)であればS1310に進む。一方、等しい場合(すなわち、スケール1倍)であれば、スケール更新ができない(スケールをこれ以上に小さくできない)ため、S1311に進む。この場合、注目する入力MCボクセルに対するマクロMCボクセルのスケールが等倍に確定することになる。 In S1309, it is determined whether the currently set scale is equal to the scale of the input MC voxel. If the determination shows that they are not equal (i.e., the scale is 2x or more), the process proceeds to S1310. On the other hand, if they are equal (i.e., the scale is 1x), the scale cannot be updated (the scale cannot be made smaller than this), so the process proceeds to S1311. In this case, the scale of the macro MC voxel for the input MC voxel of interest is determined to be equal to the scale.
S1310では、マクロMCボクセルのスケールを小さくするスケール更新処理を行う。本実施形態では、現在設定中のスケールの半分のスケールに変更(例えば、現スケールが8倍であれば4倍に変更)する。スケールを更新した後はS1307に戻って、新たに設定されたスケール(すなわち、元のスケールの半分のスケール)のマクロMCボクセルについて形状の複雑度の算出処理を改めて行う。一方、上述の閾値判定処理の結果、形状の複雑度が高くないと判定されれば、注目する入力MCボクセルについてのマクロMCボクセルのスケールが現在設定中のスケールに確定することになる。スケール確定後は、S1311に進む。 In S1310, a scale update process is performed to reduce the scale of the macro MC voxel. In this embodiment, the scale is changed to half the currently set scale (for example, if the current scale is 8 times, it is changed to 4 times). After updating the scale, the process returns to S1307, and the calculation process of the shape complexity is performed again for the macro MC voxel of the newly set scale (i.e., half the original scale). On the other hand, if the result of the above-mentioned threshold determination process indicates that the shape complexity is not high, the scale of the macro MC voxel for the input MC voxel of interest is determined to be the currently set scale. After the scale is determined, the process proceeds to S1311.
S1311では、すべての入力MCボクセルに対してマクロMCボクセルの処理が完了したか否かが判定される。すべての入力MCボクセルについて上述の処理が完了していればS1312に進む。一方、未処理の入力MCボクセルがあればS1306に戻って次の注目する入力MCボクセルを決定して、同様の処理を繰り返す。 In S1311, it is determined whether or not macro MC voxel processing has been completed for all input MC voxels. If the above processing has been completed for all input MC voxels, proceed to S1312. On the other hand, if there are unprocessed input MC voxels, return to S1306 to determine the next input MC voxel of interest, and repeat the same processing.
S1312では、代表頂点算出部406が、確定したスケールのマクロMCボクセルそれぞれについて、代表頂点を算出する。そして、S1313では、代表頂点接続部407が、S1312にて算出された代表頂点について、トポロジを決定し、代表頂点同士を接続する処理を行う。なお、代表頂点算出処理及びトポロジ決定処理の内容は、実施形態1の図5のフローにおけるS506及びS507で説明した通りであるのでここでの説明は省く。
In S1312, the representative
以上が、本実施形態に係る、ポリゴン生成フローの内容である。図14は、本実施形態の手法によって、形状の複雑度に応じてマクロMCボクセルのスケールを変更して得られたポリゴンモデルの一例を示している。本実施形態の場合、複雑度が低い部位については疎に、高い部位については密に、面と頂点を生成できるため、より高精度なポリゴンモデルが得られることが分かる。 The above is the polygon generation flow according to this embodiment. Figure 14 shows an example of a polygon model obtained by changing the scale of macro MC voxels according to the complexity of the shape using the method of this embodiment. In the case of this embodiment, faces and vertices can be generated sparsely for areas with low complexity and densely for areas with high complexity, so it can be seen that a more accurate polygon model can be obtained.
<変形例>
本実施形態では、形状の複雑度を測る指標として、生成される面の法線の内積値を用いているが、これに代えて、生成される面の数を用いてもよい。具体的には以下のとおりである。まず、1つのMCボクセル当たりに生成され得る面の最大数は5枚である。例えばスケール2倍のマクロMCボクセルであれば、その中に入る入力MCボクセルは8つなので、8×5=40枚が生成される最大の面数となる。そこで、この最大面数に対して実際に何枚の面が生成されているかを示す値(割合)を求め、これを形状の複雑度の指標とする。なお、この場合の閾値としては、例えば閾値th=0.4といった値を設定すればよい。
<Modification>
In this embodiment, the inner product value of the normals of the generated faces is used as an index for measuring the complexity of the shape, but instead, the number of faces generated may be used. Specifically, it is as follows. First, the maximum number of faces that can be generated per MC voxel is 5. For example, in the case of a macro MC voxel with a scale of 2, the number of input MC voxels contained therein is 8, so the maximum number of faces generated is 8 x 5 = 40. Therefore, a value (ratio) indicating how many faces are actually generated relative to this maximum number of faces is calculated, and this is used as an index of the complexity of the shape. In this case, the threshold value may be set to, for example, a threshold value th = 0.4.
以上のとおり本実施形態によれば、実施形態1の手法と比較して処理負荷は増すものの、より高精度のポリゴンモデルを得ることができる。
As described above, according to this embodiment, although the processing load increases compared to the method of
(その他の実施例)
本開示の技術は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Other Examples
The technology of the present disclosure can also be realized by a process in which a program for realizing one or more functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.
100 画像処理装置
405 面決定部
406 代表頂点算出部
407 代表頂点接続部
100
Claims (12)
前記決定手段により決定されたポリゴンに関する情報から、頂点を特定のスケールのボクセル単位で算出する算出手段と、
前記算出手段にて算出された頂点を接続することに基づいて、前記オブジェクトの三次元形状をポリゴンで表現した形状データを生成する生成手段と、
を備え、
前記算出手段は、前記特定のスケールがr倍(r>1)の場合、前記頂点を、前記生成される1つ以上の面と前記頂点となり得る点との距離の関係に基づいて算出する、
ことを特徴とする画像処理装置。 A determining means for determining polygons according to a voxel arrangement based on shape data in which a three-dimensional shape of an object is expressed by voxels;
a calculation means for calculating vertices in voxel units of a specific scale from information about the polygon determined by the determination means;
a generating means for generating shape data in which a three-dimensional shape of the object is expressed by polygons based on connecting the vertices calculated by the calculating means;
Equipped with
the calculation means calculates the vertices based on a distance relationship between the one or more faces to be generated and points that can become the vertices when the specific scale is r times (r>1);
13. An image processing device comprising:
前記算出手段は、前記法線の内積値に基づいて、前記複雑度を求めることを特徴する請求項4に記載の画像処理装置。 The information about the polygon includes information about normals corresponding to the one or more faces to be generated;
5. The image processing apparatus according to claim 4, wherein the calculation means calculates the complexity based on an inner product value of the normals.
前記算出手段は、前記面の数の情報に基づいて、前記複雑度を求める、
ことを特徴する請求項4に記載の画像処理装置。 The information about the polygon includes information about the number of the one or more faces to be generated,
The calculation means calculates the complexity based on the information on the number of faces.
5. The image processing device according to claim 4,
前記決定手段により決定されたポリゴンに関する情報から、頂点を特定のスケールのボクセル単位で算出する算出手段と、a calculation means for calculating vertices in voxel units of a specific scale from information about the polygon determined by the determination means;
前記算出手段にて算出された頂点を接続することに基づいて、前記オブジェクトの三次元形状をポリゴンで表現した形状データを生成する生成手段と、a generating means for generating shape data in which a three-dimensional shape of the object is expressed by polygons based on connecting the vertices calculated by the calculating means;
を備え、Equipped with
前記特定のスケールとは、前記ボクセルで表現した形状データを構成するボクセルのスケールの整数倍であって、前記特定のスケールは可変であり、the specific scale is an integer multiple of the scale of the voxels constituting the shape data expressed by the voxels, and the specific scale is variable;
前記算出手段は、入力された前記特定のスケールのボクセル内に生成される1つ以上の面に基づいて形状の複雑度を求め、前記複雑度が所定のレベルよりも高い場合に、そのスケールを小さくし、The calculation means calculates a degree of complexity of a shape based on one or more faces generated within a voxel of the input specific scale, and reduces the scale when the degree of complexity is higher than a predetermined level;
前記ポリゴンに関する情報には、前記生成される1つ以上の面の数の情報を含み、The information about the polygon includes information about the number of the one or more faces to be generated,
前記算出手段は、前記面の数の情報に基づいて、前記複雑度を求める、The calculation means calculates the complexity based on the information on the number of faces.
ことを特徴する画像処理装置。The image processing device according to the present invention is characterized in that
ことを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。 the calculation means calculates the vertex by obtaining an average position of a plurality of vertices constituting the one or more faces to be generated when the specific scale is 1;
8. The image processing device according to claim 1,
前記決定ステップにて決定されたポリゴンに関する情報から、頂点を特定のスケールのボクセル単位で算出する算出ステップと、
前記算出ステップにて算出された頂点を接続することに基づいて、前記オブジェクトの三次元形状をポリゴンで表現した形状データを生成する生成ステップと、
を含み、
前記算出ステップでは、前記特定のスケールがr倍(r>1)の場合、前記頂点を、前記生成される1つ以上の面と前記頂点となり得る点との距離の関係に基づいて算出する、
ことを特徴とする画像処理方法。 A determination step of determining polygons according to a voxel arrangement based on shape data in which a three-dimensional shape of an object is expressed by voxels;
a calculation step of calculating vertices in voxel units of a specific scale from information about the polygon determined in the determination step;
a generating step of generating shape data in which a three-dimensional shape of the object is expressed by polygons based on connecting the vertices calculated in the calculating step;
Including,
In the calculation step, when the specific scale is r times (r>1), the vertices are calculated based on a distance relationship between the one or more faces to be generated and points that can become the vertices.
13. An image processing method comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020193311A JP7614801B2 (en) | 2020-11-20 | 2020-11-20 | Image processing device, image processing method and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020193311A JP7614801B2 (en) | 2020-11-20 | 2020-11-20 | Image processing device, image processing method and program |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2022082020A JP2022082020A (en) | 2022-06-01 |
| JP2022082020A5 JP2022082020A5 (en) | 2023-11-20 |
| JP7614801B2 true JP7614801B2 (en) | 2025-01-16 |
Family
ID=81801436
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020193311A Active JP7614801B2 (en) | 2020-11-20 | 2020-11-20 | Image processing device, image processing method and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7614801B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20230377272A1 (en) * | 2018-05-04 | 2023-11-23 | Signaturize Holdings Ltd | Generating Virtual Representations |
| JP7818023B2 (en) * | 2024-01-30 | 2026-02-19 | 任天堂株式会社 | Information processing program, information processing system, information processing device, and information processing method |
| JP7836863B2 (en) * | 2024-08-07 | 2026-03-27 | 任天堂株式会社 | Game program, information processing system, information processing device, and game processing method |
| JP2025113134A (en) * | 2024-09-03 | 2025-08-01 | 任天堂株式会社 | Game program, game processing method, information processing system, and information processing device |
-
2020
- 2020-11-20 JP JP2020193311A patent/JP7614801B2/en active Active
Non-Patent Citations (1)
| Title |
|---|
| 若月 大輔 他4名,VRオブジェクトの局部的な形状詳細度制御のためのマルチスケールパッチ生成法,電子情報通信学会論文誌,第J86-D-II巻 第5号,日本,社団法人電子情報通信学会,2003年05月01日,pp.697-705 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022082020A (en) | 2022-06-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7614801B2 (en) | Image processing device, image processing method and program | |
| CN109658365B (en) | Image processing method, device, system and storage medium | |
| CN110458932B (en) | Image processing method, device, system, storage medium and image scanning apparatus | |
| KR100920225B1 (en) | Method and apparatus for accuracy measuring of?3d graphical model by using image | |
| JP7038683B2 (en) | Synthesizers, methods and programs | |
| US20170038942A1 (en) | Playback initialization tool for panoramic videos | |
| JP7182976B2 (en) | Information processing device, information processing method, and program | |
| Gibson et al. | Interactive reconstruction of virtual environments from video sequences | |
| JP2018063693A (en) | Image processing device, image processing method, and program | |
| JP3104638B2 (en) | 3D image creation device | |
| US20220375152A1 (en) | Method for Efficiently Computing and Specifying Level Sets for Use in Computer Simulations, Computer Graphics and Other Purposes | |
| CN113643414A (en) | Three-dimensional image generation method and device, electronic equipment and storage medium | |
| US20180213215A1 (en) | Method and device for displaying a three-dimensional scene on display surface having an arbitrary non-planar shape | |
| JP2019040229A (en) | Image processing apparatus, image processing method and program | |
| JP6679966B2 (en) | Three-dimensional virtual space presentation system, three-dimensional virtual space presentation method and program | |
| CN120339561A (en) | A method, system, device and medium for fusion of multiple videos and three-dimensional scenes | |
| CN114529648A (en) | Model display method, device, apparatus, electronic device and storage medium | |
| CN116740259A (en) | Rendering method, device and electronic equipment for streamer effect | |
| US11100721B1 (en) | Integrating 2D images into a display of a 3D reality mesh to recover lost context | |
| JP7595626B2 (en) | Information processing device, information processing method, and program | |
| JP2020187626A (en) | Image processing equipment, image processing methods, and programs | |
| Petkov et al. | Interactive visibility retargeting in vr using conformal visualization | |
| JP3309841B2 (en) | Synthetic moving image generating apparatus and synthetic moving image generating method | |
| JP7504614B2 (en) | Image processing device, image processing method, and program | |
| US8743123B2 (en) | Visualization processing method and apparatus with mask surface |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231110 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231110 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240912 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20241001 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20241101 |
|
| 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: 20241203 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241227 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7614801 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |