Techniques for identifying skin tones in images with uncontrolled lighting conditions

By training machine learning models and using image normalization techniques, the challenge of skin tone estimation under uncontrolled lighting conditions has been solved, achieving accuracy and convenience in cosmetic recommendations.

CN114258559BActive Publication Date: 2026-03-13LOREAL SA
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-07-09
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Existing technologies struggle to accurately estimate skin tone in images under uncontrolled lighting conditions, leading to inaccuracies in cosmetic recommendations during online shopping.

Method used

A machine learning model is trained, which captures images under different lighting conditions using multiple images and performs standardization processing. Then, a convolutional neural network is used to estimate skin color and generate an accurate skin color prediction score.

Benefits of technology

It enables accurate skin tone estimation under various lighting conditions, improves the accuracy of cosmetic recommendations, reduces the need for in-person testing, and enhances the online shopping experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114258559B_ABST
    Figure CN114258559B_ABST
Patent Text Reader

Abstract

In some embodiments of this disclosure, one or more machine learning models are trained to accurately estimate skin tones in one or more images, regardless of lighting conditions. In some embodiments, the model can then be used to estimate skin tones in new images, and this estimated skin tone can be used for various purposes. For example, the skin tone can be used to generate recommendations for foundation shades that precisely match the skin tone, or recommendations for another cosmetic product that complements the estimated skin tone. This eliminates the need for in-person product testing.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-reference to related applications

[0002] This application claims the benefit of U.S. Application No. 16 / 516,080, filed July 18, 2019, the entire contents of which are incorporated herein by reference. Summary of the Invention

[0003] This overview is provided to present, in a simplified form, some ideas that will be further described in the detailed description below. This overview is not intended to identify key features of the claimed subject matter, nor is it intended to help determine the scope of the claimed subject matter.

[0004] In some embodiments, a method is provided for training a machine learning model to estimate the skin color of a face in an image. A computing device receives at least one training image including the face of a training subject. The computing device receives labeling information for the at least one training image. The computing device adds the at least one training image and the labeling information to a training data storage device. The computing device trains the machine learning model to determine the skin color of the face using the information stored in the training data storage device.

[0005] In some embodiments, a method is provided for estimating skin color of a face using one or more machine learning models. A computing device receives at least one image comprising the face of a real-world object. The computing device processes the at least one image using at least one machine learning model to determine the skin color. The computing device then renders the skin color.

[0006] In some embodiments, a system is provided. The system includes a skin color prediction unit comprising a computational circuit system configured to receive at least one training image including a face of a training subject; receive labeling information for the at least one training image; add the at least one training image and the labeling information to a training data storage; and train a machine learning model using the training dataset to determine the skin color of the face.

[0007] In some embodiments, a system is provided. The system includes a skin color prediction unit and a predicted skin color unit. The skin color prediction unit includes a computational circuitry configured to generate a pixel-wise predicted score of skin color for a face in an image using one or more convolutional neural network image classifiers. The predicted skin color unit includes a computational circuitry configured to generate a virtual display of the predicted skin color for a user in response to one or more inputs based on the predicted score of the face's skin color. Attached Figure Description

[0008] The foregoing aspects and many accompanying advantages of the invention will become more readily understood from the following detailed description taken in conjunction with the accompanying drawings, wherein:

[0009] Figure 1 This is a schematic diagram of a non-limiting example embodiment of a system for generating automatic estimates of skin color using at least one machine learning model according to various aspects of this disclosure;

[0010] Figure 2 This is a block diagram illustrating non-limiting example embodiments of a mobile computing device and a skin color determination device according to various aspects of this disclosure;

[0011] Figure 3 This is a flowchart illustrating a non-limiting example embodiment of a method for training a machine learning model to estimate the skin color of a face in an image, according to various aspects of this disclosure;

[0012] Figure 4 This is a schematic diagram illustrating a standardized, non-limiting example embodiment of an image including a face according to various aspects of this disclosure;

[0013] Figure 5 This is a flowchart illustrating a non-limiting example embodiment of a method for estimating skin color of a face in an image using a machine learning model, according to various aspects of this disclosure; and

[0014] Figure 6 This is a block diagram illustrating aspects of an exemplary computing device suitable for use as a computing device of this disclosure. Detailed Implementation

[0015] Online shopping (including via mobile computing devices) offers consumers a convenient way to browse and access products. Beyond making large catalogs accessible with a click of a mouse or a tap of a finger, various technologies exist to provide online shoppers with a wide range of recommendations based on other products they might be interested in, their purchase history, their reviews of other products, and the purchase history and reviews of other shoppers.

[0016] However, there are certain types of products for which the in-person experience is difficult to replace with online interaction. For example, beauty products such as foundation or other cosmetics are difficult to browse online and recommended automatically. This is primarily because the most relevant and fundamental characteristic for consumer recommendations—facial skin tone—is difficult to estimate automatically. Even if an image or video of a consumer is captured, it cannot currently be used reliably to determine skin tone due to technological limitations in image processing from uncontrolled environments. Inconsistent lighting conditions between locations will cause different colors to be reproduced in images or videos from different locations, and therefore the determined skin tone will vary based on lighting conditions. What is desired is a technology that can overcome these technological limitations to accurately estimate skin tone in an image, regardless of lighting conditions.

[0017] In some embodiments of this disclosure, one or more machine learning models are trained to accurately estimate skin tones in one or more images, regardless of lighting conditions. In some embodiments, the model can then be used to estimate skin tones in new images, and this estimated skin tone can be used for various purposes. For example, the skin tone can be used to generate recommendations for foundation shades that precisely match the skin tone, or recommendations for another cosmetic product that complements the estimated skin tone. Thus, the need for in-person product testing is eliminated, and the benefits of the online shopping experience can be extended to these new products that heavily rely on color matching.

[0018] Figure 1 This is a schematic diagram of a non-limiting example embodiment of a system for automatically generating skin color estimates using at least one machine learning model according to various aspects of this disclosure. As shown, user 90 has a mobile computing device 102. User 90 uses the mobile computing device 102 to capture an image of their face. User 90 can be in any location, so the lighting conditions under which the image is captured may be unknown. The mobile computing device 90 transmits the image to a skin color determination device 104. Skin color determination device 104 uses one or more machine learning models 106 to determine skin color 108 based on the image. Skin color 108 can then be used to recommend one or more products 110 that will complement skin color 108 or otherwise suit skin color 108.

[0019] In some embodiments, the mobile computing device 90 may transmit more than one image to the skin tone determination device 104. In some embodiments, multiple images may be captured by capturing video instead of individual images, and lighting conditions may be altered by moving the mobile computing device 102 while capturing video. For example, the user 90 may configure the mobile computing device 102 to capture video using a front-facing camera (also known as a “selfie” camera) and may rotate the mobile computing device 102 while holding it in a “selfie” position to change the experienced lighting conditions. By providing multiple images under different lighting conditions, the machine learning model 106 may be used to generate multiple skin tone 108 determinations, which may then be averaged or otherwise combined to improve the accuracy of the determinations.

[0020] Figure 2 This is a block diagram illustrating a non-limiting example embodiment of a mobile computing device and a skin tone determination device according to various aspects of this disclosure. As discussed above, the mobile computing device 102 is used to capture an image of a user 90, and the mobile computing device 102 transmits the image to the skin tone determination device 104 for determining the skin tone of the user 90. The mobile computing device 102 and the skin tone determination device 104 can communicate using any suitable communication technology, such as wireless communication technologies (including but not limited to Wi-Fi, Wi-MAX, Bluetooth, 2G, 3G, 4G, 5G, and LTE) or wired communication technologies (including but not limited to Ethernet, FireWire, and USB). In some embodiments, communication between the mobile computing device 102 and the skin tone determination device 104 can be at least partially conducted via the Internet.

[0021] In some embodiments, the mobile computing device 102 is a smartphone, a tablet computing device, or another computing device having at least the components shown. In the illustrated embodiment, the mobile computing device 102 includes a camera 202, a data collection engine 204, and a user interface engine 206. In some embodiments, the camera 202 is configured to capture images. In some embodiments, the mobile computing device 102 may include multiple cameras, including but not limited to a front-facing camera and a rear-facing camera. In some embodiments, the front-facing camera (i.e., the camera located on the same surface of the mobile computing device 102 as the display of the mobile computing device 102) may be used as the camera 202 for capturing images.

[0022] In some embodiments, the data collection engine 204 is configured to use the camera 202 to capture images of the user 90, and may also be configured to capture training images for training the machine learning model 106. In some embodiments, the user interface engine 206 is configured to present a user interface for collecting skin color information for training subjects.

[0023] In some embodiments, the skin tone determination device 104 is a desktop computing device, a server computing device, a cloud computing device, or another computing device that provides the components shown. In the illustrated embodiment, the skin tone determination device 104 includes a training engine 208, a skin tone determination engine 210, an image normalization engine 212, and a product recommendation engine 214. Generally, as used herein, the term "engine" refers to an engine that can be programmed in a programming language such as C, C++, COBOL, JAVA, PHP, Perl, HTML, CSS, JavaScript, VBScript, ASPX, Microsoft .NET. TM An engine is a logic implemented by hardware or software instructions written in a programming language. An engine can be compiled into an executable program or written in an interpreted programming language. A software engine can be invoked from other engines or from itself. Generally, the engine described herein refers to a logical module that can be combined with other engines or can be divided into sub-engines. An engine can be stored on any type of computer-readable medium or computer storage device and can be stored on and executed by one or more general-purpose computers, thereby creating a dedicated computer configured to provide the engine or its functionality.

[0024] As illustrated, the skin color determination device 104 also includes a training data storage device 216, a model data storage device 218, and a product data storage device 220. As will be understood by those skilled in the art, the “data storage device” described herein can be any suitable device configured to store data for access by a computing device. One example of a data storage device is a highly reliable, high-speed relational database management system (DBMS) that runs on one or more computing devices and is accessible via a high-speed network. Another example of a data storage device is a key-value store. However, any other suitable storage technology and / or device capable of providing stored data quickly and reliably in response to queries can be used, and the computing device can be locally (rather than via a network) accessible or can be provided as a cloud-based service. The data storage device may also include data stored in an organized manner on a computer-readable storage medium, as further described below. Those skilled in the art will recognize that the separate data storage devices described herein can be combined into a single data storage device, and / or the single data storage device described herein can be separated into multiple data storage devices without departing from the scope of this disclosure.

[0025] In some embodiments, training engine 208 is configured to access training data stored in training data storage device 216 and use the training data to generate one or more machine learning models. Training engine 208 may store the generated machine learning models in model data storage device 218. In some embodiments, skin tone determination engine 210 is configured to process images using one or more machine learning models stored in model data storage device 218 to estimate the skin tone depicted in the images. In some embodiments, image normalization engine 212 is configured to preprocess images before they are provided to training engine 208 or skin tone determination engine 210 to improve the accuracy of the determinations made. In some embodiments, product recommendation engine 214 is configured to recommend one or more products stored in product data storage device 220 based on the determined skin tone.

[0026] although Figure 2 Various components provided by mobile computing device 102 or skin tone determination device 104 are shown, but in some embodiments, the layout of the components may differ. For example, in some embodiments, the skin tone determination engine 210 and model data storage device 218 may reside on mobile computing device 102, allowing mobile computing device 102 to determine skin tones in images captured by camera 202 without transferring the images to skin tone determination device 104. As another example, in some embodiments, all components may be provided by a single computing device. As yet another example, in some embodiments, multiple computing devices may work together to provide the functionality shown as provided by skin tone determination device 104.

[0027] Figure 3 This is a flowchart illustrating a non-limiting example embodiment of a method for training a machine learning model to estimate skin color in an image according to various aspects of this disclosure. In method 300, a set of training data is collected, and skin color determination device 104 uses the training data to generate one or more machine learning models, which can then be used to estimate skin color in an image even under uncontrolled lighting conditions.

[0028] In box 302, the user interface engine 206 of the mobile computing device 102 receives skin tone information of the training object. This skin tone information is used as ground truth or labeling information for the image of the training object to be captured. In some embodiments, the user interface engine 206 presents an interface that allows the user to input skin tone information. In some embodiments, the skin tone information may be collected by the user using industry-standard techniques for determining skin tone, such as comparison with a color table or values ​​determined by a spectrophotometer. In some embodiments, instead of using a user interface, the skin tone information may be collected electronically from a device such as a spectrophotometer. In some embodiments, a portion of the image may depict a color reference table. In such embodiments, applying color correction to the image based on the depiction of the color reference table can allow skin tone information to be determined from the image itself.

[0029] In block 304, the data collection engine 204 of the mobile computing device 102 uses the camera 202 of the mobile computing device 102 to capture one or more training images of the training subject. In some embodiments, the front-facing camera 202 of the mobile computing device 102 held by the training subject may be used to capture training images. In some embodiments, training images may be collected under different lighting conditions. In some embodiments, training images may be individual images. In some embodiments, multiple training images may be collected by utilizing the camera 202 to record video. In some embodiments, lighting conditions may be changed by having the training subject move while recording video (e.g., rotating in a circle). Multiple training images can then be generated by extracting individual frames from the video. Capturing video to generate multiple training images may be advantageous, at least because it will greatly improve the efficiency of generating large amounts of training data under different lighting conditions.

[0030] In block 306, the data collection engine 204 transmits skin color information and one or more training images to the skin color determination device 104. As discussed above, any suitable wired or wireless communication technology can be used for transmission. In block 308, the training engine 208 of the skin color determination device 104 stores the skin color information of the training subjects in the training data storage device 216. The skin color information can be used as labeled data to indicate the desired result of processing the training images.

[0031] In box 310, the image normalization engine 212 of the skin color determination device 104 normalizes one or more training images and stores the normalized one or more training images in the training data storage device 216. In some embodiments, the normalization of training images is optional, and the remainder of method 300 can be operated on raw, unnormalized training images. In some embodiments, the normalization of one or more training images can help improve the accuracy of the machine learning model.

[0032] Figure 4 This is a schematic diagram illustrating a standardized, non-limiting example embodiment of an image including a face according to various aspects of this disclosure. As shown, mobile computing device 102 has captured an image 402 of a training subject and is presenting image 402 on a display device of mobile computing device 102. Image 402 includes an off-center face that occupies only a small portion of the entire image 402. Therefore, it may be difficult to train a machine learning model to estimate skin color based on image 402. It may be desirable to reduce the amount of non-facial regions in the image and place the facial regions of the image in a consistent position.

[0033] In the first normalization action 404, the image normalization engine 212 uses a face detection algorithm to detect portions of image 404 that depict a face. The image normalization engine 212 can use the face detection algorithm to find a bounding box 406 that includes the face. In the second normalization action 408, the image normalization engine 212 can modify image 408 to center the bounding box 406 within image 408. In the third normalization action 410, the image normalization engine 212 can scale image 410 to make the bounding box 406 as large as possible within image 410. By performing normalization actions, the image normalization engine 212 can reduce differences in layout and size between multiple images, and thus improve the training and accuracy of machine learning models. In some embodiments, different normalization actions may occur. For example, in some embodiments, the image normalization engine 212 may crop the image to the bounding box 406 instead of centering and scaling the bounding box 406. As another example, in some embodiments, the image normalization engine 212 may reduce or increase the bit depth, or may undersample or oversample the pixels of an image to match other images collected by different cameras 202 or different mobile computing devices 102.

[0034] Back Figure 3 In decision box 312, a determination is made regarding whether to collect more training data. This determination can be based on a predetermined threshold amount of training data that the administrator deems sufficient for training the machine learning model. If it is determined that more training data should be collected, the result of decision box 312 is "yes," and method 300 returns to box 302 to collect training data for the new training object. Otherwise, if sufficient training data has already been collected, the result of decision box 312 is "no."

[0035] In box 314, training engine 208 uses skin color information stored in training data storage and normalized training images to train one or more machine learning models. In some embodiments, a first machine learning model may be trained to take the normalized training images as input and output an estimated lighting color, and a second machine learning model may be trained to take the normalized training images and the estimated lighting color as input and output an estimated skin color. In some embodiments, a single machine learning model may be trained to take the normalized training images as input and output an estimated skin color. Using a first machine learning model and a second machine learning model may be advantageous because the estimated lighting color can be used to correct the colors presented in the image or to detect the colors of other objects in the image, and using a single machine learning model may be advantageous in terms of reducing training time and complexity. In some embodiments, the machine learning model may be a neural network, including but not limited to feedforward neural networks, convolutional neural networks, and recurrent neural networks. In some embodiments, any suitable training technique may be used, including but not limited to gradient descent (including but not limited to stochastic, batch, and mini-batch gradient descent).

[0036] In box 316, training engine 208 stores one or more machine learning models in model data storage device 218. In some embodiments, a portion of model data storage device 218 may reside on mobile computing device 102 or another device, in which case training engine 208 may transfer one or more machine learning models to the other device storing a portion of model data storage device 218.

[0037] Figure 5 This is a flowchart illustrating a non-limiting example embodiment of a method for estimating skin color of a face in an image using a machine learning model according to various aspects of this disclosure. In method 500, skin color determination device 104 uses one or more machine learning models generated by method 300 discussed above to estimate skin color in an image of a live object. In method 500, the object is referred to as a "live object" to distinguish it from the training object analyzed in method 300. While ground truth skin color information is available for the training object, such information is not available for the live object.

[0038] In box 502, the data collection engine 204 of the mobile computing device 102 uses the camera 202 of the mobile computing device 102 to capture one or more images of a live subject. Similar techniques can be used to capture one or more images of a live subject (as is done in box 304 for capturing one or more images of a training subject), such as capturing a single image or capturing video and extracting images from frames of video.

[0039] In some embodiments, the mobile computing device 102 and camera 202 may be matched to the type of mobile computing device 102 and / or camera 202 used at box 304 of method 300. For example, the mobile computing device of box 304 may be an iPhone 6, and the camera of box 304 may be the front-facing camera of an iPhone 6, while the mobile computing device of box 502 may be the same or a different iPhone 6, and the camera of box 502 may also be a front-facing camera. In some embodiments, the standardization steps and machine learning models may be customized for the models of the mobile computing device 102 and camera 202 used to collect training data and images of live objects. In some embodiments, a mobile computing device 102 and / or camera 202 of a different type than that of box 502 may be used at box 304, and differences between captured images may be minimized during standardization.

[0040] In box 504, data collection engine 204 transmits one or more images of the live subject to skin tone determination device 104. As described above, data collection engine 204 can use any suitable wired or wireless communication technology to transmit images to skin tone determination device 104.

[0041] In box 506, image normalization engine 212 normalizes one or more images of the live object. In some embodiments, the normalization of the live object images matches the normalization performed on the training object images in box 310. As a non-limiting example, Figure 4 The actions shown can be applied to images of live objects in a manner that matches the actions applied to images of training objects.

[0042] In block 508, the skin tone determination engine 210 of skin tone determination device 104 uses one or more normalized images of a live object and one or more machine learning models to determine the skin tone of the live object. In some embodiments, one or more normalized images of the live object are provided as input to a first machine learning model to estimate the lighting color, and then the one or more normalized images of the live object and the lighting color are provided as input to a second machine learning model to estimate the skin tone. In some embodiments, one or more normalized images of the live object are provided as input to a single machine learning model to directly estimate the skin tone. In some embodiments, multiple normalized images may be provided as input to a single machine learning model at once (or provided to a first machine learning model and then to a second machine learning model). In some embodiments, normalized images may be analyzed one at a time, and the estimated skin tones of the normalized images may be averaged or otherwise combined to generate a final skin tone determination. In some embodiments, the images of the live object may be processed by a machine learning model without normalization.

[0043] In box 510, skin tone determination engine 210 transmits skin tone data to mobile computing device 102. In some embodiments, user interface engine 206 may present a name or value associated with the skin tone to the user. In some embodiments, user interface engine 206 may recreate the color for presentation to the user on the display of mobile computing device 102.

[0044] In box 512, the product recommendation engine 214 of the skin tone determination device 104 determines one or more products to recommend based on skin tone. In box 514, the product recommendation engine 214 transmits one or more products to the mobile computing device 102. The user interface engine 206 can then present the products to the user and allow the user to purchase or otherwise obtain the products.

[0045] In some embodiments, the product recommendation engine 214 may identify one or more products in the product data storage device 220 that match the identified skin tone. This can be particularly useful for products such as foundation designed to match a user's skin tone. In some embodiments, the product recommendation engine 214 may identify one or more products in the product data storage device 220 that complement but do not match the skin tone. This can be particularly useful for products such as eyeshadow or lipstick where a precise match to the skin tone is less expected. In some embodiments, the product recommendation engine 214 may use separate machine learning models (such as recommendation systems) to identify products from the product data storage device 220 based on other user preferences that match or are similar to the skin tone. In some embodiments, if an existing product does not match the skin tone, the product recommendation engine 214 may determine ingredients for creating a product that will match the skin tone and may provide these ingredients to a synthesis system for creating a custom product that will match the skin tone.

[0046] Figure 6 This is a block diagram illustrating various aspects of an exemplary computing device 600 suitable for use as a computing device according to this disclosure. While many different types of computing devices have been discussed above, the exemplary computing device 600 describes various elements common to many different types of computing devices. Figure 6 This description is made with reference to a computing device implemented as a device on a network; however, the following description applies to servers, personal computers, mobile phones, smartphones, tablet computers, embedded computing devices, and other devices that can be used to implement various parts of the embodiments of this disclosure. Furthermore, those skilled in the art and others will recognize that computing device 600 can be any of any number of currently available or yet-to-be-developed devices.

[0047] In its most basic configuration, computing device 600 includes at least one processor 602 and system memory 604 connected by a communication bus 606. Depending on the exact configuration and type of the device, system memory 604 may be volatile or non-volatile memory, such as read-only memory (“ROM”), random access memory (“RAM”), EEPROM, flash memory, or similar memory technologies. Those skilled in the art and others will recognize that system memory 604 typically stores data and / or program modules that are readily accessible to processor 602 and / or currently being operated by processor 602. In this respect, processor 602 can act as the computing center of computing device 600 by supporting instruction execution.

[0048] like Figure 6 As further shown, computing device 600 may include network interface 610, which includes one or more components for communicating with other devices over a network. Embodiments of this disclosure can access basic services for performing communication using public network protocols via network interface 610. Network interface 610 may also include a wireless network interface configured to communicate via one or more wireless communication protocols, such as WiFi, 2G, 3G, LTE, WiMAX, Bluetooth, Bluetooth Low Energy, etc. As will be understood by those skilled in the art, Figure 6 The network interface 610 shown may represent one or more wireless interfaces or physical communication interfaces described and shown above with respect to specific components of system 100.

[0049] exist Figure 6 In the exemplary embodiment shown, computing device 600 also includes storage medium 608. However, a computing device that does not include means for persistently storing data to a local storage medium can be used to access the service. Therefore, Figure 6 The storage medium 608 depicted is indicated by dashed lines to suggest that the storage medium 608 is optional. In any case, the storage medium 608 may be volatile or non-volatile, removable or non-removable, and may be implemented using any technology capable of storing information, such as, but not limited to, hard disk drives, solid-state drives, CD-ROMs, DVDs or other disk storage devices, cassette tapes, magnetic tapes, and other disk storage devices.

[0050] As used herein, the term "computer-readable medium" includes volatile and non-volatile, as well as removable and non-removable media, implemented in any method or technology capable of storing information such as computer-readable instructions, data structures, program modules, or other data. In this regard, Figure 6 The system memory 604 and storage medium 608 depicted are merely examples of computer-readable media.

[0051] Suitable embodiments of a computing device including a processor 602, system memory 604, communication bus 606, storage medium 608, and network interface 610 are known and commercially available. For ease of explanation, and because understanding the claimed subject matter is not essential, Figure 6 Some of the typical components of many computing devices are not shown. In this respect, computing device 600 may include input devices such as a keyboard, keypad, mouse, microphone, touch input device, touchscreen, tablet computer, etc. Such input devices may be coupled to computing device 600 via wired or wireless connections, including RF, infrared, serial, parallel, Bluetooth, Bluetooth Low Energy, USB, or other suitable connection protocols using wireless or physical connections. Similarly, computing device 600 may also include output devices such as a display, speakers, printer, etc. Since these devices are well known in the art, they will not be further described or illustrated herein.

[0052] While illustrative embodiments have been shown and described, it should be understood that various modifications can be made thereto without departing from the spirit and scope of the invention. For example, while the above embodiments train and use models to estimate skin color, in some embodiments, skin features other than skin color can be estimated. For example, in some embodiments, one or more machine learning models can be trained to estimate Fitzpatrick skin type using techniques similar to those discussed above regarding skin color, and such models can then be used to estimate the Fitzpatrick skin type of an image of a live subject.

[0053] Furthermore, although the above embodiments train and use a model to estimate the skin color of the entire face depicted in the image, in some embodiments, one or more convolutional neural network image classifiers can be trained and used to generate pixel-by-pixel predicted scores of the skin color of the face in the image. Such embodiments may include a system comprising: a skin color prediction unit including a computational circuit system configured to generate pixel-by-pixel predicted scores using one or more convolutional neural network image classifiers; and a predicted skin color unit including a computational circuit system configured to generate a virtual display of the predicted skin color for a user in response to one or more inputs based on the predicted scores of the face's skin color.

Claims

1. A method for training at least one machine learning model to estimate skin color of a face in an image, the method comprising: The computing device receives at least one training image, including the face of the training subject and a color reference table; The computing device receives labeling information for the at least one training image; wherein receiving the labeling information for the at least one training image includes: The computing device detects the color reference table from the at least one training image including the face of the training subject; and The computing device determines the lighting color based on the color reference table; The computing device adds the at least one training image and the labeling information to the training data storage device; and The computing device trains the at least one machine learning model to determine the skin color of the face using information stored in the training data storage device; The step of using the training dataset to train at least one of the machine learning models to determine the skin color of the face includes: The computing device trains a first machine learning model, which processes training images as input to generate an indication of lighting conditions as output; and The computing device trains a second machine learning model, which processes the training image and the indication of the lighting conditions as input to produce an indication of skin color as output.

2. The method of claim 1, further comprising the computing device standardizing the at least one training image to create at least one standardized training image, wherein, The standardization of the at least one training image to create at least one standardized training image includes: The computing device detects faces in the at least one training image; The computing device centers the face in the at least one training image; and The computing device scales the at least one training image such that the face is a predetermined size.

3. The method according to any one of claims 1 to 2, wherein, Receiving at least one training image includes: The computing device receives video; and The computing device extracts at least one training image from the video.

4. The method according to any one of claims 1 to 3, further comprising: The computing device adjusts the color of the at least one training image based on the determined lighting color.

5. A system comprising one or more devices, said devices including a computing circuitry system configured to cause the system to perform the method according to any one of claims 1 to 4.

6. A non-transitory computer-readable medium having stored thereon computer-executable instructions, the instructions being executed in response to one or more processors of a computing device, causing the computing device to perform the actions of the method according to any one of claims 1 to 4.