METHODS AND DEVICES FOR SPECTACLE FRAME SELECTION

20230093044 · 2023-03-23

    Inventors

    Cpc classification

    International classification

    Abstract

    Methods and devices related to spectacle frame recommendation are provided. For configuring a device for frame recommendation, frame data is clustered into a plurality of frame data clusters, and head data is clustered into a plurality of head data clusters. A mapping between the head data clusters and the frame data clusters is performed. For recommendation of 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 is selected which forms the basis for the recommendation.

    Claims

    1. A method for selecting a frame for a person, the method comprising: providing head data of a person; identifying a head data cluster from a plurality of head data clusters based on the head data of the person; selecting a frame data cluster from a plurality of frame data clusters based on the identified head data cluster and a mapping between the plurality of head data clusters and the plurality of frame data clusters; and providing at least one selected frame based on the selected frame data cluster.

    2. The method of claim 1, wherein the mapping comprises one of probabilities or probability distributions assigned to pairs, each pair including a head data cluster of the plurality of head data clusters and a frame data cluster of the plurality of frame data clusters, and wherein selecting the frame data cluster is based on the one of probabilities or probability distributions.

    3. The method of claim 2, wherein selecting the frame data cluster is based on a Bayesian multi-armed bandit algorithm.

    4. The method of claim 1, further comprising: providing head dimensions of the person; and modifying the selecting based on the head dimensions.

    5. The method of claim 1, further comprising: providing a head color of the person, and modifying the selecting based on the head color.

    6. The method of claim 1, wherein providing the head data of the person comprises capturing or providing a 2D image of the person.

    7. The method of claim 5, wherein providing the head color is based on the 2D image.

    8. The method of claim 5, further comprising updating the mapping based on feedback from the person.

    9. The method of claim 8, wherein the updating is performed based on a Bayesian multi-armed bandit algorithm.

    10. A computer-implemented method for configuring a device for frame recommendation, the method comprising: providing a plurality of frame data clusters; providing a plurality of head data clusters; and providing a mapping between the head data clusters and the frame data clusters.

    11. The method of claim 10, wherein providing a plurality of frame data clusters comprises: providing frame data for a plurality of frames; compressing the frame data; and clustering the compressed frame data based on a similarity criterion to provide the plurality of frame data clusters.

    12. The method of claim 10, wherein providing the plurality of head data clusters comprises: providing head data for a plurality of heads; compressing the head data; and clustering the compressed head data based on a further similarity criterion to provide the plurality of head data clusters.

    13. The method of claim 10, wherein providing the mapping comprises assigning one of probabilities or probability distributions to pairs, each pair including a head data cluster of the plurality of head data clusters and a frame data cluster of the plurality of frame data clusters.

    14. A computer program stored on a non-transitory storage medium and comprising instructions which, when carried out on at least one processor, cause execution of the method of claim 1.

    15. A device having a processor and instructions stored on a non-transitory storage medium, which, when carried out by the processor, cause execution of a method for frame recommendation, the method comprising: providing a plurality of frame data clusters; providing a plurality of head data clusters; and providing a mapping between the head data clusters and the frame data clusters.

    16. A device having a processor and instructions stored on a non-transitory storage medium, which, when carried out by the processor, cause execution of a method for selecting a frame for a person, the method comprising: providing head data of a person; identifying a head data cluster from a plurality of head data clusters based on the head data of the person; selecting a frame data cluster from a plurality of frame data clusters based on the identified head data cluster and a mapping between the plurality of head data clusters and the plurality of frame data clusters; and providing at least one selected frame based on the selected frame data cluster.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0082] The disclosure will now be described with reference to the drawings wherein:

    [0083] FIG. 1 is a block diagram of a device according to an exemplary embodiment;

    [0084] FIG. 2 is a flowchart illustrating a method according to an exemplary embodiment;

    [0085] FIGS. 3 and 4 are diagrams illustrating examples for compression used in exemplary embodiments;

    [0086] FIG. 5 is a diagram illustrating clustering of frame data;

    [0087] FIG. 6 is a diagram illustrating clustering of head data;

    [0088] FIG. 7 is a diagram illustrating an example of a mapping between head data clusters and frame data clusters; and

    [0089] FIG. 8 is a flowchart illustrating a method according to an exemplary embodiment.

    DESCRIPTION OF EXEMPLARY EMBODIMENTS

    [0090] Turning now to the drawings, FIG. 1 is a block diagram of a device 10 according to an exemplary embodiment.

    [0091] Device 10 is a computer comprising a processor 12, memory 13, display 14, one or more input/output devices 15 and network interface 16 interconnected with each other. For example, device 10 may be a commercially available computer device like a personal computer, a laptop, a tablet PC, a smartphone or the like. Processor 12 may include one or more processors, each including one or more processor cores. Memory 13 may comprise various types of memories like random access memory (RAM), read only memory (ROM), cache memory of processor 12, flash memory, or other storage devices like a hard disk, or a solid-state-drive (SSD). In memory 13, program code comprising instructions may be stored which causes execution of the methods discussed below. Display 14 may include a touchscreen which is also used for inputting data. Input/output devices 15 may for example include a keyboard, a loudspeaker, or a mouse. Network interface 16 made provide connection to the Internet in a wireless or wire-based manner.

    [0092] Such a device may be used for implementing the configuration method discussed below with reference to FIG. 2 or may be a device for frame selection using the method discussed below with respect to FIG. 8. Particularly, in the latter case, device 10 may include a camera 11 for obtaining a 2D image of a head of a user. Such a camera 11 is included in many commercially available computer devices like laptops, table PCs or smartphones. In other exemplary embodiments, camera 11 may be externally provided and connected to computer device 10.

    [0093] In case device 10 is used for frame recommendation as will be discussed in connection with FIG. 8, network interface 16 may be used to connect device 10 to a remote database 17 where head data clusters, frame data clusters and a mapping therebetween are stored. In other exemplary embodiments, such frame data clusters, head data clusters and a mapping therebetween may be stored in memory 13.

    [0094] FIG. 2 is a flowchart illustrating a method for configuring a device for frame recommendation according to an exemplary embodiment.

    [0095] At 20, the method comprises providing frame data for a plurality of frames. As mentioned previously, frame data may take different forms like 2D images, 3D images or CAD data.

    [0096] At 21, the method comprises compressing the frame data.

    [0097] At 22, the method comprises clustering the compressed frame data to form a plurality of frame data clusters.

    [0098] Likewise, at 23 the method comprises providing head data for a plurality of heads, for example 2D images.

    [0099] At 24, the method comprises compressing the head data.

    [0100] At 25, the method comprises clustering the compressed head data to form a plurality of head data clusters.

    [0101] At 26, the method comprises providing a mapping from the head data clusters to the frame data clusters.

    [0102] Various steps of the method of FIG. 2 will now be illustrated referring to FIGS. 2-7.

    [0103] FIGS. 3 and 4 show two possible approaches for compressing frame data at 21 or compressing head data at 24. In FIG. 3, a principal component analysis (PCA) is used. Here, frame data or head data 30 is subjected to a principal component analysis 31. The results are principal component analysis coefficients (PCA coefficients) 32, which represent the frame data or head data in compressed form, i.e., by the coefficients only. As explained further above, the coefficients define linear combinations of a plurality of templates (the principal components).

    [0104] In FIG. 4, an example for a compression using a convolutional neural network (CNN) is illustrated.

    [0105] Frame data or head data 40 is provided to a convolutional neural network including layers 41-45. It should be noted that layers 41-45 serve merely as an example, and more layers may be provided. Layer 41 serves as an input layer. From layers 41-43, a spatial compression of the data is performed, i.e., the data is represented by less and less numerical values from layer to layer. Layer 43, where a maximum compression is present, is also sometimes referred to as bottleneck. From layer 43 to an output layer 45, spatial expansion occurs, and layer 45 outputs reference frame/head data 46.

    [0106] During training, coefficients between layers 41-45 are adapted and trained using training frame data or training head data such that the output reference frame data or reference head data essentially corresponds to the input training frame data or training head data. “Essentially corresponds” means that the deviations are smaller than a predefined value. When the neural network is trained that way, this means that when frame data or head data is input to the neural network, numerical values present in bottleneck 43 constitute a compressed representation 47 of the frame data or head data.

    [0107] As mentioned further above in the general discussion, these are merely two examples for compression methods, and other compression methods may also be used.

    [0108] FIG. 5 illustrates the clustering of compressed frame data at 22 in FIG. 2. Here, based on a similarity criterion between the compressed frame data, frames represented by the frame data are grouped together in clusters. In the example of FIG. 5, frames 50A, which have similar shapes, forms and dimensions, are grouped together in a cluster 55A (cluster 1), and frames 50B which are also similar to each other according to the similarity criterion are grouped together in a cluster 51B (cluster 2). It should be noted that the differences of frame shapes shown for frames 50A, 50B is merely for illustration purposes, and in some exemplary embodiments frames grouped together in a cluster may be more or less similar to each other. For illustration purposes, frames 50A have rounder rims, while frames 50B have more angular rims. Further frames (not shown in FIG. 5) are grouped into a cluster 51C (cluster 3). The number of three cluster 51A-51C in FIG. 5 is merely an example for ease of understanding, and depending on the number of frames for which frame data is available, and their similarities, other numbers of clusters may be formed.

    [0109] FIG. 6 shows a schematic example for the clustering of the compressed head data at 25 in FIG. 2. In the example of FIG. 6, head data corresponding to heads 60A are clustered to a head data cluster 61A (cluster A). Heads in a cluster may have similar shapes, similar proportions (for example similar relative distances between elements of the face), same gender, same ethnicity and the like. Head data corresponding to heads 60D are clustered in a head data cluster 61D (cluster D). Other head data may be clustered in a head data cluster 61B (cluster B) or in a head data cluster 61C (cluster C). The number of nine heads 60A and nine heads 60D as well as the number of four head data clusters again serves only as an example. In particular, different numbers of head data may be clustered in different clusters, depending on how many sets of head data for heads fulfilling a respective similarity criterion are available.

    [0110] FIG. 7 illustrates an example for a mapping provided at 26 of FIG. 2, where head data clusters 61A to 61D of FIG. 6 and frame data clusters 51A to 51C of FIG. 5 are used as an example. The arrows between head data clusters and frame data clusters illustrate such a mapping, each assigned with a respective probability p(A,1), p(A,2), p(A,3), p(D,1) and p(D,3) in the example of FIG. 7. It should be noted that such a correction with an assigned probability may go from each head data cluster to each frame data cluster, but only some mappings are shown in FIG. 7 for clarity's sake.

    [0111] Once the frame data clusters, head data clusters and mapping are provided, a correspondingly configured device may be used for frame recommendation. A corresponding method, which will be discussed referring to FIG. 8, may be implemented in device 10 of FIG. 1. The head data clusters, frame data clusters and mapping may be stored in remote database 17, but may also be stored in memory 13.

    [0112] At 80 in FIG. 8, the method comprises providing head data of a person. Returning to FIG. 1, this may be done by taking an image of the head of the person using camera 11.

    [0113] At 81, the method comprises identifying a head data cluster based on the head data. To this end, the head data may be compressed as at 24 in FIG. 2, and then an appropriate head cluster may be used based on the similarity criterion. For example, if the head of the person is similar to heads 60A, likely cluster 61A will be identified. If the head of the person is similar to the heads 60D, likely cluster 61D will be identified.

    [0114] At 82, the method comprises selecting a frame data cluster based on the head data cluster identified at 81 and the mapping between the head data clusters and frame data clusters. For example, if at 81 head data cluster 61A of FIGS. 6 and 7 is identified, a frame data cluster is selected based on probabilities p(A,1), p(A,2) and p(A,3).

    [0115] In the following steps 83-86, this selection may be modified. As indicated by dashed arrows in FIG. 8, and as already explained above, this modifying may be performed before or after the selecting at 82.

    [0116] At 83, the method of FIG. 8 comprises providing head dimensions of the person, and at 84 the method comprises modifying the selecting based on the provided head dimensions. This may increase the probability that recommended frames fit the user.

    [0117] At 85, the method comprises providing a head color of the person. The head color may be input or may be extracted from the head data provided at 80, for example 2D image, based on image analysis techniques.

    [0118] At 86, the method may comprise modifying the selecting based on the head color. For example, certain colors usually are regarded as a bad match, and a probability of selecting frames having a color being a bad match for the head color may be reduced.

    [0119] The frames of the selected cluster resulting from this modifying at 84 and 86 may be provided as recommendations to the person at 87. These recommendations, at 88, may be further filtered by the user based on personal preferences, for example color, brand, type or the like.

    [0120] At 89, the method may comprise updating the mapping based on feedback from the person. This may be done, as explained above, based on the Bayesian multi-armed bandit algorithm. Essentially, when the person for example selects or buys one of the selected frames, the associated mapping between head data cluster and frame data cluster may be modified to increase the probability that the respective frame data cluster is selected for the respective head data cluster. If the person does not select any of the recommended frames, correspondingly the mapping may be modified to decrease the probability.

    [0121] In cases where the head data clusters, frame data clusters and mapping are stored in remote database 17, the updating may be performed from a plurality of devices accessing database 17 for frame selection.

    [0122] Some exemplary embodiments are defined by the following clauses:

    [0123] Clause 1. A computer-implemented method for configuring a device (10) for frame recommendation, characterized by: [0124] providing a plurality of frame data clusters (51A, 51B, 51C); [0125] providing a plurality of head data clusters (61A, 61B, 61C, 61D); and [0126] providing a mapping between the head data clusters (61A, 61B, 61C, 61D) and the frame data clusters (51A, 51B, 51C).

    [0127] Clause 2. The method of clause 1, characterized in that providing a plurality of frame data clusters (51A, 51B, 51C) comprises: [0128] providing frame data for a plurality of frames (50A, 50B), [0129] compressing the frame data; and [0130] clustering the compressed frame data based on a similarity criterion to provide the frame data clusters (51A, 51B, 51C).

    [0131] Clause 3. The method of clause 1 or 2, characterized in that providing the plurality of head data clusters (61A, 61B, 61C, 61D) comprises: [0132] providing head data for a plurality of heads (60A, 60D), [0133] compressing the head data; and [0134] clustering the compressed head data based on a further similarity criterion to provide the plurality of head data clusters (61A, 61B, 61C, 61D).

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

    [0136] Clause 5. The method of any one of clauses 1 to 4, characterized in that providing the mapping comprises assigning one of probabilities or probability distributions to pairs, each pair including 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).

    [0137] Clause 6. The method of clause 5, characterized in that assigning the probability distributions comprises assigning the probability distributions as Beta distributions.

    [0138] Clause 7. A device (10) characterized by: [0139] means for providing a plurality of frame data clusters (51A, 51B, 51C) (51A, 51B, 51C); [0140] means for providing a plurality of head data clusters (61A, 61B, 61C, 61D); and [0141] means for providing a mapping between the head data clusters (61A, 61B, 61C, 61D) and the frame data clusters (51A, 51B, 51C).

    [0142] Clause 8. The device (10) of clause 7, characterized in that the means for providing a plurality of frame data clusters (51A, 51B, 51C) comprise: [0143] means for providing frame data for a plurality of frames (50A), [0144] means for compressing the frame data; and [0145] means for clustering the compressed frame data based on a similarity criterion to provide the frame data clusters (51A, 51B, 51C).

    [0146] 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) comprise: [0147] means for providing head data for a plurality of heads (60A, 60D); [0148] means for compressing the head data; and [0149] 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).

    [0150] 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).

    [0151] Clause 11. The device (10) of any one of clauses 7-10, characterized in that the means for providing the mapping comprise means for assigning one of probabilities or probability distributions to pairs, each pair including 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).

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

    [0153] Clause 13. A device (10) for frame recommendation, comprising a processor (12), characterized in that the processor (12) is configured to: [0154] provide a plurality of frame data clusters (51A, 51B, 51C); [0155] provide a plurality of head data clusters (61A, 61B, 61C, 61D); and [0156] provide a mapping between the head data clusters (61A, 61B, 61C, 61D) and the frame data clusters (51A, 51B, 51C).

    [0157] Clause 14. The device (10) of clause 13, characterized in that for providing a plurality of frame data clusters (51A, 51B, 51C) the processor (12) is configured to: [0158] provide frame data for a plurality of frames (50A), [0159] compress the frame data, and [0160] cluster the compressed frame data based on a similarity criterion to provide the frame data clusters (51A, 51B, 51C).

    [0161] Clause 15. The device (10) of clause 13, characterized in that for providing the plurality of head data clusters (61A, 61B, 61C, 61D) the processor (12) is configured to: [0162] provide head data for a plurality of heads (60A, 60D), [0163] compress the head data; and [0164] cluster the compressed head data based on a further similarity criterion to provide the plurality of head data clusters (61A, 61B, 61C, 61D).

    [0165] 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).

    [0166] Clause 17. The device (10) of any one of clauses 13 to 16, characterized in that for providing the mapping the processor (12) is configured to assign one of probabilities or probability distributions to pairs, each pair including 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).

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

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

    [0169] providing head data of the person,

    [0170] characterized by: [0171] identifying a head data cluster from a plurality of head data clusters (61A, 61B, 61C, 61D) based on the head data of the person, [0172] selecting a frame data cluster from 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

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

    [0174] 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.

    [0175] Clause 21. The method of clause 19 or 20, characterized in that the mapping comprises one of probabilities or probability distributions assigned to pairs, each pair 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 probabilities or probability distributions.

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

    [0177] Clause 23. The method of any one of clauses 19 to 22, characterized by providing

    [0178] head dimensions of the person, and

    [0179] modifying the selecting based on the head dimensions.

    [0180] Clause 24. The method of any one of clauses 19 to 23, characterized by

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

    [0182] modifying the selecting based on the head color.

    [0183] 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.

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

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

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

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

    [0188] Clause 30. A device (10) for selecting a frame for a person, comprising:

    [0189] means for providing head data of the person, characterized by [0190] means for identifying a head data cluster from a plurality of head data clusters (61A, 61B, 61C, 61D) based on the head data of the person, [0191] means for selecting a frame data cluster from 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 [0192] means for providing at least one recommended frame based on the selected frame data cluster.

    [0193] Clause 31. The device (10) of clause 30, characterized in that the means for identifying the head data cluster comprise 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.

    [0194] Clause 32. The device (10) of clause 30 or 31, characterized in that the mapping comprises one of probabilities or probability distributions assigned to pairs, each pair 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 operate based on the one of probabilities or probability distributions.

    [0195] Clause 33. The device (10) of clause 32, characterized in that selecting the frame data cluster is based on a Bayesian multi-armed bandit algorithm.

    [0196] Clause 34. The device (10) of any one of clauses 30 to 33, characterized by means

    [0197] for providing head dimensions of the person, and

    [0198] means for modifying the selecting based on the head dimensions.

    [0199] Clause 35. The device (10) of any one of clauses 30 to 34, characterized by

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

    [0201] means for modifying the selecting based on the head color.

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

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

    [0204] Clause 38. The device (10) of any one of clauses 30 to 37, characterized by further comprising means for filtering the at least one selected frame based on a criterion provided by the person.

    [0205] Clause 39. The device (10) of any one of clauses 30 to 38, characterized by further comprising means for updating the mapping based on feedback from the person.

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

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

    a processor (12) configured to:

    [0208] provide head data of the person, characterized by the processor (12) being further configured to [0209] identify a head data cluster of a plurality of head data clusters (61A, 61B, 61C, 61D) based on the head data of the person, [0210] select 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 [0211] provide at least one recommended frame based on the selected frame data cluster.

    [0212] Clause 42. The device (10) of clause 41, characterized in that for identifying the head data cluster the processor (12) is configured to compress the head data of the person, and identify the head data cluster based on the compressed head and a similarity criterion.

    [0213] Clause 43. The device (10) of clause 41 or 42, characterized in that the mapping comprises one of probabilities or probability distributions assigned to pairs, each pair 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 probabilities or probability distributions.

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

    [0215] Clause 45. The device (10) of any one of clauses 41 to 44, characterized in that the processor (12) is configured to receive head dimensions of the person, and modify the selecting based on the head dimensions.

    [0216] Clause 46. The device (10) of any one of clauses 41 to 45, characterized in that the processor (12) is configured to

    provide a head color of the person, and
    modify the selecting based on the head color.

    [0217] Clause 47. The device (10) of any one of clauses 41 to 46, characterized in that for providing the head data of the person the device (10) comprises a camera (11) for capturing a 2D image of the person.

    [0218] Clause 48. The device (10) of clause 46 and 47, characterized in that providing the head color is based on the 2D image.

    [0219] Clause 49. The device (10) of any one of clauses 41 to 48, characterized in that the processor (12) is configured to filter the at least one selected frame based on a criterion provided by the person.

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

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

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

    providing frame data for a plurality of frames,
    compressing the frame data,
    selecting a template frame of a wearer's taste,
    selecting one or more frames from the compressed frame data based on a similarity criterion.

    [0223] Clause 53. The method of clause 52, further comprising: [0224] providing a ranking of similarity to the template frame between the selected frames.

    [0225] Clause 54. A computer program comprising instructions, which, when carried out on at least one processor, cause execution of the method of any one of clauses 1-6, 19-29 or 52-53.

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

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

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

    [0229] Clause 58. A device (10) comprising a processor and stored instructions which, when carried out by the processor, cause execution of the method of any one of clauses 1-6,19-29 or 52-53.

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

    providing frame data for a plurality of frames (50A, 50B),
    compressing the frame data; and
    clustering the compressed frame data based on a similarity criterion to provide the frame data clusters (51A, 51B, 51C).

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

    providing head data for a plurality of heads (60A, 60D), and
    clustering the compressed head data based on a further similarity criterion to provide the plurality of head data clusters (61A, 61B, 61C, 61D).

    [0232] Clause 61. A computer-implemented method for configuring a device (10) for frame recommendation, characterized in providing a plurality of frame data clusters (51A, 51B, 51C) comprising: [0233] providing frame data for a plurality of frames (50A, 50B), and [0234] clustering the compressed frame data based on a similarity criterion to provide the plurality of frame data clusters (51A, 51B, 51C).

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

    providing head data for a plurality of heads (60A, 60D), and
    clustering the compressed head data based on a further similarity criterion to provide the plurality of head data clusters (61A, 61B, 61C, 61D).

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