Intelligent dimming method and system based on age and posture perception of user

By using an intelligent dimming method based on user age and posture perception, combined with ambient light detection and visual analysis, personalized and contextualized adjustment of the intelligent lighting system has been achieved. This solves the problem that existing systems are not user-friendly for elderly and child users, and improves the comfort and health of lighting.

CN121013232APending Publication Date: 2025-11-25XIAMEN UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511170458.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-20
Publication Date
2025-11-25

AI Technical Summary

Technical Problem

Existing smart lighting systems are not user-friendly for elderly and children, have complex interactions, cannot be personalized based on individual user characteristics, lack real-time recognition and analysis, and are not sufficiently intelligent.

Method used

An intelligent dimming method based on user age and posture perception is adopted. By analyzing user age and posture through convolutional neural networks and combining them with ambient light conditions, personalized lighting modes are matched in real time. Intelligent lamps, light detection modules, and vision detection modules are used for precise control driven by multi-dimensional information.

Benefits of technology

It achieves automatic adjustment based on different people and postures, improving the comfort and health of lighting, reducing visual discomfort caused by sudden changes in light color, and meeting the needs of various usage scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121013232A_ABST
    Figure CN121013232A_ABST
Patent Text Reader

Abstract

The invention provides an intelligent dimming method based on user age and posture perception, and the method is characterized in that the method comprises the following steps: presetting personnel models, each personnel model at least comprising two scene modes; acquiring personnel characteristic parameters and environment characteristic parameters; processing the personnel characteristic parameters to obtain first decision data and second decision data, and processing the environment characteristic parameters to obtain third decision data; selecting a personnel model according to the first decision data and the second decision data; selecting a scene mode in the personnel model according to the third decision data; and outputting a dimming signal according to the selected personnel model and scene mode. And the matching and smooth adjustment of brightness and color temperature in different age groups and posture scenes are completed by taking reverse light supplement of ambient illumination as a main closed loop and taking scene selection of'age + posture 'recognition as a pre-decision.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of intelligent lighting control technology, and in particular to an intelligent dimming method and system based on user age and posture perception. Background Technology

[0002] With the development of smart home and smart lighting technologies, the functions of lamps are becoming increasingly diverse, and users can achieve various lighting effects by adjusting parameters such as color temperature, brightness, and mode.

[0003] However, for elderly or child users, the parameter setting process of existing lighting fixtures is often quite complicated, and the interface and operation logic are not easy to understand. They need to rely on text instructions or multi-level menu selection, which makes them difficult to use.

[0004] Meanwhile, control methods based on mobile apps, remote controls, etc., have certain learning curves in terms of interaction. For example, they require downloading and installing applications, pairing with the network, and finding function options on a small screen, which is often not convenient when quickly switching scenes or making immediate adjustments.

[0005] In addition, although some existing smart lighting systems have automatic dimming functions, they mostly rely on a single ambient light sensor or preset time period rules, and cannot make truly personalized adjustments based on the user's individual characteristics and the current scene, making it difficult to balance comfort and health in terms of lighting effects.

[0006] Therefore, there is an urgent need for an intelligent lighting solution that can automatically recognize users' physiological characteristics and posture, and adapt to multiple scenarios by combining ambient light conditions, in order to improve the intelligence level and humanized experience of the system.

[0007] Currently, most smart lighting fixtures on the market use ambient light sensors combined with timed control to achieve automatic or semi-automatic adjustment of lighting brightness and color temperature. Common systems typically consist of a light detection module, a lighting control circuit, and a driver program, and can be manually set via a mobile app, voice assistant, or remote control. Some high-end products introduce scene mode functions, allowing adjustment of lighting parameters in preset modes to meet the needs of different scenarios such as reading, watching movies, and resting.

[0008] In some products, ambient light detection modules can sense the current light intensity and adjust the lamp output to some extent according to changes in external light. Simultaneously, in conjunction with a mobile app, users can remotely control the lamps, flexibly setting brightness and color temperature. This type of technology is relatively common in everyday lighting, offering convenience and energy savings. However, the aforementioned existing technologies still have the following shortcomings:

[0009] 1) The control method is limited, mainly relying on users to set it up through a mobile app, remote control or buttons. The interaction is complex and the response is not timely enough, which is especially unfriendly to elderly and child users.

[0010] 2) Ambient light detection is mostly based on a single light sensor, which cannot be combined with information such as the user's age and posture for personalized adjustment, resulting in a deviation between the lighting effect and the actual user's needs;

[0011] 3) Lack of real-time recognition and analysis of user status, unable to automatically match appropriate color temperature and brightness for different scenarios (such as elderly users watching movies, young users reading);

[0012] 4) Most products lack the ability to perform multimodal analysis that integrates visual inspection and illumination information, resulting in limited ability to continuously optimize lighting effects;

[0013] 5) Most scene modes are fixed presets, lacking an adaptive decision-making mechanism based on real-time perception, resulting in insufficient intelligence.

[0014] With the development of artificial intelligence, computer vision, and sensor technologies, lighting fixtures are evolving from simple manual control to multi-dimensional perception and autonomous decision-making. Summary of the Invention

[0015] To achieve the above objectives, the first aspect of this application proposes an intelligent dimming method based on user age and posture perception, which includes the following steps:

[0016] Pre-defined personnel models, each of which includes at least two scene modes;

[0017] Collect personnel characteristic parameters and environmental characteristic parameters;

[0018] Process personnel characteristic parameters to obtain first and second decision data, and process environmental characteristic parameters to obtain third decision data;

[0019] Select the personnel model based on the first and second decision data;

[0020] Select the scenario pattern from the personnel model based on the third-party decision data;

[0021] The dimming signal is output based on the selected person model and scene mode.

[0022] By using a convolutional neural network to analyze users' age characteristics and body posture in real time, users are divided into different age groups and body posture categories. Combined with time period (day / night) and real-time ambient illuminance, the corresponding scene mode parameters are called from the rule base to achieve precise lighting control driven by multi-dimensional information.

[0023] Specifically, selecting a personnel model based on the first and second decision data also includes the following steps:

[0024] Collect video frames containing people and preprocess the video frames;

[0025] Perform face / human body detection on the predicted video frames;

[0026] An age estimation network is used to infer the age of a face, and the inference results are divided into a preset threshold range; a body posture classification network or a key point pose network is used to recognize the body posture.

[0027] Output the first decision data and the second decision data.

[0028] Specifically, confidence level and multi-frame voting are used to determine the unique target person.

[0029] The above technical solution overcomes the difficulty of selecting personnel models and scene patterns in multi-person scenarios, and avoids program chaos by determining a unique target object.

[0030] Specifically, the personnel models include infant models, student models, young and middle-aged models, and elderly models.

[0031] Specifically, the scene modes should include at least two of the following: entertainment mode, learning mode, sleep mode, work mode, online class mode, movie viewing mode, and leisure mode; the scene modes should include the target color temperature (CCT). traget Target illuminance E traget And the upper and lower limits of brightness.

[0032] Through the above technical solutions, multiple personnel models can be customized, and each personnel model corresponds to at least two scenario modes, meeting the needs of users in various usage scenarios.

[0033] In a second aspect of this application, an intelligent dimming system based on user age and posture perception is proposed to perform the above method. The system includes: an intelligent lamp, a light detection module, a vision detection module, and a main control unit; the input end of the main control unit is connected to the light detection module and the vision detection module, and the output end is connected to the intelligent lamp.

[0034] The illumination detection module is configured to collect environmental characteristic parameters;

[0035] The visual inspection module is configured to collect personnel feature parameters;

[0036] The main control unit is configured to calculate the first decision data, the second decision data, and the third decision data based on personnel characteristic parameters and environmental characteristic parameters, and to select personnel models and scene modes based on the first decision data, the second decision data, and the third decision data, and to output dimming signals to the smart lighting fixtures;

[0037] Intelligent lighting fixtures are configured to adjust color temperature and brightness in response to dimming signals.

[0038] It also includes a wireless communication module; the wireless communication module is configured to update parameters and remotely configure personnel models and scene modes.

[0039] Specifically, the intelligent lighting fixture includes: a dimming module and a color temperature adjustment module; the dimming module is configured to adjust the brightness of the lighting fixture in response to the dimming signal; the color temperature adjustment module is configured to adjust the color temperature of the lighting fixture in response to the dimming signal.

[0040] Specifically, when adjusting the color temperature, the color temperature adjustment module performs an S-shaped soft start / switch to reduce visual discomfort caused by sudden changes in light color.

[0041] Specifically, the intelligent lighting fixtures are driven by a dual-white-channel LED constant current source.

[0042] Compared with the prior art, the advantages of this application are:

[0043] (1) In intelligent lighting control, age and posture recognition technology based on cameras is introduced. Combined with ambient light detection and scene rule library, personalized and contextualized lighting adjustment schemes are realized. The most suitable color temperature and brightness can be automatically matched according to different groups of people and their posture, thereby significantly improving the comfort and health of the light environment.

[0044] (2) The color temperature is directly given by the selected mode and the transition is completed through S-shaped slow start or slow switch (0.5 to 2 seconds) to reduce visual discomfort caused by sudden changes in light color.

[0045] (3) Differentiated scenario strategies were developed for combinations of different ages and body types. Attached Figure Description

[0046] The accompanying drawings are included to provide a further understanding of the embodiments and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments and, together with the description, serve to explain the principles of this application. Other embodiments and many anticipated advantages of these embodiments will be readily recognized as they become better understood through reference to the following detailed description. Elements in the drawings are not necessarily to scale. The same reference numerals refer to corresponding similar parts.

[0047] Figure 1 This is a flowchart of an intelligent dimming method based on user age and body posture perception according to an embodiment of this application;

[0048] Figure 2 This is a flowchart illustrating age recognition in an intelligent dimming method based on user age and body posture perception, according to a specific embodiment of this application.

[0049] Figure 3 This is a flowchart of body posture recognition in an intelligent dimming method based on user age and body posture perception according to a specific embodiment of this application;

[0050] Figure 4 This is a schematic diagram of the structure of an intelligent dimming system based on user age and body posture perception according to a specific embodiment of this application. Detailed Implementation

[0051] In the following detailed description, reference is made to the accompanying drawings, which form part of the detailed description and illustrate illustrative specific embodiments in which the present application may be practiced. In this regard, directional terms such as “top,” “bottom,” “left,” “right,” “up,” “down,” etc., are used with reference to the orientation of the described figures. Because components of the embodiments can be positioned in several different orientations, directional terms are used for illustrative purposes and are by no means limiting. It should be understood that other embodiments may be utilized or logical changes may be made without departing from the scope of the present application. Therefore, the following detailed description should not be taken in a limiting sense, and the scope of the present application is defined by the appended claims.

[0052] Figure 1 This is a flowchart of an intelligent dimming method based on user age and body posture perception according to an embodiment of this application, such as... Figure 1 As shown, an intelligent dimming method based on user age and posture perception includes the following steps:

[0053] Pre-defined personnel models, each of which includes at least two scene modes;

[0054] Collect personnel characteristic parameters and environmental characteristic parameters;

[0055] Process personnel characteristic parameters to obtain first and second decision data, and process environmental characteristic parameters to obtain third decision data;

[0056] Select the personnel model based on the first and second decision data;

[0057] Select the scenario pattern from the personnel model based on the third-party decision data;

[0058] The dimming signal is output based on the selected person model and scene mode.

[0059] Specifically, selecting a personnel model based on the first and second decision data also includes the following steps:

[0060] Collect video frames containing people and preprocess the video frames;

[0061] Perform face / human body detection on the predicted video frames;

[0062] An age estimation network is used to infer the age of a face, and the inference results are divided into a preset threshold range; a body posture classification network or a key point pose network is used to recognize the body posture.

[0063] Output the first decision data and the second decision data.

[0064] Specifically, confidence level and multi-frame voting are used to determine the unique target person.

[0065] Specifically, the personnel models include infant models, student models, young and middle-aged models, and elderly models.

[0066] Specifically, the scene modes include at least two of the following: entertainment mode, learning mode, sleep mode, study mode, work mode, online class mode, movie viewing mode, and leisure mode; the scene modes include target color temperature (CCTtraget), target illuminance (Etraget), and upper and lower limits of brightness.

[0067] In one specific embodiment, the pattern rule base incorporates target parameters and target color temperature (CCT) tailored to different user groups. traget and target illuminance E target The details are as follows:

[0068] Infants and toddlers: Entertainment 4000K / 300lx, Learning 5000K / 300lx, Sleep 2700K / 100lx;

[0069] Students: Leisure 5000K / 200lx, Online classes 3000K / 500lx, Studying 5000K / 500lx, Watching movies 3500K / 200lx, Sleeping 1800K / 100lx;

[0070] Young and middle-aged adults: Leisure 4000K / 200lx, Movie watching 3500K / 200lx, Work 5000K / 500lx, Sleep 1800K / 100lx;

[0071] Seniors: Leisure 5000K / 400lx, Movie watching 3500K / 100lx, Reading 5000K / 600lx, Sleep 1800K / 100lx;

[0072] In addition, this application also introduces third decision data during actual operation. In this embodiment, the third decision data is the ambient light intensity (Lux). env In a possible working situation: if the "reading / writing / studying / working at a desk" posture is detected and Lux env When the brightness decreases, the controller will increase the brightness to the high level of that mode and maintain the corresponding CCT. target Maintain clarity and color rendering; limit maximum brightness and maintain CCT when "screen viewing / online class" posture is detected.target Use a neutral to warm color temperature (e.g., 3000K) to reduce visual strain from screen reflections; maintain 3500K and keep the brightness near the mode limit when a "movie-watching" posture is detected to achieve a comfortable dark environment; switch to a low color temperature (2700 / 1800K) and reduce the rate of brightness change at night or during sleep to avoid glare.

[0073] Figure 4 This is a schematic diagram of the structure of an intelligent dimming system based on user age and body posture perception according to a specific embodiment of this application, as shown below. Figure 4 As shown, the system includes: a smart lamp, a light detection module, a vision detection module, and a main control unit (MCU); the input of the main control unit is connected to the light detection module and the vision detection module, and the output is connected to the smart lamp.

[0074] The illumination detection module is configured to collect environmental characteristic parameters;

[0075] The visual inspection module is configured to collect personnel feature parameters;

[0076] The main control unit is configured to calculate the first decision data, the second decision data, and the third decision data based on personnel characteristic parameters and environmental characteristic parameters, and to select personnel models and scene modes based on the first decision data, the second decision data, and the third decision data, and to output dimming signals to the smart lighting fixtures;

[0077] In addition, in a preferred embodiment, the latest third decision data is acquired in real time, and the output brightness of the lamp is adjusted according to whether the third decision data triggers a threshold, wherein the threshold is a target brightness preset by the system, and the third decision data includes at least the ambient light intensity.

[0078] Intelligent lighting fixtures are configured to adjust color temperature and brightness in response to dimming signals.

[0079] It also includes a wireless communication module; the wireless communication module is configured to update parameters and remotely configure personnel models and scene modes.

[0080] Specifically, the intelligent lighting fixture includes: a dimming module and a color temperature adjustment module; the dimming module is configured to adjust the brightness of the lighting fixture in response to the dimming signal; the color temperature adjustment module is configured to adjust the color temperature of the lighting fixture in response to the dimming signal.

[0081] Figure 2This is a flowchart of an age recognition method based on user age and body posture perception in an intelligent dimming method according to a specific embodiment of this application. As shown in the figure, in this embodiment, frames are acquired by a camera in the visual detection module, and the acquired frames are preprocessed. The preprocessing methods include, but are not limited to, normalization, cropping, and noise reduction. Face detection is performed on the preprocessed image. In this embodiment, YOLOv8n-Face or an equivalent object detection network is used to locate the face or upper body region. Age estimation is performed on the face. In this embodiment, SSR-Net or an equivalent lightweight regression network is used to output the real age, and the output age is divided into a preset age threshold range.

[0082] Figure 3 This is a flowchart of a posture recognition method based on user age and posture perception in an intelligent dimming method according to a specific embodiment of this application. As shown in the figure, in this embodiment, frames are acquired by a camera in the visual detection module, and the acquired frames are preprocessed. The preprocessing methods include, but are not limited to, normalization, cropping, and noise reduction. Posture recognition is performed based on the processed images. In this embodiment, posture recognition adopts a classification network or key point pose network composed of convolutional layers, ReLU, pooling layers, fully connected layers, and dropout layers to output categories such as sitting, standing, lying / reclining, sitting at a desk, and looking at a screen.

[0083] In addition, to ensure the stability of body posture recognition / age estimation, in an optional embodiment, a 5-15Hz inference beat is used, and a multi-frame voting and target tracking strategy is adopted to determine the unique target object in multi-person scenes by prioritizing the near end / center of the screen and configurable "prioritizing the younger age".

[0084] In one specific embodiment, the luminaire consists of a vision detection module, an ambient illuminance sensing module, a main control unit (MCU), a lighting adjustment module, and an optional wireless communication module;

[0085] The electrical connections of each module are as follows: the camera is connected to the video interface (DVP / MIPI) of the main control unit, the ambient light sensor is connected to the main control unit through the I2C bus, the PWM / analog dimming pin of the main control unit is connected to the DIM / REF terminal of the dual-channel constant current drive circuit, and the power supply unit supplies power to the main control unit, the sensor and the constant current drive respectively.

[0086] The visual inspection module includes a camera with a resolution of no less than 640×480 and a frame rate of no less than 15fps, and a lightweight convolutional neural network running on the main control unit.

[0087] The ambient light sensing module uses a digital illuminance sensor (BH1750, range 0.1–65535 lx, I 2 (C400kHz, sampling period 0.5-1s) Output ambient illuminance (Lux)env The main controller uses a sliding average to suppress instantaneous jitter and sets an illuminance hysteresis threshold (typically 10-30 lx) to avoid frequent switching.

[0088] The lighting adjustment module adopts a dual-white channel LED constant current drive (warm white W and cool white C), with two independent current adjustments, supporting ≥20kHz PWM or analog current dimming, and a drive efficiency of no less than 90%.

[0089] In this example, the input current for warm white and cool white LEDs is defined as I0 and I2, respectively. w and I c .

[0090] The constant current sampling resistor Rsense is preferably 0.22-0.47Ω (1%, ≥0.5W). The onboard NTC is connected to the main control ADC for over-temperature derating (e.g., current reduction at slope for >85℃). Input EMI and surge protection are arranged to ensure safety.

[0091] The main control unit is an MCU or embedded SoC (with a main frequency of not less than 80MHz, RAM of not less than 128KB, and I / O capability). 2 (C / Timer / PWM / ADC / Non-volatile memory), responsible for mode determination, brightness adjustment and light mixing solution.

[0092] After the system powers on, it first completes peripheral initialization and model loading. Then, it reads the ambient illuminance (Lux) at 0.5-1 second intervals. env The system refreshes age A and body shape T data at a frequency of 5-15Hz. Based on "age A, body shape T, and time period (day / night)," the system selects the corresponding scene mode from the rule base and loads the target color temperature (CCT) for that mode. target and the upper and lower limits of brightness or target illuminance E target .

[0093] Based on this, the system, following the principle of "increasing brightness in low light and decreasing brightness in high light," will, within the limits allowed by the current mode, increase Lux... env The brightness is mapped to the output brightness of the luminaire. Mapping can be achieved using a lookup table method or equivalent linear calculation, with a rate-of-change limit added to ensure smooth brightness transition. Color temperature is not determined by sensor measurements but is directly given by the selected mode; the main controller controls the CCT. target Perform an S-shaped slow start or slow switch (typical time is 0.5 to 2 seconds) to avoid sudden color temperature changes.

[0094] Based on the calibrated lookup table of "(Iw, Ic) and (CCT, illuminance)", the system calculates the current ratio of the warm white / cool white channels through interpolation and allocates the total current. Current dimming is prioritized in the low-brightness area to avoid low duty cycle flicker, while ≥20kHz PWM is superimposed in the medium-to-high brightness area, and slight phase jitter can be introduced to reduce EMI. The main controller continuously monitors temperature and current, executing protection strategies to ensure stable and safe system operation.

[0095] By introducing an ambient brightness detection module and a camera-based visual detection module, a convolutional neural network is used to analyze the user's age characteristics and posture in real time. Combined with the ambient light intensity, the system automatically matches and switches to the corresponding lighting mode. The color temperature of each mode is preset to adapt to the visual and health needs of different scenarios; the brightness is dynamically adjusted according to the ambient light intensity. When the ambient light intensity is lower than a preset threshold, the brightness of the lights is automatically increased; when the ambient light intensity is higher than a preset threshold, the brightness of the lights is automatically decreased. Different light intensity thresholds can be set according to different time periods and application scenarios to achieve more refined brightness control.

[0096] It is obvious that those skilled in the art can make various modifications and alterations to the embodiments of this application without departing from the spirit and scope of this application. In this way, this application also aims to cover such modifications and alterations if they fall within the scope of the claims and their equivalents. The word "comprising" does not exclude the presence of other elements or steps not listed in the claims. The simple fact that certain measures are described in mutually different dependent claims does not indicate that a combination of these measures cannot be used for profit. Any reference numerals in the claims should not be considered limiting in scope.

Claims

1. A smart dimming method based on user age and body posture perception, characterized in that, Includes the following steps: A preset personnel model is provided, and each personnel model includes at least two scene modes; Collect personnel characteristic parameters and environmental characteristic parameters; The personnel characteristic parameters are processed to obtain first decision data and second decision data, and the environmental characteristic parameters are processed to obtain third decision data. The personnel model is selected based on the first decision data and the second decision data; Select the scenario mode in the personnel model based on the third decision data; The dimming signal is output based on the selected personnel model and scene mode.

2. The intelligent dimming method based on user age and body posture perception according to claim 1, characterized in that, The process of processing the personnel characteristic parameters to obtain the first decision data and the second decision data further includes the following steps: Collect video frames containing people, and preprocess the video frames; Face / human body detection is performed on the video frames after prediction processing; An age estimation network is used to infer the age of a face, and the inference results are divided into a preset threshold range; a body posture classification network or a key point pose network is used to recognize the body posture. Output the first decision data and the second decision data.

3. The intelligent dimming method based on user age and body posture perception according to claim 2, characterized in that, Before selecting the personnel model based on the first decision data and the second decision data, the following steps are also included: The unique target person is determined by using confidence level and multi-frame voting.

4. The intelligent dimming method based on user age and body posture perception according to claim 1, characterized in that, The personnel models include infant models, student models, young and middle-aged models, and elderly models.

5. The intelligent dimming method based on user age and body posture perception according to claim 4, characterized in that, The scene modes include at least two of the following: entertainment mode, learning mode, sleep mode, work mode, online class mode, movie viewing mode, and leisure mode; the scene modes include the target color temperature (CCT). traget Target illuminance E traget And the upper and lower limits of brightness.

6. A smart dimming system based on user age and body posture perception, used to execute the smart dimming method based on user age and body posture perception as described in any one of claims 1 to 5, characterized in that, include: The system comprises an intelligent lighting fixture, a light detection module, a vision detection module, and a main control unit; the main control unit has its input terminal connected to the light detection module and the vision detection module, and its output terminal connected to the intelligent lighting fixture. The illumination detection module is configured to collect the environmental characteristic parameters; The visual detection module is configured to collect the personnel feature parameters; The main control unit is configured to calculate the first decision data, the second decision data, and the third decision data based on the personnel characteristic parameters and the environmental characteristic parameters, and to select the personnel model and scene mode based on the first decision data, the second decision data, and the third decision data, and to output a dimming signal to the smart lamp. The intelligent lighting fixture is configured to adjust color temperature and brightness in response to a dimming signal.

7. The intelligent dimming system based on user age and body posture perception according to claim 6, characterized in that, It also includes a wireless communication module; the wireless communication module is configured to update parameters and remotely configure the personnel model and scene mode.

8. The intelligent dimming system based on user age and body posture perception according to claim 6, characterized in that, The intelligent lighting fixture includes a dimming module and a color temperature adjustment module; the dimming module is configured to adjust the brightness of the lighting fixture in response to the dimming signal; the color temperature adjustment module is configured to adjust the color temperature of the lighting fixture in response to the dimming signal.

9. The intelligent dimming system based on user age and body posture perception according to claim 8, characterized in that, When adjusting the color temperature, the color temperature adjustment module performs an S-shaped soft start / switch.

10. The intelligent dimming system based on user age and body posture perception according to claim 6, characterized in that, The intelligent lighting fixture is driven by a dual-white-channel LED constant current source.