Disclosure of Invention
The embodiment of the application provides a light screen control method, which is used for solving the problem that a driver needs to manually adjust the light screen of the existing automobile as required, the adjustment process can cause interference to the driving of the driver, and the risk of traffic accidents is greatly improved.
The embodiment of the application further provides a light screen control system, which is used for solving the problem that the light screen of the existing automobile needs manual adjustment by a driver as required, and the adjustment process can cause interference to the driving of the driver, so that the traffic accident risk is greatly improved.
The embodiment of the application additionally provides a light screen control device for solve at the light screen of current car and need the driver manually to adjust as required, accommodation process can cause the interference to driver's driving, and then has greatly improved the problem that the traffic accident risk appears.
The embodiment of the application adopts the following technical scheme:
a visor control method comprising: collecting a face image of a driver, and determining the brightness value of a human eye area in the current face image; and adjusting the position of the light shielding plate according to the brightness value of the human eye area.
Preferably, adjusting the position of the light shielding plate according to the brightness value of the human eye region specifically includes: and judging whether the brightness value of the human eye area is greater than a preset brightness threshold value, and controlling the shading plate to be put down if the judgment result is yes.
Preferably, after controlling the light shielding plate to be put down, the method further comprises the following steps: judging whether the brightness value of the light currently irradiating on the light shielding plate is smaller than a preset brightness threshold value or not by using an optical sensor arranged on the light shielding plate; and when the judgment result is yes, controlling the shading plate to retract.
Preferably, the acquiring a face image of the driver, and determining a brightness value of a human eye region in the current face image specifically include: carrying out key point detection on the collected face image of the driver by using a pre-trained face recognition model so as to recognize the eye position in the face image; and determining the brightness value of the human eye region in the current face image according to the image of the eye position in the face image.
Preferably, determining the brightness value of the human eye region in the current face image according to the image of the eye position in the face image specifically includes: determining the sum of RGB values of pixel points contained in the human eye region; determining an RGB mean value corresponding to each pixel point in the human eye region according to the sum of the RGB values; and determining the brightness value of the human eye region in the current face image according to the RGB mean value.
A visor control system comprising: the device comprises a controller, a camera module, a brightness value determining module, a light shielding plate and an optical sensor arranged on the light shielding plate; the camera module is used for collecting a facial image of a driver; the brightness value determining module is used for determining the brightness value of a human eye area in the facial image according to the facial image of the driver collected by the camera module; the optical sensor is used for collecting the brightness value of light rays irradiated on the light shielding plate; the controller is used for controlling the light shielding plate to be folded/put down according to the brightness value determined by the brightness value determining module and the optical sensor.
Preferably, the luminance value determining module is specifically configured to: performing key point detection on the collected face image of the driver by using a pre-trained face recognition model to recognize the eye position in the face image, and determining the eye position as the eye area in the face image; determining the sum of RGB values of pixel points contained in the human eye region; determining an RGB mean value corresponding to each pixel point in the human eye region according to the sum of the RGB values; and determining the brightness value of the human eye region in the current face image according to the RGB mean value.
Preferably, the controller is specifically configured to: receiving the brightness value of the human eye region determined by the brightness value determining module, and controlling the light shielding plate to put down when the brightness value of the human eye region is judged to be larger than a preset brightness threshold value; and receiving the brightness value of the light irradiated on the light shielding plate determined by the optical sensor, and controlling the light shielding plate to be folded when the brightness value of the light irradiated on the light shielding plate is judged to be smaller than a preset brightness threshold value.
A shading panel control apparatus comprising: the brightness value determining unit is used for acquiring a face image of a driver and determining the brightness value of a human eye area in the current face image; and the light shielding plate control unit is used for adjusting the position of the light shielding plate according to the brightness value of the human eye area.
Preferably, the visor control unit is specifically configured to: and judging whether the brightness value of the human eye area is greater than a preset brightness threshold value, and controlling the shading plate to be put down if the judgment result is yes.
Preferably, the light shielding plate control unit is further configured to: judging whether the brightness value of the light currently irradiating on the light shielding plate is smaller than a preset brightness threshold value or not by using an optical sensor arranged on the light shielding plate; and when the judgment result is yes, controlling the shading plate to retract.
Preferably, the luminance value determination unit is specifically configured to: carrying out key point detection on the collected face image of the driver by using a pre-trained face recognition model so as to recognize the eye position in the face image; and determining the brightness value of the human eye region in the current face image according to the image of the eye position in the face image.
Preferably, the luminance value determination unit is specifically configured to: determining the sum of RGB values of pixel points contained in the human eye region; determining an RGB mean value corresponding to each pixel point in the human eye region according to the sum of the RGB values; and determining the brightness value of the human eye region in the current face image according to the RGB mean value.
The embodiment of the application adopts at least one technical scheme which can achieve the following beneficial effects:
by adopting the control method of the light screen provided by the embodiment of the application, in the driving process of a vehicle, the face image of a driver can be collected through the image collecting device, the image brightness value of the human eye area in the current face image is determined according to the collected face image of the driver, and the light screen can be adjusted according to the brightness value of the human eye area on the face image of the driver. When the brightness value of the current human eye area of the driver is higher than the preset brightness value threshold value, the light shielding plate can be automatically controlled to be put down so as to shield the strong light irradiating the eyes of the driver through the light shielding plate; and after the light shielding plate is put down, the brightness value of light irradiating on the light shielding plate can be determined through the optical sensor arranged on the light shielding plate, and after the brightness value of the light irradiating on the light shielding plate at present is determined to be lower than a preset threshold value, the light shielding plate is automatically controlled to be folded, so that the problem that the light of a cab is blocked due to the shielding of the light shielding plate is avoided. Therefore, by adopting the method provided by the scheme, the light screen can be automatically controlled to be put down and put up according to the intensity of the light rays currently irradiating the eyes of the driver, the process does not need the driver to manually adjust, the driving interference possibly occurring in the process of manually adjusting the light screen by the driver is avoided, and the driving safety factor is greatly improved.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the technical solutions of the present application will be described in detail and completely with reference to the following specific embodiments of the present application and the accompanying drawings. It should be apparent that the described embodiments are only some of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The technical solutions provided by the embodiments of the present application are described in detail below with reference to the accompanying drawings.
The embodiment of the application provides a light screen control method, which is used for solving the problem that a driver needs to manually adjust the light screen of the existing automobile as required, the adjustment process can interfere with the driving of the driver, and the traffic accident risk is greatly improved.
In the light shielding plate control method provided by the embodiment of the application, the execution main body of the method can be a vehicle-mounted computer, or the execution main body of the method can also be a light shielding plate control system consisting of a light shielding plate and a related control component group. The execution main body is not limited to the present application, and for convenience of description, the execution main body is taken as an on-board computer in the embodiments of the present invention for illustration.
The specific implementation flow diagram of the method is shown in fig. 1, and mainly comprises the following steps:
step 11, collecting a face image of a driver, and determining the brightness value of a human eye area in the current face image;
at present, the light screen of car is generally installed above the head of driver and copilot, and when the state of packing up, one side of light screen is towards driver (or copilot), and the opposite side is towards the car top, therefore in this scheme, can be through the mode that sets up the camera on the light screen to through the facial image of this camera acquisition driver (or copilot). For example, as shown in fig. 2, a camera a is provided on the a surface of the visor, so that the camera a can capture the face image of the driver (or the passenger) during driving.
It should be noted here that the camera may be directly disposed on the light shielding plate, or may be disposed in any other position in the vehicle cab where the driver or the passenger side face image may be collected.
In the embodiment of the application, in the driving process of a vehicle, the vehicle-mounted computer can control the camera to collect facial images of a driver and a co-driver according to a preset time interval, and receive the facial images collected by the camera, the vehicle-mounted computer can perform face key point detection on the received facial images according to a pre-trained face key point detection model so as to determine the positions of human eyes on the facial images, and determine the brightness values of human eye areas in the facial images according to the positions of the human eyes in the facial images, specifically, the method provided by the scheme can comprise the following steps: carrying out key point detection on the collected face image of the driver by using a pre-trained face recognition model so as to recognize the eye position in the face image; and determining the brightness value of the human eye region in the current face image according to the image of the eye position in the face image.
The face keypoint detection model may be generated based on Active Shape Models (ASM) training. The training process of the face key point detection model mainly comprises the following parts:
a first part: establishing a shape model;
collecting a plurality of sample pictures with human face regions as training samples, manually recording K key feature points in each training sample to obtain a training set, carrying out shape normalization processing by constructing shape vectors of the training set to realize alignment of the manually marked human face shapes, eliminating interference caused by the influence of external factors such as human face angles, distances and postures in the pictures, and carrying out PCA processing on the aligned shape vectors;
a second part: constructing a local feature for each feature point;
in order to find a new position for each feature point in each iteration process, a local feature needs to be established for each feature point.
And a third part: and training the pre-established character model by using the training sample set obtained after the processing of the steps to obtain the face key point detection model.
Because the training method of the face key point detection model belongs to a relatively mature related technology, specific training methods of the face key point detection model used in the embodiment of the present application are not described herein again.
It should be further noted that, in the embodiment of the present application, in addition to using the face keypoint detection model to identify the eye positions in the face image, the eye positions in the face image may also be identified according to a Cascaded shape regression CPR (Cascaded position regression) method or a deep learning-based method. It is to be understood that the solution for determining the eye position based on the face keypoint detection model used in the present application is only an exemplary description, and does not constitute a limitation to the present application.
In the embodiment of the present application, since the position of the driver (or the copilot) in the vehicle is basically fixed, in one implementation, the position of the face detected last time may be used as a key area, the face is cut out from the collected face image, and the cut-out image is input into the face key point detection model, so as to improve the detection speed and accuracy of the eye position. And when the key points of the face cannot be detected in the cut key areas, inputting the complete face images acquired by the camera into the key point detection model of the face.
In this embodiment, the method for determining a human eye region in a face image according to an eye position determined in the face image may specifically include the following steps:
a substep: connecting the detected key points of the two eyes, and marking the connection as a line segment L;
and a substep b: extending the length x from the two ends of the line segment L to obtain a line segment L';
and a substep c: 4 line segments are respectively drawn at the two end points of the line segment L 'along two directions perpendicular to the line segment L', the length of each line segment is y, the end points of the 4 line segments are p1, p2, p3 and p4, and a rectangle enclosed by the four end points of p1, p2, p3 and p4 is used as a human eye region in the face image, as shown in fig. 3. The values of the lengths x and y can refer to the average size of human eyes, x can be set according to the average width of the human eyes, and y can be set according to the average height of the human eyes.
In addition, it should be noted that, in actual use, the on-board computer may adjust the position of the eye region according to the actual facial features of the driver, so that the position of the rectangular frame representing the eye region drawn by the above method on the face better conforms to the actual facial features of the driver. That is, when the sub-step d is executed, the lengths of the two segments of the line segment L extending left and right may be x1 and x2, respectively, and when the sub-step c is executed, the lengths of the two segments extending up and down may be y1 and y2, respectively, in practice, that is, this rectangular frame may be shifted up, down, left or right according to actual needs, it is understood that the above sub-steps a to c adopted in the present application to determine the human eye region are only an exemplary description, and do not constitute a limitation to the present application.
After the human eye region in the face image is determined by executing the method, the brightness of the human eye region can be determined by the vehicle-mounted computer according to the RGB values of the pixel points corresponding to the human eye region in the face image, and specifically, the brightness value of the human eye region can be determined by the following method: determining the sum of RGB values of pixel points contained in the human eye region; determining an RGB mean value corresponding to each pixel point in the human eye region according to the sum of the RGB values; and determining the brightness value of the human eye region in the current face image according to the RGB mean value.
In one embodiment, the vehicle-mounted computer may sum RGB values of all pixel points included in the eye region, determine an RGB mean value of each pixel point in the eye region according to the sum of RGB values of all pixel points in the eye region, and use the mean value of the pixel points in the eye region as a luminance value of the eye region. When the values corresponding to red, green and blue in the RGB value of a certain pixel point are all 0, the current color of the pixel point is represented as black, namely the brightness is the lowest; and when the values corresponding to red, green and blue in the RGB values of a certain pixel point are all 255, it indicates that the current color of the pixel point is white, that is, the brightness is the highest, so that it is determined in this scheme that the higher the RGB mean value of each pixel point in the eye region is, the higher the brightness of the current eye region is.
It should be noted that, in the present embodiment, in addition to determining the brightness of the human eye region by calculating the average value of RGB of each pixel, other brightness value determining methods may also be used, for example, RGB colors of each pixel may be converted into a cylindrical coordinate system and expressed by using an HSL (Hue, Saturation, brightness) color mode, and in the HSL color mode, the brightness value of each pixel may be directly expressed by the value corresponding to L, and the brightness of the human eye region may be determined by directly calculating the average value of L values of each pixel in the human eye region. It should be understood that the scheme for determining the brightness of the human eye region according to the RGB mean values of the pixels in the human eye region adopted in the present application is only an exemplary description, and does not constitute a limitation to the present application.
And step 12, adjusting the position of the light shielding plate according to the brightness value of the human eye region determined by the step 11.
In the embodiment of the application, the vehicle-mounted computer can judge whether the light shielding plate needs to be controlled to adjust or not by judging whether the brightness value of the human eye region exceeds a preset brightness threshold value or not. For example, the brightness threshold values may be set as 220, 220, and 220 according to actual needs, and when the brightness value of the human eye area determined by performing step 11 exceeds the brightness threshold value, which indicates that the current illumination may affect the normal driving of the driver, the on-board computer may control the light shielding plate to be put down to shield the light entering the human eye area of the driver.
In daily driving, the view of a driver is often directly influenced by the dropping angle of the light screen, generally, the smaller the light screen dropping angle is, the better the view of the driver is, and otherwise, when the light screen is in a completely dropped state, the influence degree on the view of the driver is the largest. In order to avoid the influence of the completely-placed light shielding plate on the visual field of the driver, in the embodiment of the application, after the vehicle-mounted computer judges that the brightness value of the human eye region exceeds the preset brightness value threshold, the vehicle-mounted computer can directly control the light shielding plate to be completely placed down so as to shield the light entering the driver region, and the light entering the driver region can be shielded in a mode of adjusting the placing angle of the light shielding plate.
In an implementation mode, the vehicle-mounted computer can adjust the dropping angle of the shading plate according to the human eye area of the driver determined by the step 11, the image of the human eye area of the driver is collected by the image collecting device in real time in the adjusting process, the brightness value of the human eye area is calculated, and after the brightness value of the human eye area is determined to be smaller than the preset brightness threshold value, the dropping angle of the shading plate can shield the light rays which shine into the human eye area of the driver at the moment, the vehicle-mounted computer can stop continuing to drop the shading plate.
It should be noted here that, in the embodiment of the present application, the brightness threshold may be set according to the following two ways:
the method a: presetting a default fixed value according to experimental data;
for example, through experimental tests, it is determined that when the brightness of the light irradiated to the eyes of the driver exceeds 180, the driver feels dazzling, and physiological reactions such as eye closure occur, so that the driving safety of the driver is affected, and in this case, the brightness threshold value may be set to 180.
Mode b: the brightness value of the human eye region acquired at the previous moment can be calculated in real time;
in this scheme, the camera can be according to presetting the collection interval, and the in-process of traveling lasts and gathers driver's facial image, and then on-vehicle computer can confirm whether need adjust the light screen according to the difference of people's eye region luminance value in the facial image that two continuous collection moments gathered. For example, when the brightness value in the human eye region changes beyond a certain threshold, such sudden jumps in brightness may also cause glare to the driver. Therefore, in the scheme, the vehicle-mounted computer can determine whether the light intensity received by the eyes of the driver suddenly rises according to the difference value of the brightness values of the human eye areas collected at two continuous collection moments, and then can timely control the light screen to be put down under the condition that the light brightness value suddenly rises.
It should be noted that, put down here in addition, when on-vehicle computer control light screen, in order to avoid when the vehicle goes out the reverse light region after, the light screen of putting down still can continue to shelter from the shining of light, and then probably lead to driver's field of vision to be dark, need the manual light screen of packing up of driver this moment, and the driving risk that leads to, in this scheme, when putting down the back through on-vehicle computer control light screen, on-vehicle computer still can continue to monitor the luminance of shining light on the light screen through the optical sensor who sets up on the light screen, and when the luminance value of light is less than preset threshold value on confirming shining on the light screen, the control light screen is packed up, specifically, after the light screen puts down, the method that this application embodiment provided can also include: judging whether the brightness value of the light currently irradiating on the light shielding plate is smaller than a preset brightness threshold value or not by using an optical sensor arranged on the light shielding plate; and when the judgment result is yes, controlling the shading plate to retract.
In the embodiment of the present application, the optical sensor may be disposed on a side of the light shielding plate close to the window, for example, still taking fig. 2 as an example, wherein a side a of the light shielding plate is provided with a camera for capturing a facial image of a driver, and a side B of the light shielding plate is provided with an optical sensor, so that after the light shielding plate is put down, the brightness of light rays irradiated on the light shielding plate can be monitored through the optical sensor disposed on the side B.
Meanwhile, in the embodiment of the present application, in order to prevent the light shielding plate from being frequently put down/put up, the conditions for controlling the light shielding plate to be put down may be set as follows: determining that the ratio of the number of images with the brightness values exceeding a preset brightness threshold value in the human eye region to the number of all collected facial images exceeds a preset threshold value within a preset period of time; also, the conditions under which the shade plate retraction can be controlled may be set to: the optical sensor on the light shielding plate detects that the proportion of the time without strong light irradiation exceeds a preset threshold value within a preset period of time.
By adopting the control method of the light screen provided by the embodiment of the application, in the driving process of a vehicle, the face image of a driver can be collected through the image collecting device, the image brightness value of the human eye area in the current face image is determined according to the collected face image of the driver, and the light screen can be adjusted according to the brightness value of the human eye area on the face image of the driver. When the brightness value of the current human eye area of the driver is higher than the preset brightness value threshold value, the light shielding plate can be automatically controlled to be put down so as to shield the strong light irradiating the eyes of the driver through the light shielding plate; and after the light shielding plate is put down, the brightness value of light irradiating on the light shielding plate can be determined through the optical sensor arranged on the light shielding plate, and after the brightness value of the light irradiating on the light shielding plate at present is determined to be lower than a preset threshold value, the light shielding plate is automatically controlled to be folded, so that the problem that the light of a cab is blocked due to the shielding of the light shielding plate is avoided. Therefore, by adopting the method provided by the scheme, the light screen can be automatically controlled to be put down and put up according to the intensity of the light rays currently irradiating the eyes of the driver, the process does not need the driver to manually adjust, the driving interference possibly occurring in the process of manually adjusting the light screen by the driver is avoided, and the driving safety factor is greatly improved.
In addition, the light screen control system provided by the embodiment of the application is used for solving the problem that the light screen of the existing automobile needs to be manually adjusted by a driver as required, and the adjustment process can cause interference to the driving of the driver, so that the traffic accident risk is greatly improved. The specific structural schematic diagram of the shading plate control system is shown in fig. 4, and comprises: the controller 21, the camera module 22, the brightness value determination module 23, the light shielding plate 24, and the optical sensor 25 disposed on the light shielding plate.
The camera module 22 is used for acquiring a face image of the driver;
the brightness value determining module 23 is configured to determine a brightness value of a human eye region in the facial image according to the facial image of the driver acquired by the camera module;
the optical sensor 25 is used for collecting the brightness value of light irradiated on the light shielding plate;
the controller 21 is configured to control the retraction/lowering of the light shielding plate according to the brightness value determined by the brightness value determination module 23 and the optical sensor 25.
In an embodiment, the luminance value determining module 23 is specifically configured to: performing key point detection on the collected face image of the driver by using a pre-trained face recognition model to recognize the eye position in the face image, and determining the eye position as the eye area in the face image; determining the sum of RGB values of pixel points contained in the human eye region; determining an RGB mean value corresponding to each pixel point in the human eye region according to the sum of the RGB values; and determining the brightness value of the human eye region in the current face image according to the RGB mean value.
In one embodiment, the controller 21 is specifically configured to: receiving the brightness value of the human eye region determined by the brightness value determining module 23, and controlling the light shielding plate 24 to be put down when the brightness value of the human eye region is judged to be larger than a preset brightness threshold value; and receiving the brightness value of the light irradiated on the light shielding plate determined by the optical sensor 25, and controlling the light shielding plate 24 to retract when the brightness value of the light irradiated on the light shielding plate is judged to be smaller than a preset brightness threshold value.
By adopting the light screen control system provided by the embodiment of the application, in the driving process of a vehicle, the face image of a driver can be collected through the image collecting device, the image brightness value in the human eye area in the current face image is determined according to the collected face image of the driver, and then the light screen can be adjusted according to the brightness value in the human eye area on the face image of the driver. When the brightness value of the current human eye area of the driver is higher than the preset brightness value threshold value, the light shielding plate can be automatically controlled to be put down so as to shield the strong light irradiating the eyes of the driver through the light shielding plate; and after the light shielding plate is put down, the brightness value of light irradiating on the light shielding plate can be determined through the optical sensor arranged on the light shielding plate, and after the brightness value of the light irradiating on the light shielding plate at present is determined to be lower than a preset threshold value, the light shielding plate is automatically controlled to be folded, so that the problem that the light of a cab is blocked due to the shielding of the light shielding plate is avoided. Therefore, by adopting the method provided by the scheme, the light screen can be automatically controlled to be put down and put up according to the intensity of the light rays currently irradiating the eyes of the driver, the process does not need the driver to manually adjust, the driving interference possibly occurring in the process of manually adjusting the light screen by the driver is avoided, and the driving safety factor is greatly improved
Finally, the light screen control device that this application embodiment provided for solve at the light screen of current car and need the driver to adjust as required manually, accommodation process can cause the interference to driver's driving, and then has greatly improved the problem that the traffic accident risk appears. The specific structural diagram of the device is shown in fig. 5, and the device comprises: a brightness value determination unit 31 and a light shielding plate control unit 32.
The brightness value determining unit 31 is configured to collect a face image of a driver, and determine a brightness value of a human eye region in a current face image;
and the light shielding plate control unit 32 is used for adjusting the position of the light shielding plate according to the brightness value of the human eye area.
In one embodiment, the visor control unit 32 is specifically configured to: and judging whether the brightness value of the human eye area is greater than a preset brightness threshold value, and controlling the shading plate to be put down if the judgment result is yes.
In one embodiment, when the visor control unit controls the visor to be lowered, the visor control unit 32 is further configured to: judging whether the brightness value of the light currently irradiating on the light shielding plate is smaller than a preset brightness threshold value or not by using an optical sensor arranged on the light shielding plate; and when the judgment result is yes, controlling the shading plate to retract.
In an embodiment, the luminance value determining unit 31 is specifically configured to: carrying out key point detection on the collected face image of the driver by using a pre-trained face recognition model so as to recognize the eye position in the face image; and determining the brightness value of the human eye region in the current face image according to the image of the eye position in the face image.
In an embodiment, the luminance value determining unit 31 is specifically configured to: determining the sum of RGB values of pixel points contained in the human eye region; determining an RGB mean value corresponding to each pixel point in the human eye region according to the sum of the RGB values; and determining the brightness value of the human eye region in the current face image according to the RGB mean value.
By adopting the light screen control device provided by the embodiment of the application, in the driving process of a vehicle, the face image of a driver can be collected through the image collecting device, the image brightness value in the human eye area in the current face image is determined according to the collected face image of the driver, and then the light screen can be adjusted according to the brightness value in the human eye area on the face image of the driver. When the brightness value of the current human eye area of the driver is higher than the preset brightness value threshold value, the light shielding plate can be automatically controlled to be put down so as to shield the strong light irradiating the eyes of the driver through the light shielding plate; and after the light shielding plate is put down, the brightness value of light irradiating on the light shielding plate can be determined through the optical sensor arranged on the light shielding plate, and after the brightness value of the light irradiating on the light shielding plate at present is determined to be lower than a preset threshold value, the light shielding plate is automatically controlled to be folded, so that the problem that the light of a cab is blocked due to the shielding of the light shielding plate is avoided. Therefore, by adopting the method provided by the scheme, the light screen can be automatically controlled to be put down and put up according to the intensity of the light rays currently irradiating the eyes of the driver, the process does not need the driver to manually adjust, the driving interference possibly occurring in the process of manually adjusting the light screen by the driver is avoided, and the driving safety factor is greatly improved.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.