Embedded vision technology - great potential, to be developed

The term "embedded vision" refers to the use of computer vision technology in embedded systems. In other words, "embedded vision" refers to an embedded system that extracts the meaning behind it from visual input. Similar to the popularity of wireless communication technology in the past 10 years, embedded vision technology is expected to be widely used in the next 10 years. In the actual application system, how can embedded vision technology realize its true potential?

In the absence of common standards to hinder the development of embedded vision technology, a standard compatible with all levels of functionality is needed to truly open and popularize embedded vision applications. For example, if a gesture-based user interface becomes popular, it will become important for the user to be able to use a common set of gesture functions with a variety of different mechanisms. And if 3D imaging becomes a common tool for visual applications, then no matter what sensor is used, we will have to find a common way to reproduce 3D graphics data for visual applications.

For processors used in embedded vision systems, visual algorithms and applications greatly extend the range of processor performance requirements. In terms of computing power, processor performance is critical. But when you cross the gap between academic research and the actual system, using advanced algorithms to perform video input on the fly, it inevitably consumes a lot of processing power. In many embedded systems, designers face stringent constraints such as size, power, and cost, so it's critical to be able to provide adequate processing power at low cost and low power.

And in other embedded processing areas that require a lot of computing -- such as consumer video devices that come to my mind -- to some extent, algorithms are standardized. This means that chip designers can use a fixed-function hardware accelerator and co-processor to deliver a large amount of processor performance at low power and low cost.

However, in visual applications, different algorithms often use different algorithms, and even in the same application, the algorithms used may vary depending on the design or time. Therefore, in addition to a very small number of large-scale applications, fixed-function hardware is often not a solution. In embedded vision systems, we need processors that deliver billions of real-time processing performance per second with low cost and low power consumption, and flexible programmability. In the past few years, such processors have been available, and can help embedded visual technology to be further introduced into mainstream applications.

Embedded vision

Processor category selection

Visual algorithms usually require a lot of computing power. Of course, all embedded systems are generally limited by strict cost and power requirements. In other DSP applications, such as digital wireless communications, chip designers use dedicated coprocessors and accelerators to perform the demanding processing tasks required by the application while meeting high performance, low cost, and low power requirements. This problem has been solved. However, chip users generally cannot program these coprocessors and accelerators.

Wireless applications are generally able to accept these advantages and disadvantages, and wireless application standards mean that there is a strong commonality between algorithms used by different device designers. However, in visual applications, there is no standard constraint on the choice of algorithm. Instead, there are many options for solving a particular visual problem. Therefore, visual algorithms are very diverse and tend to change rapidly over time. As a result, visual applications are less prone to non-programmable accelerators and coprocessors than applications such as digital wireless and compression-based consumer video devices.

But it is difficult to achieve high performance, low cost and low power consumption as well as programmable functions. Dedicated hardware typically achieves high performance at low cost, but is less programmable. The general-purpose CPU has programmability, but the performance is poor, the cost performance is not high, and the energy efficiency is low. Highly demanding embedded vision applications typically use multiple processing units in combination, for example, may include:

• Universal CPU for heuristic complex decisions, network access, user interfaces, storage management, and overall control.

● High-performance digital signal processor for real-time medium-rate processing, less complex algorithms, etc.

• One or more highly parallel engines for simple algorithm pixel rate processing.

Any processor can theoretically be used for embedded vision, and the most likely types are:

●High-performance embedded CPU

●Special Standard Products (ASSP) combined with CPU

● Graphics processing unit (GPU) with CPU

● Digital signal processor with accelerator and CPU

●Mobile "application processor"

● Field programmable gate array (FPGA) with CPU

Various processors and their key advantages and disadvantages in embedded vision applications

Embedded vision

High-performance embedded CPU

In many cases, embedded CPUs do not provide enough performance to implement the more demanding visual algorithms - nor can they meet performance requirements at an acceptable price or power consumption. In general, memory bandwidth is a key performance bottleneck because visual algorithms typically use large amounts of data and do not repeatedly access the same data. Embedded CPU memory systems cannot be designed to accommodate this type of data flow. However, similar to most processors, the performance of embedded CPUs is gradually increasing over time, and in some cases, provides sufficient performance.

Whenever possible, there are good reasons to run visual algorithms on the CPU. First, most embedded systems require a CPU to implement various functions. If the required visual functions can be implemented by such a CPU, this reduces the complexity of the system compared to a multi-processor solution. Moreover, most of the visual algorithms were originally developed on a PC using a general purpose CPU and its associated software development tools. The similarity between the PC CPU and the embedded CPU (and its associated tools) means that it is generally easier to implement visual algorithms on the embedded CPU by embedding than other types of embedded vision processors. Finally, embedded CPUs are generally simpler to use than other types of embedded vision processors because of their relatively straightforward architecture, sophisticated tools, and other application development foundation support platforms, such as operating systems.

CPU-integrated ASSP

ASSP is a dedicated, highly integrated chip tailored for specific applications or professional applications. ASSPs can use CPUs or use separate CPU chips. With specialization, ASSPs typically have superior cost and energy efficiency compared to other types of processing solutions. Among other technologies, ASSPs increase efficiency by using dedicated coprocessors and accelerators. Moreover, since ASSPs are mainly focused on professional applications, a large amount of application software is usually required.

This specialization makes ASSP very efficient, but it also brings a lot of limitations: lack of flexibility. ASSPs designed for an application are generally not available for other applications, even for application-related applications. ASSP uses a unique architecture that is more difficult to program than other types of processors. In fact, some ASSPs do not support user programming. Another consideration is the risk issue. ASSPs are typically provided by small vendors, which may increase the risk of having to provide chips, or fail to provide follow-up products to help system designers update their designs, and designers have to design from scratch.

GPU with CPU

GPUs are primarily used for 3D graphics, and more and more are used to implement other functions, such as visual applications. Currently, the GPU of a personal computer tends to be programmable, and other functions can be performed in addition to 3D graphics. This type of GPU is called a "universal GPU" or "GPGPU." The GPU has strong parallel processing capabilities. They are unique on personal computers. GPU software development tools are free to use, and programming from GPGPU is not very complicated. For these reasons, developers who first developed their computer vision algorithms on a PC typically use the GPU as a parallel processing engine, which they need to accelerate the execution of the algorithm for simulation or prototyping purposes.

The GPU is tightly integrated with the general purpose CPU, sometimes on the same chip. However, one limitation of GPU chips is that there are currently limited types of CPUs that can be integrated, and CPU operating systems that support such integration are also limited. Currently, low-cost, low-power GPUs designed for products such as smartphones and tablets are available. However, these GPUs are generally not GPGPUs, so in addition to 3D graphics, it is very difficult to use them in other applications.

Digital signal processor with accelerator and CPU

Digital signal processors are microprocessors dedicated to signal processing algorithms and applications. For tasks such as signal processing at the heart of visual applications, this specialization makes digital signal processors much more efficient than general purpose CPUs. Moreover, digital signal processors are relatively mature and more convenient to use than other types of parallel processors.

However, while digital signal processors are more efficient and efficient than general-purpose CPUs in visual algorithms, it is still difficult to provide sufficient performance to meet the algorithm requirements. For this reason, DSPs typically require one or more auxiliary coprocessors. Therefore, a typical DSP chip in a vision application includes a CPU, a digital signal processor, and multiple coprocessors. This heterogeneous combination produces good performance and high efficiency, but it is also difficult to program. In fact, DSP vendors generally do not support users to program coprocessors; instead, they let the coprocessor run a library of software functions developed by chip vendors.

Mobile "application processor"

Mobile "application processors" are highly integrated chip systems that are typically designed primarily for smart phones, not other applications. Application processors typically include high-performance CPU cores, as well as various special coprocessors such as digital signal processors, GPUs, video processing units (VPUs), 2D graphics processors, and image acquisition processors.

These chips are specifically designed for battery-powered applications and are therefore very energy efficient. Moreover, as applications around smartphones and tablets become more important, mobile application processors typically have a strong base for software development support, including low-cost development boards, Linux and Android ports. However, as discussed in the previous section on digital signal processors, dedicated coprocessors in application processors are generally not user programmable, limiting their development in visual applications.

FPGA with CPU

FPGAs are flexible logic chips that can be reconfigured at the gate and module levels. This flexibility allows users to customize the computing structure to meet application needs at any time. It also supports the selection of I/O interfaces and on-chip peripherals that meet the needs of the application. The ability to customize the computing structure, combined with a large number of resources in modern FPGAs, while achieving high performance and good cost performance and energy efficiency.

However, using FGPA is actually a hardware design feature, not a software development effort. The FPGA design is typically done at the register transfer level (RTL) using a hardware description language (Verilog or VHLD), which is a very low level of abstraction. This makes FPGA design time consuming and costly compared to using other types of processors discussed in this article.

Even so, the use of FPGAs is becoming more and more convenient, which is caused by many factors. First, it's the so-called "IP Module" library, a library of reusable FPGA design components that is becoming more powerful. In some cases, these libraries can directly meet visual algorithm requirements. In other applications, they also support features such as video I/O ports or scan line buffering. Moreover, FGPA vendors and their partners offer an increasing number of reference designs – reusable system designs using FPGAs for professional applications. Finally, with advanced synthesis tools, designers use high-level languages ​​to implement vision and other algorithms in FPGAs, and are more efficient. Users can achieve a relatively low performance CPU in the FPGA. Moreover, in a small number of applications, FPGA manufacturers integrate high-performance CPUs into their devices.

Usb Mini Fan, a ideal design for both outdoor or in office or at home. You don`t need to worry about the high temperature in summer when you have this Mini Fan . As a mini fan, you can take it in your bag to anywhere. And it can cool you down when you are hot.

Strong wind and no noise: The Mini Handheld Fan uses a brushless DC motor to provide strong wind while quiet, energy-saving and stable operation. The maximum rotating speed of the fan is about 3520 rpm which is enough to keep you cool, works by accelerating airflow, low noise, giving you a cool and wonderful summer.

Adjust speed: Our mini Portable Fans have 3 adjustable speeds, press the power button repeatedly to adjust the appropriate fan speed you need.

With USB cable: USB port rechargeable, powered by lithium polymer battery, our Mini Usb Fan comes with usb cable which can be charged with computer, power bank , mobile power and other devices.

Ideal design and portable solution: The size of the mini handy fan is 206*85*235mm, easy to take.

Usage: Including outdoor using, you also can use this Handheld Fan in office or at home to put it on the desk. With low noise and smooth wind, others will be not disturbed.

Mobile phone holder: This handy mini desk fan is also a mobile phone holder when put on the desk or table. Small body, big power, enjoys the cool summer and gentle wind at anytime and anywhere.

 

Mini Fan

Usb Fan,Small Desk Fan,Usb Desk Fan,Mini Usb Fan

SHENZHEN HONK ELECTRONIC CO., LTD , https://www.honktech.com