Tuesday, March 3, 2020

Finally, the presentation poster is shown in Figure 1. The main objectives of this project are building a gesture recognition system based on FPGA board and using FPGA board to increase the image processing speed because FPGA can have 10 times higher processing speed compared with desktop CPU [1]. Then, the actual implementation of this project is shown as flow chart. Moreover, the result of FPGA and CPU can both be seen in result part to represent the actual visible difference between these two platforms. After that, future enhancement can be done on different camera module and more functions of this system.
Figure 1. Poster of presentation
After that, the final demo of this project can be seen in following video all the video processing and recognition result can be seen in this part, then applications of the recognition result can also be seen in this part.




Reference:

[1] S. Asano, T. Maruyama and Y. Yamaguchi, "Performance comparison of FPGA, GPU and CPU in image processing," 2009 International Conference on Field Programmable Logic and Applications, Prague, 2009, pp. 126-131.
doi: 10.1109/FPL.2009.5272532
After all the main work was done, the comparison work should also be completed to observe the actual enhancement of image processing on FPGA board. Moreover, the basic algorithm should be same as the algorithm applied on FPGA board. This also requires a lot of work to complete a new project with different platform, MATLAB. The image from the front camera of laptop will be firstly binarized, then, median filter, erosion and dilation module will be applied to reduce the noise of video. Algorithm of image processing will be shown below.
Figure 1. Algorithm of Erosion

Figure 2. Algorithm of Dilation

Figure 3. Algorithm of Median Filter

The following video shows the final result of MATLAB project.
Moreover, from this video, it can be seen that time delay of CPU-based image processing is significant and its processing speed can't even reach 1 frame per second.

Compared with the performance on CPU, FPGA has significant enhancement because it is able to handle 30 frame per second real-time video processing. Video below can show the actual high performance of FPGA-based video processing system.


In this video, the system can recognize the hand correctly, although the accuracy will be influenced by the noise from OV7670 module. Moreover, this system also obtained the position and size of hand. This will consume more time; however, it still has 30 frames per second processing speed. Hence, these two videos present the high performance of FPGA in image processing area, compared with desktop CPU.

Furthermore, the gap between desktop CPU and FPGA can be quantified and the final result will be shown on following table.


Table 1. Quantified result of devices