Method and apparatus for selecting eyewear frames

By constructing a mapping between eyeglass frames and head data clusters, and utilizing data compression and clustering techniques, the problem of complex measurements in the traditional eyeglass frame selection process is solved, enabling fast and accurate frame recommendations suitable for first-time buyers.

CN115803673BActive Publication Date: 2025-12-16CARL ZEISS VISION INTERNATIONAL GMBH
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
CN202180038583.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-05-29
Filing Date
2021-05-19
Publication Date
2025-12-16
Estimated Expiration
2041-05-19

AI Technical Summary

Technical Problem

Traditional methods of selecting eyeglass frames require complex measurements and detailed information, making the selection process time-consuming and inconvenient, especially in online shopping systems where it is difficult to provide effective recommendations based on anatomical fit and personal preference.

Method used

By constructing frame and head data clusters, and utilizing data compression and clustering techniques, a mapping is established between the head data cluster and the frame data cluster to recommend frames. Frame selection can be performed using computer programs and equipment without the need for detailed measurements and complex hardware.

Benefits of technology

It enables quick and accurate recommendations of suitable frames, suitable for first-time frame buyers, without requiring detailed information and complex measurements, thus improving selection efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115803673B_ABST
    Figure CN115803673B_ABST
Patent Text Reader

Abstract

Methods and apparatus relating to eyeglasses frame recommendations are provided. To configure a frame recommendation apparatus (10), frame data is clustered to provide a plurality of frame data clusters (51A, 51B, 51C), and head data is clustered to provide a plurality of head data clusters (61A, 61B, 61C, 61D). A mapping between the head data clusters (61A, 61B, 61C, 61D) and the frame data clusters (51A, 51B, 51C) is provided. To recommend a frame to a person, head data of the person is obtained, and a head data cluster is identified based on the head data. Based on the identified head data cluster and the mapping, a frame data cluster that forms the basis of a recommendation is then selected.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to a method and a device related to selecting eyewear frames for a person. BACKGROUND

[0002] Eyewear frames are defined in detail in DIN ISO 8624: 2011 and are used to carry eyeglasses. Eyewear frames will be referred to as frames in the following.

[0003] Traditionally, selecting frames for a person is a time-consuming process. The person needs to visit an optician and try on several frames until he finds one that has a good anatomical fit. In addition to the anatomical fit, the personal preferences of the person can play a role. An experienced optician can shorten this process based on his experience in selling frames in the past, his knowledge of frame sizes, and the measured values of the head of the person. In an online shopping system, selecting the right frame is even more difficult, as there is no such experienced optician.

[0004] Various methods of selecting frames and fitting frames to a person are known.

[0005] In US 2013 / 0 088 490, a three-dimensional scan of the face of a person is performed. In addition, frames are provided as 3D models. Then, the 3D models are virtually fitted to the 3D scan of the face. Then, the frames can be recommended based on determining whether the temple parts of the frames are long enough to cover the ears of the person and whether the flexibility of the frames is too large or too small. This method requires an accurate 3D scan of the head of the person, which in turn requires rather complex hardware.

[0006] US 2013 / 0 132 898 Al discloses a frame selection method. A photo of a person who wants to buy frames can be taken or uploaded and a frame can be simulated or merged into the photo and shared via a network connection. In this way, a person can see how he looks with the frames. While this helps to see how a person looks with the frames, there is still a preliminary selection of frames from all available frames. To partially solve this problem, the disclosed method can prompt for additional personal information, such as personal lifestyle and activities, personal style preferences, the eyeglass prescription of the person, etc. This requires the person to enter additional data about himself or herself.

[0007] US 5 592 248 A discloses a method in which a series of images of a person wearing frames is taken and in which the person is subjected to additional head shape measurements. These images and measurements are used to reconstruct a 3D model of the user. Then frames are recommended based on fitting criteria and placed on the 3D model of the head of the person. This method requires detailed measurements, in particular a series of images, in addition to head shape measurements.

[0008] US 9 810 927 B1 describes a method in which the frame is completely customized according to an existing set of templates and is tailored to each person. While this can achieve an anatomically precise fit, it is limited to frames that can be customized using such templates. This method cannot handle regular frames that are only available in one or a few specific sizes.

[0009] US 5 983 201 A discloses a system and method that enables the purchase of a fitting frame from home. Here, the person’s dimensions and image information are provided, wherein the customer’s face is characterized as a basic shape selected from a predetermined set of basic shapes. The person is then provided with an image showing the person’s actual appearance with different frames. Again here, a relatively complex diagnosis of the person’s dimensions is required.

[0010] WO 2016 / 109 884 A1 discloses a method that extracts human-understandable facial landmarks for estimating a person’s face shape based on an analysis of an image of the person, thereby making a frame recommendation. Expert and non-expert recommendation information as well as information from social media or personal purchase history can be used for recommending a frame.

[0011] In US 2011 / 0 314 031 A1 a method is described that ranks items, such as frames, using a weighted combination of attributes including color, shape, pattern, brand, style, size, and material in searching for similar items of a given category. Xiaoling Gu et al., “iGlasses: A Novel Recommendation System for Best-fit Glasses”, Proceedings of the 39th International ACM SIGIR Conference on Research and Development in Information Retrieval, SIGIR ’16, Pisa, Italy, July 17-21, 2016, July 21, 2016, pp. 1109-1112, XP055588771, New York, NY, USA, also relates to a method that uses the correlation between the respective face and frame characteristic attributes and recommends a frame based on detailed information of the person predicted from the frame characteristic attributes. Here, detailed information is required to be input to select a frame.

[0012] EP 3 182 362 A1 discloses a method of assessing the fit between an eyewear wearer and the eyewear worn by the wearer. This method is limited to eyewear and does not relate to the selection of frames, and is also limited to an aesthetic assessment. However, while aesthetics are important to the customer, the comfortable fit of the frame is also an important requirement. SUMMARY

[0013] Thus, starting from US 2013 / 0 088 490 recommending frames, the goal is to provide methods and devices for providing a frame recommendation without requiring a large number of measurements or detailed information about the person and / or the frame. This makes the methods and devices suitable also for the case that the person buys a frame for the first time without prior knowledge of the person, e.g. previously used frames. The recommended frame should have a good probability to be anatomically suitable for the person.

[0014] A method for training a device as defined in claim 1, a frame selection method as defined in claim 5, and corresponding devices and computer programs are provided. Dependent claims define further embodiments.

[0015] According to a first aspect of the present invention, a computer-implemented method for configuring a frame selection device is provided, the method comprising:

[0016] providing a plurality of frame data clusters;

[0017] providing a plurality of head data clusters, and

[0018] providing a mapping between the head data clusters and the frame data clusters.

[0019] The terms used in the above method are defined as follows:

[0020] The initially mentioned frame refers to an eyeglass frame as defined in DIN ISO 8624: 2011 - 05, for example. In addition, such a frame can or can not comprise a lens. In other words, the present invention can be used to recommend a frame without a lens, or to recommend a frame comprising a lens.

[0021] The term "frame data" refers to data characterizing a frame and, optionally, further properties of the frame, such as the shape, color, etc. of the frame. For example, the frame data can comprise two-dimensional (2D) or three-dimensional (3D) image data or computer-aided design (CAD) data provided by the frame manufacturer. In one embodiment, based on the frame data, the shape, color, material, thickness, size, length, and / or suitability, etc. of the rim, the temples, the bridge, the top bar, the nose pads, the temple sleeves, and / or the nose pad wires, etc. can be inferred. As will be explained in more detail below, the frame data can also be compressed data, e.g. derived from the 2D or 3D image or from the CAD data.

[0022] A cluster as used herein refers to a group of items grouped together based on a similarity criterion. For example, a frame data cluster refers to a group of frame data from different frames grouped together based on the similarity of the frames to each other. Examples of such similarity criteria will be discussed below In the case of compressed header data, a cluster refers to a group of header data grouped together based on a similarity criterion provided by the respective compression method. Wikipedia, the free encyclopediaThe application of clustering enables to recommend and select a frame that fits a person's head without the need for extensive measurements or predictions of detailed information about the head or the frame.

[0023] Head data refers to data characterizing a person's head, in particular data characterizing the person's face. For example, head data can comprise a 2D frontal image of the head or a 3D image of the head. In an embodiment, from the head data, head features such as the person's race, gender, skin color, face shape, head shape, eyebrow shape, eyebrow color, eye shape, eye size, eye color, nose shape, nose size, lip color, lip shape, hair color and / or hair length can be derived. In an embodiment, also biometric data of the head can be inferred from the head data. Biometric data of the head is here understood as data describing biometric properties of the head, in particular measurements such as length, size, distance and ratio of the head, e.g. inter-pupillary distance, nose bridge width and / or inter-aural distance. Furthermore, also compressed data can be used here. Correspondingly, a cluster of head data refers to a group of head data that is grouped together based on a similarity criterion, such that heads that look similar are grouped together in the same cluster. In case of compressed head data, a cluster of heads refers to a group of head data that is grouped together based on a similarity criterion provided by the respective compression method.

[0024] The mapping links clusters of head data with clusters of frame data. The mapping can indicate a probability that a frame represented by frame data of a cluster of frame data is suitable for a head represented by head data of a cluster of head data. By the mapping of clusters of heads and clusters of frames, the present invention enables frame recommendation and selection without the need to provide, predict or confirm detailed information about the person or the frame. The possibility to establish such a mapping will be further discussed below.

[0025] As further discussed below, by a device so configured, a frame can be recommended to a person based on head data of the person (which can just take the form of a simple 2D image), without the need for additional measurements and also for persons that buy a frame for the first time, i.e. without the need for historical knowledge.

[0026] In a preferred embodiment, providing a plurality of clusters of frame data comprises:

[0027] providing frame data of a plurality of frames,

[0028] compressing the frame data, and

[0029] clustering the compressed frame data based on a similarity criterion to provide clusters of frame data.

[0030] For example, providing frame data can be performed by taking a 2D image of the frame using a camera, providing a 3D image of the frame using a 3D scanner, or by obtaining computer aided design (CAD) data from the frame manufacturer. 2D images from other sources such as the internet can also be used, as long as the type of frame (e.g. manufacturer, type, etc.) can be correlated with the image.

[0031] Compression refers to an operation that reduces the dimensionality or number of values of the frame data. Using such compression, for example, a frame can be represented by less than 100 values (e.g. about 30 values), while the frame data itself can be an image of e.g. about a million pixels size. Various methods can be used to compress the frame data. Supervised or unsupervised data compression methods can be used, in particular unsupervised data compression methods that require less detailed information of the person or frame, e.g. using low-level features like edges or pixel attributes. Data compression methods include deep machine learning and use of convolutional neural networks, t-distributed stochastic neighbor embedding, random forests, spectral embedding and principal component analysis, in particular multi-dimensional principal component analysis. T-distributed stochastic neighbor embedding is described in L.J.P. van der Maaten and G.E. Hinton, Visualizing High-Dimensional Data Using t-SNE. Journal of Machine Learning Research 9 (Nov): 2579-2605, 2008, for example. Principal component analysis is described in Jian Yang, D. Zhang, A. F. Frangi, and Jing-yu Yang, Two-dimensional PCA: a new approach to appearance-based face representation and recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 26, no. 1, pp. 131-137, Jan 2004, doi: 10.1109 / TPAMI.2004.1261097 or Pearson, K. (1901). On Lines and Planes of Closest Fit to Systems of Points in Space. Philosophical Magazine. 2 (11): 559-572. doi:10.1080 / 14786440109462720. Random forests are described in Breiman L (2001). Random Forests. Machine Learning. 45 (1): 5-32. doi:10.1023 / A:1010933404324.Spectral Embedding is described in "Laplacian Eigenmaps for Dimensionality Reduction and Data Representation" by M. Belkin, P. Niyogi. Neural Computation, June 2003; 15(6): 1373-1396. Compression using a convolutional neural network is described in "Nonlinear principal component analysis using autoassociative neural networks" by Kramer, Mark A. (1991) (PDF). AIChE Journal. 37 (2): 233-243. doi:10.1002 / aic.690370209.

[0032] For example, a convolutional neural network can use multiple neural network layers to compress the frame data, with each layer further compressing the data. To train such a network, a decompression path can be provided from the compressed state, and the network can be trained to give substantially the original frame data result after compression followed by decompression. The compressed state so obtained can consist of a number of numerical values, for example about 30 values. While these values characterise the frame (e.g. the original frame data can be recovered via decompression, but with some error), it is generally not possible to immediately relate a single numerical value to a certain property of the frame, and vice versa.

[0033] In principal component analysis, the frame is essentially represented by a linear combination of a number of templates (principal components). The lower order templates define a coarse shape, while the higher order templates can be responsible for finer details of the shape. Generally, the more templates that are used, the higher the degree of approximation. The coefficients of this linear combination form the compressed data. For example, principal component analysis of frame data is described in Szu-Hao Huang et al, Advanced Engineering Informatics, Volume 21, Issue 1, Pages 35-45.

[0034] Clustering is performed after the compression of the frame data. The similarity criterion at clustering then depends on the type of compression. Algorithms that can be used for this purpose include DBSCAN, Gaussian mixture model or k-means clustering. DBSCAN is described, for example, in "A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise" by Ester, M., H. P. Kriegel, J. Sander, and X. Xu, in Proceedings of the 2nd International Conference on Knowledge Discovery and Data Mining, Portland, OR, AAAI Press, pp. 226-231, 1996. Gaussian mixture model is described, for example, in "Mixture Models: Inference and Applications to Clustering" by McLachlan, G. J.; Basford, K. E. (1988) in Statistics: Texts and Monographs, Bibliographic Code: 1988mmia.book.....M, and k-means clustering is described, for example, in "Some Methods for classification and Analysis of Multivariate Observations" by MacQueen, J. B. (1967). In Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability. 1. University of California Press. pp. 281-297. MR 0214227.

[0035] As a simple example, for the compression using a convolutional neural network described above, the compressed frame data can be seen as points in an n-dimensional space, where n is the number of values resulting from the compression, and clustering can be performed based on the distance between the points in the n-dimensional space. For example, points close to each other are grouped into a single cluster. As an indicator for determining whether points are close to each other, the Euclidean distance in the n-dimensional space can be used, i.e. the square root of the sum of the squares of the differences of the respective coordinates between two points in the n-dimensional space. In case of principal component analysis, if there is no or a small bias between the lower order coefficients (e.g. the bias is below a predefined threshold), the frame data can be identified as belonging to the same cluster, whereas for the higher order coefficients representing more fine details of the frame as explained above, a higher bias can be allowed (or, for example, no threshold is given for certain highest order coefficients).

[0036] In different embodiments, once the compressed space has been built by compressing the data describing the items, in this case the frame data, one can search in this space to find many similar items for a given example item. For example, one can find frames that are similar to a certain frame identified by the number "001" in terms of characteristics including color, shape, material, etc. One can identify the location of frame 001 in the compressed space, and thereafter identify many frames in the compressed space that are close to frame 001 based on similarity criteria similar to those discussed above. These frames will look similar to frame 001. These matching frames can be ranked by some metric, for example the distance from frame 001 (like the Euclidean distance explained above), and a matching score based on this metric can be derived along with the list of matching frames. In this case, the computer-implemented method for selecting one or more frames of the invention comprises:

[0037] providing frame data of a plurality of frames,

[0038] compressing the frame data,

[0039] selecting a template frame that fits the wearer preferences,

[0040] selecting one or more frames from the compressed frame data based on similarity criteria, and optionally

[0041] providing a similarity ranking of the so selected frames with the template frame.

[0042] This method can also be applied to other items, for example other items related to eye wear, like glasses.

[0043] This different embodiment can be combined with other embodiments discussed herein to find similar frames after a frame has been selected using the techniques discussed herein.

[0044] Likewise, preferably, providing a plurality of head data clusters comprises:

[0045] providing head data of a plurality of heads,

[0046] compressing the head data, and

[0047] clustering the compressed head data based on similarity criteria to provide head data clusters.

[0048] The providing, compressing and clustering of head data can be performed as explained above for the frame data. As head data, 2D images are preferred because in later use, 2D images of a person's head can be easily acquired and associated with a cluster, as will be described when discussing the method of using such a frame selection device below.

[0049] Providing a mapping between the head data clusters and the frame data clusters can comprise assigning an estimated probability or probability distribution to the pairings of head data clusters and frame data clusters. “Estimated” indicates that these are not typically based on exact measurement values. The probability or probability distribution indicates the likelihood that a frame from the respective frame data cluster fits a head of the respective head data cluster. For example, if given head data clusters A, B, C and frame data clusters 1, 2, 3, p(A, 1) would indicate the probability or probability distribution that a frame from frame data cluster 1 fits a head of head data cluster A. Similar probabilities or probability distributions can be assigned to other pairings of head data clusters and frame data clusters, i.e. p(A, 2), p(A, 3), p(B, 1), etc. It is noted that three head data clusters and three frame data clusters are used in the example above only for illustrative purposes and that different numbers of clusters can be provided depending on the amount of available head data and frame data.

[0050] In simple cases, probabilities can be used. However, in a preferred embodiment, a respective probability distribution is assigned to each pair of head data cluster and frame data cluster. The probability distribution can be a beta distribution. A beta distribution is a family of continuous probability distributions defined on the interval [0, 1] (the interval in which probabilities are defined in mathematics) parameterized by two shape parameters (which will be referred to herein as a and b). Beta distributions are described, for example, in “Beta distribution [Beta distribution]”, Wikipedia, 19 May 2020, 15:35, retrieved from https: / / en.wikipedia.org / w / index.php?title=Beta_distribution&oldid=955995606. Probability distributions with a higher peak within the interval [0, 1] indicate a higher probability that a respective pairing of a head cluster and a frame cluster indicates a good match, while probability distributions with a lower peak indicate a lower probability that a respective pairing of a head cluster and a frame cluster indicates a good match. Figure 1 Figure 2 Wikipedia, 19 May 2020, 15:35, retrieved from https: / / en.wikipedia.org / w / index.php?title=Beta_distribution&oldid=955995606. title=Beta_distribution&oldid=955995606. Probability distributions with a higher peak within the interval [0, 1] indicate a higher probability that a respective pairing of a head cluster and a frame cluster indicates a good match, while probability distributions with a lower peak indicate a lower probability that a respective pairing of a head cluster and a frame cluster indicates a good match.

[0051] Various methods can be used to obtain such probabilities or probability distributions. For example, experts (e.g. opticians) can be asked to provide their assessment, and probabilities can be assigned based on such assessments (i.e. the probabilities estimated by the opticians). In other embodiments, images of a plurality of people wearing eyeglasses can be provided, and through image processing the frames can be extracted from the images. Extracting frames from images is described for example in Wu Chenyu et al., IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 26, No. 3, pp. 322-336. Then, head images without frames can be assigned to head data clusters, and extracted frames can be assigned to frame data clusters. The number of frame and head pairs assigned to different combinations of head data clusters and frame data clusters can be counted, and probabilities can be assigned to the counts. For example, if out of 100 random people wearing eyeglasses whose heads are assigned to head data cluster A, 70 wear eyeglasses assigned to frame data cluster 1, 20 wear eyeglasses assigned to frame cluster 2, and 10 wear eyeglasses assigned to frame cluster 3, then in a simple case p(A, 1) can be set to 0.7, p(A, 2) to 0.2 and p(A, 3) to 0.1. However, these are probabilities resulting from a sample of 100 random people, but these probabilities can deviate from the "true" probabilities, which are unknown, (because, for example) it is not possible to sample the entire population. This can be reflected by using probability distributions. For example, in case a probability distribution like a beta distribution is used, the peak of p(A, 1) in the above example is 0.7, the peak of p(A, 2) is 0.2, and the peak of p(A, 3) is 0.1, i.e. the "most likely" probabilities in the interval [0, 1] based on the available information (e.g. the sample of 100 people). The width of the respective peak indicates the "reliability" of the respective value. If the exact probabilities were known, the peaks would be delta functions of the respective probabilities.

[0052] Another possibility to obtain probabilities is by surveying a higher number of people, i.e. asking a large number of people to select and try on frames, and on this basis establishing selection probabilities, similar to the case of establishing selection probabilities based on images described above.

[0053] As will be explained below, in some embodiments these probabilities are adjusted and refined based on the use of a frame selection device configured accordingly. Thus, in other embodiments uniform probabilities can be provided as initial mapping. This means that initially, a device configured accordingly will have a rather high likelihood of giving inappropriate frame recommendations, but as the frame selection device is used over time, the selection can improve.

[0054] The above computer-implemented method can be provided in the form of a computer program comprising instructions which, when executed on a processor, cause the performance of any of the above methods. A corresponding device is also provided, the device comprising a processor on which the computer program runs (e.g. by storing the computer program in a memory of the device). In other words, such a device can comprise means for performing the steps of any of the above methods.

[0055] In some embodiments, additional head data can be added to the plurality of clusters of head data, e.g. when additional data becomes available. Additionally, or alternatively, additional frame data can be added to the plurality of clusters of frame data, such addition of new head data or new frame data can be performed similarly to the way the clusters of frame data and clusters of head data are formed as described above: the new head data or frame data can be compressed and then assigned to one of the clusters of frame data or head data, respectively, based on a similarity criterion. In this way, the clusters can be continuously updated, e.g. when new frame patterns become available, the clusters can be updated as well.

[0056] According to a second aspect of the present invention, a method of selecting a frame for a person is provided, which method can use a device configured as described above. The method comprises:

[0057] providing head data of the person,

[0058] identifying a cluster of head data of the plurality of clusters of head data based on the head data of the person,

[0059] selecting a cluster of frame data of the plurality of clusters of frame data based on the identified cluster of head data and a mapping between the plurality of clusters of head data and the plurality of clusters of frame data, and

[0060] selecting at least one frame (e.g. all frames or a subset by filtering as explained below) according to the selected cluster of frame data.

[0061] The explanations given above for the first aspect apply for the plurality of clusters of head data, the plurality of clusters of frame data and the mapping between them. This applies equally for the head data of the person. In particular, the head data can be a simple 2D image of the person’s head. By such a method, only head data, e.g. only a 2D image, is needed and then one frame or a few frames can be selected that have a high probability of fitting this person to be recommended.

[0062] Identifying a cluster of head data based on the head data of the person can comprise:

[0063] compressing the head data of the person, and

[0064] identifying the cluster of head data based on a predetermined similarity criterion.

[0065] In this way, it can be easily identified a head data cluster for the head data of the person.

[0066] The compression and similarity criterion can be the same as explained for the first aspect. In other words, the head data of the person is compressed in the same way as the head data is compressed in the first aspect, and then the same similarity criterion as in the first aspect is applied, such that it is identified a head cluster to which the head data of the person will be assigned in the clustering operation of the first aspect.

[0067] In some embodiments, the mapping can comprise a probability forming a probability distribution as explained for the first aspect. In this case, the selection of the frame data cluster can be based on the probability. This makes the selection easy.

[0068] In some embodiments, the selection can be made based on a Bayesian multi-armed bandit approach. The multi-armed bandit problem in probability theory describes a problem where a fixed, limited set of resources (a limited number of customers who want to buy a frame) has to be distributed among competing choices (alternative choice frames from various frame data clusters) in such a way that the expected gain (selecting a suitable frame, which then can be bought by a person) is maximized.

[0069] Various solution algorithms for this problem are known in the art and can be applied.

[0070] A particular method is the Bayesian bandit approach, which is explained for example in: Rahul Agarwal, Bayesian Bandits Explained Simply, July 19, 2019, published at https: / / towardsdatascience.com, or H. Robbins, Some aspects of the sequential design of experiments. Bulletin of the American Mathematical Society, (58):527-535, 1952. In this case, for the selection, a beta distribution as explained above is used to model the probability of the mapping. The selection is then based on the beta distribution.

[0071] In essence, this means that a frame data cluster with a higher probability associated therewith is chosen more often than other frame clusters. In the very simple example given for the first aspect, there are three probabilities p(A, 1) = 0.7, p(A, 2) = 0.2 and p(A, 3) = 0.1, if a head data cluster A is identified based on the person's head data, frame data cluster 1 will be chosen approximately 70% of the time, frame data cluster 2 will be chosen approximately 20% of the time, and frame data cluster 3 will be chosen approximately 10% of the time. In case of a probability distribution, the distribution for each pair of an identified head data cluster and a corresponding one of the frame data clusters is sampled, e.g. the distributions p(A, 1), p(A, 2) and p(A, 3) in the above example. "Sampling" means that a value in the interval [0, 1] is determined based on the probability distribution, e.g. the value of the peak is sampled with the highest probability, but other values can also be sampled. In other words, the probability of each value in the interval [0, 1] being sampled is given by the respective probability distribution. The frame data cluster for which the highest value is sampled is then selected.

[0072] In an embodiment, the method further comprises updating the mapping based on feedback of the person. The feedback of the person can be an indication that the person indicates that the selected frame fits his head well, that the person bought the frame (which also indicates that it fits well), that the person likes the frame or similar feedback. In a simple approach, if the person gives positive feedback (e.g. the person bought the frame), the probability of the selected frame data cluster being chosen in the future is increased for the identified head data cluster, while negative feedback decreases this probability. In an implementation using the Bayesian multi-armed bandit algorithm as explained above, this updating can also be performed according to the Bayesian multi-armed bandit algorithm. Here, since a beta distribution is used, the updating can be performed according to

[0073] Beta posterior (a posterior , b posterior ) = Beta prior (a prior , b prior ) x Beta update (a update , b update ) (1)。

[0074] Beta posterior is the updated beta distribution with parameters a posterior and b posterior , which is updated based on the feedback as described above, Beta prior is the beta distribution with parameters a prior and b prior before the update (i.e. the beta distribution according to which the frame selection is made upon receiving the feedback), and Beta updateis a parameter for a update and b update reflecting feedback, as explained further below. The update according to equation (1) above can be performed by simple parameter addition, i.e.

[0075] a posterior = a prior + a update (2), and

[0076] b posterior = b prior + b update (3).

[0077] In a simple approach, a update and b update can be determined based on the number s of actually sold frames for a selected number n of frame data clusters, i.e., based on the above approach, for n selections of a frame data cluster, the corresponding frame is sold to a person s times. In this case, a update = s and b update = n-s.

[0078] In another approach, a more detailed assessment of the person's behavior can be performed. For example, the frame of the selected frame data cluster can be presented to the person. The person can then view, like, dislike, try on (e.g., virtually on a screen), or purchase the frame. Each of these actions can be assigned a score, and a update and b update can be calculated based on the scores assigned to the actions actually performed by the person. As a non-limiting example, the scores can be assigned as follows: viewing is a: -1; good anatomical fit is a: 3; bad anatomical fit is a: -3; virtual try-on is a: 10; and purchase is a: 20. Then, the total score for the selection is the sum of all scores for the actions performed by the user. If the person first views, then tries on, then purchases the frame, the frame provided a good anatomical fit, and the total score is -1 + 3 + 10 + 20, which in this case is the maximum score of 32. As another non-limiting example, the scores can be assigned as follows: viewing is a: -1; liking is a: 3; disliking is a: -3; virtual try-on is a: 10; and purchase is a: 20. Then, the total score for the selection is the sum of all scores for the actions performed by the user. If the person first views, then likes, then tries on, then purchases the frame, the total score is -1 + 3 + 10 + 20, which in this case is the maximum score of 32. For the update according to equations (2) and (3), a update is set to the total score, and b update is set to the maximum score minus the total score.

[0079] In embodiments, the method can further comprise providing a head color of the person. The head color is a color of any part of the head and can for example be or comprise an eye color, a hair color, a beard color and / or a skin color. In case the head data of the person is a 2D image, the head color can for example be extracted from the 2D image by image processing. The selection can then be modified based on the head color. This can be done before or after selecting the frame data cluster of the plurality of frame data clusters based on the identified head data cluster and the mapping.

[0080] The modification can be performed by modifying the probabilities or probability distribution of the mapping before the selection and the selection is performed based on the modified probabilities or the modified probability distribution. For example, a combination of the head color and the color of the frame in the cluster can also be assigned a certain value (a higher value indicating a good match) and the probabilities or the sampled values based on the probability distribution of the mapping can be multiplied by these values.

[0081] The modification can be performed by modifying the probabilities or probability distribution of the mapping before the selection and the selection is performed based on the modified probabilities or the modified probability distribution. For example, a combination of the head color and the color of the frame in the cluster can also be assigned a certain value (a higher value indicating a good match) and the probabilities or the sampled values based on the probability distribution of the mapping can be multiplied by these values.

[0082] As explained above, a good physical fit (e.g. the correct width of the frame or the correct length of the frame temples) is a prerequisite for a person to feel comfortable with a particular frame. Especially when using the above-mentioned update, the probability that a recommended frame does not have a good physical fit can be reduced. However, to further improve the physical fit, additional modifications can be made to the selection. In such embodiments, the method can further comprise:

[0083] providing a head size of the person, and

[0084] modifying the selection based on the head size.

[0085] As with the head color, the modification can be performed before the selection (e.g. by modifying the mapping as discussed for the head color) or after the selection (by filtering as also discussed for the head color).

[0086] The head size can in particular comprise a temple width of the head (the distance between the left and right temples) or a distance between a plane close to the face and the ear, which is relevant for the required length of the temples of a frame.

[0087] In this way, the probability that the recommended frames fit the person's head can be further increased. It should be noted that this is an optional feature and that the method of the invention can also be run without providing these head sizes. The filtering can then result in only recommending frames that fit the corresponding head size, e.g. in terms of their frame width and their temple length.

[0088] Optionally, the method can further comprise filtering based on user preferences. In this way, the user can input information about the frames he / she actually prefers, e.g. about the color of the frames, the brand of the frames, the price range of the frames or similar parameters. This can further increase the probability that the recommended frames are actually wanted to be purchased by the user.

[0089] For the method of recommending frames, a corresponding computer program, data carrier, data carrier signal and a corresponding programmed device can also be provided. It should be noted that in some embodiments, the plurality of head data clusters and the plurality of frame data clusters can be provided within the device. In other embodiments, these clusters can be provided remotely in a database accessible via the internet. The above-mentioned updating can then also update the remote database. In this case, the database can be a common database that is updated by a plurality of devices, which can help to increase the accuracy of the recommendations. Also, the mapping can be provided in the remote database. The common database can be for a certain region, like a town, a part of a town, a country, a continent, etc. Limiting the database, in particular the mapping, to a certain region can increase the accuracy for that region. BRIEF DESCRIPTION OF DRAWINGS

[0090] Further embodiments will be discussed with reference to the accompanying drawings, in which:

[0091] Figure 3 is a block diagram of a device according to an embodiment,

[0092] Figure 4 is a flow chart illustrating a method according to an embodiment,

[0093] Figure 5 and Figure 6 is a diagram illustrating a compression example used in an embodiment,

[0094] Figure 7 is a diagram illustrating a clustering of frame data,

[0095] Figure 8 is a diagram illustrating a clustering of head data,

[0096] Figure 1 is a diagram illustrating an example of a mapping between head data clusters and frame data clusters, and

[0097] Figure 2is a flowchart illustrating a method according to an embodiment. DETAILED DESCRIPTION

[0098] Turning now to the drawings, Figure 8 is a block diagram of a device 10 according to an embodiment.

[0099] The device 10 is a computer comprising a processor 12, a memory 13, a display 14, one or more input / output devices 15 and a network interface 16 interconnected to each other. For example, the device 10 can be a commercially available computer device such as a personal computer, a laptop, a tablet, a smartphone, etc. The processor 12 can comprise one or more processors each comprising one or more processor cores. The memory 13 can comprise various types of memory such as random access memory (RAM), read-only memory (ROM), cache memory of the processor 12, flash memory, or other storage devices such as a hard disk or a solid state drive (SSD). In the memory 13, program code comprising instructions can be stored which cause the execution of the methods discussed below. The display 14 can comprise a touch screen which is also used for inputting data. The input / output devices 15 can for example comprise a keyboard, a loudspeaker or a mouse. The network interface 16 provides a connection to the Internet in a wireless or wired based manner.

[0100] Such a device can be used to implement the configuration method discussed below with reference to Figure 8 and can also be a device for frame selection using the method discussed below with reference to Figure 2 In particular, in the latter case, the device 10 can comprise a camera 11 for obtaining a 2D image of the user's head. Such a camera 11 is comprised in many commercially available computer devices such as laptops, desktop PCs or smartphones. In other embodiments, the camera 11 can be provided externally and connected to the computer device 10.

[0101] In case the device 10 is used for frame recommendation as will be discussed in connection with Figures 2 to 7 the network interface 16 can be used to connect the device 10 to a remote database 17 in which clusters of head data, clusters of frames and mappings between them are stored. In other embodiments, such clusters of frames, clusters of heads and mappings between them can be stored in the memory 13.

[0102] Figure 2 is a flowchart illustrating a method for configuring a frame recommendation device according to an embodiment.

[0103] At 20, the method comprises providing frame data of a plurality of frames. As discussed before, the frame data can take different forms such as 2D images, 3D images or CAD data.

[0104] At point 21, the method includes compressing the frame data.

[0105] At point 22, the method includes clustering the compressed frame data to form multiple frame data clusters.

[0106] Similarly, at 23, the method includes providing head data for multiple heads, such as 2D images.

[0107] At point 24, the method includes compressing the header data.

[0108] At point 25, the method includes clustering the compressed header data to form multiple header data clusters.

[0109] At point 26, the method includes providing a mapping from the head data cluster to the frame data cluster.

[0110] Now refer to Figure 3 To explain Figure 4 The various steps of the method.

[0111] Figure 3 and Figure 4 Two possible methods are shown: compressing the frame data at 21 points or compressing the head data at 24 points. Figure 5 Principal component analysis (PCA) was used. Here, principal component analysis 31 was performed on the frame data or head data 30. The result is principal component analysis coefficients (PCA coefficients) 32, which represent the frame data or head data in a compressed form (i.e., by coefficients only). As further explained above, the coefficients define a linear combination of multiple templates (principal components).

[0112] exist Figure 2 The image shows a compression example using a convolutional neural network (CNN).

[0113] The frame or head data 40 is fed into a convolutional neural network comprising layers 41-45. It should be noted that layers 41-45 are merely examples, and more layers could be used. Layer 41 serves as the input layer. Starting with layers 41-43, spatial compression is performed on the data; that is, the data is represented with progressively fewer numerical values ​​across layers. Layer 43 (where the greatest compression occurs) is sometimes referred to as the bottleneck. From layer 43 to the output layer 45, spatial expansion occurs, and layer 45 outputs reference frame / head data 46.

[0114] During training, the coefficients between layers 41-45 are adjusted and trained using training frame data or training head data, so that the output reference frame data or reference head data substantially corresponds to the input training frame data or training head data. "Substantially corresponds" means that the deviation is less than a predefined value. When the neural network is trained in this way, it means that when frame data or head data is input into the neural network, the values ​​present in bottleneck 43 constitute a compressed representation 47 of the frame data or head data.

[0115] As further mentioned above in the general discussion, these are just two examples of compression methods, and other compression methods can also be used.

[0116] Figure 5 Showing Figure 5 The data is clustered at 22 points from the compressed frame data. Here, frames represented by the frame data are grouped together into clusters based on a similarity criterion between the compressed frame data. Figure 5 In the example, frames 50A with similar shapes, forms, and sizes are grouped together in cluster 55A (cluster 1), while frames 50B that are similar to each other according to similarity criteria are grouped together in cluster 51B (cluster 2). It should be noted that the differences in frame shapes shown for frames 50A and 50B are merely illustrative, and in some embodiments, frames grouped together in a cluster may be more or less similar to each other. For illustrative purposes, frame 50A has a more rounded lens rim, while frame 50B has a more angular lens rim. Other frames (in...) Figure 6 (Not shown in the image) is grouped into cluster 51C (cluster 3). For ease of understanding, Figure 2 The number of the three clusters 51A-51C in the data is just an example, and other numbers of clusters may be formed depending on the number of frames for which frame data is available and their similarity.

[0117] Figure 6 It shows Figure 7 The document contains 25 illustrative examples of clustering in the compressed header data. Figure 2 In the example, the head data corresponding to head 60A is clustered into head data cluster 61A (cluster A). Heads in a cluster can have similar shapes, similar proportions (e.g., similar relative distances between facial elements), the same gender, the same ethnicity, etc. The head data corresponding to head 60D is clustered into head data cluster 61D (cluster D). Other head data can be clustered into head data cluster 61B (cluster B) or head data cluster 61C (cluster C). Similarly, the number of nine heads 60A and nine heads 60D, and the number of four head data clusters, are just examples. In particular, different numbers of head data can be clustered into different clusters, depending on how many heads in the head dataset meet the corresponding similarity criteria.

[0118] Figure 6 Shown in Figure 5 Examples of mappings provided at 26 locations, where Figure 7 Header data clusters 61A to 61D and Figure 7 The frame data clusters 51A to 51C are used as examples. The arrows between the head data cluster and the frame data cluster illustrate this mapping. Figure 1 In the example, each arrow is assigned a corresponding probability p(A,1), p(A,2), p(A,3), p(D,1), and p(D,3). It should be noted that this correction with assigned probabilities can be applied from each head data cluster to each frame data cluster, but for clarity, Figure 8 Only some mappings are shown in the image.

[0119] Once the frame data cluster, head data cluster, and mapping are provided, frame recommendations can be made using the corresponding configured device. Figure 8 The implementation in device 10 will refer to Figure 1 The corresponding methods discussed. The header data cluster, frame data cluster, and mapping can be stored in the remote database 17, or they can be stored in the memory 13.

[0120] exist Figure 2 At 80 locations, the method includes providing human head data. Returning to... Figure 6 This can be accomplished by using camera 11 to capture an image of a person's head.

[0121] At point 81, the method includes identifying header data clusters based on header data. For this purpose, the header data can be as follows: Figure 7 The 24 points in the image are compressed, and then the appropriate head cluster can be used based on similarity criteria. For example, if the person's head is similar to head 60A, it is very likely that cluster 61A will be identified. If the person's head is similar to head 60D, it is very likely that cluster 61D will be identified.

[0122] At position 82, the method includes selecting a frame data cluster based on the head data cluster identified at position 81 and the mapping between the head data cluster and the frame data cluster. For example, if a head data cluster is identified at position 81... Figure 8 and Figure 8 The head data cluster 61A is then selected based on probabilities p(A,1), p(A,2) and p(A,3) to select the frame data cluster.

[0123] In the following steps 83-86, this selection can be modified. For example... ​ As indicated by the dashed arrow, and as explained above, this modification can be made before or after the selection at point 82.

[0124] At 83,​ The method comprises providing a head size of the person, and at 84 the method comprises modifying the selection based on the provided head size. This can improve the probability that the recommended frame fits the user.

[0125] At 85 the method comprises providing a head color of the person. The head color can be input or extracted from the head data (e.g. 2D image) provided at 80 based on image analysis techniques.

[0126] At 86 the method can comprise modifying the selection based on the head color. For example, certain colors are generally considered to be poor matches, and the probability of selecting a frame having a color that is a poor match to the head color can be reduced.

[0127] At 87 the frames in the selected cluster resulting from such modifications at 84 and 86 can be provided as recommendations to the person. At 88 these recommendations can be further filtered by the user based on personal preferences (e.g. color, brand, type, etc.).

[0128] At 89 the method can comprise updating the mapping based on feedback from the person. As explained above, this can be done based on a Bayesian multi-armed bandit algorithm. Essentially, when the person for example selects or purchases one of the selected frames, the correlation mapping between the head data clusters and the frame data clusters can be modified to increase the probability of selecting the corresponding frame data cluster for the corresponding head data cluster. If the person does not select any of the recommended frames, then correspondingly the mapping can be modified to decrease the probability.

[0129] In case the head data clusters, the frame data clusters and the mapping are stored in a remote database 17, the updating can be performed from multiple devices that access the database 17 for frame selection.

[0130] Some embodiments are defined by the following clauses:

[0131] Clause 1. A computer-implemented method for configuring a frame recommendation device (10), characterized by:

[0132] providing a plurality of frame data clusters (51A, 51B, 51C);

[0133] providing a plurality of head data clusters (61A, 61B, 61C, 61D); and

[0134] providing a mapping between the head data clusters (61A, 61B, 61C, 61D) and the frame data clusters (51A, 51B, 51C).

[0135] Clause 2. The method of clause 1, characterized in that providing a plurality of frame data clusters (51A, 51B, 51C) comprises:

[0136] frame data of a plurality of frames (50A, 50B) is provided,

[0137] the frame data is compressed; and

[0138] the compressed frame data is clustered based on a similarity criterion to provide clusters (51A, 51B, 51C) of the frame data.

[0139] Clause 3. The method of clause 1 or 2, wherein providing the plurality of head data clusters (61A, 61B, 61C, 61D) comprises:

[0140] head data of a plurality of heads (60A, 60D) is provided,

[0141] the head data is compressed; and

[0142] the compressed head data is clustered based on a further similarity criterion to provide the plurality of head data clusters (61A, 61B, 61C, 61D).

[0143] Clause 4. The method of clause 3, wherein the head data is provided in the form of 2D images of the plurality of heads (60A, 60D).

[0144] Clause 5. The method of any one of clauses 1 to 4, wherein providing the mapping comprises assigning one of a probability or a probability distribution to each pair, each pair comprising one of the plurality of head data clusters (61A, 61B, 61C, 61D) and one of the plurality of frame data clusters (51A, 51B, 51C).

[0145] Clause 6. The method of clause 5, wherein assigning the probability distributions comprises assigning the probability distributions as beta distributions.

[0146] Clause 7. An apparatus (10), characterized by:

[0147] means for providing a plurality of frame data clusters (51A, 51B, 51C) (51A, 51B, 51C);

[0148] means for providing a plurality of head data clusters (61A, 61B, 61C, 61D); and

[0149] means for providing a mapping between the head data clusters (61A, 61B, 61C, 61D) and the frame data clusters (51A, 51B, 51C).

[0150] Clause 8. The device (10) of clause 7, characterized in that the means for providing a plurality of frame data clusters (51A, 51B, 51C) comprises:

[0151] means for providing frame data of a plurality of frames (50A),

[0152] means for compressing the frame data; and

[0153] means for clustering the compressed frame data based on a similarity criterion to provide the frame data clusters (51A, 51B, 51C).

[0154] Clause 9. The device (10) of clause 7 or 8, characterized in that the means for providing the plurality of head data clusters (61A, 61B, 61C, 61D) comprises:

[0155] means for providing head data of a plurality of heads (60A, 60D);

[0156] means for compressing the head data; and

[0157] means for clustering the compressed head data based on a further similarity criterion to provide the plurality of head data clusters (61A, 61B, 61C, 61D).

[0158] Clause 10. The device (10) of clause 9, characterized in that the head data is provided in the form of 2D images of the plurality of heads (60A, 60D).

[0159] Clause 11. The device (10) of any one of clauses 7 to 10, characterized in that the means for providing the mapping comprises means for assigning one of a probability or a probability distribution to each pair, each pair comprising one of the plurality of head data clusters (61A, 61B, 61C, 61D) and one of the plurality of frame data clusters (51A, 51B, 51C).

[0160] Clause 12. The device (10) of clause 11, characterized in that the means for assigning the probability distributions comprises means for assigning the probability distributions as beta distributions.

[0161] Clause 13. A frame recommendation device (10), the device comprising a processor (12), characterized in that the processor (12) is configured to:

[0162] provide a plurality of frame data clusters (51A, 51B, 51C);

[0163] provide a plurality of head data clusters (61A, 61B, 61C, 61D); and

[0164] providing a mapping between the clusters of head data (61A, 61B, 61C, 61D) and the clusters of frames (51A, 51B, 51C).

[0165] Clause 14. The device (10) of clause 13, characterized in that, to provide the plurality of clusters of frame data (51A, 51B, 51C), the processor (12) is configured to:

[0166] provide frame data of a plurality of frames (50A),

[0167] compress the frame data, and

[0168] cluster the compressed frame data based on a similarity criterion to provide the clusters of frame data (51A, 51B, 51C).

[0169] Clause 15. The device (10) of clause 13, characterized in that, to provide the plurality of clusters of head data (61A, 61B, 61C, 61D), the processor (12) is configured to:

[0170] provide head data of a plurality of heads (60A, 60D),

[0171] compress the head data; and

[0172] cluster the compressed head data based on a further similarity criterion to provide the plurality of clusters of head data (61A, 61B, 61C, 61D).

[0173] Clause 16. The device (10) of clause 15, characterized in that the head data is provided in the form of 2D images of the plurality of heads (60A, 60D).

[0174] Clause 17. The device (10) of any one of clauses 13 to 16, characterized in that, to provide the mapping, the processor (12) is configured to assign one of a probability or a probability distribution to each pair, each pair comprising one cluster of head data of the plurality of clusters of head data (61A, 61B, 61C, 61D) and one cluster of frame data of the plurality of clusters of frame data (51A, 51B, 51C).

[0175] Clause 18. The device (10) of clause 17, wherein assigning the probability distributions comprises assigning the probability distributions as beta distributions.

[0176] Clause 19. A method for selecting a frame for a person, the method comprising:

[0177] providing head data of the person,

[0178] characterized in that:

[0179] based on the head data of the person, identifying a head data cluster of a plurality of head data clusters (61A, 61B, 61C, 61D),

[0180] based on the identified head data cluster and a mapping between the plurality of head data clusters (61A, 61B, 61C, 61D) and a plurality of frame data clusters (51A, 51B, 51C), selecting a frame data cluster of the plurality of frame data clusters (51A, 51B, 51C), and

[0181] based on the selected frame data cluster, providing at least one selected frame.

[0182] Clause 20. The method of clause 19, characterized in that identifying the head data cluster comprises compressing the head data of the person and identifying the head data cluster based on the compressed head and a similarity criterion.

[0183] Clause 21. The method of clause 19 or 20, characterized in that the mapping comprises one of a probability or a probability distribution assigned to pairings, each pairing comprising a head data cluster of the plurality of head data clusters (61A, 61B, 61C, 61D) and a frame data cluster of the plurality of frame data clusters (51A, 51B, 51C), wherein selecting the frame data cluster is based on the one of the probability or the probability distribution.

[0184] Clause 22. The method of clause 21, characterized in that selecting the frame data cluster is based on a Bayesian multi-armed bandit algorithm.

[0185] Clause 23. The method of any one of clauses 19 to 22, characterized in that providing a head size of the person, and

[0186] modifying the selection based on the head size.

[0187] Clause 24. The method of any one of clauses 19 to 23, characterized in that,

[0188] providing a head color of the person, and

[0189] modifying the selection based on the head color.

[0190] Clause 25. The method of any one of clauses 19 to 24, characterized in that providing the head data of the person comprises capturing or providing a 2D image of the person.

[0191] Clause 26. The method of clauses 24 and 25, characterized in that providing the head color is based on the 2D image.

[0192] Clause 27. The method of any of clauses 19 to 26, further comprising filtering the at least one selected frame based on criteria provided by the person.

[0193] Clause 28. The method of any of clauses 19 to 27, further comprising updating the mapping based on feedback from the person.

[0194] Clause 29. The method of clause 28, wherein the updating is performed based on a Bayesian multi-armed bandit algorithm.

[0195] Clause 30. An apparatus (10) for selecting a frame for a person, the apparatus comprising:

[0196] means for providing head data of the person, characterized in that,

[0197] means for identifying a head data cluster of a plurality of head data clusters (61A, 61B, 61C, 61D) based on the head data of the person,

[0198] means for selecting a frame data cluster of a plurality of frame data clusters (51A, 51B, 51C) based on the identified head data cluster and a mapping between the plurality of head data clusters (61A, 61B, 61C, 61D) and the plurality of frame data clusters (51A, 51B, 51C), and

[0199] means for providing at least one recommended frame based on the selected frame data cluster.

[0200] Clause 31. The apparatus (10) of clause 30, wherein the means for identifying the head data cluster comprises means for compressing the head data of the person, and means for identifying the head data cluster based on the compressed head and a similarity criterion.

[0201] Clause 32. The apparatus (10) of clause 30 or 31, wherein the mapping comprises one of a probability or a probability distribution assigned to pairings, each pairing comprising a head data cluster of the plurality of head data clusters (61A, 61B, 61C, 61D) and a frame data cluster of the plurality of frame data clusters (51A, 51B, 51C), wherein the means for selecting the frame data cluster operates based on the one of the probability or the probability distribution.

[0202] Clause 33. The apparatus (10) of clause 32, wherein selecting the frame data cluster is based on a Bayesian multi-armed bandit algorithm.

[0203] Clause 34. The device (10) of any one of clauses 30 to 33, characterized in that means for providing a head size of the person, and

[0204] means for modifying the selection based on the head size.

[0205] Clause 35. The device (10) of any one of clauses 30 to 34, characterized in that,

[0206] means for providing a head color of the person, and

[0207] means for modifying the selection based on the head color.

[0208] Clause 36. The device (10) of any one of clauses 30 to 35, characterized in that the means for providing head data of the person comprises a camera (11) for capturing a 2D image of the person.

[0209] Clause 37. The device (10) of clauses 35 and 36, characterized in that providing the head color is based on the 2D image.

[0210] Clause 38. The device (10) of any one of clauses 30 to 37, characterized in that it further comprises means for filtering the at least one selected frame based on criteria provided by the person.

[0211] Clause 39. The device (10) of any one of clauses 30 to 38, characterized in that it further comprises means for updating the mapping based on feedback from the person.

[0212] Clause 40. The device (10) of clause 39, characterized in that the means for updating operates based on a Bayesian multi-armed bandit algorithm.

[0213] Clause 41. A device (10) for selecting a frame for a person, the device comprising:

[0214] a processor (12) configured to:

[0215] provide head data of the person, characterized in that the processor (12) is further configured to

[0216] identify, based on the head data of the person, a head data cluster among a plurality of head data clusters (61A, 61B, 61C, 61D),

[0217] selecting a frame data cluster of the plurality of frame data clusters (51 A, 51 B, 51 C) based on the identified head data cluster and a mapping between the plurality of head data clusters (61 A, 61 B, 61 C, 61 D) and the plurality of frame data clusters (51 A, 51 B, 51 C); and

[0218] providing at least one recommended frame based on the selected frame data cluster.

[0219] Clause 42. The device (10) of clause 41, wherein, to identify the head data cluster, the processor (12) is configured to compress the person’s head data and identify the head data cluster based on the compressed head and a similarity criterion.

[0220] Clause 43. The device (10) of clause 41 or 42, wherein the mapping comprises one of a probability or a probability distribution assigned to pairings, each pairing comprising a head data cluster of the plurality of head data clusters (61 A, 61 B, 61 C, 61 D) and a frame data cluster of the plurality of frame data clusters (51 A, 51 B, 51 C), wherein selecting the frame data cluster is based on the one of the probability or the probability distribution.

[0221] Clause 44. The device (10) of clause 43, wherein selecting the frame data cluster is based on a Bayesian multi-armed bandit algorithm.

[0222] Clause 45. The device (10) of any of clauses 41 to 44, wherein the processor (12) is configured to receive a head size of the person, and

[0223] modify the selection based on the head size.

[0224] Clause 46. The device (10) of any of clauses 41 to 45, wherein the processor (12) is configured to

[0225] provide a head color of the person, and

[0226] modify the selection based on the head color.

[0227] Clause 47. The device (10) of any of clauses 41 to 46, wherein, to provide the person’s head data, the device (10) comprises a camera (11) to capture a 2D image of the person.

[0228] Clause 48. The device (10) of clauses 46 and 47, wherein providing the head color is based on the 2D image.

[0229] Clause 49. The device (10) of any one of clauses 41 to 48, wherein the processor (12) is configured to filter the at least one selected frame based on criteria provided by the person.

[0230] Clause 50. The device (10) of any one of clauses 41 to 49, wherein the processor (12) is configured to update the mapping based on feedback from the person.

[0231] Clause 51. The device (10) of clause 50, wherein the updating is performed based on a Bayesian multi-armed bandit algorithm.

[0232] Clause 52. A computer-implemented method for selecting one or more frames, the method comprising:

[0233] providing frame data of a plurality of frames,

[0234] compressing the frame data,

[0235] selecting a template frame that fits the wearer preferences,

[0236] selecting one or more frames from the compressed frame data based on a similarity criterion.

[0237] Clause 53. The method of clause 52, further comprising:

[0238] providing a similarity ranking between the selected frames and the template frame.

[0239] Clause 54. A computer program comprising instructions which, when executed on at least one processor, cause the performance of the method of any one of clauses 1 to 6, 19 to 29 or 52 to 53.

[0240] Clause 55. A storage medium comprising the computer program of clause 54.

[0241] Clause 56. The storage medium of clause 53, wherein the storage medium is a tangible storage medium.

[0242] Clause 57. A data carrier signal carrying the computer program of clause 54.

[0243] Clause 58. A device (10) comprising a processor and stored instructions which, when executed by the processor, cause the performance of the method of any one of clauses 1 to 6, 19 to 29 or 52 to 53.

[0244] Clause 59. The method of claim 1, wherein providing a plurality of frame data clusters (51A, 51B, 51C) comprises:

[0245] providing frame data for a plurality of frames (50A, 50B),

[0246] compressing the frame data; and

[0247] clustering the compressed frame data based on a similarity criterion to provide clusters (51A, 51B, 51C) of the frame data.

[0248] Clause 60. A computer-implemented method for configuring a frame recommendation device (10) characterized by providing a plurality of head data clusters (61A, 61B, 61C, 61D), the method comprising:

[0249] providing head data for a plurality of heads (60A, 60D), and

[0250] clustering the compressed head data based on a further similarity criterion to provide the plurality of head data clusters (61A, 61B, 61C, 61D).

[0251] Clause 61. A computer-implemented method for configuring a frame recommendation device (10) characterized by providing a plurality of frame data clusters (51A, 51B, 51C), the method comprising:

[0252] providing frame data for a plurality of frames (50A, 50B), and

[0253] clustering the compressed frame data based on a similarity criterion to provide the plurality of frame data clusters (51A, 51B, 51C).

[0254] Clause 62. A computer-implemented method for configuring a frame recommendation device (10) characterized by providing a plurality of head data clusters (61A, 61B, 61C, 61D), the method comprising:

[0255] providing head data for a plurality of heads (60A, 60D), and

[0256] clustering the compressed head data based on a further similarity criterion to provide the plurality of head data clusters (61A, 61B, 61C, 61D).

[0257] Clause 63. A computer-implemented method for configuring a frame recommendation device (10) characterized by providing a plurality of frame data clusters (51A, 51B, 51C) according to Clause 61 and providing a plurality of head data clusters (61A, 61B, 61C, 61D) according to Clause 62.

Claims

1. A computer-implemented method for selecting a frame with good physical fit for a person, the method comprising: providing head data of the person, the head data comprising a 2D image of the person's head or a 3D image of the person's head, characterized in that the method is based on a plurality of head data clusters (61A, 61B, 61C, 61D), a plurality of frame data clusters (51A, 51B, 51C) and a mapping between the plurality of head data clusters (61A, 61B, 61C, 61D) and the plurality of frame data clusters (51A, 51B, 51C), wherein a head data cluster is a set of head data representing heads and grouped together based on a similarity criterion such that heads that look similar are grouped together in the same cluster, wherein in the plurality of head data clusters (61A, 61B, 61C, 61D) head data represented by a 2D image of a head or a 3D image of a head are grouped together, wherein a frame data cluster is a set of frame data representing different frames and grouped together based on another similarity criterion, wherein in the plurality of frame data clusters (51A, 51B, 51C) frame data represented by a 2D image of a frame, a 3D image of a frame or CAD data of a frame are grouped together, and: based on the head data of the person, identifying a head data cluster from the plurality of head data clusters (61A, 61B, 61C, 61D), each head data cluster (61A, 61B, 61C, 61D) comprising a plurality of compressed head data of heads, according to the mapping between the plurality of head data clusters (61A, 61B, 61C, 61D) and the plurality of frame data clusters (51A, 51B, 51C), selecting a frame data cluster from the plurality of frame data clusters (51A, 51B, 51C) that is mapped with the identified head data cluster, each frame data cluster (51A, 51B, 51C, 51D) comprising a plurality of compressed frame data of frames, and based on the selected frame data cluster, providing at least one selected frame.

2. A computer-implemented method for selecting a frame with good physical fit for a person, the method comprising: providing head data of the person, the head data comprising a 2D image of the person's head or a 3D image of the person's head, characterized in that The method is based on a plurality of head data clusters (61A, 61B, 61C, 61D), a plurality of frame data clusters (51A, 51B, 51C), and a mapping between the plurality of head data clusters (61A, 61B, 61C, 61D) and the plurality of frame data clusters (51A, 51B, 51C), wherein a head data cluster is a group of head data representing heads and grouped together based on a similarity criterion, such that heads that look similar are grouped together in the same cluster, wherein in the plurality of head data clusters (61A, 61B, 61C, 61D) head data represented by a 2D image of a head or a 3D image of a head are grouped together, wherein a frame data cluster is a group of frame data representing different frames and grouped together based on another similarity criterion, wherein in the plurality of frame data clusters (51A, 51B, 51C) frame data represented by a 2D image of a frame, a 3D image of a frame, or CAD data of a frame are grouped together, and: identifying, based on the person's head data, a head data cluster from the plurality of head data clusters (61A, 61B, 61C, 61D), each head data cluster (61A, 61B, 61C, 61D) comprising compressed head data of a plurality of heads, each head data comprising a plurality of values, selecting, from the plurality of frame data clusters (51A, 51B, 51C), a frame data cluster mapped with the identified head data cluster according to the mapping between the plurality of head data clusters (61A, 61B, 61C, 61D) and the plurality of frame data clusters (51A, 51B, 51C), each frame data cluster (51A, 51B, 51C, 51D) comprising compressed frame data of a plurality of frames, each frame data comprising a plurality of values, and providing at least one selected frame from the selected frame data cluster.

3. The method of claim 2, wherein, Identifying the head data cluster based on the person's head data comprises: compressing the person's head data, and identifying the head data cluster based on a predetermined similarity criterion.

4. The method of any one of claims 1 to 3, wherein, The mapping comprises one of a probability or a probability distribution assigned to pairings, each pairing comprising one head data cluster of the plurality of head data clusters (61A, 61B, 61C, 61D) and one frame data cluster of the plurality of frame data clusters (51A, 51B, 51C), wherein selecting the frame data cluster is based on one of the probability or the probability distribution.

5. The method of claim 4, wherein, Selecting the frame data cluster is based on a Bayesian multi-armed bandit algorithm.

6. The method of any one of claims 1 to 3, wherein, providing a head size of the person, and modifying the selection based on the head size.

7. The method of any one of claims 1 to 3, wherein, providing a head color of the person, and modifying the selection based on the head color.

8. The method of any one of claims 1 to 3, wherein, Providing the person's head data comprises capturing or providing a 2D image of the person.

9. The method of claim 7, wherein, Providing the person's head data comprises capturing or providing a 2D image of the person.

10. The method of claim 9, wherein, Providing the head color is based on the 2D image.

11. The method of any one of claims 1 to 3, wherein, Further comprising updating the mapping based on feedback from the person.

12. The method of claim 11, wherein, The updating is performed based on a Bayesian multi-armed bandit algorithm.

13. A computer-implemented method for configuring a frame recommendation device (10) to recommend frames with good physical suitability for a person, characterized in that: providing a plurality of frame data clusters (51A, 51B, 51C), wherein a frame data cluster is a group of frame data representing different frames and grouped together based on another similarity criterion; providing a plurality of head data clusters (61A, 61B, 61C, 61D), wherein a head data cluster is a group of head data representing heads and grouped together based on a similarity criterion, such that heads that look similar are grouped together in the same cluster; and providing a mapping between these head data clusters (61A, 61B, 61C, 61D) and these frame data clusters (51A, 51B, 51C), identifying one of these head data clusters (61A, 61B, 61C, 61D) based on the person's head data, and selecting from these frame data clusters (51A, 51B, 51C) the frame data cluster that is mapped with the identified head data cluster, and further characterized by at least one of: - providing frame data of a plurality of frames (50A, 50B), compressing the frame data so as to generate a plurality of values for each frame; and clustering the compressed frame data based on the other similarity criterion to provide the plurality of frame data clusters (51A, 51B, 51C), wherein in the plurality of frame data clusters (51A, 51B, 51C) frame data represented by 2D images of frames, 3D images of frames, or CAD data of frames are grouped together, or - providing head data of a plurality of heads (60A, 60D), compressing the head data so as to generate a plurality of values for each head; and clustering the compressed head data based on the similarity criterion to provide the plurality of head data clusters (61A, 61B, 61C, 61D), wherein in the plurality of head data clusters (61A, 61B, 61C, 61D) head data represented by 2D images of heads or 3D images of heads are grouped together.

14. The method of claim 13, wherein, providing the mapping comprises assigning one of a probability or a probability distribution to pairings, each pairing comprising one of the plurality of head data clusters (61A, 61B, 61C, 61D) and one of the plurality of frame data clusters (51A, 51B, 51C).

15. The method of claim 13 or 14, wherein, compressing the frame data or compressing the head data comprises compressing the frame data or head data using a convolutional neural network, and wherein the similarity criterion is based on a distance between compressed head data or compressed frame data represented as points in an n-dimensional space.

16. The method of claim 13 or 14, wherein, compressing the frame data or compressing the head data comprises compressing the frame data or head data using principal component analysis, wherein the similarity criterion is that head data or frame data are identified as belonging to the same cluster if a deviation of low order coefficients resulting from the principal component analysis is below a predefined threshold.

17. A computer program comprising instructions which, when executed on at least one processor, cause performance of the method according to any one of claims 1 to 16.

18. A device (10) comprising a processor and stored instructions which, when executed by the processor, cause performing a method for selecting a frame with good physical fit for a person, wherein the method comprising: providing head data of the person, the head data comprising a 2D image of the person's head or a 3D image of the person's head, characterized in that the performed method is based on a plurality of head data clusters (61A, 61B, 61C, 61D), a plurality of frame data clusters (51A, 51B, 51C) and a mapping between the plurality of head data clusters (61A, 61B, 61C, 61D) and the plurality of frame data clusters (51A, 51B, 51C), wherein a head data cluster is a set of head data representing heads and grouped together based on a similarity criterion such that heads that look similar are grouped together in the same cluster, wherein in the plurality of head data clusters (61A, 61B, 61C, 61D) head data represented by a 2D image of a head or a 3D image of a head are grouped together, wherein a frame data cluster is a set of frame data representing different frames and grouped together based on another similarity criterion, wherein in the plurality of frame data clusters (51A, 51B, 51C) frame data represented by a 2D image of a frame, a 3D image of a frame or CAD data of a frame are grouped together, and further comprising: identifying a head data cluster from the plurality of head data clusters (61A, 61B, 61C, 61D) based on the head data of the person, each head data cluster (61A, 61B, 61C, 61D) comprising a plurality of compressed head data of heads, selecting a frame data cluster mapped with the identified head data cluster from the plurality of frame data clusters (51A, 51B, 51C) according to the mapping between the plurality of head data clusters (61A, 61B, 61C, 61D) and the plurality of frame data clusters (51A, 51B, 51C), each frame data cluster (51A, 51B, 51C, 51D) comprising a plurality of compressed frame data of frames, and providing at least one selected frame based on the selected frame data cluster.

19. A device (10) comprising a processor and stored instructions which, when executed by the processor, cause performing a method for selecting a frame with good physical fit for a person, wherein, the method comprising: providing head data of the person, the head data comprising a 2D image of the person's head or a 3D image of the person's head, characterized in that the performed method is based on a plurality of head data clusters (61A, 61B, 61C, 61D), a plurality of frame data clusters (51A, 51B, 51C) and a mapping between the plurality of head data clusters (61A, 61B, 61C, 61D) and the plurality of frame data clusters (51A, 51B, 51C), wherein a head data cluster is a group of head data representing heads and grouped together based on a similarity criterion such that heads that look similar are grouped together in the same cluster, wherein in the plurality of head data clusters (61A, 61B, 61C, 61D) head data represented by 2D images of heads or 3D images of heads are grouped together, wherein a frame data cluster is a group of frame data representing different frames and grouped together based on another similarity criterion, wherein in the plurality of frame data clusters (51A, 51B, 51C) frame data represented by 2D images of frames, 3D images of frames or CAD data of frames are grouped together, and further comprising: identifying a head data cluster from the plurality of head data clusters (61A, 61B, 61C, 61D) based on head data of the person, each head data cluster (61A, 61B, 61C, 61D) comprising compressed head data of a plurality of heads, each head data comprising a plurality of values, selecting a frame data cluster mapped with the identified head data cluster from the plurality of frame data clusters (51A, 51B, 51C) based on the mapping between the plurality of head data clusters (61A, 61B, 61C, 61D) and the plurality of frame data clusters (51A, 51B, 51C), each frame data cluster (51A, 51B, 51C, 51D) comprising compressed frame data of a plurality of frames, each frame data comprising a plurality of values, and providing at least one selected frame from the selected frame data cluster.

20. An apparatus (10) comprising a processor and stored instructions which, when executed by the processor, cause performance of a method for configuring a frame recommendation apparatus (10) to recommend frames with good physical fit for a person, the method comprising: providing a plurality of frame data clusters (51A, 51B, 51C), wherein a frame data cluster is a group of frame data representing different frames and grouped together based on another similarity criterion; providing a plurality of head data clusters (61A, 61B, 61C, 61D), wherein a head data cluster is a group of head data representing heads and grouped together based on a similarity criterion such that heads that look similar are grouped together in the same cluster; and providing a mapping between the head data clusters (61A, 61B, 61C, 61D) and the frame data clusters (51A, 51B, 51C), identifying one of the head data clusters (61A, 61B, 61C, 61D) based on head data of the person, and selecting a frame data cluster mapped with the identified head data cluster from the frame data clusters (51A, 51B, 51C), and further characterized in at least one of: - providing frame data of a plurality of frames (50A, 50B), compressing the frame data; and clustering the compressed frame data based on the further similarity criterion to provide the plurality of frame data clusters (51A, 51B, 51C), wherein in the plurality of frame data clusters (51A, 51B, 51C) frame data represented by 2D images of frames, 3D images of frames or CAD data of frames are grouped together, or - providing head data of a plurality of heads (60A, 60D), compressing the head data; and clustering the compressed head data based on the similarity criterion to provide the plurality of head data clusters (61A, 61B, 61C, 61D), wherein in the plurality of head data clusters (61A, 61B, 61C, 61D) head data represented by 2D images of heads or 3D images of heads are grouped together.

Citation Information

Patent Citations

  • Product category optimization for image similarity searching of image-based listings in a network-based publication system

    US20110314031A1

  • Method for eyewear fitting, recommendation, and customization using collision detection

    US20130088490A1

  • System, Method and Software Product in Eyewear Marketing, Fitting Out and Retailing

    US20130132898A1

  • Computerized method for fitting eyeglasses

    US5592248A

  • System and method enabling shopping from home for fitted eyeglass frames

    US5983201A