Resultado Final do Desafio

Classificação Nome Curso Semestre Exatidão (EMQ) Tempo médio 10000 execuções em s 
1 Gabriel Santos Barbosa e Willian Bastos Dias Ciências da Computação 2 0,0000 0,0014
2 Cristian Lennon C. Girão e Lucas Pereira Lima Ciências da Computação 2 0,0000 0,0019
3 Filipe de Almeida Lira e João Vitor Alves Holanda Ciências da Computação 2 0,0000 0,0021
4 João Wellington Mendes de Souza e Francisco Gleidson Nascimento de Queiroz Ciências da Computação 2 0,0000 0,0025
5 José Igor de Carvalho e Guilherme Pessoa Silva Ciências da Computação 2 0,0000 0,0026
6 Breno Alef Dourado Sá Ciências da Computação 2 0,0000 0,0038
7 Renan Camurça e Samuel Mendes Ciências da Computação 2 0,0000 0,0028
8 Daniel Queiroz Engenharia de Controle e Automação 3 0,0315 0,0055

Baixe aqui o código fonte da equipe vencedora: 1o. Desafio PPGER – código dos vencedores

Desclassificados (informações incompletas):

Nome Curso Semestre
Matheus de Sousa e
Pedro Alef Martins
Ciências da Computação 2
Ana Beatriz Freitas Leite e
Joelson Freitas de Oliveira
Ciências da Computação 2
Edy Silva Ciências da Computação 2
Gleysson Rocha e Nicolas Freitas Ciências da Computação 2
Cezanildo Araujo Junior e
Antonio Jonas Batista de Freitas
Ciências da Computação 2

 

 


 

Neste primeiro desafio para estudantes de graduação, os alunos com habilidades de programação em qualquer linguagem são convidados a implementar  o cálculo da GLCM (gray level cooccurence matrix) e 4 de seus principais atributos. A GLCM é um algoritmo bastante utilizado em processamento digital de imagens (PDI) para avaliar padrões de textura presentes em uma imagem em níveis de cinza. Neste desafio, o participante deverá implementar o algoritmo que calcula cada um dos elementos da matriz conforme explicado em aqui (em inglês).

A segunda etapa consiste em extrair 4 atributos da matriz, a saber Contraste, Correlação, Energia e Homogeneidade, segundo a explicação disponível aqui (em inglês).

Regras:

  • equipe de até 2 alunos
  • linguagem de programação permitida:  C ou C++.
    • não é permitido o uso de bibliotecas de funções além das padrões da linguagem como a math.h e a stdio.h.
    • não é permitido o uso de biblioteca de processamento de imagens como OpenCV ou equivalente.
  • imagem padrão da “Lena”, 512 x 512, no formato PGM: lena_PPGER.pgm (cabeçalho em ASCII e valores dos pixels em binário)
    lena_ppger
  • o algoritmo deve: 1) ler o arquivo da imagem, 2) armazenar a imagem em uma matriz, 3) calcular os elementos da matriz GLCM na direção horizontal à direita com deslocamento unitário considerando 16 níveis de cinza, 4) calcular os 4 atributos da GLCM, 5) calcular o tempo de processamento para 10.000 repetições sem contar o tempo de leitura do arquivo e 6) registrar os resultados em um arquivo texto (ASCII).
  • critérios de avaliação:
    • 1) exatidão numérica (quanto menor o erro, melhor) do cálculo dos atributos (A) comparado com os dados calculados por meio do software MATLAB:
      • >> I=imread('lena_ppger.pgm'); %
      • >> size(I)
        ans =
        512 512
      • >> G=graycomatrix(I,'NumL',16);
      • >> A=graycoprops(G) % valores corrigidos em 7-6-2016
        A =
         Contrast: 0.7109
         Correlation: 0.9527
         Energy: 0.0555
         Homogeneity: 0.7891
    • 2) tempo de processamento medido em milisegundos para 10.000 execuções  (quanto menor, melhor)
    • 3) uso de memória RAM para variáveis, medida em bytes (quanto menos, melhor)
    • 4) organização do código fonte: 0 – 10 pontos
  • classificação: ranking de melhores resultados conforme os critérios 1, 2 e 3 . Em caso de empate, será utilizado o critério 4 para desempate.

Público-alvo:

Alunos regularmente matriculados em disciplinas de Lógica de Programação, Linguagem de Programação, Fundamentos de Programação, Laboratório de Programação ou Programação Orientada a Objeto dos cursos de engenharia mecânica, engenharia de controle e automação, engenharia ambiental, tecnologia em manutenção industrial e ciências da computação do campus Maracanaú do IFCE.

Inscrições:

Envie mensagem com o título “desafio PPGER” para o e-mail ppger.ifce+desafio@gmail.com.

Anexar o código fonte em C ou C++ da implementação do algoritmo, um arquivo executável (Windows, Mac OS ou Linux) e um relatório com a descrição da implementação onde conste o nome dos alunos com respectivo número de matrícula, nome do curso e nome da disciplina. Atenção! Somente serão avaliados os trabalhos de alunos matriculados na disciplina.

Prazo para inscrição e envio dos documentos: até o final do semestre letivo.

Divulgação do resultado:

O resultado será divulgado neste site. O ranking é dinâmico e será atualizado à medida que os algoritmos forem avaliados, até o dia 27/05/2016.

Bônus: os alunos com melhor classificação no ranking e que estiverem matriculados nas disciplinas elencadas em público-alvo, poderão ter seus trabalhos avaliados para compor a nota parcial da segunda etapa do semestre.