Color Profiling Guide for Adobe Camera Raw 3

by Eric Chan

October 14, 2005

Update (July 2008)

I wrote this article back in 2005, when Camera Raw's profiles were built into the plug-in and could only be tweaked via the Calibration sliders. As of July 29, 2008, there is now a much easier way to create colorimetrically accurate profiles for Camera Raw and Lightroom: the DNG Profile Editor. Be sure to check out Tutorial 5 and Tutorial 6 of the documentation, which explains how to automate the profiling process using a ColorChecker chart. Much easier and faster than following the manual process outlined below! It's also more accurate, since the DNG 1.2 profile format's lookup tables means that all color patches can be optimized for simultaneously, compared to the approach in this article, which only optimizes for 3 patches.

For the time being I've decided to leave the original text of this article online.


Why profile?

I've been using Adobe Camera Raw (ACR) and Adobe Bridge for my RAW conversion and workflow since Adobe Photoshop CS2 was released. While these tools are excellent in many respects, I've never been completely satisfied with ACR's color reproduction. Reds and yellows, in particular, come out looking rather anemic. I've mostly ignored the unsatisfactory color treatment, but recent excursions to photograph fall foliage (in which reds and yellows feature prominently) made it much harder to ignore. That's when I looked into the possibility of tweaking ACR's color profiles.

none
Photographed with a Canon EOS 5D and 50 mm lens. The color of the foliage surrounding the waterfall improved noticeably after profiling.

I recently found an excellent online article by Bruce Fraser that describes the process of modifying ACR's built-in profiles. Essentially, the process involves photographing the 24-square GretagMacbeth ColorChecker Chart with a camera, then fiddling with color calibration controls in ACR to attempt to match the image values with known reference values.

none
A digital version of the ColorChecker created by Bruce Fraser.

I couldn't be more pleased with the results. I've made profiles for the conditions under which I shoot the most often: cloudy bright (about 6200 K) and indoor tungsten (about 2800 K). In both cases, I found that ACR's rendering of warm tones (reds, yellows) improved significantly. Improvements in other colors are less prominent, but the overall color balance is much better.

none
Toy example. Place your cursor over the image to see the result after profiling.

The comparison above illustrate these improvements. I photographed the original image with a Canon EOS 5D camera and a 50 mm lens. In the raw converter ACR, I set the white balance using the gray WhiBal cards seen in the left side of the images. I created the top image using ACR's built-in profile and found that the red jacket was very weak and lacked saturation, as did Tigger's face. Looking at the original scene and comparing it to what I saw on my calibrated monitor, I also noticed differences in the green pillow and the blue jacket, though these differences were relatively minor. After tweaking ACR's profile for the 5D using the procedure described below, I created the image on the bottom and found that it was far more accurate: the red jacket, blue jacket, green pillow, and orange Tigger were nearly spot-on. (Yes, the jacket is really that red!) The images you see above have been resized and converted to sRGB for web display.

Another advantage of going through this procedure is that my two cameras (a Canon EOS 5D and a Canon EOS 1D Mark II) now produce nearly identical results in color. No, not an exact match, but definitely close enough for my needs.

The purpose of this web page is to describe exactly the steps I used to perform the profile-tweaking in ACR; I've adapted Bruce Fraser's approach a bit. If accurate color reproduction is important to you (or if you have nothing else to do and feel that spending 10 minutes fiddling with calibration sliders in ACR sounds like fun), keep reading. I hope you find this guide helpful!

Profiling: step by step

The following steps explain how to modify the profiles using ACR 3.x; this version of Camera Raw is part of Photoshop CS 2. Note that this is a practical guide with little explanation of the theory and the principles. If you wish to learn more about color science and its relevance to photography, I suggest visiting Bruce Fraser's online articles and Bruce Lindbloom's web site.

You will need a GretagMacbeth ColorChecker Chart. This is a checkerboard containing 24 colored squares with known spectral properties. (No, it does NOT suffice to print out an image of the ColorChecker on your inkjet printer and use that instead!)

  1. Expose the ColorChecker under your desired illumination conditions.

    • Be sure to expose in RAW mode.
    • Expose at a low ISO (e.g. 200).
    • Avoid nearby colored objects (e.g. grass, painted objects, etc.), because these may leave a color cast on the chart.
    • Avoid including shiny objects (or anything else brighter than the white square) in the frame.
    • Keep the illumination on the ColorChecker as even as possible.
    • Expose carefully to avoid clipping the white patch and the dark patch. Use your camera's histogram to assist you.
    • Stop down the lens (e.g. f/11 or smaller aperture) to minimize vignetting. It's reasonable to avoid completely filling the frame with the chart.

  2. Open this reference image (which uses the ProPhoto RGB color space) in Photoshop. (This image is a digital version of the ColorChecker, prepared by Bruce Fraser by averaging LAB values for several physical ColorChecker charts and then converting the resulting file to ProPhoto RGB.)

    The reference image on your screen should appear similar to the image below. (I converted this image to sRGB for the purposes of displaying it on the web.)

    none
  3. Copy the RAW image of your photographed ColorChecker to the computer and open it in ACR.

    none
  4. Use the crop and align tools in ACR to exclude everything else except the 24 squares of the ColorChecker (i.e. eliminate all background material). The purpose of this step is to make the histogram accurately reflect the squares' tonal values. You may want to zoom in after performing this step to make the ColorChecker image easier to see.

    none
  5. Perform the following setup in ACR:

    • Choose "ProPhoto RGB" as the color space in ACR's workflow options.
    • In the Adjust tab, set all values except white balance (color and tint) to 0. That is, set the exposure, shadow, brightness, contrast, and saturation sliders to 0.
    • In the Detail tab, set sharpness to 0, luminance smoothing to 0, color noise reduction to a small value (e.g. 5).
    • Set all values in the Lens tab to 0.
    • In the Curve tab, choose "Linear" from the Tone Curve menu.
    • Set all values in the Calibrate tab to 0.

    none

    none   none   none   none

  6. Look at the histogram and make sure that nothing is clipped, i.e. no overexposure and no underexposure. You can check the highlight and shadow warning boxex to make sure that the white square is not overexposed and that the dark square is not underexposed. If overexposure or underexposure has occurred, try another exposure of the ColorChecker with your camera.

    none
  7. Press S to get the sampler tool. Add "sampler points" to the middle of each square in the bottow row (the gray patches). Also add sampler points to the leftmost three patches in the third row (blue, green, red patches). Sampler points are a great new feature in ACR 3.

    none
  8. Set the white balance (use shift-click with the sampler tool, or press "I" to get the white balance tool) using the patch in row 4, column 2 (i.e. the gray patch to the right of the white square).

    none

    Move the sampler tool over the surface of that gray patch (R4C2), keep an eye on the RGB readout values, and make sure that the RGB values are fairly neutral. They should not be more than one level apart (e.g. 189 190 190 is ok). If this is not the case, then there are two likely scenarios.

    First, you may need to enter a value manually into the Temperature box (see the right-most red outlined region in the figure above). Using the arrow keys moves the values in +50/-50 value increments. You may need to fine-tune the values by entering something in between (e.g. 2725 instead of 2700 or 2750). Another possibility is that there is a color cast, mixed illumination, or uneven illumination on the ColorChecker; in this case, it's probably best to start over and be more careful with the setup when photographing the ColorChecker.

  9. Go to the Curve tab. Look at the sampler points that you added for the six gray patches. Ctrl-click on each one to add a corresponding point on the tone curve. There should now be six interior points on the curve, corresponding to the six gray patches.

    none
  10. While keeping an eye on the six gray patch sampler values near the top of the ACR window, adjust the six points on the tone curve so that the sampler values match the gray patches' reference values:

    241   190   145   104   67   37

    The easiest way to do this is to use ACR's keyboard shortucts. Use ctrl-tab (or shift-ctrl-tab) to select the next (or previous) control point, and use the up/down arrow keys to adjust the tone values. Hold down the shift-key to make increments of 10 instead of 1.

    If the patches' RGB values aren't perfectly neutral, that's ok; just match the green values.

    none
  11. Go to the Calibrate tab and check the dark patch (bottom-right, R4C6). If it's significantly non-neutral, adjust the Shadow Tint slider until it becomes neutral. Move your cursor (sampler) over the dark patch; the RGB values should not be more than 1 level apart (e.g. 37 37 38 is ok).

    none
  12. Now comes the tricky part: matching the blue, green, and red patches (R3C1, R3C2, R3C3). While an exact match is unlikely (I've never succeeded!), it's possible to get the color balance right, and that's what matters.

    Here is the iterative approach I used.

    1. Start with the green patch and try to get the values to be proportional to the reference values. The references values for the green patch are (85, 123, 67). So, for instance, if the green sampler in the target image has a green value of 118, then aim for (82, 118, 64).

      Here is a table of green values to try to match (for greens in range 115 to 130):

      R
      G
      B
      79 115 63
      80 116 63
      81 117 64
      82 118 64
      82 119 65
      83 120 65
      84 121 66
      84 122 66
      85 123 67
      86 124 68
      86 125 68
      87 126 69
      88 127 69
      88 128 70
      89 129 70
      90 130 71

      Use the green saturation slider to adjust red and blue values relative to the green value. Use the green hue slider to adjust red and blue values relative to each other. Tweaking the hue slider will sometimes cause the green saturation value to change (e.g. from 118 to 117). That's ok. Just keep tweaking the hue and saturation sliders until the green sampler shows values that match one of the rows in the table above.

      For my example, here is what I got:

      none

      Notice how my values for the green sampler (sampler 8) match one of the row (the sixth row) in the table above. For your own target image, the necessary green hue and saturation slider values may be entirely different from mine, so don't simply enter the slider values from my example!

    2. Next, switch to the blue patch and its sampler. Repeat the process with the blue saturation and hue sliders. The reference blue values are (59, 48, 126). The following is the blue table for blues in the range of 95 to 135:

      R
      G
      B
      44 36 95
      45 37 96
      45 37 97
      46 37 98
      46 38 99
      47 38 100
      47 38 101
      48 39 102
      48 39 103
      49 40 104
      49 40 105
      50 40 106
      50 41 107
      51 41 108
      51 42 109
      52 42 110
      52 42 111
      52 43 112
      53 43 113
      53 43 114
      54 44 115
      54 44 116
      55 45 117
      55 45 118
      56 45 119
      56 46 120
      57 46 121
      57 46 122
      58 47 123
      58 47 124
      59 48 125
      59 48 126
      59 48 127
      60 49 128
      60 49 129
      61 50 130
      61 50 131
      62 50 132
      62 51 133
      63 51 134
      63 51 135

      Again, tweak the sliders until the blue sampler's values match one of the rows above. Here is what I got in my case:

      none

      After this step, you'll probably find that the sampler values for the green patch have changed and may not be balanced properly. That's ok. Don't worry about this for now; we'll come back to it later.

    3. Repeat the process for the red patch and the red saturation and hue sliders. The red patch's reference values are (122, 58, 46), and the table is:

      R
      G
      B
      115 55 43
      116 55 44
      117 56 44
      118 56 44
      119 57 45
      120 57 45
      121 58 46
      122 58 46
      123 58 46
      124 59 47
      125 59 47
      126 60 48
      127 60 48
      128 61 48
      129 61 49
      130 62 49
      131 62 49
      132 63 50
      133 63 50
      134 64 51
      135 64 51
      136 65 51
      137 65 52
      138 66 52
      139 66 52
      140 67 53
      141 67 53
      142 68 54
      143 68 54
      144 68 54
      145 69 55

      Here is what I got after tweaking the red hue and saturation sliders:

      none

    4. This completes one round of color slider tweaking in the Calibrate tab. As I mentioned above, the red sampler might now show a balanced set of values, but the green and blue sampler values are probably off. In my example above, you can see that this is indeed the case. They shouldn't be off by too much, though. By repeating the above three steps, we'll quickly converge on a balanced set of red, green, and blue patches.

      Fine-tune the sliders by repeating the above steps, starting with green, then blue, then red. In most cases you shouldn't need more than three or four iterations. Once you become comfortable with how the hue and saturation sliders work in the Calibrate tab, this iterative process should only take a few minutes.

      After two more iterations in my case, I converged to this:

      none

      Notice how each of the red, blue, and green samplers match rows in the tables above. None of them match the reference chart exactly, though the blue and green patches come very close. The red values are a little high compared to the reference chart; oh well, we tried.

  13. Save only the calibration settings by going to the right-triangle pop-up menu and choosing "Save settings subset ...".

    none

    In the dialog box that comes up, choose "Calibration" from the Subset menu and click the "Save..." button.

    Give the target .xmp file a descriptive name, such as "Canon_5D_xxxxxx_profile_daylight_iso200.xmp", where "xxxxxx" is the serial number (or some other identifier) of your camera. (Having this identifier is handy in case you use two cameras of the same model.)


Evaluation

Digital sensors usually have noticeably different responses under daylight and tungsten illumination. If you shoot regularly under both of these conditions, I recommend creating separate profiles for daylight and tungsten illumination.

Here is an example of an image taken in daylight with the Canon 5D in daylight, before profiling. Place your cursor over the image to see the result after profiling.

none
Was it worth the effort? I think so. Place your cursor over the image to see the result after profiling.

Below you can see the reference chart (top image) and the physical chart photographed under a tungsten bulb with my 5D (bottom image), after profiling. I converted both of these images to sRGB.

Clearly there are some differences, most notably the light skin patch (R1C2), the blue sky patch (R1C3), the foliage patch (R1C4), and the bluish green patch (R1C6). Even so, this is a pretty good "visual" match.

none

none

My Canon 5D and 1D Mark II digital bodies now produce nearly identical color after I tweaked their profiles. Place your cursor over the bottom image above to see the chart photographed with my 1D Mark II, after profiling.