Adobe Lens Profile Creator
With the release of Photoshop CS5, Adobe has started off on an ambitious effort to build a community of camera lens profile builders: it released a free utility that enables the creation of lens profiles for use in Photoshop CS5's Lens Correction filter as well as Camera Raw 6.1 and Lightroom 3.0. The profile that the Adobe Lens Profile Creator (ALPC) creates characterizes three types of lens defects and prescribes how to computationally correct the defects.
ALPC uses photographic images to evaluate geometric lens distortions, lateral chromatic aberrations, and lens vignetting. To generate a lens profile, you print a checkerboard target, set up the target with consistent lighting, and shoot reference images with the lens to be profiled. The images—either DNG, JPEG, or TIFF—are then loaded into ALPC. The application evaluates the images and creates a lens profile.
In addition to creating profiles for themselves, people who spend the time and effort creating profiles can then share their profiles by uploading them to the Adobe Lens Profile server. Even though Adobe created a large number of lens profiles to ship with Photoshop CS5, Camera Raw 6, and Lightroom 3, clearly not every lens that might potentially be used has been profiled. That's why Adobe hopes individuals make the effort to create their own lens profiles and make them available to the community at large.
How do you get ALPC? Simply browse the Adobe Labs Web site and look for the Lens Profile Creator section (www.adobe.com/go/alpc for a direct link). You'll need to have a free Adobe ID and agree to the terms. The download includes a folder that contains the application and a large number of PDF-formatted profiling targets specifically designed for lens profile creation. You'll also receive good documentation and sample JPEG files for practice. We highly suggest reading the documentation and using the sample JPEG files to build test profiles before jumping into target shooting with both feet.
Printing the Calibration Chart
You'll need to select a checkerboard target to print from the provided PDF calibration charts. Which one you choose will depend on several factors: the size of your shooting space, the maximum size you can print, the focal length of the lens, and the number of target shots you wish to shoot. The rule of thumb is to select the largest chart that you could readily print, and pick one with the smallest squares that the Lens Profile Creator can still reliably detect for the planned shooting distances. The size of the printed target should allow you to light it very evenly and frame the camera so that the target takes up between ; to quarter of the frame. You want to shoot multiple images; don't try to use a single shot. The size of the square on the final digital capture, once brought into ALPC, must be at least 20 pixels, but ideally 40 to 50 pixels. If none of the targets will work for your project, you can modify a PDF target in Illustrator.
Setting Up the Target
Once you have the target printed, you'll need to mount the target to a flat, stiff board in order to make absolutely sure there is no bend or warp that might confuse the ALPC algorithms. Adobe had its targets mounted on foam core, then put the mounted targets inside of picture frames to keep them from bowing. Jeff mounted his printed targets to a sheet of inch glass that was perfectly flat. However you choose to mount your target, it's critical to make sure it is flat.
Once you have the calibration chart mounted, you'll need to set up lighting to evenly light the target. The setup should be a basic copy-lighting setup with one light on either side of the target set to a 45° angle to the target and 90° to each other. An overhead diagram is shown in Figure 4-98.
Figure 4-98 Overhead diagram of lighting setup.
Once you've set up the lighting and camera, it's very important to measure the light falling on the target. Make sure that the light is equal from both sides and that the light falling on the target is even and consistent. The lighting must remain consistent between multiple shots for a given image set.
The lens Jeff profiled was a Canon EF 50mm F/1.2, which is mounted on his 1Ds Mark III camera (see Figure 4-99). The target shown in this shot is the PDF named "Landscape ANSI_E - 34.00 In x 44.00 In (Square Print Dimension 72 Pts, Version 31 x 41)," which means the dimensions were 34 by 44 inches and the checkerboard size was 72 points. Jeff used a pair of studio strobes on either side of the calibration target bounced into white umbrellas. The distance was far enough that there was less than 1/10 of an F/stop difference when metering from one side of the chart to the other. The lighting can be electronic flash, a continuous light source such as tungsten floodlights, or even daylight. The key factor in selecting lighting is that the target must be consistently illuminated.
Figure 4-99 Jeff's target setup.
Capturing the Calibration Image Set
Once you've properly set up the lighting and the camera, you'll need to do a bit of planning before firing away. First off, you need to make sure that the lens is mounted on your camera with the largest sensor crop factor you will be using. If you think you'll want to use the lens profile for a full-frame camera and also a camera with a smaller sensor, you'll want to shoot the targets with the full-frame sensor.
You'll also need to plan how many frames you'll be capturing of the target. Jeff chose to shoot a series of nine captures at each of 5 F/stops at three focus distances. You may wonder why you should shoot the targets multiple times and overlap them rather than shoot one single target full frame. The way that ALPC's processing algorithms are designed, turning the camera left and right and tilting up or down to shoot the corners actually helps the algorithms determine the lens defects.
The Calibration Shooting Guide included in the download suggests the following guidelines when determining how to plan and organize a series of target shots meant for a basic lens profile:
- For wide-angle/fisheye zoom lenses, shoot at the nominal focal length positions as marked on the ring of the lens with a fixed f/11 aperture.
- For telephoto zoom lenses, shoot at the minimum, maximum, and medium focal lengths positions with a fixed f/11 aperture.
- For prime lenses, shoot at (1 x minimum focus distance) and (5 x minimum focus distance) focus distance positions with a fixed f/11 aperture.
The following guidelines are recommended when shooting the image sets to create a more advanced lens profile:
- For wide-angle/fisheye zoom lenses, shoot 72 image sets (6 focal length positions x 3 focus distance positions x 4 aperture positions).
- For telephoto zoom lenses, shoot 36 image sets (3 focal length positions x 3 focus distance positions x 4 aperture positions).
- For prime lenses, shoot 12 image sets (1 focal length position x 3 focus distance positions x 4 aperture positions.
Once you are ready to start shooting, make sure your exposure is set to avoid clipping in the highlights. Slightly less exposure is better than blowing out the whites. It's best to use a tripod so you can be precise with your framing, and it's important to tilt and move your camera when shooting the image series and to make sure you frame the corners carefully. You want to avoid cropping into any of the target's checkerboard. Figure 4-100 shows the first series of shots Jeff did, loaded into Bridge. You'll notice that the files are in DNG format because ALPC can't read proprietary raw file formats.
Figure 4-100 The initial nine DNG captures viewed in Bridge.
Using Adobe Lens Profile Creator
After taking the shots and converting the image files to DNG, the next step is to launch ALPC and load the images. You can do so by selecting Add Images to Project in the File menu (see Figure 4-101) or dragging and dropping files from Bridge into ALPC. Jeff used the latter method to make sure the correct images were added as a group. Figure 4-102 shows the images loaded into ALPC.
Figure 4-101 Adding images to ALPC.
Figure 4-102 The main ALPC window.
In the Profiles panel on the top left side of the ALPC window you'll see the camera, lens, file format, and resolution listed; under that are the various F/stops of the target shots (see Figure 4-103). You'll see that Jeff shot the 50mm F/1.2 lens nearly wide open at F/1.6 (He couldn't knock the light down quite enough to shoot wide open). The last series was at F/16 with close focusing at the shortest distance.
Figure 4-103 Left-side panel details.
Under Profiles is the Images panel. Here you can see exactly what images have been assigned to which Focus Distance Group (in this case the Focus Distance Group was number 3). The flyout menu, also shown in Figure 4-103, allows you to add, delete, and rename Focus Distance Groups.
In the center panel ALPC shows you a filmstrip of the images listed in the selected group as well as a larger preview. On the left is a zoom menu similar to Camera Raw's zoom menu. On the right are three tools: Zoom, Hand, and Measure. Figure 4-104 shows the center panel and a detail of the toolbar.
Figure 4-104 Center panel details.
The Measure tool is critical for determining the dimensions of the photographed calibration-target checkerboard square size in the image capture. In addition to the number of rows and columns in the target and the target's square size in points, ALPC needs to know the final captured size of the checkerboard square when opened in ALPC. To determine this, select the Measure tool, zoom in, and drag the tool from one side of a square to the other. It doesn't matter whether you measure a white or black square. It also doesn't really matter which image in your series you use to make your measurement, but we find it best to use the centermost of the nine images as there will be less distortion that might impact the dimensions of the square. Figure 4-105 shows the process of using the Measure tool. It also shows a dialog box asking if you want to use the measured value to set the Screen dimension and also shows the final measured value. This value must be at least 20 pixels, but over 30 pixels is better because it will lead to fewer errors. You do not want the pixel size to be too large because the lens-profiling algorithm needs a fairly dense checkerboard pattern to produce accurate profiles.
Figure 4-105 Measuring the checkerboard square size.
In addition to providing ALPC with the chart square's pixel dimensions after being photographed, you must also enter the number of rows and columns of the printed chart and the size of the checkerboard square prior to photographing. To get this information, zoom into the photographed target and read the specs that were printed along with the target. Enter that data in the ALPC Calibration panel's Checkerboard Info fields. A close-up of the photographed target and the Calibration panel is shown in Figure 4-106.
Figure 4-106 Reading and entering the checkerboard info.
This calibration chart has 31 rows and 41 columns; each square was 72 points across. The measured screen size of each square was 48 pixels. Be careful to correctly enter this information; it is critical to ensure that ALPC has the calibration data it needs to calculate the lens defects and create the proper correction.
In the Lens options, indicate whether the lens is Rectilinear or Fisheye. Rectilinear includes all "normal" perspective fixed and zoom lenses, including extremely wide-angle rectilinear focal lengths. Fisheye includes fixed or zoom fisheye lenses and circular fisheye lenses.
The Lens section provides options for which correction Model (or models) you want the lens profile correction to calculate. Generally, you'll want to select the Chromatic Aberration Model as well as the Vignette Model. The Geometric Model is selected by default.
Prior to calculating the lens profile, you'll want to enter information regarding the resulting profile's name and the lens and camera name. These are the "Display Names" that will show up in the Lens Correction filter in Photoshop and the Lens Correction panel in Camera Raw and Lightroom. These do not represent the profile's filename. Jeff has named his profile JKS-EF50mm f/1.2L USM. As shown in Figure 4-107, Jeff added his initials to keep track of the profile he has made in the event another 50mm f/1.2 lens profile may get installed on his system down the road.
Figure 4-107 Entering in the display names for the profile.
Lens Profile Creator reads the DNG's EXIF metadata and automatically enters the Camera Name and the Lens Name (see Figure 4-107).
Saving an ALPC Project
Before you generate a lens profile, you'll want to save the work you've done so far as an ALPC Project. Where you save the project really doesn't matter (but where you save a generated profile does matter). Jeff created a folder named Canon 50mm F1.2 Lens to save the project in. He also put the DNG files inside their respective folders, which are organized by F/stop inside the project folder. Once you've loaded the images inside of an ALPC project, you don't need to keep the DNG files in any specific location.
Generating a Lens Profile
In the Profile panel, you'll want to make sure all the relevant F/stop groups are selected. Failing to select a group will leave it out of the profile calculation. Once the groups are selected, click the Generate Profiles button. Figure 4-108 shows the Profile panel and the button.
Figure 4-108 Generating a lens profile.
Once the button is clicked, ALPC goes about its business of finding each image's target, evaluating the target, and adding the target data into the calculations for the generation of a lens profile. This can take some time depending on your computer's processor speed and the size of the DNG files. While you might think that you could save time by processing out the raw DNG files as JPEGs, that's not a good idea. ALPC can create a profile from DNG files, JPEGs, or TIFFs, but profiles made for DNG files won't work optimally on JPEG/TIFF files and vise versa.
While ALPC is working, you'll see a progress bar at the top of the main window. You'll also note that watching this progress bar is about as useful as watching a pot of water come up to boil (and almost as much fun). We suggest finding something entertaining to do while your profile is being calculated. In the event you do want to watch, you'll also see each of the various images being evaluated and an indicator that the algorithm has successfully detected the chart.
In the event that the checkerboard grid can't be correctly detected, you'll see a warning show up in the Images panel by the failed image and the marker indicators will be red instead of yellow.
In our experience (which we freely admit is somewhat limited) the primary reason for a grid detection or a profile generation failure is that the the correct rows and columns, point size, and pixel dimensions aren't entered in the Checkerboard Info section of the Calibration panel. The full calibration chart must be clearly visible in each and every shot: if the focus on a shot was off or if you cropped into the chart, the grid will not be detected.
Saving a Lens Profile
Assuming you have successfully generated a lens profile, the next step is to save it in the correct location so Photoshop, Camera Raw, and Lightroom can access it. Figure 4-109 shows the Save Profile dialog.
Figure 4-109 The Save Profile dialog box.
While you can save a lens profile anywhere, in order for Photoshop, Camera Raw, and Lightroom to use it correctly, the profile must be located where they expect it to be. The applications can find lens profiles in "user specific" and "all users" locations.
User profiles (user specific):
- Mac OS X: /Users/(User Name)/Library/Application Support/Adobe/CameraRaw/LensProfiles/1.0
- Windows 7 or Vista: C:\User\(User Name)\AppData\Roaming\Adobe\CameraRaw\LensProfiles\1.0
- Windows XP: C:\Documents and Settings\(User Name)\Application Data\Adobe\CameraRaw\LensProfiles\1.0
Shared profiles (all users):
- Mac OS X: /Library/Application Support/Adobe/CameraRaw/LensProfiles/1.0
- Windows 7 or Vista: C:\ProgramData\Adobe\CameraRaw\LensProfiles\1.0
- Windows XP: C:\Documents and Settings\All Users\Application Data\Adobe\CameraRaw\LensProfiles\1.0
It may take a while to create a lens profile, particularly a profile for a zoom lens. You'll need to select the calibration chart; shoot it at multiple F/stops, focus distances, and zoom focal lengths, and combine multiple profile calculations in the final profile. You can do this shot by shot if you want. If you close and then reopen a lens project and wish to add new profile data into an existing profile, you'll see a Choose to Append or Replace dialog box as shown in Figure 4-110.
Figure 4-110 The Choose to Append or Replace dialog box.
If you choose to append, you'll add to the existing lens profile rather than overwrite the old one. By appending you can build up a rich and very precise profile for your lens.
Using a Lens Profile
After creating and saving a lens profile, the next step is to test it to see if it actually does something good. It would be very disappointing to go through all that effort for no gain. After saving his profile for the Canon EF50mm F/1.2 lens, Jeff did some sample shots to evaluate the effectiveness of the profile. Once the profile is saved in the correct location, Camera Raw can access it as shown in Figure 4-111.
Figure 4-111 Using the lens profile in Camera Raw's Lens Corrections panel.
The 50mm F/1.2 lens is a rather pricey lens and Jeff was hoping that its performance would be pretty good. Of course, he was also hoping that a sample image processed using a profile specifically created for the lens would show visible improvement. The Before and After images shown in Figure 4-112 do show an improvement, particularly for correcting barrel distortion. You can see in the Before image how the horizontal lines in the building bow out in the middle of the frame. You can also see a bit of correction in the After image for lens vignetting. The detail shot shows the before and after correction for lateral chromatic aberration. We think the lens profile is doing a good job of correcting for the lens defects—but we're not happy that the expensive lens has defects that need correcting.
Figure 4-112 Before and after using the lens profile correction.
Sharing a Lens Profile
We mentioned in the beginning of this section that it is Adobe's hope that individuals will create lens profiles and share them with the community. To further that goal, Adobe has added a feature that lets you select and email a lens profile to the company for posting on the Adobe Lens Profile server. Figure 4-113 shows the ALPC command.
Figure 4-113 Sharing a lens profile.
You should know that sending the profile to Adobe means you've agreed to the terms of the profile submission shown here:
By sending this e-mail containing the attached lens profile data to Adobe, you grant Adobe a nonexclusive, worldwide, royalty-free and fully paid license to use, modify, reproduce, publicly perform and display, and distribute such lens profile data in products and services created by or on behalf of Adobe.
Jeff agreed to these terms and submitted his profile to the community. If you happen to shoot with a Canon EF 50mm F/1.2 lens, you can search for its profile in the Lens Correction filter in Photoshop.
We offer our thanks to Adobe engineers Eric Chan (Camera Raw) and Simon Chen (primary engineer for Adobe Lens Profile Creator) for their assistance in the writing of this section. Our congratulations go to the whole team that worked so hard to bring lens corrections to Photoshop, Camera Raw, and Lightroom.