SYSTEMS AND METHODS FOR SMOKE-REDUCTION IN IMAGES
20220392022 · 2022-12-08
Inventors
Cpc classification
International classification
Abstract
A method for smoke reduction in images includes accessing an RGB image of an object obscured by smoke, determining a dark channel matrix of the RGB image, estimating an atmospheric light matrix for the RGB image based on the dark channel, determining a transmission map based on to the atmospheric light matrix and the dark channel matrix, de-hazing the RGB image based on the transmission map to reduce the smoke in the RGB image, and displaying the de-hazed RGB image on a display device. The RGB image includes a plurality of pixels. The dark channel matrix includes, for each pixel of the plurality of pixels, a minimum color component intensity for a respective pixel area centered at the respective pixel. The atmospheric light matrix includes an atmospheric light component value for each of the plurality of pixels.
Claims
1. A method for smoke reduction in images comprising: accessing an RGB image of an object obscured by smoke, the RGB image including a plurality of pixels; determining a dark channel matrix of the RGB image, where the dark channel matrix includes, for each pixel of the plurality of pixels, a minimum color component intensity for a respective pixel area centered at the respective pixel; estimating an atmospheric light matrix for the RGB image based on the dark channel matrix, wherein the atmospheric light matrix includes an atmospheric light component value for each of the plurality of pixels; determining a transmission map based on the atmospheric light matrix and the dark channel matrix; de-hazing the RGB image based on the transmission map to reduce the smoke in the RGB image; and displaying the de-hazed RGB image on a display device.
2. The method of claim 1, wherein the de-hazing the RGB image includes: converting the RGB image to a YUV image; performing a de-hazing operation on the YUV image to provide a Y′UV image; and converting the Y′UV image to the de-hazed RGB image.
3. The method of claim 2, wherein the performing the de-hazing operation on the YUV image includes, for each pixel x of the plurality of pixels: determining Y′ as
4. The method of claim 3, wherein the performing the de-hazing operation on the YUV image further includes replacing a Y channel of the YUV image with the determined Y′ to provide a Y′UV image.
5. The method of claim 1, wherein the estimating the atmospheric light matrix includes, for each pixel x of the plurality of pixels: determining an atmospheric light component value for the pixel x as:
A(x)=max(min(I.sup.c(y)))*coef, for all y∈Ω(x), wherein: Ω(x) is a pixel area centered at pixel x, y is a pixel of the pixel area Ω(x), I.sup.c(y) is an intensity value of a color component c of the pixel y, and coef is a predetermined coefficient value.
6. The method of claim 1, wherein the determining the transmission map includes determining, for each pixel x of the plurality of pixels, a transmission component value as:
7. A method for smoke reduction in images comprising: accessing an image obscured by smoke, the image including a plurality of pixels, where each pixel of the image includes a plurality of color components; for each pixel of the plurality of pixels: determining a dark matrix channel value for the respective pixel as a minimum color component intensity value for a respective pixel area centered at the respective pixel; and estimating an atmospheric light component value for the pixel x based on the minimum color component intensity value for each pixel of the pixel area; de-hazing the image based on the atmospheric light component value for each of the plurality of pixels; and displaying the de-hazed image on a display device.
8. The method of claim 7, wherein the de-hazing the image includes: determining a transmission map, for each pixel x of the plurality of pixels as:
9. The method of claim 8, wherein the de-hazing the image further includes converting the Y′UV image to a de-hazed image.
10. The method of claim 9, wherein the image includes at least one of an RGB image, a CMYK image, a CIELAB image, or a CIEXYZ image.
11. The method of claim 7, wherein the estimating the atmospheric light component value includes, for each pixel x of the plurality of pixels: determining the atmospheric light component value for the pixel x as:
A(x)=max(min(I.sup.c(y)))*coef, for all y∈Ω(x), wherein: Ω(x) is a pixel area centered at pixel x, y is a pixel of the pixel area Ω(x), I.sup.c(y) is an intensity value of a color component c of the pixel y, and coef is a predetermined coefficient value.
12. A system for smoke reduction in images comprising: a light source configured to provide light; an imaging device configured to acquire images; an imagining device control unit configured to control the imaging device, the control unit comprising: a processor; and a memory storing instructions which, when executed by the processor, cause the system to: capture an image of an object obscured by smoke, by the imaging device, the image including a plurality of pixels, where each pixel of the image includes a plurality of color components; access the image; for each of the pixels: determine a dark channel matrix value for the respective pixel as a minimum color component intensity value for a respective pixel area centered at the respective pixel; and estimate an atmospheric light component value for each pixel based on the minimum color component intensity value for each pixel of the pixel area; de-haze the image based on the atmospheric light component value for each of the pixels; and display the de-hazed image on a display device.
13. The system of claim 12, wherein the instructions when de-hazing the image, further cause the system to: determine a transmission map, for each pixel x of the plurality of pixels as:
14. The system of claim 13, wherein the instructions when de-hazing the image, further cause the system to convert the Y′UV image to a de-hazed image.
15. The system of claim 14, wherein the image includes at least one of an RGB image, a CMYK image, a CIELAB image, or a CIEXYZ image.
16. The system of claim 12, wherein the instructions when estimating the atmospheric light component of the image, further cause the system to: determine the atmospheric light component value for the pixel x as:
A(x)=max(min(I.sup.c(y)))*coef, wherein: y is a pixel, I.sup.c is a color component of the pixel y, and coef is a predetermined coefficient.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
[0022] Embodiments of the present disclosure are described herein with reference to the accompanying drawings, wherein:
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033] Further details and aspects of exemplary embodiments of the disclosure are described in more detail below with reference to the appended figures. Any of the above aspects and embodiments of the disclosure may be combined without departing from the scope of the disclosure.
DETAILED DESCRIPTION OF EMBODIMENTS
[0034] Embodiments of the presently disclosed devices, systems, and methods of treatment are described in detail with reference to the drawings, in which like reference numerals designate identical or corresponding elements in each of the several views. As used herein, the term “distal” refers to that portion of a structure that is farther from a user, while the term “proximal” refers to that portion of a structure that is closer to the user. The term “clinician” refers to a doctor, nurse, or other care provider and may include support personnel.
[0035] The present disclosure is applicable where images of a surgical site are captured. Endoscope systems are provided as an example, but it will be understood that such description is exemplary and does not limit the scope and applicability of the present disclosure to other systems and procedures.
[0036] Referring initially to
[0037] With reference to
[0038] With reference to
[0039] Referring to
[0040] In various embodiments, the memory 454 can be random access memory, read only memory, magnetic disk memory, solid state memory, optical disc memory, and/or another type of memory. In various embodiments, the memory 454 can be separate from the imaging device controller 450 and can communicate with the processor 452 through communication buses of a circuit board and/or through communication cables such as serial ATA cables or other types of cables. The memory 454 includes computer-readable instructions that are executable by the processor 452 to operate the imaging device controller 450. In various embodiments, the imaging device controller 450 may include a network interface 540 to communicate with other computers or a server.
[0041] Referring now to
[0042] Initially, at step 502, an image of a surgical site is captured via the objective lens 36 and forwarded to the image sensor 32 of endoscope system 1. The term “image” as used herein may include still images or moving images (for example, video). In various embodiments, the captured image is communicated to the video system 30 for processing. For example, during an endoscopic procedure, a surgeon may cut tissue with an electrosurgical instrument. During this cutting, smoke may be generated. When the image is captured, it may include the smoke. Smoke is generally a turbid medium (such as particles, water droplets) in the atmosphere. The irradiance received by the objective lens 36 from the scene point is attenuated by the line of sight. This incoming light is mixed with ambient light (air-light) reflected into the line of sight by atmospheric particles such as smoke. This smoke degrades the image, making it lose contrast and color fidelity.
[0043]
[0044] With continuing reference to
[0045] Referring again to
I_DARK(x)=min(min(I.sup.c(y))), for all c∈{r,g,b}y∈Ω(x)
where y denotes a pixel of the patch Ω(x), c denotes a color component, and I.sup.c(y) denotes the intensity value of the color component c of pixel y. Thus, the dark channel of a pixel x is the outcome of two minimum operations across two variables c and y, which together determine the lowest color component intensity value among all pixels of a patch centered at pixel x. In various embodiments, the video system 30 can calculate the dark channel of a pixel by acquiring the lowest color component intensity value for every pixel in the patch and then finding the minimum value among all those values. For cases where the center pixel of the patch is at or near the edge of the image, only the part of the patch in the image is used.
[0046] For example, with reference to
In this example, for the top-left pixel in the pixel area Ω(x.sub.1) 602, the R channel may have an intensity of 1, the G channel may have an intensity of 3, and the B channel may have an intensity of 6. Here, the R channel has the minimum intensity value (a value of 1) of the RGB channels for that pixel.
[0047] The minimum color component intensity value of each the pixels would be determined. For example, for the 3×3-pixel area Ω(x.sub.1) 602 centered at x.sub.1, the minimum color component intensity value for each of the pixels in the pixel area Ω(x.sub.1) 602 are:
Thus, the dark channel of the pixel would have an intensity value of 0 for this exemplary 3×3-pixel area Ω(x) 602 centered at x.sub.1.
[0048] Referring again to
A(x)=f(min(I.sup.c(y))), for all c∈{r,g,b}y∈Ω(x),
where f( ) is an operation for estimating the atmospheric light component, based on the lowest color component intensity value for each pixel y 604 in the patch Ω(x.sub.1) 602. In various embodiments, the operation f( ) may determine the maximum value among min(I.sup.c(y)), for y E Ω(x). In various embodiments, the maximum value can be scaled by a coefficient “coef,” which in various embodiments can have a value between 0 and 1, such as 0.85. The embodiment of atmospheric light component described above may be provided as follows:
A(x)=f(min(I.sup.c(y)))=max(min(I.sup.c(y)))*coef, for all c∈{r,g,b}y∈Ω(x)
For example, using the same example above for intensity values in patch Ω(x.sub.1) 602, the video system 30 determines the atmospheric light component A(x.sub.1) to be 9*coef.
[0049] At step 508, the video system 30 determines what is referred to herein as a transmission map T. The transmission map T is determined based on the dark channel matrix and the atmospheric light matrix, which were determined in steps 504 and 506. The transmission map includes a transmission component T(x) for each pixel x. In various embodiments, the transmission component can be determined as follows:
where ω is a parameter having a value between 0 and 1, such as 0.85. In practice, even in clear images, there are some particles. Thus, some haze exists when distant objects are observed. The presence of haze is a cue to human perception of depth. If all haze is removed, the perception of depth may be lost. Therefore, to retain some haze, the parameter ω (0<ω<=1) is introduced. In various embodiments, the value of ω can vary based on the particular application. Thus, the transmission map is equal to 1 minus ω times the dark channel of a pixel (I-DARK(x)) divided by the atmospheric light component of the pixel, A(x).
[0050] At step 510, the video system 30 de-hazes the image based on the transmission map.
[0051] With reference to
[0052] Initially, at step 702 the video system 30 converts the RGB image 600 to a YUV image denoted as I-YUV. The conversion of each pixel from RGB and YUV may be performed as follows:
[0053] Next, at step 704 the video system 30 performs a de-hazing operation on the channel Y (luma) of the I-YUV image. In accordance with aspects of the present disclosure, the de-hazing operation is as following:
where Y′(x) is the Y(luma) channel of de-hazed image I-Y′UV. A(x) is the estimated atmospheric light component for pixel x, and T(x) is the transmission map value for pixel x. Thus, the Y(luma) channel of de-hazed image I-Y′UV is equal to the difference of the Y(luma) channel of image I-YUV and the estimated atmospheric light component A(x) calculated in step 506, divided by the transmission map value T(x) which was determined in step 508.
[0054] Finally, at step 706 the video system 30 converts the YUV image I-Y′UV to an de-hazed RGB image, the conversion from YUV to RGB is as follows:
[0055] In various embodiments, the video system 30 may communicate the resultant de-hazed RGB image on the display device 40 or save it to a memory or external storage device for later recall or further processing. Although the operation of
[0056]
[0057]
[0058]
[0059] The determined dark channel matrix of the image of
[0060] The transmission map (T) is used in a de-hazing operation as described in
[0061] The embodiments disclosed herein are examples of the present disclosure and may be embodied in various forms. For instance, although certain embodiments herein are described as separate embodiments, each of the embodiments herein may be combined with one or more of the other embodiments herein. Specific structural and functional details disclosed herein are not to be interpreted as limiting, but as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the present disclosure in virtually any appropriately detailed structure. Like reference numerals may refer to similar or identical elements throughout the description of the figures.
[0062] The phrases “in an embodiment,” “in embodiments,” “in some embodiments,” or “in other embodiments” may each refer to one or more of the same or different embodiments in accordance with the present disclosure. A phrase in the form “A or B” means “(A), (B), or (A and B).” A phrase in the form “at least one of A, B, or C” means “(A); (B); (C); (A and B); (A and C); (B and C); or (A, B, and C).” The term “clinician” may refer to a clinician or any medical professional, such as a doctor, nurse, technician, medical assistant, or the like, performing a medical procedure.
[0063] The systems described herein may also utilize one or more controllers to receive various information and transform the received information to generate an output. The controller may include any type of computing device, computational circuit, or any type of processor or processing circuit capable of executing a series of instructions that are stored in a memory. The controller may include multiple processors and/or multicore central processing units (CPUs) and may include any type of processor, such as a microprocessor, digital signal processor, microcontroller, programmable logic device (PLD), field programmable gate array (FPGA), or the like. The controller may also include a memory to store data and/or instructions that, when executed by the one or more processors, causes the one or more processors to perform one or more methods and/or algorithms.
[0064] Any of the herein described methods, programs, algorithms or codes may be converted to, or expressed in, a programming language or computer program. The terms “programming language” and “computer program,” as used herein, each include any language used to specify instructions to a computer, and include (but is not limited to) the following languages and their derivatives: Assembler, Basic, Batch files, BCPL, C, C+, C++, Delphi, Fortran, Java, JavaScript, machine code, operating system command languages, Pascal, Perl, PL1, scripting languages, Visual Basic, metalanguages which themselves specify programs, and all first, second, third, fourth, fifth, or further generation computer languages. Also included are database and other data schemas, and any other meta-languages. No distinction is made between languages which are interpreted, compiled, or use both compiled and interpreted approaches. No distinction is made between compiled and source versions of a program. Thus, reference to a program, where the programming language could exist in more than one state (such as source, compiled, object, or linked) is a reference to any and all such states. Reference to a program may encompass the actual instructions and/or the intent of those instructions.
[0065] Any of the herein described methods, programs, algorithms or codes may be contained on one or more machine-readable media or memory. The term “memory” may include a mechanism that provides (for example, stores and/or transmits) information in a form readable by a machine such a processor, computer, or a digital processing device. For example, a memory may include a read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, or any other volatile or non-volatile memory storage device. Code or instructions contained thereon can be represented by carrier wave signals, infrared signals, digital signals, and by other like signals.
[0066] It should be understood that the foregoing description is only illustrative of the present disclosure. Various alternatives and modifications can be devised by those skilled in the art without departing from the present disclosure. Accordingly, the present disclosure is intended to embrace all such alternatives, modifications and variances. The embodiments described with reference to the attached drawing figures are presented only to demonstrate certain examples of the present disclosure. Other elements, steps, methods, and techniques that are insubstantially different from those described above and/or in the appended claims are also intended to be within the scope of the present disclosure.