Skip to main content
Log in

Construction of a flexible and scalable 4D light field camera array using Raspberry Pi clusters

  • Original Article
  • Published:
The Visual Computer Aims and scope Submit manuscript

Abstract

The light field is a 4D function that represents the radiance of light traveling in every direction through every point in 3D space. In this paper, we demonstrate how effectively 4D light fields can be sampled from the real world using a custom-built 4D light field camera system constructed based on cheaply and commonly available Raspberry Pi computers. The camera system consisting of a camera array and a dedicated calibration software is flexible and scalable in structure because the system can be reconfigured easily to meet the user’s needs. We show the effectiveness of the camera system by interactively visualizing captured 4D light fields using our GPU-accelerated light field renderer supporting a virtual camera model that synthesizes various photographic effects including zooming and panning, refocusing, focus breathing, and depth-of-field control. We believe that the do-it-yourself 4D light field camera will be explored effectively in traditional application fields, such as computer graphics and vision, and in other areas like science education.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

References

  1. Aaftab Munshi, L.H., Sochacki, B.: The OpenCL C Specification (Version: 2.0), 30th edn. Khronos OpenCL Working Group (2015)

  2. Adelson, E.H., Bergen, J.R.: The plenoptic function and the elements of early vision. In: Landy, M., Movshon, J.A. (eds.) Computational Models of Visual Processing, Chapter 1. The MIT Press, Cambridge (1991)

    Google Scholar 

  3. Adelson, E.H., Wang, J.Y.: Single lens stereo with a plenoptic camera. IEEE Trans. Pattern Anal. Mach. Intell. 14(2), 99–106 (1992)

    Article  Google Scholar 

  4. Adhikarla, V.K., Marton, F., Balogh, T., Gobbetti, E.: Real-time adaptive content retargeting for live multi-view capture and light field display. Vis. Comput. 31(6–8), 1023–1032 (2015)

    Article  Google Scholar 

  5. Brown, D.C.: Close-range camera calibration. Photogramm. Eng. 37(8), 855–866 (1971)

    Google Scholar 

  6. Burden, R.L., Faires, J.D.: Numerical Analysis. Cengage Learning, Boston (2010)

    MATH  Google Scholar 

  7. Donatsch, D., Bigdeli, S.A., Robert, P., Zwicker, M.: Hand-held 3D light field photography and applications. Vis. Comput. 30(6–8), 897–907 (2014)

    Article  Google Scholar 

  8. Foundation, R.P.: Raspberry Pi. https://www.raspberrypi.org/. Accessed 22 Jan 2016

  9. Georgeiv, T., Zheng, K.C., Curless, B., Salesin, D., Nayar, S., Intwala, C.: Spatio-angular resolution tradeoffs in integral photography. In: Eurographics Symposium on Rendering, pp. 263–272 (2006)

  10. Gortler, S.J., Grzeszczuk, R., Szeliski, R., Cohen, M.F.: The lumigraph. In: Proceedings of the 23rd Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH ’96, pp. 43–54 (1996)

  11. Hartley, R., Zisserman, A.: Multiple View Geometry in Computer Vision. Cambridge University Press, Cambridge (2004)

    Book  MATH  Google Scholar 

  12. Levoy, M., Hanrahan, P.: Light field rendering. In: Proceedings of the 23rd Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH ’96, pp. 31–42 (1996)

  13. Levoy, M., Ng, R., Adams, A., Footer, M., Horovitz, M.: Light field microscopy. ACM Trans. Graph. 25(3), 924–934 (2006)

    Article  Google Scholar 

  14. Liang, C.K., Lin, T.H., Wong, B.Y., Liu, C., Chen, H.H.: Programmable aperture photography: multiplexed light field acquisition. ACM Trans. Graph. 27(3), 55 (2008)

    Article  Google Scholar 

  15. Lin, X., Wu, J., Zheng, G., Dai, Q.: Camera array based light field microscopy. Biomed. Opt. Express 6(9), 3179–3180 (2015)

    Article  Google Scholar 

  16. Lytro: Lytro. https://www.lytro.com/. Accessed 22 Jan 2016

  17. Ng, R.: Digital Light Field Photography. Ph.D. thesis, Stanford University (2006)

  18. Ng, R., Levoy, M., Brédif, M., Duval, G., Horowitz, M., Hanrahan, P.: Light field photography with a hand-held plenoptic camera. Comput. Sci. Tech. Rep. CSTR 2, 1–11 (2005)

    Google Scholar 

  19. OpenCV: OpenCV. http://opencv.org/. Accessed 22 Jan 2016

  20. Raytrix: Raytrix. https://raytrix.de/produkte/. Accessed 22 Jan 2016

  21. Shirley, P., Chiu, K.: A low distortion map between disk and square. J. Graph. Tools 2(3), 45–52 (1997). https://doi.org/10.1080/10867651.1997.10487479

    Article  Google Scholar 

  22. Stroebel, L., Compton, J., Current, I., Zakia, R.: Photographic Materials and Processes. Focal Press, Boston (1986)

    Google Scholar 

  23. Veeraraghavan, A., Raskar, R., Agrawal, A., Mohan, A., Tumblin, J.: Dappled photography: mask enhanced cameras for heterodyned light fields and coded aperture refocusing. ACM Trans. Graph. 26(3), 69 (2007)

    Article  Google Scholar 

  24. Venkataraman, K., Lelescu, D., Duparré, J., McMahon, A., Molina, G., Chatterjee, P., Mullis, R.: PiCam: an ultra-thin high performance monolithic camera array. ACM Trans. Graph. 32(6), 166 (2013)

    Article  Google Scholar 

  25. Wanner, S., Goldluecke, B.: Globally consistent depth labeling of 4D light fields. In: 2012 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 41–48 (2012). https://doi.org/10.1109/CVPR.2012.6247656

  26. Wilburn, B., Joshi, N., Vaish, V., Talvala, E.V., Antunez, E., Barth, A., Adams, A., Horowitz, M., Levoy, M.: High performance imaging using large camera arrays. ACM Trans. Graph. 24(3), 765–776 (2005)

    Article  Google Scholar 

  27. Yang, J., Everett, M., Buehler, C., McMillan, L.: A real-time distributed light field camera. In: Eurographics Workshop on Rendering, pp. 1–10 (2002)

  28. Zhang, C., Chen, T.: A self-reconfigurable camera array. In: Eurographics Workshop on Rendering, pp. 243–254 (2004)

Download references

Acknowledgements

This research was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (No. NRF-2017R1D1A1B03029625).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Insung Ihm.

Electronic supplementary material

Appendix: Estimation of the rigid body transformation for finding the geometry parameters of the camera array

Appendix: Estimation of the rigid body transformation for finding the geometry parameters of the camera array

Let \(M(\alpha , \beta ;\theta ) = T(\alpha , \beta )R(\theta )\) be the rigid body transformation we are to seek. The transformed position \(\bar{\mathbf{P}}_{ij}\) of \(\mathbf{P}_{ij}\), the center of the (ij)-th grid cell, is then

$$\begin{aligned} \begin{pmatrix} \bar{\mathbf{P}}_{ij}\\ 1 \end{pmatrix} = T(\alpha , \beta )R(\theta ) \begin{pmatrix} \mathbf{P}_{ij}\\ 1 \end{pmatrix} = \begin{bmatrix} x_{ij} \cos \theta + y_{ij} \sin \theta + \alpha \\ - \,x_{ij} \sin \theta + y_{ij} \cos \theta + \beta \\ 1 \end{bmatrix} \end{aligned}$$

where

$$\begin{aligned} \mathbf{P}_{ij} \equiv \begin{pmatrix} x_{ij}\\ y_{ij} \end{pmatrix} = \begin{pmatrix} -140\\ -140 \end{pmatrix} + \begin{pmatrix} 28i+14\\ 28j+14 \end{pmatrix} = \begin{pmatrix} 28i-126\\ 28j-126 \end{pmatrix}. \end{aligned}$$

The squared sum of the distances between \(\bar{\mathbf{P}}_{ij}\) and \(\mathbf{P}^*_{ij}= (x^*_{ij}, y^*_{ij})^t\), the projected position of the (ij)-th camera in the 2D coordinate system, is now expressed as

$$\begin{aligned} F(\alpha , \beta ;\theta )= & {} \sum _{j=0}^{9} \sum _{i=0}^{9} \Vert \bar{\mathbf{P}}_{ij} - \mathbf{P}_{ij}^{*} \Vert _{2}^{2}\\= & {} \sum _{j=0}^{9} \sum _{i=0}^{9}\{ \,( x_{ij} \cos \theta + y_{ij} \sin \theta + \alpha - x_{ij}^{*} )^{2} \nonumber \\&+ \,( - x_{ij} \sin \theta + y_{ij} \cos \theta + \beta - y_{ij}^{*} )^{2} \,\}. \end{aligned}$$

Then,

$$\begin{aligned} \frac{\partial F}{\partial \alpha }= & {} \sum _{j=0}^{9} \sum _{i=0}^{9} {2(x_{ij} \cos \theta + y_{ij} \sin \theta + \alpha - x_{ij}^{*}) }\\= & {} 2\biggl (\cos \theta \sum _{j=0}^{9} \sum _{i=0}^{9} x_{ij} + \sin \theta \sum _{j=0}^{9} \sum _{i=0}^{9} y_{ij} \nonumber \\&+ \,\sum _{j=0}^{9} \sum _{i=0}^{9} \alpha - \sum _{j=0}^{9} \sum _{i=0}^{9} x_{ij}^{*} \biggl ) \\= & {} 2\left( \sum _{j=0}^{9} \sum _{i=0}^{9} \alpha - \sum _{j=0}^{9} \sum _{i=0}^{9} x_{ij}^{*}\right) . \end{aligned}$$

From \(F(\alpha , \beta ;\theta ) = 0\) and the similarity between the two variables \(\alpha \) and \(\beta \), we find the total error is minimized at \((\alpha ^*, \beta ^*)\) where

$$\begin{aligned} \alpha ^{*} = \frac{ \sum _{j=0}^{9} \sum _{i=0}^{9} x_{ij}^{*} }{100}, \quad \beta ^{*} = \frac{ \sum _{j=0}^{9} \sum _{i=0}^{9} y_{ij}^{*} }{100}. \end{aligned}$$

Next, for the remaining variable,

$$\begin{aligned} \frac{\partial F}{\partial \theta }= & {} \sum _{j=0}^{9} \sum _{i=0}^{9} \{ \,2(x_{ij} \cos \theta + y_{ij} \sin \theta + \alpha - x_{ij}^{*}) \\&\cdot (-\,x_{ij} \sin \theta + y_{ij} \cos \theta ) \\&+ \,2(-\,x_{ij} \sin \theta + y_{ij} \cos \theta + \beta - y_{ij}^{*}) \\&\cdot (-\,x_{ij} \cos \theta - y_{ij} \sin \theta ) \,\} \\= & {} 2 \left\{ \,\sin \theta \sum _{j=0}^{9} \sum _{i=0}^{9} (x_{ij}^{*}+y_{ji}^{*}) x_{ij} \right. \nonumber \\&\left. - \,\cos \theta \sum _{j=0}^{9} \sum _{i=0}^{9} (x_{ji}^{*}+y_{ij}^{*}) y_{ij} \,\right\} . \end{aligned}$$

To estimate \(\theta ^*\) such that \(\frac{\partial F}{\partial \theta } = 0\), the Newton–Raphson method [6] is applied to the function \(f(\theta ) = S \sin \theta - C\cos \theta \) with \(S = \sum _{j=0}^{9} \sum _{i=0}^{9} (x_{ij}^{*}+y_{ji}^{*}) x_{ij}\) and \(C = \sum _{j=0}^{9} \sum _{i=0}^{9} (x_{ji}^{*}+y_{ij}^{*}) y_{ij}\). Note that since the rotational displacement is usually small, the following Newton–Rapson iteration converges quickly to the solution \(\theta ^*\) for the initial value \(\theta _0 = 0\):

$$\begin{aligned} \theta _{k+1} = \theta _{k}-\frac{f(\theta _{k})}{f'(\theta _{k})} = \theta _{k}-\frac{S \sin \theta _{k} - C \cos \theta _{k}}{S \cos \theta _{k} + C \sin \theta _{k}}. \end{aligned}$$

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

An, J., Park, S. & Ihm, I. Construction of a flexible and scalable 4D light field camera array using Raspberry Pi clusters. Vis Comput 35, 1475–1488 (2019). https://doi.org/10.1007/s00371-018-1512-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00371-018-1512-z

Keywords

Navigation