MODULATION OF COLOUR FORMULATION COMPONENTS FOR HAIR COLOURING DEVICES
Patent Information
- Authority / Receiving Office
- FR · FR
- Patent Type
- Utility models
- Current Assignee / Owner
- LOREAL SA
- Filing Date
- 2023-12-27
- Publication Date
- 2026-07-17
AI Technical Summary
At-home hair coloring kits lack the ability to adjust formulations or application techniques based on hair color or environmental conditions, making it difficult to achieve precise styles like ombre or balayage, and require professional intervention for effective results.
A software system with a machine learning module that captures hair image data, recommends styles, and controls a handheld hair coloring device to apply dye colors or patterns, adjusting parameters like flow rates to achieve desired effects, guided by user interface and environmental data.
Enables at-home users to achieve professional-quality hair coloring results by automatically adjusting dye loads and application techniques based on hair characteristics and environmental conditions, overcoming the limitations of traditional kits.
Abstract
Description
Title of the invention: MODULATION OF COLORING FORMULATION COMPONENTS FOR CO DEVICE HAIR TREATMENT SUMMARY
[0001] In one aspect, a computing system obtains digital image data of hair from a living subject; provides the digital image data to a style recommendation engine of the computing system; determines, by the style recommendation engine of the computing system, the hair color of the living subject based on the digital image data; and executes a machine learning model of the style recommendation engine using the hair color of the living subject as an input to generate a style profile as an output. The style profile includes parameters configured to control the discharge of one or more components of a hair coloring formulation by a formulation dispensing system of a hair coloring device.
[0002] In one embodiment, the style profile generated by the machine learning model further comprises a hair coloring model, and the parameters are further configured to modulate the discharge of the one or more components to color the hair of the living subject according to the model.
[0003] In one embodiment, the style profile generated by the machine learning model further includes one or more customized components (e.g., dyes or developer) of the hair color formulation.
[0004] In one embodiment, the computing system determines the length or texture of the hair of the living subject, and the execution of the machine learning model uses the length or texture of the hair as an additional input to generate the style profile as an output.
[0005] In one embodiment, the computing system obtains environmental data associated with the living subject's environment (e.g., temperature data, humidity data, or a combination thereof), and executing the machine learning model uses the environmental data as additional input to generate the style profile as output.
[0006] In one embodiment, the computing system obtains sensor information from the hair coloring device during a hair coloring operation and modifies the discharge of one or more of the components based on the sensor information. In an illustrative scenario, the sensor information includes position sensor data, and modifying the discharge of the component(s) includes calculating, based on position sensor data, a position of the hair coloring device relative to the hair of the living subject and modifying the discharge of the component(s) based on the calculated position.
[0007] In another aspect, a hair coloring device includes a formulation dispensing system and computational circuitry configured to receive a style profile including parameters configured to control the discharge of one or more components of a hair coloring formulation by the formulation dispensing system; and operate the formulation dispensing system according to the style profile. The style profile is generated as an output of a machine learning model of a style recommendation engine. In one embodiment, the computational circuitry is further configured to obtain sensor information from the one or more sensors during a hair coloring operation and modulate the discharge of the one or more components of the hair coloring formulation based on the sensor information.
[0008] This summary is provided to present a selection of concepts in a simplified form which are described more fully below in the detailed description. This summary is not intended to identify key features of the claimed subject matter or to be used as an aid in determining the scope of the claimed subject matter.
[0009] A non-transitory computer-readable medium is provided having stored thereon instructions configured to, when executed by one or more computing devices of a computing system, cause the computing system to perform operations including:
[0010] obtaining digital image data of hair from a living subject;
[0011] providing the digital image data to a style recommendation engine of the computer system;
[0012] determining, by the style recommendation engine of the computer system, the hair color of the living subject based on the digital image data; and
[0013] running a machine learning model of the style recommendation engine using the hair color of the living subject as input to generate a style profile as output,
[0014] wherein the style profile comprises parameters configured to control the discharge of one or more components of a hair coloring formulation from a formulation dispensing system of a hair coloring device.
[0015] According to particular embodiments of the invention, the non-transitory computer-readable medium has one or more of the optional features
[0016]
[0017]
[0018]
[0019]
[0020] following, taken individually or in any technically feasible combination: - The style profile generated by the machine learning model further comprises a hair coloring model, and wherein the parameters are further configured to modulate the discharge of the one or more components to color the hair of the living subject according to the model. - The style profile generated by the machine learning model further includes one or more personalized components of the hair color formulation. - The operations further include determining the length or texture of the hair of the living subject, wherein the execution of the machine learning model uses the length or texture of the hair as an additional input to generate the style profile as an output. - The operations further include obtaining environmental data associated with the living subject's environment, wherein the execution of the machine learning model uses the environmental data as additional input to generate the style profile as output. - Environmental data includes temperature data, humidity data, or a combination of these. - The operations also include: obtaining sensor information from the hair coloring device during a hair coloring operation; and modifying the discharge of one or more components based on sensor information. - The sensor information includes position sensor data, and wherein modifying the discharge of the one or more components based on the sensor information includes: calculating, based on the position sensor data, a position of the hair coloring device relative to the hair of the living subject; and changing the discharge of one or more components based on the calculated position. - Determining the hair color of the living subject based on digital image data includes: running a machine learning model of the style recommendation engine using the digital image data as input to generate the determined hair color as output. Brief description of the drawings
[0021] The foregoing aspects and numerous related advantages of the disclosed subject matter will be more readily appreciated as they become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, in which:
[0022] [Fig-1] [Fig.l] is a functional diagram illustrating a system in which various aspects of this disclosure may be implemented;
[0023] [Fig.2] [Fig.2] is a functional diagram which illustrates an example of a mode of rea utilization of a client computing device according to various aspects of this disclosure;
[0024] [Fig.3] [Fig.3] is a functional diagram which illustrates an example of a mode of rea hair coloring device use according to various aspects of the present disclosure;
[0025] [Fig.4] [Fig.4] is a flowchart that illustrates an example of a rea development of a method for generating a style profile for a hair coloring device; and
[0026] [Fig.5] [Fig.5] is a block diagram illustrating aspects of an example of computing device suitable for use as the computing device of the present disclosure. Detailed description
[0027] Hair coloring formulations typically include at least one dye and a separate developer, which must be mixed in controlled proportions, and applied precisely, for effective and predictable hair coloring results. Typically, this requires a professional colorist to evaluate the characteristics of the user's hair and prepare and apply a corresponding hair coloring formulation to the desired areas of the user's hair. At-home hair coloring kits have long been used by consumers for convenience or cost savings, but at-home kits have many disadvantages.For example, once an at-home kit is selected and used, the consumer is unable to make adjustments to the formulation or application technique based on hair color or other hair characteristics, or environmental conditions. In addition, hair coloring techniques such as ombre or balayage are difficult to achieve with at-home kits because they typically require precise application patterns and techniques.
[0028] The embodiments described herein provide technical solutions to one or more of the technical problems described above, or to other problems techniques.
[0029] In embodiments disclosed herein, a software system adapted for use with a handheld hair coloring device is configured to capture image data of a user's hair; recommend styles based on the captured image data; and transmit the parameters of a recommended style to the hair coloring device, which is configured to color the user's hair according to the specified parameters. In one embodiment, the recommended styles include hair dye colors or patterns to be applied to some or all of the user's hair, such as highlights, ombre, balayage, or other styles or patterns. In one embodiment, the recommendation includes information related to the coloring itself, such as a mixing ratio of coloring components.
[0030] In various embodiments, the recommended style is generated by a machine learning module. In one embodiment, the machine learning module takes hair characteristics (e.g., color, length, texture, porosity, etc.) as inputs and generates a recommended style (e.g., dye color, pattern) as output.
[0031] In one embodiment, the output of the machine learning module further includes device configuration or control information. In an illustrative scenario, the machine learning module generates a recommended style that includes a recommended model and color, along with corresponding hair coloring device configuration and control information. In such a scenario, the corresponding device configuration and control information provided by the software system may include one or more variable parameters to modulate dye loads or other aspects of a coloring formulation, such as variable flow rates to gradually change the amount or composition of coloring formulations applied to the hair as the hair coloring device moves through the user's hair.For example, in a balayage, hair is processed to generate a gradient effect, with the hair gradually transitioning from one color to another along its length. In this example, the software system can provide different settings to gradually increase or decrease the dye loads to achieve the desired gradient effect.
[0032] The device configuration and control information may be used in combination with a user interface to guide the user of the hair coloring device during operation. In an illustrative scenario, the user interface is presented on a computing device such as a smartphone and includes a graphical element such as a progress bar to guide the user to move the hair coloring device in a particular direction and at a particular speed. When combined with device configuration and control information that regulates parameters such as flow rate or mixing ratio, the user interface can help ensure that hair coloring is applied to particular locations and in particular amounts to achieve the desired styling effect.
[0033] In various embodiments, the recommended style is based on one or more factors. In one embodiment, the recommended style is generated based on qualities of the user's hair (e.g., length, texture, color, quality, etc.). In one embodiment, the recommended style is based on other factors such as trending styles, geographic region, user preferences, or the like. In one embodiment, the recommended style includes additional recommendations beyond color or styles, such as hair treatments (e.g., using a leave-in conditioner or hair mask).
[0034] In one embodiment, the software system includes a module configured to perform a diagnostic test to determine how a user's hair will respond to the recommended style or treatment. In an illustrative scenario, the software system obtains image data or other data of a user's hair to determine the quality, texture, color, length, porosity, or other factors that are used to define the recommended style. In one embodiment, one or more test strands are analyzed to determine characteristics such as size, texture, porosity, or the like.
[0035] In one embodiment, the software system includes functionality to provide related information (such as alerts or updates) to a user or obtain information (such as user preferences, style ratings, or questionnaire responses) from the user. In an illustrative scenario, the software system issues alerts such as "touch-up" reminders to reapply a formulation to maintain a recommended style, or environmental alerts to inform the user of environmental conditions that may adversely affect color-treated hair, such as high humidity or high temperatures. In one embodiment, the software system accepts feedback from the user after color application and updates future style recommendations accordingly.
[0036] In one embodiment, the software system includes functionality to provide a style customization profile to a hair coloring device from another computing device, for example by transmitting the profile from a smartphone or other computing device to the hair coloring device. hair via a wireless connection such as Bluetooth®, Near Field Communication (NFC), or Wi-Fi.
[0037] In one embodiment, the hair coloring device includes onboard sensors (e.g., cameras, inertial measurement units, gyroscopes, accelerometers, proximity sensors, humidity sensors, temperature sensors, or the like) configured to collect information about the movement, orientation, or state of the hair coloring device, the condition of the user's hair or scalp, or the status of a hair coloring operation.This information may be used to modulate parameters such as fluid flow rate or oscillation speed during use of the device, or to generate alerts or notifications to be presented to the user (e.g., via a smartphone or the hair coloring device itself), such as to guide the user to change the orientation of the hair coloring device, move it at a faster or slower speed, or make some other change.
[0038] [Fig. 1] is a block diagram illustrating a system in which various aspects of the present disclosure may be implemented. As shown in [Fig. 1], the system 100 includes a hair coloring device 102 with wireless communication circuitry. The hair coloring device 102 may send and / or receive information (e.g., usage data, device identification / configuration data, environmental data, or the like) to and / or from the remote computing system 110, either directly or via one or more intermediary devices such as the client computing device 104, as described below.
[0039] In the illustrative arrangement shown in [Fig.l], the client computing device 104 connects to the remote computing system 110, which may generate personalized content for a user, such as product recommendations, style recommendations, or operating settings or parameters of the hair coloring device 102. In one embodiment, a style recommendation for the hair coloring device 102 includes a defined pattern of hair to be colored during the routine, durations for each zone, oscillation speeds, hair coloring formulation components, mixing ratios, or the like. In one embodiment, personalized routines or device parameters may be downloaded to the client computing device 104 for subsequent transmission to the hair coloring device 102.The hair coloring device 102, the client computing device 104, or the remote computing system 110 may also include or communicate with environmental sensors and / or other computing devices. Illustrative modules of the hair coloring device 102, the device in . client computing system 104 and remote computing system 110 are described below.
[0040] The client computing device 104 may be used by a consumer, a hair care professional, or other entities to interact with other components of the system 100, such as the remote computing system 110 or the hair coloring device 102. In one embodiment, the client computing device 104 is a mobile computing device such as a smartphone or a tablet. However, any other suitable type of computing device capable of communicating via the network and presenting a user interface may be used, including, but not limited to, a desktop computing device, a wearable computing device, a smart speaker, or a smart watch (or combinations thereof).
[0041] Illustrative features and functionalities of the remote computing system 110 will now be described. The remote computing system 110 includes one or more server computers that implement the illustrated features, for example, in a cloud computing arrangement. As illustrated in [Fig.l], the remote computing system 110 includes the style recommendation engine 112, the product / style data store 120, and the user profile data store 122. The style recommendation engine 112 generates style recommendations, which may then be transmitted, for example, to the client computing device 104 and / or the hair coloring device 102 in the form of a style profile.The style profile may include, for example, programming instructions for programming or configuring the hair coloring device 102 in a particular manner to achieve a particular appearance requested by the user and / or recommended by the style recommendation engine 112. The style recommendations may also include product recommendations, tutorials, or other information.
[0042] In one embodiment, the style recommendation engine 112 generates a style profile based on information received from the product / style data store 120 as well as user information from the user profile data store 122, the hair coloring device 102, the client computing device 104, or a combination thereof, or another source or combination of sources. In one embodiment, the style recommendation engine 112 receives a new or updated style recommendation request from the hair coloring device 102 or the client computing device 104, obtains information from the product / style data store 120 (e.g., available settings and configurations for the hair coloring device 102, available formulations or attachments, etc.), the user profile data store 122, and the style recommendation engine 112 generates a style profile based on information received from the product / style data store 120 as well as user information from the user profile data store 122, the hair coloring device 102, the client computing device 104, or a combination thereof, or another source or combination of sources. liser 122 (e.g., user responses to questions about themselves, device usage data, preferred hair colors or styles, location, age, products used, etc.) or client computing device 104 (e.g., information describing the user's current location, satisfaction with previous routines (indicated, for example, by a star rating or a number rating), etc.) and uses this information to perform further processing. In one embodiment, the style recommendation engine 112 uses the information it obtains to generate, for example, a style profile or update a previously defined style profile.
[0043] The style recommendation engine 112 may employ machine learning or artificial intelligence techniques (e.g., pattern matching, feature extraction and matching, classification, artificial neural networks, deep learning architectures, genetic algorithms, or the like). In one embodiment, to generate a personalized style recommendation, the style recommendation engine 112 may analyze image data or other sensor data to determine, for example, the color, length, texture, porosity, etc., of the user's hair. In such a scenario, the style recommendation engine 112 may use this information to generate or modify a style recommendation that suits the particular characteristics of the user's hair.
[0044] The described embodiments allow for employing different machine learning approaches or combinations of approaches. In an illustrative scenario, the style recommendation engine 112 includes a first machine learning model for determining characteristics of the user's hair. The first machine learning model may be trained on a supervised training dataset comprising image data and / or other sensor data, such as image data or other sensor data of other users' hair. For example, a first machine learning model may be trained to take extracted images of a user's hair as input and output an estimated hair color based on training images of other users' hair.A second machine learning model may be used to generate recommendations based on self-reported or automatically determined hair characteristics. For example, the second machine learning model may take the estimated hair color as input and produce the recommended hair styles and colors as outputs. The second machine learning model may also take other parameters of the user's hair as inputs, such as length, texture, or porosity. These parameters may . be automatically detected or self-reported. In addition, the second machine learning model can take user preference information, trending style information, or other information as inputs to generate a style recommendation.
[0045] In some embodiments, the machine learning models may be neural networks, including, but not limited to, feedforward neural networks, convolutional neural networks (CNNs), recurrent neural networks, and generative adversarial networks (GANs). In some embodiments, any suitable training technique may be used, including, but not limited to, gradient descent, which may include stochastic, batch, and mini-batch gradient descent.
[0046] In one embodiment, the location information may be used to search for and obtain other information that may be relevant to a hair coloring routine. For example, the client computing device 104 may obtain location information (e.g., via a global positioning system (GPS) unit) from a remote computing system 110, which may in turn obtain current environmental data (e.g., humidity information, temperature information, etc.) for the respective location. The remote computing system 110 may then use the environmental data to generate or modify a hair coloring routine.In an illustrative scenario, the remote computing system 110 uses location information to determine that the user is in a hot and humid city, and modifies a hair coloring routine to account for this environment.
[0047] [Fig. 2] is a block diagram illustrating an exemplary embodiment of a client computing device 104 according to various aspects of the present disclosure. [Fig. 2] represents a non-limiting example of client computing device features and configurations; many other features and configurations are possible within the scope of the present disclosure.
[0048] In the example shown in [Fig. 2], the client computing device 104 includes a camera 250 and a client application 260. The client application 260 includes a user interface 276, which may include interactive features such as data collection or questionnaire items, tools for entering or changing user preferences, tutorials, a virtual "try-on" feature for virtually trying on different hair colors or styles, or other items. Visual elements of the user interface 276 are presented on a display 240, such as a touchscreen display. Personalized content, such as style recommendations, may be obtained by the client computing device. 104 (e.g., from remote computer system 110) and presented via user interface 276.
[0049] In one embodiment, the client application 260 also includes an image capture / digitization module 270, which is configured to capture and process digital images of the user's hair. In one embodiment, these digital images are transmitted to the remote computing system 110 for further processing, such as for determining the color, length, texture, or other characteristics of the hair. In one embodiment, the user interface 276 includes user interface elements to assist in accurately capturing the digital images, for example, by alerting a user when a lighting environment is too dark to accurately capture images to determine hair color.
[0050] In one embodiment, the communication module 278 is used to prepare information to be transmitted to, or to receive and interpret information from, other devices or systems, such as the remote computing system 110 or the hair coloring device 102. This information may include captured digital images, scans or videos, device settings, user preferences, user identifiers, device identifiers, or the like.
[0051] Other features of the client computing devices are not shown in [Fig. 2] for ease of illustration. A description of the illustrative computing devices is provided below with reference to [Fig. 5].
[0052] [Fig. 3] is a block diagram illustrating an exemplary embodiment of a hair coloring device 102 according to various aspects of the present disclosure. [Fig. 3] depicts a non-limiting example of features and configurations of the hair coloring device 102; many other features and configurations are possible within the scope of the present disclosure.
[0053] In the example shown in [Fig. 3], the hair coloring device 102 includes a treatment application unit 302 configured to apply a hair coloring treatment to a user's hair, a power source 304, a human-machine interface device 306, sensors 308, a processor 310, a network interface 312, and a computer-readable medium 314. In one embodiment, the treatment application unit 302 includes a dispensing system 322, which includes one or more devices that collectively dispense a hair coloring treatment to be applied to a user's hair.
[0054] In one embodiment, the power source 304 is a rechargeable battery that provides power to the treatment application unit 302 and other components of the hair coloring device 102 for their function. operation. In other embodiments, instead of a battery, the hair coloring device 102 may be coupled to an external power source, such as an electrical outlet.
[0055] The human-machine interface (HMI) 306 may include any type of device capable of receiving user input or generating output for presentation to a user. Non-limiting examples of possible functionality of the HMI 306 include a push button, a rocker switch, a capacitive switch, a rotary switch, a slide switch, a toggle switch, and a touchscreen.
[0056] The processor 310 is configured to execute computer-executable instructions stored on a computer-readable medium 314. In one embodiment, the processor 310 is configured to receive and transmit signals to and / or from other components of the hair coloring device 102 via a communications bus or other circuitry. The network interface 312 is configured to transmit and receive signals to and from the client computing device 104 (or other computing devices) on behalf of the processor 310.The network interface 312 may implement any suitable communication technology, including, but not limited to, short-range wireless technologies such as Bluetooth®, infrared, near field communication (NFC), and Wi-Fi; long-range wireless technologies such as WiMAX, 2G, 3G, 4G, LTE, and 5G; and wired technologies such as universal serial bus (USB), FireWire, and Ethernet. The computer-readable medium 314 is any type of computer-readable medium on which computer-executable instructions may be stored, including, but not limited to, flash memory, read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and field-programmable gate array (FPGA).The computer-readable medium 314 and the processor 310 may be combined into a single device, such as an application-specific integrated circuit (ASIC), or the computer-readable medium 314 may include a cache, register, or other component of the processor 310.
[0057] In the illustrated embodiment, the computer-readable medium 314 has computer-executable instructions stored thereon that, in response to execution by one or more processors 310, cause the hair coloring device 102 to obtain the style profile 316 and implement the processing control engine 318. The processing control engine 318 controls one or more aspects of the hair coloring device 102. In one embodiment, the style profile 316 is generated and / or modified by the recommendation engine. style mandate 112.
[0058] In one embodiment, the processing control engine 318 adjusts the settings or configurations of the hair coloring device 102. In an illustrative scenario, the processing control engine 318 obtains information such as hair color patterns and recommended color formulation components from the style profile 316, and transmits corresponding control instructions to the processing application unit 302. In such a scenario, the control instructions may be used to control the dispensing of color formulation components from the dispensing system 322, for example, by enabling or disabling the dispensing of one or more components of the color formulation or by adjusting the flow rates of those components, for example, to modulate the dye loads.
[0059] In one embodiment, the processing control engine 318 detects input from the HMI 306 and activates the processing application unit 302 or otherwise modifies a function of the hair coloring device 102 in response to the input. The processing control engine 318 may then detect subsequent input from the HMI 306 and deactivate the processing application unit 302 or make further adjustments to the function of the hair coloring device 102 in response.
[0060] In one embodiment, the sensors 308 include a position sensor module (e.g., a two-dimensional (2D) or three-dimensional (3D) camera module, a proximity sensor, a gyroscope, an accelerometer, or a combination thereof) configured to obtain position sensor data to calculate a position of the hair coloring device 102. Alternatively, the position may be calculated based on images captured by one or more cameras positioned a distance from the applicator, such that the images capture both the hair coloring device 102 itself and the portion of the hair on which the hair coloring device 102 is located. Sensors such as accelerometers may also be used to calculate the orientation or velocity of the hair coloring device 102 as it moves through the user's hair.In some embodiments, the sensors 308 include a microscope camera for capturing magnified images of the user's hair or scalp. Image capture may be facilitated by illumination provided by one or more light sources, such as light sources positioned on the hair coloring device 102. These images may be captured, for example, in the visible, infrared, or ultraviolet spectrum, or a combination thereof.
[0061] In one embodiment, the information obtained from the sensors 308 is provided as feedback to the processing control engine 318 or another component or device to adjust the operational parameters of the hair coloring device 102. For example, if the sensors 308 indicate that the speed of the hair coloring device 102 is faster than expected, the processing control engine 318 may send instructions to the processing application unit 302 to adjust the component flow rates to account for the faster movement, or the processing control engine 318 may cause the hair coloring device 102 to provide feedback to a user to slow down the movement, for example via a graphical or textual notification presented on a display of the client computing device 104.
[0062] An illustrative embodiment of the hair coloring device 102 will now be described in more detail. In the illustrative embodiment, the dispensing system 322 includes a plurality of nozzles for applying a coloring formulation (e.g., dye, developer, or a combination thereof) to a user's hair and / or scalp tissue. Examples of treatment formulations applied by the embodiments herein include, but are not limited to: a permanent hair dye; a semi-permanent hair dye; a developer; a conditioner; a protein hair treatment; a disulfide bond repair hair treatment; a fluid hair treatment; a fluid scalp treatment, and the like. The nozzles include outlet openings through which the coloring formulation can be discharged.When using a developer or multiple dye colors, the components are mixed together before discharging the color formulation through the outlet openings. The nozzles may move during use, for example, by a reciprocating or oscillating motion, so that the nozzles can provide more complete coverage of the color formulation. In the illustrative embodiment, the HMI 306 includes a control button configured to activate, deactivate, and control functionality of the hair coloring device 102. Pressing the control button powers up the hair coloring device 102 so that the color formulation can be drawn from formulation containers housed within the hair coloring device 102 and discharged from the nozzles in a controlled manner.In some situations, the control button or other features of the HMI 106 may be used to initialize or place the hair coloring device 102 in a state to perform certain functions, or these functions may be controlled automatically, for example by the process control engine 318. These functions may include calculating a mixing ratio of the components of the coloring formulation, such as dyes and developer; adjusting flow rates. components; adjusting nozzle oscillation or reciprocating speeds, or other movements; entering a cleaning or purging mode; heating the formulation; collecting data from formulation containers, such as remaining volume, mix ratios, color information, etc.; analyzing data related to user preferences; collecting sensor data and providing status indications to the user, such as output power level, battery life, remaining formulation volume, sensor data, data connection information, etc.
[0063] The devices shown in Figures 1-3 or other devices used in described embodiments may communicate with each other via a network (not shown), which may include any suitable communication technology including, but not limited to, wired technologies such as DSL, Ethernet, fiber optics, USB, and Firewire; wireless technologies such as Wi-Fi, WiMAX, 3G, 4G, LTE, 5G, and Bluetooth; and the Internet. In general, communication between components of the systems of [Fig.l] or other computing devices may occur directly or through intermediary devices.
[0064] Many alternatives to the arrangement disclosed and described with reference to FIGURES 1-3 are possible. For example, the functionality described as being implemented in multiple components may instead be consolidated into a single component, or the functionality described as being implemented in a single component may be implemented in multiple illustrated components, or in other components not shown in FIGURES 1-3. As another example, the devices of FIGURES 1-3 that are illustrated as including particular components may instead include more components, fewer components, or different components without departing from the scope of the described embodiments.
[0065] Within the components of the system shown in [Fig.l] or the devices shown in FIGURES 2 and 3 or by the components of these systems and devices operating in combination, numerous technical advantages are achieved. For example, the ability to automatically generate or modify hairstyle recommendations based on digital scans of a user's hair, alone or in combination with additional data such as user data and environmental data, overcomes the technical limitations of previous technologies that depended on users' abilities to configure their own devices. As another example, the system 100 allows certain aspects of the process to be conducted independently by hair coloring devices or client computing devices, while displacing other processing loads to the remote computing system 110 (which may be a relatively powerful and reliable computing system), thereby improving performance and preserving battery life for the functionality provided by the hair coloring devices or client computing devices.
[0066] In general, the word "engine," as used herein, refers to logic embedded in hardware or software instructions written in a programming language, such as C, C++, COBOL, JAVA™, PHP, Perl, H™L, CSS, JavaScript, VBScript, ASPX, Microsoft.NET™ and / or the like. An engine may be compiled into executable programs or written in interpreted programming languages. Software engines may be called from other engines or from within themselves. In general, the engines described herein refer to logic modules that may be merged with other engines or divided into sub-engines. Engines may be stored in any type of computer-readable media or computer-based storage device and be stored on and executed by one or more general-purpose computers, thereby creating a specialized computer configured to provide the engine or its functionality.
[0067] As understood by those skilled in the art, a "data store" as described herein may be any suitable device configured to store data for access by a computing device. An example of a data store is a high-speed, highly reliable relational database management system (DBMS) that runs on one or more computing devices and is accessible over a high-speed network. Another example of a data store is a key-value store. However, any other suitable technique and / or storage device capable of quickly and reliably providing the stored data in response to queries may be used, and the computing device may be accessible locally rather than over a network, or may be provided as a cloud service.A data store may also include data stored in an organized manner on a computer-readable storage medium, as described below. Those skilled in the art will recognize that separate data stores described herein may be combined into a single data store, and / or that a single data store described herein may be separated into multiple data stores, without departing from the scope of the present disclosure.
[0068] [Fig. 4] is a flowchart that illustrates an exemplary embodiment of a method for generating a style profile for a hair coloring device. As illustrated, the method 400 is implemented by a computer system. The method 400 may be implemented by a server computer system including functionality of the remote computer system 110, by a client computing device 104, by a hair coloring device 102, or a combination thereof. these, or by another device or computer system.
[0069] From a starting block, the method 400 proceeds to block 402, where the computer system obtains digital image data of hair from a living subject. In one embodiment, the computer system includes a server computer that obtains one or more digital images from a client device, such as a smartphone with a built-in digital camera. In such an embodiment, these images are captured by the client device and uploaded to the server computer.
[0070] The method 400 proceeds to block 404, where the computing system provides digital image data of the living subject's hair to a style recommendation engine of the computing system. In one embodiment, the digital image data is uploaded by a client computing device that captured the digital image data to a remote computing system that implements the style recommendation engine. Otherwise, the style recommendation engine is implemented by the client computing device or by another computing device or system.
[0071] The method proceeds to step 406, where the style recommendation engine determines the hair color of the living subject based on the digital image data. In one embodiment, determining the hair color includes executing a machine learning model of the style recommendation engine using the digital image data as input to generate the hair color as output.
[0072] The method proceeds to step 408, where the computing system executes a machine learning model of the style recommendation engine using the determined hair color of the living subject as an input to generate a style profile as an output. Additional information may also be used as input to generate the style profile. In one embodiment, the computing system determines the length or texture of the living subject's hair (or obtains information about the length and texture in another manner, e.g., via a user questionnaire), and the execution of the machine learning model uses the length or texture of the hair as an additional input to generate the style profile as an output.
[0073] The method proceeds to step 410, where the computer system provides the style profile to a hair coloring device. The style profile includes parameters configured to control the discharge of one or more components of a hair coloring formulation by a formulation delivery system of the hair coloring device. In one embodiment, the hair coloring device includes computer circuitry configured to receive the style profile and operate the formulation delivery system according to the style profile, for example by activating or modulating the discharge of the hair color formulation component(s) based on information in the style profile.
[0074] In one embodiment, the style profile generated by the machine learning model further comprises a hair coloring model, and the parameters are further configured to modulate the discharge of the one or more components to color the hair of the living subject according to the model, for example by varying the fluid flow rates to achieve a color gradient effect.
[0075] In one embodiment, the style profile generated by the machine learning model further includes one or more customized components (e.g., dyes or developer) of the hair color formulation. In an illustrative scenario, the machine learning model uses the living subject's hair color (potentially along with other hair characteristics, such as length, texture, or porosity) as input to select one or more customized components of the hair color formulation, such as a customized dye or dye blend.
[0076] In one embodiment, the computing system obtains environmental data associated with the living subject's environment (e.g., temperature data, humidity data, or a combination thereof), and the execution of the machine learning model uses the environmental data as additional input to generate the style profile as output. For example, since the effect of hair coloring treatments on a user's hair may vary depending on air temperature and humidity, the environmental data may be used as input to determine, for example, customized coloring components, flow rates, or the like.
[0077] In one embodiment, the computing system obtains sensor information from the hair coloring device during a hair coloring operation and modifies the discharge of one or more of the components based on the sensor information. In an illustrative scenario, the sensor information includes position sensor data, and modifying the discharge of the component(s) includes calculating, based on the position sensor data, a position of the hair coloring device relative to the hair of the living subject and modifying the discharge of the component(s) based on the calculated position.
[0078] [Fig. 5] is a block diagram illustrating aspects of an exemplary computing device 500 suitable for use as the computing device of the present disclosure. While multiple different types of computing devices 500 may be used, the present disclosure may include a number of different types of computing devices. computing devices have been discussed above, the exemplary computing device 500 describes various elements common to many different types of computing devices. While [Fig. 5] is described with reference to a computing device that is implemented as a device on a network, the description below is applicable to servers, personal computers, mobile phones, smartphones, tablets, embedded computing devices, and other devices that may be used to implement portions of embodiments of the present disclosure. Furthermore, those skilled in the art and others will recognize that the computing device 500 may be any of a number of devices currently available or yet to be developed.
[0079] In its simplest configuration, the computing device 500 includes at least a processor 502 and system memory 504 connected by a communications bus 506. Depending on the exact configuration and type of device, the system memory 504 may be volatile or non-volatile, such as read-only memory (“ROM”), random access memory (“RAM”), EEPROM, flash memory, or similar memory technology. Those skilled in the art and others will recognize that the system memory 504 generally stores data and / or program modules that are immediately accessible and / or currently being operated by the processor 502. In this regard, the processor 502 may serve as the computing center of the computing device 500 by supporting the execution of instructions.
[0080] As illustrated in more detail in [Fig. 5], the computing device 500 may include a network interface 510 comprising one or more components for communicating with other devices on a network. Embodiments of the present disclosure may access basic services that utilize the network interface 510 to perform communications using common network protocols. The network interface 510 may also include a wireless network interface configured to communicate via one or more wireless communication protocols, such as WiFi, 2G, 3G, 4G, LTE, 5G, WiMAX, Bluetooth, Bluetooth Low Energy, and / or the like. As will be appreciated by those skilled in the art, the network interface 510 illustrated in [Fig. 5] may represent one or more of the wireless interfaces or physical communication interfaces described and illustrated above with respect to particular components of the system 100.
[0081] In the exemplary embodiment shown in [Fig. 5], the computing device 500 also includes a storage medium 508. However, it is possible to access the services using a computing device that does not include means for persisting data on a local storage medium. Therefore, the storage medium 508 shown in [Fig. 5] is represented by a dotted line to indicate that the storage medium 508 is optional. In any event, the storage medium 508 may be volatile or non-volatile, removable or non-removable, implemented using any technology capable of storing information such as, but not limited to, a hard drive, solid-state drive, CD-ROM, digital versatile disc (DVD) or other disk storage medium, magnetic cassettes, magnetic tape, magnetic disk storage medium and / or the like.
[0082] As used herein, the term "computer-readable medium" includes volatile and non-volatile, 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, the system memory 504 and storage medium 508 shown in [Fig. 5] are examples of computer-readable media.
[0083] Suitable implementations of computing devices including a processor 502, system memory 504, a communication bus 506, a storage medium 508, and a network interface 510 are known and commercially available. For ease of illustration and because it is not important to understanding the claimed subject matter, [Fig. 5] does not show some of the typical components of many computing devices. In this regard, computing device 500 may include input devices, such as a keyboard, keypad, mouse, microphone, touch input device, touchscreen, tablet, and / or the like.These input devices may be coupled to the computing device 500 via wired or wireless connections including radio frequency (RF), infrared, serial, parallel, Bluetooth®, Bluetooth® low energy, USB, or other suitable connection protocols using wireless or physical connections. Similarly, the computing device 500 may also include output devices such as a display, speakers, a printer, etc. Since these devices are well known in the art, they are not illustrated or described in further detail herein.
[0084] Although illustrative embodiments have been illustrated and described, it will be appreciated that various changes may be made therein without departing from the spirit and scope of the invention.
Claims
Claims
1. A non-transitory computer-readable medium having stored thereon instructions configured to, when executed by one or more computing devices of a computing system, cause the computing system to perform operations comprising: obtaining digital image data of hair of a living subject; providing the digital image data to a style recommendation engine of the computing system; determining, by the style recommendation engine of the computing system, the color of the hair of the living subject based on the digital image data;and executing a machine learning model of the style recommendation engine using the hair color of the living subject as an input to generate a style profile as an output, wherein the style profile includes parameters configured to control the discharge of one or more components of a hair coloring formulation by a formulation dispensing system of a hair coloring device.;
2. The non-transitory computer-readable medium of claim 1, wherein the style profile generated by the machine learning model further comprises a hair coloring model, and wherein the parameters are further configured to modulate the discharge of the one or more components to color the hair of the living subject according to the model.
3. The non-transitory computer-readable medium of claim 1, wherein the style profile generated by the machine learning model further comprises one or more customized components of the hair color formulation.
4. The computer-readable medium of claim 1, the operations further comprising determining the length or texture of the hair of the living subject, wherein executing the machine learning model uses the length or texture of the hair as an additional input to generate the style profile as an output.
5. A computer-readable medium according to claim 1, the operations further comprising obtaining environmental data associated with the living subject's environment, in which the execution of the machine learning model uses the environmental data as additional input to generate the style profile as output.
6. The computer-readable medium of claim 5, wherein the environmental data includes temperature data, humidity data, or a combination thereof.
7. The computer-readable medium of claim 1, the operations further comprising: obtaining sensor information from the hair coloring device during a hair coloring operation; and modifying the discharge of the one or more components based on the sensor information.
8. The computer-readable medium of claim 7, wherein the sensor information comprises position sensor data, and wherein modifying the discharge of the one or more components based on the sensor information comprises: calculating, based on the position sensor data, a position of the hair coloring device relative to the hair of the living subject; and modifying the discharge of the one or more components based on the calculated position.
9. The computer-readable medium of claim 1, wherein determining the hair color of the living subject based on the digital image data comprises: executing a machine learning model of the style recommendation engine using the digital image data as input to generate the determined hair color as output.