{"title":"Introduction to GPU Programming with GLSL","authors":"R. Marroquim, André Maximo","doi":"10.1109/SIBGRAPI-Tutorials.2009.9","DOIUrl":"https://doi.org/10.1109/SIBGRAPI-Tutorials.2009.9","url":null,"abstract":"One of the challenging advents in Computer Science in recent years was the fast evolution of parallel processors, specially the GPU – graphics processing unit. GPUs today play a major role in many computational environments, most notably those regarding real-time graphics applications, such as games. The digital game industry is one of the main driving forces behind GPUs, it persistently elevates the state-of-art in Computer Graphics, pushing outstanding realistic scenes to interactive levels. The evolution of photo realistic scenes consequently demands better graphics cards from the hardware industry. Over the last decade, the hardware has not only become a hundred times more powerful, but has also become increasingly customizable allowing programmers to alter some of previously fixed functionalities. This tutorial is an introduction to GPU programming using the OpenGL Shading Language – GLSL. It comprises an overview of graphics concepts and a walk-through the graphics card rendering pipeline. A thorough understanding of the graphics pipeline is extremely important when designing a program in GPU, known as a shader. Throughout this tutorial, the exposition of the GLSL language and GPU programming details are followed closely by examples ranging from very simple to more practical applications. It is aimed at an audience with no or little knowledge on the subject.","PeriodicalId":113732,"journal":{"name":"2009 Tutorials of the XXII Brazilian Symposium on Computer Graphics and Image Processing","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127449165","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Leila Maria Garcia Fonseca, L. Namikawa, E. Castejon
{"title":"Digital Image Processing in Remote Sensing","authors":"Leila Maria Garcia Fonseca, L. Namikawa, E. Castejon","doi":"10.1109/SIBGRAPI-Tutorials.2009.13","DOIUrl":"https://doi.org/10.1109/SIBGRAPI-Tutorials.2009.13","url":null,"abstract":"Imaging systems, particularly those on board satellites, provide a repetitive and consistent view of the earth that has been used in many remote sensing applications such as urban growth, deforestation and crop monitoring, weather prediction, land use mapping, land cover mapping and so on. For each application it is necessary to develop a specific methodology to extract information from the image data. To develop a methodology it is necessary to identify a procedure based on image processing techniques that is more adequate to the problem solution. In spite of the application complexity, some basic techniques are common in most of the remote sensing applications named as image registration, image fusion, image segmentation and classification. Hence, this paper aims to present an overview about the use of image processing techniques to solve a general problem on remote sensing application. A case study on an urban application is provided to illustrate the use of remote sensing technologies for solving the problem.","PeriodicalId":113732,"journal":{"name":"2009 Tutorials of the XXII Brazilian Symposium on Computer Graphics and Image Processing","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121348911","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Multiscale Methods for Image Processing: The Wavelet and the Scale-Space Approaches","authors":"L. Dorini, N. J. Leite","doi":"10.1109/SIBGRAPI-Tutorials.2009.11","DOIUrl":"https://doi.org/10.1109/SIBGRAPI-Tutorials.2009.11","url":null,"abstract":"Multiscale approaches have been largely considered in several signal processing applications. They play an important role when designing automatic methods to cope with real world measurements where, in most of the cases, there is no prior information about which would be the appropriate scale. The basic idea behind a multiscale analysis is to embed the original signal into a family of derived signals, thus allowing the analysis of different representation levels and, further, the choice of the ones exhibiting the interest features. This paper presents a brief survey of two broadly used multiscale formulations, namely, wavelets and scale-space filtering. We present the basic definitions and some possible applications of these approaches in image processing.","PeriodicalId":113732,"journal":{"name":"2009 Tutorials of the XXII Brazilian Symposium on Computer Graphics and Image Processing","volume":"126 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114061071","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Geometric Algebra: A Powerful Tool for Solving Geometric Problems in Visual Computing","authors":"Leandro A. F. Fernandes, M. M. O. Neto","doi":"10.1109/SIBGRAPI-Tutorials.2009.10","DOIUrl":"https://doi.org/10.1109/SIBGRAPI-Tutorials.2009.10","url":null,"abstract":"Geometric problems in visual computing (computer graphics, computer vision, and image processing) are typically modeled and solved using linear algebra (LA). Thus, vectors are used to represent directions and points in space, while matrices are used to model transformations. LA, however, presents some well-known limitations for performing geometric computations. As a result, one often needs to aggregate different formalisms (e.g., quaternions and Plücker coordinates) to obtain complete solutions. Unfortunately, such extensions are not fully compatible among themselves, and one has to get used to jumping back and forth between formalisms, filling in the gaps between them. Geometric algebra (GA), on the other hand, is a mathematical framework that naturally generalizes and integrates useful formalisms such as complex numbers, quaternions and Plücker coordinates into a high-level specification language for geometric operations. Due to its consistent structure, GA equations are often universal and generally applicable. They extend the same solution to higher dimensions and to all kinds of geometric elements, without having to handle special cases, as it happens in conventional techniques. This tutorial aims at introducing the fundamental concepts of GA as a powerful mathematical tool to describe and solve geometric problems in visual computing.","PeriodicalId":113732,"journal":{"name":"2009 Tutorials of the XXII Brazilian Symposium on Computer Graphics and Image Processing","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130763370","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Advanced Techniques in CBIR: Local Descriptors, Visual Dictionaries and Bags of Features","authors":"Eduardo Valle, M. Cord","doi":"10.1109/SIBGRAPI-Tutorials.2009.14","DOIUrl":"https://doi.org/10.1109/SIBGRAPI-Tutorials.2009.14","url":null,"abstract":"Local descriptors have been extensively used in CBIR systems, where their robustness to intense geometric and photometric transformations allows the identification of a target object/image with great reliability. However, due to their excessive discriminating power, their application to the retrieval of complex categories is challenging. The introduction of the technique of visual dictionaries (also known as dictionary of visual terms) is an important step towards the conciliation between the robustness of local descriptors and the flexibility of generalization needed by complex queries. As a bonus, we become able to employ advanced retrieval techniques which were so far available only for textual data.","PeriodicalId":113732,"journal":{"name":"2009 Tutorials of the XXII Brazilian Symposium on Computer Graphics and Image Processing","volume":"279 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123293843","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Unleashing the Power of the Playstation 3 to Boost Graphics Programming","authors":"André Maximo, Guilherme Cox, C. Bentes, R. Farias","doi":"10.1109/SIBGRAPI-Tutorials.2009.12","DOIUrl":"https://doi.org/10.1109/SIBGRAPI-Tutorials.2009.12","url":null,"abstract":"This tutorial is intended for programmers who are interested in boosting their graphics application using a different architectural paradigm: the Cell Broadband Engine (Cell~BE). Our main idea is to focus on performance issues that can be efficiently handled by the multicore and vector facilities of the Cell~BE. We aim to offer to programmers an alternative way for high-performance graphics rather than the use of Graphics Processing Units (GPUs). The Cell~BE processor is the first implementation of a chip multiprocessor with a significant number of general purpose programmable cores. It is a heterogeneous multicore chip capable of massive floating point processing optimized for computation-intensive workloads that opens up the possibility of implementing highly parallel graphics application on a single chip. Our goal in this tutorial is to introduce the Cell~BE Architecture, show the main differences in its programming model, describe its development environment, and give some step-by-step examples of Cell~BE programs. We also introduce the usage of a Playstation 3 (PS3) as a high-performance Cell platform.","PeriodicalId":113732,"journal":{"name":"2009 Tutorials of the XXII Brazilian Symposium on Computer Graphics and Image Processing","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122656944","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}