Various aspects of this disclosure generally relate to the field of the determination of a similarity score between eyeglasses frames.
The determination of a similarity score between eyeglasses frames allows handling different tasks. For example, this similarity score can be used to manufacture a lens or to help the user choose a suitable eyeglasses frame.
The
Actually, to identify the frame F of eyeglasses the Eye Care Professional (ECP) refers to a reference number or a bar code. The reference and the bar code are generally located on the internal side of one of the arms or both arms. By internal side, we mean the side facing the user when the user is wearing the eyeglasses.
However, in some situations, this reference number or bar code can have been deleted. This deletion can be originated from, for example, the contact of the face of the user with the internal side of the arm. Furthermore, barcodes or reference numbers are not always stored in databases that can be easily accessed by the eye care professional. Furthermore, there is no known method to determine frames F that are similar to a frame F using the reference number or bar code of this frame F.
Therefore there is a need for a method or a device to identify one or more frames F from a similarity score calculated on part of its physical characteristics, then to manufacture the lenses for the closest frame F or offer the Eye Care Professional a set of close frames F.
The following presents a simplified summary in order to provide a basic understanding of various aspects of this disclosure. This summary is not an extensive overview of all contemplated aspects and is intended to neither identify key or critical elements of all aspects nor delineate the scope of any or all aspects. The sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.
One aspect of this disclosure is a computer-implemented method for determining a similarity score between a reference eyeglasses frame and a plurality of model eyeglasses frames. The method comprises a step of generating a picture using values of a first subset of physical parameters of the reference eyeglasses frame, a step of selecting at least one of the model eyeglasses frames, based on values of a second subset of the physical parameters and by comparison of the values of the second subset of the physical parameters of the reference eyeglasses frame with the values of the second subset of the physical parameters of each of the model eyeglasses frames and a step of determining a similarity score for each of the selected model eyeglasses frames, using a convolutional neural network, by comparing the picture of the eyeglasses frame with a picture of the selected model eyeglasses frames.
Another aspect of this disclosure is a device comprising a memory and a processor, the device being arranged to execute the steps of the method for determining a similarity score between a selected eyeglasses frame and a plurality of model eyeglasses frames. The method comprises a step of generating a picture using values of a first subset of physical parameters of the reference eyeglasses frame, a step of selecting at least one of the model eyeglasses frames, based on values of a second subset of the physical parameters and by comparison of the values of the second subset of the physical parameters of the reference eyeglasses frame with the values of the second subset of the physical parameters of each of the model eyeglasses frames, a step of determining a similarity score for each of the selected model eyeglasses frames, using a convolutional neural network, by comparing the picture of the eyeglasses frame with a picture of the selected model eyeglasses frames.
Another aspect of this disclosure is a system comprising the device, a 3D scanner or a measuring arm.
For a more complete understanding of the description provided herein and the advantages thereof, reference is now made to the brief descriptions below, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts.
The detailed description set forth below in connection with the appended drawings is intended as a description of various possible embodiments and is not intended to represent the only embodiments in which the concepts described herein may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well-known structures and components are shown in block diagram form in order to avoid obscuring such concepts.
The system 101 can also comprise a screen 104. This screen can be part of the device 102 or can be an independent device connected to the device 102.
Examples of processors 102-b include microprocessors, microcontrollers, graphics processing units (GPUs), central processing units (CPUs), application processors, digital signal processors (DSPs), reduced instruction set computing (RISC) processors, systems on a chip (SoC), baseband processors, field programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionality described throughout this disclosure.
The memory 102-a is computer-readable media. By way of example, and not limitation, such computer-readable media may include a random-access memory (RAM), a read-only memory (ROM), an electrically erasable programmable ROM (EEPROM), optical disk storage, magnetic disk storage, other magnetic storage devices, combinations of the aforementioned types of computer-readable media, or any other medium that can be used to store computer executable code in the form of instructions or data structures that can be accessed by the processor 102-a of the device 102.
The system 101 also comprises a measurement device 103 to determine points of a border of a right rim R1 of the eyeglasses frame F, and points of a border of a left rim R2 of the eyeglasses frame F, and a distance separating a centre of the right rim R1 and a centre of the left rim R2. This measurement device 103 is for example a 3D scanner or a measuring arm. In some embodiments the device 103 and the device 102 can be the same device.
The memory 102-a is configured to store a computer program comprising instructions which, when the program is executed by the processor 102-b, cause the device 102 to carry out a method for determining a similarity score between a reference eyeglasses frame F and a plurality of model eyeglasses frames F. This method is represented in
In other words, the method, described above, uses as input a set of physical parameters of a frame F obtained by example using a 3D scanner, the measuring arm or traced by the Eye Care Professional. The output of the method is one or several frames F, similar to the frame F. The method allows for example to determine physical information of the frame F identified in a database corresponding to the input.
The physical parameters of the frame F (reference or model) can be:
As represented in
In an embodiment the generation of the first closed line 301 and/or the generation of the second closed line 302 is realized by, for each coordinate of the trace, linking it to the following coordinate of the trace with a straight line segment.
The first closed line and the second line are generated such that:
The step of generating 201 the picture also comprises a step of generating a straight line segment 303 between a first point of the first closed line and a second point of the second closed line. The first point and the second point are the closest points.
The step of generating 201 the picture can also comprise,
These steps of colouring allow taking into account the curve or base of the frame F of the eyeglasses.
The step of colouring the first closed line can be realized by:
The step of colouring the second closed line can be realized by:
The colour set can comprise shades of grey. Using shades of grey renders the drawing easier and is a standard in computer vision. Each gray has a value coded using 8 bits.
When the generated image is too big and to avoid using a large amount of memory, the size of the generated image can be reduced. For example, when the length of the picture is bigger than 320 pixels or when the width of the picture is bigger than 109 pixels, a step of reducing the size of the picture can be applied.
We can also resize the generated image to make it fit with the size of the input layer of the convolutional neural network.
The step of selecting 202 at least one of the model eyeglasses frames F, can comprise a comparison between the width, the height and the distance between the lenses of the reference eyeglasses frames F and the model eyeglasses frames F.
In an embodiment we select the model frames F respecting one or a plurality of the following criterias:
The convolutional neural network can be a Siamese neural network.
A Siamese neural network (also known as twin neural network) is an artificial neural network that uses the same weights while working in tandem on two different input vectors to compute comparable output vectors. Often one of the output vectors is precomputed, thus forming a baseline against which the other output vector is compared. This is similar to comparing fingerprints but can be described more technically as a distance function for locality-sensitive hashing.
The Siamese neural network comprises two identical neural networks and a cost module. The input to the system is a pair of images. The images are passed through the two identical neural networks, yielding two outputs which are passed to the cost module which produces the similarity score (absolute difference of the outputs through a sigmoid function).
The loss function is Binary Cross Entropy. The gradient of the loss function with respect to the parameter vector controlling both neural networks is computed using back-propagation. The parameter vector is updated with a stochastic gradient method using the sum of the gradients contributed by the two subnets.
In the following description, Cx denotes a convolutional layer, Mx denotes a max-pooling layer, Fx denotes a flatter layer, and Dx denotes a fully connected layer, where x is the layer index.
Each of the independent neural networks can have the following layers:
More precisely in an embodiment, a 2D-aligned 1-channel (shades of gray) frame F image of size 320 by 109 pixels is given to the first convolutional layer C1 with 64 filters of size 20×20×1. The resulting 64 feature maps are then fed to the first max-pooling layer M2 which takes the max over 2×2 spatial neighborhoods with a stride of 2, separately for each channel. This is followed by the second convolutional layer C3 that has 128 filters of size 8×8×1. These 128 features maps are then fed to the second max-pooling layer M4 with the same parameters as the previous one. Then, the third convolutional layer C5 with 128 filters of size 8×8×1 is connected, followed by the third max-pooling layer M6, with the same parameters. This is followed by the fourth convolutional layer C7 that has 256 filters of size 4×4×1. Then, the flatten layer F8 is added, followed by the dense layer D9.
Hyperparameters of both of the independent neural networks can be:
In an embodiment represented in
In this embodiment, the step of manufacturing 402 the lens comprises a step of acquiring physical data of the selected model eyeglasses frame F and a step of determining manufacturing data for fitting the lens into said selected model eyeglasses frame F.
Once the manufacturing data are obtained, at least one of the following steps are realised:
The step of calculating the back surface includes in particular a calculation which one of a number of standardized front surface curvatures is suitable for manufacturing the spectacle lens and a calculation of the exact shape of a back surface that is to be formed.
During the step of blocking the lens blank the blocker is attached to the lens blank. This machine mounting block will allow the lens blank to be held during the following steps. The attachment can be realized using a low melting point alloy, which forms a supportive medium between the front surface of the semi-finished lens blank and the machine mounting block. The diameter to which the supportive blocking medium is applied will depend on the final cribbing diameter for the finished uncut spectacle lens; it is normally made as large as possible to give the best support to the semi-finished lens blank during the back surface machining process.
The step of surfacing the lens blank allows the realisation of the back surface calculated previously. The step of surfacing is also known as the step of machining. In the simplest case the back surface after surfacing will be a concave spherical surface. In other cases, aspherical surfaces are typically produced. In case of a prescription including an astigmatic correction, the back surface may be toric or, to minimize optical aberrations, atoric. If the spectacle lens to be manufactured is a multifocal spectacle lens, in particular a progressive power spectacle lens, the back surface after surfacing is a freeform surface which typically does not show any symmetry and is described by splines.
The step of polishing is realized using a polishing pad or an abrasive disk. Generally only the back surface of the lens blank that has been previously surfaced will be polished. The step of polishing is realized by holding the polishing pad or the abrasive disk against the back surface of the lens blank and to realize a movement, for example a rotation, of the disk or pads against this back surface. In other embodiments the disk or the pad are immobile and the lens is driven in movement, for example a movement of rotation.
During the step of edging, the lens blank is sized to the shape of the frame F, more precisely to the shape of the rim (R1 or R2) of the frame F. To do this we cut down the surface of the edge of the lens blank to the shape of the rim (R1 or R2) of the frame F.
During the step of grinding a groove or a bevel is realized in or on the edge of the lens blank. Generally a bevel is used for metallic or plastic frames F and a groove is used for semi rimless frames F.
In another embodiment the method can comprise a step of displaying the selected model eyeglasses frames F on the screen 104.
Number | Date | Country | Kind |
---|---|---|---|
22305159.0 | Feb 2022 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2023/053450 | 2/13/2023 | WO |