Detailed Description
The invention is described in further detail below with reference to the drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting thereof. It should be further noted that, for convenience of description, only some, but not all of the structures related to the present invention are shown in the drawings.
Fig. 1 is a flowchart of an image generation model training method according to an embodiment of the present invention, where the embodiment may be applied to an image generation model training scenario, and in particular, a training process of a pathological image generation model. The method can be performed by an image generation model training device, which can be implemented in software and/or hardware, and integrated into a computer device with application development functions.
As shown in fig. 1, the image generation model training method of the present embodiment includes the steps of:
s110, constructing a target model training sample based on a pathology image with a preset size, corresponding image description information and a pathology mark mask chart.
The pathology image with the preset size is a pathology image with the preset size, and the specific size can be set according to experience of pathology image analysis in clinic. In general, in a pathological section picture, a plurality of pathological images with a certain size can be cut out from the pathological section picture.
The target model training samples may be training samples for the image generation model. The image description information may be basic attribute information of a pathological image with a preset size, such as at least one of size of the image, whether the image is cancer cells/normal cells, cancer type, whether the image is blurred, staining intensity, background intensity, and the like. The pathological marker mask map may be a mask map (mask) for marking pathological cells, different colors representing different cell types. The pathology mark mask map may be an image that is marked in advance by the relevant professional. Specifically, the training sample for constructing the image generation model by the image generation model training device needs two parameters, one is a pathology image with preset size and corresponding image description information, the model image is used as a prototype image for generating a mask image and a word prompt word for controlling a word generation image task, and the other is a pathology mark mask image, as shown in fig. 2, different cell types are represented by different colors.
S120, training a preset initial pathology image generation model by taking the image description information and the pathology mark mask image as sample input information and taking a pathology image with a preset size as a sample label of the sample input information to obtain a target pathology image generation model.
The preset initial pathological image generation model is a preset diffusion model taking a preset control network structure as a control condition.
Specifically, the image generation model training device uses the image description information and the pathological mark mask image as two parameters for constructing a training sample of the preset initial pathological image generation model, and uses the pathological image with the preset size as a sample label of sample input information, so that the preset initial pathological image generation model can be trained under various conditions.
Further, the image description information may be understood as the requirement information of the generated image referred to when the target pathology image generation model is to generate the target pathology image, and the generated pathology image is a pathology image matched with the image description information. For the pathological mark mask image, the pathological mark mask image can be used as a label image of the target pathological image in the subsequent application process.
According to the technical scheme, a target model training sample is constructed based on a pathology image with a preset size, corresponding image description information and a pathology mark mask image, the image description information and the pathology mark mask image are used as sample input information, and a sample label with the pathology image with the preset size is used as sample input information, so that a preset initial pathology image generation model is trained, and the target pathology image generation model is obtained. According to the technical scheme, the problems of small pathological image sample size and high time and labor cost for finely marking the cell pathological image by a pathologist are solved, and the pathological image generation model is constructed and trained based on easily-obtained image description information and pathological mark mask images, so that the pathological image and the corresponding image mark can be obtained at low cost.
Further, an information value of at least one image attribute information in the image description information is adjusted, sample input information is updated based on the adjusted image description information, new sample input information is obtained, and a preset initial pathology image generation model or a target pathology image generation model is trained based on the new sample input information and a sample label, so that a final pathology image generation model is obtained.
Specifically, in the process of generating a model training by using a target pathological image, the diversity of samples can influence the robustness of a model training result. In an alternative embodiment, the model training sample information input into the model may be adjusted to increase the diversity of the model training samples and increase the robustness of the model training results. The image generation model training device is used for obtaining new sample input information by adjusting the information value of at least one image attribute information in the image description information and changing sample information, training a preset initial pathology image generation model or a target pathology image generation model according to the new sample input information and a sample label, and obtaining a final pathology image generation model.
By way of example, the blur parameters of Prompt words (promt/promt) are optimized, for example, by setting mask kernels (ksize) with different sizes across the blur functions of a platform computer vision library (opencv), images with different blur degrees are obtained, and then the promt, mask and blurred images form training samples, and the adjustment of the promt parameters can be completed only by a small amount of blurred images because the pathological image generation model is converged.
Optionally, in the process of obtaining the target pathological image generation model, a model output result corresponding to the preset initial pathological image generation model through iterative learning for the target model training sample in the trained process can be stored, the model output result is displayed, and when learning loss between the model output result and the sample label meets a preset convergence condition and/or a training termination instruction sent by a user based on the model output result is obtained, the model training process is ended, so that the target pathological image generation model is obtained.
Specifically, the image generation model training device displays a model output result corresponding to the preset initial pathological image generation model through iterative learning for the preset times aiming at the target model training sample in the trained process, at this time, whether the model training process is ended is judged, the condition is that the learning loss between the model output result and the sample label meets the preset convergence condition and/or a training termination instruction sent by a user based on the model output result is obtained, the termination condition requires subjective judgment of a pathologist, the quality control requirement is met, the training process can be terminated, and the algorithm iterative period is shortened.
Fig. 3 is a flowchart of an image generation model training method according to an embodiment of the present invention, where the embodiment and the above embodiment belong to the same inventive concept, and a process for adjusting an image generation model training strategy is further described. Reference is made to the description of this example for a specific implementation. The technical features that are the same as or similar to those of the foregoing embodiments are not described herein. The method can be executed by a training device configured on an image generation model, and the training device can be realized by software and/or hardware and is integrated into a computer device with an application development function.
As shown in fig. 3, the image generation model training method of the present embodiment includes the steps of:
s210, constructing a target model training sample based on a pathology image with a preset size, corresponding image description information and a pathology mark mask chart.
S220, inputting the image description information in the sample input information into a pre-trained text vector conversion model to obtain a text vector corresponding to the image description information.
The pre-trained text vector conversion model is used for representing text information into a vector capable of expressing text semantics, and the text semantics are expressed by numerical vectors.
Specifically, before the sample input information is input into a preset initial pathology image generation model, the image generation model training device inputs image description information in the sample input information into a pre-trained text vector conversion model, and the text information is expressed into a vector capable of expressing text semantics, so that a text vector corresponding to the image description information is obtained. Therefore, the trained model can more easily understand the semantics of the input information, so that the model training process is accelerated, and the model training efficiency is improved.
S230, training a preset initial pathology image generation model by taking a text vector of image description information and a pathology mark mask image as sample input information and taking a pathology image with a preset size as a sample label of the sample input information to obtain a target pathology image generation model.
The preset initial pathological image generation model is a preset diffusion model taking a preset control network structure as a control condition, and parameters of a plurality of preset decoding modules in the preset diffusion model are updated in the model training process.
Specifically, the preset Diffusion model may adopt a model structure of Stable Diffusion, and the model contains parameters of a plurality of preset decoding modules, the parameters are not updated, the Stable Diffusion encodes the input information and the step information together as parameters into the model after receiving the input information, and the model structure finally generates and outputs a pathological image through a module of an encoding stage, an encoder, a middleware, a decoder and a module of a decoding stage. The step size can be understood as the number of iterative learning of the input information by the pathological image generation model. For example, the mask and the template are input into the pathology image generation model for the first time, and the model learns the features of this sample for the first time, namely, the step size is 1. After the pathological image generation model outputs the pathological image generation image for the first time, the pathological image generation image for the first time is input into the pathological image generation model together with the corresponding promt, the model learns the characteristics of the sample for the second time, the pathological image generation image for the second time can be correspondingly obtained, and the step length is 2 at the moment, and the like. The step size information is also one of the input information of the model, which is a characteristic of the model itself. The control Net is a large model which controls pre-training through additional input, such as Stable Diffusion, solves the problem that a simple keyword control mode cannot meet the requirement of accurate detail control, uses Stable Diffusion and freezes parameters of the control Net, and simultaneously copies a copy of an SD (secure) Encoder, wherein the parameters of the copy are trainable, and each layer of the copy is added with a zero convolution (zero convolution) to be connected with a corresponding layer of an original network. However, in the training process, the parameters are required to be continuously adjusted to enable the training result to gradually meet the quality control requirement, so that the parameters of a part of the preset decoding modules are required to be updated.
According to the technical scheme, a target model training sample is constructed based on a pathology image with a preset size and corresponding image description information and a pathology mark mask image, the image description information in sample input information is input into a text vector conversion model which is subjected to pre-training, a text vector corresponding to the image description information is obtained, the text vector of the image description information and the pathology mark mask image are used as sample input information, a sample label with the pathology image with the preset size is used as sample input information, and a preset initial pathology image generation model is trained, so that the target pathology image generation model is obtained. According to the technical scheme, the problems of small pathological image sample size and high time and labor cost for finely marking the cell pathological image by a pathologist are solved, and the pathological image generation model is constructed and trained based on easily-obtained image description information and pathological mark mask images, so that the pathological image and the corresponding image mark can be obtained at low cost.
Fig. 4 is a flowchart of an image generation method according to an embodiment of the present invention, where the embodiment is applicable to a pathological image generation method scenario. The method may be performed by an image generation apparatus, which may be implemented in software and/or hardware, integrated in a computer device with application development functionality.
As shown in fig. 4, the image generation method of the present embodiment includes the steps of:
s310, acquiring target image description information of a target generation image and a mask image with a preset size.
Specifically, the image generating device needs to acquire two parameters input by the target pathology image generating model before using the pathology image generating model to output an image, one is target image description information of the target pathology image, and is specific attribute of the image to be generated, such as cancer cells/normal cells, cancer types, whether blurring, dyeing intensity, background intensity and the like, and the other is mask image with preset size, which can be a randomly generated RGB pseudo-color image, and different colors represent different cells.
S320, inputting the target image description information and the mask image into a target pathology image generation model obtained based on the image generation model training method in any one of the embodiments, and taking an image output by the target pathology image generation model as a target generation image.
Specifically, the image generating apparatus inputs the target image description information and the mask image as necessary parameters into the target pathology image generation model, and calculates an output image from the target pathology image generation model as a target generated image. The diffusion model shown in fig. 5 may be understood as a target pathology image generation model in the embodiment of the present invention, input 1 (template) and input 2 (mask) are input as parameters into the diffusion model, and the generated picture is output. The character string of 1 is input to describe information that the requirement of generating a pathological image is a cancer cell expressed by PD-L1 protein of an immunohistochemical result, the cancer type is lung cancer, the blurring degree is 0, the staining intensity is 50, the background intensity is clean and the like.
According to the technical scheme, the target image description information of the target generated image and the mask image with the preset size are acquired, the target image description information and the mask image are input into the target pathology image generation model obtained based on the image generation model training method in any one of the embodiments, and the image output by the target pathology image generation model is used as the target generated image. According to the technical scheme, the problems of small pathological image sample size and high time and labor cost for finely marking the cell pathological image by a pathologist are solved, and the pathological image generation model is constructed and trained based on easily-obtained image description information and pathological mark mask images, so that the pathological image and the corresponding image mark can be obtained at low cost.
Fig. 6 is a flowchart of an image generating method according to an embodiment of the present invention, where the image generating method in the embodiment and the image generating method in the embodiment belong to the same inventive concept, and a process of adjusting an image generating policy is further described. Reference is made to the description of this example for a specific implementation. The technical features that are the same as or similar to those of the foregoing embodiments are not described herein. The method may be performed by an image generation apparatus, which may be implemented in software and/or hardware, integrated in a computer device with application development functionality.
As shown in fig. 6, the image generation method of the present embodiment includes the steps of:
s410, acquiring target image description information of a target generation image and a mask image with a preset size.
S420, inputting the target image description information and the mask image into a target pathology image generation model obtained based on the image generation model training method in any of the embodiments.
S430, storing a plurality of output images in the iterative analysis process of the target pathology image generation model for the preset times aiming at the target image description information and the mask image, and determining a target generation image according to a selection operation instruction of a user on the plurality of output images.
The preset times of iterative analysis is preset times of iterative analysis.
Specifically, the target pathology image generation model outputs a plurality of output images, the image generation device stores the plurality of output images in the iterative analysis process of the target pathology image generation model for the preset times aiming at the target image description information and the mask image, a user needs to screen out qualified images, and then an image selection operation instruction is sent to the image generation device to determine the target generated image.
In one specific example, 2 parameters are input into the pathology image generation model, and a number of steps (steps) requiring result preservation, such as 25, 50, 75, 100, are empirically set. If the quality control requirement is not met, the random number seeds are automatically modified, and the previous steps are returned to regenerate until the quality control requirement is met. The plurality of results may also be automatically stored by using a plurality of random number seeds, as shown in fig. 7, where the manually generated mask refers to a mask generated by the result marked by the pathologist, and the automatically generated mask may be a randomly generated mask.
According to the technical scheme, the target image description information of the target generated image and the mask image with the preset size are acquired, the target image description information and the mask image are input into the target pathology image generation model obtained based on the image generation model training method in any embodiment, a plurality of output images in the iterative analysis process of the target pathology image generation model for the preset times are stored, and the target generated image is determined according to the selection operation instruction of a user on the plurality of output images. According to the technical scheme, the problems of small pathological image sample size and high time and labor cost for finely marking the cell pathological image by a pathologist are solved, and the pathological image generation model is constructed and trained based on easily-obtained image description information and pathological mark mask images, so that the pathological image and the corresponding image mark can be obtained at low cost.
Fig. 8 is a schematic structural diagram of an image generation model training device according to an embodiment of the present invention, where, as shown in fig. 8, the image generation model training device includes: a sample construction module 510 and a model training module 520.
The sample construction module 510 is configured to construct a target model training sample based on a pathology image of a preset size and corresponding image description information and a pathology mark mask image, and the model training module 520 is configured to train a preset initial pathology image generation model by using the image description information and the pathology mark mask image as sample input information and using a sample tag of the pathology image of the preset size as the sample input information, so as to obtain the target pathology image generation model, where the preset initial pathology image generation model is a preset diffusion model using a preset control network structure as a control condition.
According to the technical scheme, a target model training sample is constructed based on a pathology image with a preset size, corresponding image description information and a pathology mark mask image, the image description information and the pathology mark mask image are used as sample input information, a sample label with the pathology image with the preset size as the sample input information is used for training a preset initial pathology image generation model, and the target pathology image generation model is obtained, wherein the preset initial pathology image generation model is a preset diffusion model taking a preset control network structure as a control condition. According to the technical scheme, the problems of small pathological image sample size and high time and labor cost for finely marking the cell pathological image by a pathologist are solved, and the pathological image generation model is constructed and trained based on easily-obtained image description information and pathological mark mask images, so that the pathological image and the corresponding image mark can be obtained at low cost.
On the basis of the above technical solutions, optionally, the image generation model training device further includes:
the sample information changing module is used for adjusting the information value of at least one image attribute information in the image description information, and updating the sample input information based on the adjusted image description information to obtain new sample input information;
and the final model training module is used for training a preset initial pathology image generation model or a target pathology image generation model based on the new sample input information and the sample label to obtain a final pathology image generation model.
Based on the above technical solutions, optionally, the model training module 520 or the final model training module is configured to:
storing model output results corresponding to iterative learning of a preset initial pathological image generation model for preset times aiming at a target model training sample in the training process, and displaying the model output results;
and when learning loss between the model output result and the sample label meets a preset convergence condition and/or a training termination instruction sent by a user based on the model output result is obtained, ending the model training process to obtain the target pathological image generation model.
Based on the above solutions, optionally, the model training module 520 is further configured to:
Parameters of a plurality of preset decoding modules in a preset diffusion model are updated in a model training process. Based on the above technical solutions, optionally, the model training module 520, before inputting the sample input information to the preset initial pathology image generation model, further includes:
and the text vector generation module is used for inputting the image description information in the sample input information into the pre-trained text vector conversion model to obtain a text vector corresponding to the image description information.
The image generation model training device provided by the embodiment of the invention can execute the image generation model training method provided by any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method.
Fig. 9 is a schematic structural diagram of an image generating apparatus according to an embodiment of the present invention, where, as shown in fig. 9, the image generating apparatus includes: an image information acquisition module 610 to be generated and an image generation module 620.
The image information obtaining module 610 is configured to obtain target image description information of a target generated image and a mask image with a preset size, and the image generating module 620 is configured to input the target image description information and the mask image into a target pathology image generating model obtained based on the image generating model training method according to any one of the embodiments, and take an image output by the target pathology image generating model as a target generated image.
According to the technical scheme, the target image description information of the target generated image and the mask image with the preset size are acquired, the target image description information and the mask image are input into the target pathology image generation model obtained based on the image generation model training method in any one of the embodiments, and the image output by the target pathology image generation model is taken as the target generated image. According to the technical scheme, the problems of small pathological image sample size and high time and labor cost for finely marking the cell pathological image by a pathologist are solved, and the pathological image generation model is constructed and trained based on easily-obtained image description information and pathological mark mask images, so that the pathological image and the corresponding image mark can be obtained at low cost.
Based on the above technical solutions, optionally, the image generating module 620 is configured to:
storing a plurality of output images in the iterative analysis process of the target pathology image generation model for the preset times aiming at the target image description information and the mask image;
and determining a target generated image according to the selection operation instruction of the user on the plurality of output images.
The image generation device provided by the embodiment of the invention can be used for executing the image generation method provided by any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method.
Fig. 10 is a schematic structural diagram of a computer device according to an embodiment of the present invention. FIG. 10 illustrates a block diagram of an exemplary computer device 12 suitable for use in implementing embodiments of the present invention. The computer device 12 shown in fig. 10 is merely an example and should not be construed as limiting the functionality and scope of use of embodiments of the present invention. The computer device 12 may be any terminal device with computing power, such as an intelligent controller, a server, a mobile phone, and the like.
As shown in FIG. 10, the computer device 12 is in the form of a general purpose computing device. Components of computer device 12 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, a bus 18 that connects the various system components, including the system memory 28 and the processing units 16.
Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, micro channel architecture (MAC) bus, enhanced ISA bus, video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
Computer device 12 typically includes a variety of computer system readable media. Such media can be any available media that is accessible by computer device 12 and includes both volatile and nonvolatile media, removable and non-removable media.
The system memory 28 may include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM) 30 and/or cache memory 32. The computer device 12 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 34 may be used to read from or write to non-removable, nonvolatile magnetic media (not shown in FIG. 10, commonly referred to as a "hard disk drive"). Although not shown in fig. 10, a magnetic disk drive for reading from and writing to a removable non-volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from or writing to a removable non-volatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In such cases, each drive may be coupled to bus 18 through one or more data medium interfaces. The system memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to carry out the functions of the embodiments of the invention.
A program/utility 40 having a set (at least one) of program modules 42 may be stored in, for example, system memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment. Program modules 42 generally perform the functions and/or methods of the embodiments described herein.
The computer device 12 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), one or more devices that enable a user to interact with the computer device 12, and/or any devices (e.g., network card, modem, etc.) that enable the computer device 12 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 22. Moreover, computer device 12 may also communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN) and/or a public network, such as the Internet, through network adapter 20. As shown, network adapter 20 communicates with other modules of computer device 12 via bus 18. It should be appreciated that although not shown in fig. 10, other hardware and/or software modules may be used in connection with computer device 12, including, but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
The processing unit 16 executes various functional applications and data processing by running a program stored in the system memory 28, for example, implementing an image generation model training method provided by the present embodiment, the method including:
constructing a target model training sample based on a pathology image with a preset size and corresponding image description information and a pathology mark mask image;
training a preset initial pathology image generation model by taking image description information and a pathology mark mask image as sample input information and taking a pathology image with a preset size as a sample label of the sample input information to obtain a target pathology image generation model;
the preset initial pathological image generation model is a preset diffusion model taking a preset control network structure as a control condition.
The program may further implement an image generation method as provided in any embodiment of the present invention when executed by a processor, the method including:
acquiring target image description information of a target generation image and a mask image with a preset size;
the target image description information and the mask image are input to a target pathology image generation model obtained based on the image generation model training method provided by any embodiment, and an image output by the target pathology image generation model is taken as a target generation image.
The embodiment of the present invention also provides a computer readable storage medium having stored thereon a computer program which when executed by a processor implements the image generation model training method as provided by any of the embodiments of the present invention, the method comprising:
constructing a target model training sample based on a pathology image with a preset size and corresponding image description information and a pathology mark mask image;
training a preset initial pathology image generation model by taking image description information and a pathology mark mask image as sample input information and taking a pathology image with a preset size as a sample label of the sample input information to obtain a target pathology image generation model;
the preset initial pathological image generation model is a preset diffusion model taking a preset control network structure as a control condition.
The program may further implement an image generation method as provided in any embodiment of the present invention when executed by a processor, the method including:
acquiring target image description information of a target generation image and a mask image with a preset size;
the target image description information and the mask image are input to a target pathology image generation model obtained based on the image generation model training method provided by any embodiment, and an image output by the target pathology image generation model is taken as a target generation image.
The computer storage media of embodiments of the invention may take the form of any combination of one or more computer-readable media. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium may be, for example, but not limited to: an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations of the present invention may be written in one or more programming languages, including an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
It will be appreciated by those of ordinary skill in the art that the modules or steps of the invention described above may be implemented in a general purpose computing device, they may be centralized on a single computing device, or distributed over a network of computing devices, or they may alternatively be implemented in program code executable by a computer device, such that they are stored in a memory device and executed by the computing device, or they may be separately fabricated as individual integrated circuit modules, or multiple modules or steps within them may be fabricated as a single integrated circuit module. Thus, the present invention is not limited to any specific combination of hardware and software.
Note that the above is only a preferred embodiment of the present invention and the technical principle applied. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, while the invention has been described in connection with the above embodiments, the invention is not limited to the embodiments, but may be embodied in many other equivalent forms without departing from the spirit or scope of the invention, which is set forth in the following claims.