Why read this article?
Generic reason: Compact overview of machine vision software categories and functionality.
Cost-driven reason: Discover that powerful software comes bundled at no cost to users of Teledyne DALSA cameras and frame grabbers. Not just the a viewer and SDK – though of course those – but select image processing software too.
Software – build or buy?
Without software machine vision is nowhere. The whole point of machine vision is to acquire an image and then process it with an algorithm that achieves something of value.
Whether it’s presence/absence detection, medical diagnostics, thermal imaging, autonomous navigation, pick-and-place, automated milling, or myriad other applications, the algorithm is expressed in software.
You might choose a powerful software library needing “just” parameterization by the user – or AI – or a software development kit (SDK) permitting nearly endless scope of programming innovation. Either way it’s the software that does the processing and delivers the results.
In this article, we survey build vs. buy arguments for several types of machine vision software. We make a case for Teledyne DALSA’s Sapera Software Suite – but it’s a useful read for anyone navigating machine vision software choices – wherever you choose to land.
Third-party or vision library from same vendor?
Third-party software
If you know and love some particular third-party software, such as LabView, HALCON, MATLAB, or OpenCV, you may have developed code libraries and in-house expertise on which it makes sense to double-down. Even if there are development or run time licensing costs. Do the math on total cost of ownership.
Same vendor for camera and software
Unless the third-party approach described above is your clear favorite, consider the benefits of one-stop shopping for your camera and your software. Benefits include:
- License pricing: SDK and run-time license costs are structured to favor the customer who sourced his cameras and software from the same provider.
- Single-source simplicity: Since the hardware and software come from the same manufacturer, it just works. They’ve done all the compatibility validation in-house. And the feature naming used to control the camera fully aligns with the function calls used in the software.
- Technical support: When it all comes from one provider, if you have support questions there’s no finger pointing.
You – the customer/client – are the first party. It’s all about you. Let’s call the camera manufacturer the second party, since the camera and the sensor therein are at the heart of image acquisition. Should licensed software come from a third party, or from the camera manufacturer? It’s a good question.
Types/functions of machine vision software
While there are all-in-one and many-in-one packages, some software is modularized to fulfill certain functions, and may come free, bundled, discounted, open-source, or priced, according to market conditions and a developer’s business model. Before we get into commercial considerations, let’s briefly survey the functional side, including each of the following categories in turn:
- Viewer / camera control
- Acquisition control
- Software development kit (SDK)
- Machine vision library
- AI training/learning as an alternative to programming
Point of view: Teledyne DALSA’s Sapera software packages by capability
Viewer / camera control – included in Sapera LT
When bringing a new camera online, after attaching the lens and cable, one initially needs to configure and view. Regardless of whether using GigE Vision, CameraLink, CameraLink HS, USB3 Vision, CoaXpress, or other standards, one must typically assign the camera a network address and set some camera parameters to establish communication.
A graphical user interface (GUI) viewer / camera-control-tool makes it easy to quickly get the camera up and running. The viewer capability permits an image stream so one can get the camera aligned, adjust aperture, focus, and imaging modes.
Every camera manufacturer and software provider offers such a tool. Teledyne DALSA calls theirs CamExpert, and it’s part of Sapera LT. It’s free for users of Teledyne DALSA 2D/3D cameras and frame grabbers.
Acquisition control – included in Sapera LT
The next step up the chain is referred to as acquisition control. On the camera side this is about controlling the imaging modes and parameters to get the best possible image before passing it to the host PC. So, one might select a color mode, whether to use HDR or not, gain controls, framerate or trigger settings, and so on.
On the communications side, one optimizes depending whether a single camera is on the databus, or if bandwidth is being shared. Any vendor offering acquisition control software has provide all these controls.
Those with Sapera LT can utilize Teledyne DALSA’s patented TurboDrive, realizing speed gains of x1.5 to x3, under GigE Vision protocol. This driver brings added bandwidth without needing special programming.
Software development kit (SDK) – included in Sapera LT
GUI viewers are great, but often one needs at least a degree of programming to fully integrate and control the acquisition process. Typically one uses a software development kit (SDK) for C++, C#, .NET, and/or Standard C. And one doesn’t have to start from scratch – SDKs almost always include programming examples and projects one may adapt and extend, to avoid re-inventing the wheel.
Sapera Vision Software allows royalty free run-time licenses for select image processing functions when combined with Teledyne DALSA hardware. If you’ve just got a few cameras, that may not be important to you. But if you are developing systems for sale to your own customers, this can bring substantial economies of scale.
Machine vision library
So you’ve got the image hitting the host PC just fine – now what? One needs to programmatically interpret the image. Unless you’ve thought up a totally new approach to image processing, there’s an excellent chance your application will need one or more of edge detection, bar code reading, blob analysis, flipping, rotation, cross-correlation, frame-averaging, calibration, or other standard methods.
A machine vision library is a toolbox containing many of these functions pre-programmed and parameterized for your use. It allows you to marry your application-specific insights with proven machine vision processes, so that you can build out the value-add by standing on the shoulders of machine vision developers who provide you with a comprehensive toolbox.
No surprise – Teledyne DALSA has an offering in this space too. It’s called Sapera Processing. It includes all we’ve discussed above in terms of configuration and acquisition control – and it adds a suite of image processing tools. The suite’s tools are best understood across three categories:
- Calibration – advanced configuration including compensation for geometric distortion
- Image processing primitives – convolution functions, geometry functions, measurement, transforms, contour following, and more
- Blob analysis – uses contrast to segment objects in a scene; determine centroid, length and area; min, max, and standard deviation; thresholding, and more
So unless you skip ahead to the AI training/learning features of Astrocyte (next section), Sapera Processing is the programmer’s comprehensive toolbox to do it all. Viewer, camera configuration, acquisition control, and image evaluation and processing functions. From low-level controls if you want them, through parameterized machine vision functions refined, validated, and ready for your use.
AI training/learning as an alternative to programming
Prefer not to program if possible? Thanks to advances in AI, many machine vision applications may now be trained on good vs. bad images, such that the application learns. This enables production images to be correctly processed based on the training sets and the automated inference engine.
Teledyne DALSA’s Astrocyte package makes training simple and cost-effective. Naturally one can combine it with parameterized controls and/or SDK programming, if desired. See our recent overview of AI in machine vision – and Astrocyte.
1st Vision’s sales engineers have over 100 years of combined experience to assist in your camera and components selection. With a large portfolio of cameras, lenses, cables, NIC cards and industrial computers, we can provide a full vision solution!
About you: We want to hear from you! We’ve built our brand on our know-how and like to educate the marketplace on imaging technology topics… What would you like to hear about?… Drop a line to info@1stvision.com with what topics you’d like to know more about.