JP7710885B2 - DATA PROCESSING APPARATUS, DATA PROCESSING METHOD, AND PROGRAM - Google Patents
DATA PROCESSING APPARATUS, DATA PROCESSING METHOD, AND PROGRAMInfo
- Publication number
- JP7710885B2 JP7710885B2 JP2021077450A JP2021077450A JP7710885B2 JP 7710885 B2 JP7710885 B2 JP 7710885B2 JP 2021077450 A JP2021077450 A JP 2021077450A JP 2021077450 A JP2021077450 A JP 2021077450A JP 7710885 B2 JP7710885 B2 JP 7710885B2
- Authority
- JP
- Japan
- Prior art keywords
- voxel
- unit
- identified
- voxels
- boundary
- 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
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Description
本開示は、オブジェクトの形状を示すデータからオブジェクトの形状に対応する点群を生成するためのデータ処理技術に関する。 This disclosure relates to a data processing technique for generating a point cloud corresponding to the shape of an object from data indicating the shape of the object.
オブジェクトの表面に対応するメッシュを生成する際に、メッシュの頂点の個数を低減させる手法がある。特許文献1には、メッシュのエッジを除去したときのメッシュの変形量が少なくなるようにエッジの総数を減らすことにより、メッシュの形状劣化を抑えつつ逐次的にメッシュの頂点を低減させる手法が開示されている。ここで、エッジとは、隣接するポリゴンを構成する共通する2個の頂点の組合せのことである。また、単にメッシュの頂点の個数を低減させる手法としては、ボリュームの解像度を低減させた低解像度ボリュームを生成し、生成した低解像度ボリュームからメッシュを生成する手法が一般的に知られている。 There are techniques for reducing the number of vertices in a mesh when generating a mesh that corresponds to the surface of an object. Patent Document 1 discloses a technique for reducing the total number of edges so as to reduce the amount of deformation of the mesh when the edges are removed, thereby gradually reducing the number of vertices in the mesh while suppressing deterioration of the mesh's shape. Here, an edge refers to a combination of two common vertices that make up adjacent polygons. In addition, a commonly known technique for simply reducing the number of vertices in a mesh is to generate a low-resolution volume by reducing the resolution of the volume, and then generate a mesh from the generated low-resolution volume.
特許文献1に開示された手法には、メッシュの形状劣化を抑制できるが、メッシュの変形量を評価する際の処理負荷が高いため、頂点の個数を低減させたメッシュ(以下「簡略メッシュ」という。)を高速に生成できないという問題点があった。一方、低解像度ボリュームからメッシュを生成する手法には、特許文献1に開示された手法と比較して、簡略メッシュを高速に生成できるが、生成した簡略メッシュの形状が劣化してしまうという問題点があった。なお、上述の問題点は、オブジェクトの3次元形状を表すボリュームデータから簡略メッシュを生成する場合に限らず、オブジェクトの2次元形状を表すシルエット画像等の2次元マップデータからオブジェクトの輪郭を表す多角形を特定する場合でも同様である。 The method disclosed in Patent Document 1 can suppress deterioration of the mesh shape, but has the problem that a mesh with a reduced number of vertices (hereinafter referred to as a "simplified mesh") cannot be generated quickly due to the high processing load when evaluating the deformation amount of the mesh. On the other hand, the method of generating a mesh from a low-resolution volume can generate a simplified mesh quickly compared to the method disclosed in Patent Document 1, but has the problem that the shape of the generated simplified mesh deteriorates. Note that the above-mentioned problem is not limited to the case of generating a simplified mesh from volume data representing the three-dimensional shape of an object, but is also the same when identifying a polygon representing the outline of an object from two-dimensional map data such as a silhouette image representing the two-dimensional shape of the object.
本開示は、このような問題点を解決するためのものであり、オブジェクトの形状に対応する点群であって形状劣化を抑えた簡略化された点群を、高速に生成することを可能にするものである。 The present disclosure is intended to solve these problems, and makes it possible to quickly generate a simplified point cloud that corresponds to the shape of an object and suppresses shape degradation.
本開示に係るデータ処理装置は、複数の第1単位領域によりオブジェクトの形状を表す第1情報を取得する取得手段と、第1情報に基づいて、第1単位領域より大きさが大きい複数の第2単位領域によりオブジェクトの形状を表す第2情報を生成する第1生成手段と、第1情報に基づいて、オブジェクトの外形に対応する複数の第1単位領域を特定する第1特定手段と、第2情報に基づいて、互いに隣接する第2単位領域同士の境界であってオブジェクトの外形に対応する複数の境界を特定する第2特定手段と、第1特定手段により特定された第1単位領域、及び第2特定手段により特定された境界に基づいて、オブジェクトの外形に対応する点群を生成する第2生成手段と、を有し、前記第1特定手段は、前記第1情報及び前記第2情報に基づいて、前記第1特定手段により特定された複数の前記第1単位領域のそれぞれを、前記第1単位領域の位置を含む前記第2単位領域、又は前記第1単位領域の位置に最も近傍な位置の前記第2単位領域に対応付けを行い、前記第2生成手段は、前記第2単位領域毎に、前記第1特定手段により特定された前記第1単位領域のうち前記第2単位領域に対応付けられた前記第1単位領域、及び前記第2特定手段により特定された当該第2単位領域に対応する前記境界に基づいて、前記オブジェクトの前記外形に対応する前記点群を生成し、前記第1特定手段は、前記第1単位領域を、当該第1単位領域の位置に最も近傍な位置の前記第2単位領域に対応付ける際に、前記第1単位領域の位置に最も近傍な位置の前記第2単位領域が複数ある場合は、前記第1単位領域を、前記第1単位領域の位置に最も近傍な位置の前記第2単位領域の全てに対応付ける。
A data processing device according to the present disclosure includes an acquisition means for acquiring first information representing a shape of an object using a plurality of first unit areas; a first generation means for generating, based on the first information, second information representing the shape of the object using a plurality of second unit areas larger than the first unit areas; a first identification means for identifying, based on the first information, a plurality of first unit areas corresponding to an outline of the object; a second identification means for identifying, based on the second information, a plurality of boundaries between adjacent second unit areas that correspond to the outline of the object; and a second generation means for generating a point cloud corresponding to the outline of the object based on the first unit areas identified by the first identification means and the boundaries identified by the second identification means, wherein the first identification means generates a point cloud corresponding to the outline of the object based on the first information and the second information. Each of the first unit areas is associated with the second unit area including the position of the first unit area, or the second unit area located closest to the position of the first unit area, and the second generation means generates the point cloud corresponding to the outer shape of the object for each second unit area based on the first unit area associated with the second unit area among the first unit areas identified by the first identification means, and the boundary corresponding to the second unit area identified by the second identification means, and when associating the first unit area with the second unit area located closest to the position of the first unit area, if there are multiple second unit areas located closest to the position of the first unit area, the first identification means associates the first unit area with all of the second unit areas located closest to the position of the first unit area .
本開示によれば、オブジェクトの形状に対応する点群であって形状劣化を抑えた簡略化された点群を、高速に生成することができる。 According to the present disclosure, it is possible to quickly generate a simplified point cloud that corresponds to the shape of an object and suppresses shape degradation.
以下、添付の図面を参照して、本開示の実施の形態について詳細に説明する。なお、以下の実施の形態に示す構成は一例に過ぎず、本開示の範囲をその構成のみに限定するものではない。 The following describes in detail the embodiments of the present disclosure with reference to the attached drawings. Note that the configurations shown in the following embodiments are merely examples, and the scope of the present disclosure is not limited to these configurations.
[第1実施形態]
図1から図7を参照して、第1実施形態に係るデータ処理装置100について説明する。図1を参照して第1実施形態に係るデータ処理装置100の構成について説明する。図1は、第1実施形態に係るデータ処理装置100の構成の一例を示すブロック図である。データ処理装置100は、取得部110、簡略化部120、マクロ特定部130、ベース特定部140、生成部150、及び出力部160を備える。
[First embodiment]
A data processing device 100 according to the first embodiment will be described with reference to Fig. 1 to Fig. 7. The configuration of the data processing device 100 according to the first embodiment will be described with reference to Fig. 1. Fig. 1 is a block diagram showing an example of the configuration of the data processing device 100 according to the first embodiment. The data processing device 100 includes an acquisition unit 110, a simplification unit 120, a macro identification unit 130, a base identification unit 140, a generation unit 150, and an output unit 160.
なお、第1実施形態では、一例として、データ処理装置100が、オブジェクトの3次元形状を表すボリュームデータを取得し、当該オブジェクトの表面形状に対応する表面点群を出力する場合について説明する。データ処理装置100は、オブジェクトの2次元形状を表す2次元マップデータを取得し、当該オブジェクトの輪郭形状に対応する点群を出力するものであってもよい。データ処理装置100が、オブジェクトの2次元形状を表す2次元マップデータを取得し、当該オブジェクトの輪郭形状に対応する点群を出力する形態については、3次元を2次元に減縮したものであるため説明を省略する。 In the first embodiment, as an example, a case will be described in which the data processing device 100 acquires volume data representing the three-dimensional shape of an object, and outputs a surface point cloud corresponding to the surface shape of the object. The data processing device 100 may acquire two-dimensional map data representing the two-dimensional shape of an object, and output a point cloud corresponding to the contour shape of the object. A description of the form in which the data processing device 100 acquires two-dimensional map data representing the two-dimensional shape of an object, and outputs a point cloud corresponding to the contour shape of the object will be omitted, as this is a reduction of three dimensions to two dimensions.
第1実施形態ではオブジェクト、ボリューム、ボクセル、点、点群、ポリゴン、及びメッシュを以下のように定義する。オブジェクトとは、3次元形状の物体のことである。ボリュームとは、オブジェクトの3次元形状を表現するための形態の一つである。具体的には、ボリュームは、3次元空間上に外接矩形(以下「バウンディングボックス」ともいう。)を設定し、その内部をグリッド状の領域(以下「グリッド」という。)に区切り、各グリッドに値を持たせたものである。ボクセルとは、ボリュームを構成する各グリッドのことである。ボクセルは、スカラ値又はベクトル値のボクセル値を保持する。ボクセル値は、2値、多値、又は連続値を取り得る。特にボクセル値が2値である場合、本開示では、ボクセル値が1であるボクセルをONボクセル、及び0であるボクセルをOFFボクセルという。 In the first embodiment, an object, a volume, a voxel, a point, a point cloud, a polygon, and a mesh are defined as follows. An object is a three-dimensional object. A volume is one of the forms for expressing the three-dimensional shape of an object. Specifically, a volume is a circumscribing rectangle (hereinafter also referred to as a "bounding box") set in a three-dimensional space, its interior is divided into grid-like regions (hereinafter referred to as "grids"), and each grid is assigned a value. A voxel is each grid that constitutes a volume. A voxel holds a voxel value that is a scalar value or a vector value. The voxel value can be binary, multi-value, or continuous. In particular, when the voxel value is binary, in this disclosure, a voxel whose voxel value is 1 is called an ON voxel, and a voxel whose voxel value is 0 is called an OFF voxel.
点とは、3次元空間において1個の座標により示され得るものである。点群とは、オブジェクトの3次元形状を表現するための形態の一つである。具体的には、点群は、1個以上の点により構成される点の集合であり、各点の位置を座標により表現する表現形態である。ポリゴンとは、3個以上の点により規定される多角形面である。メッシュとは、オブジェクトの3次元形状を表現するための形態の一つである。具体的には、メッシュは、複数のポリゴンの集合により構成される多面による3次元形状の表現形態である。本開示では一例として、ポリゴンは、3個の点により規定される三角形面を有する三角形ポリゴンであるものとし、メッシュは、複数の三角形ポリゴンにより構成されるものとする。 A point is something that can be represented by a single coordinate in three-dimensional space. A point cloud is one form for expressing the three-dimensional shape of an object. Specifically, a point cloud is a collection of one or more points, and is a form of expression in which the position of each point is expressed by coordinates. A polygon is a polygonal surface defined by three or more points. A mesh is one form for expressing the three-dimensional shape of an object. Specifically, a mesh is a form of expression of a three-dimensional shape with multiple faces that is composed of a collection of multiple polygons. In this disclosure, as an example, a polygon is a triangular polygon having a triangular surface defined by three points, and a mesh is composed of multiple triangular polygons.
取得部110は、複数の第1単位領域によりオブジェクトの形状を表す第1情報を取得する。具体的には、取得部110は、複数のボクセル(以下「ベースボクセル」という。)によりオブジェクトの3次元形状を表すボリューム(以下「ベースボリューム」という。)を取得する。すなわち、第1実施形態では、第1単位領域とはベースボクセルであり、オブジェクトの形状を表す第1情報とは、オブジェクトの3次元形状を表すベースボリュームである。取得部110は、取得したベースボリュームを簡略化部120及びベース特定部140に出力する。 The acquisition unit 110 acquires first information representing the shape of an object using a plurality of first unit regions. Specifically, the acquisition unit 110 acquires a volume (hereinafter referred to as a "base volume") representing the three-dimensional shape of an object using a plurality of voxels (hereinafter referred to as "base voxels"). That is, in the first embodiment, the first unit regions are base voxels, and the first information representing the shape of an object is a base volume representing the three-dimensional shape of the object. The acquisition unit 110 outputs the acquired base volume to the simplification unit 120 and the base identification unit 140.
簡略化部120は、第1情報を簡略化し、第1単位領域より大きさが大きい複数の第2単位領域によりオブジェクトの形状を表す第2情報を生成する。具体的には、取得部110が出力するベースボリュームを受けて、ベースボリュームを簡略化する。簡略化部120は、ベースボリュームを簡略化することにより、ベースボクセルより大きさが大きい複数のボクセル(以下「マクロボクセル」という。)によりオブジェクトの3次元形状を表すボリューム(以下「マクロボリューム」という。)を生成する。すなわち、第1実施形態では、第2単位領域とはマクロボクセルであり、オブジェクトの形状を表す第2情報とは、オブジェクトの3次元形状を表すマクロボリュームである。例えば、簡略化部120は、ベースボリュームを簡略化してマクロボリュームを生成する際に、予め定められた簡略化倍率に合わせて簡略化する。簡略化倍率は、簡略化部120により予め保持されたものであっても、取得部110により取得されたものであってもよい。 The simplification unit 120 simplifies the first information and generates second information representing the shape of the object using a plurality of second unit regions larger than the first unit regions. Specifically, the simplification unit 120 receives the base volume output by the acquisition unit 110 and simplifies the base volume. The simplification unit 120 simplifies the base volume to generate a volume (hereinafter referred to as a "macro volume") representing the three-dimensional shape of the object using a plurality of voxels (hereinafter referred to as "macro voxels") larger than the base voxels. That is, in the first embodiment, the second unit regions are macro voxels, and the second information representing the shape of the object is a macro volume representing the three-dimensional shape of the object. For example, when the simplification unit 120 simplifies the base volume to generate the macro volume, it simplifies according to a predetermined simplification factor. The simplification factor may be one that is held in advance by the simplification unit 120 or one that is acquired by the acquisition unit 110.
図2を参照して、ベースボクセル及びマクロボクセルについて説明する。図2(a)は、取得部110により取得されるベースボリューム201の構成の一例を示す説明図である。図2(a)に示すベースボリューム201は、一例として、X軸方向、Y軸方向、及びZ軸方向に各4個ずつ並べられた64個のベースボクセルにより構成されたものである。64個のベースボクセルを含むベースボリューム201の外形がベースボリューム201のバウンディングボックスである。各ベースボクセルは、ベースボクセルの一部又は全部がオブジェクトに属するか否かを示すボクセル値を保持している。ベースボリューム201を構成するベースボクセルのうち、一部は、ベースボクセルの一部又は全部がオブジェクトに属するONボクセルである。また、残部は、ベースボクセルのいずれの一部もオブジェクトに属さない、又は、ベースボクセルの全体がオブジェクトに属さないOFFボクセルである。図2(b)は、簡略化部120によりベースボリューム201が簡略化されたマクロボリューム202の構成の一例を示す説明図である。簡略化部120は、例えば、ベースボリューム201におけるX軸方向、Y軸方向、及びZ軸方向に各2個ずつ並べられた8個のベースボクセルを1個のマクロボクセルに簡略化する。これにより、簡略化部120は、X軸方向、Y軸方向、及びZ軸方向に各2個ずつ並べられた8個のマクロボクセルにより構成されたマクロボリューム202を生成する。この場合、簡略化部120における簡略化倍率は、2である。 The base voxels and macro voxels will be described with reference to FIG. 2. FIG. 2(a) is an explanatory diagram showing an example of the configuration of the base volume 201 acquired by the acquisition unit 110. The base volume 201 shown in FIG. 2(a) is, as an example, configured of 64 base voxels arranged in four in each of the X-axis direction, Y-axis direction, and Z-axis direction. The outer shape of the base volume 201 including the 64 base voxels is the bounding box of the base volume 201. Each base voxel holds a voxel value indicating whether or not a part or all of the base voxels belong to an object. Some of the base voxels constituting the base volume 201 are ON voxels in which a part or all of the base voxels belong to an object. The remaining part is OFF voxels in which no part of the base voxels belongs to an object, or the entire base voxels do not belong to an object. FIG. 2B is an explanatory diagram showing an example of the configuration of a macro volume 202 obtained by simplifying the base volume 201 by the simplification unit 120. For example, the simplification unit 120 simplifies eight base voxels arranged in pairs in the X-axis direction, Y-axis direction, and Z-axis direction in the base volume 201 into one macro voxel. As a result, the simplification unit 120 generates a macro volume 202 composed of eight macro voxels arranged in pairs in the X-axis direction, Y-axis direction, and Z-axis direction. In this case, the simplification factor in the simplification unit 120 is 2.
また、簡略化部120は、マクロボクセル毎に、マクロボクセルに相当する8個のベースボクセルの中にONボクセルがある否かを判定する。簡略化部120は、当該判定の結果、8個のベースボクセルの中に少なくとも1個のONボクセルがあるマクロボクセルについては、マクロボクセルのボクセル値を1に設定してONボクセルとする。また、簡略化部120は、当該判定の結果、8個のベースボクセルの中にONボクセルが1個もないマクロボクセルについては、マクロボクセルのボクセル値を0に設定してOFFボクセルとする。簡略化部120は、マクロボクセルに相当する8個のベースボクセルの中にあるONボクセルの個数、又はONボクセルの割合を予め定められた閾値と比較することにより、マクロボクセルをONボクセルにするかOFFボクセルにするかを判定してもよい。なお、当該閾値は、例えば、簡略化部120により予め保持されたものであっても、取得部110により取得されたものであってもよい。 The simplification unit 120 also determines for each macrovoxel whether there is an ON voxel among the eight base voxels corresponding to the macrovoxel. For a macrovoxel for which at least one ON voxel is present among the eight base voxels as a result of the determination, the simplification unit 120 sets the voxel value of the macrovoxel to 1 to make it an ON voxel. For a macrovoxel for which there is no ON voxel among the eight base voxels as a result of the determination, the simplification unit 120 sets the voxel value of the macrovoxel to 0 to make it an OFF voxel. The simplification unit 120 may determine whether to make a macrovoxel an ON voxel or an OFF voxel by comparing the number of ON voxels or the ratio of ON voxels among the eight base voxels corresponding to the macrovoxel with a predetermined threshold value. Note that the threshold value may be, for example, one that is stored in advance by the simplification unit 120 or one that is acquired by the acquisition unit 110.
マクロ特定部130は、第2情報に基づいて、互いに隣接する第2単位領域同士の境界であってオブジェクトの外形に対応する複数の境界を特定する。具体的には、マクロ特定部130は、マクロボリュームに基づいて、互いに隣接するマクロボクセル同士の境界面であってオブジェクトの表面に対応する複数の境界面(以下「表面境界面」という。)を特定する。なお、互いに隣接するマクロボクセル同士の境界面には、互いに隣接するマクロボクセル同士の接触面に加えて、マクロボクセルとマクロボリュームの外形であるバウンディングボックスとの接触面を含むものとする。具体的には、例えば、マクロ特定部130は、バウンディングボックス又はOFFボクセルのマクロボクセルと、ONボクセルのマクロボクセルとの接触面を表面境界面として特定する。 Based on the second information, the macro specification unit 130 specifies a number of boundaries between adjacent second unit regions that correspond to the outer shape of the object. Specifically, based on the macro volume, the macro specification unit 130 specifies a number of boundary surfaces (hereinafter referred to as "surface boundary surfaces") between adjacent macro voxels that correspond to the surface of the object. Note that the boundary surfaces between adjacent macro voxels include the contact surface between the macro voxels and the bounding box, which is the outer shape of the macro volume, in addition to the contact surface between the adjacent macro voxels. Specifically, for example, the macro specification unit 130 specifies the contact surface between the bounding box or the macro voxel of the OFF voxel and the macro voxel of the ON voxel as the surface boundary surface.
また、マクロ特定部130は、表面境界面のそれぞれについて、表面境界面上に属する点(以下「表面ボクセル境界」という。)の位置を特定する。具体的には、例えば、マクロ特定部130は、表面境界面を特徴付ける境界面上に属する点であって、例えば、表面境界面の中心点等の表面境界面における予め定められた位置を表面ボクセル境界の位置として特定する。マクロ特定部130は、以下の手法により表面ボクセル境界の位置を特定してもよい。まず、マクロ特定部130は、マクロボクセルを規定する複数の頂点のうちの1つが同一の位置に存在する8個のマクロボクセルのそれぞれに属する予め定められた点を頂点とする仮想ボクセルをマクロボクセルの頂点の位置毎に設定する。次に、マクロ特定部130は、上述の8個のマクロボクセルの各ボクセル値に基づいて、各仮想ボクセルの内部にオブジェクトの表面に対応する点群又は面を特定する。さらに、マクロ特定部130は、特定した仮想ボクセルの内部の点群又は面に基づいて、表面ボクセル境界の位置を特定する。仮想ボクセルの内部にオブジェクトの表面に対応する点群又は面を特定する手法は、例えば、周知の手法であるMarching cubes法(以下「MC法」という。)の一部の処理と同様であるため説明を省略する。 The macro specification unit 130 also specifies the position of a point (hereinafter referred to as a "surface voxel boundary") on the surface boundary surface for each of the surface boundary surfaces. Specifically, for example, the macro specification unit 130 specifies a point on the boundary surface that characterizes the surface boundary surface, for example, a predetermined position on the surface boundary surface such as the center point of the surface boundary surface, as the position of the surface voxel boundary. The macro specification unit 130 may specify the position of the surface voxel boundary by the following method. First, the macro specification unit 130 sets a virtual voxel having a vertex that is a predetermined point belonging to each of eight macro voxels in which one of the multiple vertices that define the macro voxel exists at the same position, for each position of the vertices of the macro voxel. Next, the macro specification unit 130 specifies a point group or a surface corresponding to the surface of the object inside each virtual voxel based on each voxel value of the above-mentioned eight macro voxels. Furthermore, the macro specification unit 130 specifies the position of the surface voxel boundary based on a point group or a surface inside the specified virtual voxel. The method for identifying a point group or a surface corresponding to the surface of an object inside a virtual voxel is similar to, for example, part of the processing in the well-known Marching cubes method (hereinafter referred to as the "MC method"), and therefore will not be described here.
図2(b)には、マクロボリューム202から切り出した互いに隣接する2個のマクロボクセル203,204を一例として示している。マクロボクセル203とマクロボクセル204とを合わせたものには、11個の境界面と、各境界面に対応する点(以下「ボクセル境界」という。)が存在する。例えば、マクロ特定部130は、境界面のそれぞれに対応するボクセル境界を識別するために、ボクセル境界毎に互いに異なるインデックス(以下「境界インデックス」という。)を付与する。また、マクロ特定部130は、境界インデックスと、各境界インデックスに対応する境界面が表面境界面であるか否かを示す情報、又は表面ボクセル境界の位置を示す情報等とを関連付けた情報(以下「表面情報」という。)を生成する。 2B shows, as an example, two adjacent macrovoxels 203 and 204 extracted from the macro volume 202. The combination of the macrovoxels 203 and 204 includes 11 boundary surfaces and points (hereinafter referred to as "voxel boundaries") corresponding to each boundary surface. For example, the macro specification unit 130 assigns a different index (hereinafter referred to as "boundary index") to each voxel boundary in order to identify the voxel boundary corresponding to each boundary surface. The macro specification unit 130 also generates information (hereinafter referred to as "surface information") that associates the boundary index with information indicating whether the boundary surface corresponding to each boundary index is a surface boundary surface or information indicating the position of the surface voxel boundary.
ベース特定部140は、第1情報に基づいて、オブジェクトの外形に対応する複数の第1単位領域を特定する。具体的には、ベース特定部140は、ベースボリュームに基づいて、オブジェクトの表面に対応する複数のベースボクセル(以下「表面ベースボクセル」という。)を特定する。具体的には、例えば、ベース特定部140は、OFFボクセルのベースボクセルに隣接するONボクセルのベースボクセルを表面ベースボクセルとして特定する。 The base identification unit 140 identifies a plurality of first unit regions corresponding to the outer shape of the object based on the first information. Specifically, the base identification unit 140 identifies a plurality of base voxels (hereinafter referred to as "surface base voxels") corresponding to the surface of the object based on the base volume. Specifically, for example, the base identification unit 140 identifies the base voxel of an ON voxel adjacent to the base voxel of an OFF voxel as the surface base voxel.
また、ベース特定部140は、表面ベースボクセルのそれぞれについて、表面ベースボクセルに属する点(以下「ベース境界点」という。)を特定する。具体的には、例えば、ベース特定部140は、表面ベースボクセルの中心点等の表面ベースボクセルの内部における予め定められた位置をベース境界点の位置として特定する。ベース特定部140は、表面ベースボクセルと表面ベースボクセルに隣接するOFFボクセルのベースボクセルとの接触面における予め定められた位置をベース境界点の位置として特定してもよい。また、ベース特定部140は、以下の手法によりベース境界点の位置を特定してもよい。まず、ベース特定部140は、ベースボクセルを規定する複数の頂点のうちの1つが同一の位置に存在する8個のベースボクセルのそれぞれに属する予め定められた点を頂点とする仮想ボクセルをベースボクセルの頂点の位置毎に設定する。次に、ベース特定部140は、上述の8個のベースボクセルの各ボクセル値に基づいて、各仮想ボクセルの内部にオブジェクトの表面に対応する点群又は面を特定する。さらに、ベース特定部140は、特定した仮想ボクセルの内部の点群又は面に基づいて、ベース境界点の位置を特定する。仮想ボクセルの内部にオブジェクトの表面に対応する点群又は面を特定する手法は、例えば、周知の手法であるMarching cubes法(以下「MC法」という。)の一部の処理と同様であるため説明を省略する。以下、第1実施形態では、ベース特定部140は、表面ベースボクセルの中心点の位置をベース境界点の位置として特定するものとして説明する。なお、ベース特定部140が表面ベースボクセルと表面ベースボクセルに隣接するOFFボクセルのベースボクセルとの接触面における予め定められた位置をベース境界点の位置として特定する手法については、第2実施形態にて説明する。 The base identification unit 140 also identifies a point (hereinafter referred to as a "base boundary point") belonging to the surface base voxel for each surface base voxel. Specifically, for example, the base identification unit 140 identifies a predetermined position inside the surface base voxel, such as the center point of the surface base voxel, as the position of the base boundary point. The base identification unit 140 may also identify a predetermined position on the contact surface between the surface base voxel and the base voxel of the OFF voxel adjacent to the surface base voxel as the position of the base boundary point. The base identification unit 140 may also identify the position of the base boundary point by the following method. First, the base identification unit 140 sets a virtual voxel for each vertex position of the base voxel, the vertex of which is a predetermined point belonging to each of the eight base voxels in which one of the multiple vertices defining the base voxel exists at the same position. Next, the base identification unit 140 identifies a point group or a surface corresponding to the surface of the object inside each virtual voxel based on each voxel value of the above-mentioned eight base voxels. Furthermore, the base identification unit 140 identifies the position of the base boundary point based on the point group or surface inside the identified virtual voxel. The method of identifying the point group or surface corresponding to the surface of the object inside the virtual voxel is similar to, for example, a part of the processing of the Marching cubes method (hereinafter referred to as the "MC method"), which is a well-known method, so a description will be omitted. In the following, in the first embodiment, the base identification unit 140 will be described as identifying the position of the center point of the surface base voxel as the position of the base boundary point. Note that the method in which the base identification unit 140 identifies a predetermined position on the contact surface between the surface base voxel and the base voxel of the OFF voxel adjacent to the surface base voxel as the position of the base boundary point will be described in the second embodiment.
さらに、ベース特定部140は、表面境界面毎に、表面境界面により隔てられる2個のマクロボクセルのうちのオブジェクト側に存在するマクロボクセル(以下「表面マクロボクセル」という。)を特定して、当該表面境界面と表面マクロボクセルとを対応付ける。次に、ベース特定部140は、表面マクロボクセル毎に、表面マクロボクセルに対応する複数のベースボクセルのうちの1個以上の表面ベースボクセルに対応する全てのベース境界点の位置における分布を示す特徴量を算出する。以下、ベース特定部140により算出されるベース境界点の位置の分布を示す特徴量をベース特徴量と称して説明する。ここで、ベース特徴量とは、表面マクロボクセルに対応する複数のベースボクセルのうちの1個以上の表面ベースボクセルに対応する全てのベース境界点の位置における統計値である。また、全てのベース境界点の位置における統計値とは、全てのベース境界点の位置における最大値、最小値、平均、分散、標準偏差、中央値、最頻値、尖度、及び歪度等のうちの少なくとも1つである。 Furthermore, for each surface boundary surface, the base identification unit 140 identifies a macrovoxel (hereinafter referred to as a "surface macrovoxel") that exists on the object side of two macrovoxels separated by the surface boundary surface, and associates the surface boundary surface with the surface macrovoxel. Next, for each surface macrovoxel, the base identification unit 140 calculates a feature value indicating the distribution at the positions of all base boundary points corresponding to one or more surface base voxels among the multiple base voxels corresponding to the surface macrovoxel. Hereinafter, the feature value indicating the distribution of the positions of the base boundary points calculated by the base identification unit 140 will be referred to as a base feature value. Here, the base feature value is a statistical value at the positions of all base boundary points corresponding to one or more surface base voxels among the multiple base voxels corresponding to the surface macrovoxel. In addition, the statistical value at the positions of all base boundary points is at least one of the maximum value, minimum value, mean, variance, standard deviation, median, mode, kurtosis, skewness, etc. at the positions of all base boundary points.
なお、マクロボクセルの大きさは、ベースボクセルの大きさの整数倍であっても、整数倍ではない実数倍(以下「非整数倍」という。)であってもよい。マクロボクセルの大きさがベースボクセルの大きさの整数倍である場合、全てのベースボクセルの位置のそれぞれは、いずれかのマクロボクセルに含まれることになる。したがって、当該場合、ベース特定部140は、表面ベースボクセルを、当該表面ベースボクセルの位置を含むマクロボクセルに対応付ける。一方、マクロボクセルの大きさがベースボクセルの大きさの非整数倍である場合、ベースボクセルの位置がマクロボクセルに含まれないベースボクセルが生じることがある。当該場合、ベース特定部140は、以下のように表面ベースボクセルをマクロボクセルに対応付ける。 The size of the macrovoxel may be an integer multiple of the size of the base voxel, or a real multiple that is not an integer multiple (hereinafter referred to as a "non-integer multiple"). When the size of the macrovoxel is an integer multiple of the size of the base voxel, each of the positions of all of the base voxels will be included in one of the macrovoxels. Therefore, in this case, the base identification unit 140 associates the surface base voxel with a macrovoxel that includes the position of the surface base voxel. On the other hand, when the size of the macrovoxel is a non-integer multiple of the size of the base voxel, there may be a base voxel whose position is not included in the macrovoxel. In this case, the base identification unit 140 associates the surface base voxel with the macrovoxel as follows.
例えば、ベース特定部140は、表面ベースボクセルの位置があるマクロボクセルに含まれる場合、当該表面ベースボクセルを当該マクロボクセルに対応付ける。また、表面ベースボクセルの位置がいずれのマクロボクセルにも含まれない場合、当該表面ベースボクセルの位置が最も近傍となるマクロボクセルに当該表面ベースボクセルを対応付ける。また、当該場合において、表面ベースボクセルの位置が最も近傍となるマクロボクセルが複数ある場合、例えば、ベース特定部140は、当該表面ベースボクセルを、最も近傍となる全てのマクロボクセルに対応付ける。このような場合、ベース特定部140は、表面ベースボクセルを、当該表面ベースボクセルの位置が最も近傍となる複数のマクロボクセルのうち、対応付けられる表面ベースボクセルの数が最も少ないマクロボクセルに対応付けてもよい。ベース特定部140における表面ベースボクセルとマクロボクセルとの対応付けは、予め定められた対応付け条件従って行われればよい。図10(a)は、マクロボクセルの大きさがベースボクセルの大きさの整数倍(2倍)のときの表面ベースボクセルとマクロボクセルとの対応付けの一例を示す説明図である。図10(b)は、マクロボクセルの大きさがベースボクセルの大きさの非整数倍(1.5倍)のときの表面ベースボクセルとマクロボクセルとの対応付けの一例を示す説明図である。 For example, when the position of the surface base voxel is included in a certain macrovoxel, the base identification unit 140 associates the surface base voxel with the macrovoxel to which the position of the surface base voxel is closest. When the position of the surface base voxel is not included in any macrovoxel, the base identification unit 140 associates the surface base voxel with the macrovoxel to which the position of the surface base voxel is closest. In this case, when there are multiple macrovoxels to which the position of the surface base voxel is closest, for example, the base identification unit 140 associates the surface base voxel with all of the macrovoxels that are closest. In such a case, the base identification unit 140 may associate the surface base voxel with the macrovoxel with which the number of surface base voxels associated is the smallest among the multiple macrovoxels to which the position of the surface base voxel is closest. The association between the surface base voxel and the macrovoxel in the base identification unit 140 may be performed according to a predetermined association condition. Fig. 10(a) is an explanatory diagram showing an example of the correspondence between a surface base voxel and a macro voxel when the size of the macro voxel is an integer multiple (2 times) of the size of the base voxel. Fig. 10(b) is an explanatory diagram showing an example of the correspondence between a surface base voxel and a macro voxel when the size of the macro voxel is a non-integer multiple (1.5 times) of the size of the base voxel.
生成部150は、ベース特定部140により特定された第1単位領域、及びマクロ特定部130により特定された境界に基づいて、オブジェクトの外形に対応する簡略化された点群を生成する。具体的には、生成部150は、ベース特定部140により特定された表面ベースボクセル、及びマクロ特定部130により特定された表面境界面に基づいて、オブジェクトの表面に対応する簡略化された点群(以下「表面点群」という。)を生成する。例えば、生成部150は、まず、マクロ特定部130により特定された表面境界面のそれぞれを、表面境界面により隔てられる2個のマクロボクセルのうちのオブジェクト側に存在するマクロボクセル(以下「表面マクロボクセル」という。)に対応付ける。次に、生成部150は、表面マクロボクセル毎に、オブジェクトの表面に対応する点の位置を算出することにより簡略化された表面点群を生成する。 The generating unit 150 generates a simplified point group corresponding to the outer shape of the object based on the first unit area identified by the base identifying unit 140 and the boundary identified by the macro identifying unit 130. Specifically, the generating unit 150 generates a simplified point group (hereinafter referred to as a "surface point group") corresponding to the surface of the object based on the surface base voxels identified by the base identifying unit 140 and the surface boundary surface identified by the macro identifying unit 130. For example, the generating unit 150 first associates each of the surface boundary surfaces identified by the macro identifying unit 130 with a macro voxel (hereinafter referred to as a "surface macro voxel") that exists on the object side of two macro voxels separated by the surface boundary surface. Next, the generating unit 150 generates a simplified surface point group by calculating the position of a point corresponding to the surface of the object for each surface macro voxel.
具体的には、生成部150は、ベース特定部140により特定されたベース境界点の位置、及びマクロ特定部130により特定された表面ボクセル境界の位置に基づいて簡略化された表面点群を生成する。例えば、生成部150は、以下の処理を行うことにより簡略化された表面点群を生成する。まず、生成部150は、表面境界面毎に表面境界面により隔てられる2個のマクロボクセルのうちのオブジェクト側に存在するマクロボクセル(表面マクロボクセル)を特定して、当該表面境界面と表面マクロボクセルとを対応付ける。次に、生成部150は、表面マクロボクセル毎に、表面情報に基づいて、表面マクロボクセルに対応付けられた1個以上の表面境界面に対応する全ての表面ボクセル境界の位置における分布を示す特徴量(以下「ボクセル境界特徴量」という。)を算出する。ここで、ボクセル境界特徴量とは、表面マクロボクセルに対応付けられた1個以上の表面境界面に対応する全ての表面ボクセル境界の位置における統計値である。また、全ての表面ボクセル境界の位置における統計値とは、全ての表面ボクセル境界の位置における最大値、最小値、平均、分散、標準偏差、中央値、最頻値、尖度、及び歪度等のうちの少なくとも1つである。さらに、生成部150は、表面マクロボクセル毎に、表面マクロボクセルに対応するベース特徴量及びボクセル境界特徴量に基づいてオブジェクトの表面に対応する点の位置を算出することにより簡略化された表面点群を生成する。 Specifically, the generating unit 150 generates a simplified surface point group based on the positions of the base boundary points identified by the base identifying unit 140 and the positions of the surface voxel boundaries identified by the macro identifying unit 130. For example, the generating unit 150 generates a simplified surface point group by performing the following process. First, the generating unit 150 identifies a macro voxel (surface macro voxel) that exists on the object side of two macro voxels separated by a surface boundary surface for each surface boundary surface, and associates the surface boundary surface with the surface macro voxel. Next, the generating unit 150 calculates, for each surface macro voxel, a feature amount (hereinafter referred to as a "voxel boundary feature amount") that indicates a distribution at the positions of all surface voxel boundaries corresponding to one or more surface boundary surfaces associated with the surface macro voxel based on the surface information. Here, the voxel boundary feature amount is a statistical value at the positions of all surface voxel boundaries corresponding to one or more surface boundary surfaces associated with the surface macro voxel. Furthermore, the statistical value at the positions of all surface voxel boundaries is at least one of the maximum value, minimum value, average, variance, standard deviation, median, mode, kurtosis, skewness, etc. at the positions of all surface voxel boundaries. Furthermore, the generating unit 150 generates a simplified surface point group by calculating, for each surface macrovoxel, the position of a point corresponding to the surface of the object based on the base feature and voxel boundary feature corresponding to the surface macrovoxel.
出力部160は、生成部150により生成された簡略化された表面点群を示す情報を出力する。なお、これまでの説明において、ボクセル境界特徴量は、マクロ特定部130が算出するものとして説明したが、生成部150が算出してもよい。同様に、これまでの説明において、ベース特徴量は、ベース特定部140が算出するものとして説明したが、生成部150が算出してもよい。 The output unit 160 outputs information indicating the simplified surface point group generated by the generation unit 150. In the above explanation, the voxel boundary feature amount has been described as being calculated by the macro identification unit 130, but it may be calculated by the generation unit 150. Similarly, in the above explanation, the base feature amount has been described as being calculated by the base identification unit 140, but it may be calculated by the generation unit 150.
データ処理装置100が備える各部の処理は、データ処理装置100に内蔵されたASIC(Application Specific Integrated Circuit)等のハードウェアによってなされる。データ処理装置100が備える各部の処理は、データ処理装置100に内蔵されたFPGA(Field Programmable Gate Array)等のハードウェアによってなされてもよい。また、当該処理は、CPU(Central Processor Unit)若しくはGPU(Graphic Processor Unit)、及びメモリを用いたソフトウエアによってなされてもよい。 The processing of each unit of the data processing device 100 is performed by hardware such as an ASIC (Application Specific Integrated Circuit) built into the data processing device 100. The processing of each unit of the data processing device 100 may be performed by hardware such as an FPGA (Field Programmable Gate Array) built into the data processing device 100. The processing may also be performed by software using a CPU (Central Processor Unit) or a GPU (Graphic Processor Unit) and memory.
図3を参照して、データ処理装置100が備える各部がソフトウエアとして動作する場合のデータ処理装置100のハードウェア構成について説明する。図3は、第1実施形態に係るデータ処理装置100のハードウェア構成の一例を示すブロック図である。データ処理装置100は、コンピュータにより構成されており、当該コンピュータは、図3に一例として示すようにCPU311、ROM312、RAM313、補助記憶装置314、表示部315、操作部316、通信部317、及びバス318を有している。 With reference to FIG. 3, the hardware configuration of the data processing device 100 when each unit of the data processing device 100 operates as software will be described. FIG. 3 is a block diagram showing an example of the hardware configuration of the data processing device 100 according to the first embodiment. The data processing device 100 is configured by a computer, which has a CPU 311, a ROM 312, a RAM 313, an auxiliary storage device 314, a display unit 315, an operation unit 316, a communication unit 317, and a bus 318, as shown as an example in FIG. 3.
CPU311は、ROM312又はRAM313に格納されているプログラム又はデータを用いて当該コンピュータを制御することにより、当該コンピュータを図1に示すデータ処理装置100が備える各部として機能させる。なお、データ処理装置100は、CPU311とは異なる1又は複数の専用のハードウェアを有し、CPU311による処理の少なくとも一部を専用のハードウェアが実行してもよい。専用のハードウェアの例としては、ASIC、FPGA、及びDSP(デジタルシグナルプロセッサ)等がある。ROM312は、変更を必要としないプログラム等を格納する。RAM313は、補助記憶装置314から供給されるプログラム若しくはデータ、又は通信部317を介して外部から供給されるデータ等を一時記憶する。補助記憶装置314は、例えばハードディスクドライブ等で構成され、画像データ又は音声データ等の種々のデータを記憶する。 The CPU 311 controls the computer using programs or data stored in the ROM 312 or the RAM 313, thereby causing the computer to function as each unit of the data processing device 100 shown in FIG. 1. The data processing device 100 may have one or more dedicated hardware units different from the CPU 311, and at least a part of the processing by the CPU 311 may be executed by the dedicated hardware units. Examples of the dedicated hardware units include an ASIC, an FPGA, and a DSP (digital signal processor). The ROM 312 stores programs that do not require modification. The RAM 313 temporarily stores programs or data supplied from the auxiliary storage device 314, or data supplied from the outside via the communication unit 317. The auxiliary storage device 314 is composed of, for example, a hard disk drive, and stores various data such as image data or audio data.
表示部315は、例えば液晶ディスプレイ又はLED等により構成され、ユーザがデータ処理装置100を操作又は閲覧するためのGUI(Graphical User Interface)等を表示する。操作部316は、例えばキーボード、マウス、又はタッチパネル等により構成され、ユーザによる操作を受けて各種の指示をCPU311に入力する。CPU311は、表示部315を制御する表示制御部、及び操作部316を制御する操作制御部としても動作する。 The display unit 315 is configured, for example, by a liquid crystal display or LEDs, and displays a GUI (Graphical User Interface) or the like for the user to operate or view the data processing device 100. The operation unit 316 is configured, for example, by a keyboard, mouse, or touch panel, and inputs various instructions to the CPU 311 in response to operations by the user. The CPU 311 also operates as a display control unit that controls the display unit 315, and as an operation control unit that controls the operation unit 316.
通信部317は、データ処理装置100の外部の装置との通信に用いられる。例えば、データ処理装置100が外部の装置と有線接続される場合には、通信用のケーブルが通信部317に接続される。データ処理装置100が外部の装置と無線通信する機能を有する場合には、通信部317はアンテナを備える。バス318は、データ処理装置100の備える各部をつないで情報を伝達する。第1実施形態では、表示部315及び操作部316は、データ処理装置100の内部に存在するものとして説明するが、表示部315及び操作部316の少なくとも一方は、データ処理装置100の外部に別の装置として存在していてもよい。 The communication unit 317 is used for communication with devices external to the data processing device 100. For example, when the data processing device 100 is connected to an external device by wire, a communication cable is connected to the communication unit 317. When the data processing device 100 has a function of wireless communication with an external device, the communication unit 317 is equipped with an antenna. The bus 318 connects each unit of the data processing device 100 to transmit information. In the first embodiment, the display unit 315 and the operation unit 316 are described as being present inside the data processing device 100, but at least one of the display unit 315 and the operation unit 316 may be present as a separate device outside the data processing device 100.
図4及び図5を参照して、データ処理装置100の動作について詳細に説明する。図4は、第1実施形態に係るデータ処理装置100の処理フローの一例を示すフローチャートである。図5は、図4に示すフローチャートの処理を説明するための説明図である。 The operation of the data processing device 100 will be described in detail with reference to Figures 4 and 5. Figure 4 is a flowchart showing an example of a processing flow of the data processing device 100 according to the first embodiment. Figure 5 is an explanatory diagram for explaining the processing of the flowchart shown in Figure 4.
まず、S401にて、取得部110は、ベースボリュームを取得する。図5に示すベースボリューム501は、一例として、取得部110が取得するベースボリュームをX軸方向、Y軸方向、又はZ軸方向に直交するある面で切断したときの断面を示している。次に、S402にて、簡略化部120は、取得部110が取得したベースボリュームを簡略化してマクロボリュームを生成する。図5に示すマクロボリューム502は、取得部110によりベースボリューム501が簡略化されたものである。なお、簡略化倍率n(nは正の実数)とすると、マクロボリューム502のボクセル解像度は、ベースボリューム501のボクセル解像度の1/nとなる。ここで、簡略化倍率nを正の整数に限定することより、マクロボリューム502におけるマクロボクセルの頂点が、ベースボリューム501におけるベースボクセルの頂点に重なるようにマクロボクセルを配置できる。結果として、簡略化倍率nを正の整数に限定することより、マクロボクセルとベースボクセルとの対応付けを容易に行うことができる。なお、図5における簡略化倍率は2である。 First, in S401, the acquisition unit 110 acquires a base volume. The base volume 501 shown in FIG. 5 shows, as an example, a cross section of the base volume acquired by the acquisition unit 110 cut along a plane perpendicular to the X-axis direction, the Y-axis direction, or the Z-axis direction. Next, in S402, the simplification unit 120 simplifies the base volume acquired by the acquisition unit 110 to generate a macro volume. The macro volume 502 shown in FIG. 5 is the base volume 501 simplified by the acquisition unit 110. Note that, when the simplification magnification factor n (n is a positive real number) is set, the voxel resolution of the macro volume 502 is 1/n of the voxel resolution of the base volume 501. Here, by limiting the simplification magnification factor n to a positive integer, the macro voxels can be arranged so that the vertices of the macro voxels in the macro volume 502 overlap the vertices of the base voxels in the base volume 501. As a result, by limiting the simplification factor n to a positive integer, it is easy to associate macrovoxels with base voxels. Note that the simplification factor in Figure 5 is 2.
次に、S411にて、マクロ特定部130は、簡略化部120により生成されたマクロボリュームにおける全ての境界面を特定し、特定した境界面に数に対応する境界面配列の領域をRAM313に確保する。ここで、境界面配列は、例えば、各境界面を識別可能な境界インデックスと、境界面がオブジェクトの表面に対応するか否かを2値により示す表面フラグと、境界面に対応するボクセル境界の位置を示す情報とを対応付けた配列である。マクロ特定部130は、境界面配列の領域をRAM313に確保する際に、例えば、全ての表面フラグの値を、境界面がオブジェクトの表面に対応していないことを示す0で初期化する。図5に示すマクロボリューム503には、表面フラグが0に初期化された状態における境界面配列が示されている。 Next, in S411, the macro specification unit 130 specifies all boundary surfaces in the macro volume generated by the simplification unit 120, and secures in the RAM 313 an area of the boundary surface array corresponding to the number of specified boundary surfaces. Here, the boundary surface array is, for example, an array that associates a boundary index capable of identifying each boundary surface, a surface flag that indicates by a binary value whether or not the boundary surface corresponds to the surface of the object, and information indicating the position of the voxel boundary that corresponds to the boundary surface. When securing the area of the boundary surface array in the RAM 313, the macro specification unit 130 initializes, for example, the values of all surface flags to 0, which indicates that the boundary surface does not correspond to the surface of the object. The macro volume 503 shown in FIG. 5 shows the boundary surface array in a state in which the surface flag is initialized to 0.
次に、S412にて、マクロ特定部130は、複数の表面境界面を特定する。例えば、マクロ特定部130は、特定した表面境界面のそれぞれに対応する表面フラグの値を1に変更する。図5に示すマクロボリューム504には、表面境界面のそれぞれに対応する表面フラグの値が1に変更された状態における境界面配列が示されている。次に、S413にて、マクロ特定部130は、表面境界面のそれぞれに対応する表面ボクセル境界の位置を特定する。例えば、マクロ特定部130は、特定した表面ボクセル境界の位置を示す情報を、表面ボクセル境界に対応する表面境界面に対応付けて、すなわち、表面境界面に対応する境界インデックスに対応付けて、境界面配列の該当箇所に書き込む。マクロ特定部130は、全ての表面境界面について対応する表面ボクセル境界の位置を示す情報を境界面配列に書き込み終えた後、境界面配列を表面情報として生成部150に出力する。なお、マクロ特定部130は、マクロ特定部130が表面境界面を特定する処理を行う前に境界面配列を作成しておくことにより、各境界面がオブジェクトの表面に対応するか否かを判定する処理を複数の境界面について並列に実行できる。 Next, in S412, the macro specification unit 130 specifies a plurality of surface boundary surfaces. For example, the macro specification unit 130 changes the value of the surface flag corresponding to each of the specified surface boundary surfaces to 1. The macro volume 504 shown in FIG. 5 shows the boundary surface array in a state in which the value of the surface flag corresponding to each of the surface boundary surfaces has been changed to 1. Next, in S413, the macro specification unit 130 specifies the position of the surface voxel boundary corresponding to each of the surface boundary surfaces. For example, the macro specification unit 130 writes information indicating the position of the specified surface voxel boundary to the corresponding surface boundary surface, that is, to the boundary index corresponding to the surface boundary surface, in the corresponding location of the boundary surface array. After writing information indicating the position of the corresponding surface voxel boundary for all surface boundary surfaces to the boundary surface array, the macro specification unit 130 outputs the boundary surface array to the generation unit 150 as surface information. In addition, by creating a boundary surface array before the macro specification unit 130 performs the process of specifying the surface boundary surface, the macro specification unit 130 can perform the process of determining whether each boundary surface corresponds to the surface of the object in parallel for multiple boundary surfaces.
次に、S421にて、ベース特定部140は、複数の表面ベースボクセルを特定する。次に、S422にて、ベース特定部140は、表面ベースボクセルのそれぞれに対応するベース境界点の位置を特定する。図5に示すベースボリューム505には、ベース特定部140により特定された複数の表面ベースボクセルと、各表面ベースボクセルに対応するベース境界点とが示されている。なお、図5に示すベースボリューム505は、一例として、ベース境界点をベースボクセルの中心に設定した場合を示している。次に、S423にて、ベース特定部140は、ベース特徴量を算出する。次に、S431にて、生成部150は、簡略化された表面点群を生成する。次に、S432にて、出力部160は、生成部150により生成された簡略化された表面点群を示す情報を出力する。S432の後、データ処理装置100は、図4に示すフローチャートの処理を終了する。 Next, in S421, the base identification unit 140 identifies a plurality of surface base voxels. Next, in S422, the base identification unit 140 identifies the positions of the base boundary points corresponding to each of the surface base voxels. In the base volume 505 shown in FIG. 5, a plurality of surface base voxels identified by the base identification unit 140 and base boundary points corresponding to each surface base voxel are shown. Note that the base volume 505 shown in FIG. 5 shows, as an example, a case in which the base boundary points are set at the center of the base voxel. Next, in S423, the base identification unit 140 calculates the base feature amount. Next, in S431, the generation unit 150 generates a simplified surface point group. Next, in S432, the output unit 160 outputs information indicating the simplified surface point group generated by the generation unit 150. After S432, the data processing device 100 ends the processing of the flowchart shown in FIG. 4.
図6及び図7を参照して、生成部150の動作について詳細に説明する。図6は、第1実施形態に係る生成部150の処理フローの一例を示すフローチャートである。具体的には、図6は、図4に示すS431の内部処理フローの一例を示すフローチャートである。図7は、第1実施形態に係る生成部150の処理を説明するための説明図である。 The operation of the generation unit 150 will be described in detail with reference to Figs. 6 and 7. Fig. 6 is a flowchart showing an example of the processing flow of the generation unit 150 according to the first embodiment. Specifically, Fig. 6 is a flowchart showing an example of the internal processing flow of S431 shown in Fig. 4. Fig. 7 is an explanatory diagram for explaining the processing of the generation unit 150 according to the first embodiment.
まず、S601にて、生成部150は、表面境界面と表面マクロボクセルとを対応付ける。図7に示すマクロボリューム701には、表面境界面が対応付けられる表面マクロボクセルが矢印により示されている。次に、S602にて、生成部150は、表面マクロボクセル毎に、ボクセル境界特徴量を算出する。次に、S603にて、生成部150は、表面ボクセル境界毎に、ボクセル境界特徴量とベース特徴量とに基づいて、表面ボクセル境界の位置を補正した頂点座標を算出する。具体的には、例えば、生成部150は、次式(1)を用いて、表面ボクセル境界毎に、表面ボクセル境界の位置を補正した頂点座標を算出する。より具体的には、例えば、生成部150は、表面ボクセル境界毎に、且つ、X軸、Y軸、及びZ軸のそれぞれの軸毎に、次式(1)を用いて、表面ボクセル境界の位置を補正し、頂点座標を算出する。
pi´=(pi-μp)×(σr/σp)+μr ・・・ 式(1)
First, in S601, the generating unit 150 associates the surface boundary surface with the surface macrovoxel. In the macro volume 701 shown in FIG. 7, the surface macrovoxel to which the surface boundary surface is associated is indicated by an arrow. Next, in S602, the generating unit 150 calculates a voxel boundary feature for each surface macrovoxel. Next, in S603, the generating unit 150 calculates vertex coordinates in which the position of the surface voxel boundary is corrected for each surface voxel boundary based on the voxel boundary feature and the base feature. Specifically, for example, the generating unit 150 calculates vertex coordinates in which the position of the surface voxel boundary is corrected for each surface voxel boundary using the following formula (1). More specifically, for example, the generating unit 150 corrects the position of the surface voxel boundary for each surface voxel boundary and for each axis of the X-axis, Y-axis, and Z-axis, and calculates vertex coordinates.
p i ′=(p i -μ p )×(σ r /σ p )+μ r ... Equation (1)
ここで、μrは、ある表面マクロボクセルに対応する1個以上の表面ベースボクセルに対応する全てのベース境界点の位置における平均値である。また、σrは、当該表面マクロボクセルに対応する1個以上の表面ベースボクセルに対応する全てのベース境界点の位置における標準偏差である。また、piは、当該表面マクロボクセルに対応付いた表面ボクセル境界の位置であって境界インデックスiに対応する表面ボクセル境界の位置である。また、μpは、当該表面マクロボクセルに対応付いた1個以上の表面ボクセル境界の位置の平均値である。また、σpは、当該表面マクロボクセルに対応付いた1個以上の表面ボクセル境界の位置の標準偏差である。また、pi´は、境界インデックスiに対応する表面ボクセル境界の位置を補正した頂点座標である。図7に示すベースボリューム702には、補正前の表面ボクセル境界の位置と、表面ボクセル境界の位置を座標補正することにより得た点群との対応付けが矢印により示されている。 Here, μ r is the average value at the positions of all base boundary points corresponding to one or more surface base voxels corresponding to a certain surface macrovoxel. Furthermore, σ r is the standard deviation at the positions of all base boundary points corresponding to one or more surface base voxels corresponding to the surface macrovoxel. Furthermore, p i is the position of the surface voxel boundary corresponding to the surface macrovoxel and corresponding to the boundary index i. Furthermore, μ p is the average value of the positions of one or more surface voxel boundaries corresponding to the surface macrovoxel. Furthermore, σ p is the standard deviation of the positions of one or more surface voxel boundaries corresponding to the surface macrovoxel. Furthermore, p i ' is the vertex coordinate obtained by correcting the position of the surface voxel boundary corresponding to the boundary index i. In the base volume 702 shown in FIG. 7, the correspondence between the position of the surface voxel boundary before correction and the point group obtained by coordinate correction of the position of the surface voxel boundary is indicated by arrows.
次に、S604にて、生成部150は、算出した頂点座標をリスト状に並べた表面点群を生成する。S604の後、生成部150は、図6に示すフローチャートの処理を終了する。なお、生成部150が表面ボクセル境界の位置を補正した頂点座標を算出する際に用いる式(1)は、あくまで一例である。生成部150は、ボクセル境界特徴量とベース特徴量とに基づいて、表面ボクセル境界の位置を補正した頂点座標を表面ボクセル境界毎に算出するものであれば、式(1)を用いるものに限定されない。なお、上述したように、ボクセル境界特徴量は、ある表面マクロボクセルに対応付いた全ての表面ボクセル境界の位置における最大値、最小値、平均、分散、標準偏差、中央値、最頻値、尖度、及び歪度等のうちの少なくとも1つの統計値で良い。また、ベース特徴量は、当該表面マクロボクセルに対応する1個以上の表面ベースボクセルに対応する全てのベース境界点の位置における最大値、最小値、平均、分散、標準偏差、中央値、最頻値、尖度、及び歪度等のうちの少なくとも1つの統計値で良い。 Next, in S604, the generating unit 150 generates a surface point group in which the calculated vertex coordinates are arranged in a list. After S604, the generating unit 150 ends the processing of the flowchart shown in FIG. 6. Note that the formula (1) used by the generating unit 150 when calculating the vertex coordinates with the position of the surface voxel boundary corrected is merely an example. The generating unit 150 is not limited to using the formula (1) as long as it calculates the vertex coordinates with the position of the surface voxel boundary corrected for each surface voxel boundary based on the voxel boundary feature and the base feature. Note that, as described above, the voxel boundary feature may be at least one statistical value of the maximum value, minimum value, mean, variance, standard deviation, median, mode, kurtosis, skewness, etc. at the positions of all surface voxel boundaries associated with a certain surface macrovoxel. In addition, the base feature may be at least one statistical value of the maximum value, minimum value, mean, variance, standard deviation, median, mode, kurtosis, skewness, etc. at the positions of all base boundary points corresponding to one or more surface base voxels corresponding to the surface macrovoxel.
以上のような構成により、データ処理装置100は、図5に示すベースボリューム506において、中黒の丸により示されている簡略化された表面点群を得ることができる。ベースボリューム506に示されている簡略化された表面点群における頂点の個数は、ベースボリューム505に示されているベース境界点の個数より少ないものとなる。一方、ベースボリューム506に示されている簡略化された表面点群は、ベースボリューム505に示されているベース境界点に基づいて得られる表面点群と同等又は略同等のものとなる。したがって、データ処理装置100によれば、オブジェクトの表面形状に対応する表面点群であって形状劣化を抑えた簡略化された表面点群を、高速に生成することができる。ここで、上述したように、データ処理装置100は、オブジェクトの2次元形状を表す2次元マップデータを処理対象とすることもできる。そのため、データ処理装置100によれば、オブジェクトの形状に対応する点群であって形状劣化を抑えた簡略化された点群を、高速に生成することが可能であることは言うまでもない。 With the above configuration, the data processing device 100 can obtain a simplified surface point group indicated by black circles in the base volume 506 shown in FIG. 5. The number of vertices in the simplified surface point group indicated in the base volume 506 is less than the number of base boundary points indicated in the base volume 505. On the other hand, the simplified surface point group indicated in the base volume 506 is equal to or approximately equal to the surface point group obtained based on the base boundary points indicated in the base volume 505. Therefore, according to the data processing device 100, a simplified surface point group that corresponds to the surface shape of an object and suppresses shape deterioration can be generated at high speed. Here, as described above, the data processing device 100 can also process two-dimensional map data that represents the two-dimensional shape of an object. Therefore, it goes without saying that the data processing device 100 can generate a simplified point group that corresponds to the shape of an object and suppresses shape deterioration at high speed.
なお、第1実施形態では、データ処理装置100は、ボクセル値が2値のボクセルで構成されたボリュームデータを処理対象としたが、ボクセル値が多値又は連続値のボクセルで構成されたボリュームデータを処理対象としてもよい。ベースボリュームのボクセル値が多値又は連続値である場合、例えば、ベース特定部140は、当該ボクセル値と予め定められた閾値とを比較することにより、表面ベースボクセルの特定、又はベース境界点の位置の特定を行う。また、当該閾値は、予めベース特定部140が保持したものであっても、取得部110が補助記憶装置314等から取得したものであってもよい。また、当該場合、例えば、簡略化部120は、ベースボリュームを簡略化する際に、マクロボクセルに対応する複数のベースボリュームの各ボクセル値と予め定められた閾値とを比較することにより、当該マクロボクセルのボクセル値を決定する。簡略化部120は、マクロボクセルに対応する複数のベースボリュームの各ボクセル値の合計値又は平均値等と予め定められた閾値とを比較することにより、当該マクロボクセルのボクセル値を決定してもよい。 In the first embodiment, the data processing device 100 processes volume data composed of voxels with binary voxel values, but may process volume data composed of voxels with multi-value or continuous voxel values. When the voxel values of the base volume are multi-value or continuous, for example, the base identification unit 140 identifies the surface base voxel or identifies the position of the base boundary point by comparing the voxel value with a predetermined threshold. The threshold may be one previously held by the base identification unit 140 or one acquired by the acquisition unit 110 from the auxiliary storage device 314 or the like. In this case, for example, when simplifying the base volume, the simplification unit 120 determines the voxel value of the macrovoxel by comparing each voxel value of the multiple base volumes corresponding to the macrovoxel with a predetermined threshold. The simplification unit 120 may determine the voxel value of the macrovoxel by comparing the sum or average value of each voxel value of multiple base volumes corresponding to the macrovoxel with a predetermined threshold value.
また、マクロボリュームのボクセル値が多値又は連続値である場合、例えば、マクロ特定部130は、当該ボクセル値と予め定められた閾値とを比較することにより、表面境界面の特定、又は表面ボクセル境界の位置の特定を行う。なお、ボクセル値が多値又は連続値のマクロボリュームは、例えば、簡略化部120がマクロボクセルに対応する複数のベースボリュームの各ボクセル値の平均値等を当該マクロボクセルのボクセル値とすることにより生成される。 In addition, when the voxel values of the macro volume are multi-valued or continuous, for example, the macro identification unit 130 identifies the surface boundary surface or the position of the surface voxel boundary by comparing the voxel values with a predetermined threshold value. Note that a macro volume with multi-valued or continuous voxel values is generated by, for example, the simplification unit 120 setting the average value of each voxel value of multiple base volumes corresponding to the macro voxel as the voxel value of the macro voxel.
[第2実施形態]
図8及び図9を参照して、第2実施形態に係るデータ処理装置100(以下「データ処理装置100a」と表記する。)について説明する。
[Second embodiment]
A data processing device 100 according to a second embodiment (hereinafter referred to as "data processing device 100a") will be described with reference to FIGS.
第1実施形態に係るデータ処理装置100は、複数のボクセルによりオブジェクトの形状を表すボリュームから、当該オブジェクトの表面に対応する簡略化された表面点群を示す情報を出力するものであった。これに対して、データ処理装置100aは、当該ボリュームから当該オブジェクトの表面に対応する簡略化されたメッシュ(以下「簡略メッシュ」という。)、又は当該簡略メッシュを生成可能な情報を出力するものである。 The data processing device 100 according to the first embodiment outputs information indicating a simplified surface point group corresponding to the surface of an object from a volume that represents the shape of the object using multiple voxels. In contrast, the data processing device 100a outputs a simplified mesh (hereinafter referred to as a "simplified mesh") corresponding to the surface of the object from the volume, or information that can generate the simplified mesh.
データ処理装置100aは、オブジェクトの2次元形状を表す2次元マップデータを取得し、当該オブジェクトの輪郭形状に対応する多角形を示す情報を出力するものであってもよい。データ処理装置100aが、オブジェクトの2次元形状を表す2次元マップデータを取得し、当該オブジェクトの輪郭形状に対応する多角形を示す情報を出力する形態については、3次元を2次元に減縮したものであるため説明を省略する。なお、第2実施形態におけるオブジェクト、ボリューム、ボクセル、点、点群、ポリゴン、及びメッシュの定義は、第2実施形態における定義と同様であるため、説明を省略する。 The data processing device 100a may acquire two-dimensional map data representing the two-dimensional shape of an object, and output information indicating a polygon corresponding to the contour shape of the object. The form in which the data processing device 100a acquires two-dimensional map data representing the two-dimensional shape of an object, and outputs information indicating a polygon corresponding to the contour shape of the object, is omitted here because it is a reduction of three dimensions to two dimensions. Note that the definitions of object, volume, voxel, point, point cloud, polygon, and mesh in the second embodiment are the same as those in the second embodiment, and therefore are omitted here.
データ処理装置100aは、第1実施形態に係るデータ処理装置100と同様に、図1に一例として示す取得部110、簡略化部120、マクロ特定部130、ベース特定部140、生成部150、及び出力部160を備える。なお、第2実施形態に係る取得部110及び簡略化部120は、第1実施形態に係る取得部110及び簡略化部120と同様のものであるため、説明を省略する。 The data processing device 100a, like the data processing device 100 according to the first embodiment, includes an acquisition unit 110, a simplification unit 120, a macro identification unit 130, a base identification unit 140, a generation unit 150, and an output unit 160, as shown as examples in FIG. 1. Note that the acquisition unit 110 and the simplification unit 120 according to the second embodiment are similar to the acquisition unit 110 and the simplification unit 120 according to the first embodiment, and therefore a description thereof will be omitted.
第2実施形態に係るマクロ特定部130(以下「マクロ特定部130a」と表記する。)は、第1実施形態に係るマクロ特定部130と同様に、複数の表面境界面の特定と、表面境界面のそれぞれに対応する表面ボクセル境界の位置の特定とを行う。また、マクロ特定部130aは、表面境界面と表面ボクセル境界の位置とを特定するのに加えて、表面ボクセル境界間の接続関係についても特定する。具体的には、例えば、マクロ特定部130aは、特定された複数の表面ボクセル境界のそれぞれを頂点とする複数の多角形面を特定することにより、表面ボクセル境界間の全ての接続関係を特定する。当該多角形面は、例えば、ポリゴンである。表面ボクセル境界を頂点とする多角形面を特定する処理は、例えば、仮想ボクセルの内部にオブジェクトの表面に対応する点群又は面を特定することが可能なMC法の一部の処理と同様の処理により実現することができる。なお、表面ボクセル境界を頂点とする多角形面を特定する処理は、表面ボクセル境界を頂点とする多角形面を特定可能なものであれば、MC法の一部の処理と同様の処理に限定されるものではない。 The macro specification unit 130 according to the second embodiment (hereinafter referred to as the "macro specification unit 130a"), like the macro specification unit 130 according to the first embodiment, specifies a plurality of surface boundary surfaces and specifies the positions of the surface voxel boundaries corresponding to each of the surface boundary surfaces. In addition to specifying the positions of the surface boundary surfaces and the surface voxel boundaries, the macro specification unit 130a also specifies the connection relationships between the surface voxel boundaries. Specifically, for example, the macro specification unit 130a specifies all the connection relationships between the surface voxel boundaries by specifying a plurality of polygonal surfaces having each of the specified plurality of surface voxel boundaries as a vertex. The polygonal surfaces are, for example, polygons. The process of specifying the polygonal surfaces having the surface voxel boundaries as vertices can be realized, for example, by a process similar to a part of the process of the MC method that can specify a point group or a surface corresponding to the surface of an object inside a virtual voxel. Note that the process for identifying polygonal surfaces with surface voxel boundaries as vertices is not limited to processes similar to some of the processes in the MC method, as long as it is possible to identify polygonal surfaces with surface voxel boundaries as vertices.
マクロ特定部130aは、特定した接続関係を示す接続情報を生成して、生成部150又は出力部160に出力する。接続情報とは、例えば、マクロ特定部130aが特定した多角形面毎に多角形面の頂点となる複数の表面ボクセル境界が属する表面境界面に対応する境界インデックスを互いに対応付けた境界インデックスの組合せをリスト状に並べたものである。マクロ特定部130aが特定する多角形面が三角形面である場合、接続情報は、3個の表面ボクセル境界が属する表面境界面に対応する境界インデックスを互いに対応付けたトライアングルリストとなる。 The macro specification unit 130a generates connection information indicating the specified connection relationships and outputs it to the generation unit 150 or the output unit 160. The connection information is, for example, a list of combinations of boundary indexes that correspond to the surface boundary surfaces to which the multiple surface voxel boundaries that are the vertices of each polygonal surface specified by the macro specification unit 130a belong. When the polygonal surface specified by the macro specification unit 130a is a triangular surface, the connection information is a triangle list that corresponds to the boundary indexes corresponding to the surface boundary surfaces to which the three surface voxel boundaries belong.
第2実施形態に係るベース特定部140(以下「ベース特定部140a」と表記する。)は、第1実施形態に係るベース特定部140と同様に、複数の表面ベースボクセルを特定する。また、ベース特定部140aは、第1実施形態に係るベース特定部140と同様に、表面ベースボクセルのそれぞれに対応するベース境界点の位置を特定する。さらに、ベース特定部140aは、第1実施形態に係るベース特定部140と同様に、表面マクロボクセル毎にベース特徴量を算出する。ただし、ベース特定部140aは、表面ベースボクセルと表面ベースボクセルに隣接するOFFボクセルのベースボクセルとの接触面の中心点等の接触面における予め定められた位置をベース境界点の位置として特定する。なお、当該接触面には、表面ベースボクセルと表面ベースボクセルに隣接するOFFボクセルのベースボクセルとの接触面に加えて、表面ベースボクセルとバウンディングボックスとの接触面を含むものとする。 The base identification unit 140 according to the second embodiment (hereinafter referred to as the "base identification unit 140a") identifies multiple surface base voxels in the same manner as the base identification unit 140 according to the first embodiment. Also, the base identification unit 140a identifies the position of the base boundary point corresponding to each surface base voxel in the same manner as the base identification unit 140 according to the first embodiment. Furthermore, the base identification unit 140a calculates the base feature amount for each surface macrovoxel in the same manner as the base identification unit 140 according to the first embodiment. However, the base identification unit 140a identifies a predetermined position on the contact surface, such as the center point of the contact surface between the surface base voxel and the base voxel of the OFF voxel adjacent to the surface base voxel, as the position of the base boundary point. Note that the contact surface includes the contact surface between the surface base voxel and the bounding box in addition to the contact surface between the surface base voxel and the base voxel of the OFF voxel adjacent to the surface base voxel.
ベース特定部140aは、以下の手法により、表面ベースボクセルと表面ベースボクセルに隣接するOFFボクセルのベースボクセルとの接触面におけるベース境界点の位置を特定してもよい。まず、ベース特定部140は、ベースボクセルを規定する複数の頂点のうちの1つが同一の位置に存在する8個のベースボクセルのそれぞれに属する予め定められた点を頂点とする仮想ボクセルをベースボクセルの頂点の位置毎に設定する。次に、ベース特定部140は、上述の8個のベースボクセルの各ボクセル値に基づいて、各仮想ボクセルの内部にオブジェクトの表面に対応する点群又は面を特定する。さらに、ベース特定部140は、特定した仮想ボクセルの内部の点群又は面に基づいて、表面ベースボクセルと表面ベースボクセルに隣接するOFFボクセルのベースボクセルとの接触面におけるベース境界点の位置を特定する。以下、ベース特定部140aは、表面ベースボクセルと表面ベースボクセルに隣接するOFFボクセルのベースボクセルとの接触面の中心点をベース境界点の位置として特定するものとして説明する。 The base identification unit 140a may identify the position of the base boundary point on the contact surface between the surface base voxel and the base voxel of the OFF voxel adjacent to the surface base voxel by the following method. First, the base identification unit 140 sets a virtual voxel whose vertex is a predetermined point belonging to each of the eight base voxels in which one of the multiple vertices defining the base voxel exists at the same position for each vertex position of the base voxel. Next, the base identification unit 140 identifies a point group or a surface corresponding to the surface of the object inside each virtual voxel based on each voxel value of the above-mentioned eight base voxels. Furthermore, the base identification unit 140 identifies the position of the base boundary point on the contact surface between the surface base voxel and the base voxel of the OFF voxel adjacent to the surface base voxel based on the point group or surface inside the identified virtual voxel. In the following description, the base identification unit 140a is assumed to identify the center point of the contact surface between the surface base voxel and the base voxel of the OFF voxel adjacent to the surface base voxel as the position of the base boundary point.
第2実施形態に係る生成部150(以下「生成部150a」と表記する。)は、第1実施形態に係る生成部150と同様に、簡略化された表面点群を生成する。生成部150aは、簡略化された表面点群を生成するのに加えて、オブジェクトの表面に対応する簡略メッシュを生成するものであってもよい。具体的には、例えば、生成部150aは、マクロ特定部130aにより生成された接続情報と、生成部150aにより生成された簡略化された表面点群とに基づいて、オブジェクトの表面に対応する簡略メッシュを生成する。より具体的には、例えば、まず、生成部150aは、接続情報が示す境界インデックスの組合せを参照して、表面ボクセル境界の組合せを特定する。次に、生成部150aは、表面点群が示す表面ボクセル境界の座標に基づいて、表面ボクセル境界の組合せにより構成されるポリゴンを接続情報が示す境界インデックスの組合せ毎に生成することにより、オブジェクトの表面に対応する簡略メッシュを生成する。 The generating unit 150 according to the second embodiment (hereinafter, referred to as the "generating unit 150a") generates a simplified surface point group in the same manner as the generating unit 150 according to the first embodiment. In addition to generating a simplified surface point group, the generating unit 150a may generate a simplified mesh corresponding to the surface of the object. Specifically, for example, the generating unit 150a generates a simplified mesh corresponding to the surface of the object based on the connection information generated by the macro specifying unit 130a and the simplified surface point group generated by the generating unit 150a. More specifically, for example, the generating unit 150a first identifies a combination of surface voxel boundaries by referring to the combination of boundary indexes indicated by the connection information. Next, the generating unit 150a generates a simplified mesh corresponding to the surface of the object by generating a polygon composed of the combination of surface voxel boundaries for each combination of boundary indexes indicated by the connection information based on the coordinates of the surface voxel boundaries indicated by the surface point group.
第2実施形態に係る出力部160(以下「出力部160a」と表記する。)は、生成部150aにより生成された簡略メッシュを示す情報を出力する。例えば、出力部160aが出力する簡略メッシュを示す情報は、簡略メッシュを示す画像信号であり、出力部160aは、当該画像信号を表示部315に出力することにより表示部315に表示させる。出力部160aは、生成部150aにより生成された簡略化された表面点群を示す情報と、マクロ特定部130aにより生成された接続情報とを出力するものであってもよい。この場合、ユーザは、データ処理装置100a、又は簡略化された表面点群を示す情報と接続情報とに基づいてメッシュを生成することが可能な他の装置を用いて、後から簡略メッシュを生成することができる。以下、生成部150aは簡略メッシュを生成し、出力部160aは簡略メッシュを示す情報を出力するものとして説明する。 The output unit 160 (hereinafter, referred to as "output unit 160a") according to the second embodiment outputs information indicating the simplified mesh generated by the generation unit 150a. For example, the information indicating the simplified mesh output by the output unit 160a is an image signal indicating the simplified mesh, and the output unit 160a outputs the image signal to the display unit 315 to display it. The output unit 160a may output information indicating the simplified surface point group generated by the generation unit 150a and the connection information generated by the macro specification unit 130a. In this case, the user can generate the simplified mesh later using the data processing device 100a or another device capable of generating a mesh based on the information indicating the simplified surface point group and the connection information. In the following description, the generation unit 150a generates the simplified mesh, and the output unit 160a outputs information indicating the simplified mesh.
図8及び図9を参照して、データ処理装置100aの動作について詳細に説明する。図8は、第2実施形態に係るデータ処理装置100(データ処理装置100a)の処理フローの一例を示すフローチャートである。図9は、図8に示すフローチャートの処理を説明するための説明図である。なお、図8及び図9において、図4及び図5と同様の構成又は処理については、同一の符号を用いて説明を省略する。 The operation of the data processing device 100a will be described in detail with reference to Figures 8 and 9. Figure 8 is a flowchart showing an example of a processing flow of the data processing device 100 (data processing device 100a) according to the second embodiment. Figure 9 is an explanatory diagram for explaining the processing of the flowchart shown in Figure 8. Note that in Figures 8 and 9, the same reference numerals are used for configurations or processing similar to those in Figures 4 and 5, and explanations thereof will be omitted.
まず、データ処理装置100aは、S401からS413までの処理を実行する。S413の後、S814にて、マクロ特定部130は、表面ボクセル境界を頂点とする多角形面を特定して接続情報を生成する。図9に示すマクロボリューム904には、図5に示すマクロボリューム504に示されている境界面配列と同様の境界面配列が示されている。また、マクロボリューム504には、表面ボクセル境界間の接続関係が境界面配列を結ぶ実線により示されている。 First, the data processing device 100a executes the processes from S401 to S413. After S413, in S814, the macro specification unit 130 specifies polygonal surfaces having surface voxel boundaries as vertices and generates connection information. The macro volume 904 shown in FIG. 9 shows a boundary surface array similar to the boundary surface array shown in the macro volume 504 shown in FIG. 5. In addition, in the macro volume 504, the connection relationships between surface voxel boundaries are shown by solid lines connecting the boundary surface arrays.
S814の後、データ処理装置100aは、S421の処理を実行する。S421の後、S822にて、ベース特定部140aは、表面ベースボクセル毎に、表面ベースボクセルと表面ベースボクセルに隣接するOFFボクセルのベースボクセルとの接触面におけるベース境界点の位置を特定する。図9に示すベースボリューム905には、ベース特定部140aにより特定された複数の表面ベースボクセルと、各表面ベースボクセルに対応するベース境界点とが示されている。図5に示すベースボリューム505に示されているベース境界点は、表面ベースボクセルの中心に位置するものであった。これに対して、図9に示すベースボリューム905に示されているベース境界点は、表面ベースボクセルと表面ベースボクセルに隣接するOFFボクセルのベースボクセルとの接触面に位置している。 After S814, the data processing device 100a executes the process of S421. After S421, in S822, the base identification unit 140a identifies the position of the base boundary point on the contact surface between the surface base voxel and the base voxel of the OFF voxel adjacent to the surface base voxel for each surface base voxel. The base volume 905 shown in FIG. 9 shows a plurality of surface base voxels identified by the base identification unit 140a and the base boundary points corresponding to each surface base voxel. The base boundary point shown in the base volume 505 shown in FIG. 5 was located at the center of the surface base voxel. In contrast, the base boundary point shown in the base volume 905 shown in FIG. 9 is located on the contact surface between the surface base voxel and the base voxel of the OFF voxel adjacent to the surface base voxel.
S822の後、データ処理装置100aは、S423及びS431の処理を順次実行する。なお、S431の処理において、生成部150aは、例えば、上述の式(1)を用いて簡略化された表面点群を生成する。S431の後、S832にて、生成部150aは、簡略メッシュを生成する。図9に示すベースボリューム906には、生成部150aにより生成された簡略化された表面点群が中黒の丸により示されている。また、ベースボリューム906には、生成された簡略メッシュが中黒の丸間を結ぶ実線により示されている。S832の後、S833にて、出力部160aは、生成部150aにより生成された簡略メッシュを示す情報を出力する。S833の後、データ処理装置100aは、図8に示すフローチャートの処理を終了する。 After S822, the data processing device 100a sequentially executes the processes of S423 and S431. In addition, in the process of S431, the generation unit 150a generates a simplified surface point group using, for example, the above-mentioned formula (1). After S431, in S832, the generation unit 150a generates a simplified mesh. In the base volume 906 shown in FIG. 9, the simplified surface point group generated by the generation unit 150a is indicated by black circles. In addition, in the base volume 906, the generated simplified mesh is indicated by solid lines connecting the black circles. After S832, in S833, the output unit 160a outputs information indicating the simplified mesh generated by the generation unit 150a. After S833, the data processing device 100a ends the process of the flowchart shown in FIG. 8.
以上のような構成により、データ処理装置100aは、図9に示すベースボリューム906において、中黒の丸により示されている簡略化された表面点群を得ることができる。ベースボリューム906に示されている簡略化された表面点群における頂点の個数は、ベースボリューム905に示されているベース境界点の個数より少ないものとなる。一方、ベースボリューム906に示されている簡略メッシュは、ベースボリューム505に示されているベース境界点に基づいて得られるメッシュと同等又は略同等のものとなる。したがって、データ処理装置100aによれば、オブジェクトの表面形状に対応する表面点群であって形状劣化を抑えた簡略化された表面点群を、高速に生成することができる。また、データ処理装置100aによれば、形状劣化を抑えた簡略メッシュをボリュームから高速に生成することができる。ここで、上述したように、データ処理装置100aは、オブジェクトの2次元形状を表す2次元マップデータを処理対象とすることもできる。そのため、データ処理装置100aによれば、オブジェクトの形状に対応する点群であって形状劣化を抑えた簡略化された点群を、高速に生成することが可能であることは言うまでもない。 With the above configuration, the data processing device 100a can obtain a simplified surface point group indicated by black circles in the base volume 906 shown in FIG. 9. The number of vertices in the simplified surface point group indicated in the base volume 906 is less than the number of base boundary points indicated in the base volume 905. On the other hand, the simplified mesh indicated in the base volume 906 is equivalent or approximately equivalent to the mesh obtained based on the base boundary points indicated in the base volume 505. Therefore, according to the data processing device 100a, a simplified surface point group that is a surface point group corresponding to the surface shape of an object and has suppressed shape deterioration can be generated at high speed. Furthermore, according to the data processing device 100a, a simplified mesh that has suppressed shape deterioration can be generated at high speed from a volume. Here, as described above, the data processing device 100a can also process two-dimensional map data that represents the two-dimensional shape of an object. Therefore, it goes without saying that the data processing device 100a can generate a simplified point group that is a point group corresponding to the shape of an object and has suppressed shape deterioration at high speed.
[その他の実施形態]
本開示は、上述の実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
[Other embodiments]
The present disclosure can also be realized by a process in which a program for implementing one or more of the 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. Also, the present disclosure can be realized by a circuit (e.g., ASIC) for implementing one or more of the functions.
なお、本開示はその開示の範囲内において、各実施形態の自由な組合せ、各実施形態の任意の構成要素の変形、又は、各実施形態において任意の構成要素の省略が可能である。 Within the scope of this disclosure, it is possible to freely combine the embodiments, modify any of the components of each embodiment, or omit any of the components of each embodiment.
100 データ処理装置、110 取得部、120 簡略化部、130 マクロ特定部、140 ベース特定部、150 生成部、160 出力部。 100 Data processing device, 110 Acquisition unit, 120 Simplification unit, 130 Macro identification unit, 140 Base identification unit, 150 Generation unit, 160 Output unit.
Claims (21)
前記第1情報に基づいて、前記第1単位領域より大きさが大きい複数の第2単位領域により前記オブジェクトの形状を表す第2情報を生成する第1生成手段と、
前記第1情報に基づいて、前記オブジェクトの外形に対応する複数の前記第1単位領域を特定する第1特定手段と、
前記第2情報に基づいて、互いに隣接する前記第2単位領域同士の境界であって前記オブジェクトの前記外形に対応する複数の前記境界を特定する第2特定手段と、
前記第1特定手段により特定された前記第1単位領域、及び前記第2特定手段により特定された前記境界に基づいて、前記オブジェクトの前記外形に対応する点群を生成する第2生成手段と、
を有し、
前記第1特定手段は、前記第1情報及び前記第2情報に基づいて、前記第1特定手段により特定された複数の前記第1単位領域のそれぞれを、前記第1単位領域の位置を含む前記第2単位領域、又は前記第1単位領域の位置に最も近傍な位置の前記第2単位領域に対応付けを行い、
前記第2生成手段は、前記第2単位領域毎に、前記第1特定手段により特定された前記第1単位領域のうち前記第2単位領域に対応付けられた前記第1単位領域、及び前記第2特定手段により特定された当該第2単位領域に対応する前記境界に基づいて、前記オブジェクトの前記外形に対応する前記点群を生成し、
前記第1特定手段は、前記第1単位領域を、当該第1単位領域の位置に最も近傍な位置の前記第2単位領域に対応付ける際に、前記第1単位領域の位置に最も近傍な位置の前記第2単位領域が複数ある場合は、前記第1単位領域を、前記第1単位領域の位置に最も近傍な位置の前記第2単位領域の全てに対応付けること
を特徴とするデータ処理装置。 an acquisition means for acquiring first information representing a shape of an object using a plurality of first unit regions;
a first generating means for generating second information representing a shape of the object using a plurality of second unit areas, the second unit areas being larger than the first unit areas, based on the first information;
a first specifying means for specifying a plurality of the first unit areas corresponding to an outer shape of the object based on the first information;
a second identification means for identifying a plurality of boundaries between the second unit areas adjacent to each other, the boundaries corresponding to the outer shape of the object, based on the second information;
a second generating means for generating a point cloud corresponding to the outer shape of the object based on the first unit area identified by the first identifying means and the boundary identified by the second identifying means;
having
the first specifying means, based on the first information and the second information, associates each of the plurality of first unit areas specified by the first specifying means with the second unit area including a position of the first unit area, or with the second unit area located closest to the position of the first unit area;
the second generation means generates, for each of the second unit areas, the point cloud corresponding to the outer shape of the object based on the first unit area associated with the second unit area among the first unit areas identified by the first identification means and the boundary corresponding to the second unit area identified by the second identification means;
When the first unit area corresponds to the second unit area located closest to the position of the first unit area, if there are a plurality of second unit areas located closest to the position of the first unit area, the first specifying means corresponds the first unit area to all of the second unit areas located closest to the position of the first unit area.
A data processing device comprising :
を特徴とする請求項1に記載のデータ処理装置。 The data processing device according to claim 1 , further comprising an output unit that outputs information indicating the point cloud generated by the second generation unit.
前記第1生成手段は、前記第1ボリュームに基づいて、前記第2情報として、前記第1ボクセルより大きさが大きい前記第2単位領域である複数の第2ボクセルにより前記オブジェクトの3次元形状を表す第2ボリュームを生成し、
前記第1特定手段は、前記第1ボリュームに基づいて、前記オブジェクトの前記外形に対応する複数の前記第1単位領域として、前記オブジェクトの表面に対応する複数の前記第1ボクセルを特定し、
前記第2特定手段は、前記第2ボリュームに基づいて、前記境界として、互いに隣接する前記第2ボクセル同士の境界面であって前記オブジェクトの表面に対応する複数の前記境界面を特定し、
前記第2生成手段は、前記第1特定手段により特定された前記第1ボクセル、及び前記第2特定手段により特定された前記境界面に基づいて、前記点群として、前記オブジェクトの表面形状に対応する表面点群を生成すること
を特徴とする請求項1に記載のデータ処理装置。 the acquiring means acquires, as the first information, a first volume that represents a three-dimensional shape of the object using a plurality of first voxels that are a plurality of the first unit regions;
the first generation means generates, as the second information, a second volume representing a three-dimensional shape of the object using a plurality of second voxels that are second unit regions larger in size than the first voxels, based on the first volume;
the first identification means identifies, based on the first volume, a plurality of first voxels corresponding to a surface of the object as a plurality of first unit regions corresponding to the outer shape of the object;
the second identification means identifies, as the boundary, a plurality of boundary surfaces between adjacent second voxels corresponding to a surface of the object, based on the second volume;
2. The data processing device according to claim 1, wherein the second generating means generates, as the point cloud, a surface point cloud corresponding to a surface shape of the object, based on the first voxel identified by the first identifying means and the boundary surface identified by the second identifying means.
を特徴とする請求項3に記載のデータ処理装置。 The data processing apparatus according to claim 3 , wherein the second generating means generates a mesh based on the group of surface points generated by the second generating means.
を特徴とする請求項4に記載のデータ処理装置。 The data processing apparatus according to claim 4 , further comprising: an output unit that outputs information indicating the mesh generated by the second generation unit.
前記第2特定手段は、前記第2特定手段により特定された前記境界面のそれぞれについて、前記境界面上に属する第2点であって前記境界面を特徴付ける前記第2点の位置を特定し、
前記第2生成手段は、前記第1特定手段により特定された前記第1ボクセルにおける前記第1点の位置、及び前記第2特定手段により特定された前記第2点の位置に基づいて、前記表面点群を生成すること
を特徴とする請求項3又は請求項4に記載のデータ処理装置。 The first identification means identifies, for each of the first voxels identified by the first identification means, a position of the first point that belongs to the first voxel and characterizes the first voxel;
The second identification means identifies, for each of the boundary surfaces identified by the second identification means, a position of a second point that belongs to the boundary surface and characterizes the boundary surface;
5. The data processing device according to claim 3, wherein the second generating means generates the surface point group based on a position of the first point in the first voxel identified by the first identifying means and a position of the second point identified by the second identifying means.
を特徴とする請求項3又は請求項4に記載のデータ処理装置。 5. The data processing device according to claim 3 , wherein the second specifying means specifies a contact surface between the second voxel of an OFF voxel and the second voxel of an ON voxel as the boundary surface corresponding to a surface of the object.
を特徴とする請求項6に記載のデータ処理装置。 The data processing apparatus according to claim 6 , wherein the second specifying means specifies a predetermined position on the boundary surface specified by the second specifying means as the position of the second point.
を特徴とする請求項6に記載のデータ処理装置。 7. The data processing device according to claim 6, wherein the second identification means identifies the position of the second point by identifying a point group or a surface corresponding to the surface of the object inside a virtual voxel having predetermined points belonging to each of the eight second voxels as vertices, based on each voxel value of the eight second voxels in which one of the multiple vertices defining the second voxel is located at the same position.
を特徴とする請求項3又は請求項4に記載のデータ処理装置。 5. The data processing apparatus according to claim 3 , wherein the first specifying means specifies the first voxel of ON voxels adjacent to the first voxel of OFF voxels as the first voxel corresponding to a surface of the object .
を特徴とする請求項6に記載のデータ処理装置。 7. The data processing apparatus according to claim 6 , wherein the first specifying means specifies a predetermined position within the first voxel specified by the first specifying means as the position of the first point.
を特徴とする請求項6に記載のデータ処理装置。 7. The data processing device according to claim 6, wherein the first identification means identifies, as the position of the first point, a predetermined position on a contact surface between the first voxel identified by the first identification means and the first voxel of an OFF voxel adjacent to the first voxel.
を特徴とする請求項3又は請求項4に記載のデータ処理装置。 5. The data processing device according to claim 3, wherein the second generation means generates the surface point group by associating each of the boundary surfaces identified by the second identification means with a second voxel that is present on the object side of two second voxels separated by the boundary surface, and calculating the position of a point corresponding to a surface of the object for each associated second voxel.
前記第2生成手段は、前記第2特定手段により特定された前記境界面により隔てられる2個の前記第2ボクセルのうちのオブジェクト側に存在する前記第2ボクセル毎に、前記第2ボクセルに対応する前記第2点の位置の分布を示す第2特徴量を算出し、前記第1特徴量及び前記第2特徴量に基づいて、前記表面点群を生成すること
を特徴とする請求項6に記載のデータ処理装置。 the first identifying means calculates, for each of the second voxels present on the object side among the two second voxels separated by the boundary surface identified by the second identifying means, a first feature amount indicating a distribution of positions of the first points in the first voxels identified by the first identifying means among the plurality of first voxels corresponding to the second voxels;
7. The data processing device according to claim 6, wherein the second generating means calculates a second feature value indicating a distribution of positions of the second points corresponding to the second voxels for each of the second voxels that are present on the object side of the two second voxels separated by the boundary surface identified by the second identifying means, and generates the surface point group based on the first feature value and the second feature value.
前記第2生成手段は、前記第2特徴量として、前記第2点の位置の最大値、最小値、平均、分散、標準偏差、中央値、最頻値、尖度、及び歪度のうちの少なくとも1つの統計値を算出すること
を特徴とする請求項14に記載のデータ処理装置。 the first identification means calculates, as the first feature amount, at least one statistical value of a maximum value, a minimum value, a mean, a variance, a standard deviation, a median, a mode, a kurtosis, and a skewness of the position of the first point;
15. The data processing device according to claim 14, wherein the second generating means calculates, as the second feature amount, at least one statistical value of a maximum value, a minimum value, a mean, a variance, a standard deviation, a median, a mode, a kurtosis, and a skewness of the position of the second point.
前記第2特定手段は、前記第2特定手段により特定された前記境界面のそれぞれについて、前記境界面上に属する第2点の位置を特定し、さらに、前記第2点の組合せであって前記組合せにおける前記第2点により規定される多角形面が前記オブジェクトの表面に対応する前記組合せを特定し、
前記第2生成手段は、前記第2特定手段により特定された前記第1ボクセルにおける前記第1点の位置、及び前記第2特定手段により特定された前記第2点の位置に基づいて、前記表面点群を生成し、さらに、前記第2特定手段により特定された前記組合せ、及び前記第2生成手段により生成された前記表面点群に基づいて、前記メッシュを生成すること
を特徴とする請求項4に記載のデータ処理装置。 The first identification means identifies a position of a first point in each of the first voxels identified by the first identification means;
the second identification means identifies a position of a second point belonging to each of the boundary surfaces identified by the second identification means, and further identifies a combination of the second points, in which a polygonal surface defined by the second points in the combination corresponds to a surface of the object;
5. The data processing device according to claim 4, wherein the second generating means generates the surface point group based on a position of the first point in the first voxel identified by the second identifying means and a position of the second point identified by the second identifying means, and further generates the mesh based on the combination identified by the second identifying means and the surface point group generated by the second generating means.
を特徴とする請求項16に記載のデータ処理装置。 17. The data processing device according to claim 16, wherein the second identification means identifies the combination of the second points by identifying a point group or a surface corresponding to the surface of the object inside a virtual voxel having predetermined points belonging to each of the eight second voxels as vertices, based on each voxel value of the eight second voxels in which one of the multiple vertices defining the second voxel is located at the same position.
前記第1情報に基づいて、前記第1単位領域より大きさが大きい複数の第2単位領域により前記オブジェクトの形状を表す第2情報を生成する第1生成手段と、a first generating means for generating second information representing a shape of the object using a plurality of second unit areas, the second unit areas being larger than the first unit areas, based on the first information;
前記第1情報に基づいて、前記オブジェクトの外形に対応する複数の前記第1単位領域を特定する第1特定手段と、a first specifying means for specifying a plurality of the first unit areas corresponding to an outer shape of the object based on the first information;
前記第2情報に基づいて、互いに隣接する前記第2単位領域同士の境界であって前記オブジェクトの前記外形に対応する複数の前記境界を特定する第2特定手段と、a second identification means for identifying a plurality of boundaries between the second unit areas adjacent to each other, the boundaries corresponding to the outer shape of the object, based on the second information;
前記第1特定手段により特定された前記第1単位領域、及び前記第2特定手段により特定された前記境界に基づいて、前記オブジェクトの前記外形に対応する点群を生成する第2生成手段と、a second generating means for generating a point cloud corresponding to the outer shape of the object based on the first unit area identified by the first identifying means and the boundary identified by the second identifying means;
を有し、having
前記取得手段は、前記第1情報として、複数の前記第1単位領域である複数の第1ボクセルにより前記オブジェクトの3次元形状を表す第1ボリュームを取得し、the acquiring means acquires, as the first information, a first volume that represents a three-dimensional shape of the object using a plurality of first voxels that are a plurality of the first unit regions;
前記第1生成手段は、前記第1ボリュームに基づいて、前記第2情報として、前記第1ボクセルより大きさが大きい前記第2単位領域である複数の第2ボクセルにより前記オブジェクトの3次元形状を表す第2ボリュームを生成し、the first generation means generates, as the second information, a second volume representing a three-dimensional shape of the object using a plurality of second voxels that are second unit regions larger in size than the first voxels, based on the first volume;
前記第1特定手段は、前記第1ボリュームに基づいて、前記オブジェクトの前記外形に対応する複数の前記第1単位領域として、前記オブジェクトの表面に対応する複数の前記第1ボクセルを特定し、the first identification means identifies, based on the first volume, a plurality of first voxels corresponding to a surface of the object as a plurality of first unit regions corresponding to the outer shape of the object;
前記第2特定手段は、前記第2ボリュームに基づいて、前記境界として、互いに隣接する前記第2ボクセル同士の境界面であって前記オブジェクトの表面に対応する複数の前記境界面を特定し、the second identification means identifies, as the boundary, a plurality of boundary surfaces between adjacent second voxels corresponding to a surface of the object, based on the second volume;
前記第2生成手段は、前記第1特定手段により特定された前記第1ボクセル、及び前記第2特定手段により特定された前記境界面に基づいて、前記点群として、前記オブジェクトの表面形状に対応する表面点群を生成し、the second generating means generates, as the point group, a surface point group corresponding to a surface shape of the object, based on the first voxel identified by the first identifying means and the boundary surface identified by the second identifying means;
前記第1特定手段は、前記第1特定手段により特定された前記第1ボクセルのそれぞれについて、前記第1ボクセルに属する第1点であって前記第1ボクセルを特徴付ける前記第1点の位置を特定し、The first identification means identifies, for each of the first voxels identified by the first identification means, a position of a first point that belongs to the first voxel and characterizes the first voxel;
前記第2特定手段は、前記第2特定手段により特定された前記境界面のそれぞれについて、前記境界面上に属する第2点であって前記境界面を特徴付ける前記第2点の位置を特定し、The second identification means identifies, for each of the boundary surfaces identified by the second identification means, a position of a second point that belongs to the boundary surface and characterizes the boundary surface;
前記第2生成手段は、前記第1特定手段により特定された前記第1ボクセルにおける前記第1点の位置、及び前記第2特定手段により特定された前記第2点の位置に基づいて、前記表面点群を生成することThe second generating means generates the surface point group based on the position of the first point in the first voxel identified by the first identifying means and the position of the second point identified by the second identifying means.
を特徴とするデータ処理装置。A data processing device comprising:
前記第1情報に基づいて、前記第1単位領域より大きさが大きい複数の第2単位領域により前記オブジェクトの形状を表す第2情報を生成する第1生成工程と、
前記第1情報に基づいて、前記オブジェクトの外形に対応する複数の前記第1単位領域を特定する第1特定工程と、
前記第2情報に基づいて、互いに隣接する前記第2単位領域同士の境界であって前記オブジェクトの前記外形に対応する複数の前記境界を特定する第2特定工程と、
前記第1特定工程により特定された前記第1単位領域、及び前記第2特定工程により特定された前記境界に基づいて、前記オブジェクトの前記外形に対応する点群を生成する第2生成工程と、
を有し、
前記第1特定工程では、前記第1情報及び前記第2情報に基づいて、前記第1特定工程により特定された複数の前記第1単位領域のそれぞれを、前記第1単位領域の位置を含む前記第2単位領域、又は前記第1単位領域の位置に最も近傍な位置の前記第2単位領域に対応付けを行い、
前記第2生成工程では、前記第2単位領域毎に、前記第1特定工程により特定された前記第1単位領域のうち前記第2単位領域に対応付けられた前記第1単位領域、及び前記第2特定工程により特定された当該第2単位領域に対応する前記境界に基づいて、前記オブジェクトの前記外形に対応する前記点群を生成し、
前記第1特定工程では、前記第1単位領域を、当該第1単位領域の位置に最も近傍な位置の前記第2単位領域に対応付ける際に、前記第1単位領域の位置に最も近傍な位置の前記第2単位領域が複数ある場合は、前記第1単位領域を、前記第1単位領域の位置に最も近傍な位置の前記第2単位領域の全てに対応付けること
を特徴とするデータ処理方法。 an acquisition step of acquiring first information representing a shape of an object using a plurality of first unit regions;
a first generation step of generating second information representing a shape of the object using a plurality of second unit areas, the second unit areas being larger than the first unit areas, based on the first information;
a first identification step of identifying a plurality of the first unit areas corresponding to an outer shape of the object based on the first information;
a second identification step of identifying a plurality of boundaries between the second unit areas adjacent to each other, the boundaries corresponding to the outer shape of the object, based on the second information;
a second generation step of generating a point cloud corresponding to the outer shape of the object based on the first unit area identified in the first identification step and the boundary identified in the second identification step;
having
In the first specifying step, each of the first unit areas specified in the first specifying step is associated with the second unit area including a position of the first unit area or with the second unit area located closest to the position of the first unit area, based on the first information and the second information;
In the second generating step, for each of the second unit areas, the point cloud corresponding to the outer shape of the object is generated based on the first unit area associated with the second unit area among the first unit areas identified in the first identifying step, and the boundary corresponding to the second unit area identified in the second identifying step;
In the first specifying step, when associating the first unit area with the second unit area located closest to the position of the first unit area, if there are a plurality of second unit areas located closest to the position of the first unit area, the first unit area is associated with all of the second unit areas located closest to the position of the first unit area.
1. A data processing method comprising:
前記第1情報に基づいて、前記第1単位領域より大きさが大きい複数の第2単位領域により前記オブジェクトの形状を表す第2情報を生成する第1生成工程と、a first generation step of generating second information representing a shape of the object using a plurality of second unit areas, the second unit areas being larger than the first unit areas, based on the first information;
前記第1情報に基づいて、前記オブジェクトの外形に対応する複数の前記第1単位領域を特定する第1特定工程と、a first identification step of identifying a plurality of the first unit areas corresponding to an outer shape of the object based on the first information;
前記第2情報に基づいて、互いに隣接する前記第2単位領域同士の境界であって前記オブジェクトの前記外形に対応する複数の前記境界を特定する第2特定工程と、a second identification step of identifying a plurality of boundaries between the second unit areas adjacent to each other, the boundaries corresponding to the outer shape of the object, based on the second information;
前記第1特定工程により特定された前記第1単位領域、及び前記第2特定工程により特定された前記境界に基づいて、前記オブジェクトの前記外形に対応する点群を生成する第2生成工程と、a second generation step of generating a point cloud corresponding to the outer shape of the object based on the first unit area identified in the first identification step and the boundary identified in the second identification step;
を有し、having
前記取得工程では、前記第1情報として、複数の前記第1単位領域である複数の第1ボクセルにより前記オブジェクトの3次元形状を表す第1ボリュームを取得し、In the acquiring step, a first volume expressing a three-dimensional shape of the object is acquired using a plurality of first voxels which are a plurality of the first unit regions as the first information;
前記第1生成工程では、前記第1ボリュームに基づいて、前記第2情報として、前記第1ボクセルより大きさが大きい前記第2単位領域である複数の第2ボクセルにより前記オブジェクトの3次元形状を表す第2ボリュームを生成し、In the first generation step, a second volume is generated as the second information based on the first volume, the second volume being represented by a plurality of second voxels which are second unit regions larger than the first voxels, and the second volume represents a three-dimensional shape of the object;
前記第1特定工程では、前記第1ボリュームに基づいて、前記オブジェクトの前記外形に対応する複数の前記第1単位領域として、前記オブジェクトの表面に対応する複数の前記第1ボクセルを特定し、In the first identification step, a plurality of first voxels corresponding to a surface of the object are identified as a plurality of first unit regions corresponding to the outer shape of the object based on the first volume;
前記第2特定工程では、前記第2ボリュームに基づいて、前記境界として、互いに隣接する前記第2ボクセル同士の境界面であって前記オブジェクトの表面に対応する複数の前記境界面を特定し、In the second identification step, a plurality of boundary surfaces are identified as the boundary, the boundary surfaces being boundary surfaces between adjacent second voxels and corresponding to a surface of the object, based on the second volume;
前記第2生成工程では、前記第1特定工程により特定された前記第1ボクセル、及び前記第2特定工程により特定された前記境界面に基づいて、前記点群として、前記オブジェクトの表面形状に対応する表面点群を生成し、In the second generation step, a surface point group corresponding to a surface shape of the object is generated as the point group based on the first voxel identified in the first identification step and the boundary surface identified in the second identification step;
前記第1特定工程では、前記第1特定工程により特定された前記第1ボクセルのそれぞれについて、前記第1ボクセルに属する第1点であって前記第1ボクセルを特徴付ける前記第1点の位置を特定し、In the first identification step, for each of the first voxels identified by the first identification step, a position of the first point that belongs to the first voxel and characterizes the first voxel is identified;
前記第2特定工程では、前記第2特定工程により特定された前記境界面のそれぞれについて、前記境界面上に属する第2点であって前記境界面を特徴付ける前記第2点の位置を特定し、In the second identification step, for each of the boundary surfaces identified in the second identification step, a position of the second point that belongs to the boundary surface and characterizes the boundary surface is identified;
前記第2生成工程では、前記第1特定工程により特定された前記第1ボクセルにおける前記第1点の位置、及び前記第2特定工程により特定された前記第2点の位置に基づいて、前記表面点群を生成することIn the second generation step, the surface point group is generated based on the position of the first point in the first voxel identified in the first identification step and the position of the second point identified in the second identification step.
を特徴とするデータ処理方法。1. A data processing method comprising:
請求項1乃至18のいずれか1項に記載のデータ処理装置の各手段として動作させるためのプログラム。 Computer,
A program for causing the data processing device according to any one of claims 1 to 18 to operate as each of the means.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021077450A JP7710885B2 (en) | 2021-04-30 | 2021-04-30 | DATA PROCESSING APPARATUS, DATA PROCESSING METHOD, AND PROGRAM |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021077450A JP7710885B2 (en) | 2021-04-30 | 2021-04-30 | DATA PROCESSING APPARATUS, DATA PROCESSING METHOD, AND PROGRAM |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022171063A JP2022171063A (en) | 2022-11-11 |
| JP7710885B2 true JP7710885B2 (en) | 2025-07-22 |
Family
ID=83945869
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021077450A Active JP7710885B2 (en) | 2021-04-30 | 2021-04-30 | DATA PROCESSING APPARATUS, DATA PROCESSING METHOD, AND PROGRAM |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7710885B2 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002074386A (en) | 2000-08-30 | 2002-03-15 | Ricoh Co Ltd | Three-dimensional shape generation method and storage medium storing program for implementing the method |
| US20190197765A1 (en) | 2017-12-22 | 2019-06-27 | Magic Leap, Inc. | Method of occlusion rendering using raycast and live depth |
| WO2020071114A1 (en) | 2018-10-02 | 2020-04-09 | ソニー株式会社 | Image processing device and method |
-
2021
- 2021-04-30 JP JP2021077450A patent/JP7710885B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002074386A (en) | 2000-08-30 | 2002-03-15 | Ricoh Co Ltd | Three-dimensional shape generation method and storage medium storing program for implementing the method |
| US20190197765A1 (en) | 2017-12-22 | 2019-06-27 | Magic Leap, Inc. | Method of occlusion rendering using raycast and live depth |
| JP2021507403A (en) | 2017-12-22 | 2021-02-22 | マジック リープ, インコーポレイテッドMagic Leap,Inc. | Cache and update dense 3D reconstruction data |
| WO2020071114A1 (en) | 2018-10-02 | 2020-04-09 | ソニー株式会社 | Image processing device and method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022171063A (en) | 2022-11-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6600485B1 (en) | Polygon data generation method and image display apparatus using same | |
| US8217962B2 (en) | Single-pass bounding box calculation | |
| US7812837B2 (en) | Reduced Z-buffer generating method, hidden surface removal method and occlusion culling method | |
| US8072452B1 (en) | Efficient multi-resolution curve rendering | |
| US7948487B2 (en) | Occlusion culling method and rendering processing apparatus | |
| GB2537972A (en) | Systems and methods for soft shadowing in 3-D rendering | |
| JP2011238213A (en) | Hierarchical bounding of displaced parametric curves | |
| CN115984476B (en) | A texture-based 3D model clipping method | |
| EP2410492A2 (en) | Optimal point density using camera proximity for point-based global illumination | |
| JP2015515059A (en) | Method for estimating opacity level in a scene and corresponding apparatus | |
| JP2022171068A (en) | DATA PROCESSING DEVICE, DATA PROCESSING METHOD, AND PROGRAM | |
| KR20140073951A (en) | Apparatus and method of rendering bezier curve | |
| US8717356B2 (en) | Display processing method and apparatus | |
| US11087511B1 (en) | Automated vectorization of a raster image using a gradient mesh with arbitrary topology | |
| KR101032397B1 (en) | 3D shape representation device and method using spherical coordinate system | |
| CN118967902A (en) | Method and device for rendering virtual objects | |
| US11436796B2 (en) | Three-dimensional shape data processing apparatus and non-transitory computer readable medium | |
| US20230038647A1 (en) | Anti-aliasing two-dimensional vector graphics using a compressed vertex buffer | |
| JP7710885B2 (en) | DATA PROCESSING APPARATUS, DATA PROCESSING METHOD, AND PROGRAM | |
| JP5798357B2 (en) | Image processing apparatus and image processing method | |
| JP2019159904A (en) | Texture mapping device and program for texture mapping | |
| JP6294700B2 (en) | Image processing apparatus and image processing method | |
| CN108090953B (en) | Region-of-interest reconstruction method, system and computer-readable storage medium | |
| US20140146042A1 (en) | Apparatus and method for processing primitive in three-dimensional (3d) graphics rendering system | |
| JP2006235839A (en) | Image processor and image processing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240425 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250207 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250325 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250523 |
|
| 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: 20250610 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250709 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7710885 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |