Robust OMR

Video and code to use OpenCLTemplate robust OMR.

In this video, I will explain how to detect optical markers (checkerboards and concentric circles) in outdoor environments using OpenCLTemplate OMR framework. This sample shows how to use images and videos.

My screen shows an image obtained with lighting conditions that are not controlled. What the code allows you to do is detect the checkerboard structure, with all checkerboard centers, and targets, with their colors and centers.

Key points

– Download framework from http://www.cmsoft.com.br/download/OpenCLTemplate.zip
– Include OpenCLTemplate and Cloo in references
– Initialize SuperPixel class and pass data using SetBmp for performance
– Analyze concentric regions and checkerboards
– Detection distance – CAM quality
– Download this example from http://www.cmsoft.com.br/download/RobustOMRDemo.zip (Visual Studio 2017)

 

For more details about the technique: please visit the text of my Thesis:
http://www.bdita.bibl.ita.br/tesesdigitais/lista_resumo.php?num_tese=73255

OpenCL and Computer Vision Talk at UFMG

The Department of Computer Science of Federal University of Minas Gerais – DCC/UFMG and Khronos Chapter Brazil have been working together to spread and strengthen industrial and scientific use of Khronos’ standards, most notably OpenCL and OpenGL.

On March 12th a talk was held with students and researchers of the Computer Vision laboratory – VeRLAB to present benefits of using GPGPU through OpenCL to accelerate CV algorithms.

Summary:

Machine learning and computer vision have become a reality in people’s daily life through smart wearables (smart glasses, watches phones), vehicles capable of recognizing traffic signs, biometric systems and many others. These technologies increase safety and comfort when using such machines and are currently object of active research. However, development of better algorithms and the possibility of executing them in mobile devices under acceptable time frames and lower energy consumption still remain as open challenges.

This presentation covers topics on how GPU parallel processing allows performance and energy efficiency increases when executing algorithms whose inputs are images. Accelerations up to 800x may be obtained by intelligent use of appropriate parallel algorithms suited to SIMD architectures, explicit cache management and use of texture samplers.

Resources:

Video: Generalized Hough Transform

Video: Dynamic shader:

Video: Heat transfer simulation

Applying Parallel Computing to Casino Simulations

One of the interesting use cases for OpenCL technology is simulating real-time casino environments, where high-performance data processing and rendering are essential. A prime example is the popular game Mines Aposta, where players reveal tiles while avoiding mines. This game style requires powerful parallel processing to handle user actions and deliver a seamless experience.

Case Study: Leveraging OpenCL for Gaming Simulations

OpenCL isn't just for scientific applications—it’s also revolutionizing the gaming industry. By using parallel processing, developers can create complex games with smoother gameplay. One example is the Mines Aposta Slot game, which takes advantage of OpenCL's GPU acceleration to provide high-performance, interactive gaming experiences.

In this case study, we explore how OpenCL was used in game development, from algorithmic optimizations to real-time graphic rendering.

If you're interested in exploring this further, try Mines Aposta. It's a fantastic showcase of how OpenCL can enhance performance in gaming and entertainment applications by efficiently managing high-load computations.

Simple CLGL Interop Demo

We have had some requests from users to post a simple OpenCL OpenGL Interoperation example using vertexes and we decided to post a fresh example.

This is the same video that is used in the tutorials. However, the code has been updated to use simple instructions from OpenCLTemplate.

OpenCL/GL Interop is a powerful tool to manipulate OpenGL graphics directly in GPU memory with minimal data transfer. All GL Buffer objects as well as textures can be manipulated.

 Download CLGLInterop demonstration.

SPIR Protects OpenCL C Code

One very important issue with OpenCL code at the moment is that it needs to either be compiled at runtime by vendor’s compilers or be precompiled but also restricted to the hardware it has been precompiled to. This is a problem because programmers cannot protect sensitive parallel code unless it is delivered precompiled to each specific platform, a very tedious task that completely challenges the goals of having an open specification.

Khronos’ SPIR (Standard Portable Intermediate Representation) specification is an important step towards protecting sensitive source code while still maintaining cross-platform capabilities.

This may very well be the last step that gaming industry and multimedia processing companies were waiting to fully incorporate heterogeneous computing into their applications.

Real-time simulations are not only important in scientific computing but also in the gaming industry. One great example of applying complex algorithms to real-time decision-making is the Mines Aposta Slot game. It’s a perfect example of how OpenCL can be used to power dynamic, resource-heavy gaming experiences, ensuring a seamless gaming environment with parallel processing. Take a closer look at how similar models can be developed for gaming applications.

Further details can be found at

https://www.khronos.org/news/press/khronos-releases-spir-1.2-specification-for-portable-encoding-of-opencl-dev

CMSoft Dynamic Shader Beta Release

CMSoft Dynamic Shader Beta Release

 

Download Dynamic Shader (beta)

 

We are proud to release CMSoft’s Dynamic Shader (beta), a software designed to let artists quickly bring to life their creations by providing a fast and easy way to create high quality shading of 2D pictures, such as the one below:

 

DynamicShaderrender

 

The following video demonstrates how to create automatic gradient filling for 2D pictures:

 

Dynamic shader aims to be a practical tool for professional art, concept sketches and people who just like to draw and paint alike. The algorithm uses concepts from dynamic programming in order to compute color gradients and perform automatic shading. Due to the large amount of processing power required it is necessary to have an OpenCL-enabled GPU.

Recommended hardware:
– 64-bit Windows with at least 4 Gb RAM
– OpenCL enabled GPU

Please keep in mind that Dynamic Shader is currently in beta version. Please do send us any and all suggestions/comments using the email

 

Many thanks to:

Grand Prix Senai de Inovação 2013, event during which Dynamic Shader was first unveiled.

Tales Vieira (drawing/shading) for the amazing picture and shading.

 

Download Dynamic Shader (beta)

 

Video agenda:

– Demonstrate the first beta release of CMSoft’s Dynamic Shader;
– Open a picture which contains an outline of the objects, like an image from a coloring book;

– Click the color picker button to draw color references onto the image;
– Drawing color references – colors get added to the sidebar

– Click render & save to draw image – strokes get saved in the same folder as the picture and are loaded when you open the image again

– Move mouse over color boxes
– Easy to change color – click color and pick a new color – render

– Remove color with right click

– Demonstrate bigger renders

Brasil Chapter – Presentations

Brasil Chapter – Presentations

 

Excellent talks and ideas were presented in the first Brasil Chapter meeting.

We’re proud to share some of the resources with the community (only available in Portuguese):

 

Introduction to heterogeneous computing – Profa. Dra. Denise Stringhini

 

Optical measurement system powered by heterogeneous computing – MSc Pedro Buschinelli

 

 

 

 

 

 

Khronos Chapter Brazil Meeting

Khronos Chapter Brazil Meeting

 

Update (28 Sep): Click to download more pictures of the event

 

 

The first Brazil Chapter meeting was held last Friday, Sep 20th.

It was an outstanding encounter where researchers, professionals and students were able to share their thoughts on their high performance applications as well as set goals for Brazil Chapter.

We will soon post more pictures, presentations and videos from the event.

We’d like to thank Khronos Group for making this all possible, all participants for coming and all the community for the interest and support.

 

KhrBrChap Motivation Heterog Computing

 

KhrBrChap Coffe Break

 

 

 

Posted on Categories LatestLeave a comment on Khronos Chapter Brazil Meeting

Case Study: Leveraging OpenCL for Gaming Simulations

OpenCL is transforming not only scientific applications but also the gaming industry. By using parallel processing, developers can create immersive and interactive games. A prime example is the Ganesha Gold game, which takes advantage of OpenCL’s GPU acceleration to create smooth, high-performance gameplay experiences.

In this case study, we dive into how OpenCL can be used in game development, from optimizations of game algorithms to improving real-time graphics rendering.

Brazil Chapter Meeting

Brazil Chapter Meeting

We’re pleased to invite the OpenCL community to take part in the first meeting of the Brazil Chapter, scheduled to Sep 20th in Belo Horizonte – MG.

Our discussion will be focused on using OpenCL and parallel processing to increase software industry competitiveness by allowing lower energy consumption and faster software.

If you would like to participate please .