KuvioVision™ is a unique vision platform without the limitations of conventional machine vision systems. At the core of the platform is the KuvioVision™ Application Engine. It is responsible for the execution and synchronization of all events in the build time (Application Builder) and run-time (Application Manager) environment. It seamlessly integrates these two environments.
All Tools in the KuvioVision Platform operate independently. The platform automatically schedules the execution of each Tool. Unlike traditional machine vision systems, in which execution order is specified by the programmer, the KuvioVision Platform uses a declarative model in which the user only describes the dependencies between tools when graphically building an application. Applications are represented by a Graph. This Graph and the Tools in it are a representation of the machine vision algorithms and of the code that the Application Engine executes. The Graph represents the dependencies between the Tools, but doesn't define the execution order. The execution is triggered by an event such as an image or parameter input. With sufficient processing resources, all Tools can be executed simultaneously; Tools earlier in the Graph can be processing the next event while Tools later in the Graph are still processing the previous event.
The advantage of this model is that it automatically utilizes all available computation resources by changing execution order at run time based on system load. The KuvioVision Platform analyzes each application and assigns appropriate processing resources to each Tools within the application based on the processing resources available in the run-time hardware. If the application is executed in a PC, processing is automatically divided between all processors and all cores available on the PC. If the application is executed in smart cameras or embedded devices with multiple types of processors that have multiple cores, processing is automatically divided between the available cores of the appropriate processors. The platform adapts to changing workloads and automatically resolves bottlenecks by executing multiple copies of a single Tool in parallel on different cores and/or processors.
- Execute in any Hardware
- Optimize Cost
- Optimize Performance Automatically
- Seamless Integration from SoC to Cloud