Integration Corner: Secure Vision
I got my first job in machine vision at a company called Control Automation in 1984. I had just graduated from college and like many a good mechanical engineer with an interest in software, I wanted to go to work in robotics.
My job, however, quickly led me into machine vision, since our newest product was to be a machine for inspecting printed circuit boards, the Interscan 1500. It came to have five charge-coupled device (CCD) cameras mounted underneath a circuit board with a programmable lighting package. The cameras looked for component wires protruding from the underside of the board-Yes, Junior, this is the way we used to do it.
We designed our own frame grabber and I/O boards, and I spent the next few years developing software algorithms and coding them for the goodies of the day, parallel processors, array processors, and ultimately, even a new hardware monster called a PC.
So what did we use for cameras? Henry Ford used to say that you could have any color Model-T you wanted, so long as it was black. And back in 1984, unless you wanted to spend a fortune, you could have any machine vision camera you wanted-so long as it was a Pulnix security camera.
The way it was explained to me, the volume was simply too low in machine vision to justify the development of specialty cameras for machine vision. The volume was in security, so we machine vision guys were just going to have to figure out how to do what we needed with security cameras.
And we did. And the camera manufacturers proliferated and responded somewhat, too. Cameras became more specialized and expensive, resolutions went way up and interfaces became standardized.
In the 1980s, we started leaning away from analog interfaces for digital ones. In the 1990s, we started using standardized digital interfaces including USB, FireWire, Camera Link and Ethernet. And in the 2000s, we moved strongly toward “smart cameras,” in which the image analysis computer is inside the camera.
And what about today? If you are a digital camera manufacturer, the huge market now is consumer photography. Millions of high- resolution digital cameras are sold for fun and recreation each year.
Machine vision is primarily addressed through smart camera technology now. Many industrial applications fall into simple categories such as part presence/absence, gaging, code reading or robot guidance, and these applications can almost always be done with an off-the-shelf smart camera. But the monster industrial application is still security. And now we have something relatively new in the security arena: smart security cameras.
Smart security cameras, often called IP cameras for the TCP/IP that they use to carry information over the Ethernet, offer an old industry a new way into some machine vision applications.
I just completed an application using the new IP camera line from Basler. This is a line of color cameras from 640 by 480 resolution up to 1,600 by 1,200. The cameras run a Java-based Web application that allows streaming image display and camera configuration from inside any browser. You just plug them into an Ethernet 10/100 network and you’re up and running.
Basler takes advantage of a zero-configuration networking technology called Bonjour from Apple. This is a free driver that allows your PC to find all of the Basler cameras it is connected to without straining your brain on IP address selection, and it works like a charm. Because you only need a browser to see live video and configure operations, the cameras are automatically compatible with any version of Windows, any version of Mac OS, and any version of Linux, which is pretty sweet.
The cameras feature:
• Progressive scan. No alternating fields of video like older security cameras that blur motion in funky and unsettling ways, often turning a 640 by 480 camera into something only useable at 320 by 240.
• Image quality control. Set up exposure control and white balance adjustment regions through your browser. And the cameras control DC auto iris lenses to help get even more dynamic range than one normally can.
• Image compression. JPEG and MPEG image compression is performed in the camera so data flow on the Ethernet can be tuned and managed in multiple-camera applications. Images also can be scaled down, or specific image sub-regions chosen, to further limit bandwidth requirements. Your IT gal can optimize your vision application.
• Motion detection. Select one or more regions to watch. Select a number of frames to watch it over, and let the camera be your part-in-place detector. Then use that camera to trigger more cameras if you have a multi-view acquisition.
• Image management. When a trigger happens from any source, send images to your e-mail address or an http-based Web server or ftp site. And do it directly from the camera, without the need to interpose software, or even a PC, in-between.
• Power over Ethernet (PoE). Buy a PoE network switch and the only cable that goes to the camera is an inexpensive Ethernet cable that can be up to 100 meters long.
How can you use such cameras for machine vision? You lean on a “new” technology called cloud computing in which heavy lifting is done by a computer in the network-when I was a kid, we called this sort of computational architecture a mainframe.
1. The cameras get motion or physical triggers and take images when required.
2. The images transit the network and arrive via ftp in a specified directory.
3. A service program running on that computer notices the file.
4. The image is opened, analyzed and actions taken.
5. The file is deleted or archived to another directory.
In my application, these cameras saved me two weeks of high-risk, fully custom software development. And I got about three weeks farther on user interface than I had imagined I would.
Will security IP cameras work for all machine vision applications? Of course not-the rank-and-file machine vision application often needs specialty image processing that these security cameras cannot provide. But today, dedicated machine vision smart cameras often do these rank-and-file jobs. If your application really just involves image capture and management, or less time-critical after-the-fact image analysis or measurement, why not stand on the shoulders of giants and let the camera do more of the work for you?