Occlusion relation detection method, device, equipment and medium
By constructing an occlusal coordinate system on the browser side and using the GPU for parallel computing to generate depth maps and color band models, the computational intensity problem on the browser side is solved, efficient and low-cost occlusal detection is achieved, and the clinical diagnosis and treatment process is simplified.
Patent Information
- Application Number
- CN202510898426.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-30
- Publication Date
- 2025-10-17
AI Technical Summary
Existing browser-based occlusion detection solutions have performance bottlenecks and equipment overheating problems caused by intensive computing, and clinical occlusion detection relies on physical test strips, which increases consumable costs and prolongs the diagnosis and treatment cycle.
By constructing an occlusal coordinate system and using GPU for parallel computing to generate a depth map and perform normalization processing, combined with a ribbon model, efficient occlusal relationship detection can be achieved, avoiding CPU computing pressure and device overheating.
It improves the efficiency of browser-based occlusal detection, prevents device overheating, reduces power consumption, and simplifies clinical diagnosis and treatment processes through an intuitive ribbon model.
Smart Images

Figure CN120807434A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of oral digital diagnosis and treatment, and particularly relates to a bite relationship detection method and device, equipment and a medium. BACKGROUND
[0002] In current oral model visualization applications based on a browser end, a traditional bite detection scheme has a significant performance bottleneck. Existing technologies mainly rely on a CPU to perform vertex ray intersection calculation, which produces two defects in a browser environment: first, intensive calculation causes a lag phenomenon on low-performance terminals, and second, continuous running on mobile terminals causes a device overheating problem. In addition, clinical reliance on entity bite test paper for repeated detection not only increases consumable costs, but also prolongs the diagnosis and treatment cycle.
[0003] With the popularity of oral large models and AI single crown design, the browser end needs to handle more complex bite analysis tasks. The existing bite relationship detection method is calculated and detected in the CPU through ray intersection, which is prone to lag phenomenon and device overheating problem, resulting in low detection efficiency of the bite relationship, thereby causing device overheating and increasing power consumption. SUMMARY
[0004] The purpose of the embodiments of the present application is to provide a bite relationship detection method, device, equipment and medium to improve the detection efficiency of the bite relationship.
[0005] To solve the above technical problems, the embodiments of the present application provide a bite relationship detection method, comprising:
[0006] obtaining upper and lower jaw models, and constructing a bite coordinate system based on a bite plane, wherein the upper and lower jaw models comprise an upper jaw model and a lower jaw model;
[0007] moving the upper jaw model along the normal vector of the bite plane, and moving the lower jaw model in the opposite direction of the normal vector of the bite plane;
[0008] constructing upper and lower jaw depth maps, and normalizing model vertex coordinates in the bite coordinate system to generate normalized coordinates;
[0009] determining a counter-jaw depth map based on position information of the model vertex coordinates in the upper and lower jaw models, and calculating a bite value based on the normalized coordinates, sampling information of the counter-jaw depth map and camera parameters, wherein the counter-jaw depth map is an upper jaw depth map or a lower jaw depth map in the upper and lower jaw depth maps;
[0010] constructing a color band map based on a preset bite value range, and upsampling the color band map based on the bite value to generate a color band model.
[0011] To solve the above technical problems, the embodiment of the present application provides a bite relationship detection device, comprising:
[0012] A model acquisition module is configured to acquire upper and lower jaw models, and construct a bite coordinate system based on a bite plane, wherein the upper and lower jaw models comprise an upper jaw model and a lower jaw model;
[0013] A camera position generation module is configured to move the upper jaw model along a normal vector of the bite plane, and move the lower jaw model in the opposite direction of the normal vector of the bite plane;
[0014] A depth map construction module is configured to construct upper and lower jaw depth maps, and normalize model vertex coordinates in the bite coordinate system to generate normalized coordinates;
[0015] A bite value calculation module is configured to determine a jaw depth map based on position information of the model vertex coordinates in the upper and lower jaw models, and calculate a bite value based on the normalized coordinates, sampling information of the jaw depth map, and camera parameters, wherein the jaw depth map is an upper jaw depth map or a lower jaw depth map in the upper and lower jaw depth maps;
[0016] A color band model generation module is configured to construct a color band map based on a preset bite value range, and up-sample the color band map based on the bite value to generate a color band model.
[0017] To solve the above technical problems, the embodiment of the present application provides a computer device, comprising one or more processors; a memory for storing one or more programs, so that the one or more processors implement the bite relationship detection method described in any one of the above.
[0018] To solve the above technical problems, the embodiment of the present application provides a computer device, comprising one or more processors; a memory for storing one or more programs, so that the one or more processors implement the bite relationship detection method described in any one of the above.
[0019] The embodiment of the present invention provides a method, device, equipment and medium for detecting occlusal relationship. The method includes: obtaining upper and lower jaw models, and constructing an occlusal coordinate system based on an occlusal plane, wherein the upper and lower jaw models include an upper jaw model and a lower jaw model; moving the upper jaw model along the normal vector of the occlusal plane, and moving the lower jaw model along the opposite direction of the normal vector of the occlusal plane; constructing upper and lower jaw depth maps, and normalizing the model vertex coordinates in the occlusal coordinate system to generate normalized coordinates; determining an opposing jaw depth map based on the position information of the model vertex coordinates in the upper and lower jaw models, and calculating an occlusal value based on the normalized coordinates, sampling information of the opposing jaw depth map and camera parameters, wherein the opposing jaw depth map is an upper jaw depth map or a lower jaw depth map in the upper and lower jaw depth maps; constructing a color band map based on a preset occlusal value range, and upsampling the color band map based on the occlusal value to generate a color band model. The embodiment of the present invention generates a depth map by constructing an occlusion coordinate system, uses a GPU rendering pipeline for parallel computing, and realizes efficient real-time detection of occlusion values on the browser side. It has the advantages of improving the efficiency of occlusion detection on the browser side, avoiding device overheating, and reducing power consumption. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the solutions in this application, a brief introduction will be given below to the drawings required for use in the description of the embodiments of this application. Obviously, the drawings described below are some embodiments of this application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0021] Figure 1 This is a flowchart of the implementation process of the occlusal relationship detection method provided in the embodiment of the present application;
[0022] Figure 2 This is a flowchart for implementing the first sub-process in the occlusal relationship detection method provided in an embodiment of the present application;
[0023] Figure 3 This is a flowchart for implementing the second sub-process in the occlusal relationship detection method provided in an embodiment of the present application;
[0024] Figure 4 This is a flowchart for implementing the third sub-process in the occlusal relationship detection method provided in an embodiment of the present application;
[0025] Figure 5 Schematic diagram of the camera observation position generation process provided in an embodiment of the present application;
[0026] Figure 6 This is a flowchart for implementing the fourth sub-process in the occlusal relationship detection method provided in an embodiment of the present application;
[0027] Figure 7 is a flowchart of implementation of a fifth sub-process in the occlusion relationship detection method provided by the embodiments of the present application;
[0028] Figure 8 is a flowchart of implementation of a sixth sub-process in the occlusion relationship detection method provided by the embodiments of the present application;
[0029] Figure 9 is a color band model display schematic diagram provided by the embodiments of the present application;
[0030] Figure 10 is a schematic diagram of the occlusion relationship detection device provided by the embodiments of the present application;
[0031] Figure 11 is a schematic diagram of the computer device provided by the embodiments of the present application. DETAILED DESCRIPTION
[0032] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs; the terminology used in the description herein is for describing particular embodiments only and is not intended to be limiting of the application; the description and the drawings are to be regarded as illustrative in nature and are not intended to limit the application; the terminology used in the description of the application herein including the abstract is not intended to be limiting of the application and is only used to commonly describe embodiments of the present application. The terms "comprising," "having," "including," and "containing" used in the detailed description and the claims herein are used in their broadest sense and are not intended to limit the application. The terms "first," "second," and the like used in the description and the claims herein are used for distinguishing between similar objects and are not necessarily used in a sequential or chronological sense.
[0033] Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the application. The appearances of the phrase "in an embodiment" in various places in the specification are not necessarily all referring to the same embodiment, nor are they necessarily mutually exclusive of one another. It is expressly understood that any of the features, structures, or characteristics described in connection with an embodiment can be included in a similar or alternative embodiment.
[0034] In order to make the technical personnel in the art better understand the present application scheme, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings.
[0035] The application will be described in detail below in conjunction with the drawings and embodiments.
[0036] It should be noted that the occlusion relationship detection method provided by the embodiments of the present application is generally executed by a server, and correspondingly, the occlusion relationship detection device is generally configured in the server.
[0037] In the prior art, the browser side usually relies on the CPU for occlusion detection when presenting the oral model, and calculates the intersection between models by generating a ray from a vertex. This method needs to traverse a large amount of vertex data and perform complex geometric operations, resulting in excessive consumption of computing resources. When the model complexity is improved or the performance of the mobile device is limited, interface lag and hardware heating phenomena are prone to occur. At the same time, the traditional method lacks intuitive occlusion state visualization means, and doctors need to rely on physical test paper to verify and adjust the effect repeatedly, prolonging the diagnosis and treatment cycle.
[0038] To solve the above problems, the present application considers transferring the computationally intensive task to GPU parallel processing and reducing the computational dimension through the standardization of the spatial relationship of the three-dimensional model. It is found in the research process that the spatial characteristics of the occlusion plane can be used to construct a unified coordinate system, so that the positional relationship of the upper and lower jaw models can be expressed by two-dimensional projection. It is further observed that the depth map rendering mechanism can compress three-dimensional geometric information into two-dimensional texture data, and combined with the parallel sampling capability of the GPU, the occlusion contact information can be quickly obtained. Thus, the overall idea of replacing the ray intersection with the depth map and using the shader to realize the visual feedback is formed. Therefore, the present application proposes a technical scheme of obtaining upper and lower jaw models and constructing an occlusion coordinate system; symmetrically moving the models along the normal vector of the occlusion plane to generate a camera observation position; constructing upper and lower jaw depth maps and performing coordinate normalization; calculating the target depth and occlusion value in the rendering pipeline; and generating a visualized model based on a color band map. The present application transfers the computational load of occlusion detection from the CPU to the GPU, effectively alleviating the operation pressure on the browser side and avoiding interface lag and device overheating phenomena. The combination of the depth map and the normalized coordinates simplifies the computational dimension of the occlusion relationship and improves the processing efficiency. The visual output of the color band model enables doctors to quickly locate the occlusion conflict area, reduces the frequency of using clinical test paper, and optimizes the diagnosis and treatment process.
[0039] Please refer to Figure 1 , Figure 1 An embodiment of the occlusion relationship detection method is shown.
[0040] It should be noted that the method of the present application is not limited to the order of the flow shown, and the method includes the following steps: Figure 1
[0041] S1: Obtain the upper and lower jaw models, and construct an occlusion coordinate system based on the occlusion plane.
[0042] Specifically, given the upper and lower jaw models and the attached models, the upper and lower jaw models are obtained under the condition of a specified occlusion RT and occlusion plane. The upper and lower jaw models include an upper jaw model and a lower jaw model
[0043] The occlusal RT represents the rotation and translation parameters of the occlusal relationship. The occlusal coordinate system is a three-dimensional coordinate system established with the occlusal plane as the reference. Two mutually perpendicular unit vectors within the occlusal plane are selected as the horizontal and vertical axes, respectively, and the plane normal is used as the vertical axis. This three-dimensional coordinate system provides a unified reference system for quantifying model positional relationships, avoiding multi-coordinate system conversion errors.
[0044] See also Figure 2 , Figure 2 A specific implementation of step S1 is shown, which is described in detail as follows:
[0045] S11: If the upper and lower jaw models, occlusal plane, and rotation and translation parameters of the occlusal relationship exist, obtain the upper and lower jaw models.
[0046] S12: Take any two mutually perpendicular unit vectors in the occlusal plane as the horizontal axis and the vertical axis respectively, take the unit normal vector of the occlusal plane as the vertical axis, and construct the occlusal coordinate system based on the horizontal axis, the vertical axis and the vertical axis.
[0047] Among them, the occlusal plane refers to the reference plane of contact between the upper and lower teeth, which can be achieved by fitting the plane parameters of the contact points of the upper and lower teeth when the patient is actually occluding, and is used to establish a unified reference for spatial calculations. Among them, the rotation and translation parameters refer to the posture transformation data of the upper and lower jaw models in three-dimensional space, which can be obtained by analyzing the occlusal relationship data collected by the oral scanning device, and are used to ensure the spatial consistency between the acquired model and the actual occlusal state. Among them, two mutually perpendicular unit vectors refer to any two perpendicular direction vectors with a length of 1 in the occlusal plane, which can be achieved by the cross product of the main direction vector calculated by the plane parameters and the normal vector, and the independence of the coordinate axes is guaranteed by mathematical orthogonality.
[0048] Specifically, in the detection process initialization stage, the system first verifies the integrity of the upper and lower jaw model data, the occlusal plane parameters and the occlusal relationship parameters. The upper and lower jaw model data, the occlusal plane parameters and the occlusal relationship parameters and other data can be obtained through a local database or through the cloud. When all the necessary data exist, the upper and lower jaw models and their attached implant or crown models are synchronously obtained through a three-dimensional rendering engine. Based on the geometric characteristics of the occlusal plane, any two orthogonal directions in the plane are selected as the horizontal and vertical axes, for example, the longest extension direction of the plane is selected as the horizontal axis, and its vertical direction is selected as the vertical axis. At the same time, the normal vector of the plane is standardized as the vertical axis. The three-dimensional coordinate system constructed in this way has a clear anatomical correspondence, for example, the horizontal axis corresponds to the buccal-lingual direction of the dental arch, the vertical axis corresponds to the mesiodistal direction, and the vertical axis corresponds to the vertical direction of the occlusion. Through the standardization processing of unit vectors, it is ensured that the coordinate system has the same scale reference in different resolution devices. The present application effectively solves the error accumulation problem caused by the lack of coordinate system reference during occlusion detection on the browser side, and ensures the consistency of rendering results on different terminal devices through the construction of a standardized orthogonal coordinate system. This method makes the target depth calculation have a clear spatial reference, for example, when browsing on a mobile terminal and a desktop terminal, the spatial distance deviation of the same occlusion value is controlled within millimeters. At the same time, by dynamically selecting the orthogonal axis, the special occlusal plane of different patient dentition forms can be adapted, for example, the irregular occlusal surface of the open-mouth patient can still establish an effective coordinate system.
[0049] S2: move the upper jaw model along the normal vector of the occlusal plane, and move the lower jaw model in the opposite direction of the normal vector of the occlusal plane.
[0050] Specifically, the bounding box of the upper jaw model and the lower jaw model in the occlusal coordinate system is calculated, and the movement amount of the upper and lower jaw models is determined based on the bounding box, and the upper and lower jaw models are symmetrically moved along the normal vector of the occlusal plane.
[0051] Please refer to Figure 3 , Figure 3 A specific implementation of step S2 is shown as follows:
[0052] S21: calculate the bounding box of the upper jaw model and the lower jaw model in the occlusal coordinate system respectively, and obtain a first bounding box and a second bounding box.
[0053] S22: merge the first bounding box and the second bounding box to generate a third bounding box.
[0054] S23: determine the movement amount based on the third bounding box, and move the upper jaw model along the normal vector of the occlusal plane based on the movement amount, and move the lower jaw model in the opposite direction of the normal vector of the occlusal plane based on the movement amount.
[0055] Specifically, the bounding boxes of the upper jaw model and the lower jaw model in the occlusion coordinate system are calculated respectively to obtain a first bounding box B1 and a second bounding box B2, and the first bounding box B1 and the second bounding box B2 are merged to generate a third bounding box B3, wherein the size of the third bounding box B3 is (sizeX, sizeY, sizeZ). Then, the upper jaw model is moved along the normal vector of the occlusion plane by sizeZ / 2, and the lower jaw model is moved along the opposite direction of the normal vector of the occlusion plane by sizeZ / 2, so that the occlusion surfaces of the moved upper jaw model and lower jaw model are face to face. The movement of the upper jaw model and the lower jaw model is adjusted to place the camera in a proper position, which facilitates the generation of the depth map of the upper jaw and the lower jaw.
[0056] The conventional method usually uses a fixed displacement amount for model movement, which cannot adapt to upper and lower jaw models of different sizes and is prone to cause the occlusion contact area to deviate from the observation range. In the present application, the movement amount is dynamically calculated by merging the bounding boxes, so that the model displacement amount matches the actual size, and the occlusion area is always ensured to be within the effective observation range. In addition, the prior art usually uses preset camera parameters for depth map rendering, and when the model size changes, the field of view parameters need to be manually adjusted. In the present application, the field of view range is automatically generated by the length and width of the third bounding box, which realizes the dynamic adaptation of the camera parameters. The present application can automatically determine the symmetric movement amount and the camera observation parameters according to the actual size of the model, effectively reducing the calculation resource consumption caused by manual parameter adjustment. By merging the bounding boxes to generate the overall space range, the data redundancy generated when processing the upper and lower jaw models separately is avoided, the number of bounding box calculations is reduced, and the rendering efficiency is significantly improved.
[0057] S3: constructing upper and lower jaw depth maps and normalizing the model vertex coordinates in the occlusion coordinate system to generate normalized coordinates.
[0058] Specifically, the camera observation position is calculated based on the bottom midpoint of the first bounding box and the top midpoint of the second bounding box, and the camera field of view range is generated based on the length and width of the third bounding box; then the camera observes in the direction of the occlusion plane at the camera observation position, and a upper jaw depth map upDeepthImg is generated using the MeshDepthMaterial material of threejs, and a lower jaw depth map lowDeepthImg is generated by observing in the opposite direction of the normal direction of the occlusion plane; any model vertex coordinate in the upper and lower jaw models is obtained, and the model vertex coordinate is projected to the occlusion plane to generate a plane coordinate; the plane coordinate is normalized to generate a normalized coordinate. The upper and lower jaw depth maps include the upper jaw depth map and the lower jaw depth map.
[0059] Please refer to Figure 4 and Figure 5 , Figure 4 a specific implementation of step S3 is shown,Figure 5 is a schematic diagram of a camera observation position generation process provided by an embodiment of the present application, described in detail as follows:
[0060] S31: Calculate the camera observation position based on the bottom midpoint of the first bounding box and the top midpoint of the second bounding box, and generate the camera field of view range based on the length and width of the third bounding box;
[0061] S32: Generate the upper and lower jaw depth maps along the symmetry direction of the occlusal plane according to the camera observation position.
[0062] S33: Obtain any model vertex coordinates in the upper and lower jaw models, project the model vertex coordinates to the occlusal plane to generate plane coordinates.
[0063] S34: Normalize the plane coordinates to generate normalized coordinates.
[0064] Specifically, the bottom midpoint a of the first bounding box and the top midpoint b of the second bounding box are obtained, and then the midpoint c of the bottom midpoint a and the top midpoint b is calculated as the camera observation position. Then the length sizeX and the width sizeY of the third bounding box B3 are obtained as the camera field of view range. The camera is observed from the camera observation position along the occlusal plane normal direction, and a depth map upDeepthImg of the upper jaw is generated using the MeshDepthMaterial material of threejs, and a depth map lowDeepthImg of the lower jaw is generated by observing in the opposite direction of the occlusal plane normal direction. Obtain any model vertex coordinates v in the upper and lower jaw models, project the model vertex coordinates v to the occlusal plane to obtain two-dimensional plane coordinates. Finally, the plane coordinates are normalized to generate normalized coordinates v_uv:(x / sizeX+0.5,y / sizeY+0.5).
[0065] In another specific embodiment, Babylon.js can be used to generate depth maps. Babylon.js is an open source 3D graphics framework written in JavaScript and TypeScript, designed to help developers easily create and deploy 3D graphics content to the Web. Among them, the depth map of the scene is obtained using RenderTargetTexture in Babylon.
[0066] In the above embodiments, threejs is a popular JavaScript library for creating and presenting 3D graphics in web browsers. It is based on the WebGL API, which allows developers to take advantage of the GPU acceleration built into modern browsers to render complex 3D scenes. Depth map refers to a grayscale image that contains information about the distance from the camera's perspective to the surface of the model, where the value of each pixel represents the depth information of the object in the scene corresponding to that pixel. It can be implemented using an orthogonal projection rendering method combined with depth buffer technology. GPU depth buffer, also known as Z-buffer, is a buffer that stores the depth value of each pixel. Whenever a pixel is rendered, the GPU checks the depth value of that pixel (i.e., its distance from the viewer) and compares it with the depth value currently stored in the depth buffer. Based on the comparison result, the GPU decides whether to draw the pixel. By utilizing the parallel computing power of the GPU, the geometric information of the occlusal contact area can be quickly generated, replacing the traditional CPU traversal vertex ray intersection calculation method. Normalized coordinates refer to mapping the vertex coordinates in the occlusal plane coordinate system to standardized values within the range of [0, 1]. This can be achieved by calculating the scaling factor of the bounding box extreme values for linear transformation. The purpose is to eliminate the influence of different model size differences on the sampling accuracy of the depth map, so that different scaling models can complete high-precision calculations under the same algorithm process.
[0067] The traditional method relies on the CPU to perform vertex-level ray projection calculation, which needs to traverse all vertices and perform complex geometric operations, and is prone to performance bottlenecks on the browser side. The present application realizes batch processing of geometric information through GPU depth map rendering, and transfers the computing load from the CPU to the graphics processor, effectively reducing the computing pressure of the main thread. In addition, the prior art lacks a unified coordinate reference and normalization processing, and the calculation parameters need to be adjusted again when the model size changes. The present application realizes the self-adaptation of the algorithm to model data of different sizes through occlusion plane coordinate system conversion and normalization processing, without manual intervention in parameter setting. The present application solves the performance lag problem caused by low CPU calculation efficiency in the occlusion detection process on the browser side, realizes the rapid calculation of the occlusion contact area by using the GPU depth map rendering technology, and guarantees the consistency of the calculation accuracy of different case data through coordinate system conversion and normalization processing. The present application makes full use of the parallel computing advantage of the graphics hardware in the occlusion detection process, significantly improves the operation efficiency while maintaining high precision, provides reliable technical support for real-time occlusion analysis on the browser side, avoids the heating and lag phenomenon of the traditional method when running on mobile devices, and realizes the rapid quality inspection of the occlusion relationship of oral components in the clinical diagnosis and treatment scene. Combined with the computing power of the browser side and the use of GPU for multiple process occlusion detection, the single crown and other dental components can be designed automatically without any cloud computing power. Through dynamic adaptation of the camera field of view, it is ensured that models of different sizes can be completely presented in a single rendering, eliminating the problem of repeated rendering caused by insufficient field of view, and improving the frame rate of browser-side occlusion detection to an interactive level.
[0068] S4: determining a counter-jaw depth map based on the position information of the model vertex coordinates in the upper and lower jaw models, and calculating the occlusion value based on the normalized coordinates, the sampling information of the counter-jaw depth map and the camera parameters, wherein the counter-jaw depth map is the upper jaw depth map or the lower jaw depth map in the upper and lower jaw depth maps.
[0069] Specifically, the depth map of the counter-jaw is transmitted in the rendering pipeline. If the calculated model vertex coordinate v is in the upper jaw model, the lower jaw depth map, i.e. lowDeepthImg, is transmitted. Similarly, if the calculated model vertex coordinate v is in the lower jaw model, the upper jaw depth map, i.e. upDeepthImg, is transmitted. The upper jaw depth map or the lower jaw depth map transmitted to the rendering pipeline at this time is taken as the counter-jaw depth map. Then the model vertex coordinates are sampled in the counter-jaw depth map based on the normalized coordinates to obtain a depth value. If the depth value is greater than zero, the camera rendering distance extreme value is obtained. The actual depth is calculated based on the depth value and the camera rendering distance extreme value by using a first preset formula to obtain the counter-jaw depth value. The target depth and the occlusion value are calculated according to the camera parameters and the actual depth.
[0070] Please refer to Figure 6 , Figure 6An embodiment of step S4 is shown and described in detail as follows:
[0071] S41: Determine the interarch depth map based on the position information of the model vertex coordinates on the upper and lower jaw models.
[0072] S42: Sample the interarch depth map based on the normalized coordinates of the model vertex coordinates to obtain the depth value.
[0073] S43: If the depth value is greater than zero, obtain the camera rendering distance extreme value.
[0074] S44: Calculate the actual depth based on the depth value and the camera rendering distance extreme value using a first preset formula to obtain the interarch depth value.
[0075] S45: Calculate the target depth and the occlusion value according to the camera parameters and the actual depth.
[0076] Specifically, by migrating the occlusion detection calculation process to the GPU rendering pipeline, the parallel sampling characteristics of the depth map texture are used to replace the traditional CPU vertex ray intersection calculation. When the vertex shader processes the model vertex, the three-dimensional coordinates are first converted into normalized coordinates in the two-dimensional texture space, and then the depth value of the corresponding position is obtained by texture sampling of the interarch depth map in the fragment shader stage. The validity of the depth value is determined by the condition of whether it is greater than zero, and the non-occlusion area data is filtered. After the valid depth value is normalized, the interarch depth value in the real three-dimensional space is restored by combining the preset camera rendering distance extreme value through a linear mapping formula. Finally, based on the camera perspective parameters and the actual depth value, the absolute value of the target depth is calculated using the geometric projection relationship, and the standardized occlusion value in the 0-1 interval is generated by combining the preset occlusion threshold range. The first preset formula is:
[0077] deepth = near + (far-near) * d;
[0078] wherein deepth is the interarch depth value, near is the nearest clipping plane distance in the camera rendering distance extreme value, far is the farthest clipping plane distance in the camera rendering distance extreme value, and d is the depth value.
[0079] wherein the interarch depth map refers to the texture map of the upper and lower jaw occlusal surface depth information generated by the GPU rendering pipeline, which can be implemented by using the frame buffer object of OpenGL or WebGL, and is used to store the geometric depth data of the occlusion contact area. The determination condition that the depth value is greater than zero is used to filter invalid occlusion areas, which can be implemented by threshold comparison of the depth map, and is used to exclude interference data of non-contact areas. The camera rendering distance extreme value refers to the nearest and farthest clipping plane distances set during rendering, which can be obtained by camera parameter configuration, and is used to restore the depth value to the real space distance.
[0080] The traditional method relies on the CPU to perform the intersection operation of the ray with each vertex and the opposite jaw model, and the computational complexity increases exponentially with the model precision. However, the present application utilizes the parallel rendering capability of the GPU, through the depth map pre-generation and texture sampling mechanism, to reduce the computational complexity to a linear level. The ray intersection in the prior art requires frequent memory access and floating point operations, while the present scheme converts the calculation into a fixed pipeline operation through the bilinear interpolation function of the texture hardware, significantly reducing the number of operation instructions. The present application effectively solves the performance bottleneck problem of the browser-side occlusion detection, and realizes the real-time calculation of the occlusion relationship through GPU hardware acceleration, avoiding the phenomenon of lag caused by excessive occupation of CPU resources. The preprocessing mechanism of the depth map reduces repeated calculations, and the normalized coordinate conversion ensures the consistency of the calculation results between different devices, and the dynamic adaptation of the camera parameters supports the multi-angle detection requirements. The technical scheme makes the occlusion detection process run smoothly on the mobile terminal, and provides reliable data support for real-time occlusion adjustment based on the browser.
[0081] Please refer to Figure 7 , Figure 7 An embodiment of step S45 is shown as follows:
[0082] S451: Convert the model vertex coordinates into the camera view coordinate system to generate a model view matrix, and calculate the vertical distance from the vertex to the camera based on the model vertex coordinates and the model view matrix using a second preset formula.
[0083] S452: Calculate the target depth based on the opposite jaw depth value using a third preset formula.
[0084] S453: Calculate the occlusion value based on the opposite jaw depth value and the vertical distance using a fourth preset formula.
[0085] Specifically, after the model vertex coordinates are converted into the camera view coordinate system through the model view matrix, their spatial positions are unified into an observation frame with the camera as the reference, thereby eliminating the spatial deviation caused by multi-angle observation. The second preset formula acts on the converted coordinates to extract the vertical component of the vertex along the camera observation direction, forming a scalar distance parameter orthogonal to the occlusion plane. The third preset formula converts the opposite jaw geometric information stored in the depth map into the actual distance of the occlusion contact point, and establishes a quantitative reference for the target depth through numerical mapping. The fourth preset formula combines the dynamic relationship between the vertical distance and the target depth to generate a standardized occlusion value that is positively correlated with the occlusion pressure strength, providing data support for subsequent visual rendering. The model view matrix refers to a transformation matrix used to convert the three-dimensional model vertex coordinates from the world coordinate system to the camera view coordinate system, which can be realized by multiplying the vertex coordinates by the camera view projection matrix, so that the vertex position is geometrically related to the camera observation angle.
[0086] The second preset formula is:
[0087] d camera = (modelViewMatrix * v_position).z;
[0088] wherein d camera is the vertical distance of the vertex to the camera, modelViewMatrix is the model view matrix, v_position is the model vertex coordinate, and ".z" refers to obtaining the z component.
[0089] The third preset formula is:
[0090]
[0091] wherein D occ is the target depth, wherein the target depth refers to the actual depth of the vertex in the case where no offset occurs; and sizeZ is the total length of the Z axis of the third bounding box.
[0092] The fourth preset formula is:
[0093]
[0094] wherein V occ is the occlusion value, and d camera is the vertical distance of the vertex to the camera.
[0095] S5: constructing a color band graph based on a preset occlusion value range, and upsampling the color band graph based on the occlusion value to generate a color band model.
[0096] Specifically, the color band graph is constructed based on the preset occlusion value range, the occlusion value is taken as a vertex attribute or a texture coordinate, the color band graph is upsampled by a shader according to a preset color interval to generate the color band model, and the color band model is displayed on a browsing end.
[0097] In one specific embodiment, the preset occlusion value range is -0.1mm-1mm, and it is assumed that occlusion is less than 0, that is, there is an occlusion conflict.
[0098] Specifically, please refer to Figure 8 and Figure 9 , Figure 8 which show one specific implementation of step S5, Figure 9 is a color band model display schematic diagram provided by the embodiments of the present application, which is described in detail as follows:
[0099] S51: constructing a color band graph based on a preset occlusion value range.
[0100] S52: taking the occlusion value as a vertex attribute or a texture coordinate, upsampling the color band graph according to a preset color interval by a shader to render the color band graph, and generating a color band model.
[0101] S53: display the color band model on the browser.
[0102] Specifically, the color interval is set according to the occlusion value range when the color band map is constructed, for example, the occlusion conflict area is mapped as a red gradient, and the normal occlusion area is mapped as a green gradient. The occlusion value of each model vertex is bound to the vertex attribute or the texture coordinate, the color gradient data of the color band map is read through the shader, and the occlusion value is color-interpolated by using the GPU parallel computing capability. In the rendering process, the shader samples the corresponding color in the color band map according to the normalized occlusion value, and eliminates the color layering phenomenon through up-sampling, and finally generates the color band model with continuous color transition. When the model is displayed on the browser, the doctor can directly observe the color distribution on the surface of the three-dimensional model and quickly locate the occlusion conflict area. The doctor and the patient can very intuitively know which positions exist occlusion conflicts through the color band model generated by the rendering. Meanwhile, the mouse or finger can be clicked on any position on the model to view the current occlusion value.
[0103] Further, in combination with the color band model and the measured occlusion value, the doctor or technician can quickly adjust and retest the local model through the model editing tool. After the quality inspection, the patient's diagnosis and treatment materials can be generated through the printer. Similarly, in combination with the positive and negative feedback process and mechanism, the fast occlusion detection based on the GPU has the possibility of realizing automatic single crown design only on the browser, which directly eliminates the manual adjustment of the doctor or technician.
[0104] In the embodiment of the present application, the upper and lower jaw models are obtained, and an occlusion coordinate system is constructed based on an occlusion plane, wherein the upper and lower jaw models include an upper jaw model and a lower jaw model; the upper jaw model is moved along the normal vector of the occlusion plane, and the lower jaw model is moved in the opposite direction of the normal vector of the occlusion plane; an upper and lower jaw depth map is constructed, and the model vertex coordinates in the occlusion coordinate system are normalized to generate normalized coordinates; an opposite jaw depth map is determined based on the position information of the model vertex coordinates in the upper and lower jaw models, and an occlusion value is calculated based on the normalized coordinates, the sampling information of the opposite jaw depth map and the camera parameters, wherein the opposite jaw depth map is the upper jaw depth map or the lower jaw depth map in the upper and lower jaw depth map; a color band map is constructed based on a preset occlusion value range, and the color band map is up-sampled based on the occlusion value to generate a color band model. The embodiment of the present application generates a depth map by constructing an occlusion coordinate system, performs parallel calculation by using a GPU rendering pipeline, realizes real-time detection of efficient target depth and occlusion value on the browser, and has the advantages of improving the occlusion detection efficiency on the browser, avoiding device overheating and reducing power consumption.
[0105] Please refer to Figure 10 , as an implementation of the method shown in Figure 1 , the present application provides an embodiment of an occlusion relationship detection device, and the device embodiment is combined with Figure 1The method embodiment shown corresponds to the device, which can be specifically applied to various electronic devices.
[0106] As shown in Figure 10 The occlusion relationship detection device of the embodiment includes a model obtaining module 61, a camera position generating module 62, a depth map constructing module 63, an occlusion value calculating module 64, and a color band model generating module 65, wherein:
[0107] The model obtaining module 61 is configured to obtain upper and lower jaw models, and construct an occlusion coordinate system based on an occlusion plane, wherein the upper and lower jaw models include an upper jaw model and a lower jaw model.
[0108] The camera position generating module 62 is configured to move the upper jaw model along the normal vector of the occlusion plane, and move the lower jaw model in the opposite direction of the normal vector of the occlusion plane.
[0109] The depth map constructing module 63 is configured to construct upper and lower jaw depth maps, and normalize the model vertex coordinates in the occlusion coordinate system to generate normalized coordinates.
[0110] The occlusion value calculating module 64 is configured to determine a counter jaw depth map based on the position information of the model vertex coordinates in the upper and lower jaw models, and calculate an occlusion value based on the normalized coordinates, the sampling information of the counter jaw depth map, and camera parameters, wherein the counter jaw depth map is the upper jaw depth map or the lower jaw depth map in the upper and lower jaw depth maps.
[0111] The color band model generating module 65 is configured to construct a color band map based on a preset occlusion value range, and up-sample the color band map based on the occlusion value to generate a color band model.
[0112] Further, the camera position generating module 62 includes:
[0113] A bounding box generating unit is configured to calculate the bounding boxes of the upper jaw model and the lower jaw model in the occlusion coordinate system respectively to obtain a first bounding box and a second bounding box.
[0114] A bounding box merging unit is configured to merge the first bounding box and the second bounding box to generate a third bounding box.
[0115] A model moving unit is configured to determine a moving amount based on the third bounding box, and move the upper jaw model along the normal vector of the occlusion plane based on the moving amount, and move the lower jaw model in the opposite direction of the normal vector of the occlusion plane based on the moving amount.
[0116] Further, the depth map constructing module 63 includes:
[0117] A camera observation position generating unit is configured to calculate a camera observation position based on the bottom midpoint of the first bounding box and the top midpoint of the second bounding box, and generate a camera field of view range based on the length and width of the third bounding box.
[0118] a depth map rendering unit configured to generate upper and lower jaw depth maps along a symmetric direction of the bite plane according to the camera observation position;
[0119] a plane coordinate generating unit configured to obtain any model vertex coordinate in the upper and lower jaw models and project the model vertex coordinate to the bite plane to generate a plane coordinate;
[0120] a coordinate normalization unit configured to normalize the plane coordinate to generate a normalized coordinate.
[0121] Further, the bite value calculation module 64 comprises:
[0122] a jaw depth map transmission unit configured to determine a jaw depth map based on the position information of the model vertex coordinate in the upper and lower jaw models;
[0123] a depth map sampling unit configured to sample the model vertex coordinate in the jaw depth map based on the normalized coordinate to obtain a depth value;
[0124] a distance extreme value obtaining unit configured to obtain a camera rendering distance extreme value if the depth value is greater than zero;
[0125] a first calculation unit configured to calculate an actual depth based on the depth value and the camera rendering distance extreme value using a first preset formula to obtain a jaw depth value;
[0126] a bite calculation unit configured to calculate a target depth and a bite value according to the camera parameters and the actual depth.
[0127] Further, the bite value calculation unit comprises:
[0128] a second calculation unit configured to convert the model vertex coordinate into a model view matrix of a camera view coordinate system and calculate a vertical distance from the vertex to the camera based on the model vertex coordinate and the model view matrix using a second preset formula;
[0129] a third calculation unit configured to calculate the target depth based on the jaw depth value using a third preset formula;
[0130] a fourth calculation unit configured to calculate the bite value based on the jaw depth value and the vertical distance using a fourth preset formula.
[0131] Further, the model obtaining module 61 comprises:
[0132] an upper and lower jaw model obtaining unit configured to obtain the upper and lower jaw models if the upper and lower jaw models, the bite plane, and the rotation and translation parameters of the bite relationship exist;
[0133] The occlusion coordinate system construction unit is configured to construct an occlusion coordinate system based on a horizontal axis, a vertical axis and a vertical axis, wherein the horizontal axis and the vertical axis are two mutually perpendicular unit vectors in the occlusion plane, and the vertical axis is a unit normal vector of the occlusion plane.
[0134] Further, the color band model generation module 65 comprises:
[0135] The color band graph construction unit is configured to construct a color band graph based on a preset occlusion value range.
[0136] The color band graph up-sampling unit is configured to up-sample the color band graph according to a preset color interval through a shader based on the occlusion value as a vertex attribute or a texture coordinate, so as to render the color band graph and generate a color band model.
[0137] The color band model display unit is configured to display the color band model on a browsing end.
[0138] To solve the above technical problems, the embodiment of the present application further provides a computer device. For details, please refer to Figure 11 , Figure 11 The basic structure block diagram of the computer device of the present embodiment is shown in FIG. 1.
[0139] The computer device 7 comprises a memory 71, a processor 72 and a network interface 73 which are connected to each other through a system bus. It should be noted that Figure 11 The computer device 7 shown in the figure comprises three components, i.e. the memory 71, the processor 72 and the network interface 73, but it should be understood that all the components shown are not required to be implemented, and more or fewer components can be alternatively implemented. Those skilled in the art can understand that the computer device herein is a device capable of automatically performing numerical calculation and / or information processing according to pre-set or stored instructions, and the hardware thereof comprises but is not limited to a microprocessor, an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), an embedded device, etc.
[0140] The computer device can be a desktop computer, a notebook computer, a palm computer, a cloud server and other computing devices. The computer device can interact with a user through a keyboard, a mouse, a remote controller, a touchpad or a voice control device.
[0141] The memory 71 includes at least one type of readable storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory (e.g., SD or DX memory, etc.), a random access memory (RAM), a static random access memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, an optical disk, etc. In some embodiments, the memory 71 can be an internal storage unit of the computer device 7, such as a hard disk or a memory of the computer device 7. In other embodiments, the memory 71 can also be an external storage device of the computer device 7, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the computer device 7. Of course, the memory 71 can also include both the internal storage unit and the external storage device of the computer device 7. In the present embodiment, the memory 71 is generally used to store an operating system and various application software installed on the computer device 7, such as program codes of the occlusal relationship detection method, etc. In addition, the memory 71 can also be used to temporarily store various data that have been output or will be output.
[0142] The processor 72 can be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other data processing chip in some embodiments. The processor 72 is generally used to control the overall operation of the computer device 7. In the present embodiment, the processor 72 is used to run program codes or process data stored in the memory 71, such as running program codes of the occlusal relationship detection method, to implement various embodiments of the occlusal relationship detection method.
[0143] The network interface 73 can include a wireless network interface or a wired network interface, and is generally used to establish a communication connection between the computer device 7 and other electronic devices.
[0144] The present application also provides another embodiment, i.e., to provide a computer readable storage medium storing a computer program, which can be executed by at least one processor to make the at least one processor execute the steps of an occlusal relationship detection method as described above.
[0145] Those skilled in the art can clearly understand the above-mentioned embodiment method can be realized by means of software and the necessary general hardware platform, of course, can also be through hardware, but in many cases the former is a better implementation. Based on such understanding, the technical solutions of the present application essentially or say the part of the prior art to make contributions can be in the form of a software product, the computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disc), including a number of instructions to make a terminal device (may be a mobile phone, computer, server, air conditioner, or network equipment, etc.) to execute the method of each embodiment of the present application.
[0146] Obviously, the above-described embodiments are only a part of the embodiments of the present application, rather than all the embodiments, the preferred embodiments of the present application are given in the drawings, but do not limit the scope of the present application. The present application can be realized in many different forms, and contrary, the purpose of providing these embodiments is to make the disclosure of the present application more thorough and comprehensive. Although the present application is described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions recorded in the foregoing specific embodiments, or make equivalent replacement for some technical features. Any equivalent structure made by using the contents of the present application specification and drawings, directly or indirectly used in other related technical fields, are also within the scope of the present application.
Claims
1. A method for detecting occlusal relationship, characterized in that: include: Obtaining upper and lower jaw models, and constructing an occlusal coordinate system based on the occlusal plane, wherein the upper and lower jaw models include an upper jaw model and a lower jaw model; Moving the maxillary model along the normal vector of the occlusal plane, and moving the mandibular model along the opposite direction of the normal vector of the occlusal plane; Constructing maxillary and mandibular depth maps, and normalizing the model vertex coordinates in the occlusal coordinate system to generate normalized coordinates; Determine a mandibular depth map based on the position information of the model vertex coordinates on the upper and lower jaw models, and calculate an occlusion value based on the normalized coordinates, sampling information of the mandibular depth map, and camera parameters, wherein the mandibular depth map is the upper jaw depth map or the mandibular depth map in the upper and lower jaw depth maps; A color band diagram is constructed based on a preset bite value range, and the color band diagram is upsampled based on the bite value to generate a color band model.
2. The occlusal relationship detection method according to claim 1, characterized in that: Moving the maxillary model along the normal vector of the occlusal plane and moving the mandibular model along the opposite direction of the normal vector of the occlusal plane comprises: respectively calculating the bounding boxes of the maxillary model and the mandibular model in the occlusal coordinate system to obtain a first bounding box and a second bounding box; Merging the first bounding box and the second bounding box to generate a third bounding box; A movement amount is determined based on the third enclosure, and the maxillary model is moved along the occlusal plane normal vector based on the movement amount, and the mandibular model is moved in the opposite direction of the occlusal plane normal vector based on the movement amount.
3. The occlusal relationship detection method according to claim 2, characterized in that: The step of constructing the depth map of the maxillary and mandibular parts and normalizing the coordinates of the model vertices in the occlusal coordinate system to generate normalized coordinates includes: Calculating a camera observation position based on the bottom midpoint of the first bounding box and the top midpoint of the second bounding box, and generating a camera field of view based on the length and width of the third bounding box; generating the upper and lower jaw depth maps according to the camera observation position along the symmetric direction of the occlusal plane; Obtaining the coordinates of any model vertex in the upper and lower jaw models, and projecting the model vertex coordinates onto the occlusal plane to generate plane coordinates; The plane coordinates are normalized to generate the normalized coordinates.
4. The occlusal relationship detection method according to claim 1, characterized in that: The method of determining the mandibular depth map based on the position information of the model vertex coordinates on the upper and lower jaw models, and calculating the occlusion value based on the normalized coordinates, the sampling information of the mandibular depth map, and the camera parameters includes: Determining the jaw depth map based on the position information of the model vertex coordinates on the upper and lower jaw models; Sampling the model vertex coordinates in the mandibular depth map based on the normalized coordinates to obtain depth values; If the depth value is greater than zero, obtaining the camera rendering distance extreme value; Calculating the actual depth based on the depth value and the camera rendering distance extreme value using a first preset formula to obtain a mandibular depth value; The target depth and the bite value are calculated based on the camera parameters and the actual depth.
5. The occlusal relationship detection method according to claim 4, characterized in that: The calculating the target depth and the bite value according to the camera parameters and the actual depth includes: Converting the model vertex coordinates into a camera view coordinate system to generate a model view matrix, and using a second preset formula to calculate the vertical distance from the vertex to the camera based on the model vertex coordinates and the model view matrix; Calculating the target depth based on the mandibular depth value using a third preset formula; The occlusion value is calculated based on the mandibular depth value and the vertical distance using a fourth preset formula.
6. The occlusal relationship detection method according to any one of claims 1 to 5, characterized in that: The method of obtaining the upper and lower jaw models and constructing an occlusal coordinate system based on the occlusal plane includes: If the upper and lower jaw models, the occlusal plane, and the rotation and translation parameters of the occlusal relationship exist, obtaining the upper and lower jaw models; Any two mutually perpendicular unit vectors in the occlusal plane are respectively used as the horizontal axis and the vertical axis, the unit normal vector of the occlusal plane is used as the vertical axis, and the occlusal coordinate system is constructed based on the horizontal axis, the vertical axis and the vertical axis.
7. The occlusal relationship detection method according to any one of claims 1 to 5, characterized in that: The occlusion relationship detection is performed based on a GPU, a color band diagram is constructed based on a preset occlusion value range, and the color band diagram is upsampled based on the occlusion value to generate a color band model, including: constructing the color band diagram based on the preset bite value range; Using the bite value as a vertex attribute or texture coordinate, upsampling the color band map according to a preset color range through a shader to render the color band map and generate the color band model; The ribbon model is displayed on the browsing terminal.
8. An occlusal relationship detection device, characterized in that: include: A model acquisition module, configured to acquire upper and lower jaw models and construct an occlusal coordinate system based on the occlusal plane, wherein the upper and lower jaw models include an upper jaw model and a lower jaw model; a camera position generating module, configured to move the maxillary model along the normal vector of the occlusal plane and move the mandibular model in the opposite direction of the normal vector of the occlusal plane; A depth map construction module is used to construct maxillary and mandibular depth maps and normalize the model vertex coordinates in the occlusal coordinate system to generate normalized coordinates; an occlusal value calculation module, configured to determine a mandibular depth map based on the position information of the model vertex coordinates in the upper and lower jaw models, and calculate an occlusal value based on the normalized coordinates, the sampling information of the mandibular depth map, and camera parameters, wherein the mandibular depth map is either the upper jaw depth map or the mandibular depth map in the upper and lower jaw depth maps; The color ribbon model generation module is used to construct a color ribbon diagram based on a preset bite value range, and upsample the color ribbon diagram based on the bite value to generate a color ribbon model.
9. A computer device, characterized in that: The method comprises a memory and a processor, wherein the memory stores a computer program, and the processor implements the occlusal relationship detection method according to any one of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the occlusal relationship detection method according to any one of claims 1 to 7 is implemented.