| Literature DB >> 24841246 |
Joel Pérez1, Eduardo Magdaleno2, Fernando Pérez3, Manuel Rodríguez4, David Hernández5, Jaime Corrales6.
Abstract
Plenoptic cameras are a new type of sensor that extend the possibilities of current commercial cameras allowing 3D refocusing or the capture of 3D depths. One of the limitations of plenoptic cameras is their limited spatial resolution. In this paper we describe a fast, specialized hardware implementation of a super-resolution algorithm for plenoptic cameras. The algorithm has been designed for field programmable graphic array (FPGA) devices using VHDL (very high speed integrated circuit (VHSIC) hardware description language). With this technology, we obtain an acceleration of several orders of magnitude using its extremely high-performance signal processing capability through parallelism and pipeline architecture. The system has been developed using generics of the VHDL language. This allows a very versatile and parameterizable system. The system user can easily modify parameters such as data width, number of microlenses of the plenoptic camera, their size and shape, and the super-resolution factor. The speed of the algorithm in FPGA has been successfully compared with the execution using a conventional computer for several image sizes and different 3D refocusing planes.Entities:
Mesh:
Year: 2014 PMID: 24841246 PMCID: PMC4063034 DOI: 10.3390/s140508669
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1.Two plane parameterization of the lightfield.
Figure 2.Plenoptic image and details from the white square in the plenoptic images [5].
Figure 3.Architecture of the designed system.
Figure 4.Diagram of the positions estimator module.
Figure 5.Diagram of the addresses generator.
Figure 6.Diagram of the data accumulator.
Figure 7.Switching between modes of accumulation and dump/erase of the memory.
Figure 8.Original plenoptic image.
Figure 9.(a) Slope 0.4. (b) Slope −0.4.
Figure 10.Super-resolved (d = 2) (b) and bicubic interpolation based magnification (a).
Execution time of the algorithm in Matlab.
| Plenoptic input image resolution (pixels) | 341 × 341 | 341 × 341 | 3201 × 3201 |
| Number of microlenses | 31 × 31 | 31 × 31 | 291 × 291 |
| Super-resolved output image resolution (pixels) | 69 × 69 | 69 × 69 | 589 × 589 |
| Slope | 0.4 | −0.4 | −0.4 |
| Super-resolution (d) | 2 | 2 | 2 |
| Time Stage 1 (FPGA) | 1.162 ms | 1.162 ms | 102.4641 ms |
| Time Stage 2 (FPGA) | 47.71 μs | 47.71 μs | 3.4693 ms |
FPGA internal memory resources. BRAM: Block RAM.
| XC6SLX45 Spartan 6 | 65 × 65 × 4 | BRAM 18 Kb | 28/116 (28%) |
| XC6VCX75T Virtex 6 | 65 × 65 × 4 | BRAM 18 Kb | 28/312 (8%) |
| XC6VCX75T Virtex 6 | 205 × 205 × 4 | BRAM 36 Kb | 112/156 (71%) |