Title: Optical Music Recognition
1Optical Music Recognition
- Ichiro Fujinaga
- McGill University
- 2003
2Content
- Optical Music Recognition
- Levy Project
- Levy Sheet Music Collection
- Digital Workflow Management
- Gamera
- Guido / NoteAbility
3Optical Music Recognition (OMR)
- Trainable open-source OMR system in development
since 1984 - Staff recognition and removal
- Run-length coding
- Projections
- Lyric removal / classifier
- Stems and notehead removal
- Music symbol classifier
- Score reconstruction
- Demo
4OMR Classifier
- Connected-component analysis
- Feature extraction, e.g
- Width, height, aspect ratio
- Number of holes
- Central moments
- k-nearest neighbor classifier
- Genetic algorithm
5Overall Architecture for OMR
Image File
Staff removal Segmentation
Recognition K-NN Classifier
Output Symbol Name
Optimization Genetic Algorithm K-nn Classifier
Knowledge Base Feature Vectors
Best Weight Vector
Off-line
6Lester S. Levy Collection
7Lester S. Levy Collection
- North American sheet music (17801960)
- Digitized 29,000 pieces
- including The Star-Spangle Banner and Yankee
Doodle - Database of
- text index records
- images of music (8bit gray)
- lyrics (first lines of verse and chorus)
- color images of cover sheets (32bit)http//levysh
eetmusic.mse.jhu.edu
8Digital Workflow Management
- Reduce the manual intervention for large-scale
digitization projects - Creation of data repository (text, image, sound)
- Optical Music Recognition (OMR)
- Gamera
- XML-based metadata
- composer, lyricist, arranger, performer, artist,
engraver, lithographer, dedicatee, and publisher - cross-references for various forms of names,
pseudonyms - authoritative versions of names and subject terms
- Music and lyric search engines
- Analysis toolkit
9The problem
- Suitable OCR for lyrics not found
- Commercial OCR systems are often inadequate for
non-standard documents - The market for specialized recognition of
historical documents is very small - Researchers performing document recognition often
re-invent the basic image processing wheel
10The solution
- Provide easy to use tools to allow domain experts
(people with specialized knowledge of a
collection) to create custom recognition
applications - Generalize OMR for structured documents
11Introducing Gamera
- Framework for creation of structured document
recognition system - Designed for domain experts
- Image processing tools (filters, binarizations,
etc.) - Document segmentation and analysis
- Symbol segmentation and classification
- Feature extraction and selection
- Classifier selection and combiners
- Syntactical and semantic analysis
- Generalized Algorithms and Methods for
Enhancement and Restoration of Archives
12Features of Gamera
- Portability (Unix, Windows, Mac)
- Extensibility (Python and C plugins)
- Easy-to-use (experts and programmers)
- Open source
- Graphic User Interface
- Interactive / Batchable (scripts)
13Architecture of Gamera
Graphic User Interface (wxWindows)
Plugins (Python)
Plugins (C)
GAMERA Core (C)
14Example of C Plugin
- // Number of pixels in matrix
- include gamera.hh
- ifdef __area_wrap__
- define NARGS 1
- define ARG1_ONEBIT
- endif
- using namespace Gamera
- template ltclass Tgt
- feature_t area(T m)
- return feature_t(m.nrows() m.ncols())
15Example of Python Plugin
- // This filters a list of CC objects
- import gamera
- def filter_wide(ccs, max_width)
- tmp
- for x in ccs
- if x.ncols() gt max_width
- x.fill_matrix(0)
- else
- tmp.append(x)
- return tmp
16Gamera Interface(screenshot in Linux)
17Gamera Interface(screenshot in Linux)
18Histogram(screenshot in Linux)
19Thresholding(screenshot in Linux)
20Thresholding(screenshot in Linux)
21Staff removal Lute tablature
22(No Transcript)
23Classifier Lute(screenshot in Linux)
24Staff removal Neums
25Classifier Neums(screenshot in Linux)
26Greek example
27GUIDO Music Notation FormatH. Hoos, K. Renz, J.
Kilian
- A formal language for score-level
representation - Plain text readable, platform independent
- Extensible and flexible
- Adequate representation
- NoteServer Web/Windows
- GUIDO/XML
- NoteAbility (K. Hamel)
28GUIDO An example
\beamsOff \cleflt"treble"gt \keylt"D"gt
f1/8. g1/16 a1/4. d21/8 d1/4. c1/8
e11/2 _1/4 f1/8. g1/16 c21/4. b11/8
a1/4. g1/8 e1/2 f1/4 f1/8. g1/16
a1/4. d21/8 d1/4. c1/8 e11/2 _1/4
f1/8 g c21/4. b11/8 a1/4. c1/8 ,
29NoteAbility Demo
30Conclusions
- Gamera allows rapid development of
domain-specific document recognition applications - Domain experts can customize and control all
aspects of the recognition process - Includes an easy-to-use interactive environment
for experimentation - Beta version available on Linux
- OS X version in preparation
31Projections
Y-projections
back