Ore body virtual section and drilling data generation method and ore body contour line intelligent generation method
By converting and simulating the three-dimensional data of the ore body model and combining it with artificial intelligence technology to generate high-quality virtual ore body profile and borehole data, the problem of low efficiency of traditional methods is solved, and the generation of ore body outlines with high accuracy and reliability is achieved.
Patent Information
- Application Number
- CN202511524536.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-24
- Publication Date
- 2026-02-13
- Estimated Expiration
- 2045-10-24
AI Technical Summary
Existing methods for ore body contour delineation are inefficient, unreliable, and inaccurate. Artificial intelligence solutions are limited by scarce and low-quality real data and cannot be effectively applied to ore body contour generation.
By acquiring the 3D model file of the ore body, performing polyhedral data structure conversion and model alignment, and equally spaced sectioning along the long side, the contour line is calculated and the borehole position is rendered to generate virtual sectioning and borehole data of the ore body. The ore body contour line intelligent generation model is then constructed by combining the diffusion model and Unet network.
It achieves highly reliable and accurate virtual sectioning and borehole data generation of ore bodies, supports the training of intelligent ore body contour generation models, improves data quality and consistency, and is suitable for machine learning training.
Smart Images

Figure CN120997246B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of mines, and particularly relates to a method for virtually cutting a mineral body and generating drilling data and a method for intelligently generating a mineral body contour line. BACKGROUND
[0002] In the field of mineral exploration technology, the delineation of a mineral body contour line has always been a key work in the field of mineral exploration. Therefore, the accurate and reliable delineation of a mineral body contour line is of great significance.
[0003] At present, the traditional delineation scheme of a mineral body contour line still adopts a manual delineation scheme; that is, a geological engineer delineates and draws a mineral body contour line according to the obtained cutting and drilling data of the mineral body, according to the geological rules and working experience. However, such a manual delineation scheme is not only time-consuming and laborious, but also has relatively poor reliability and accuracy.
[0004] In recent years, artificial intelligence schemes have developed rapidly, and therefore some researchers have applied artificial intelligence schemes to the field of mineral body contour line generation and have achieved certain results. However, the performance of an artificial intelligence scheme is directly related to the training data of the corresponding mineral body contour line; the more data and the higher the data quality, the better the performance of the corresponding artificial intelligence scheme obtained by training. However, the real data of a mineral body contour line (including drilling data and corresponding contour line data) is extremely scarce at present, and the data quality is poor, which seriously affects the application of artificial intelligence schemes in the field of mineral body contour line generation. SUMMARY
[0005] One of the purposes of the present application is to provide a method for virtually cutting a mineral body and generating drilling data, which has high reliability and good accuracy.
[0006] The second purpose of the present application is to provide a method for intelligently generating a mineral body contour line, which includes the method for virtually cutting a mineral body and generating drilling data.
[0007] The method for virtually cutting a mineral body and generating drilling data provided by the present application includes the following steps:
[0008] S1. Obtain a three-dimensional model file of a mineral body model and corresponding cutting / drilling parameters;
[0009] S2. Based on the three-dimensional model file obtained in step S1, extract all three-dimensional entities and convert them into a polyhedral data structure, calculate the minimum enclosing rectangle of the polyhedral data structure, and align the model;
[0010] S3. Equally interval cut along the long side direction of the model, and extract the corresponding contour line;
[0011] S4. For each profile, rendering of the contour line and calculation of the contour boundary are performed, and the drilling position is calculated according to the drilling parameters to realize simulation of the drilling path;
[0012] S5. According to the obtained data information, a profile cutting result file and a corresponding image file are generated, and generation of the ore body virtual profile cutting and drilling data is completed.
[0013] The step S1 specifically comprises the following steps:
[0014] A file in DMF format of a three-dimensional model of the ore body model is obtained;
[0015] The obtained profile cutting / drilling parameters include a profile interval , a drilling interval , and a pixel accuracy in the width direction .
[0016] The step S2 comprises the following steps:
[0017] The three-dimensional model file obtained in the step S1 is loaded, the three-dimensional model file is regarded as a layered database, and all layers are traversed to extract all three-dimensional entities;
[0018] Each three-dimensional entity is converted into a polyhedron data structure, corresponding boundary information is calculated, and is projected onto an XY plane to obtain a two-dimensional point set;
[0019] A minimum enclosing rectangle of the two-dimensional point set and four corresponding corner points are calculated, and a unit vector corresponding to each of the long side and the short side of the minimum enclosing rectangle is set;
[0020] A rotation matrix is constructed to map an original coordinate system of the three-dimensional model file to a target coordinate system taking the minimum enclosing rectangle as a reference to realize alignment of the model.
[0021] The step S2 specifically comprises the following steps:
[0022] The three-dimensional model file obtained in the step S1 is loaded; the three-dimensional model file is regarded as a layered database D; all layers are traversed to extract a three-dimensional entity list , wherein is the total number of three-dimensional entities;
[0023] Each three-dimensional entity is converted into a corresponding polyhedron data structure ; boundary of the polyhedron data structure is calculated, wherein , wherein is the minimum value of the x coordinate of all points in the polyhedron data structure , for polyhedral data structure the maximum value of x coordinate of all points in for polyhedral data structure the minimum value of y coordinate of all points in for polyhedral data structure the maximum value of y coordinate of all points in for polyhedral data structure the minimum value of z coordinate of all points in for polyhedral data structure the maximum value of z coordinate of all points in
[0024] projecting to XY plane to get two-dimensional point set is wherein is the i-th point in two-dimensional point set is the x-axis coordinate of is the y-axis coordinate of N is the total number of points in two-dimensional point set
[0025] calculating the minimum enclosing rectangle of two-dimensional point set the four corner points of the minimum enclosing rectangle are calculated by minimum area rectangle algorithm
[0026] defining the first vector , the second vector wherein represents the coordinate of the point; at the same time, it is stipulated that the modulus of is the long side of the minimum enclosing rectangle, the modulus of is the short side of the minimum enclosing rectangle; normalizing the first vector and the second vector to get the first unit vector and the second unit vector ;
[0027] setting the origin of the minimum enclosing rectangle wherein is the set vector and ;
[0028] in order to align the model, setting the rotation matrix This maps the original coordinate system of the 3D model file to the target coordinate system based on the minimum bounding rectangle; in the original coordinate system, the origin... The coordinates are x-axis unit vector for y-axis unit vector for z-axis unit vector for In the target coordinate system, the origin The coordinates are x-axis Represented as y-axis Represented as z-axis Represented as ;
[0029] The rotation matrix is calculated using the following formula. :
[0030]
[0031] In the formula The coordinates of the point in the target coordinate system; These are the coordinates of the point in the original coordinate system;
[0032] The resulting rotation matrix Multiply by a two-dimensional point set The points in the two-dimensional point set Transform the points in the target coordinate system to obtain a two-dimensional point set in the target coordinate system. ;
[0033] Based on the two-dimensional point set of the target coordinate system Calculations yielded The minimum bounding rectangle as The initial bounding box of the target coordinate system; the initial bounding box of the target coordinate system is expanded outward by a set margin to obtain the bounding box of the target coordinate system. .
[0034] Step S3 includes the following steps:
[0035] According to the set profile interval The number of cutting planes is calculated along the long side of the model.
[0036] The model cutting function is used to cut the polyhedron data structure at equal intervals, and the corresponding polyline set is extracted.
[0037] Insert a rectangular boundary into the polyline set and extract the corresponding contour line.
[0038] The step S3 specifically comprises the following steps:
[0039] Cutting along the long edge direction of the model at equal intervals; the number of cutting planes Indicated as Wherein is the length of the long edge of the model, is the floor symbol; meanwhile, set the number of cutting planes The minimum value is 1;
[0040] Starting distance Indicated as The starting distance is defined as the distance from the first cutting plane to the starting point of the long edge of the model;
[0041] For the jth cutting plane, the value of j is The origin of the cutting plane is indicated as The normal vector is indicated as ; wherein is the origin of the minimum bounding rectangle, is the length of the short edge of the minimum bounding rectangle;
[0042] Set the working plane , indicated as , wherein represents any point in space, and the points satisfying the equation constitute the working plane ;
[0043] Cutting is performed using the model cutting function to obtain the output polyhedral data structure , and the cutting is set to forward cutting with a tolerance of 0;
[0044] Extract the polyline set from the polyhedral data structure , The element in is a point sequence;
[0045] The orthogonal projection of the center point c on the cutting plane is calculated using the following formula :
[0046]
[0047] In the formula, is the projection center point; is the working plane normal vector; Indicates the modulus of the vector, i.e.
[0048] Finally, the multi-segment of the rectangular boundary is obtained, and the corresponding contour line is extracted.
[0049] The step S4 specifically comprises the following steps.
[0050] For each profile, the resolution and pixel of the image are calculated.
[0051] For each profile, the contour image RGB channel matrix, the drilling image RGB channel matrix and the combined image RGB channel matrix are constructed.
[0052] For each element in the multi-segment line set , the line segment endpoints are traversed to map to the pixel coordinates to realize the rendering of the contour line. The contour boundary is calculated, and the number of drillings is calculated according to the contour boundary and the set drilling interval.
[0053]
[0054] For each drilling, the starting point and the ending point of the vertical line segment are set, and the intersection set of the vertical line segment and all contour lines is solved.
[0055] According to the obtained intersection set, the intersection is connected to complete the generation and rotation of the drilling segment.
[0056] Finally, the drilling line is obtained and saved to complete the simulation of the drilling path.
[0057] The step S4 specifically comprises the following steps.
[0058] For each profile, the image resolution is calculated: the image width is , the image height is , the width direction pixel size is , the height direction pixel size is ; wherein is the maximum value of the x-axis coordinate of the target coordinate system frame , the minimum value of the x-axis coordinate of the target coordinate system frame , the maximum value of the y-axis coordinate of the target coordinate system frame , the minimum value of the y-axis coordinate of the target coordinate system frame , the image width , and the image height . The rounding up symbol;
[0059] For each profile, construct the RGB channel matrix of the contour image. RGB channel matrix of borehole image and combined image RGB channel matrix ;
[0060] Rendering outlines: For polyline sets Each element in traversal endpoints of all line segments And mapped to the pixel x-coordinate and pixel ordinate : , ,in For the endpoints of the line segment Quantity, For the endpoints of the line segment Quantity, intermediate variable and Then, the Bresenham algorithm is used to draw lines of the specified color, completing the rendering of the outline.
[0061] Calculate the contour boundary for ,in For the outline boundary exist Minimum value in the direction, For the outline boundary exist Maximum value in direction, For the outline boundary exist Minimum value in the direction, For the outline boundary exist Maximum value in the direction; calculate the number of boreholes. for And set the number of holes The minimum value is 1;
[0062] Starting drilling distance Represented as Starting drilling distance Define a two-dimensional coordinate system along the X direction of the cutting plane, starting from the minimum coordinates. Initial offset distance to the first borehole, starting borehole distance Used to determine the starting point of the drilling path;
[0063] For the m-th borehole, the starting point s of the vertical line segment is defined as... The endpoint e is wherein is a second intermediate variable and ;
[0064] Calculate the intersection set of the vertical line segment and all contour lines ; Sort the intersection set along the Y direction from the start point s of the vertical line segment to get the sorted intersection set ;
[0065] Judge:
[0066] If is even, connect the intersection points in pairs to draw the drilling segment of the set color, and supplement the gray line segment between adjacent pairs and the boundary part; then, supplement the drilling of the left and right boundaries with the set margin to ensure the integrity of the coverage area; wherein represents the number of intersections of the vertical line segment and the contour line;
[0067] If is odd, it is considered abnormal, the tolerance ( - ) / 100 is added along the X direction of the section plane, and the calculation is re-performed;
[0068] Finally, the drilling line is obtained and saved to complete the simulation of the drilling path.
[0069] The application further provides a mineral body contour line intelligent generation method comprising the mineral body virtual sectioning and drilling data generation method, comprising the following steps:
[0070] S1. Using the mineral body virtual sectioning and drilling data generation method to generate a training data set;
[0071] S2. Based on a diffusion model and an Unet network, an initial model for intelligent generation of a mineral body contour line is constructed;
[0072] S3. Using the training data set obtained in step S1, the initial model for intelligent generation of a mineral body contour line constructed in step S2 is trained to obtain a model for intelligent generation of a mineral body contour line;
[0073] S4. Using the model for intelligent generation of a mineral body contour line obtained in step S3, the intelligent generation of a contour line of an actual target mineral body is performed.
[0074] The mineral body virtual sectioning and drilling data generation method and the mineral body contour line intelligent generation method provided by the application can not only realize the generation of mineral body virtual sectioning and drilling data and the training of the corresponding intelligent generation model of a mineral body contour line, but also have higher reliability and better accuracy. BRIEF DESCRIPTION OF DRAWINGS
[0075] Figure 1 The method flow diagram of the data generation method of the present application.
[0076] Figure 2 The virtual sectioning diagram of the ore body model of the embodiment of the data generation method of the present application; wherein Figure 2 (a) is a diagram of the three-dimensional model of the ore body, Figure 2 (b) is a diagram of the virtual sectioning of the ore body model.
[0077] Figure 3 The generation effect diagram of the No. 3 sectioning surface of the embodiment of the data generation method of the present application; wherein, Figure 3 (a) is a diagram of the sectioning contour line of the ore body, Figure 3 (b) is a diagram of the virtual drilling generation process, Figure 3 (c) is a diagram of the virtual drilling generation result.
[0078] Figure 4 The generation effect diagram of the No. 6 sectioning surface of the embodiment of the data generation method of the present application; wherein, Figure 4 (a) is a diagram of the sectioning contour line of the ore body, Figure 4 (b) is a diagram of the virtual drilling generation process, Figure 4 (c) is a diagram of the virtual drilling generation result.
[0079] Figure 5 The method flow diagram of the contour line intelligent generation method of the present application.
[0080] Figure 6 The comparison diagram of the contour line intelligent generation method of the present application and the artificial interpretation contour line; wherein, Figure 6 (a) is a diagram of the drilling of drilling 1, Figure 6 (b) is a diagram of the contour line of drilling 1 generated by the present application, Figure 6 (c) is a diagram of the contour line of drilling 1 interpreted by a professional engineer, Figure 6 (d) is a diagram of the drilling of drilling 2, Figure 6 (e) is a diagram of the contour line of drilling 2 generated by the present application, Figure 6 (f) is a diagram of the contour line of drilling 2 interpreted by a professional engineer. DETAILED DESCRIPTION
[0081] As Figure 1 shown is the method flow diagram of the data generation method of the present application: the ore body virtual sectioning and drilling data generation method disclosed by the present application comprises the following steps:
[0082] S1. Obtain a three-dimensional model file of the ore body model and corresponding sectioning / drilling parameters; specifically including the following steps:
[0083] Obtain a three-dimensional model DMF format file of the ore body model;
[0084] Obtain sectioning / drilling parameters, including section interval , drilling interval , and width direction pixel accuracy .
[0085] S2. Based on the three-dimensional model file obtained in step S1, extract all three-dimensional entities and convert them into a polyhedral data structure, calculate the minimum bounding rectangle of the polyhedral data structure, and align the model; including the following steps:
[0086] Load the three-dimensional model file obtained in step S1, treat the three-dimensional model file as a layered database, and traverse all layers to extract all three-dimensional entities;
[0087] Convert each three-dimensional entity into a polyhedral data structure, calculate the corresponding boundary information, and project it onto the XY plane to obtain a two-dimensional point set;
[0088] Calculate the minimum bounding rectangle and the corresponding four corner points of the two-dimensional point set, and set the unit vectors corresponding to the long and short sides of the minimum bounding rectangle;
[0089] Construct a rotation matrix to map the original coordinate system of the three-dimensional model file to the target coordinate system based on the minimum bounding rectangle to achieve model alignment.
[0090] In specific implementation, the following steps can be taken:
[0091] Load the three-dimensional model file obtained in step S1; treat the three-dimensional model file as a layered database D; traverse all layers to extract all three-dimensional entity lists for , where is the total number of three-dimensional entities;
[0092] Convert each three-dimensional entity into a corresponding polyhedral data structure ; calculate the boundary of the polyhedral data structure , where , where is the minimum x-coordinate of all points in the polyhedral data structure , is the maximum x-coordinate of all points in the polyhedral data structure , is the minimum y-coordinate of all points in the polyhedral data structure The minimum value of the y coordinate of all points in the middle, is a polyhedron data structure The maximum value of the y coordinate of all points in the middle, is a polyhedron data structure The minimum value of the z coordinate of all points in the middle, is a polyhedron data structure The maximum value of the z coordinate of all points in the middle;
[0093] Projecting to the XY plane (i.e. set the Z axis coordinates of the left and right points to 0) to obtain a two-dimensional point set is , wherein is the i-th point in the two-dimensional point set , is the x axis coordinate of , is the y axis coordinate of , and N is the total number of points in the two-dimensional point set ;
[0094] Calculate the minimum enclosing rectangle of the two-dimensional point set ; the coordinates of the four corner points of the minimum enclosing rectangle are calculated by the minimum area rectangle algorithm ;
[0095] Define the first vector as , and the second vector as , wherein represents the coordinates of the point; at the same time, it is stipulated that The modulus of is the long side of the minimum enclosing rectangle, The modulus of is the short side of the minimum enclosing rectangle; normalize the first vector and the second vector to obtain the first unit vector and the second unit vector ;
[0096] Set the origin of the minimum enclosing rectangle as , wherein is the set vector and ;
[0097] In order to align the model, set the rotation matrix , which maps the original coordinate system of the three-dimensional model file to the target coordinate system with the minimum enclosing rectangle as the reference; in the original coordinate system, the coordinates of the origin are , and the x axis unit vector is y-axis unit vector for z-axis unit vector for In the target coordinate system, the origin The coordinates are x-axis Represented as y-axis Represented as z-axis Represented as ;
[0098] The rotation matrix is calculated using the following formula. :
[0099]
[0100] In the formula The coordinates of the point in the target coordinate system; These are the coordinates of the points in the original coordinate system; in practice, a direct axis alignment method can be used.
[0101] The resulting rotation matrix Multiply by a two-dimensional point set The points in the two-dimensional point set Transform the points in the target coordinate system to obtain a two-dimensional point set in the target coordinate system. ;
[0102] Based on the two-dimensional point set of the target coordinate system Calculations yielded The minimum bounding rectangle as The initial bounding box of the target coordinate system; the initial bounding box of the target coordinate system is expanded outward by a set margin to obtain the bounding box of the target coordinate system. For example, if the margin is set to 10%, the primary bounding box of the target coordinate system will be expanded outwards. To ensure that potential cutting errors can be accommodated. , This represents the maximum x-axis coordinate of each point within the primary bounding box of the target coordinate system. This represents the minimum x-axis coordinate of each point within the primary bounding box of the target coordinate system. This represents the maximum y-axis coordinate of each point within the primary bounding box of the target coordinate system. This represents the minimum y-axis coordinate of each point within the primary bounding box of the target coordinate system.
[0103] S3. Perform equally spaced cuts along the long side of the model and extract the corresponding contour lines; including the following steps:
[0104] According to the set profile interval The number of cutting planes is calculated based on the direction of the long side of the model; here, the direction of the long side of the model is defined as the bounding box obtained in step S2. The direction of the longer side;
[0105] The model cutting function is used to cut the polyhedron data structure at equal intervals, and the corresponding polyline set is extracted.
[0106] Insert a rectangular boundary into the polyline set and extract the corresponding outline; the rectangular boundary is defined as an extended form (boundary box) based on the minimum bounding rectangle (MER). The generated closed polyline is defined on each cutting plane, and its purpose is to provide a reference boundary for the cutting results.
[0107] In practice, the following steps can be taken:
[0108] Perform equally spaced cuts along the long side of the model. Here, the long side of the model is defined as the bounding box obtained in step S2. The direction of the long side; the number of cutting planes Represented as ,in The length of the longer side of the model. Sets the floor sign; also sets the number of cutting planes. The minimum value is 1;
[0109] Starting distance Represented as The starting distance Defined as the distance from the first cutting plane to the starting point of the long side of the model;
[0110] For the j-th cutting plane, the value of j is... The origin of the cutting plane Represented as normal vector Represented as ;in The origin of the smallest enclosing rectangle. The length of the shorter side of the smallest enclosing rectangle;
[0111] Set the work plane , represented as ,in Represent any point in space that satisfies the equation The points constitute the working plane ;
[0112] The model is cut using a cutting function to obtain the output polyhedral data structure. , the cutting is set to forward cutting, and the tolerance is 0; the model cutting function is defined as thModelFunc.CutModelData function in DmPyBindInterface;
[0113] extracting a polygonal data structure from a polyhedral data structure , in the form of a point sequence ;
[0114] The orthogonal projection of the center point c on the cutting plane is calculated using the following formula :
[0115]
[0116] where is the projection center point; is the working plane normal vector; denotes the norm of , i.e., the length of the vector;
[0117] Finally, the multi-segment lines of the rectangular boundary are obtained, and the corresponding contour lines are extracted;
[0118] In this step, the purpose of defining the working plane is to determine the model cutting position and generate the contour line, and the two-dimensional contour multi-segment line is extracted through the model cutting function and the focus calculation of the working plane , and by defining the working plane , a reference frame can also be set to provide a plane coordinate system for subsequent drilling simulation and image rendering;
[0119] In this step, the purpose of calculating is to set a positioning reference point to provide a geometric center reference point for the contour line of each cutting plane, to ensure that the spatial positioning of the contour line is consistent with the overall coordinate system of the model; at the same time, the output is standardized: through the projection center point, consistent DMF files and image outputs are generated to ensure the relative position of the contour line and the boundary multi-segment line on the plane.
[0120] S4. For each section, render the contour line and calculate the contour boundary, and calculate the drilling position according to the drilling parameters to realize the simulation of the drilling path; including the following steps:
[0121] For each section, calculate the resolution and pixels of the image;
[0122] For each section, construct the contour image RGB channel matrix, the drilling image RGB channel matrix, and the combined image RGB channel matrix;
[0123] For polyline sets Each element in The endpoints of the line segments are traversed to map to pixel coordinates in order to render the outline.
[0124] Calculate the contour boundary and, based on the contour boundary and the set drilling interval... The number of boreholes was calculated.
[0125] For each borehole, define the start and end points of the vertical line segment, and solve for the set of intersection points of the vertical line segment with all contour lines;
[0126] Based on the obtained set of intersections, the intersections are connected to complete the generation and rotation of the borehole section;
[0127] Finally, the drill line is obtained and saved to complete the simulation of the drill path.
[0128] In practice, the following steps can be taken:
[0129] For each profile, calculate the image resolution: image width for Image height for Pixel size in width direction for Pixel size in the height direction for ;in Border of the target coordinate system The maximum value of the x-axis coordinate. Border of the target coordinate system The minimum value of the x-axis coordinate. Border of the target coordinate system The maximum value of the y-axis coordinate. Border of the target coordinate system The minimum value of the y-axis coordinate. Image width, Image height; The rounding up symbol;
[0130] For each profile, construct the RGB channel matrix of the contour image. RGB channel matrix of borehole image and combined image RGB channel matrix ;
[0131] Rendering outlines: For polyline sets Each element in traversal endpoints of all line segments and mapped to pixel horizontal coordinate and pixel vertical coordinate : , where is the x-component of the line segment endpoint, is the y-component of the line segment endpoint, is the x-component of the line segment endpoint, is the y-component of the line segment endpoint, is an intermediate variable and ; then, draw a line of a specified color (preferably red) using the Bresenham algorithm (i.e., OpenCV's line function); complete the rendering of the contour line;
[0132] The contour boundary is calculated as where is the minimum value of the contour boundary in the direction, is the maximum value of the contour boundary in the direction, is the minimum value of the contour boundary in the direction, is the maximum value of the contour boundary in the direction; the number of drill holes is calculated as and the number of drill holes is set to at least 1;
[0133] The starting drill hole distance is represented as The starting drill hole distance defines a two-dimensional X-direction along the section plane, from the minimum coordinate to the initial offset distance of the first drill hole, the starting drill hole distance is used to determine the starting point of the drill hole path;
[0134] For the mth drill hole, the starting point s of the vertical line segment is defined as and the endpoint e is where is a second intermediate variable and ;
[0135] The intersection set of the vertical line segment with all contour lines is calculated, which can be implemented using the Intersect function, using parameterized line intersection, and setting the tolerance to ; and Along the Y direction (the Y direction refers to the three-dimensional ore body model on the cutting plane) The vertical axis on the coordinate plane corresponds to the Y-axis of the model (in the aligned coordinate system). Starting from the starting point s, the points are sorted to obtain the set of sorted intersection points. ;
[0136] Make a judgment:
[0137] like If the number is even, the intersection points are connected in pairs to draw drill segments of a set color (preferably red), and gray line segments are added between adjacent pairs and at the boundaries; then, drills are added to the left and right boundaries with a set margin (preferably 5%) to ensure the integrity of the covered area; wherein, Indicates the number of intersections between the vertical line segment and the outline;
[0138] like If the number is odd, it is considered an anomaly, and the tolerance is increased along the X direction of the cutting plane. - ) / 100, and recalculate;
[0139] Finally, the drill line is obtained and saved to complete the simulation of the drill path.
[0140] S5. Based on the obtained data, generate the cross-section result file and the corresponding image file to complete the generation of virtual cross-section of the ore body and borehole data. In specific implementation, the generated files include the cross-section result file (DMF format) and the JSON status file, and generate three images for each cross-section: the outline image, the borehole image, and the outline-bearing combined image.
[0141] The method of the present invention will be further described below with reference to an embodiment:
[0142] Because borehole data and contour line data are relatively sparse in mine production and exploration, they cannot meet the training requirements of artificial intelligence models. Therefore, the present invention can generate data using a pre-constructed 3D model of the ore body, perform virtual sectioning on the ore body model, generate virtual contour line data, and generate virtual boreholes according to the established rules based on the generated contour lines. The two types of data are used together to meet the training requirements.
[0143] like Figure 2 As shown, Figure 2 (a) is a pre-constructed 3D ore body model. Figure 2 (b) is a schematic diagram of virtual sectioning of the ore body model according to the set parameters; a total of 7 section planes are formed in the figure, and the distance between the section planes is 50.
[0144] Figure 3 It is the result generated by virtually cutting the model according to section plane number 3.Figure 3 (a) is the generated ore body contour line, Figure 3 (b) is a process diagram for generating a virtual drill hole, Figure 3 (c) is a drill hole map generated at a set interval, where red represents the ore body part and gray represents the non-ore body part. Figure 4 is the result of virtual sectioning of the model according to section 6.
[0145] By Figures 2-4 It can be seen that the data generation method of the present application has the characteristics of high precision and data consistency. The use of accurate plane sectioning and pixel coordinate mapping ensures that the generated two-dimensional contour line and drill hole path data have high resolution and geometric consistency, which is suitable for machine learning training. Moreover, the method of the present application has the characteristics of flexibility and standardization, supports adjustable section interval and drill hole number, and outputs standard format (DMF and JPEG), which is convenient for integration into existing geological software and AI workflow.
[0146] As Figure 5 The method flowchart of the contour line intelligent generation method of the present application is shown in the figure: the ore body contour line intelligent generation method disclosed by the present application, which includes the ore body virtual sectioning and drill hole data generation method, includes the following steps:
[0147] S1. Use the ore body virtual sectioning and drill hole data generation method to generate a training data set;
[0148] S2. Based on the diffusion model and Unet network, an initial model for intelligent generation of ore body contour lines is constructed. In specific implementation, the model proposed by Lvmin Zhang in the paper "Adding Conditional Control to Text-to-Image Diffusion Models" in 2023 can be used;
[0149] S3. Use the training data set obtained in step S1 to train the initial model for intelligent generation of ore body contour lines constructed in step S2 to obtain an intelligent generation model for ore body contour lines;
[0150] S4. Use the intelligent generation model for ore body contour lines obtained in step S3 to perform intelligent generation of contour lines for the target ore body.
[0151] The following will combine an embodiment to explain the effect of the data generation method of the present application:
[0152] The contour line intelligent generation model formed by this method can efficiently and high-quality interpret the contour line based on the drill hole data; Figure 6The comparison between the contour line intelligently generated based on the drilling data and the contour line interpreted by human is shown. It can be seen that the contour line generated by the model not only conforms to the shape of the drilling, but also is basically the same as the contour line interpreted by the professional engineer, which fully illustrates the effectiveness and accuracy of the data generation method and the ore body contour line intelligent generation method of the present application.
[0153] In addition, the ore body virtual sectioning and drilling data generation method of the present application can also be used for geological structure analysis, underground engineering design, etc.
Claims
1. A method for virtual ore body sectioning and borehole data generation, characterized in that... Includes the following steps: S1. Obtain the 3D model file of the ore body and the corresponding cutting / drilling parameters; S2. Based on the 3D model file obtained in step S1, extract all 3D entities and convert them into polyhedral data structures. Calculate the minimum bounding rectangle of the polyhedral data structure and align the model. S3. Perform equal-interval sectioning along the long side of the model and extract the corresponding contour lines; S4. For each profile, render the outline and calculate the outline boundary, and calculate the drilling position based on the drilling parameters to simulate the drilling path; S5. Based on the obtained data, generate the sectioning result file and the corresponding image file to complete the virtual sectioning of the ore body and the generation of borehole data.
2. The method for virtual orebody sectioning and borehole data generation according to claim 1, characterized in that... Step S1 specifically includes the following steps: Obtain the 3D model of the ore body in DMF format; The obtained sectioning / drilling parameters, including section spacing Drilling interval and pixel precision in the width direction .
3. The method for virtual orebody sectioning and borehole data generation according to claim 2, characterized in that... Step S2 includes the following steps: Load the 3D model file obtained in step S1, treat the 3D model file as a hierarchical database, and traverse all layers to extract all 3D entities; Each 3D entity is converted into a polyhedral data structure, the corresponding boundary information is calculated, and it is projected onto the XY plane to obtain a 2D point set; Calculate the minimum bounding rectangle of a two-dimensional point set and its four corner points, and define the unit vectors corresponding to the long and short sides of the minimum bounding rectangle. Construct a rotation matrix to map the original coordinate system of the 3D model file to the target coordinate system based on the minimum bounding rectangle, thereby achieving model alignment.
4. The method for virtual orebody sectioning and borehole data generation according to claim 3, characterized in that... Step S2 specifically includes the following steps: Load the 3D model file obtained in step S1; treat the 3D model file as a hierarchical database D; traverse all layers to extract a list of all 3D entities. for ,in The total number of three-dimensional entities; Each three-dimensional entity Transformed into the corresponding polyhedral data structure ; Computation of polyhedral data structures boundary for ,in For polyhedral data structures The minimum x-coordinate of all points. For polyhedral data structures The maximum x-coordinate of all points. For polyhedral data structures The minimum y-coordinate of all points. For polyhedral data structures The maximum y-coordinate of all points. For polyhedral data structures The minimum z-coordinate of all points. For polyhedral data structures The maximum z-coordinate of all points; Will Projecting onto the XY plane yields a two-dimensional point set. for ,in Two-dimensional point set The i-th point in for x-axis coordinates for The y-axis coordinates, where N is a two-dimensional point set. The total number of points in; Calculate a two-dimensional point set The minimum bounding rectangle; the four corner points of the minimum bounding rectangle are calculated using the minimum area rectangle algorithm. The coordinates; Define the first vector for The second vector for ,in Represents the coordinates of a point; and also stipulates that, model Let the longest side of the smallest enclosing rectangle be . model The short side of the smallest enclosing rectangle; the first vector Second vector Normalization yields the first unit vector. Second unit vector ; Set the origin of the minimum bounding rectangle for ,in For the given vector and ; To align the model, set the rotation matrix. This maps the original coordinate system of the 3D model file to the target coordinate system based on the minimum bounding rectangle; in the original coordinate system, the origin... The coordinates are x-axis unit vector for y-axis unit vector for z-axis unit vector for In the target coordinate system, the origin The coordinates are x-axis Represented as y-axis Represented as z-axis Represented as ; The rotation matrix is calculated using the following formula. : In the formula The coordinates of the point in the target coordinate system; These are the coordinates of the point in the original coordinate system; The resulting rotation matrix Multiply by a two-dimensional point set The points in the two-dimensional point set Transform the points in the target coordinate system to obtain a two-dimensional point set in the target coordinate system. ; Based on the two-dimensional point set of the target coordinate system Calculations yielded The minimum bounding rectangle as The initial bounding box of the target coordinate system; the initial bounding box of the target coordinate system is expanded outward by a set margin to obtain the bounding box of the target coordinate system. .
5. The method for virtual orebody sectioning and borehole data generation according to claim 4, characterized in that... Step S3 includes the following steps: According to the set profile interval The number of cutting planes is calculated along the long side of the model. The model cutting function is used to cut the polyhedron data structure at equal intervals, and the corresponding polyline set is extracted. Insert a rectangular boundary into the polyline set and extract the corresponding contour line.
6. The method for virtual ore body sectioning and borehole data generation according to claim 5, characterized in that... Step S3 specifically includes the following steps: Make equally spaced cuts along the long side of the model; the number of cutting planes Represented as ,in The length of the longer side of the model. Sets the floor sign; also sets the number of cutting planes. The minimum value is 1; Starting distance Represented as The starting distance Defined as the distance from the first cutting plane to the starting point of the long side of the model; For the j-th cutting plane, the value of j is... The origin of the cutting plane Represented as normal vector Represented as ;in The origin of the smallest enclosing rectangle. The length of the shorter side of the smallest enclosing rectangle; Set the work plane , represented as ,in Represent any point in space that satisfies the equation The points constitute the working plane ; The model is cut using a cutting function to obtain the output polyhedral data structure. The cutting direction is set to positive cutting, and the tolerance is 0. From polyhedral data structure Extracting polyline sets , elements in It is a point sequence; The center point c on the cutting plane is calculated using the following formula. orthographic projection on : In the formula The center point of the projection; The normal vector of the working surface; express The model; Finally, the polyline segments of the rectangular boundary are obtained, and the corresponding contour lines are extracted.
7. The method for virtual orebody sectioning and borehole data generation according to claim 6, characterized in that... Step S4 includes the following steps: For each profile, calculate the image resolution and pixels; For each profile, construct the RGB channel matrix of the contour image, the RGB channel matrix of the borehole image, and the RGB channel matrix of the combined image; For polyline sets Each element in Iterate through the endpoints of the line segments to map them to pixel coordinates in order to render the outline. Calculate the contour boundary and, based on the contour boundary and the set drilling interval... The number of boreholes was calculated. For each borehole, define the start and end points of the vertical line segment, and solve for the set of intersection points of the vertical line segment with all contour lines; Based on the obtained set of intersections, the intersections are connected to complete the generation and rotation of the borehole section; Finally, the drill line is obtained and saved to complete the simulation of the drill path.
8. The method for virtual orebody sectioning and borehole data generation according to claim 7, characterized in that... Step S4 specifically includes the following steps: For each profile, calculate the image resolution: image width for Image height for Pixel size in width direction for Pixel size in the height direction for ;in Border of the target coordinate system The maximum value of the x-axis coordinate. Border of the target coordinate system The minimum value of the x-axis coordinate. Border of the target coordinate system The maximum value of the y-axis coordinate. Border of the target coordinate system The minimum value of the y-axis coordinate. Image width, Image height; The rounding up symbol; For each profile, construct the RGB channel matrix of the contour image. RGB channel matrix of borehole image and combined image RGB channel matrix ; Rendering outlines: For polyline sets Each element in traversal endpoints of all line segments And mapped to the pixel x-coordinate and pixel ordinate : , ,in For the endpoints of the line segment Quantity, For the endpoints of the line segment Quantity, intermediate variable and Then, the Bresenham algorithm is used to draw lines of the specified color, completing the rendering of the outline. Calculate the contour boundary for ,in For the outline boundary exist Minimum value in the direction, For the outline boundary exist Maximum value in direction, For the outline boundary exist Minimum value in the direction, For the outline boundary exist Maximum value in the direction; calculate the number of boreholes. for And set the number of holes The minimum value is 1; Starting drilling distance Represented as Starting drilling distance Define a two-dimensional coordinate system along the X direction of the cutting plane, starting from the minimum coordinates. Initial offset distance to the first borehole, starting borehole distance Used to determine the starting point of the drilling path; For the m-th borehole, the starting point s of the vertical line segment is defined as... The endpoint e is ,in It is the second intermediate variable and ; Calculate the set of intersection points of the vertical line segment with all contour lines. ;Will Along the Y direction, starting from the starting point s, sort the points to obtain the set of intersection points. ; Make a judgment: like If the number is even, connect the intersection points in pairs to draw drill segments of the set color, and add gray line segments between adjacent pairs and at the boundaries; then, add drills at the left and right boundaries with a set margin to ensure the integrity of the covered area; where, Indicates the number of intersections between the vertical line segment and the outline; like If the number is odd, it is considered an anomaly, and the tolerance is increased along the X direction of the cutting plane. - ) / 100, and recalculate; Finally, the drill line is obtained and saved to complete the simulation of the drill path.
9. A method for intelligently generating orebody contour lines, comprising the method for virtual orebody sectioning and borehole data generation as described in any one of claims 1 to 8, characterized in that... Includes the following steps: S1. Using the virtual orebody sectioning and borehole data generation method described in any one of claims 1 to 8, a training dataset is generated; S2. Based on the diffusion model and Unet network, construct an initial model for intelligent generation of ore body contour lines; S3. Using the training dataset obtained in step S1, train the initial intelligent generation model of ore body contour lines constructed in step S2 to obtain the intelligent generation model of ore body contour lines. S4. Using the intelligent generation model of the ore body contour obtained in step S3, intelligently generate the contour of the actual target ore body.
Citation Information
Patent Citations
Profile reconstruction three-dimensional surface modeling method based on polygon deformation technology and profile reconstruction three-dimensional surface modeling system thereof
CN107358654A
Finite element-based ore deposit drilling information processing and analysis method and device
US20230204810A1