4 CONCLUSION
In this work we have illustrated the implementation
of an SAD based stereo algorithm on an embedded
ARM/DSP vision platform. The algorithm is
developed as MATLAB function code that feeds the
MATLAB Embedded Coder to generate generic or
platform-specific C-Code code, in our case using the
NEON instruction set of the ARM Cortex processor.
We have evaluated the performance of the
implemented code by comparing the speed
performance in million disparity estimations per
second in respect to the processor cycle frequency.
The main outcome of our work is the awareness
that the performance of the embedded
implementation highly depends on the developed
MATLAB function code. The MATLAB Embedded
Coder seems to generate more efficient code if the
underlying algorithm is based on vector calculations
rather than addressing sub-matrices. This could be a
drawback, because the resulting MATLAB code
could be less compact and readable.
With the described optimizations our generated
C-Code achieves a performance of 3.7 Mde/GHz and
therefore outperforms an existing ARM
implementation of this algorithm. Unfortunately, no
further ARM-only implementations of the considered
algorithm are known.
Additionally, our algorithm on the DSP shows
worse performance characteristics compared to
existing DSP implementations. We used generic C-
Code generated with the MATLAB coder which has
a major drawback because we don’t specifically take
advantage of the DSP architecture (apart from TI
compiler optimizations). Therefore future work
should investigate the possibility of optimized code
generation for the DSP with the MATLAB Embedded
Coder and the TI C6000 Hardware Support Package.
Furthermore improvements should be made to the
SAD algorithm with special emphasis on the DSP
code generation.
REFERENCES
Agadakos, Y., 2015. A Heterogenous System Approach To
The Real Time Stereo Problem. [Online] Available at:
http://artemis.library.tuc.gr/MT2013-0114/MT2013-
0114.pdf [Accessed 03 March 2015].
Ambrosch, K., Zinner, C. & Leopold, H., 2010. A miniature
embedded stereo vision system for automotive
applications. Electrical and Electronics Engineers in
Israel (IEEEI), pp.000786-89.
Demirovic, D., Serifovic Trbalic, A., Prljaca, N. & Cattin, P.
C., 2014. Evaluation of image processing algorithms an
ARM powered mobile devices. Information and
Communications Technolog, Electronics and
Microelectronics (MIPRO), pp.417-20.
Goldberg, S. B. & Matthies, L., 2011. Stereo and IMU
assisted visual odometry on an OMAP3530 for small
robots. Computer Vision and Pattern Recognition
Workshops (CVPRW), pp.169-76.
Humenberger, M., Zinner, C. & Kubinger, W., 2009.
Performance evaluation of a cencus-based stereo
matching algorithm on embedded and multi-core
hardware. Image and Signal Processing and Analysis,
pp.388-93.
Khaleghi, B., Ahuja, S. & Wu, Q., 2008. An improved real-
time miniaturized embedded stereo vision system
(MESVS-II). Computer Vision and Pattern
Recognition Workshops, pp.1-8.
Lixin, Z., Dong, Y. & Zhengguang, X., 2009. A Segment
Based Dense Stereo Matching Algorithm. Information
Science and Engineering, pp.574-78.
Manpage, U., 2015. Ubuntu Homepage. [Online] Available
at: http://manpages.ubuntu.com/manpages/lucid/
man2/gettimeofday.2.html [Accessed 03 March 2015].
Middlebury Datasets, 2015. Middlebury. [Online]
Available at: http://www.middlebury.edu/stereo
[Accessed 03 March 2015].
Mustafah, Y. M., Noor, R., Hasbi, H. & Azma, A. W., 2012.
Stereo vision images processing for real-time object
distance and size measurements. Computer and
Communication Engineering, pp.659-63.
Scharstein, D., Szeliski, R. & Zabih, R., 2001. A taxonomy
and evaluation of dense two-frame stereo
correspondance algorithms. Stereo and Multibaseline
Vision, pp.131-40.
VRmagic GmbH, 2015. VRmagic Hompage. [Online]
Available at: http://www.vrmagic.com/downloads/
imaging/protected/D3_intelligent_camera_user_guide
_150128_EN.pdf [Accessed 03 March 2015].
Welch, E., Patru, D., Saber, E. & Bengston, K., 2012. A
study of the use of SIMD instructions for two image
processing algorithms. Image Processing Workshop (
WNYIPW).
ICINCO 2016 - 13th International Conference on Informatics in Control, Automation and Robotics
562