Image generation error

image generation error

I'm using GeoServer + PostGIS and I got an image generation error when I test my layer in WMS GetMap request. With Live, you can build a working mobile ML prototype in minutes. - Propagate image generation error message to JS from native · pytorch/[email protected] However, for many tasks, error accumulation, which can be produced in the progress of image reconstruction, affects the realism and quality of.

Image generation error - are absolutely

Legal Notices

Image generation failed. Exit code: 1 on Microsoft Windows 10 Enterprise LTSC #25927

Describe the bug

I would like to build a native executable from Quarkus guide on Microsoft Windows 10 Enterprise LTSC 2019 10.0.17763 Build 17763 with mandrel-java17-22.1.0.0-Final.
All prerequisites are set up including initialized Microsoft Native Tools for Visual Studio.

However when I run the following command I get exception.

Expected behavior

Successfully built native image from Quarkus guide.

Actual behavior

Running the following command in getting-started directory on local environment.

I get the exception

It is worth mentioning that another error appears before that

How to Reproduce?

No response

Output of or

Microsoft Windows 10 Enterprise LTSC Version 10.0.17763 Build 17763

Output of

openjdk 17.0.3 2022-04-19 OpenJDK Runtime Environment Temurin-17.0.3+7 (build 17.0.3+7) OpenJDK 64-Bit Server VM Temurin-17.0.3+7 (build 17.0.3+7, mixed mode, sharing)

GraalVM version (if different from Java)

No response

Quarkus version or git rev

2.9.2.Final

Build tool (ie. output of or )

Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537) Maven home: C:\Users\rprodan.m2\wrapper\dists\apache-maven-3.8.4-bin\52ccbt68d252mdldqsfsn03jlf\apache-maven-3.8.4 Java version: 17.0.3, vendor: Eclipse Adoptium, runtime: C:\Program Files\Java\mandrel-java17-22.1.0.0-Final Default locale: en_GB, platform encoding: Cp1250 OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

Additional information

No response

Contact and Chat

JP5834317B2 - Error image generation method - Google Patents

[第1実施形態]
[構成]
次に、本発明の第1実施形態について図面を参照して詳細に説明する。 [First Embodiment]
[Constitution]
Next, a first embodiment of the present invention will be described in detail with reference to the drawings.

図1は、本実施形態に係る誤差画像生成方法を実現する為のシステムの構成の一例を示すブロック図である。三次元測定機1により、ワーク2の被測定曲面(自由曲面)をランダムに測定又は倣い測定して得られた計測点列(x,y,z)は、演算処理装置であるコンピュータ20に入力される。なお、計測点列(x,y,z)は、他の形状測定機から取得されたものであっても良いし、計測済みデータを記憶する記憶装置から読み出された計測点列(x,y,z)であっても良い。   FIG. 1 is a block diagram showing an example of the configuration of a system for realizing the error image generation method according to this embodiment. A measurement point sequence (x, y, z) obtained by randomly measuring or copying the surface to be measured (free-form surface) of the workpiece 2 by the three-dimensional measuring machine 1 is input to the computer 20 which is an arithmetic processing unit. Is done. The measurement point sequence (x, y, z) may be acquired from another shape measuring machine, or the measurement point sequence (x, y) read from the storage device that stores the measured data. y, z).

コンピュータ20には、CADシステム3又は記憶装置11から出力された自由曲面データ(設計データ)も入力されている。自由曲面データは、例えばベジェ(Bezier)やNURBS(Non-Uniform Rational B-Spline)等のコントロールポイントの行列[xij],[yij],[zij]で表現されている。   The computer 20 also receives free-form surface data (design data) output from the CAD system 3 or the storage device 11. The free-form surface data is expressed by a matrix [xij], [yij], [zij] of control points such as Bezier and NURBS (Non-Uniform Rational B-Spline).

コンピュータ20は、記憶装置11に記憶された誤差画像生成プログラムの実行により、次の各機能を実現する。   The computer 20 implements the following functions by executing the error image generation program stored in the storage device 11.

すなわち、第1の点群/誤差算出部4は、三次元測定機1から出力された計測点列(x,y,z)に対応する自由曲面データの曲面パラメータ空間(u,v)上の点群を第1の点群(u,v)として算出し、各計測点と設計値との誤差データ(u,v,e)を算出する。誤差データ(u,v,e)は自由曲面データの曲面パラメータ空間上の計測点位置(u、v)及びその位置における誤差データeを含んでいる。   That is, the first point group / error calculation unit 4 is on the curved surface parameter space (u, v) of the free curved surface data corresponding to the measurement point sequence (x, y, z) output from the coordinate measuring machine 1. The point group is calculated as the first point group (u, v), and error data (u, v, e) between each measurement point and the design value is calculated. The error data (u, v, e) includes the measurement point position (u, v) on the surface parameter space of the free-form surface data and error data e at that position.

第1の三角形分割部5は、第1の点群/誤差算出部4から出力された第1の点群(u,v)を曲面パラメータ空間(u,v)上において三角形分割し、複数の第1の三角形データを生成すると共に、前記第1の点群(u,v)の外郭多角形である凸包データを生成する。尚、第1の三角形データの各頂点(u1,v1),(u2,v2),(u3,v3)には、誤差データ(u1,v1,e1)、誤差データ(u2,v2,e2)及び誤差データ(u3,v3,e3)が対応している。   The first triangulation unit 5 triangulates the first point group (u, v) output from the first point group / error calculation unit 4 on the curved surface parameter space (u, v), and outputs a plurality of points. First triangular data is generated, and convex hull data which is an outer polygon of the first point group (u, v) is generated. Note that each vertex (u1, v1), (u2, v2), (u3, v3) of the first triangle data has error data (u1, v1, e1), error data (u2, v2, e2) and Error data (u3, v3, e3) corresponds.

格子点生成部6は、予め設定された間隔で、曲面パラメータ空間に格子点列(u,v)を生成し出力する。第2の点群生成/誤差補間部7は、格子点生成部6から出力された格子点列(u,v)のうち、第1の三角形分割部5で求められた凸包に含まれるものを選択し、第2の点群(u,v)として出力する。また、第2の点群/誤差補間部7は、第1の点群/誤差算出部4から出力された誤差データ(u,v,e)及び第1の三角形分割部5で分割された第1の三角形データから、第2の点群の各点が、第1の三角形のうちどの三角形に含まれるかを判断し、その点を含む第1の三角形の頂点の誤差データ(u,v,e)を用いた補間処理を行って、前記第2の点群の各点の誤差データ(u,v,e)を算出する。   The lattice point generation unit 6 generates and outputs a lattice point sequence (u, v) in the curved surface parameter space at preset intervals. The second point group generation / error interpolation unit 7 is included in the convex hull obtained by the first triangulation unit 5 in the grid point sequence (u, v) output from the grid point generation unit 6. Is output as the second point group (u, v). The second point group / error interpolation unit 7 includes the error data (u, v, e) output from the first point group / error calculation unit 4 and the first triangulation unit 5 divided by the error data (u, v, e). From the triangle data of 1, it is determined which of the first triangles each point of the second point group is included in, and error data (u, v, An interpolation process using e) is performed to calculate error data (u, v, e) of each point of the second point group.

第2の三角形分割部8は、第1の点群に第2の点群を加えた点群に対して、再度三角形分割を行い、第1の三角形データよりも細かい複数の第2の三角形データを生成する。ここで生成される第2の三角形データと、それらの各頂点の誤差データから、最終的に生成される三次元画像の形状が決定される。   The second triangulation unit 8 performs triangulation again on the point group obtained by adding the second point group to the first point group, and a plurality of second triangle data finer than the first triangle data. Is generated. The shape of the finally generated three-dimensional image is determined from the second triangle data generated here and the error data of each vertex.

三次元画像生成部9は、CADシステム3又は記憶装置11から出力された自由曲面データ及び第2の三角形分割部8から出力された第2の三角形データを用いて三次元画像を生成する。ここで生成される三次元画像は、第2の三角形分割部8から出力された第2の三角形データの各頂点の誤差データ(u,v,e)に応じて自由曲面を変形させた誤差画像(誤差マップ)を含んでいる。尚、自由曲面データと誤差画像とは独立している為、自由曲面上で誤差画像をより強く変形させて誤差eを強調したり、曲面パラメータ平面上の誤差データのみを出力したりすることも可能である。更に誤差画像は、自由曲面を変形させて生成するのではなく、誤差の強度を色彩、矢印等によって表現することによって生成することも可能である。出力装置10は、三次元画像生成部9から出力された画像データを表示・出力する。出力装置10としては、ディスプレイやプリンタ等が適用可能である。   The three-dimensional image generation unit 9 generates a three-dimensional image using the free-form surface data output from the CAD system 3 or the storage device 11 and the second triangle data output from the second triangulation unit 8. The three-dimensional image generated here is an error image obtained by deforming a free-form surface according to error data (u, v, e) of each vertex of the second triangle data output from the second triangle dividing unit 8. (Error map) is included. Since the free-form surface data and the error image are independent, it is possible to emphasize the error e by deforming the error image more strongly on the free-form surface, or to output only the error data on the curved surface parameter plane. Is possible. Furthermore, the error image can be generated not by deforming the free-form surface but by expressing the intensity of the error by a color, an arrow or the like. The output device 10 displays and outputs the image data output from the 3D image generation unit 9. As the output device 10, a display, a printer, or the like can be applied.

[動作]
図2は本実施形態に係る誤差画像生成方法の処理内容を示すフローチャート、図3〜図10は本実施形態に係る三次元画像生成方法の内容を説明する為の図である。以下、図2〜10を参照して、本実施形態に係る誤差画像生成方法について説明する。 [Operation]
FIG. 2 is a flowchart showing the processing contents of the error image generation method according to this embodiment, and FIGS. 3 to 10 are diagrams for explaining the contents of the three-dimensional image generation method according to this embodiment. Hereinafter, the error image generation method according to the present embodiment will be described with reference to FIGS.

まず、計測点列(x,y,z)と自由曲面データとに対して位置合わせ処理を行い、計測点列(x,y,z)を曲面パラメータ空間(u,v)上の第1の点群に変換し、各点における誤差データ(u,v,e)を算出する(S1)。   First, alignment processing is performed on the measurement point sequence (x, y, z) and the free-form surface data, and the measurement point sequence (x, y, z) is the first in the curved surface parameter space (u, v). It converts into a point group and calculates error data (u, v, e) at each point (S1).

位置合わせ処理としては、例えばベストフィット計算等種々の方法が適用可能である。すなわち、CADシステム3から出力される自由曲面データは、自由曲面の生成にベジェ(Bezier)曲線を使用した場合には、例えば、(n+1)×(m+1)のコントロールポイントの行列[xij],[yij],[zij]にて定義され、三次元空間への変換式は、次の数1のようになる。   As the alignment processing, various methods such as best fit calculation can be applied. That is, the free-form surface data output from the CAD system 3 is, for example, a (n + 1) × (m + 1) control point matrix [xij], [ yij] and [zij], and the conversion formula to the three-dimensional space is as shown in the following equation (1).

上記で定義される自由曲面上の点群のうち、計測点列(x,y,z)の各計測点との距離が最短の自由曲面上の点を探索し、計測点と自由曲面上の点とのずれ量及び回転量を算出する。これにより自由曲面を移動させる。この操作を再帰的に実行することにより、図3に示すように、自由曲面に沿って×印で示す計測点列が配置される。   From the point group on the free-form surface defined above, a point on the free-form surface with the shortest distance from each measurement point of the measurement point sequence (x, y, z) is searched, and the measurement point and the free-form surface are searched. The amount of deviation from the point and the amount of rotation are calculated. This moves the free-form surface. By executing this operation recursively, as shown in FIG. 3, a measurement point sequence indicated by x is arranged along the free-form surface.

計測点列(x,y,z)に対応する自由曲面データの位置(設計上の位置)が算出されたら、次に計測点列(x,y,z)に対応する曲面パラメータ空間上の位置(u,v)を数1の関数により算出する。これにより、図4に示すように、曲面パラメータ空間上に計測点列に対応した第1の点群データ(u,v)が求められる。また、このとき各計測点と自由曲面上の設計点との距離が誤差eとして求められ、第1の点群データ(u,v)にそれぞれ対応させた誤差データ(u,v,e)となる。   Once the position (design position) of the free-form surface data corresponding to the measurement point sequence (x, y, z) is calculated, the next position on the curved surface parameter space corresponding to the measurement point sequence (x, y, z) (U, v) is calculated by the function of Equation 1. Thereby, as shown in FIG. 4, the first point group data (u, v) corresponding to the measurement point sequence is obtained on the curved surface parameter space. At this time, the distance between each measurement point and the design point on the free-form surface is obtained as an error e, and error data (u, v, e) respectively corresponding to the first point group data (u, v) and Become.

続いて、図4に示す通り、生成された第1の点群データ(u,v)に対し、曲面パラメータ空間において第1の三角形分割を実行する(S2)。第1の三角形分割の方法としては、Delaunay分割等の方法が適用可能である。Delaunay分割によって、複数の第1の三角形データ(u1〜u3,v1〜v3,e1〜e3)が生成され、第1の点群データ(u,v)を内部に含む外郭の多角形である凸包データが生成される。   Subsequently, as shown in FIG. 4, the first triangulation is executed in the curved surface parameter space for the generated first point group data (u, v) (S2). As a first triangulation method, a method such as Delaunay division can be applied. A plurality of first triangular data (u1 to u3, v1 to v3, e1 to e3) are generated by Delaunay division, and a convex shape that is an outer polygon that includes the first point cloud data (u, v) inside. Parcel data is generated.

次に、図5に示す通り、曲面パラメータ空間(u,v)に、u,v方向に所定の間隔で格子点を生成し、ステップS2において算出された凸包データに含まれる格子点列(u,v)を第2の点群データ(u,v)として選択する。第2の点群データは、第1の点群データにより生成された第1の三角形のいずれかに内包されている。したがって、第2の点群が含まれる第1の三角形の各頂点の誤差データ(u,v,e)から補間処理により第2の点群の各点の誤差データ(u,v,e)を算出する(S3)。第2の点群(u,v)は第1の点群データ(u,v)と共に後に三次元画像を構成する三角形ポリゴンの頂点となる。従って、格子のサイズを密にするほど生成される三次元画像は高精度になる。尚、補間処理の方法としては重心座標による方法や、バーンスタイン多項式と曲面方程式による方法等、種々の方法が適用可能であるが、本実施形態においては重心座標による線形補完を用いた例について示している。   Next, as shown in FIG. 5, grid points are generated in the curved surface parameter space (u, v) at predetermined intervals in the u and v directions, and grid point sequences (included in the convex hull data calculated in step S2 ( u, v) is selected as the second point cloud data (u, v). The second point cloud data is included in one of the first triangles generated by the first point cloud data. Therefore, error data (u, v, e) of each point of the second point group is obtained by interpolation from the error data (u, v, e) of each vertex of the first triangle including the second point group. Calculate (S3). The second point group (u, v), together with the first point group data (u, v), becomes the vertex of a triangular polygon that will form a three-dimensional image later. Therefore, the three-dimensional image generated becomes denser as the size of the lattice becomes denser. Various methods such as a method based on barycentric coordinates and a method based on Bernstein polynomials and curved surface equations can be applied as an interpolation processing method. In this embodiment, an example using linear interpolation based on barycentric coordinates is shown. ing.

ステップS3の更に詳細な処理の内容の一例を図6に示す。まず、選択された格子点(u,v)が凸包データの内部に含まれるか否かを判定する(S31)。例えば、三角形パッチのトポロジーをWinged-Edge構造を用いて表現すれば、このWinged-Edge構造を辿ることにより、格子点を含む第1の三角形データを高速に探索することができる。この内部判定の方法を以下に示す。   An example of the details of the more detailed processing in step S3 is shown in FIG. First, it is determined whether or not the selected grid point (u, v) is included in the convex hull data (S31). For example, if the topology of a triangle patch is expressed using a Winged-Edge structure, the first triangle data including lattice points can be searched at high speed by following this Winged-Edge structure. This internal determination method is shown below.

即ち、図7に示す通り、格子点から半直線H1を設定し、半直線H1と凸包データとの交点CPの数を求める。求まった交点CPの数が偶数であった場合には格子点が外部にあるものと判定し、図7の様に交点CPの数が奇数であった場合には格子点が内部にあるものと判定する(S31)。   That is, as shown in FIG. 7, a half line H1 is set from the lattice points, and the number of intersection points CP between the half line H1 and the convex hull data is obtained. When the obtained number of intersection points CP is an even number, it is determined that the lattice point is outside, and when the number of intersection points CP is an odd number as shown in FIG. 7, the lattice point is inside. Determine (S31).

格子点が凸包データの外部と判定された場合には、その格子点は補間処理には使用しない(S31)。   When it is determined that the grid point is outside the convex hull data, the grid point is not used for the interpolation process (S31).

格子点が凸包データの内部に含まれていた場合には、その格子点を含む第1の三角形データを求める(S32,S33)。即ち、まず、格子点からの半直線H1と凸包境界辺との交点CPを求める。次に、この交点CPから三角形パッチのWinged edge構造を辿り、格子点を含む第1の三角形データを探す。図7の例では、交点CPをエッジに含む第1の三角形データT1からT1→T2→T3と辿って第1の三角形データT3が探索される。   When the lattice point is included in the convex hull data, first triangle data including the lattice point is obtained (S32, S33). That is, first, an intersection point CP between the half line H1 from the lattice point and the convex hull boundary is obtained. Next, the Winged edge structure of the triangle patch is traced from this intersection point CP, and the first triangle data including the lattice point is searched. In the example of FIG. 7, the first triangle data T3 is searched by tracing from the first triangle data T1 including the intersection point CP as an edge to T1 → T2 → T3.

この様な処理によれば、凸包の境界に対する計算が2回必要であり、この計算時間が全体に占める割合が大きいが、全三角形に対する計算に比べれば格段に少ないので、適切な三角形データを迅速に見つけることが可能である。   According to such a process, the calculation for the boundary of the convex hull is required twice, and the ratio of the calculation time to the whole is large, but it is much less than the calculation for all triangles. It is possible to find it quickly.

しかし、このような2回の独立した三角形分割を行わず、第1の三角形分割の後、格子点の追加毎に格子点を含む三角形を分割し、分割の情報を格子点追加毎に変化するツリー構造で持つようにしても良い。この場合、格子点を含む三角形の検索をその時点でのツリー構造を用いて高速に行うことができる。   However, without performing such two independent triangulations, after the first triangulation, the triangle including the grid points is divided for each addition of the grid points, and the division information is changed for each addition of the grid points. You may make it have a tree structure. In this case, a search for a triangle including a lattice point can be performed at high speed using the tree structure at that time.

次に、重心座標による線形補間を行って誤差eを算出し(S34)、第2の点群の誤差データ(u,v,e)に追加する(S35)。以上の処理を全ての格子点について行う(S36、S37)。尚、格子点(u,v)の間隔はユーザーによって適宜設定される。   Next, an error e is calculated by performing linear interpolation based on the barycentric coordinates (S34), and added to the error data (u, v, e) of the second point group (S35). The above processing is performed for all grid points (S36, S37). The interval between the grid points (u, v) is set as appropriate by the user.

ステップS34の、重心座標による線形補間について、図8を参照して説明する。格子点p(u,v)を含む三角形の頂点を、それぞれ点a(u1,v1)、点b(u2,v2)及び点c(u3,v3)とし、点aの誤差をe1、点bの誤差をe2、点cの誤差をe3とする。この時、格子点p(u,v)の誤差eは、以下の式で与えられる。   The linear interpolation based on the barycentric coordinates in step S34 will be described with reference to FIG. The vertices of the triangle including the lattice point p (u, v) are point a (u1, v1), point b (u2, v2) and point c (u3, v3), respectively, and the error of point a is e1, point b Let e2 be the error and e3 be the error at the point c. At this time, the error e of the lattice point p (u, v) is given by the following equation.

ただし、U、V、及びWは以下の式によって与えられる。   However, U, V, and W are given by the following equations.

次に、第1の点群データ(u,v)及び第2の点群データ(u,v)に対して第2の三角形分割を行い、図9に示すような、第2の三角形データ(u1〜u3,v1〜v3,e1〜e3)を生成する(S4)。具体的には、ステップS2と同様にDelaunay分割による方法等が適用可能である。尚、ステップS4におけるDelaunay分割は第1の点群データ(u,v)及び第2の点群データ(u,v)に対して行うため、ステップS2における第1のDelaunay分割よりも細かい第2の三角形データ(u1〜u3,v1〜v3,e1〜e3)が生成される。次に、生成された三角形データ(u1〜u3,v1〜v3,e1〜e3)、誤差データ(u,v,e)及び自由曲面データを用いて誤差画像(誤差マップ)を含む三次元画像を生成し、出力装置10において出力する(S5)。   Next, a second triangulation is performed on the first point group data (u, v) and the second point group data (u, v), and the second triangle data ( u1-u3, v1-v3, e1-e3) are generated (S4). Specifically, a method using Delaunay division or the like can be applied as in step S2. Since the Delaunay division in step S4 is performed on the first point cloud data (u, v) and the second point cloud data (u, v), the second finer than the first Delaunay division in step S2. Triangle data (u1 to u3, v1 to v3, e1 to e3) are generated. Next, a three-dimensional image including an error image (error map) is generated using the generated triangle data (u1 to u3, v1 to v3, e1 to e3), error data (u, v, e), and free-form surface data. It produces Support image generation error

watch the video

How to repair corrupted JPEG file - Complete Guide for all JPG file issues

0 Comments

Leave a Comment