Atualizamos o software McLabEn, nosso software construído para experiências em algoritmos numéricos, para incluir capacidade de gráficos 3D em sistemas operacionais de 64 bits.
McLabEn é uma ferramenta escrita por nós alguns há alguns anos para pesquisas com algoritmos de propagação de incerteza, recuperação de dados a partir de imagens escaneadas e figuras e caminhos fechados em grafos orientados.
Essas ferramentas e o Manual em PDF estão disponíveis na Documentação.
A figura baixo mostra como é simples usar o McLabEn para resolver equações diferenciais:
Cansado de ler longos textos na tela de seu computador, ter que passar o texto para frente usando o scroll e se perder no processo?
Edmundo Mizutani, associado CMSoft e aluno da Universidade de Tohoku apresenta uma forma inovadora de ler utilizando um software de renderização dinâmica de texturas baseado em OpenGL e um rastreador de movimento de webcam.
Estudo de caso: Convolução de imagens usando memória __local
CMSoft apresenta um novo estudo de caso no tutorial de OpenCL: como otimizar a convolução de imagens usando as memórias __constant e __local. Acelerações de 25% ou mais podem ser obtidas. O código-fonte está disponível para demonstrar como implementar a otimização na prática. A figura abaixo mostra a ideia por trás do caching de dados em memória __local:
Demonstração da Transformada de Hough Generalizada acelerada com OpenCL
Continuando nossos esforços de pesquisa sobre reconhecimento de padrões, desenvolvemos uma ferramenta destinada a demonstrar os princípios da Transformada de Hough Generalizada (THG). A THG é uma ferramenta poderosa para identificar formas complexas na presença de incerteza e ruído nas bordas dos objetos a serem identificados.
Um requisito exigido para este Produto, entretando, foi a necessidade de o software executar todas as suas funções em sistemas sem OpenCL instalado. Isto é possível mas há uma queda em performance, conforme mostra a figura abaixo. São comparados os tempos de preprocessamento para a mesma imagem:
- Removed Event keeping in CLCalc.Program to avoid memory leak; - PREVIEW FEATURE: Added GLFont class to GLRender to allow creation of 3D Font models (GLFont and GLFont.Draw3DString - check Doxygen docs for details); - Added render-text-to-Bitmap functions to make generation of texture bitmaps easier; - Added ApplyTexture to CLGLInteropFunctions in order to create OpenGL textures in a format suitable for CL/GL interoperation;
- Added Image2D constructor to allow creation of OpenCL images from OpenGL texture buffers; - Textures can now be applied to GLRender.GLVBOModels and images can be retrieved using CLGL interop; - Added a new GLVBOModel creator from equations which does not require color equations; - GLVBOModel objects which don't have a Color VBO now use the .ModelColor property to set its color.
Transformada de Hough Generalizada acelerada com OpenCL
A Transformada de Hough Generalizada é uma técnica robusta para detectar formas geométricas na presença de ruído e oclusão. O algoritmo, contudo, pode ser muito lento quando muitos parâmetros, tais como rotação e escala, precisam ser considerados.
Segue uma previsão de um estudo de caso CMSoft em que iremos apresentar algoritmos em OpenCL para executar a transformada de Hough generalizada usando como entrada uma forma arbitrária definida pelo usuário (fornecida por meio de uma imagem em preto-e-branco), assim como o preprocessamento necessário.
No vídeo abaixo, conseguimos detectar 37 moedas com uma médis de 7 fps (detecção de círculos em tempo real) usando a Transformada de Hough Generalizada acelerada com OpenCL.
Estamos refinando alguns aspectos importantes do estudo de caso e o apresentaremos em algumas semanas.