Vision Workbench 1.0

k10-camera

If you ever wonder what I do at work all day, today is your lucky day. One of my main projects, the Vision Workbench, has reached a major milestone: it is now available online as an open-source project! You can check out the official website if you follow the link below:

If you want to get a flavor for what the Vision Workbench is all about, I recommend you read the short indroductory chapter of the accompanying documentation, the Vision Workbook. However, to quickly summarize, the Vision Workbench is a C++ computer library for image processing and computer vision researchers. It can do very simple things (blur/sharpen images or adjust an image’s color balance) plus some things that are more complex (object tracking, high dynamic range imaging, and blending several large satellite images together, e.g. for viewing in Google Earth). We use it internally as the foundation for all of our computer vision code including my 3D stereo image processing stuff (building 3D models of Mars from satellite imagery). By releasing the source code, we are hoping to make it easier to collaborate with our contacts at other NASA centers and in industry.

The Vision Workbench is a very low-level tool: it’s a software library which means that it is a collection of useful functions and data structures that a software developer might use when building their own application. You can think of it as a handy toolkit that can save an engineer a lot of time and effort because they don’t have to re-invent all of the image processing machinery that we have provided. The thing that we feel really sets the Vision Workbench apart is that is elegantly designed and easy to work with: it’s syntax and programming idioms (we use a lot of C++ templates) allow you to express an computer vision algorithm in a language almost identical to how it is presented in the textbook, and this saves time when you are prototyping a new idea. Programming using the VW is a lot like working with MATLAB, except you get the speed that comes with running native C++ code.

Now that this project has been wrapped up, things are starting to wind down for the holidays. This will bring a welcome period of vacation and relaxation. I will be in Los Alamos this year from the 20th-28th, so give me a call if you will be in the New Mexico area during that time.

Happy Holidays!