GPGPU Volume Classification using SimpleOpenCL Oscar Amoros, Sergio Escalera, Anna Puig and Maria Salamó Computer Vision Center, Universitat Autònoma de.

Slides:



Advertisements
Similar presentations
Automatic Photo Pop-up Derek Hoiem Alexei A.Efros Martial Hebert Carnegie Mellon University.
Advertisements

Ensemble Learning – Bagging, Boosting, and Stacking, and other topics
Context-based object-class recognition and retrieval by generalized correlograms by J. Amores, N. Sebe and P. Radeva Discussion led by Qi An Duke University.
Combining Detectors for Human Hand Detection Antonio Hernández, Petia Radeva and Sergio Escalera Computer Vision Center, Universitat Autònoma de Barcelona,
SE263 Video Analytics Course Project Initial Report Presented by M. Aravind Krishnan, SERC, IISc X. Mei and H. Ling, ICCV’09.
Detecting Faces in Images: A Survey
Víctor Ponce Miguel Reyes Xavier Baró Mario Gorga Sergio Escalera Two-level GMM Clustering of Human Poses for Automatic Human Behavior Analysis Departament.
GPGPU Introduction Alan Gray EPCC The University of Edinburgh.
Texture Segmentation Based on Voting of Blocks, Bayesian Flooding and Region Merging C. Panagiotakis (1), I. Grinias (2) and G. Tziritas (3)
Real-Time Activity Monitoring of Inpatients Miguel Reyes, Jordi Vitrià, Petia Radeva and Sergio Escalera Computer Vision Center, Universitat Autònoma de.
Computer Hardware Storyboard
ADVANCED CLASSIFICATION LIBRARY FOR ARCGIS Alpha Version Adam Wehmann Autumn /4/2012.
HCI Final Project Robust Real Time Face Detection Paul Viola, Michael Jones, Robust Real-Time Face Detetion, International Journal of Computer Vision,
1 Learning to Detect Objects in Images via a Sparse, Part-Based Representation S. Agarwal, A. Awan and D. Roth IEEE Transactions on Pattern Analysis and.
Cliff Rhyne and Jerry Fu June 5, 2007 Parallel Image Segmenter CSE 262 Spring 2007 Project Final Presentation.
Rayleigh Mixture Model and its Application for Ultrasound-based Plaque Characterization José Seabra, Francesco Ciompi, Oriol Pujol, Petia Radeva and João.
Rotation Forest: A New Classifier Ensemble Method 交通大學 電子所 蕭晴駿 Juan J. Rodríguez and Ludmila I. Kuncheva.
Accelerating Machine Learning Applications on Graphics Processors Narayanan Sundaram and Bryan Catanzaro Presented by Narayanan Sundaram.
Panda: MapReduce Framework on GPU’s and CPU’s
Introduction to machine learning
AbstractAbstract Adjusting Active Basis Model by Regularized Logistic Regression Ruixun Zhang Peking University, Department of Statistics and Probability.
Face Detection using the Viola-Jones Method
Identifying Computer Graphics Using HSV Model And Statistical Moments Of Characteristic Functions Xiao Cai, Yuewen Wang.
AGENT SIMULATIONS ON GRAPHICS HARDWARE Timothy Johnson - Supervisor: Dr. John Rankin 1.
Vision-based Navigation and Reinforcement Learning Path Finding for Social Robots Xavier Pérez *, Cecilio Angulo *, Sergio Escalera + and Diego Pardo *
MACHINE VISION GROUP Graphics hardware accelerated panorama builder for mobile phones Miguel Bordallo López*, Jari Hannuksela*, Olli Silvén* and Markku.
Learning Based Hierarchical Vessel Segmentation
BY: ALI AJORIAN ISFAHAN UNIVERSITY OF TECHNOLOGY 2012 GPU Architecture 1.
Parallel Artificial Neural Networks Ian Wesley-Smith Frameworks Division Center for Computation and Technology Louisiana State University
By Arun Bhandari Course: HPC Date: 01/28/12. GPU (Graphics Processing Unit) High performance many core processors Only used to accelerate certain parts.
Y. Kotani · F. Ino · K. Hagihara Springer Science + Business Media B.V Reporter: 李長霖.
OpenCL based machine learning labeling of biomedical datasets Oscar Amoros, Sergio Escalera and Anna Puig Computer Vision Center, Universitat Autònoma.
ACTIVE LEARNING USING CONFORMAL PREDICTORS: APPLICATION TO IMAGE CLASSIFICATION HypHyp Introduction HypHyp Conceptual overview HypHyp Experiments and results.
Programming Concepts in GPU Computing Dušan Gajić, University of Niš Programming Concepts in GPU Computing Dušan B. Gajić CIITLab, Dept. of Computer Science.
Benk Erika Kelemen Zsolt
Accelerating image recognition on mobile devices using GPGPU
Computational Biology 2008 Advisor: Dr. Alon Korngreen Eitan Hasid Assaf Ben-Zaken.
GPU Architecture and Programming
ECE738 Advanced Image Processing Face Detection IEEE Trans. PAMI, July 1997.
Ensemble Learning Spring 2009 Ben-Gurion University of the Negev.
© SKY Computers, Inc. All Rights Reserved 9/25/02 Slide 1 VSIPL, from API to Product Sharon M. Sacco.
Introducing the Separability Matrix for ECOC coding
Tony Jebara, Columbia University Advanced Machine Learning & Perception Instructor: Tony Jebara.
GPUs: Overview of Architecture and Programming Options Lee Barford firstname dot lastname at gmail dot com.
Lecture 09 03/01/2012 Shai Avidan הבהרה: החומר המחייב הוא החומר הנלמד בכיתה ולא זה המופיע / לא מופיע במצגת.
Learning to Detect Faces A Large-Scale Application of Machine Learning (This material is not in the text: for further information see the paper by P.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Computational Platform Jim Miller GE Research.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408/CS483, University of Illinois, Urbana-Champaign 1 Graphic Processing Processors (GPUs) Parallel.
Learning Hierarchical Features for Scene Labeling
Max-Confidence Boosting With Uncertainty for Visual tracking WEN GUO, LIANGLIANG CAO, TONY X. HAN, SHUICHENG YAN AND CHANGSHENG XU IEEE TRANSACTIONS ON.
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.
Matthew Royle Supervisor: Prof Shaun Bangay.  How do we implement OpenCL for CPUs  Differences in parallel architectures  Is our CPU implementation.
Big data classification using neural network
Generalized and Hybrid Fast-ICA Implementation using GPU
Enabling machine learning in embedded systems
Deep Learning Platform as a Service
CE-105 Spring 2007 Engr. Faisal ur Rehman
COMP61011 : Machine Learning Ensemble Models
Using Tensorflow to Detect Objects in an Image
Boosting Nearest-Neighbor Classifier for Character Recognition
Data Mining Practical Machine Learning Tools and Techniques
MASS CUDA Performance Analysis and Improvement
What is an Operating System?
NVIDIA Fermi Architecture
Implementing AdaBoost
Using Tensorflow to Detect Objects in an Image
What's New in eCognition 9
THE ASSISTIVE SYSTEM SHIFALI KUMAR BISHWO GURUNG JAMES CHOU
Presentation transcript:

GPGPU Volume Classification using SimpleOpenCL Oscar Amoros, Sergio Escalera, Anna Puig and Maria Salamó Computer Vision Center, Universitat Autònoma de Barcelona, Cerdanyola, Spain Dept. Matemàtica Aplicada i Anàlisi, UB, Gran Via 585, 08007, Barcelona, Spain [1] J. Friedman, T. Hastie, R. Tibshirani, Additive logistic regres- sion: a statistical view of boosting, Annals of Statistics 28. [2] S. Escalera, D. Tax, O. Pujol, P. Radeva, R. Duin, Subclass problem-dependent design of error- correcting output codes, in: IEEE Transactions in Pattern Analysis and Machine Intelligence, Vol. 30, 2008, pp. 1–14. Sub-title 1. Classification framework overview Abstract In volume visualization, the definition of the regions of interest is inherently an iterative trial-and-error process finding out the best parameters to classify and render the final image. In this work, we present a general framework for training multi-class classifiers using Error-Correcting Out- put Codes. Moreover, we propose a GPGPU paral·lelization system using SimpleOpenCL, an OpenSource library we created to make it easier to use OpenCL. Results show accurate classification results as well as good speed ups. 2. SimpleOpenCL overview SimpleOpenCL is an OpenSource library and Google Code project that we created. It is written in ANSI C to be used by C and C++ programs. The main goal of SimpleOpenCL has been reducing the code needed to run the experiments on the GPU with OpenCL, but also supports managing CPU devices. OpenCL provides so much control over the system that it requires a lot of code. So with SimpleOpenCL we are providing two levels of programming. The first level provides the simplest way to do an OpenCL program. We also provide a second level, where the programmer has more control, but also has to write more code, although less than with plain OpenCL. 4. Performance results 4. Conclusions and future work Semi automatic classification is a promising technology for reducin classification costs not only on medical imaging but also other fields that need volumetric dataset classification. SimpleOpenCL is a promising tool that will be extended adding more advanced first and second level functions. We propose a general framework of supervised statistical classification methods to label on-demand multiple regions of interest. The learning step gets a subset of preclassified samples to train a set of Adaboost classifiers[1], which are codified as TFs, and combined in an ECOC design [2]. The testing stage multi-classifies and labels a subset of volume classes based on user interaction. We accelerated the thesting step by creating a new weak classifier representation that can be more easilly paralelizable. We implemented it on CPU’s and GPU’s using OpenMP, GCD and OpenCL. For the OpenCL version we have developed a new library called SimpleOpenCL available at Google code. This library allowed us to code faster, debug faster with much less complexity on the Host code side, and without performance penalizations on the Device code side. SimpleOpenCL (SCL) also offers a way to manage Devices that makes it easier to initialize them, identify them, and select them by performance or Device type criteria. Instead of having a lot of different OpenCL objects related to the hardware spread across your Host code, you only need to use the sclHard data type that SCL provides. You can use it with SCL functions, or access its components to use them with native OpenCL functions. The same is true for.cl source files and kernel objects. You just need the sclSoft data type. 3. SCL Example The same “Hello world” program with or without SimpleOpenCL Host code without SimpleOpenCL Host code with SimpleOpenCL Device code for both cases