A method for generating a glasses model and an electronic device
By generating a virtual 3D model that matches the user's head and adjusting the forward tilt angle of the lenses, the problem of uncertainty in the wearing comfort of 3D printed custom glasses has been solved, achieving a better user experience and standardized processes.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZHUHAI SAILNER SHIBO TECH CO LTD
- Filing Date
- 2023-03-31
- Publication Date
- 2026-05-05
AI Technical Summary
The user experience of existing 3D printed custom glasses is poor, mainly because the inconsistent manual adjustments made by designers result in uncertain wearing comfort, requiring subsequent adjustments.
A virtual 3D model is generated by acquiring the user's head feature data. The glasses model is then adjusted to fit the head model, and the forward tilt angle of the lenses is standardized to ensure that the frame, nose pads, and temples match the head model. Finally, 3D printing technology is used to generate the glasses.
It improves the wearing comfort and user experience of 3D printed glasses, reduces the need for later adjustments, and standardizes the customization process and standards.
Smart Images

Figure CN116305364B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of eyeglass manufacturing technology, and in particular to a method for generating eyeglass models and an electronic device. Background Technology
[0002] 3D printing is a rapid prototyping technology that uses digital model files as a basis to create corresponding physical objects by printing layer by layer. 3D printing is widely used in various fields; for example, it can be used to customize eyeglasses.
[0003] The process of customizing glasses through 3D printing typically includes: creating a virtual 3D model of the user's head based on the user's head feature data; having the user select an initial 3D digital model of glasses that matches their personal preferences; and adjusting the initial 3D digital model of glasses selected by the user to fit the virtual 3D model of the user's head, thereby obtaining the custom-made glasses.
[0004] Generally, adjusting the initial 3D digital model of the glasses selected by the user is done manually by the designer. Because different designers have different standards for manually adjusting the initial 3D digital model to fit the virtual 3D model on the user's head, the fit cannot be accurately measured. This results in uncertainty regarding the wearing comfort of the final custom-made glasses. Often, after receiving the custom glasses and experiencing them firsthand, users need to make adjustments to at least one of the components such as the headband, nose pads, or temples to improve wearing comfort, thus affecting the user experience of the 3D printed custom glasses. Summary of the Invention
[0005] To address the issue of improving the user experience of 3D printed custom glasses, this application provides a method for generating glasses models and an electronic device, and also provides a computer-readable storage medium.
[0006] The embodiments of this application adopt the following technical solutions:
[0007] In a first aspect, this application provides a method for generating an eyeglass model, the method being applied to an electronic device, the method comprising:
[0008] Acquire user head feature data, and generate a virtual 3D head model based on the head feature data;
[0009] Determine the first glasses model;
[0010] Based on the virtual 3D head model, the first glasses model is adjusted to generate a second glasses model, wherein the frame, nose pads, and temples of the second glasses model are adapted to the virtual 3D head model.
[0011] Determine the lens tilt angle of the second eyeglass model;
[0012] When the lens tilt angle is not within the preset angle threshold range, the second glasses model is adjusted to generate a third glasses model, wherein the lens tilt angle of the third glasses model is within the preset angle threshold range.
[0013] According to the eyeglass model generation method of this application, a second eyeglass model is first generated, in which the frame, nose pads, and temples can all be adapted to a virtual 3D head model. Based on the second eyeglass model, the forward tilt angle of the lenses is adjusted to obtain a third eyeglass model for 3D printing. The eyeglass model generation method of this application can standardize the customization process and standards for 3D printed eyeglasses, improve the wearing comfort of 3D printed eyeglasses, and enhance the user experience of customizing 3D printed eyeglasses.
[0014] In one implementation of the first aspect, the step of adjusting the first glasses model based on the virtual 3D head model to generate a second glasses model includes:
[0015] Determine the feature points in the virtual 3D model of the head, as well as the shape and position of the eyes, nose, and ears;
[0016] The spacing between feature points related to the eyeglass parameters is determined based on the aforementioned feature points;
[0017] Based on the feature point spacing, as well as the shape and position of the eyes, nose, and ears, the parameters of the first glasses model are adjusted to generate the second glasses model.
[0018] In one implementation of the first aspect, determining the lens tilt angle of the second eyeglass model includes:
[0019] Measure a first distance value, which is the distance from the center point of the hinge on the same side of the second eyeglass model to the bend of the temple;
[0020] Measure the second distance value, which is the distance between the center point of the nose pad on the same side of the second glasses model and the horizontal center line of the lens;
[0021] Measure a third distance value, which is the distance between the center point of the pile head on the same side of the second eyeglasses model and the horizontal center line of the lens;
[0022] The lens tilt angle of the second eyeglass model is determined based on the first distance value, the second distance value, and the third distance value.
[0023] In one implementation of the first aspect, adjusting the second eyeglass model when the lens tilt angle is not within a preset angle threshold range includes:
[0024] Adjust at least one parameter of the position and angle of the head of the second eyeglasses model; and / or adjust at least one parameter of the position and angle of the nose pad of the second eyeglasses model.
[0025] In one implementation of the first aspect, the frame, nose pads, and temples of the third glasses model are respectively adapted to the virtual three-dimensional head model.
[0026] Secondly, this application provides a method for generating eyeglasses, the method comprising:
[0027] A third glasses model is obtained based on the method described in the first aspect;
[0028] Perform slicing and layering processing on the third glasses model to obtain at least one slice layer image data;
[0029] Data processing is performed on the sliced layer image data to obtain layer printing data;
[0030] The layers of the glasses are obtained by 3D printing based on the layer printing data, and the glasses are obtained by printing and stacking the layers one by one.
[0031] Thirdly, this application provides an electronic device, the electronic device comprising:
[0032] The model building module is used to acquire user head feature data and generate a virtual 3D head model based on the head feature data.
[0033] The model selection module is used to determine the first glasses model;
[0034] The model adaptation module is used to adjust the first glasses model based on the virtual 3D head model to generate a second glasses model, wherein the frame, nose pads, and temples of the second glasses model are adapted to the virtual 3D head model.
[0035] The model adjustment module is used to: determine the lens tilt angle of the second glasses model; when the lens tilt angle is not within a preset angle threshold range, adjust the second glasses model to generate a third glasses model, wherein the lens tilt angle of the third glasses model is within the preset angle threshold range.
[0036] Fourthly, this application provides an eyeglasses manufacturing system, the system comprising:
[0037] The model building module is used to acquire user head feature data and generate a virtual 3D head model based on the head feature data.
[0038] The model selection module is used to determine the first glasses model;
[0039] The model adaptation module is used to adjust the first glasses model based on the virtual 3D head model to generate a second glasses model, wherein the frame, nose pads, and temples of the second glasses model are adapted to the virtual 3D head model.
[0040] The model adjustment module is used to: determine the lens tilt angle of the second glasses model; when the lens tilt angle is not within a preset angle threshold range, adjust the second glasses model to generate a third glasses model, wherein the lens tilt angle of the third glasses model is within the preset angle threshold range;
[0041] The model slicing module is used to perform slicing and layering processing on the third glasses model to obtain at least one slice layer image data.
[0042] The data processing module is used to process the sliced layer image data to obtain layer printing data;
[0043] The model printing module is used to perform three-dimensional printing based on the layer printing data to obtain the layers of the glasses, and to print and stack the layers one by one to obtain the glasses.
[0044] Fifthly, this application provides an electronic device, the electronic device including a memory for storing computer program instructions and a processor for executing the computer program instructions, wherein when the computer program instructions are executed by the processor, the electronic device is triggered to perform the steps of the method described in the first or second aspect.
[0045] In a sixth aspect, this application provides a computer-readable storage medium storing a computer program that, when run on a computer, causes the computer to perform the method described in the first or second aspect. Attached Figure Description
[0046] Figure 1 The diagram shown is an electronic device according to an embodiment of this application;
[0047] Figure 2 The diagram shown is a schematic representation of a virtual 3D head model generated according to an embodiment of this application.
[0048] Figure 3 The diagram shown is a flowchart of a method for generating an eyeglasses model according to an embodiment of this application;
[0049] Figure 4 The diagram shown is a flowchart of the adjustment process for an eyeglasses model according to an embodiment of this application;
[0050] Figure 5 The diagram shown is a schematic representation of a second glasses model generated according to an embodiment of this application;
[0051] Figure 6 The image shown is a schematic diagram of eyeglasses according to an embodiment of this application;
[0052] Figure 7 The diagram shown is a flowchart of the adjustment process for an eyeglasses model according to an embodiment of this application;
[0053] Figure 8 The image shown is a schematic diagram of a glasses model according to an embodiment of this application;
[0054] Figure 9 As shown Figure 8 Side view of the glasses model shown;
[0055] Figure 10 As shown Figure 8 The front view of the glasses model shown;
[0056] Figure 11 The diagram shown is a partial flowchart of a method for generating eyeglasses according to an embodiment of this application;
[0057] Figure 12 The diagram shown is a schematic diagram of a glasses generation system according to an embodiment of this application. Detailed Implementation
[0058] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0059] The terminology used in the implementation section of this application is for the purpose of explaining specific embodiments of this application only, and is not intended to limit this application.
[0060] To address the issue of improving the user experience of 3D printed custom glasses, this application provides a method for generating glasses models. During the generation of the glasses model, the model is optimized and adjusted for wearing comfort, so that after the final customized glasses are generated, users do not need to make tedious adaptation adjustments to ensure the comfort of wearing the glasses, thereby improving the user experience.
[0061] The eyeglasses model generation method provided in this application is applied to electronic devices.
[0062] Figure 1 The diagram shown is an electronic device according to an embodiment of this application.
[0063] like Figure 1As shown, the electronic device 100 includes a model building module 110, a glasses model library 120, a model selection module 130, a model adaptation module 141, and a model adjustment module 142.
[0064] The model building module 110 is used to generate a virtual 3D model of the user's head.
[0065] In one embodiment, the electronic device 100 further includes a data acquisition module for acquiring head feature data of a user, such as a 3D scanning device.
[0066] In another embodiment, the electronic device 100 does not include a data acquisition module for acquiring user head feature data. The user's head feature data is input to the model building module 110 by an external device other than the electronic device 100.
[0067] Figure 2 The diagram shown is a schematic of a virtual three-dimensional head model generated according to an embodiment of this application.
[0068] The model building module 110 first performs a 3D scan of the user's head using a 3D scanning device to obtain head scan image data, and then uses 3D modeling software to reconstruct a 3D model based on the head scan image data to obtain, for example, the model reconstructed from the head scan image data. Figure 2 The image shows a virtual 3D model of the head. In one embodiment, the 3D modeling software is integrated into the scanner.
[0069] In other embodiments, a mobile phone with a clear camera can be used to capture multiple images of the user's head from multiple angles to obtain multiple head feature images for use in 3D modeling software to create a virtual 3D head model; alternatively, user head data can be obtained through other means for 3D reconstruction, and this application does not impose any limitations. The 3D modeling software used in this embodiment can be commercially available software such as Maya or C4D, as long as it can perform 3D reconstruction based on the user's head data to obtain a virtual 3D head model that meets the requirements.
[0070] The eyeglasses model library 120 is used to store pre-created eyeglasses models. The eyeglasses model library 120 contains a database of eyeglasses models, including various styles and colors. Figure 1 In the illustrated embodiment, the eyeglasses model library 120 is a local database of the electronic device 100. In another embodiment, the eyeglasses model library may also be stored in the cloud.
[0071] The model selection module 130 is used to determine the first glasses model.
[0072] The first glasses model is a glasses model that is not adapted to the user's virtual 3D head model. In one embodiment, corresponding glasses models are generated for different glasses styles. The first glasses model is a glasses model of the style selected by the user.
[0073] Specifically, in one embodiment, the user selects a preferred style of glasses model from the glasses model library 120 according to their own preferences. The model selection module 130 determines the selected glasses model as the first glasses model based on the user's input.
[0074] In another embodiment, an external device (e.g., a cloud server or a local terminal device) directly inputs the glasses model into the model selection module 130, and the model selection module 130 uses the received glasses model as the first glasses model.
[0075] The model adaptation module 141 is used to adjust the first glasses model based on the virtual 3D head model to generate the second glasses model.
[0076] The model adjustment module 142 is used to determine the lens tilt angle of the second glasses model; when the lens tilt angle is not within the preset angle threshold range, the second glasses model is adjusted to generate a third glasses model for 3D printing. The lens tilt angle of the third glasses model is within the preset angle threshold range (please refer to the following description for the concept of lens tilt angle and the adjustment process of the second model).
[0077] Figure 3 The diagram shown is a flowchart of a method for generating an eyeglasses model according to an embodiment of this application.
[0078] Figure 1 The electronic device 100 shown performs Figure 3 The following steps are shown to generate a model of the third pair of glasses for 3D printing.
[0079] S310, the model building module 110 acquires the user's head feature data and generates a virtual three-dimensional head model based on the head feature data.
[0080] S320, Model selection module 130 determines the first glasses model.
[0081] S330, the model adaptation module 141, based on the virtual 3D head model, adjusts the first glasses model to generate a second glasses model, and the frame, nose pads, and temples of the second glasses model are adapted to the virtual 3D head model.
[0082] Figure 4 The diagram shown is a flowchart of the adjustment process for an eyeglasses model according to an embodiment of this application.
[0083] Specifically, in one implementation of S330, the following is executed: Figure 4The following process is shown.
[0084] S410, determine the feature points in the virtual 3D model of the head, as well as the shape and position of the eyes, nose and ears.
[0085] Specifically, based on the virtual 3D model of the head, feature points in the virtual 3D model of the head are determined in 3D modeling software (such as Blender).
[0086] The feature points include at least one of the following: facial contour point, cheek point, brow bone point, eyebrow starting point, eyebrow ending point, inner corner of eye point, outer corner of eye point, pupil point, temple point, cheekbone point, temporal bone point, nasal root point, nasal tip point, left and right nasal sides points, left and right corners of mouth points, chin base point, ear root point, and auricle point. (It should be noted that the feature points listed above are only examples; in other embodiments, more feature points can be extracted.)
[0087] S420 determines the spacing between feature points related to glasses parameters based on feature points of a virtual 3D head model.
[0088] For example, interpupillary distance, mirror eye height, mirror eye distance, temporal bone distance, zygomatic bone distance, and the relative distance from the pupil point to the ear root point.
[0089] Specifically, the pupillary distance, lens height, and lens distance are determined based on the pupil point; the temporal bone distance is determined based on the temporal bone point; the zygomatic bone distance is determined based on the zygomatic bone point; and the distance between the pupil point and the ear root point is obtained by measuring the relative distance between the pupil point and the ear root point.
[0090] S430, based on the feature point spacing, as well as the shape and position of the eyes, nose and ears, adjusts the parameters of the first glasses model to generate the second glasses model.
[0091] One implementation of S430 includes:
[0092] Based on the shape and position of the eyes, and at least one of the interpupillary distance, lens height, temporal bone distance, and zygomatic bone distance, the frame parameters of the first glasses model are adjusted to generate a second glasses model that is adapted to the virtual 3D model of the head.
[0093] The nose pad parameters of the second glasses model are generated by adjusting the shape and position of the nose, the position of the root of the nose and the left and right sides of the nose, based on the shape and position of the nose, the position of the root of the nose and the position of the left and right sides of the nose.
[0094] The temple parameters of the first glasses model are adjusted based on the shape and position of the ear, the distance between the lens and eye, and the relative distance from the pupil point to the ear root point, to generate a second glasses model that is adapted to the virtual 3D model of the head.
[0095] Based on the adapted frame parameters, nose pad parameters, and temple parameters, a second eyeglass model is generated, in which the frame, nose pad, and temple are adapted to the virtual 3D head model.
[0096] Figure 5 The diagram shown is a schematic of a second glasses model generated according to an embodiment of this application.
[0097] In one embodiment, after S430, as Figure 5 As shown, a second glasses model is generated that is adapted to the virtual 3D head model.
[0098] After S330, execute S340 and S350.
[0099] S340, Model Adjustment Module 142 determines the lens tilt angle of the second glasses model.
[0100] S350, when the lens tilt angle is not within the preset angle threshold range, the model adjustment module 142 adjusts the second glasses model to generate a third glasses model for 3D printing. The lens tilt angle of the third glasses model is within the preset angle threshold range.
[0101] Specifically, when glasses are worn (or the temples are horizontal), the angle between the plane of the lens and the vertical direction (the angle between the plane of the lens and the vertical line) is called the lens tilt angle.
[0102] Figure 6 The image shown is a schematic diagram of eyeglasses according to an embodiment of this application.
[0103] like Figure 6 As shown, the forward tilt angle α of the lens is the angle between the plane line L1 of the eyeglass lens and the vertical line L. Specifically, the eyeglasses are placed flat on a certain plane, the plane line L1 of the eyeglass lens is a straight line passing through the upper and lower vertices of the eyeglass lens, and the vertical line L is a normal line perpendicular to the plane.
[0104] The forward tilt angle of the lens can affect the comfort of the user when wearing glasses. Wearing glasses with an improper forward tilt angle for a long time can worsen the user's vision problems.
[0105] Therefore, to improve the wearing comfort of the glasses, the forward tilt angle of the lenses of the second glasses model is adjusted in S340 and S350. According to the method of this embodiment, based on a second glasses model whose frame, nose pads, and temples are respectively adapted to a virtual three-dimensional head model, the forward tilt angle of the lenses of the second glasses model is further adjusted to improve wearing comfort. This method involves fewer adjustment variables and fewer conditions that need to be met simultaneously, allowing for a simple, quick, and accurate acquisition of a glasses model with high wearing comfort.
[0106] Specifically, Figure 7The diagram shown is a flowchart of the adjustment process for an eyeglasses model according to an embodiment of this application.
[0107] In one embodiment, the model adjustment module 142 performs the following: Figure 7 The following steps are shown to implement S340 and S350.
[0108] S700, determine the lens tilt angle of the second eyeglass model.
[0109] In one embodiment, the second eyeglasses model does not include lenses. In S700, the plane containing the lenses can be determined based on the frame of the second eyeglasses model (e.g., Figure 6 The plane line L1 shown is used to further determine the lens tilt angle (e.g., the lens tilt line L1). Figure 6 The angle α between the plane line L1 and the vertical line L shown.
[0110] Specifically, in S700, those skilled in the art can determine the lens tilt angle of the second eyeglass model in a variety of different ways.
[0111] For example, in one implementation of S700, a side view of the second glasses model is obtained (see reference). Figure 6 (As shown). Image recognition is performed based on the side view to obtain the lens tilt angle. For example, measurement is performed through image recognition. Figure 6 The lens tilt angle α is shown in the figure.
[0112] For example, in another implementation of S700, the lens tilt angle is obtained by using the angle annotation function between the plane line and the vertical line of the lens in the 3D modeling software.
[0113] For example, in another implementation of S700, the lens tilt angle of the second eyeglass model is calculated using the model parameters of the second eyeglass model.
[0114] Specifically, Figure 8 The image shown is a schematic diagram of an eyeglasses model according to an embodiment of this application.
[0115] In one embodiment, the second glasses model is as follows: Figure 8 As shown, 1 is the bridge of the glasses; 2 is the nose pad (right side); 3 is the frame; 4 is the lens (left side); 5 is the temple (left side); and 6 is the temple (left side).
[0116] Because the glasses are designed with central symmetry, markings 2, 4, 5, and 6 only mark one side of the glasses.
[0117] Figure 9 As shown Figure 8 The side view of the glasses model shown.
[0118] like Figure 9 As shown, 51 is the center point of the hinge connecting the frame and the temple; 61 is the temple bend point.
[0119] Based on the positions of 51 and 61, measure the distance D1 (first distance value D1) from the hinge center point 51 to the temple bend point 61.
[0120] Figure 10 As shown Figure 8 The front view of the glasses model shown.
[0121] like Figure 10 As shown, 21 is the nose pad ( Figure 8 The center point of the left nose bridge (as shown); 52 is the pile head ( Figure 8 The center point of the left pile head shown; 41 is the lens ( Figure 8 The horizontal center line of the left lens shown.
[0122] Based on the positions of 21 and 41, measure the distance D2 (second distance value) from the center point 21 of the nose pad to the horizontal center line 41 of the lens.
[0123] Based on the positions of 52 and 41, measure the distance D3 (third distance value) from the center point 52 of the pile head to the horizontal center line 41 of the lens.
[0124] The second glasses model is determined based on distance values D1, D2, and D3. Figure 8 The lens tilt angle of the eyeglasses model shown is calculated. Specifically, in one embodiment, the lens tilt angle α is calculated based on the following formula.
[0125]
[0126] In the above implementation of S700, the lens tilt angle is calculated by using the tilt angle calculation formula (Equation 1) based on the distance between different components, which can efficiently and accurately obtain the lens tilt angle α.
[0127] S710, determine whether the lens tilt angle of the second glasses model is within the preset angle threshold range.
[0128] Specifically, in one embodiment, the preset angle threshold range can be determined by those skilled in the art based on historical data of user comfort when wearing glasses.
[0129] In another embodiment, the preset angle threshold range can be set by the user.
[0130] Specifically, in one embodiment, the preset angle threshold range is 0° to 10°.
[0131] When the forward tilt angle of the lens of the second eyeglass model is within the preset angle threshold range, execute S721.
[0132] S721 uses the current second glasses model as the third glasses model for 3D printing.
[0133] When the forward tilt angle of the lens of the second eyeglass model is not within the preset angle threshold range (e.g., less than 0° or greater than 10°), execute S722.
[0134] S722, Adjust the second glasses model so that the lens tilt angle is within the preset angle threshold range.
[0135] In S722, the second glasses model is adjusted while ensuring it is compatible with the virtual 3D head model. Specifically, the frame, nose pad, and temple parameters of the adjusted second glasses model remain within the tolerance range adapted to the user's head feature data, meaning the frame, nose pad, and temples of the adjusted second glasses model are compatible with the virtual 3D head model.
[0136] In one implementation of S722, after ensuring that the second glasses model is adapted to the virtual 3D head model, the second glasses model is adjusted to change the lens tilt angle. S700 and S710 are repeatedly executed on the adjusted second glasses model until the lens tilt angle of the adjusted second glasses model is within a preset angle threshold range.
[0137] For example, adjusting such Figure 8 At least one parameter of the position and angle of the head 5 of the second eyeglasses model shown; and / or at least one parameter of the position and angle of the nose pad 2.
[0138] For the adjusted second glasses model, the first distance value D1, the second distance value D2, and the third distance value D3 are measured. The lens tilt angle is calculated based on Formula 1. It is then determined whether the lens tilt angle of the adjusted second glasses model is within the preset angle threshold range. This process is repeated until the lens tilt angle of the adjusted second glasses model is within the range of greater than or equal to 0° and less than or equal to 10°.
[0139] Table 1 illustrates the results of adjusting the second eyeglass model in one embodiment to obtain a lens tilt angle within a preset angle threshold range.
[0140] Table 1
[0141] D3 (unit: mm) D2 (unit: mm) D1 (unit: mm) α (unit: °) Second glasses model 20 2.5 105 12.37 First adjustment 16 2.5 100 10.66 Second adjustment 14 2.5 96 9.9
[0142] As shown in Table 1, the first distance value D1 of the second glasses model that is adapted to the virtual 3D head model is determined to be 105mm, the second distance value D2 is 2.5mm, and the third distance value D3 is 20mm. Based on the three distance values, the forward tilt angle α of the lens is calculated to be 12.37°, which is not within the preset range of greater than or equal to 0° and less than or equal to 10°.
[0143] Through the first adjustment, the position parameters of the stake 5 are adjusted so that the third distance value D3 from the center point 52 of the stake to the horizontal center line 41 of the lens is changed to 16mm, the second distance value D2 is not adjusted, and the first distance value D1 is changed to 100mm. Furthermore, the frame parameters, nose pad parameters, and temple parameters of the adjusted glasses model are within the tolerance range adapted to the user's head feature data.
[0144] The forward tilt angle α of the lens of the second eyeglass model after the first adjustment is calculated to be 10.66°, which is still not within the preset range of greater than or equal to 0° and less than or equal to 10°.
[0145] Continue to make a second adjustment to the second glasses model after the first adjustment. Adjust the position parameters of the stake 5 so that the third distance value D3 from the center point 52 of the stake to the horizontal center line 41 of the lens is changed to 14mm. The second distance value D2 is not adjusted. The first distance value D1 is changed to 96mm.
[0146] The lens tilt angle α of the second eyeglass model after the second adjustment is calculated to be 9.9°, which is within the preset range of greater than or equal to 0° and less than or equal to 10°.
[0147] The second glasses model after the second adjustment is then used as the third glasses model for 3D printing.
[0148] According to the eyeglass model generation method of this application, a second eyeglass model is first generated, in which the frame, nose pads, and temples can all be adapted to a virtual 3D head model. Based on the second eyeglass model, the forward tilt angle of the lenses is adjusted to obtain a third eyeglass model for 3D printing. The eyeglass model generation method of this application can standardize the customization process and standards for 3D printed eyeglasses, improve the wearing comfort of 3D printed eyeglasses, and enhance the user experience of customizing 3D printed eyeglasses.
[0149] Furthermore, based on the eyeglasses model generation method of the embodiments of this application, an embodiment of this application also proposes an eyeglasses generation method.
[0150] Figure 11 The diagram shown is a partial flowchart of a method for generating eyeglasses according to an embodiment of this application.
[0151] Following S350, based on the third glasses model generated by S350 for 3D printing, the following steps are performed: Figure 11 The following steps are shown to generate the glasses.
[0152] S1100, Perform slicing and layering processing on the third glasses model for 3D printing to obtain at least one slice layer image data;
[0153] S1110, Data processing is performed on slice layer image data to obtain layer printing data;
[0154] In this embodiment, specifically, the slicing software (Sailner_3DP) of Sailner Technology Co., Ltd. can be used to perform slicing analysis on the third glasses model to obtain at least one slice layer image data, and then the slice layer image data is converted into layer printing data through halftone processing;
[0155] S1120 uses layer printing data to create the layers of glasses through 3D printing, and then prints and stacks these layers one by one to create the glasses.
[0156] In some embodiments, the 3D printing technologies that may be used include, but are not limited to, stereolithography (SLA), digital light processing (DLP), 3D printing technology (3DP), multi-jet melting (MJF) technology, and various other types of 3D printing or additive manufacturing technologies known in the art, without limitation.
[0157] Furthermore, based on the eyeglasses generation method of the embodiments of this application, an embodiment of this application also proposes an eyeglasses generation system.
[0158] Figure 12 The diagram shown is a schematic diagram of a glasses generation system according to an embodiment of this application.
[0159] like Figure 12 As shown, the glasses generation system 1200 includes:
[0160] Front-end device 1210, specifically including:
[0161] Data acquisition module 1211 is configured to acquire user head feature data;
[0162] Model building module 1212 is configured to build a virtual 3D model of the head based on head feature data;
[0163] The model selection module 1213 is configured to determine the first glasses model.
[0164] In one embodiment, specifically, the front-end device 1210, which includes a data acquisition module 1211, a model building module 1212, and a model selection module 1213, can be a scanner (such as the TS-268 model) from Seine 3D Technology Co., Ltd. In another embodiment, the front-end device 1210 can also be a combination of a camera-equipped shooting device and a computer device.
[0165] Mid-range device 1220, specifically including:
[0166] The model adaptation module 1221 is configured to adjust the first glasses model and generate a second glasses model that adapts to the virtual 3D head model.
[0167] The model adjustment module 1222 includes a data calculation unit 1223 and a model adjustment unit 1224. The data calculation unit 1223 is configured to calculate the lens tilt angle of the second glasses model. The model adjustment unit 1224 is configured to adjust the second glasses model based on the lens tilt angle to generate a third glasses model for 3D printing.
[0168] In one embodiment, specifically, the intermediate device 1220, which includes the model adaptation module 1221 and the model adjustment module 1222, can be a computer device with 3D modeling software (such as Blender).
[0169] Backend device 1230, specifically including:
[0170] The model slicing module 1231 is configured to perform slicing and layering processing on the glasses model to obtain at least one layer of sliced image data.
[0171] Data processing module 1232 is configured to process sliced layer image data to obtain layer printing control data;
[0172] The model printing module 1233 is configured to perform 3D printing based on layer printing control data to obtain the layers of the glasses, and print and stack them one by one to obtain the glasses.
[0173] In one embodiment, specifically, the back-end device 1230, which includes the model slicing module 1231, the data processing module 1232, and the model printing module 1233, can be a combination of a computer device with model slicing analysis software and a 3D printer.
[0174] In the description of the embodiments of this application, for the sake of convenience, they are described separately by function into various modules. The division of each module is only a logical functional division. When implementing the embodiments of this application, the functions of each module can be implemented in one or more software and / or hardware.
[0175] Specifically, the apparatus proposed in this application can be fully or partially integrated onto a single physical entity, or physically separated. These modules can be implemented entirely in software via processing element calls; entirely in hardware; or partially in software via processing element calls and partially in hardware. For example, the detection module can be a separate processing element or integrated into a chip in the electronic device. The implementation of other modules is similar. Furthermore, these modules can be fully or partially integrated together, or implemented independently. During implementation, each step of the above method or each of the above modules can be completed through integrated logic circuits in the hardware of the processor element or through software instructions.
[0176] For example, these modules can be one or more integrated circuits configured to implement the above methods, such as one or more application-specific integrated circuits (ASICs), one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs). Alternatively, these modules can be integrated together as a system-on-a-chip (SOC).
[0177] An embodiment of this application also proposes an electronic device, which includes a memory for storing computer program instructions and a processor for executing the program instructions, wherein when the computer program instructions are executed by the processor, the electronic device is triggered to execute the method described in the embodiment of this application.
[0178] Specifically, in one embodiment of this application, the one or more computer programs are stored in the memory, and the one or more computer programs include instructions that, when executed by the device, cause the device to perform the method steps described in the embodiment of this application.
[0179] Specifically, in one embodiment of this application, the processor of the electronic device may be a device-on-a-chip (SoC), which may include a central processing unit (CPU) and may further include other types of processors. Specifically, in one embodiment of this application, the processor of the electronic device may be a PWM control chip.
[0180] Specifically, in one embodiment of this application, the processor may include, for example, a CPU, DSP, microcontroller, or digital signal processor, and may also include a GPU, embedded neural network processing units (NPUs), and image signal processors (ISPs). The processor may also include necessary hardware accelerators or logic processing hardware circuits, such as ASICs, or one or more integrated circuits for controlling the execution of the program of the technical solution of this application. Furthermore, the processor may have the function of operating one or more software programs, which may be stored in a storage medium.
[0181] Specifically, in one embodiment of this application, the memory of the electronic device may be a read-only memory (ROM), other types of static storage devices capable of storing static information and instructions, random access memory (RAM), or other types of dynamic storage devices capable of storing information and instructions. It may also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM), or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices. Alternatively, it may be any computer-readable medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer.
[0182] Specifically, in one embodiment of this application, the processor and memory can be combined into a single processing device, or more commonly, they are independent components. The processor executes program code stored in the memory to implement the method described in the embodiments of this application. In specific implementations, the memory can also be integrated into the processor, or it can be independent of the processor.
[0183] Furthermore, the devices, apparatuses, and modules described in the embodiments of this application may be implemented by computer chips or physical entities, or by products with certain functions.
[0184] Those skilled in the art will understand that embodiments of this application can be provided as methods, apparatus, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media containing computer-usable program code.
[0185] In the several embodiments provided in this application, any function, if implemented as a software functional unit and sold or used as an independent product, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application.
[0186] Specifically, one embodiment of this application also provides a computer-readable storage medium storing a computer program that, when run on a computer, causes the computer to execute the method provided in the embodiment of this application.
[0187] An embodiment of this application also provides a computer program product, which includes a computer program that, when run on a computer, causes the computer to perform the method provided in the embodiment of this application.
[0188] The embodiments described in this application are described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (devices), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0189] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0190] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0191] It should also be noted that in the embodiments of this application, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent the existence of A alone, the simultaneous existence of A and B, or the existence of B alone. A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" and similar expressions refer to any combination of these items, including any combination of singular or plural items. For example, at least one of a, b, and c can represent: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, and c can be single or multiple.
[0192] In this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0193] This application can be described in the general context of computer-executable instructions, such as program modules, that are executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.
[0194] The various embodiments in this application are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the device embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0195] Those skilled in the art will recognize that the units and algorithm steps described in the embodiments of this application can be implemented using electronic hardware, computer software, or a combination of electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0196] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the devices, apparatuses, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0197] The above description is merely a specific embodiment of this application. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the protection scope of this application. The protection scope of this application should be determined by the protection scope of the claims.
Claims
1. A method for generating eyeglasses models, characterized in that, The method is applied to an electronic device, and the method includes: Acquire user head feature data, and generate a virtual 3D head model based on the head feature data; Determine the first glasses model; Based on the virtual 3D head model, the first glasses model is adjusted to generate a second glasses model, wherein the frame, nose pads, and temples of the second glasses model are adapted to the virtual 3D head model. Determine the lens tilt angle of the second eyeglass model; When the lens tilt angle is not within the preset angle threshold range, the second glasses model is adjusted to generate a third glasses model, wherein the lens tilt angle of the third glasses model is within the preset angle threshold range; Determining the lens tilt angle of the second eyeglass model includes: Measure a first distance value, which is the distance from the center point of the hinge on the same side of the second eyeglass model to the bend of the temple; Measure the second distance value, which is the distance between the center point of the nose pad on the same side of the second glasses model and the horizontal center line of the lens; Measure a third distance value, which is the distance between the center point of the pile head on the same side of the second eyeglasses model and the horizontal center line of the lens; The lens tilt angle of the second eyeglass model is determined based on the first distance value, the second distance value, and the third distance value.
2. The method according to claim 1, characterized in that, The step of adjusting the first glasses model based on the virtual 3D head model to generate a second glasses model includes: Determine the feature points in the virtual 3D model of the head; and the shape and position of the eyes, nose and ears; The spacing between feature points related to the eyeglass parameters is determined based on the aforementioned feature points; Based on the feature point spacing, and the shape and position of the eyes, nose and ears, the parameters of the first glasses model are adjusted to generate the second glasses model.
3. The method according to claim 1, characterized in that, When the forward tilt angle of the lens is not within a preset angle threshold range, adjusting the second glasses model includes: Adjust at least one parameter of the position and angle of the head of the second eyeglasses model; and / or adjust at least one parameter of the position and angle of the nose pad of the second eyeglasses model.
4. The method according to any one of claims 1-3, characterized in that, The frame, nose pads, and temples of the third glasses model are adapted to the virtual 3D head model.
5. A method for producing eyeglasses, characterized in that, The method includes: A third glasses model is obtained based on the method described in any one of claims 1-4; Perform slicing and layering processing on the third glasses model to obtain at least one slice layer image data; Data processing is performed on the sliced layer image data to obtain layer printing data; The layers of the glasses are obtained by 3D printing based on the layer printing data, and the glasses are obtained by printing and stacking the layers one by one.
6. An electronic device, characterized in that, The electronic device includes: The model building module is used to acquire user head feature data and generate a virtual 3D head model based on the head feature data. The model selection module is used to determine the first glasses model; The model adaptation module is used to adjust the first glasses model based on the virtual 3D head model to generate a second glasses model, wherein the frame, nose pads, and temples of the second glasses model are adapted to the virtual 3D head model. The model adjustment module is used to: determine the lens tilt angle of the second glasses model; when the lens tilt angle is not within a preset angle threshold range, adjust the second glasses model to generate a third glasses model, wherein the lens tilt angle of the third glasses model is within the preset angle threshold range; The model adjustment module is specifically used to measure a first distance value, which is the distance from the center point of the hinge on the same side of the second eyeglasses model to the bend of the temple; measure a second distance value, which is the distance from the center point of the nose pad on the same side of the second eyeglasses model to the horizontal center line of the lens; measure a third distance value, which is the distance from the center point of the post on the same side of the second eyeglasses model to the horizontal center line of the lens; and determine the lens tilt angle of the second eyeglasses model based on the first distance value, the second distance value, and the third distance value.
7. A glasses manufacturing system, characterized in that, The system includes: The model building module is used to acquire user head feature data and generate a virtual 3D head model based on the head feature data. The model selection module is used to determine the first glasses model; The model adaptation module is used to adjust the first glasses model based on the virtual 3D head model to generate a second glasses model, wherein the frame, nose pads, and temples of the second glasses model are adapted to the virtual 3D head model. The model adjustment module is used to: determine the lens tilt angle of the second glasses model; when the lens tilt angle is not within a preset angle threshold range, adjust the second glasses model to generate a third glasses model, wherein the lens tilt angle of the third glasses model is within the preset angle threshold range; The model slicing module is used to perform slicing and layering processing on the third glasses model to obtain at least one slice layer image data. The data processing module is used to process the sliced layer image data to obtain layer printing data; The model printing module is used to perform three-dimensional printing based on the layer printing data to obtain the layers of the glasses, and to print and stack the layers one by one to obtain the glasses; The model adjustment module is specifically used to measure a first distance value, which is the distance from the center point of the hinge on the same side of the second eyeglasses model to the bend of the temple; measure a second distance value, which is the distance from the center point of the nose pad on the same side of the second eyeglasses model to the horizontal center line of the lens; measure a third distance value, which is the distance from the center point of the post on the same side of the second eyeglasses model to the horizontal center line of the lens; and determine the lens tilt angle of the second eyeglasses model based on the first distance value, the second distance value, and the third distance value.
8. An electronic device, characterized in that, The electronic device includes a memory for storing computer program instructions and a processor for executing the computer program instructions, wherein when the computer program instructions are executed by the processor, the electronic device is triggered to perform the steps of the method as described in any one of claims 1-4 or claim 5.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when run on a computer, causes the computer to perform the method as described in any one of claims 1-4 or claim 5.
Citation Information
Patent Citations
Feature-point-based glasses modeling apparatus and method, glasses manufacturing method and glasses
CN107085864A
Try-on method of virtual glasses, terminal equipment and storage medium
CN111461814A