Case Study – Welding Viewer with GPU
originally published in Vision Systems Design – How to Choose the Best Image Processing Method for Machine Vision Applications
Artemis Vision was contracted by Melt Tools (Portage, MI, USA; www.melttools.com) to design a welding viewer primarily for classroom usage. Welding involves very bright light in the middle of the field of view and dark surroundings/background, requiring high dynamic range (HDR) imaging to simultaneously reveal the background and the detail at the weld location.
The application required taking multiple exposures at different exposure times and stitching the images together to render a single frame that displays the different light levels. Thirty fps output was required to produce smooth video. The system was first prototyped on an Intel (Santa Clara, CA, USA;www.intel.com) i7 CPU. Each input frame required 30 to 35 ms to process, which meant a combined, processed frame was output every 60 to 70 ms. The speed was too slow to support a 30 fps output rate, which required 30 to 35 ms per frame, and so a CPU was not a viable platform for the application.
Moving to a multi-core server and parallelizing the algorithm was considered, as was putting the algorithm onto an FPGA. The customer wanted a system suitable for classroom usage, however, so the system required construction with hardware already present in the engineering classroom.
The computers in the classroom had fairly powerful GPUs to render images for engineering software. The option of putting the HDR algorithm onto the GPU made the most sense.
The algorithm was implemented in CUDA onto a middle-of-the-road NVIDIA graphics card. The GPU processed a frame in 5 to 6 ms and copied a frame to GPU memory in another 5 to 6 ms. No additional hardware other than the camera itself was required to create the welding viewer.