Parallelization of a color-entropy preprocessed Chan-Vese model for face contour detection on multi-core CPU and GPU

Abstract

Face tracking is an important computer vision technology that has been widely adopted in many areas, from cell phone applications to industry robots. In this paper, we introduce a novel way to parallelize a face contour detecting application based on the color-entropy preprocessed Chan–Vese model utilizing a total variation G-norm. This particular application is a complicated and unsupervised computational method requiring a large amount of calculations. Several core parts therein are difficult to parallelize due to heavily correlated data processing among iterations and pixels. We develop a novel approach to parallelize the data-dependent core parts and significantly improve the runtime performance of the model computation. We implement the parallelized program on OpenCL for both multi-core CPU and GPU. For 640 ∗ 480 input images, the parallelized program on a NVidia GTX970 GPU, a NVidia GTX660 GPU, and an AMD FX8530 8core CPU is on average 18.6, 12.0 and 4.40 times faster than its single-thread C version on the AMD FX8530 CPU, respectively. Some parallelized routines have much higher performance improvement compared to the whole program. For instance, on the NVidia GTX970 GPU, the parallelized entropy filter routine is on average 74.0 times faster than its single-thread C version on the AMD FX8530 8-core CPU. We discuss the parallelization methodologies in detail, including the scalability, thread models, as well as synchronization methods for both multicore CPU and GPU. © 2015 Elsevier B.V. All rights reserved.

DOI: 10.1016/j.parco.2015.07.002

Extracted Key Phrases

19 Figures and Tables

Cite this paper

@article{Shi2015ParallelizationOA, title={Parallelization of a color-entropy preprocessed Chan-Vese model for face contour detection on multi-core CPU and GPU}, author={Xiaohua Shi and Fredrick Park and Lina Wang and Jack Xin and Yingyong Qi}, journal={Parallel Computing}, year={2015}, volume={49}, pages={28-49} }