TY - JOUR
T1 - An FPGA accelerator for PatchMatch multi-view stereo using OpenCL
AU - Tatsumi, Shunsuke
AU - Hariyama, Masanori
AU - Ito, Koichi
AU - Aoki, Takafumi
N1 - Publisher Copyright:
© 2018, Springer-Verlag GmbH Germany, part of Springer Nature.
Copyright:
Copyright 2020 Elsevier B.V., All rights reserved.
PY - 2020/4/1
Y1 - 2020/4/1
N2 - PatchMatch multi-view stereo (MVS) is one method generating depth maps from multi-view images and is expected to be used for various applications such as robot vision, 3D measurement, and 3D reconstruction. The major drawback of PatchMatch MVS is its large computational amount, and its acceleration is strongly desired. However, this acceleration is prevented by two problems. First, though PatchMatch MVS estimates depth maps by propagating estimation results among neighbor pixels, it is not suitable for GPU-based acceleration. Second, since the shape of a matching window used for stereo matching is changed dynamically, reading its pixels is inefficient in memory access. This paper proposes an FPGA accelerator exploiting on-chip FIFOs efficiently to solve the propagation problem. Moreover, reading pixels of a matching window is improved by a cover window which has the fixed shape and covers the matching window. The FPGA accelerator is designed using a design tool based on Open Computing Language (OpenCL). Although parameters of PatchMatch MVS depend on object images, these parameters can be changed easily by the OpenCL-based design. The experimental results demonstrate that the FPGA implementation achieves 3.4 and 2.2 times faster processing speeds than the CPU and GPU ones, respectively, and the power-delay product of the FPGA implementation is 3.2 and 5.7% of the CPU and GPU ones, respectively.
AB - PatchMatch multi-view stereo (MVS) is one method generating depth maps from multi-view images and is expected to be used for various applications such as robot vision, 3D measurement, and 3D reconstruction. The major drawback of PatchMatch MVS is its large computational amount, and its acceleration is strongly desired. However, this acceleration is prevented by two problems. First, though PatchMatch MVS estimates depth maps by propagating estimation results among neighbor pixels, it is not suitable for GPU-based acceleration. Second, since the shape of a matching window used for stereo matching is changed dynamically, reading its pixels is inefficient in memory access. This paper proposes an FPGA accelerator exploiting on-chip FIFOs efficiently to solve the propagation problem. Moreover, reading pixels of a matching window is improved by a cover window which has the fixed shape and covers the matching window. The FPGA accelerator is designed using a design tool based on Open Computing Language (OpenCL). Although parameters of PatchMatch MVS depend on object images, these parameters can be changed easily by the OpenCL-based design. The experimental results demonstrate that the FPGA implementation achieves 3.4 and 2.2 times faster processing speeds than the CPU and GPU ones, respectively, and the power-delay product of the FPGA implementation is 3.2 and 5.7% of the CPU and GPU ones, respectively.
KW - 3D reconstruction
KW - Multi-view stereo (MVS)
KW - OpenCL for FPGA
KW - PatchMatch
KW - Reconfigurable computing
UR - http://www.scopus.com/inward/record.url?scp=85042137772&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85042137772&partnerID=8YFLogxK
U2 - 10.1007/s11554-017-0745-9
DO - 10.1007/s11554-017-0745-9
M3 - Article
AN - SCOPUS:85042137772
SN - 1861-8200
VL - 17
SP - 215
EP - 227
JO - Journal of Real-Time Image Processing
JF - Journal of Real-Time Image Processing
IS - 2
ER -