JunMultiLED

From Psych 221 Image Systems Engineering
Jump to navigation Jump to search

Introduction

Multispectral imaging has enabled identification and analysis of targets across sectors, from agriculture to defense. This project focuses on the practical engineering-related aspects of creating an illumination system for future use in a portable multispectral imager. Specifically, this work describes efforts to characterize and evaluate the non-uniformity of high-power LEDs for this illumination system, as well as efforts to mitigate the associated challenges from running such a system. Non-uniformity of output light must be controlled to minimize any artifacts or distortions that the illuminations system itself introduces. Below shows an example of how a commercially-available multispectral imager (the Forenscope) can be used to visualize anomalies in dental tissue, an example of point-of-contact medical scenarios where such a portable imager may be helpful.

Figure 1: Multispectral Images of Teeth [1]

Background

LED Ring Lights

Photographers use LED-based ring lights to control illumination of a target. These ring lights take the form of an annulus with an inner radius sufficiently large enough to accommodate a camera lens. One example of such a product is shown below:

Figure 2: LED Ring Light [2]

The illumination system for the multispectral imager will have a similar form factor to the above figure in order to enhance the uniformity of the output light.

Area Uniformity Metrics

The Information Display Measurements Standard (IDMS)[3] describes multiple methods for area uniformity analysis. The simplest method described is to sample a series of point along a diagonal, horizontal, or vertical line through the center of the image and then plotting pixel value as a function of distance. One optimization the IDMS offers is to plot the image’s pixel values as a surface or mesh plot with an associated colormap, providing a 3D view of the image’s uniformity. The IDMS also proposes another imaging method based on contrast ratios. For this method, white and black luminance data for the display in question must be acquired. Once the two images are acquired, the IDMS proposes an algorithm to calculate a contrast ratio for each pixel; then, the contrast ratios per pixel are rendered in a 2D plot to identify points of non-uniformity. This method works well for displays to identify aberrations in its surface. A more generalizable method to images is to calculate the RMS value of the screen, the minimum value of the screen, and the maximum value of the screen. Once completed, the maximum deviation from the mean can be calculated by taking the maximum of:
1) difference between RMS value and maximum value
2) difference between RMS value and minimum value
The resulting maximum deviation from the mean can be used to sort images on the basis of worst-case non-uniformity. The IDMS offers one final algorithm to quantify the non-uniform aberrations on a display observable to a standard human observer. These non-uniform blemishes (called mura) can be identified by first applying contrast to the image. Then, the image is pre-filtered (typically with a Gaussian kernel) and then down-sampled. A contrast-sensitivity filter (CSF) is then convolved with the resulting downsampled image. Finally, a Just Noticeable Difference (JND) image is generated to show the locations of the mura. For the purposes of this study, the LED uniformity will be analyzed using the first two methods of a 3D mesh plot and maximum deviation from mean.

Experimental Setup

Power LEDs

Figure 3: Power LED Specifications [4]

iPixel LED’s 3W “warm white” (3000-3300nm) power LEDs packaged on an aluminum-backed PCB base were chosen for their availability and ease of use. According to the provided datasheet, each LED had an expected forward current of 750 mA with an absolute maximum of peak pulsed forward current of 3A. In addition, the worst-case forward voltage drop across the LED is 3.8V while the minimum voltage drop is 3.2V.

Figure 3: Power LED, coin for comparison [4]

With a 5V power supply, the circuit’s ballast resistor needed to accommodate a 1.2V drop with 750mA of current. Using standard values and +/- 5% tolerances, a 1ohm power resistor was selected. The circuit schematic follows below.

Figure 4: LED Schematic, generated with KiCad

Under these test conditions, resultant current from the test circuit was 1.1-1.3A with worst-case fluctuation of 20 mA. Furthermore, significant heat was emitted to the point that some adhesive used to secure the LED had begun to warp. Although these findings were expected, both the current fluctuation and emitted heat had to be controlled before further work could be done.

Mounting Frame

Duron hardboard was originally used as the mounting material for its ease to machine and versatility. Being composed of treated wood fibers however, Duron offered little to no dissipation of heat. To accommodate the mechanical requirement of an annulus-shaped frame while also improving its thermal dissipation, the frame’s material was changed to plate metal. To accommodate the range of radial distances needed for LED mounting, the frame was fashioned by securing two Lazy Susans together. For stability, four metal angle braces were added to ensure the frame would remain standing. A picture of the mechanical frame and the associated camera (described later) are shown below:

Figure 5: Mechanical frame

LED Driver

A DC-DC step-down converter, alternatively known as a buck converter, was used to limit and control the current supplied to the LED. Although many options were available, the AL8805 was ultimately selected. Its 6V to 36V input was within the 12V range of the lab’s power supply, eliminating the need to purchase additional test equipment. The control voltages for the IC were 2.6V to 5.5V, meaning most micro controllers could directly interface with the IC. Most importantly though, the AL8805 could tolerate up to 1A of continued switch current but could be set to a lower output current based on the feedback resistors interfaced to it. The IC was set to output approximately 350mA of current, lowering the total dissipated heat. The IC and supplementary passives were available as a PCB from Sparkfun; the board’s schematic and picture follow below:

Figure 6: Converter schematic [5]
Figure 7: Converter picture [5]

Camera

The Point Grey Flea3 USB camera was used to capture images.

Figure 8: Point Grey Flea3 [6]

Two separate configurations were used:

Configuration 1: 0.102ms shutter exposure interval, 0.000dB gain, 60.0000 fps

Configuration 2: 0.051ms shutter exposure interval, 0.000dB gain, 60.0000 fps

A second configuration was necessary due to four of the experimental conditions causing saturation of the image. To correct for this, the shutter exposure interval was reduced to 0.051ms. Although this change means there is no uniform set of camera settings, we are not aware of any work demonstrating that shutter exposure interval causes changes in uniformity of output light.

Methods

Experimental Variables

As discussed in the background section, there are three variables whose effect on uniformity are being tested: Number of LEDs: three, four, or five LEDs were placed at regular angular intervals on the annular frame; these angles were 120 degrees, 90 degrees, and 72 degrees respectively. Radial distance of mounted LEDs: the tested radial distances were 6cm, 9cm, and 12cm from the center of the annulus respectively. Target distance from lens: a piece of white posterboard was placed in front of the camera at distance of 5cm, 10cm, and 15cm away from the camera. All pictures were taken under scotopic conditions. Furthermore, the supply voltage used to power each LED was 8V.

Setup Per Trial

In total, all 27 possible combinations were evaluated.

Run # # LEDs Radial distance(cm) Target distance(cm)
Run 1 3 LEDs 6 cm radius 5 cm target
Run 2 4 LEDs 6 cm radius 5 cm target
Run 3 4 LEDs 9 cm radius 5 cm target
Run 4 4 LEDs 9 cm radius 10 cm target
Run 5 4 LEDs 12 cm radius 5 cm target
Run 6 4 LEDs 12 cm radius 10 cm target
Run 7 4 LEDs 6 cm radius 10 cm target
Run 8 3 LEDs 6 cm radius 10 cm target
Run 9 3 LEDs 6 cm radius 15 cm target
Run 10 3 LEDs 9 cm radius 5 cm target
Run 11 3 LEDs 9 cm radius 10 cm target
Run 12 3 LEDs 9 cm radius 15 cm target
Run 13 3 LEDs 12 cm radius 5 cm target
Run 14 3 LEDs 12 cm radius 10 cm target
Run 15 3 LEDs 12 cm radius 15 cm target
Run 16 4 LEDs 6 cm radius 15 cm target
Run 17 4 LEDs 9 cm radius 15 cm target
Run 18 4 LEDs 12 cm radius 15 cm target
Run 19 5 LEDs 6 cm radius 5 cm target
Run 20 5 LEDs 6 cm radius 10 cm target
Run 21 5 LEDs 6 cm radius 15 cm target
Run 22 5 LEDs 9 cm radius 5 cm target
Run 23 5 LEDs 9 cm radius 10 cm target
Run 24 5 LEDs 9 cm radius 15 cm target
Run 25 5 LEDs 12 cm radius 5 cm target
Run 26 5 LEDS 12 cm radius 10 cm target
Run 27 5 LEDs 12 cm radius 15 cm target

Results

Raw BGR Plot

The tools used to process the resultant images were the Python wrapper for OpenCV, Numpy, Scipy, and Matplotlib (including 3D extensions). All data were RGB images with dimensions of 1280 x 1024. The first method applied to analyze non-uniformity of the image was to plot the BGR value of the image along a horizontal line from the point (0, 512) to (1279, 512).

Figure 9: Sample BGR Figure converted to BGR plot

BGR Gradient Plot

A gradient was then applied to the resultant BGR signal in order to identify the set of conditions with least change in BGR value.

Figure 10: BGR plot converted to gradient BGR plot

Non-uniformity of an Area

The aforementioned approach does not account for non-uniformity across the entire image. One standard method to account for the non-uniformity of an illuminated area is described in Section 8.2 of the Information Display Measurements Standard[2]. The algorithm is described below:
1) Load the image in monochrome format
2) Calculate the RMS intensity of the entire image
3) Find the global maximum and global minimum intensity of the image
4) Calculate the maximum deviation from the mean: report the larger of difference between maximum and RMS or difference between minimum and RMS

A table of the calculated maximum deviation from the mean per run has been provided below.

Run # # LEDs Radial distance(cm) Target distance(cm) Maximum deviation from mean
Run 1 3 LEDs 6 cm radius 5 cm target 209.7
Run 2 4 LEDs 6 cm radius 5 cm target 139.6
Run 3 4 LEDs 9 cm radius 5 cm target 152.3
Run 4 4 LEDs 9 cm radius 10 cm target 104.0
Run 5 4 LEDs 12 cm radius 5 cm target 142.6
Run 6 4 LEDs 12 cm radius 10 cm target 116.8
Run 7 4 LEDs 6 cm radius 10 cm target 152.5
Run 8 3 LEDs 6 cm radius 10 cm target 190.5
Run 9 3 LEDs 6 cm radius 15 cm target 55.22
Run 10 3 LEDs 9 cm radius 5 cm target 170.1
Run 11 3 LEDs 9 cm radius 10 cm target 84.26
Run 12 3 LEDs 9 cm radius 15 cm target 154.5
Run 13 3 LEDs 12 cm radius 5 cm target 129.0
Run 14 3 LEDs 12 cm radius 10 cm target 153.1
Run 15 3 LEDs 12 cm radius 15 cm target 118.2
Run 16 4 LEDs 6 cm radius 15 cm target 134.9
Run 17 4 LEDs 9 cm radius 15 cm target 118.2
Run 18 4 LEDs 12 cm radius 15 cm target 134.7
Run 19 5 LEDs 6 cm radius 5 cm target 165.9
Run 20 5 LEDs 6 cm radius 10 cm target 115.3
Run 21 5 LEDs 6 cm radius 15 cm target 217.9
Run 22 5 LEDs 9 cm radius 5 cm target 75.68
Run 23 5 LEDs 9 cm radius 10 cm target 78.09
Run 24 5 LEDs 9 cm radius 15 cm target 66.65
Run 25 5 LEDs 12 cm radius 5 cm target 65.53
Run 26 5 LEDS 12 cm radius 10 cm target 56.37
Run 27 5 LEDs 12 cm radius 15 cm target 137.2

Configurations with Optimal Performance

The runs with maximum deviation from mean below a value of 100 are listed below and highlighted in gold: <br\> Run 9: 55.22 <br\> Run 26: 56.37 <br\> Run 25: 65.53 <br\> Run 24: 66.65 <br\> Run 22: 75.68 <br\> Run 23: 78.09 <br\> Run 11: 84.26 <br\>

3D Mesh Plots

In addition to calculating the maximum deviation from the mean for each image, the Python code renders each raw image as a 3D mesh grid with colormap Thus, the X and Y axes correspond to pixel's X and Y coordinate on the image . The colormap indicates the 8-bit encoded value for the plot.

Figure 11: 3D Mesh Plot of Run 9
Figure 12: 3D Mesh Plot of Run 26
Figure 13: 3D Mesh Plot of Run 25
Figure 14: 3D Mesh Plot of Run 24
Figure 15: 3D Mesh Plot of Run 22
Figure 16: 3D Mesh Plot of Run 23
Figure 17: 3D Mesh Plot of Run 11

Conclusions

Using the findings above, we can identify an optimal set of parameters for maximizing uniformity of output light.

Number of LEDs

Five out of the seven runs with the smallest maximum deviation from mean utilized an arrangement of five LEDs located at 72 degree angular intervals.

Radial Distance

Four out of the seven runs with the smallest maximum deviation from mean had the LEDs mounted 9 cm from the center point of the lens.

Target Distance

No one option of 5 cm, 10 cm, or 15 cm outperformed the others.

From this experiment, it appears that a configuration where five 3W LEDs are placed at 72 degree angular intervals and at a radial distance of 9 cm from the center of the lens shows consistently high uniformity across the range of distances that a point-of-contact imager would be used at.

Limitations and improvements

This work needs to be repeated over multiple trials and many different power LED units in order to ensure the validity of the results. The findings found should not be generalized for other variants of power LEDs, as uniformity of output light is device-dependent. One major improvement would be to design and fabricate a PCB with LEDs mounted. To do so, a pattern of heat-sinking vias would be needed for a PCB with FR-4 substrate while a metal-core PCB would not require such an optimization.

The collection of 3D heat maps for the top-performing configurations shows a radially-shaped region at an acute angle near the center of each heat map corresponding to lower brightness. This pattern demonstrates the varying output of each LED and also raises the question of how much the output of each LED contributes to the non-uniformity of the entire image. One future experiment would be to turn on each LED individually and measure the non-uniformity of each one’s output with respect to the non-uniformity of the entire image. The mura analysis discussed previously would be an optimal technique to characterize this non-uniformity.

Acknowledgments

I would like to thank Dr. Joyce Farrell and Dr. Henryk Blasinski for their mentorship and guidance throughout the course of the project. I would also like to thank Professor Brian Wandell and Trisha Lian for their teaching and insights.

Appendix

The project was focused on designing a lighting system capable of uniform output. In the process however, it was found that a simple smoothing filter would be able to correct for non-uniform input. A Savitsky-Golay filter with a window length of 51 elements and 3rd-order polynomial smoothed the raw BGR value to the point where the peak-to-peak value of the gradient of the BGR value was significantly reduced. This was done after the application of an RFFT found that distortion could not be isolated to specific frequencies.

Figure 17: Sample BGR Figure converted to BGR plot

The complete set of images as well as all their resulting plots are available as zip files according to the listing below.

File Name Description File Download
UniformityData.zip Camera RGB images saved as JPG files File:UniformityData.zip
raw_out.zip Plot of BGR value along horizontal line File:Raw out.zip
bgr_gradient.zip Plot of gradient of BGR value along horizontal line File:Bgr gradient.zip
bgr_diff_fft.zip Plot of RFFT applied to gradient of BGR value File:Bgr diff fft.zip
bgr_savgol.zip Savistky-Golay filter applied to BGR value File:Bgr savgol.zip
savgol_gradients.zip Gradient applied to output of Savitsky-Golay filter File:Savgol gradient.zip
meshplots.zip 3D Mesh plot of camera images File:Meshplots.zip

The Python code used to process the data and generate plots has been attached as a zip file. Two files are present: plot_gen.py and analyzer.py. plot_gen.py will generate all the plots seen above in the zip files while analyzer.py will calculate the maximum deviation from the mean. All files require the images in UniformityData.

File:NonuniformityCode.zip

References

[1]http://www.forenscope.com/products/dental
[2]https://www.amazon.com/dp/B00AY0J4OY/ref=cm_sw_r_pi_dp_B1Lqwb0FDFP5A
[3] Information Display Measurements Standard. Society for Information Display, 2012, pp. 139–149, Information Display Measurements Standard.
[4]https://www.sparkfun.com/products/13104
[5]https://www.sparkfun.com/products/13716
[6] http://gazeparser.sourceforge.net/_images/cam_FL3-U3-13Y3M-C.jpg