Image Processing Reference
6.2 User Interface
A row of four butons allows the user to load training XML, load test XML, classify test pieces,
and clear results. Above these butons sit textboxes displaying the paths to iles FPC will read
or write on the user's machine during use. At the very top of the UI is a checkbox allowing
FPC to select the training and test pieces from the collection randomly . Randomizing training
and test pieces requires XML to be loaded each time a trial is run (since Classifiers will likely
contain different data). Therefore, checking this box disables the “Load Training XML” and
“Load Test XML” butons, moving their combined functionality into the “Classify Test Pieces”
button. Below the row of butons is an information area, which displays the results of each
step including test piece classification. To the right of the information area can be found a pan-
el of checkboxes giving the user control over the metrics. Metrics can be turned on or of to
help the combinations producing the most accurate results be discovered. At the very bottom
of FPC sits a status bar that reflects program state.
6.3 Classification Steps
When the user clicks “Classify Test Pieces,” test piece data from the TXT files created in step
2 (collecting piece statistics) are read and loaded into memory. It is true that if the user has
performed steps in the normal order and loaded training XML before test XML, the test piece
data would still be in memory, and reading from file would not be necessary. However, due
to the sharing of Piece objects between training pieces and test pieces, if steps were done out
of order, the Piece objects, if still in memory, might contain training data instead of test data.
And because each TXT file is small, reading in the data proves a reliable way to ensure good
system state if, for example, the user were to load training and test data, exit the program, and
launch FPC again hoping to start classifying test pieces immediately without reloading. Here,
reading from files is the simplest solution.
Next, if the Classifiers are not already in memory, the data are read in from the Classifier.
TXT files produced in step 3 (collecting classifier statistics). For each test piece, its metric val-
ues are compared with those of each Classifier. Each classification technique then scores the
metrics and handles the results in its own, unique way.
6.4 Testing the Classification Techniques
Four-part music was selected comprising three composers: J.S. Bach, John Bacchus Dykes,
and Henry Thomas Smart. Dykes and Smart were nineteenth century English hymnists, while
Bach was an early eighteenth century German composer. Dykes and Smart were chosen for
their similarities with one another, while Bach was chosen for his differences from them.
Using all 19 metrics, 20 trials were run per composer combination: (1) Bach versus Dykes,
(2) Bach versus Smart, (3) Dykes versus Smart, and (4) Bach versus Dykes versus Smart. The
averages were then computed for each classification technique. Later, 20 more trials were run
for Bach versus Dykes using a subset of metrics thought most important.
Forty-ive pieces in all were used — 15 per composer — and randomization was employed on
each trial so that training pieces and test pieces could be different each time.