Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7614801B2 - Image processing device, image processing method and program - Google Patents
[go: Go Back, main page]

JP7614801B2 - Image processing device, image processing method and program - Google Patents

Image processing device, image processing method and program Download PDF

Info

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
Application number
JP2020193311A
Other languages
Japanese (ja)
Other versions
JP2022082020A (en
JP2022082020A5 (en
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2020193311A priority Critical patent/JP7614801B2/en
Publication of JP2022082020A publication Critical patent/JP2022082020A/en
Publication of JP2022082020A5 publication Critical patent/JP2022082020A5/ja
Application granted granted Critical
Publication of JP7614801B2 publication Critical patent/JP7614801B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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 Document 1 discloses a method (hereinafter referred to as the "QEM method") for reducing the number of polygons by aggregating two vertices connected by an edge in a polygon model into one vertex.

Michael Garland,Paul S.Heckbert,“Surface Simplification Using Quadric Error Metrics”,1997.Michael Garland, Paul S. Heckbert, “Surface Simplification Using Quadric Error Metrics”, 1997.

しかしながら、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.

仮想視点映像システムの構成の一例を示す図FIG. 1 is a diagram showing an example of the configuration of a virtual viewpoint video system. 本開示に係るポリゴンモデル生成技術の概要を説明する図FIG. 1 is a diagram for explaining an overview of a polygon model generation technique according to the present disclosure. マクロスケールのボクセルを説明する図Diagram explaining macro-scale voxels 画像処理装置の機能構成を示すブロック図Block diagram showing the functional configuration of an image processing device 実施形態1に係る、ポリゴンモデル生成をする処理の流れを示すフローチャート1 is a flowchart showing a process for generating a polygon model according to the first embodiment. MC法を説明する図Diagram explaining the MC method MCテーブルの一例を示す図FIG. 1 is a diagram showing an example of an MC table. MCボクセルとエッジインデックスとの関係を説明する図A diagram explaining the relationship between MC voxels and edge indices. MCボクセルと隣接MCボクセルとの接続関係を説明する図FIG. 1 is a diagram for explaining the connection relationship between an MC voxel and an adjacent MC voxel. MC法における面の生成パターンを示す図A diagram showing the surface generation pattern in the MC method. 複数のMCボクセルを整列配置した3次元空間を示す図A diagram showing a three-dimensional space in which multiple MC voxels are aligned. (a)は代表頂点の算出処理の結果の一例を示す図、(b)はトポロジ決定処理の結果の一例を示す図1A is a diagram showing an example of a result of a calculation process of a representative vertex, and FIG. 1B is a diagram showing an example of a result of a topology determination process. 実施形態2に係る、ポリゴンモデル生成をする処理の流れを示すフローチャート10 is a flowchart showing the flow of a process for generating a polygon model according to a second embodiment. 実施形態2によって得られるポリゴンモデルを説明する図FIG. 13 is a diagram for explaining a polygon model obtained according to the second embodiment;

以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。 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 image processing device 100, a camera group 110, and a virtual viewpoint video generation device 120.

画像処理装置100は、カメラ群110から映像データを受信する。この映像データは、複数の異なる視点で撮影された映像データである。そして、受信した複数の視点に対応した映像データから、オブジェクトの三次元形状をポリゴンで表現した形状データであるポリゴンモデルを生成する。生成されたポリゴンモデルは、仮想視点映像生成装置120に送られる。 The image processing device 100 receives video data from the camera group 110. This video data is video data captured from multiple different viewpoints. Then, from the received video data corresponding to the multiple viewpoints, a polygon model is generated, which is shape data that represents the three-dimensional shape of an object using polygons. The generated polygon model is sent to the virtual viewpoint video generation device 120.

カメラ群110は、撮像装置としての複数のデジタルビデオカメラ(以下、単に「カメラ」と表記)で構成される。各カメラは、シリアルデジタルインタフェース(SDI)に代表される映像信号インタフェースを備えており、映像信号インタフェースを介して、各カメラで撮影した映像データを画像処理装置100に出力する。 The camera group 110 is composed of multiple digital video cameras (hereinafter simply referred to as "cameras") that serve as imaging devices. Each camera is equipped with a video signal interface such as a serial digital interface (SDI), and outputs video data captured by each camera to the image processing device 100 via the video signal interface.

仮想視点映像生成装置120は、画像処理装置100から受け取ったポリゴンモデルを用いてレンダリング処理を行って、ユーザが指定した仮想視点からの見えを表す仮想視点映像を生成する。レンダリング処理では、別途入力された仮想視点情報に従って、ポリゴンモデルが表す三次元形状の表面にテクスチャを貼り付ける処理(表面の色を決める処理)を行うことで、仮想視点映像を生成する。生成された仮想視点映像データは、液晶ディスプレイ等に代表される不図示の表示装置に出力・表示され、ユーザの視聴に供される。 The virtual viewpoint video generating device 120 performs rendering processing using the polygon model received from the image processing device 100 to generate a virtual viewpoint video that represents the view from the virtual viewpoint specified by the user. In the rendering processing, a process of applying texture to the surface of the three-dimensional shape represented by the polygon model (a process of determining the color of the surface) is performed according to separately input virtual viewpoint information, thereby generating a virtual viewpoint video. The generated virtual viewpoint video data is output and displayed on a display device (not shown), such as a liquid crystal display, for viewing by the user.

なお、仮想視点情報には、少なくとも仮想視点の位置及び方向に関する情報が含まれる。また、仮想視点の指定には、少なくとも仮想視点の位置及び方向に関する指定が含まれる。また、仮想視点の指定は、ユーザによる指定でなくてもよい。例えば、装置が、自動で指定するような構成であってもよい。システム構成については、上記以外にも、様々な構成要素が存在するが、本発明の主眼ではないので、その説明は省略する。 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 image processing device 100 will be described with reference to FIG. 1. The image processing device 100 includes a CPU 101, a main memory 102, a HDD 103, an input unit 104, a display unit 105, and an external I/F 106, and each unit is connected via a bus 107. First, the CPU 101 is an arithmetic processing device that controls the image processing device 100 in an integrated manner, and executes various programs stored in the HDD 103 or the like, controls the camera group 110 to acquire multiple viewpoint video data, and performs various image processing including a polygon model generation process described later. The main memory 102 temporarily stores data and parameters used in various processes, and provides a working area for the CPU 101. The HDD 103 is a non-volatile large-capacity storage device that stores various programs and input video data, and may be, for example, an SSD. The input unit 104 is a device such as a keyboard, a mouse, an electronic pen, or a touch panel, and accepts various user instructions. The display unit 105 is composed of a liquid crystal panel or the like, and displays a UI (user interface) screen. The external I/F unit 106 is a communication interface that transmits and receives various data, such as video data captured by each camera and polygon models, to and from each camera constituting the camera group 110 and the virtual viewpoint video device 120 via a network (here, LAN 108). The bus 107 connects the above-mentioned units and transfers data. The virtual viewpoint video device 120 also has a configuration similar to that of the image processing device 100, and performs the above-mentioned rendering process using a CPU and main memory.

<本開示の技術の概要>
図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 object 200 having a simple shape combining a quadrangular pyramid and a cube is captured from various viewpoints using multiple cameras 201, and its three-dimensional shape is restored based on the obtained multiple viewpoint images.

≪STEP.1≫
オブジェクト200を取り囲むように複数のカメラ201を配置して撮像を行い、複数の視点に対応する撮像画像を取得する。この際、カメラ群110を構成する個々のカメラ201は、オブジェクト200がその画角内に適切に収まるように、向き及び姿勢、焦点距離、露出制御パラメータ等が設定される。
<STEP 1>
A plurality of cameras 201 are arranged to surround the object 200 and capture images corresponding to a plurality of viewpoints, and captured images are obtained. At this time, the orientation, posture, focal length, exposure control parameters, etc. of each of the cameras 201 constituting the camera group 110 are set so that the object 200 is appropriately contained within the angle of view.

≪STEP.2≫
複数の視点に対応する撮像画像それぞれにおけるオブジェクト200のシルエット情報から、視体積交差法などを用いて、オブジェクト200の三次元形状をボクセルで表現した形状データ(以下、「ボクセルデータ」と表記)を生成する。図2において、黒の矩形は視体積の内側に位置していた残ったボクセル(ONボクセル)を示し、白抜きの矩形は視体積の外側に位置していた削除されたボクセル(OFFボクセル)を示している。
<STEP 2>
Shape data (hereinafter referred to as "voxel data") expressing the three-dimensional shape of the object 200 in voxels is generated from silhouette information of the object 200 in each captured image corresponding to a plurality of viewpoints using a visual volume intersection method or the like. In Fig. 2, black rectangles indicate remaining voxels (ON voxels) that were located inside the visual volume, and white rectangles indicate deleted voxels (OFF voxels) that were located outside the visual volume.

≪STEP.3≫
STEP.2で得られたボクセルデータに対して、ボクセル配置に応じた面(ポリゴン)を決定する。図2において、白点線が決定された面を示している。
<STEP 3>
A surface (polygon) according to the voxel arrangement is determined for the voxel data obtained in STEP 2. In Fig. 2, the white dotted lines indicate the determined surfaces.

≪STEP.4≫
上記面に関する情報を参照して、簡略化後のポリゴンモデルにおける尤もらしい頂点を、入力ボクセルよりも大きな特定のスケールのボクセル単位で算出する。なお、以下の説明において、上記特定のスケールを「マクロスケール」と呼び、マクロスケールのボクセルを「マクロボクセル」と呼ぶこととする。図3は、マクロボクセルを説明する図である。最も小さい矩形300が入力ボクセルを示し、最も大きい矩形301がスケール8倍のマクロボクセル、矩形302がスケール4倍のマクロボクセル、矩形303がスケール2倍のマクロボクセルをそれぞれ示している。なお、マクロボクセルは、そのスケールが入力ボクセルと同じ(すなわち、スケール1倍)であってもよい。図2において、一点鎖線の矩形がマクロボクセルを示し、二重丸がマクロボクセル単位で算出された尤もらしい頂点を示している。
<STEP 4>
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 smallest rectangle 300 indicates the input voxel, the largest rectangle 301 indicates a macrovoxel with a scale of 8 times, the rectangle 302 indicates a macrovoxel with a scale of 4 times, and the rectangle 303 indicates a macrovoxel with a scale of 2 times. Note that the scale of the macrovoxel may be the same as that of the input voxel (i.e., the scale is 1 times). In FIG. 2, the rectangle with the dashed dotted line indicates the macrovoxel, and the double circle indicates the most likely vertex calculated in units of the macrovoxel.

≪STEP.5≫
STEP.4で算出された尤もらしい頂点に対してトポロジを決定して頂点同士を接続し、形状を簡略化したポリゴンモデルを生成する。図2において、白い実線が決定したトポロジ(≒面)を示している。
<STEP 5>
A topology is determined for the likely vertices calculated in STEP 4, and the vertices are connected to generate a polygon model with a simplified shape. In Fig. 2, the white solid lines indicate the determined topology (≒ faces).

以上が、本開示に係るポリゴンモデル生成処理の概要である。なお、本開示の技術を適用可能なオブジェクトは、図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 image processing device 100 according to this embodiment. The image processing device 100 includes a captured image acquisition unit 401, a camera calibration unit 402, a silhouette image generation unit 403, a voxel data generation unit 404, a surface determination unit 405, a representative vertex calculation unit 406, and a representative vertex connection unit 407.

撮像画像取得部401は、カメラ群110を構成する複数のカメラ201によって異なる視点から撮像された画像(複数視点画像)のデータを取得する。取得した複数視点画像のデータは、カメラ校正部402及びシルエット画像生成部403に入力される。 The captured image acquisition unit 401 acquires data of images (multiple viewpoint images) captured from different viewpoints by the multiple cameras 201 that make up the camera group 110. The acquired multi-viewpoint image data is input to the camera calibration unit 402 and the silhouette image generation unit 403.

カメラ校正部402は、例えば試合の開始前などのタイミングでカメラキャリブレーションを行い、カメラ群110を構成する各カメラ201のカメラパラメータを導出する。カメラパラメータには、内部パラメータ、外部パラメータ、歪曲パラメータが含まれる。カメラキャリブレーションの大まかな手順は以下のとおりである。まず、スクエアグリッド等の平面パターンを各カメラ201で撮像する。次に、得られた各カメラ201の撮像画像それぞれから特徴点を検出し、画像座標系において当該特徴点の座標を求める。ここで、特徴点とは、スクエアグリッドの場合であれば直交する直線同士の交点のことである。そして、求めた特徴点の座標を用いて、内部パラメータの初期値を算出する。ここで、内部パラメータとは、焦点距離や、主点と呼ばれる光学的中心を表すパラメータである。また、内部パラメータの初期値は必ずしも、画像中の特徴点から算出する必要はなく、カメラの設計値を用いてもよい。次に、バンドル調整と呼ばれる非線形最適化処理によって、内部パラメータ、外部パラメータ、歪曲パラメータを算出する。ここで、外部パラメータとは、カメラの位置、視線方向、視線方向を軸とする回転角を表すパラメータのことである。また、歪曲パラメータとは、レンズの屈折率の違いによって生じる半径方向の画像の歪みや、レンズとイメージプレーンが平行にならないことによって生じる円周方向の歪みを表す係数のことである。カメラキャリブレーションの手法は他にも多く存在するが、本発明の主眼でないため詳細は省略する。カメラキャリブレーションによって求めた各カメラ201のカメラパラメータはHDD103に保存しておく。 The camera calibration unit 402 performs camera calibration, for example, at a timing such as before the start of a match, and derives the camera parameters of each camera 201 constituting the camera group 110. The camera parameters include internal parameters, external parameters, and distortion parameters. The camera calibration procedure is roughly as follows. First, a planar pattern such as a square grid is captured by each camera 201. Next, feature points are detected from each of the captured images of each camera 201 obtained, and the coordinates of the feature points are obtained in the image coordinate system. Here, the feature points are the intersection points of orthogonal straight lines in the case of a square grid. Then, the initial values of the internal parameters are calculated using the coordinates of the obtained feature points. Here, the internal parameters are parameters that represent the focal length and the optical center called the principal point. In addition, the initial values of the internal parameters do not necessarily need to be calculated from the feature points in the image, and the design values of the camera may be used. Next, the internal parameters, external parameters, and distortion parameters are calculated by a nonlinear optimization process called bundle adjustment. Here, the external parameters are parameters that represent the camera position, line of sight, and rotation angle around the line of sight. The distortion parameters are coefficients that represent radial image distortion caused by differences in the refractive index of the lenses, and circumferential distortion caused by the lens and the image plane not being parallel. There are many other camera calibration methods, but details are omitted as they are not the focus of this invention. The camera parameters of each camera 201 obtained by camera calibration are stored in the HDD 103.

シルエット画像生成部403は、複数視点画像を構成する各撮像画像からオブジェクトのシルエットに対応する領域(前景領域)を抽出し、前景領域を「1」それ以外の背景領域を「0」で表した2値の画像(シルエット画像)を生成する。前景領域を抽出する手法には様々あり特に限定されない。例えば背景差分法の場合は、オブジェクトが存在する場合と存在しない場合の画像をそれぞれ撮像し、双方の撮像画像の差分に相当する領域を、オブジェクトのシルエットとして抽出する。 The silhouette image generation unit 403 extracts an area (foreground area) corresponding to the silhouette of an object from each captured image constituting the multi-viewpoint image, and generates a binary image (silhouette image) in which the foreground area is represented by "1" and the other background areas are represented by "0". There are various methods for extracting the foreground area, and no particular limitation is imposed. For example, in the case of the background difference method, images are captured when an object is present and when it is not present, and the area corresponding to the difference between the two captured images is extracted as the silhouette of the object.

ボクセルデータ生成部404は、シルエット画像生成部403が生成したシルエット画像と、カメラ校正部402が導出したカメラパラメータとに基づいて、オブジェクトの三次元形状をボクセルの集合で表現したボクセルデータを生成する。シルエット画像からオブジェクトの三次元形状を導出する手法にも様々あり特に限定されないが、本実施形態ではビジュアル・ハル(VH)法を用いる。VH法は、カメラパラメータに基づき、シルエット画像におけるシルエットの領域(前景領域)を空間中に投影し、投影領域の積集合をオブジェクトの形状として定義する方式である。具体的にはまず、あるスケールのボクセルを敷き詰めた三次元空間を定義する。次に三次元空間中の全ボクセルに対して、ボクセルを三次元座標から各カメラの二次元画像上に射影する。この時、射影されたボクセルが各カメラのオブジェクトのシルエットと重なっているかを判定し、重なっていると判定されたカメラの台数が事前に設定された閾値以上であれば、そのボクセルがオブジェクトの形状の一部であると定義する。例えば、全ボクセルに「0」のフラグを初期値として与えておいて、オブジェクトの形状の一部であると判定されたボクセルには「1」のフラグを与える。「1」のフラグを与えられたボクセルの集合が、オブジェクトの三次元形状を表すボクセルデータとなる。本実施形態ではVH法を用いてボクセルデータを生成する例について述べるが、オブジェクトの三次元形状を得る方法は必ずしもVH法でなくてもよい。例えば、ステレオマッチング法によってオブジェクトの形状を点群として取得し、次に、あるスケールのボクセル格子で区切られた三次元空間について、取得した点群が存在する領域に「1」のフラグを与えることでも、ボクセルデータを取得可能である。また、レーザ測定器を使い、射出したレーザが戻ってくるまでの時間とレーザの速度の関係からオブジェクトまでの距離を求めることで、その形状を点群として取得することも可能である。その後は上記と同様の方法で点群をボクセルに変換すれば、ボクセルデータが得られることになる。ボクセル形状の推定の方法については他にも多くの方法が存在するが、本発明の主眼ではないため省略する。 The voxel data generation unit 404 generates voxel data that expresses the three-dimensional shape of an object as a set of voxels based on the silhouette image generated by the silhouette image generation unit 403 and the camera parameters derived by the camera calibration unit 402. There are various methods for deriving the three-dimensional shape of an object from a silhouette image, and there is no particular limitation to these. In this embodiment, the visual hull (VH) method is used. The VH method is a method in which the silhouette area (foreground area) in the silhouette image is projected into space based on the camera parameters, and the intersection of the projected areas is defined as the shape of the object. Specifically, a three-dimensional space in which voxels of a certain scale are laid out is first defined. Next, for all voxels in the three-dimensional space, the voxels are projected from the three-dimensional coordinates onto the two-dimensional image of each camera. At this time, it is determined whether the projected voxels overlap with the silhouette of the object of each camera, and if the number of cameras determined to overlap is equal to or greater than a preset threshold, the voxel is defined as part of the shape of the object. For example, a flag of "0" is assigned to all voxels as an initial value, and a flag of "1" is assigned to voxels that are determined to be part of the shape of an object. A set of voxels that are assigned a flag of "1" becomes voxel data that represents the three-dimensional shape of an object. In this embodiment, an example of generating voxel data using the VH method is described, but the method of obtaining the three-dimensional shape of an object does not necessarily have to be the VH method. For example, voxel data can be obtained by acquiring the shape of an object as a point cloud using a stereo matching method, and then assigning a flag of "1" to the area in which the acquired point cloud exists in a three-dimensional space divided by a voxel grid of a certain scale. It is also possible to acquire the shape as a point cloud by using a laser measuring device to find the distance to the object from the relationship between the time it takes for the emitted laser to return and the speed of the laser. Thereafter, the point cloud is converted into voxels using the same method as above, and the voxel data can be obtained. There are many other methods for estimating the voxel shape, but they are not the main focus of the present invention, so they will be omitted.

面決定部405は、ボクセルデータ生成部404が生成したボクセルデータに対し、そのボクセル配置に応じて面を決定する。ボクセルデータから面を決定する手法にも様々あるが、本実施形態では、マーチングキューブス法(以下、「MC法」と表記)を用いる。また、面決定部405は、決定した面に関する情報を、面情報として保存する。この面情報は、代表頂点算出部406及び代表頂点接続部408の処理にて参照される。 The surface determination unit 405 determines surfaces for the voxel data generated by the voxel data generation unit 404 according to the voxel arrangement. There are various methods for determining surfaces from voxel data, but in this embodiment, the Marching Cubes method (hereinafter referred to as the "MC method") is used. The surface determination unit 405 also saves information about the determined surfaces as surface information. This surface information is referenced in the processing of the representative vertex calculation unit 406 and the representative vertex connection unit 408.

代表頂点算出部406は、上述の面情報を用いて、簡略化後のポリゴンモデルにおける尤もらしい頂点(代表頂点)を算出する。算出した代表頂点の情報は、代表頂点接続部407に入力される。 The representative vertex calculation unit 406 uses the above-mentioned face information to calculate the most likely vertex (representative vertex) in the simplified polygon model. The information on the calculated representative vertex is input to the representative vertex connection unit 407.

代表頂点接続部407は、代表頂点算出部406が算出した代表頂点を、面情報を参照して接続し、より少ないポリゴン数で構成された(すなわち、形状を簡略化した)ポリゴンモデルを生成する。 The representative vertex connection unit 407 connects the representative vertices calculated by the representative vertex calculation unit 406 with reference to the face information, to generate a polygon model consisting of fewer polygons (i.e., with a simplified shape).

<ポリゴンモデルの生成フロー>
次に、画像処理装置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 image processing device 100 will be described in detail with reference to the flowchart shown in Fig. 5. This series of processing steps is realized by CPU 101 reading a predetermined program from HDD 103, developing it in main memory 102, and executing it. In the following description, the symbol "S" means a step.

まず、S501では、撮像画像取得部401が、カメラ群110にて撮像された画像(複数視点画像)のデータをLAN108、外部I/F部106、バス107を介して取得する。取得した複数視点画像のデータは、メインメモリ102に保存される。そして、S502では、上記複数視点画像を撮像したカメラ群110を構成する各カメラ201のカメラパラメータがHDD103から読み出される。なお、カメラ校正部402が上述のキャリブレーションをこのタイミングで行ってカメラパラメータを取得してもよい。 First, in S501, the captured image acquisition unit 401 acquires data of images (multiple viewpoint images) captured by the camera group 110 via the LAN 108, the external I/F unit 106, and the bus 107. The acquired data of the multiple viewpoint images is stored in the main memory 102. Then, in S502, the camera parameters of each camera 201 constituting the camera group 110 that captured the above-mentioned multiple viewpoint images are read from the HDD 103. Note that the camera calibration unit 402 may perform the above-mentioned calibration at this timing to acquire the camera parameters.

続いて、S503では、シルエット画像生成部403が、S501で取得した複数視点画像に基づきシルエット画像を生成する。そして、S504では、ボクセルデータ生成部404が、S503で生成されたシルエット画像とS502で取得したカメラパラメータとを用いて、「1」又は「0」のフラグを付したボクセルの集合によりオブジェクトの三次元形状を表現したボクセルデータを生成する。生成されたボクセルデータは、面決定部405に入力される。 Next, in S503, the silhouette image generation unit 403 generates a silhouette image based on the multiple viewpoint images acquired in S501. Then, in S504, the voxel data generation unit 404 uses the silhouette image generated in S503 and the camera parameters acquired in S502 to generate voxel data that represents the three-dimensional shape of the object using a collection of voxels flagged with "1" or "0". The generated voxel data is input to the surface determination unit 405.

次の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 face determination unit 405 determines faces for the voxel data generated in S504 according to the arrangement of the voxels. A typical method for determining faces is the Marching Cubes (MC) method. Here, the MC method will be described with reference to FIG. 6. In the MC method, a cube consisting of eight adjacent voxels as shown in FIG. 6 is considered as one unit. For example, as shown in FIG. 6, a point defined by the value of "0" or "1" assigned in S504 is considered at the center of each adjacent voxel, and the cube obtained by connecting these points is considered as one unit. In this case, the value of "0" or "1" is assigned to each of the eight vertices of the unit cube, so that there are 256 possible combinations of vertex values. These combinations become indexes that represent various faces in the unit cube. Hereinafter, the unit cube in the MC method will be called an "MC voxel," and the method of determining faces corresponding to the above 256 possible combinations will be called an "MC index." In the MC method, the MC index is derived from a combination of the values "0" or "1" attached to the vertices of eight adjacent voxels, so the number of MC voxels for the input voxel data is reduced by one on each of the x-axis, y-axis, and z-axis. The input voxel data may have a value of "1" at the endpoints of the x-axis, y-axis, and z-axis, in which case the endpoint processing may fail and the shape may collapse. To prevent such collapse of the shape, the MC method is usually applied after performing a padding process in which xp, yp, and zp voxels with a value of "0" are added to each of the x, y, and z axes. The rectangular boundary that surrounds the three-dimensional space in which such voxels are tiled is called a bounding box.

通常の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 HDD 103.

S506では、代表頂点算出部406が、上述のMCテーブルを参照して、代表頂点の位置を、指定されたマクロスケールのボクセル単位で算出する。マクロスケールは可変であり、マクロスケールを変えることによって簡略化度合いを調整することができる。本実施形態では、入力MCボクセルのスケールSviに対してその整数倍のスケールSvmを持つMCボクセルの単位で尤もらしい頂点(代表頂点)が算出される。以下、入力MCボクセルの整数倍のスケールを持つMCボクセルを「マクロMCボクセル」と呼ぶこととする。なお、実際に適用するマクロスケールは、対象オブジェクトの種類や形状等を考慮して予め決めておいてもよいし、ユーザが所望のスケールをUI等を介して都度指定してもよい。代表頂点算出部406は、このような代表頂点の算出を全てのマクロMCボクセルに対して行う。なお、この算出処理においては、マクロMCボクセルを1つずつ順に処理してもよいし、複数のマクロMCボクセル単位で並列に処理してもよい。代表頂点算出処理の詳細については後述する。算出結果は代表頂点接続部407に出力される。 In S506, the representative vertex calculation unit 406 refers to the above-mentioned MC table and calculates the position of the representative vertex in voxel units of the specified macro scale. The macro scale is variable, and the degree of simplification can be adjusted by changing the macro scale. In this embodiment, a likely vertex (representative vertex) is calculated in units of MC voxels having a scale S vm that is an integer multiple of the scale S vi of the input MC voxel. Hereinafter, an MC voxel having a scale that is an integer multiple of the input MC voxel will be referred to as a "macro MC voxel." Note that the macro scale to be actually applied may be determined in advance in consideration of the type and shape of the target object, or the user may specify a desired scale each time via a UI or the like. The representative vertex calculation unit 406 performs such calculation of the representative vertex for all macro MC voxels. Note that in this calculation process, the macro MC voxels may be processed one by one in sequence, or multiple macro MC voxels may be processed in parallel. Details of the representative vertex calculation process will be described later. The calculation result is output to the representative vertex connection unit 407.

S507では、代表頂点接続部407が、S506で算出された代表頂点に対してトポロジを決定して、代表頂点同士を接続し、形状が簡略化されたポリゴンモデルを生成する。代表頂点接続部407は、トポロジの決定を全てのマクロMCボクセルに対して行う。トポロジ決定処理の詳細については後述する。 In S507, the representative vertex connection unit 407 determines the topology for the representative vertices calculated in S506, connects the representative vertices to each other, and generates a polygon model with a simplified shape. The representative vertex connection unit 407 determines the topology for all macro MC voxels. The topology determination process will be described in detail later.

以上が、本実施形態に係る、ポリゴンモデルの生成フローの内容である。 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 index number 1, it is defined that only vertex 1 has a value of "1" and vertices other than vertex 1 have a value of "0". In this case, as shown in Fig. 8, faces are applied to edge indexes EI1 , EI2 , and EI3 . Such correspondence between MC indexes and edge indexes is stored in the MC table. Normal information corresponding to the faces specified by the edge indexes is also stored in the MC table.

法線情報に関しては以下のようにして得ることができる。そもそも、三次元の法線の切片は、面に応じて変化するが、その傾きは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).

Figure 0007614801000001
Figure 0007614801000001

Figure 0007614801000002
Figure 0007614801000002

したがって、例えば番号1のMCインデックスに対する法線ベクトル(nx,y,z)は、面の表裏も考慮すると、以下の式(3)のようになる。 Therefore, for example, the normal vector (nx , ny, nz ) for the MC index number 1 is expressed by the following formula (3), taking into account the front and back of the face.

Figure 0007614801000003
Figure 0007614801000003

このようにして求めた法線ベクトル(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 index number 1, three edges E 12 (edge connecting EI 1 and EI 2 ), E 25 (edge connecting EI 2 and EI 5 ), and E 51 (edge connecting EI 5 and EI 1 ) are formed in the target MC voxel. Therefore, as shown in FIG. 9, the target MC voxel is connected to three adjacent MC voxels MV1, MV2, and MV3 out of six adjacent MC voxels (MV1 to MV6) existing above, below, left, and right of the target MC voxel. These connection relationships are stored in the MC table in correspondence with the MC index. Note that the connection relationships do not necessarily need to be stored in units of MC voxels, and may be stored in units of input voxels existing at positions shifted by half a voxel from the MC voxel. For example, in the case of MC index number 1, the voxel centered on vertex 1 is connected to three input voxels centered on vertices 2, 4, and 5, respectively (see Figures 8 and 6), so it is sufficient to store the information of these voxels.

なお、前述のとおり、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 number 1, the average vertex position C of the surface can be obtained by the following formula (4) using the positions of the edge indexes EI 1 , EI 2 , and EI 5 .

Figure 0007614801000004
Figure 0007614801000004

上記式(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.

Figure 0007614801000005
Figure 0007614801000005

Figure 0007614801000006
Figure 0007614801000006

Figure 0007614801000007
Figure 0007614801000007

また、生成される面が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 patterns 1 and 2 in FIG. 10), a method for calculating the representative vertex position is Quadrilateral Error Metrics (hereinafter referred to as "QEM") in Non-Patent Document 1. By using QEM, it is possible to approximate the error when multiple vertices are aggregated into one vertex. Here, the equation of a plane in three-dimensional space is the above formula (1), and the QEMs of the two planes are Q1 and Q2. In this case, the error Δv when the vertices included in the two faces are aggregated into vertex v is expressed as the following formula (9) under the conditions of the following formula (8).

Figure 0007614801000008
Figure 0007614801000008

Figure 0007614801000009
Figure 0007614801000009

なお、上記式(9)において、 Note that in the above formula (9),

Figure 0007614801000010
Figure 0007614801000010

であり、Q1及びQ2はそれぞれ以下のように定義される。 where Q1 and Q2 are defined as follows:

Figure 0007614801000011
Figure 0007614801000011

また、複数の面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).

Figure 0007614801000012
Figure 0007614801000012

なお、上記式(10)において、 Note that in the above formula (10),

Figure 0007614801000013
Figure 0007614801000013

である。そして、この誤差△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.

Figure 0007614801000014
Figure 0007614801000014

Figure 0007614801000015
Figure 0007614801000015

そして、上記式(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).

Figure 0007614801000016
Figure 0007614801000016

また、逆行列が存在しない場合、各面の頂点の平均値を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 generation pattern 6 in FIG. 10. For each face, the connection relationship with adjacent MC voxels is preserved, and the connection relationship of the faces within each input MC voxel is known from the MC index. Therefore, the average vertex may be found for each face and calculated as the representative vertex. This method is useful when it is desired to express a partially complex shape. By using this method when aggregating MC voxels with a scale of 1 into one vertex would result in over-aggregation, it is possible to express a partially detailed shape while maintaining the connection with other MC voxels.

≪マクロスケールが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).

Figure 0007614801000017
Figure 0007614801000017

上記式(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 MC voxel 2, which has a face according to the above-mentioned generation pattern 6, is connected to MC voxel 1, which has a face according to generation pattern 9, and some continuous face is generated. A simplified polygon mesh is generated by connecting the representative vertices 1 and 2 calculated from the MC voxels 1 and 2 (see the dashed lines in the figure) and also connecting them to the representative vertices of other adjacent MC voxels that are similarly connected. Note that overlapping topology connections can be prevented by setting rules in advance about the direction in which the vertices are connected (for example, connecting the vertices in the positive directions of x, y, and z).

≪マクロスケールが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 embodiment 2. Note that the description of the contents common to embodiment 1, such as the basic system configuration, will be omitted or simplified, and the following description will focus on the difference, that is, the generation flow of a polygon model.

<ポリゴンモデルの生成フロー>
図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 vertex calculation unit 406 sets an initial scale value of the macro MC voxel for the input MC voxel of interest among all the input MC voxels. This initial scale value may be set to a value such as r=8 (i.e., a scale 8 times that of the input MC voxel), taking into account the maximum allowable degree of simplification.

S1307では、代表頂点算出部406が、設定されたスケールのマクロMCボクセル内に生成される面に関する情報に基づいて、形状の複雑度を算出する。ここでは、形状の複雑度CPとして、マクロMCボクセルに含まれる面pの法線nの内積値を使用する。この場合、法線の内積値が大きいほど、法線は同じ方向を向いていることになり、形状の複雑度CPは低くなる。形状の複雑度CPは、以下の式(15)によって表される。 In S1307, the representative vertex calculation unit 406 calculates the shape complexity based on information about the faces generated in the macro MC voxel of the set scale. Here, the dot product value of the normal n of face p included in the macro MC voxel is used as the shape complexity CP. In this case, the larger the dot product value of the normals, the more likely it is that the normals point in the same direction, and the lower the shape complexity CP. The shape complexity CP is expressed by the following equation (15).

Figure 0007614801000018
Figure 0007614801000018

上記式(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 vertex calculation unit 406 first determines an input MC voxel included in the macro MC voxel of the set scale. Next, by referring to the MC table generated in S1305, it obtains an MC index corresponding to the determined input MC voxel, and further obtains the normal coefficient corresponding to the MC index, and calculates the shape complexity CP using the above formula (15).

S1308では、代表頂点算出部406が、S1307にて算出した形状の複雑度CPに基づいて、形状の複雑度が所定のレベルよりも高いかどうかを判定する。このような閾値判定処理の結果、形状の複雑度が高いと判定されればS1309に進む。 In S1308, the representative vertex calculation unit 406 determines whether the shape complexity is higher than a predetermined level based on the shape complexity CP calculated in S1307. If the result of this threshold determination process indicates that the shape complexity is high, the process proceeds to S1309.

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 vertex calculation unit 406 calculates a representative vertex for each macro MC voxel of the determined scale. Then, in S1313, the representative vertex connection unit 407 performs processing to determine a topology for the representative vertices calculated in S1312 and connect the representative vertices together. Note that the contents of the representative vertex calculation processing and the topology determination processing are as described in S506 and S507 in the flow of FIG. 5 in embodiment 1, and therefore will not be described here.

以上が、本実施形態に係る、ポリゴン生成フローの内容である。図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 embodiment 1, it is possible to obtain a polygon model with higher accuracy.

(その他の実施例)
本開示の技術は、上述の実施形態の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 Image processing device 405 Face determination unit 406 Representative vertex calculation unit 407 Representative vertex connection unit

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:
前記特定のスケールとは、前記ボクセルで表現した形状データを構成するボクセルのスケールの整数倍であることを特徴とする請求項1に記載の画像処理装置。 The image processing device according to claim 1, characterized in that the specific scale is an integer multiple of the scale of the voxels that constitute the shape data represented by the voxels. 前記特定のスケールは可変であることを特徴とする請求項2に記載の画像処理装置。 The image processing device according to claim 2, characterized in that the specific scale is variable. 前記算出手段は、入力された前記特定のスケールのボクセル内に生成される1つ以上の面に基づいて形状の複雑度を求め、前記複雑度が所定のレベルよりも高い場合に、そのスケールを小さくすることを特徴する請求項3に記載の画像処理装置。 The image processing device according to claim 3, characterized in that the calculation means determines the complexity of the shape based on one or more faces generated within the input voxel of the specific scale, and reduces the scale if the complexity is higher than a predetermined level. 前記ポリゴンに関する情報には、前記生成される1つ以上の面に対応する法線の情報を含み、
前記算出手段は、前記法線の内積値に基づいて、前記複雑度を求めることを特徴する請求項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.
前記ポリゴンに関する情報には、前記生成される1つ以上の面の数の情報を含み、
前記算出手段は、前記面の数の情報に基づいて、前記複雑度を求める、
ことを特徴する請求項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 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 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倍の場合、前記頂点を、前記生成される1つ以上の面を構成する複数の頂点の平均位置を求めることで算出する、
ことを特徴とする請求項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,
前記決定手段は、前記ポリゴンを、マーチングキューブス法、有限要素法、幾何形状フィッティング、関数フィッティングのいずれかの手法により決定することを特徴とする請求項1乃至8のいずれか1項に記載の画像処理装置。 The image processing device according to any one of claims 1 to 8, characterized in that the determination means determines the polygon by any one of the following methods: marching cubes method, finite element method, geometric fitting, and function fitting. 前記生成手段は、前記ポリゴンに関する情報を参照して、前記算出手段にて算出された前記頂点を接続することを特徴とする請求項1乃至9のいずれか1項に記載の画像処理装置。 The image processing device according to any one of claims 1 to 9, characterized in that the generating means refers to information about the polygon and connects the vertices calculated by the calculating means. オブジェクトの三次元形状をボクセルで表現した形状データに基づいて、ボクセル配置に応じたポリゴンを決定する決定ステップと、
前記決定ステップにて決定されたポリゴンに関する情報から、頂点を特定のスケールのボクセル単位で算出する算出ステップと、
前記算出ステップにて算出された頂点を接続することに基づいて、前記オブジェクトの三次元形状をポリゴンで表現した形状データを生成する生成ステップと、
を含み、
前記算出ステップでは、前記特定のスケールが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:
コンピュータを、請求項1乃至10のいずれか1項に記載の画像処理装置として機能させるためのプログラム。 A program for causing a computer to function as an image processing device according to any one of claims 1 to 10.
JP2020193311A 2020-11-20 2020-11-20 Image processing device, image processing method and program Active JP7614801B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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