MACHINE VISION GROUP Graphics hardware accelerated panorama builder for mobile phones Miguel Bordallo López*, Jari Hannuksela*, Olli Silvén* and Markku.

Slides:



Advertisements
Similar presentations
3D Model Matching with Viewpoint-Invariant Patches(VIP) Reporter :鄒嘉恆 Date : 10/06/2009.
Advertisements

DSPs Vs General Purpose Microprocessors
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Graphics Pipeline.
GPU Virtualization Support in Cloud System Ching-Chi Lin Institute of Information Science, Academia Sinica Department of Computer Science and Information.
Prepared 5/24/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
GRAPHICS AND COMPUTING GPUS Jehan-François Pâris
Programming with CUDA, WS09 Waqar Saleem, Jens Müller Programming with CUDA and Parallel Algorithms Waqar Saleem Jens Müller.
Direct Methods for Visual Scene Reconstruction Paper by Richard Szeliski & Sing Bing Kang Presented by Kristin Branson November 7, 2002.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Chapter.
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
LYU0503 Document Image Reconstruction on Mobile Using Onboard Camera Supervisor: Professor Michael R.Lyu Group Members: Leung Man Kin, Stephen Ng Ying.
Image Stitching and Panoramas
CSCE 641 Computer Graphics: Image Mosaicing Jinxiang Chai.
A Performance and Energy Comparison of FPGAs, GPUs, and Multicores for Sliding-Window Applications From J. Fowers, G. Brown, P. Cooke, and G. Stitt, University.
Introduction What is GPU? It is a processor optimized for 2D/3D graphics, video, visual computing, and display. It is highly parallel, highly multithreaded.
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
Raghu Machiraju Slides: Courtesy - Prof. Huamin Wang, CSE, OSU
MACHINE VISION GROUP Head-tracking virtual 3-D display for mobile devices Miguel Bordallo López*, Jari Hannuksela*, Olli Silvén* and Lixin Fan**, * University.
GPGPU overview. Graphics Processing Unit (GPU) GPU is the chip in computer video cards, PS3, Xbox, etc – Designed to realize the 3D graphics pipeline.
MACHINE VISION GROUP Multimodal sensing-based camera applications Miguel Bordallo 1, Jari Hannuksela 1, Olli Silvén 1 and Markku Vehviläinen 2 1 University.
Yingen Xiong and Kari Pulli
Research Area B Leif Kobbelt. Communication System Interface Research Area B 2.
L29:Lower Power Embedded Architecture Design 성균관대학교 조 준 동 교수,
Copyright © Tekes drawElements Solution for Testing the Graphics of Embedded Systems DM.
Enhancing GPU for Scientific Computing Some thoughts.
May 8, 2007Farid Harhad and Alaa Shams CS7080 Over View of the GPU Architecture CS7080 Class Project Supervised by: Dr. Elias Khalaf By: Farid Harhad &
MACHINE VISION GROUP GPGPU-based surface inspection from structured white light Miguel Bordallo 1, Karri Niemelä 2, Olli Silvén 1 1 Center for Machine.
Computer Graphics Graphics Hardware
BY: ALI AJORIAN ISFAHAN UNIVERSITY OF TECHNOLOGY 2012 GPU Architecture 1.
By Arun Bhandari Course: HPC Date: 01/28/12. GPU (Graphics Processing Unit) High performance many core processors Only used to accelerate certain parts.
MESA LAB Multi-view image stitching Guimei Zhang MESA LAB MESA (Mechatronics, Embedded Systems and Automation) LAB School of Engineering, University of.
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
© 2009 Nokia V1-OpenCLEnbeddedProfilePresentation.ppt / / JyrkiLeskelä 1 OpenCL Embedded Profile Presentation for Multicore Expo 16 March 2009.
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.
Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac.
Accelerating image recognition on mobile devices using GPGPU
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
GPU Architecture and Programming
고급 컴퓨터 그래픽스 중앙대학교 컴퓨터공학부 손 봉 수. Course Overview Level : CSE graduate course No required text. We will use lecture notes and on-line materials This course.
MIRALab Where Research means Creativity SVG Open 2005 University of Geneva 1 Converting 3D Facial Animation with Gouraud shaded SVG A method.
Designing for energy-efficient vision-based interactivity on mobile devices Miguel Bordallo Center for Machine Vision Research.
Introduction to OpenGL  OpenGL is a graphics API  Software library  Layer between programmer and graphics hardware (and software)  OpenGL can fit in.
Introduction What is GPU? It is a processor optimized for 2D/3D graphics, video, visual computing, and display. It is highly parallel, highly multithreaded.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
May 8, 2007Farid Harhad and Alaa Shams CS7080 Overview of the GPU Architecture CS7080 Final Class Project Supervised by: Dr. Elias Khalaf By: Farid Harhad.
CDVS on mobile GPUs MPEG 112 Warsaw, July Our Challenge CDVS on mobile GPUs  Compute CDVS descriptor from a stream video continuously  Make.
A SEMINAR ON 1 CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s.
Havok FX Physics on NVIDIA GPUs. Copyright © NVIDIA Corporation 2004 What is Effects Physics? Physics-based effects on a massive scale 10,000s of objects.
From Turing Machine to Global Illumination Chun-Fa Chang National Taiwan Normal University.
MACHINE VISION GROUP MOBILE FEATURE-CLOUD PANORAMA CONSTRUCTION FOR IMAGE RECOGNITION APPLICATIONS Miguel Bordallo, Jari Hannuksela, Olli silvén Machine.
Computer Architecture Lecture 24 Parallel Processing Ralph Grishman November 2015 NYU.
GPGPU introduction. Why is GPU in the picture Seeking exa-scale computing platform Minimize power per operation. – Power is directly correlated to the.
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.
Dynamic Framerate and Resolution Scaling on Mobile Devices Kent W. Nixon, Xiang Chen, Yiran Chen University of Pittsburgh January 29, 2016.
Computer Engg, IIT(BHU)
Computer Graphics Graphics Hardware
GPU Architecture and Its Application
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
Texas Instruments TDA2x and Vision SDK
Graphics Processing Unit
Real-Time Image Mosaicing
Graphics Processing Unit
Computer Graphics Graphics Hardware
Hardware Accelerated Video Decoding in
Graphics Processing Unit
CIS 6930: Chip Multiprocessor: GPU Architecture and Programming
Presentation transcript:

MACHINE VISION GROUP Graphics hardware accelerated panorama builder for mobile phones Miguel Bordallo López*, Jari Hannuksela*, Olli Silvén* and Markku Vehviläinen**, * University of Oulu, Finland ** Nokia Research Center, Tampere, Finland

MACHINE VISION GROUP Contents Introduction Document Panorama Builder Interactive user interface Quality evaluation and frame selection Re-registration and blending Computation times Scene Panorama Builder Graphics processor as a computing engine GPU accelerated panorama builder

MACHINE VISION GROUP Introduction Document capture with single snapshot ViewFinder ImageReal size section

MACHINE VISION GROUP Introduction Panorama Builder Panorama builder Used to combine several images into one wide-angle mosaic image Traditionally image mosaic is formed from a few separate images Video sequences can also be used as a source

MACHINE VISION GROUP Introduction Video Mosaicking Videos contain lots of information – most of it redundant Video mosaicking vs. image mosaicking – image registration is easier due to smaller motions between frames – some frames can be discarded without losing information

MACHINE VISION GROUP Document Panorama Builder Interactive user interface VGA video analysis Motion estimation system calculates shift, rotation and scale in real time When frame is suitable for stitching (high quality), the user receives feedback and instructions

MACHINE VISION GROUP Document Panorama Builder Quality determination and frame selection

MACHINE VISION GROUP Document Panorama Builder Re-registration and blending Selected framesFinal panorama

MACHINE VISION GROUP Document Panorama Builder Computation times 1. Registration with SIFT feature based RANSAC to find the warping and stitching parameters –approx. 6 frames/minute in software 2. Image Correction: warping with interpolation –approx. 2 frames/s in software 3. Quality determination and frame selection during the capture stage –approx. 10 frames/s in software 4. Motion estimation during capture stage –approx. 30 frames/s in software

MACHINE VISION GROUP Scene Panorama Builder >360 degrees panoramas from landscape Real-time registration Real-time frame evaluation and selection Real-time frame correction On-the-fly stitching Less memory requirements

MACHINE VISION GROUP GPU as a computing engine Newer phones include a GPU chipset OpenGL ES as a highly optimized and attractive accelerator interface Compatible data formats for graphics and camera sub- systems desirable Emerging platforms (CUDA, OpenCL) facilitate using the GPU as a computing resource

MACHINE VISION GROUP Fixed pipeline (OpenGL ES 1.1) vs. programmable pipeline (OpenGL ES 2.0)

MACHINE VISION GROUP Stream processing (OpenGL) vs. shared memory processing (CUDA)

MACHINE VISION GROUP OpenCL (Embedded Profile) Emerging platforms will offer needed flexibility Code executed concurrently on CPU & GPU (even DSP) High parallelization on image processing computations. High efficiency

MACHINE VISION GROUP GPU-accelerated panorama builder Open GL ES 1.1: –Warping with interpolations: >4 times faster –Pixel blending: Open GL ES 2.0: –Image features (SIFT, Haar,...) extraction: 10 times faster on PC, CPU load decreased 50% –Frame quality evaluation Emerging platforms: –RANSAC estimator –Better efficiency –Enabling the use of other chipsets

MACHINE VISION GROUP Image warping with interpolation on OpenGL ES 1.1 Create quad Transform Render texture

MACHINE VISION GROUP Summary Document mosaicing allows feedback to the user Quality can be measured while capturing Mobile phones are an excellent platform for this method GPUs can be used as a general purpose procesors New platforms will offer more efficiency and flexibility Not optimized interfaces include excesive overheads Lack of RAM in small devices sitll a problem

MACHINE VISION GROUP