http://www.ai.rug.nl/~axel/teaching/hwr/2008/

Handwriting recognition course 2008

Period 2b (block 4), 2008
Progress code: KIM.SCHR03

Goal

In this course you learn how an automatic handwriting recognizer works. During the course, you will work on the final assignment: make a recognizer for separate words in historical handwriting. This is the handwriting from the "Queen's Cabinet" (Kabinet der Koningin) at the Dutch National Archive (Nationaal Archief) in The Hague.

Several smaller assignments are steps towards the final assignment. You can train your program using a set of page images with word labels, while your recognizer program is tested using a separate test set. The word labels for the train and test sets are manually created by you and your fellow students in a joint effort.

Pagina uit het Nationaal Archief

Lectures

Prof. dr. Schomaker treats methods and background. In the last session, students give oral presentations.

Date Lecture hour 1 Lecture hour 2
21 April (wk 17) Introduction (sheets); History of scripts (sheets) Human writing (sheets)
28 April Human reading (sheets) Human reading (continued); lxj encoding
6 May Crash course in pattern classification (sheets) Crash course (continued); classification of handwriting (speaker: Axel Brink)
13 May Off-line recognition; preprocessing; segmentation Features (sheets)
19 May Features (Koen Haak) (sheets) Writer verification and identification (AB)
26 May Language and context modeling Hidden Markov Models
2 June (wk 23) Oral presentations (students) Oral presentations (students)
The user name and password for the lecture sheets are on Nestor.

Practical sessions

During the practical sessions, you work on the practical assignments under supervision of Axel Brink. You must work in pairs: 2 students per computer. Programming is done in a combination of Python and C++: Python for quickly creating the general framework; C++ for the low-level procedures. In the first practical session, you will be provided with a basic Python/C++ framework to quickstart the programming.

Handy links: Python tutorial - Python reference - C++ reference

Assignments

Weight Deadline Product High score
0% (obligatory) 29 April Assignment 1: word labelsN/A
10% 15 May Assignment 2: lxj-recognizer highscore
10% 29 May Assignment 3: first recognizer highscore
10% 2 June Oral presentationN/A
0% (optional) 5 June Concept report (for feedback)N/A
20% 12 June Assignment 4: final recognizer highscore
50% 26 June ReportN/A

You can miss one deadline. If that happens, then you have to submit your work before the deadline of the next assignment. If you miss more than one deadline, then all your submissions will be taken as submissions for the repeat (herkansing).

Repeat (herkansing): deadline August 31, 2008 (report and program).

Grades appear in Nestor. The final grade appears in Progress. There is no exam other than the mentioned assignments.

Literature

Links


Direct your questions to Axel Brink.

Last modified: 7 June 2008, morning, by Axel Brink.