RVM Challenges and Solutions
 
     
      
  Index 
        RVM Home 
      Applications 
  Challenges        
      Hardware   
      Software 
      People 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
During the last two decades a large number of specialized machines have been used at CMU to solve vision problems.  These machines have included special-purpose vision machines such as those made by DataCube and Cognex, MIMD machines based on the Warp, iWarp, i860, and C40 processors, SIMD machines such as the 8192 processor MasPar, and the CMU Stereo Machine.  All of these machines have offered advantages over the workstation class machines of their time but all of them have also shared some common failures.  We hope to built a high performance system which avoids many of the pitfalls of its predecessors.  To this end, we have made the four following issues the main focus of our research.
 
 
Flexibility  Most specialized machines used for computer vision are particularly good at some tasks but are much less capable of others.  This is particularly true of machines such as those made by DataCube or Cognex which are designed to address a certain class of vision applications.  More general-purpose machines such as multi-processors often have architectural limitations which make them inappropriate for some vision algorithms.  The MasPar, for example, provided excellent performance on localized vision operations, but was not good at performing global operations.  

We have addressed this problem in the RVM system by giving it an extremely flexible and modular architecture.  Users can select any combination of processors and other modules and can connect them in almost any configuration to meet their needs. 
 

Programmability     Most of the machines mentioned above are programmable in C.  However, in almost every case, programming these machines requires many special techniques.  The MasPar, for example, uses a modified version of the C language and a very different programming methodology than conventional machines.  This makes many people reluctant to use the machine and greatly increases development time.  Likewise, getting good performance out of DSP-based multiprocessors requires a complete understanding of the DSP architecture and often considerable amounts of assembly language programming. 

While the RVM can be programmed in C, we are also developing a sophisticated graphical programming tool.  This tool allows the user to create a vision algorithm in a simple, hardware-independant way using an intuitive PC windows interface.  The tool then automatically suggests an RVM system to run the algorithm and automatically writes the C code needed by the system.  When new modules and processors become available, the tool can automatically generate code for them as well.  This means that as the hardware evolves, your algorithms do not need to change. 
 

Packaging The machines which are used to solve high performance vision problems are usually machines which are on the cutting edge of technology.  Typically, the designers of these machines have not been concerned with their size, wieght, reliability, or power consumption.  The Maspar and CMU Stereo Machines, for example, were installed on CMU's robot HumVee's but required large racks and big generators to support them.  For all their power, these machines were impractical in a real-world environment. 

The RVM system has been designed from the start with real-world use in mind.  The individual modules are very small (3.3 x 2.8 cm) and a powerful 12 module system occupies only 2 small motherboards (22 x 24 cm).  The modules themselves make heavy use of high-reliability, low-power CMOS and 3.3 volt surface mount components.  Critical external connections are protected by opto-isolators and the temperature of the boards is monitored by an on-board sensor.  Boards and connectors are held in place by screw locks to prevent disconnection under heavy vibration.  The physical reliability of the system has been proven in the very high-G vibration environment of CMU's autonomoous helicopter. 
 

Performance Since the performance of inexpensive commodity desk-top machines grows continually, High Performance Vision is a moving target.  A vision problem requiring expensive, specialized hardware in 1990 can now be solved easily by a $1000 PC.  Most of the specialized machines we have used for High Performance Vision applications in the past have rapidly become obsolete and have ended up on the scrap heap in a matter of only 2 or 3 years. 

One of the greatest challenges in designing the RVM system has been to produce a machine which can keep pace with the rapid changes in the computer industry.  Our modular design makes it possible to update the machine to take advantage of new technology as it becomes available.  During the course of the project, for example, we have gone through three different DSP processors without substantially altering the design of the system as a whole.