AI technology is quickly changing how devices interact with the world. Traditionally, a programmer has to predetermine how a system will react to the various and unpredictable circumstances that can arise in real-world scenarios. With AI, a model can be trained that captures desired reactions in such a way that the model can reliably provide desired reactions to circumstances that were never anticipated.
One challenge for developers new to AI is customizing an AI implementation for their application. Unless a specific application has enough volume to justify its own board implementation, off-the-shelf AI boards tend to focus on general-purpose effectiveness. They will have resources and interfaces that are not required for every application, thus increasing cost unnecessarily.
For example, developer kits like the Jetson Nano Developer Kit are a great way to become familiar with creating a basic AI implementation. The Jetson Nano comes with a variety of interfaces, making it straightforward to get a test system up and going in a very short time. The kit serves as an excellent starting point for a wide range of diverse applications, from sensor processing to video analysis to sound processing and beyond.
However, once you understand how to build a general AI system, you’ll want to start development of your application using a prototype that will resemble final production hardware as closely as possible. This is particularly important when moving AI out to the edge.
The cost, availability, and scalability of GPUs in the cloud is extremely flexible. If you aren’t getting the responsiveness you need or you discover your model needs more data than originally thought to process effectively, you can easily allocate more cloud resources.
Not so at the edge. At the edge you need to determine the optimal mix of resources if you want to balance cost, performance, and accuracy. Ideally, you need a system that downscales easily without forcing extensive hardware changes as a result.
Note that components like sensors, cameras, interfaces, memory, and MCUs that make up the rest of the application impact ease of design as well. This is because at some point you need to integrate your AI system with the rest of the application.
Consider the cascading changes required if you discover you need to increase the video image size to achieve what you what. The AI model now has to work with a different size image, completely changing the performance and memory requirements of the entire system. Furthermore, you’ll need to integrate a new camera seamlessly with your existing firmware, hopefully avoiding the need for a firmware rewrite. Balancing and then optimizing this new combination of resources will take time as well. Now imagine you need to add a second camera and increase the effective frame rate.
This integration stage can be extremely time-consuming and frustrating if you have to do it manually. For example, camera drivers, even from the same vendor, are often not interchangeable; you’ll still need to do extensive testing to confirm the new driver performs exactly like the previous one did.
A custom platform approach to design like Geppetto can reduce your development time tremendously. With Geppetto, you can drag-and-drop proven blocks of functionality into your custom board. For AI applications, you can start with the Jetson Nano and strip off any functionality you don’t need. You can then add in sensors, interfaces, processors, and other circuitry from extensive module libraries to build out a custom module optimized for your application.
A key advantage of this approach is that you can cost-effectively run off a few boards for initial developing and testing. If you determine you need more processing – or less – you can easily adjust your design without having to design a completely new system.
Furthermore, your custom board comes with OS and drivers pre-integrated. You don’t have to get all the components working together because we’ve already done that for you.
AI technology is truly just a few clicks away. Visit Gumstix to learn more.