Free Trials

Download a free trial to find out which Altium software best suits your needs

How to Buy

Contact your local sales office to get started on improving your design environment

Downloads

Download the latest in PCB design and EDA software

  • PCB DESIGN SOFTWARE
  • Altium Designer

    Complete Environment for Schematic + Layout

  • CircuitStudio

    Entry Level, Professional PCB Design Tool

  • CircuitMaker

    Community Based PCB Design Tool

  • NEXUS

    Agile PCB Design For Teams

  • CLOUD PLATFORM
  • Altium 365

    Connecting PCB Design to the Manufacturing Floor

  • COMPONENT MANAGEMENT
  • Altium Concord Pro

    Complete Solution for Library Management

  • Octopart

    Extensive, Easy-to-Use Component Database

  • PRODUCT EXTENSIONS
  • PDN Analyzer

    Natural and Effortless Power Distribution Network Analysis

  • See All Extensions
  • EMBEDDED
  • TASKING

    World-Renowned Technology for Embedded Systems Development

  • TRAININGS
  • Live Courses

    Learn best practices with instructional training available worldwide

  • On-Demand Courses

    Gain comprehensive knowledge without leaving your home or office

  • ONLINE VIEWER
  • Altium 365 Viewer

    View & Share electronic designs in your browser

  • Altium Designer 20

    The most powerful, modern and easy-to-use PCB design tool for professional use

    ALTIUMLIVE

    Annual PCB Design Summit

    • Forum

      Where Altium users and enthusiasts can interact with each other

    • Blog

      Our blog about things that interest us and hopefully you too

    • Ideas

      Submit ideas and vote for new features you want in Altium tools

    • Bug Crunch

      Help make the software better by submitting bugs and voting on what's important

    • Wall

      A stream of events on AltiumLive you follow by participating in or subscribing to

    • Beta Program

      Information about participating in our Beta program and getting early access to Altium tools

    All Resources

    Explore the latest content from blog posts to social media and technical white papers gathered together for your convenience

    Downloads

    Take a look at what download options are available to best suit your needs

    How to Buy

    Contact your local sales office to get started improving your design environment

    • Documentation

      The documentation area is where you can find extensive, versioned information about our software online, for free.

    • Training & Events

      View the schedule and register for training events all around the world and online

    • Design Content

      Browse our vast library of free design content including components, templates and reference designs

    • Webinars

      Attend a live webinar online or get instant access to our on demand series of webinars

    • Support

      Get your questions answered with our variety of direct support and self-service options

    • Technical Papers

      Stay up to date with the latest technology and industry trends with our complete collection of technical white papers.

    • Video Library

      Quick and to-the-point video tutorials to get you started with Altium Designer

    Image Processing Embedded Systems with Modular Hardware

    Zachariah Peterson
    |  January 4, 2020

    Image processing embedded systems in action

    Image processing embedded systems can be deployed quickly thanks to modular design tools

    With advances in industrial automation, automotive technology, remote sensing, and much more, image processing is taking center stage in many embedded systems. Image processing with older video systems was difficult or impossible due to the low quality of many imaging systems with perpetual uptime. As a result, older camera systems could be developed for sensing location and motion (e.g., automated security systems), but little else could be done with the captured images due to the low video frame rates and low quality.

    Newer systems provide video with higher frame rates and higher resolution images, but these systems still needed to connect directly to a computer in order to enable any useful image processing applications. Today, newer hardware modules with specialized GPUs are enabling image processing tasks in embedded systems without a direct connection to a desktop, server, or the cloud. These embedded systems still require the right board to interface with these hardware modules, but with the right design tools, you can easily create a new board for your image processing embedded systems and deploy it at the edge.

    Image Processing Applications in Embedded Systems

    Embedded systems for advanced image processing applications, especially applications involving machine learning or AI models, require significant processing power and memory alongside high resolution video. Ideally, these capabilities should be integrated into a single package with a small form factor and plenty of onboard memory for storing data. Add to this network or wireless connectivity, and you have all the elements required for a powerful machine learning-based image processing system.

    Many designers that are looking to develop new products in this area can certainly design a custom board for their product, but there are other options available. Most development boards (e.g., Arduino) constrain your allowed form factor and functionality to modules that can be connected through standard headers or USB. You’ll also be limited to running rather simple machine learning models with low latency. This is fine for processing still images, but these simpler systems are unsuitable for video processing.

    A better route is to design a board around a more powerful GPU module. NVIDIA’s AI-specialized boards are an ideal hardware platform for building image processing embedded systems. These modules run on an ARM Cortex architecture, and the embedded software developer will find plenty of resources for building firmware for these modules. Right out of the box, they can be used to run multiple neural networks in parallel. Here are some applications you can build and run in an embedded environment with NVIDIA’s modules:

    • Image identification. This involves identifying specific features within an image. This is a fundamental part of the two image processing techniques listed below. Some common tasks include edge detection (e.g., with Canny filtering or a Laplacian) or face detection.
    • Image segmentation. This task is meant to segment an image into specific features. An excellent example is pose identification, where specific body parts in an image must be identified, and then the arrangement of those body parts is used to determine the pose of a human body.
    • Image classification. Here, images are categorized based on the features they contain. Example applications include sentiment analysis based on facial features and quality control on a production line. I recently reviewed a research article on the use of tumor detection using image classification with a neural network; this type of application could be easily deployed on one of NVIDIA’s modules.

    Image processing embedded systems for smart vehicles
    Image identification and classification using an imaging system in a smart vehicle.

    Models for these applications can be built on top of neural networks or using other machine learning techniques. There are plenty of open-source libraries you can use with your embedded system; take a look at OpenCV for Python and this tutorial for some image processing examples for embedded systems. These days, Python is the language of choice for these applications thanks to the huge number of machine learning, image processing, AI, and analytics libraries available. With a powerful GPU-based COM like the Jetson Nano, you’ll have the processing power you need to perform the image processing applications mentioned above on successive video frames with low latency.

    Board Design for Image Processing Embedded Systems

    If you’re interested in quickly deploying scalable image processing embedded systems, the Jetson Snapshot board from Gumstix is an ideal system for a variety of applications. This board includes a quad-core ARM A57 processor with 4 GB RAM, providing plenty of memory for running image processing models. This board also includes 4 slots for Jetson Nano COMs, each of which supports 4 vertical camera connectors that are compatible with the Raspberry Pi Camera Module V2. This system can then be connected to a local network using gigabit Ethernet or WiFi.

    Jetson Snapshot board for image processing embedded systems
    Jetson Snapshot board from Gumstix. This board offers up to 16 1080p 30fps video streams in a single board.

    If you need a custom board for a Jetson Nano COM, then you should look at taking a modular design approach. This allows you to build a custom board for image processing applications around a powerful GPU-based COM. You can also integrate an array of sensors, wireless communication capabilities (WiFi, LoRaWAN, ZigBee, Bluetooth, etc.), power regulation modules, and other peripherals.

    A modular design approach allows you to take advantage of standardized electrical connections between modules when designing your board. If you’re an AI entrepreneur but you’re not a PCB design expert, you can focus on designing the functionality and user experience for your product; your design tools will handle the rest. If you’re a software engineer, you can focus on developing code for your product using standardized libraries. The modular design tools in Geppetto are ideal for modular SBC design; these powerful design tools allow you to create a fully-functional, fully-manufacturable AI-based image processing solution in a matter of minutes.

    Board for image processing embedded systems in Geppetto
    An AI-capable board for image processing in Geppetto

    If you’re interested in developing image processing embedded systems with modular design tools, the Jetson Nano COM in Geppetto is a great place to start creating your next product. This particular COM packs huge processing power for cutting-edge AI and image processing applications. Geppetto also gives you access to a broad range of industry-standard COMs and popular modules, allowing you to create production ready hardware for nearly any embedded AI application.

    Take a look at some Gumstix customer success stories or contact us today to learn more about our products, design tools, and services.

    About Author

    About Author

    Zachariah Peterson has an extensive technical background in academia and industry. Prior to working in the PCB industry, he taught at Portland State University. He conducted his Physics M.S. research on chemisorptive gas sensors and his Applied Physics Ph.D. research on random laser theory and stability.His background in scientific research spans topics in nanoparticle lasers, electronic and optoelectronic semiconductor devices, environmental systems, and financial analytics. His work has been published in several peer-reviewed journals and conference proceedings, and he has written hundreds of technical blogs on PCB design for a number of companies. Zachariah works with other companies in the PCB industry providing design and research services. He is a member of IEEE Photonics Society and the American Physical Society.

    most recent articles

    Back to Home