Patrocínio, MG, outubro de 2016 ENCONTRO DE PESQUISA & EXTENSÃO, 3., 2016, Patrocínio. Anais... Patrocínio: IFTM, 2016. SISTEMA DE CORREÇÃO AUTOMÁTICA DE TESTES DE MÚLTIPLA ESCOLHA USANDO TÉCNICAS DE PROCESSAMENTO DE IMAGENS Mateus Fernandes Machado (IFTM Campus Patrocínio) 1 ; Cíntia Carvalho Oliveira (IFTM Campus Patrocínio) 2 ; Osmando Pereira Junior (IFTM Campus Patrocínio) 3 Modalidade: Pesquisa Resumo: A utilização de métodos de avaliação com folhas de resposta vem aumentando a cada dia em instituições, mas o tempo gasto na correção pode ser um obstáculo. Esse trabalho tem como objetivo resolver esse obstáculo, automatizando o processo de correção das folhas de respostas dos alunos. Foi criado um sistema Web para corrigir de modo automatizado os gabaritos e gerar um relatório para cada turma, com uma precisão de 97% de respostas corretas. O sistema é aberto a expansão, mudanças e aperfeiçoamento, visando melhorar a precisão e gerar relatórios mais completos e detalhados utilizando técnicas de processamento de imagens. Palavras-chave: Sistema Web; Processamento de Imagens; Correção de provas. Introdução Testes de múltipla escolha são vastamente utilizados como método de avaliação quando deseja-se verificar o conhecimento de um determinado grupo de pessoas (i.e. candidatos de um concurso) em vários assuntos e/ou áreas de conhecimento. Caracterizam-se por apresentarem um grande número de questões a serem solucionadas em um tempo restrito, geralmente poucas horas. 1 Estudante do Curso de Tecnologia em Análise e Desenvolvimento de Sistemas, voluntário PIVIC. mateusmachado@iftm.edu.br 2 Professora Orientadora, Me. Ciência da Computação. cintiaoliveira@iftm.edu.br 3 Professor Orientador, Me. Engenharia Elétrica. osmando@iftm.edu.br
A correção manual destes testes é mais rápida que a de um teste composto por questões discursivas, no entanto, quando aplicado em larga escala (a um grande número de candidatos), demanda tempo considerável de correção e maior atenção do corretor, haja vista que a quantidade de erros por ele cometidos durante a correção do teste aumenta com o nível de cansaço, e quanto maior o tempo requerido para a correção, maior o cansaço mental/psicológico do corretor. A folha de respostas, folha em que os candidatos assinalam a resposta correta de cada questão da prova de múltipla escolha, é a para todos os candidatos. Sendo assim, elas representam um gabarito, forma padrão que pode ser detectada e tratada automaticamente por técnicas de processamento digital de imagens. No Instituto Federal do Triângulo Mineiro IFTM Campus Patrocínio, é aplicada, trimestralmente, a todos os estudantes dos cursos técnicos integrados ao ensino médio, aproximadamente duzentos e cinquenta (250) alunos, uma prova pluridisciplinar de múltipla escolha (PLURI) composta de quarenta (40) questões. A correção manual destas provas exige um grande esforço por parte da Comissão Organizadora do PLURI. Propõe-se, neste projeto, o desenvolvimento de um software que realize a correção automática dos testes de múltipla escolha usando técnicas de processamento digital de imagens. 364 Objetivos Este trabalho tem o objetivo de desenvolver um software que realize a correção automática dos testes de múltipla escolha usando técnicas de processamento digital de imagens. Como consequência do objetivo principal, existem os objetivos de contribuir para o desenvolvimento técnico-científico do estudante pesquisador envolvido no projeto e reduzir o esforço demandado pela Comissão Organizadora do PLURI no que se refere à correção das provas de múltipla escolha. Metodologia
Para a realização do desenvolvimento do sistema foi necessário realizar uma pesquisa bibliográfica sobre atuais soluções para correção automática de testes de múltipla escolha, na intenção de verificar quais procedimentos estão sendo utilizados, quais estão dando certo e com mais precisão. Também foi preciso realizar um estudo bibliográfico das técnicas de processamento digital de imagens utilizadas em reconhecimento de padrões. Para o desenvolvimento do sistema foi realizado um estudo da linguagem de programação JavaScript e das bibliotecas disponíveis para uso relacionados com processamento de imagens. O desenvolvimento de um sistema Web foi escolhido pela possibilidade de usos que a tecnologia permite e do acesso a bibliotecas para facilitar a implementação das funções necessárias para o sistema. Realização de reuniões presenciais periódicas da equipe executora do projeto: professor orientador e aluno pesquisador. Aquisição das imagens referentes às folhas de respostas escaneadas e seus respectivos gabaritos. Desenvolvimento dos algoritmos em linguagem de programação específica para aplicação das técnicas de processamento digital de imagens visando reconhecer as respostas selecionadas e compará-las ao resultado correto. Após o desenvolvimento, foi feito uma comparação dos resultados obtidos pelo corretor automático com os obtidos pela correção manual a fim de determinar a taxa de acerto do sistema. Para se ter um bom parâmetro da precisão do sistema e sua eficiência, foi feita uma comparação dos resultados obtidos pelo corretor automático com os obtidos pelos corretores open-source divulgados na literatura. 365 Desenvolvimento Para o desenvolvimento do sistema, foram utilizadas algumas técnicas implementadas em outros sistemas de correção automatizada que apresentaram bom desempenho. Com isso, a construção do sistema traria uma boa resposta, rápida e com uma taxa de erro muito baixa.
O sistema foi desenvolvido com a linguagem de programação JavaScript e sobre a plataforma Node.js, que é uma plataforma desenvolvida em C++ sobre um motor de renderização de browser chamado V8, ambas as tecnologias foram criadas pela Google. (PEREIRA, 2014) Para o desenvolvimento com a plataforma Node.js foi utilizado a framework Express, uma framework que auxilia no desenvolvimento de aplicações Web utilizando Node.js. Segundo Caio Pereira (2014), ela contém diversas bibliotecas integradas para controle de sessão, manipulação de requisições e formulários, e permite a utilização de milhares de bibliotecas, chamados de pacotes, que auxiliam no desenvolvimento. Para armazenamento de dados, foi usado o MongoDB, um banco de dados nosql orientado a documentos. Foi escolhido esse banco pela facilidade de implementação e documentação disponível junto ao Node.js e também por manter a mesma linguagem de programação que todas as tecnologias até agora citadas, o JavaScript. Foram utilizadas bibliotecas para auxiliar no desenvolvimento, uma para conversão de PDF para PNG, uma para login e cadastro de usuários, chamada passport.js e uma para manipulação de imagem, de onde foram utilizadas as funções de ruído, inversão de cores, monocromático e vetorização. 366
367 Figura 1: Gabarito oficial recebido pelo servidor O planejamento feito para o sistema compreendia alguns requisitos essenciais, como cadastrar nomes dos alunos para facilitar identificação no resultado da correção, corrigir provas de forma eficaz e em um curto período de tempo e utilizar o arquivo.pdf gerado pelo IFTM com todos os gabaritos de cada turma para a correção, sem necessitar de alterar o modo de funcionamento da Instituição em função do sistema. Para a correção dos gabaritos, primeiro o sistema recebe o gabarito oficial através de um formulário. O gabarito oficial, como pode ser visto na Figura 1, então é processado, passando por um redimensionamento e pelo processo de binarização da imagem, e após isso tem suas cores invertidas, tornando onde é preto (intensidade de nível de cinza igual a 0) em branco(intensidade de nível de cinza igual a 255) e vice-versa, como pode ser observado na Figura 2.
368 Figura 2: Gabarito depois de processado pelo sistema A realização da binarização pretende facilitar a correção e permitir uma identificação mais clara de quais campos estão marcados; nesse processo, a imagem que é colorida é transformada para tons de cinza e depois, com um valor de limiar definido, os pixels cuja intensidade de nível de cinza for superior ao limiar, tornam-se brancos, e aqueles cuja intensidade de nível de cinza for inferior ao limiar, tornam-se preto (PEDRINI, 2008). Após a binarização, a imagem é vetorizada, transformando-se em uma matriz de dados, em que cada pixel fica em uma posição e recebe um valor de 0 a 255. A partir desse momento, o sistema busca localizar no padrão da folha de respostas do IFTM quais são as marcações e salvar em um vetor de respostas na memória, que será utilizado mais tarde para realizar uma comparação na nota dos alunos. Essa localização se dá por posições prédefinidas de acordo com o template padrão do Campus, em que cada coluna possui 20 (vinte) questões, essa coluna pode ser vista na Figura 3. Cada posição é identificada como um retângulo e é feito uma verificação dentro de cada retângulo para saber se está marcado ou não. Retângulos não marcados contém valores variando de 0 a 1000, e retângulos
marcados, entre 10000 a 20000, dependendo da forma de marcação, caneta e modo de marcar. 369 Figura 3: Coluna de marcações presente no gabarito binarizado Como o padrão do Instituto é de 40 questões, são verificados 160 retângulos de valores, onde cada questão tem 4 alternativas. Após a identificação de quais posições estão marcadas, é criado um vetor com as alternativas corretas que é armazenado na memória do sistema. Feito a verificação do gabarito oficial e a criação do vetor de respostas corretas, é enviado um novo formulário para o usuário pedindo informações sobre a turma, como curso e ano, e um novo arquivo PDF, contendo todas as folhas de respostas da turma citada no formulário. Para a correção das folhas de respostas é utilizado o mesmo procedimento que usado para a correção do gabarito, incluindo algumas verificações a mais caso não seja encontrada questões marcadas, ou estejam marcadas de forma errada, por exemplo, com pouca força, pouca tinta ou duas na mesma questão, o sistema emite um aviso fornecendo um feedback de qual
ou quais folhas de respostas estão marcadas de forma errada e pode ser necessária a correção manual. A correção das folhas de respostas da turma é realizada de forma assíncrona no servidor, isto é, o sistema roda vários requisições em paralelo, seguindo por etapas. Primeiramente, o PDF completo é convertido para imagens na extensão PNG, e as imagens são armazenadas em uma pasta temporária no servidor. Após isso, todas as imagens são binarizadas e invertidas, e são corrigidas através do posicionamento da marcação, assim como na correção de gabarito. Para cada folha de resposta é criado um vetor com a alternativa marcada. 370 Figura 4: Área para preenchimento do código do aluno Nas folhas de respostas dos alunos existe mais uma área de interesse para a correção automatizada, esta é a área onde fica marcado o código do aluno. Com esse código é possível identificar e relacionar o aluno com a folha de respostas corrigida, gerando um relatório mais completo no final da correção e mais simples de ser analisado pelo corretor. Esta área do código do aluno, vista na Figura 4, é corrigida assim como a parte de questões, através de retângulos para observação da marcação pela diferença de pixels presentes. Porém, a área do código do aluno apresenta um desafio para correção pois tem o funcionamento inverso ao das questões, sendo que a marcação e, consequentemente, a correção têm que ser feitas no sentido horizontal e não na vertical. Após o sistema corrigir todas as questões sem encontrar erros e conseguir obter o código do aluno, o vetor criado com a folha de resposta do aluno é comparado com o vetor de respostas do gabarito oficial e o que estiver
igual entre os dois é a pontuação do aluno. Após isso, é salvo no banco de dados o vetor com as marcações do aluno, a pontuação obtida, o código do aluno, seu curso e turma. Quando o sistema termina de corrigir todas as provas, é gerada uma lista de correção, contendo no cabeçalho o curso e turma da prova corrigida, um botão para imprimir a lista e a lista dos alunos, contendo seu código ou nome - para mostrar o nome, o código do aluno precisa estar cadastrado no sistema e a sua pontuação na prova, e caso algum erro ocorra, uma página é carregada dizendo quais páginas do gabarito não puderam ser corrigidas. Com toda a correção feita, o sistema deleta todos os arquivos enviados, o gabarito e as folhas de respostas de alunos, e está pronto para um novo uso. O sistema apresentou ótimos resultados no material utilizado para treinamento e testes, com uma taxa de acerto de 97%, sendo que os 3% de erro são referentes a uma única folha de respostas, cuja marcação a caneta está muito leve, impossibilitando o sistema de reconhecer quais campos estão marcados ou não. Nessa amostragem foram utilizadas 30 folhas de resposta. Ao testar o sistema em outros materiais, foi verificado que corrige folhas de respostas escaneadas com pequenas distorções em rotação e ângulo, sem comprometer a correção. Porém, variações no escaneamento relacionados a escala da imagem podem comprometer totalmente a correção. Assim, está sendo planejada uma nova forma de correção, adaptando a atual, a fim de ser possível verificar mudanças na escala do escaneamento sem interferir na correção da prova. 371 Considerações Finais O método de avaliação através de folhas de respostas é muito utilizado no IFTM, porém a correção, que é um processo lento e muito repetitivo, pode ser um obstáculo na hora de corrigiar tais avaliações. Com o desenvolvimento e implementação do sistema de correção automática, será possível realizar uma correção praticamente instantânea das folhas de respostas. O sistema é aberto para mudanças e pode ter mais funções incrementadas posteriormente, como uma atualização no sistema de correção
para aumentar ainda mais a precisão e uma análise mais detalhada dos dados obtidos por meio das correções, como o desenvolvimento de uma análise especifica para cada aluno, turma ou curso, verificando as pontuações por disciplinas e auxiliar nas tomadas de decisão sobre nivelamento de turmas, assim como observar índices que podem ser utilizados na avaliação da qualidade do ensino como um todo. O sistema será implementado e utilizado efetivamente no IFTM Campus Patrocínio, o que abrirá espaço para análises mais específicas e práticas do sistema e seu funcionamento relacionado ao ambiente institucional. 372 Referências PEDRINI, H.; SCHWARTZ, W. R. Análise de Imagens Digitais: princípios, algoritmos e aplicações. São Paulo: Thomson Learning, 2008. PEREIRA, C. R. Aplicações web real-time com Node.js. Casa do Código, 2013.