An Application For Automatic Multiple-Choice Test Grading On Android
An Application For Automatic Multiple-Choice Test Grading On Android
An Application For Automatic Multiple-Choice Test Grading On Android
Abstract There are currently several commercial automatic introduzida nos Estados Unidos em 1932 (IBM 805 Test
graders for multiple-choice test sheets, usually composed by a Scoring Machine), sendo j naquela poca utilizada para
software and scanner bundle. But the wide spread of laptops, avaliar testes de mltipla-escolha. Para sua implementao so
tablets and smartphones with integrated cameras offer new frequentemente utilizados scanners dedicados a OMR ou
possibilities to perform the same task without the need for any scanners de imagem convencionais. No caso de um scanner de
extra hardware or software and with the benefit of low cost imagem, um software OMR processa a imagem com eficcia
mobile execution. This paper presents an application for Android similar a dos scanners dedicados a OMR [4], porm com
smartphones and tablets that uses the OpenCV library. desempenho baixo, mas com algumas vantagens tais como
Furthermore, a new image processing technique is presented for
baixo custo e a possibilidade de usar formulrios OMR
finding outer borders of objects. This application showed
excellent results in tests for the correction of hundreds of
especficos de acordo com a necessidade do usurio [5, 6, 7].
multiple-choice test sheets in real conditions. H tambm vrios programas de OMR e OCR (Optical
Character Recognition) disponveis, assim como aplicativos
KeywordsImage Processing; Image Segmentation; para smartphones com iOS e Android voltados para a
Mathematical Morphology; Multiple-Choice Test; Optimal Mark decodificao de cdigos de barras e cdigos QR-code [5, 6, 7,
Recognition. 8, 9].
Neste artigo descrita a implementao do MCTest, um
I. INTRODUO corretor automtico de testes de mltipla-escolha para
dispositivos mveis com sistema operacional Android. O
Com a popularizao de smartphones, tablets e laptops MCTest utiliza um quadro de respostas mais simples do que
equipados com cmeras de alta resoluo, vrias tarefas antes de formulrios OMR convencionais, que pode ser construdo
realizadas por grandes mquinas se tornaram possveis tendo para o nmero de questes e respostas desejadas em editores de
mo apenas um destes pequenos dispositivos [1]. Uma texto comuns, alm de oferecer vrios recursos como a
alternativa interessante a possibilidade de corrigir testes de possiblidade de diferenciar gabaritos e testes de vrios tipos
mltipla-escolha usando apenas um smartphone ou tablet, diferentes e com pesos diferenciados para cada questo.
definido aqui por dispositivo mvel.
Embora a cmera desses equipamentos tenha qualidade II. PROCEDIMENTOS
suficiente para fotografar satisfatoriamente o gabarito do teste a
ser avaliado, a variao da distncia, do ngulo, da A. Descrio do MCTest
luminosidade na foto, entre outros fatores, dificultam o O MCTest um aplicativo mvel (App) disponvel
processamento das imagens, exigindo tcnicas refinadas de gratuitamente na Google Play Store e pode ser instalado em
segmentao de imagens. dispositivos com o sistema operacional Android. Aps
Existem vrios softwares populares para gerar testes, como instalado o App, o usurio pode criar Projetos para cada turma
o testesdemultiplaescolha [2] ou o Quiz-Press, tambm h de alunos. As regras de construes nos quadros de respostas
vrias solues recentes, como o Eyegrade [3], e h dos testes de mltipla-escolha devem seguir alguns critrios,
dispositivos e softwares comerciais especficos para corrigir detalhados em [10]. Em http://vision.ufabc.edu.br/MCTest h
testes, geralmente com custo elevado. Alm disso, no h vrios exemplos de formatos de testes para serem aplicados,
detalhes na literatura de metodologias e tcnicas populares para assim como as regras de utilizao deste App esto num
implementar corretores de testes ou resolver problemas tutorial. Neste artigo ser detalhada a parte de aquisio e
relacionados. processamento das imagens.
Atravs de uma tecnologia conhecida como Optical Mark As prximas figuras foram capturadas da tela de um
Recognition (OMR) [4] possvel fazer a aquisio de dados smartphone Samsung Galaxy Note 2, com Android verso 4.3
discretos contidos em formulrios predefinidos, detectando e ilustram o processo de correes de testes de mltipla-
com a ajuda de um scanner a presena ou no de marcas nos escolha usando o MCTest.
espaos reservados para preenchimento. Esta tecnologia foi
81
XI Workshop de Viso Computacional - October 05th-07th, 2015
B. Processamento de Imagens
As imagens capturadas pelos dispositivos mveis so
processadas usando a biblioteca de viso computacional
OpenCV [11] importada pelo ambiente de desenvolvimento
ADT (Android Developer Tools), verso 22.3 (disponvel em
http://developer.android.com/sdk), que inclui componentes
essenciais para o desenvolvimento de aplicativos para Android,
(a) (b)
Figura 3 (a) Aps fotografar, se a figura contm todo o quadro de respostas,
usando a linguagem de programao Java.
basta Enviar para Correo. (b) Correo de um teste de um aluno. Aps fotografada com a cmera do dispositivo mvel
(Figuras 1 e 2), a imagem salva na pasta do Projeto, (e.g.
A Figura 1 apresenta um quadro de respostas de um .../MCTest/test10/imgTemp.jpg). O exemplo que ser
gabarito, primeira imagem a ser processada pelo App antes de utilizado para exemplificar as tcnicas de processamento de
corrigir os testes dos alunos. imagens apresentado na Figura 5. Esta imagem em particular
Aps o processamento de um ou mais gabaritos (para representa um gabarito de uma prova do tipo 15, pois todos os
vrios tipos diferentes de testes em um nico Projeto), bits da ltima coluna esto preenchidos. Este tipo 15
fotografar um teste para realizar a correo, como ilustra a interessante, pois ilustra bem o problema de deteco dos
Figura 2. extremos do quadro de respostas, como veremos a seguir.
82
XI Workshop de Viso Computacional - October 05th-07th, 2015
83
XI Workshop de Viso Computacional - October 05th-07th, 2015
// fechamento para preencher buracos pequenos Figura 14 Imagem destacando os 4 extremos do quadro de respostas.
Imgproc.morphologyEx(imgGray, imgGray,
Imgproc.MORPH_CLOSE, se);
84
XI Workshop de Viso Computacional - October 05th-07th, 2015
// perspectiva usando getPerspectiveTransform e turma classB2, com 64 testes, tambm com os mesmos 4 tipos
// warpPerspective diferentes de gabaritos, apenas um dos testes apresentou o
mesmo problema (na pasta classB2, veja teste nmero 49).
// 4 pontos extremos calculados anteriormente Portanto, fortemente recomendado ao aluno pintar por
Point[] ap = new Point[4]; completo o quadrado correspondente resposta escolhida, de
ap[0] = p1; ap[1] = p2; ap[2] = p3; ap[3] = p4; preferncia com caneta preta. O filtro do MCTest considera
marcados quadrados com pelo menos 50% da rea pintada.
// padroniza tamanho da imagem em funo do
// nmero de questes e respostas
Fundo branco: ao fotografar, deixar algum fundo branco
int H2 = 20 *
em torno do quadro de respostas (entre as linhas verdes da
(Integer.parseInt(TelaLoad.strNumRespostas) + 2); Figuras 1 e 2), evitando surgimento de rudos nos extremos do
int W2 = 20 * quadro.
(Integer.parseInt(TelaLoad.strNumQuestoes) + 2); Iluminao: Ao fotografar um quadro de respostas, m
Mat imgOutt = new Mat(W2, H2, CvType.CV_8UC4); iluminao pode afetar as correes. Assim, escolha uma
ambiente bem iluminado, sem sombras, sem reflexes de luz, e
// nova perspectiva que em todo o quadro de respostas tenha a mesma intensidade
Point[] pts2 = new Point[4]; de luz.
pts2[0] = new Point(0, 0);
pts2[1] = new Point(W2, 0); Folha plana: O quadro de respostas deve estar em uma
pts2[2] = new Point(W2, H2); superfcie plana ao ser fotografado, principalmente para testes
pts2[3] = new Point(0, H2); com muitas questes, e, consequentemente, quadrados de
respostas pequenos. Isso pode fazer com que uma resposta de
MatOfPoint2f pi = new MatOfPoint2f(ap); uma questo fique cortada ao meio numa folha no plana,
MatOfPoint2f pf = new MatOfPoint2f(pts2); seguindo o modelo de soluo implementado no MCTest.
85
XI Workshop de Viso Computacional - October 05th-07th, 2015
ensino. Seria interessante tambm melhorar o processamento [4] Optical Mark Recognition. Disponvel em: www.omrsolutions.com.
de imagens para aceitar X em vez de pintar todo o quadrado Acesso em 10.04.15.
da alternativa da questo. Porm, quando isso foi testado, o [5] A. Spadaccini, A Multiple-Choice Test Recognition System based on
the Gamera Framework, Document Image Analysis with the Gamera
aplicativo deixou de ser robusto. Framework, vol. 8, pp. 5-15, 2009.
CONCLUSO [6] T.D. Nguyen, Q.H. Manh, P.B. Minh, L.N. Thanh, e T.M. Hoang,
Efficient and reliable camera based multiple-choice test grading
Foi apresentado um corretor de testes de mltipla-escolha, system, International Conference on Advanced Technologies for
implementado no sistema operacional Android utilizando Communications, 2011.
biblioteca OpenCV [11]. As tcnicas de processamento foram [7] D.J. Sen, R.N. Patel, e U.Y. Patel, Modern Database Technology Needs
detalhadas neste trabalho, principalmente um mtodo para Optical Mark Reading, International Journal of Pharmaceutical and
Applied Sciences 1(2), 56, 2010.
deteco de extremos de objetos foi definido. Os testes
[8] A.F. Mollah, N. Majumder, S. Basu, e M. Nasipuri, Design of an
realizados em vrias dezenas de provas mostram que o corretor Optical Character Recognition System for Camera-based Handheld
automtico de testes de mltipla-escolha apresenta taxa de Devices, International Journal of Computer Science Issues 8(1), 2011.
acerto de 100%, quando as questes so respondidas/pintadas [9] K. Chinnasarn, e Y. Rangsanseri, An image-processing oriented optical
corretamente. Alguns aperfeioamentos na segmentao das mark reader, Conference Series, Society of Photo-Optical
imagens esto sendo feitos para permitir que mesmo gabaritos Instrumentation Engineers (SPIE) Conference Series, vol. 3808, pp.
preenchidos apenas parcialmente possam ser reconhecidos pelo 702708, 1999.
MCTest. [10] F.A. Zampirolli, J.A. Guilici-Gonzalez, e R. Neves. Automatic
Correction of Multiple-Choice Tests using Digital Cameras and Image
Processing. Workshop de Viso Computacional (WVC), Rio de Janeiro,
REFERNCIAS 2013.
[1] K.M. Saipullah, A. Anuar, N.A. Ismail, e Y. Soo, Measuring power [11] OPENCV. Open Source Computer Vision. Disponvel em:
consumption for image processing on Android smartphone, American http://opencv.org. Acesso em 08.04.15.
Journal of Applied Sciences, vol. 9(12), pp. 2052-2057, 2012. [12] R.C. Gonzalez, e R. Woods. Processamento Digital de Imagens. So
[2] Cienciamao. Disponvel em: www.cienciamao.usp.br. Acesso em Paulo: Pearson Pentice Hall, 2010.
10.04.15. [13] L. S. Davis. "A survey of edge detection techniques." Computer
[3] J.A. Fisteus, A. Pardo, e N.F. Garcia, Grading Multiple Choice Exams graphics and image processing 4.3: 248-270, 1975.
with Low-Cost and Portable Computer-Vision Techniques, Journal Of [14] C. Lopez-Molina, B. De Baets, H. Bustince, "Quantitative error
Science Education And Technology, vol. 22(4), pp. 560-571, 2013. measures for edge detection." Pattern Recognition 46.4: 1125-1139,
2013.
86