Traduce el siguiente texto en "presente simple, tercera persona del singular": Discussion and conclusion
This chapter will summarize the most important results, discuss why they
turned out as they did and o↵er concluding remarks on the choice of technology.
Possible areas for further work will also be presented.
5.1 Discussion and further work
The platforms are to be evaluated with respect to development e↵ort, cost,
power consumption and performance for image processing algorithms such as
normalized cross-correlation. Depending on the specific project or application,
some criteria may be more important than others. Some projects may even
have absolute requirements, such as throughput in a real-time system or power
consumption in an embedded system.
5.1.1 Development e↵ort
For FPGAs, the use of IP can reduce the e↵ort needed, but it is still a timeconsuming and sometimes error-prone process to design a complete system.
Various high-level tools may somewhat alleviate this. Languages such as HandleC and tools such as Xilinx Vivado HLS and MATLAB HDL Coder and HDL
Verifier allow the designer to work at a higher level of abstraction, with automatic generation of HDL code. This comes at the price of higher licensing costs
and perhaps sub-optimal solutions, when compared to a manual bottom-up
design.
When considering development e↵ort, GPUs have a significant advantage. Opensource libraries such as OpenCV, combined with a relatively high-level language
41
42 Discussion and conclusion
such as CUDA C++ or OpenCL for custom implementation give short design
times. The challenge lies in finding a good partitioning of the problem in to
parallel parts, not the programming itself. Software can be tested on any compatible GPU, for example in a desktop computer, even though it is destined
for an embedded system. Debugging is seamless and integrated with tools such
as NVIDIA Parallel Nsight. There are also many libraries available to make
development easier.
5.1.2 Component cost
As pricing information for GPU and FPGA chips is not readily available, an
assessment will have to be done before a production project is started, if cost
is important.
5.1.3 Power consumption
From the simulations and measurements presented in chapter 4, it is clear that
the FPGA solution has significantly lower power consumption than the GPU
solution. Because of the uncertainty of the FPGA power simulation, exactly
how much is dicult to quantize. The GPU development kit also has a cooling
fan, unlike the FPGA kit, which only uses passive cooling.
5.1.4 Performance
The performance results from chapter 4 shows that the GPU implementation
outperforms the FPGA implementation. For large image sizes, the GPU implementation use FFT-based correlation, which is very ecient. No comparable
algorithm is made for the FPGA in this work because of memory constraints,
so these results cannot be directly compared against the FPGA results.
However, the performance of the direct implementation of normalized crosscorrelation on FPGA and GPU can be directly compared. The execution time
for finding a template in a 512 ⇥ 512 scene image is shown in figure 5.1. This
shows that execution time for the GPU implementation is slightly better than
for the FPGA implementation.
The DFT-based correlation on the GPU has unpredictable execution time, as
shown in figure 4.5. This may be caused by operating system scheduling issues.
For real-time systems, this unpredictability may be undesirable. Another issue
with the GPU solution is that the first call to the template matching function
is very slow, because of Just-in-Time compiling.
Discussion and conclusion 43
      







.HUQHOVLGHOHQJWK>SL[HOV@
([HFXWLRQWLPH>PV@
)3*$
*38
Figure 5.1: Execution time for direct implementation of normalized crosscorrelation on FPGA and GPU for scene image width X = 512.
5.2 Conclusion
In conclusion, it is relatively easy to build a solution with high throughput using
a GPU, with the help of available libraries. The reference GPU implementation
of normalized cross-correlation from the OpenCV library slightly outperforms
the implementation designed in this project. The maximum size of the images processed on the FPGA using this design is dependent on the amount of
resources available on the FPGA. For larger images, a more powerful FPGA
must be used. The high performance and relative ease of software development
of GPUs has to be weighed against the higher power consumption in real-world
projects.
5.3 Future work
The most important area of future exploration is DFT-based correlation on
FPGA. It is possible that a significant speed-up could be achieved by using
DFT-based correlation combined with running sum tables for the normalization
on a powerful FPGA with fast o↵-chip RAM. For large image sizes, DFT-based
correlation is necessary if low latencies are critical.