teaching a course of image processing and computer graphics for graduate level ... We report in the following topics, the issues related to the curricula of our ...
Teaching Graphics and Image Processing in the Scope of Information Engineering Celso Setsuo Kurashima and Marcelo Zanchetta Nascimento Universidade Federal do ABC Santo Andre, SP, Brazil. {celso.kurashima, marcelo.nascimento}@ufabc.edu.br
Abstract— This paper presents our recent experience with teaching a course of image processing and computer graphics for graduate level students of a M.Sc. program in Information Engineering. Our challenge was to find a way to teach an introductory course given some restrictions and historic context that made it quite different from traditional courses on computer graphics. We report the results of the realization of this course for the first time and the future plans. (Abstract) Keywords- computer graphics education, image processing, curricula.
I.
INTRODUCTION
This paper presents our recent experience on teaching a course on image processing and computer graphics for graduate level students enrolled with a M.Sc. program in Information Engineering at the Universidade Federal do ABC UFABC. The wide range of this M.Sc. program and the historic context of UFABC imposed some restrictions in the initial planning of the subjects of our lectures and class activities. For example, we only have twelve weeks of lectures per term and the students may have a diversified background according to their undergraduate diploma. Therefore, our challenge was to find a way to teach an introductory course on graphics and image processing which would cover all of the proposed topics and still meet student needs. Although our course has been already offered once with successful completion, we are still looking for improvements in the teaching methodology of this course in order to contribute more with the graduate program and to motivate students in their studies and research activities. We report in the following topics, the issues related to the curricula of our course of image processing and graphics within the context of the creation on the graduate program, as well as our first experience in teaching this course. Also we discuss the results and present our future improvement plans. II.
HISTORIC CONTEXT AND STRUCTURE OF GRADUATE PROGRAM
A. Historic Context of the UFABC and the Courses Our M.Sc. program in Information Engineering has its origins in the undergraduate program that has the same name in This work is partially sponsored by CAPES Project RH-TVD 231/2008.
our university. In September of 2006, UFABC began the first classes of undergraduate students in common courses based in Science and Technology, so that in the next years the students are able to choose among several B.Sc. programs in several fields of Sciences and Engineering. Information Engineering is a new area of knowledge, and it is a result of the convergence of traditional areas like Information, Communications, Multimedia Processing, and Computer Sciences; all of them being well contextualized to our society’s conditions. So, it is understood that Computer Graphics and Image Processing are two important areas of knowledge that are present in our day-by-day lives, i.e. they are part of products or equipments used by ordinary people. And this is an enough reason to include technological aspects of Computer Graphics and Image Processing in the curricula of an Information Engineering course. In September of 2007, the Master Course on Information Engineering began in UFABC, only one year after the start of the B.Sc. program. So, the design of the master program was a challenge for faculty members and the coordinator because there were no previous experiences in the same field within an undergraduate program. In this context, Computer Graphics and Image Processing became part of an area of concentration called Multimedia Processing as a field of research of our master program. This area of concentration also includes audio processing, digital signal processing, and communications signal processing. B. Challenging Aspects of the Graduate Program Our M.Sc. program on Information Engineering is composed by a set of introductory courses for each area of concentration. In this manner, the graduate student can choose the courses that are most important for his or her subject of the master’s thesis. On the other hand, for the course of Computer Graphics and Image Processing point of view, this means that we have to cover the most important subjects so as to provide students with enough tools for their research activities. This would not be a problem if we would not have time restriction. The academic year in UFABC is divided into three terms of 14 (fourteen) weeks per term. The lectures are given within only twelve weeks, and the other two weeks are left for finals evaluations. Anyway, this is quite different from
programs of traditional universities where the academic year is divided into two semesters of 18-20 weeks each semester. So, because we have a shorter term than a semester, the courses had to be carefully planned and could not be completely based on other courses given in one whole semester. A further challenge was that there are no prerequisites for the registration in the course, but to be a regular student of the M.Sc. program. Given the interdisciplinary ideology of UFABC and our program, we may have students with a diversified background, i.e. not only students from engineering or computer sciences, but also from human sciences or communications fields. III. IMAGE PROCESSING AND VISUALIZATION FOR THE M.SC. PROGRAM ON INFORMATION ENGINEERING Our course on graphics and image was officially called Image Processing and Visualization. When planning this course, we have noticed in the literature the work by Santos [1] on a course on Computer Graphics for their B.Sc. and M.Sc. programs on Informatics Engineering at New University of Lisbon. In first sight it seemed to be a good base for our course, given the subject of their course and the name of their program. However, their work had just a few points in common to ours, regarding to the curricula and to the approach. So, we considered that we would have to actually join two courses, Computer Graphics and Image Processing, into one. These are traditionally offered separated and independently from each other in programs for Electrical Engineering or for Computer Sciences. So, here in our program on Information Engineering we only could plan to present students with basics concepts in each topic, since we have only twelve weeks and four hours per week to present all topics. Deeper studies and discussions on any particular topic were left to the student that would be interested in doing so. We believe this approach goes in the same spirit of the course on computer graphics prepared by Cunningham [2]. One of his basic concepts is to consider computer graphics as a tool for solving problems on any field that involves image processing and visual communication. As the goal for our course on graphics and image processing we set the following: “To present fundamental concepts involved in the image processing steps, since acquisition mechanisms and image capturing, going through several kinds of transformations or digital processes used in practical applications, until image composition and synthesis for visualization or graphics presentations.” After that we had set the course topics and the approach, which are described in the next two subsections respectively. A. Course Topics or Curricula In order to meet the goals of our course and still keep the introductory nature we had set the topics listed below: •
Fundaments of Digital Image;
•
Visual Perception;
•
Image formation;
•
Sampling and Quantization;
•
Operators and Image Transformation;
•
Pattern Recognition;
•
Representation and Geometric Modeling in Graphics Environments;
•
Texture Mapping;
•
Image Composition and Blending;
•
Camera Modeling and Calibration;
•
Stereo Vision;
•
Illumination and Shading in Image Synthesis.
As for the basic bibliography we have selected only few well-known books in the area of computer graphics [3, 4] and image processing [5, 6]. B. Course Methodology Given the restriction of time and the large quantity of subjects to cover, our approach was to have students themselves making as many practical activities as possible along the weekly meetings. So, rather than using a classroom, we opted to stay in a computer laboratory that would have computers for all students. In this way, once the instructor presents theoretical concept that involves practical algorithms, right away the students can experiment it themselves with a programming tool in order to visualize the results and effects of that particular subject. Consequently, we believed this approach may lead to a better understanding of the essential subjects combined with a faster learning time. As complementary methodology, we proposed weekly exercises as homework, a mid-term project and a final-term project. The projects consisted of elaborating a computer program that applies computer graphics and image processing concepts respectively. The projects theme were left free to the student, but it should be related to the subject of the own research field of this or her master thesis. In this case, we believe the students would also improve the level of understanding the concepts by applying in practical projects, as well as they would have a high degree of satisfaction with the course expectation. IV.
IMPLEMENTATION DETAILS
Our course was offered for the first time in 2008, from midFebruary to late-May. The presentation of the lectures was divided between two faculties. One presented lectures in the first half term the topics mostly related to image processing, and the other presented lectures in the second half term the topics mostly related to computer graphics. In that term, there were only five graduate students enrolled in the course. Four of them were focused on researching in image and graphics fields, and only one had the research related to application of computing in human sciences. For each topic of the course, our basic pattern was to have an introductory part followed by examples of algorithms and the applications, which are presented with project slides to the students. Then, we present a practical guide with instructions to
execute the algorithm in the computer laboratory by programming in a development tool. After the students get the results of the guide, the instructor make final remarks and comments on the subject. Homework is handed out in the form of problems to be done by the students within a week. As a matter of practical issues, we have used the MATLAB environment and the image processing toolbox [7], for the part of image processing. The reason for that is because MATLAB was available in the computer laboratory and also because it is an easy to learn programming environment, and its image processing toolbox covers all the basic algorithms we needed. For the computer graphics part, we used the OpenGL API [8], for we consider it is an essential part of the course. The laboratory activities were carried out by programming OpenGL with C-language. As programming in C was not a prerequisite, we had showed students basic receipts to compile and execute a C program within the Linux environment. We also hand out pre-prepared codes, which are mostly the same examples of the reference [8]. RESULTS AND DISCUSSIONS
V.
At the end of this course on computer graphics and image processing, we have carried an evaluation of the course both by the students and by the instructors. Students answered to questions about their satisfaction with the course and with the instructors, as well as a self evaluation about their own performance. The course and the instructors were considered either satisfactory or very satisfactory by all the students. In their comments, the laboratory activities and the projects were considered very motivating for them. This result however is from a class of only five students, and might not the same if a larger class were enrolled in the course. Anyway, the degree of satisfaction is important in the evaluation of our methodology, and we can take these answers into consideration for the next time the course will be offered. In the evaluation by the instructors all students presented a satisfactory performance for the proposed activities. Table I shows the grading distribution for the overall evaluation of the students. Among these, two students presented more than satisfactory results in this course. This includes the both course projects of each student, where they proposed a complex work and effectively presented reasonable conclusions. Some months after the completion of the course, each of these two students submitted their respective work to different local symposiums and both were accepted [9, 10]. TABLE I.
OVERALL GRADING DISTRIBUTION OF STUDENTS GRADE
Quantity of students
A
2
B
2
C
1
Instructors also pointed out that a positive aspect of the course was the practical activities in the computer laboratory and the course projects that are able to result in research work. Of course this is not the usual case, nor is an expected result for
all students in the future. And because of this, the instructors discussed about the heterogeneity of the group of students enrolled in the course. So, the hypothesis is that even if a student has low skills in computation and programming languages, our methodology still allows students to reach the goals of the course. By now, there is not enough data to answer this question for sure. This course will be offered for the second time in 2009, from late-May to mid-September. After that, we expect to have more data to make a deeper analysis and have a more complete evaluation of our approach. VI.
CONCLUSIONS AND FUTURE PLANS
This paper presented our recent experience with teaching a course of image processing and computer graphics for graduate level students of a M.Sc. program in Information Engineering. This course was planned to teach only fundamentals aspects and basic concepts in computer graphics and image processing, since we had some restrictions like the short term’s length and scope of the graduate program. The authors believe the teaching approach, in which combined theoretical lectures with practical experiences in the laboratory, is positive for the students learning process on the several topics of this course. Moreover, if good students are enrolled, interesting results may arise in the end. Future plans for this course include elaboration of more practical laboratory activities, including examples of usage in several fields of research, so as to serve as references for students work. We also plan to use this methodology approach in the undergraduate courses related to computer graphics and image processing for B.Sc. program on Information Engineering of UFABC. REFERENCES [1]
Manuel Prospero dos Santos, “Computer Graphics in the Scope of Informatics Engineering Education,” Computers & Graphics, vol. 25, 2001, pp. 909–915. [2] Steve Cunningham, “Computer Graphics: Programming in OpenGL for Visual Communication,” Prentice Hall, 2006. [3] J.D. Foley, A. van Dam, S.K. Feiner, J.F. Hughes, "Computer Graphics Principles and Practice", Second Edition in C, Addison-Wesley, 1996. [4] Hearn, D. & Baker, M. P. “Computer Graphics with OpenGL.” Third Edition. Prentice-Hall, 2004. [5] R.C.Gonzalez; R.E.Woods. “Digital Image Processing.” 2nd ed. Prentice Hall, 2001. [6] J.C. Russ, “The Image Processing Handbook”, CRC Press, Inc., 1992. [7] The Mathworks Inc., “MATLAB”, online web page. Available in . Accessed in July, 1st, 2009. [8] OpenGL Architecture Review Board, Dave Shreiner, Mason Woo, Jackie Neider, Tom Davis, “OpenGL Programming Guide: The Official Guide to Learning OpenGL”, Version 2.1, 6th Edition, Addison-Wesley, 2007. [9] D.C.Pereira; M.Z.Nascimento; L.P.B.Scott; C.S.Kurashima. “Avaliação de Filtros Wavelets Aplicados no Pré-Processamento de Imagens Mamográficas”. In: Anais do XI Congresso Brasileiro de Informática em Saúde, Campos do Jordão, 2008. [10] O.Bassani Neto; C.S.Kurashima; M.Z.Nascimento. “OCR4JkanjiCards: Exploring Japanese Character Recognition”. In: Technical Posters of the XXI Brazilian Symposium on Computer Graphics and Image Processing (SIBGRAPI 2008), Campo Grande, MS, 2008. p. 9-10.