Luminance-preserving and temporally stable daltonization
It is difficult for people with color vision deficiency (CVD) to distinguish between certain colors, e.g., reds and greens may be indistinguishable, causing a loss of information. Image recoloring, daltonization, techniques aim to improve the experience for people with CVD. Preserving luminance between the original image as seen by a person with normal color vision and someone with a CVD assists in preserving image appearance. Conventional algorithms attempt to daltonize images by exploiting the content of the image itself. While this is a suitable idea for an image in isolation, temporal inconsistencies (e.g., flickering) occur when applied to a stream of images, as a color c could be mapped to a color a in one frame and b in another. In contrast, the luminance-preserving technique operates on pixels and provides a consistent mapping and therefore is temporally stable.
1 . A computer-implemented method, comprising:
obtaining an image encoded in a luminance-based color space;
projecting a color of a pixel in the image, according to a transform function, to a region in the luminance-based color space to produce a projected color as a first color for the pixel, wherein the region is within a luminance polygon in the luminance-based color space and the region is constrained by the color vision deficiency; and
remapping the first color to produce a second color in a recolored version of the image, wherein the second color is constrained by a color vision deficiency (CVD).
2 . The computer-implemented method of claim 1 , wherein the region separates the luminance polygon into a first sub-plane and a second sub-plane, and first color samples within the first sub-plane are remapped to a first portion of the region and second color samples within the second sub-plane are remapped to a second portion of the region.
3 . The computer-implemented method of claim 2 , wherein a gray color point on a luminance axis separates the first portion of the region and the second portion of the region.
4 . The computer-implemented method of claim 2 , wherein
the projected color is remapped to a third color within a CVD gamut and,
the third color is remapped to a fourth color of the first color samples,
and further comprising interpolating between the third color and the fourth color to produce the second color for the pixel.
5 . The computer-implemented method of claim 4 , wherein the third color and the fourth color are interpolated based on at least one distance between the first color and the region.
6 . A computer-implemented method, comprising:
obtaining an image encoded in a luminance-based color space;
projecting a color of a pixel in the image, according to a transform function, to a region within a displayable color vision deficiency (CVD) gamut in the luminance-based color space to produce a projected color as a first color for the pixel; and
remapping the first color to produce a second color in a recolored version of the image, wherein the second color is constrained by a CVD.
7 . A computer-implemented method, comprising;
obtaining an image encoded in a luminance-based color space;
projecting a color of a pixel in the image, according to a transform function, to a region in the luminance-based color space to produce a projected color as a first color for the pixel;
remapping the first color to produce a second color in a recolored version of the image, wherein the second color is constrained by a color vision deficiency (CVD); and
for a pixel in the recolored version of the image, selecting the second color from a subset of color samples within the region that are perceived by a CVD observer as equal to the second color and is closest in value to the first color for the pixel.
8 . The computer-implemented method of claim 1 , further comprising:
converting an original image in a first color space to the image encoded in the luminance-based color space; and
converting the recolored version of the image from the luminance-based color space to the first color space.
9 . A computer-implemented method, comprising:
obtaining an image encoded in a luminance-based color space;
projecting a color of a pixel in the image, according to a transform function, to a region in the luminance-based color space to produce a projected color as a first color for the pixel; and
redistributing color samples within the region to equalize a distribution of the color samples within the region, wherein the first color is remapped to produce a second color in a recolored version of the image and the second color is constrained by a color vision deficiency (CVD).
10 . The computer-implemented method of claim 1 , further comprising storing the second color as a texel in a texture map, wherein the second color is accessed by the first color.
11 . A computer-implemented method, comprising:
obtaining an image encoded in a luminance-based color space;
projecting a color of a pixel in the image, according to a transform function, to a region in the luminance-based color space to produce a projected color as a first color for the pixel, wherein the region is a line or a plane; and
remapping the first color to produce a second color in a recolored version of the image, wherein the second color is constrained by a color vision deficiency (CVD).
12 . A computer-implemented method, comprising:
obtaining an image encoded in a luminance-based color space; and
remapping first colors in the image to produce second colors in a recolored version of the image, wherein the second colors are constrained by a color vision deficiency (CVD), luminance values of the second colors and the respective first colors are equal, and the remapping of each one of the first colors in the image to produce the second colors is consistent with the remapping of the first colors in one or more additional images in a sequence to produce a temporally stable recolored sequence of images.
13 . The computer-implemented method of claim 1 , wherein at least one of the steps of obtaining, projecting, or remapping is performed on a server or in a data center to generate the recolored version of the image, and the recolored version of the image is streamed to a user device.
14 . The computer-implemented method of claim 1 , wherein at least one of the steps of obtaining, projecting, or remapping is performed within a cloud computing environment.
15 . The computer-implemented method of claim 1 , wherein at least one of the steps of obtaining, projecting, or remapping is performed for training, testing, or certifying a neural network employed in a machine, robot, or autonomous vehicle.
16 . The computer-implemented method of claim 1 , wherein at least one of the steps of obtaining, projecting, or remapping is performed on a virtual machine comprising a portion of a graphics processing unit.
17 . A system, comprising:
a memory that stores an image encoded in a luminance-based color space; and
a processor that is connected to the memory, wherein the processor is configured to:
project a color of a pixel in the image, according to a transform function, to a region in the luminance-based color space to produce a projected color as a first color for the pixel, wherein the region is within a luminance polygon in the luminance-based color space and the region is constrained by the color vision deficiency; and
remap the first color to produce a second color in a recolored version of the image, wherein the second color is constrained by a color vision deficiency (CVD).
18 . A non-transitory computer-readable media storing computer instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of:
obtaining an image encoded in a luminance-based color space;
projecting a color of a pixel in the image, according to a transform function, to a region in the luminance-based color space to produce a projected color as a first color for the pixel, wherein the region is within a luminance polygon in the luminance-based color space and the region is constrained by the color vision deficiency; and
remapping the first color to produce a second color in a recolored version of the image, wherein the second color is constrained by a color vision deficiency (CVD).
19 . A system, comprising:
a memory that stores an image encoded in a luminance-based color space; and
a processor that is connected to the memory, wherein the processor is configured to:
remap first colors in the image to produce second colors in a recolored version of the image, wherein the second colors are constrained by a color vision deficiency (CVD), luminance values of the second colors and the respective first colors are equal, and the remapping of each one of the first colors in the image to produce the second colors is consistent with the remapping of the first colors in one or more additional images in a sequence to produce a temporally stable recolored sequence of images.
20 . A non-transitory computer-readable media storing computer instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of:
obtaining an image encoded in a luminance-based color space; and
remapping first colors in the image to produce second colors in a recolored version of the image, wherein the second colors are constrained by a color vision deficiency (CVD), luminance values of the second colors and the respective first colors are equal, and the remapping of each one of the first colors in the image to produce the second colors is consistent with the remapping of the first colors in one or more additional images in a sequence to produce a temporally stable recolored sequence of images.