Estudo de caso: rastreamento de cor

Estudo de caso: rastreamento de cor

 

Rastrear um conjunto de cores em um vídeo é uma primeira aproximação e estimativa inicial para muitas aplicações. De fato, determinar quais partes de uma imagem correspondem a pele, por exemplo, é muito importante para rastrear rosto ou mãos. O estudo de caso CMSoft apresenta uma técnica robusta a motion blur e que pode rastrear em tempo real em virtude da aceleração com OpenCL. Está disponível o código-fonte demonstrando como implementar um mouse usando uuma lanterna, ou seja, como usar a webcam e uma lanterna para executar movimento de mouse e clique.

O vídeo abaixo mostra o funcionamento do software. O usuário é convidado a utilizar o programa para sentir a movimentação do mouse em vez de apenas observar demarcação de cliques. Visite o estudo de caso de rastreamento de cor

 

 

CMSoft no VisCon

Submissão CMSoft para o IEEE VisCon

 

O campeonato IEEE Visualization Contest 2010 acabou e nós do CMSoft estamos satisfeitos de termos participado. Houve apenas 11 submissões e, embora não tenhamos sido premiados, estamos orgulhosos de pertencer a esse seleto grupo.

Nosso software foi criado usando um ambiente de interop OpenGL/OpenCL Interop que pode ser extrapolado para qualquer outra aplicação 3D. Faça o download do artigo CMSoft e das imagens e veja o vídeo enviado para o VisCon:

Reduções em OpenCL da AMD

Estudo de caso sobre Reduções em OpenCL da AMD

 

Soma de elementos de um vetor e cálculo de máximo e mínimo e outras operações são operações tipicamente seriais. Nesse estudo de caso, a AMD mostra algoritmos de redução para paralelizar essas tarefas e conseguir aceleração eficiente por GPU para as tarefas. 

O estudo de caso é bem geral e aplicável para uma ampla quantidade de problemas.

Visite o estudo de caso de reduções da AMD .

OpenCL Support Vector Machine

Support Vector Machine acelerado com OpenCL

 

Support Vector Machines (SVMs) é uma ferramenta estatística de aprendizagem computacional considerada como o estado da arte para muitas aplicações da atualidade, incluindo pesquisas médicas e classificação de texto.

CMSoft traz uma implementação de SVM acelerada por OpenCL com código fonte mostrando classificação do banco de dados de caracteres manuscritos MNIST.

Visite o recurso OpenCL SVM.

 

 

 

OpenCLTemplate 1.131

 

Download OpenCLTemplate

 

Alterações

– Adicionado algoritmo MachineLearning Support Vector Machine.

OpenCL 1.1

OpenCL 1.1

 

Com o recente driver AMD Stream SDK 2.2 e o OpenCL da NVidia, OpenCL 1.1 é uma realidade. Parabéns para os fabricantes e ao Khronos Group por mais um passo na direção de um padrão aberto, multi-plataforma e de alto desempenho.

Enquanto isso, continuaremos estudando algoritmos de decisão, resolução de sistemas lineares e busca em banco de dados usando GPU. 

OpenCL 1.1 em breve

OpenCL 1.1 em breve

 

Suporte oficial para o OpenCL 1.1 deve ser lançado por AMD e NVidia em breve. Algumas mudanças importantes envolvem a possibilidade de ler e escrever submatrizes ou buffer elements (variáveis). 

Enquanto isso, estamos trabalhando com Support Vector Machines para reconhecimento de padrões e um solver de equações lineares esparsas usando OpenCL. Leva um certo tempo para ajustar estes sistemas adequadamente e pretendemos incluir essas funcionalidades como CLPrograms do OpenCLTemplate.

Se interessa para você testar versões prévias dos sistemas acima, entre em contato.

Tutorial de Image2D OpenCL

Tutorial de Image2D OpenCL

 

Variáveis do tipo Image2D variables são importantes em OpenCL porque utilizam cache de textura e samplers da GPU e, por isso, são úteis para armazenar grandes arrays e/ou dados que precisam ser acessados muitas vezes.

O tutorial sobre Image2D cobre aspectos sobre como manipular Image2D e como reinterpretar vetores como variáveis do tipo Image2D, com código em C99 útil para recuperar dados de um vetor a partir de uma Image2D.Visite o Tutorial CMSoft sobre Image2D.

 

 

OpenCLTemplate 1.13

Download OpenCLTemplate 

 

Lista de Alterações

– Adicionado suporte a objetos OpenCL Image2D que podem ser carregados a partir de Bitmaps, byte[], int[] or float[];
– (OpenCLCodeChecker) Adicionados marcadores para funções de imagens.

Visualizadotr CMSoft CT Scan

CMSoft CT Scan Visualizer

 

CMSoft irá participar do IEEE Visualization Contest esse ano com um protótipo de software que permite cortar e esticar superfícies em tempo real usando interoperabilidade OpenGL/OpenCL para visualização de dados de tomografia computadorizada. 

Mais detalhes estarão disponíveis após a avaliação dos artigos. Veja esse screenshot como exemplo do que será apresentado:

 

Idéias sobre OpenCL

Novas idéias para uso do OpenCL

 

As atividades CMSoft, no momento, envolvem revisar e traduzir o tutorial de OpenCL, fazer ajustes no Lab3D e implementar novos algoritmos em matemática computacional. Interesses atuais:

– Visualização de isosuperfícies e dados médicos;
– Implementação de Gradiente Conjugado para problemas grandes;
– Reconstrução de geometria 3D com base em fotos estereoscópicas tiradas de câmera 3D.

Se você quiser sugerir um algoritmo ou ideia que gostaria de ver implementado, ou se quiser código e explicação sobre algum assunto do site,  envie um e-mail. Essa interação é fundamental para se criar código aberto em OpenCL de qualidade.