Rob Webb, Technical specialist at STEMMER IMAGING UK, tells you all about how to tune your machine vision system in order to meet these specific requirements with a minimum of effort:
Quality AND Quantity - Wow, that’s a lot of data
The continued desire for higher resolutions and higher frame rates leaves many engineers with the headache of how to handle seemingly simple tasks such as converting raw Bayer data into an RGB image.
Take the latest cameras from JAI as an example. The JAI Spark SP-20000C CXP has an image resolution of 20 megapixels and it runs at 30 frames per second. This is almost 600 Megabytes/sec before you do anything else! “No problem,” you say “I can transfer this to the host PC and then process the Bayer information into RGB there.” But this is going to seriously stress out the CPU.
“Fine, then I’ll do the Bayer to RGB on the frame grabber.” Well, yes you can, but consider that you will be tripling the data to just short of 1.8 Gigabytes/sec and this data needs to be transferred to the host PC. That is beyond what many entry level PCI Express x4 frame grabbers can handle (despite what the datasheet may say).
Fortunately there is an answer, so you can keep reading.
Silicon Software’s new range of frame grabbers offer unparalleled performance. The forthcoming Marathon ACX frame grabber offers transfer rates up to 1.8 Gigabytes/sec. Taking our JAI camera example the colour can be processed into a 24 bit RGB image in real-time and transferred to PC memory without any loss of data or CPU usage. There is also a higher quality Bayer conversion algorithm to really zhoosh up your image and bring out detail you may otherwise lose.
That isn't enough? Take the chance and upgrade to the microEnable 5 Ironman ACX and, with its 3.6 Gigabytes/second bandwidth, this processing can be done on two cameras into one frame grabber or a single camera with 10 or 12 bit Bayer data. Nice!
Results NOW - Opening up the throttle on your processing
There are some applications out there that require some serious processing power. Anything from a long chain of the more common image pre-processors and algorithms to a massive filter doing things only the more mathematically gifted among us can conceive or understand.
Such processes running on a CPU might be slow, or even need to be split across multiple CPUs and PCs and in the worst case might just cause things to melt. “You need to invest in some cryogenics” is rarely a welcome suggestion.
Hold fire on that request, you might be able to solve this problem by performing the processing on an FPGA (Get more information: Introduction to FPGA acceleration)
Take this scenario as an example. A Sobel filter (often used as pre-processing for pattern matching) on a large image, for example the Allied Vision Prosilica GT-6600 29 megapixels, can take hundreds of milliseconds running on a CPU – and then you need to perform the actual pattern matching as well. It is rare to find an application where a customer only needs to inspect one widget a second. Even if they do you can bet it’ll increase to two or three parts a second a year later, so you need scalable performance.
Running the same Sobel filter on the same resolution image on an FPGA, taking advantage of parallel processing, it is a real-time process. Really.
The Silicon Software’s soon to be released Marathon V series and the microEnable 5 Ironman V series (that’s the letter ‘V’ not a Roman numeral) offer not just acquisition but also FPGA processing. So in this little example the processing can be offloaded from the CPU to an off-the-shelf frame grabber providing real time processing and greatly reduced loading on the CPU. Oh, and that means fewer CPUs or PCs and no cryogenics and the potential for higher throughput.
Even better the FPGAs are programmed by the user via a comprehensive graphical design environment called Visual Applets. So you can change, adjust and recreate the processing to your heart’s content as and when the application requires it. Talk about versatile!
Reductions - data, power, size and costs
Applications such as 3d profiling or pick and place require only point data for processing. If you have a massive great big image or loads of medium resolution images it seems crazy to be transferring this from the frame grabber to the PC when you could transfer only the relevant point information.
Let’s look at another example, this time line scan, to see this as a real world scenario. Working with a high resolution, high speed line scan camera such as Teledyne DALSA’s Piranha 4, an application may simply be looking for tiny holes in a continuous material. Pretty mundane but for some this is super critical. Using backlighting any holes will appear in the image as a white spot on a black image. If the sensor is 8,000 pixels across and running at a line rate of 70 kHz the system generates 560 Megabytes per second. And there might only be one hole in the image. That might be just a couple of pixels out of 560 million. Do you really want to transfer all of that to the host? At the very least if you do need the entire image it could be binarised.
Using the power of the FPGA on the Silicon Software frame grabbers this can be achieved. You could convert the image to a binary image and reduce the bandwidth by 8 times to just 72 Mbytes/second. And if you really only need the position of our tiny hole, the co-ordinates of the hole are all that need to be extracted and sent. That’s a couple of bytes.
You could run an application on your dusty old 386 PC you have kept for some reason. Okay, that’s not really practical but this does mean the application could run on small low cost, low power compact platforms. Just think how much this could save your back let alone your budget.
So to finish, below is a summary of advantages in using the Silicon Software frame grabbers plus a few extras if these do not float your boat.
If you have an application that could benefit from the use of a Silicon Software frame grabber, please contact our sales team.
Ask our expert! He knows everything
I'm Rob Webb, Technical Specialist at STEMMER IMAGING. You want to speed up your vision system? You can't handle the huge data amounts of your high frame rate camera? I'm happy to help with any question. Just tell me your requirements and we will find a solution.