Parallel error-correcting output codes classification in volume visualization
Document typeMaster thesis
Rights accessOpen Access
In volume visualization, the deﬁnition of the regions of interest is inherently an iterative trial-and-error process ﬁnding out the best parameters to classify and render the ﬁnal image. Generally, the user requires a lot of expertise to analyze and edit these parameters through multi-dimensional transfer functions. In this thesis, we present a framework of methods to label on-demand multiple regions of interest. The methods selected are a combination of 1vs1 Adaboost binary classiﬁers and an ECOC framework to combine binary results to generate a multi-class result. On a ﬁrst step, Adaboost is used to train a set of 1vs1 binary classiﬁers, with a labeled subset of points on the target volume. On a second step, an ECOC framework is used to combine the Adaboost classiﬁers and classify the rest of the volume, assigning a label to each point among multiple possible labels. The labels have to be introduced by an expert on the target volume, and this labels have to be a small subset of all the points on the volume we want to classify. That way, we require a small e↵ort to the expert. But this requires an interactive process where the classiﬁcation results are obtained in real or near real-time. That why on this master thesis we implemented the classiﬁcation step in OpenCL, to exploit the parallelism in modern GPU. We provide experimental results for both accuracy on classiﬁcation and execution time speedup, comparing GPU to single and multi-core CPU. Along with this work we will present some work derived from the use of OpenCL for the experiments, that we shared in OpenSource through Google code, and some abstraction on the parallelization process for any algorithm. Also, we will comment on future work and present some conclusions as the ﬁnal sections of this document.