# Python代写｜COM2004/3004 Assignment Developing a Chessboard Diagram classifier

You will build and evaluate a system that can take a printed chessboard diagram and
report which piece is on each square. The input to the system is a set of images in
jpeg format. The output is a sequence of labels representing the pieces, e.g. ‘k’ =
King, ‘q’ = Queen, etc. You are given labelled data sets for training and evaluation,

In the lab classes, you have been experimenting with techniques for classification
and dimensionality reduction. In this assignment, you will use the experience you
have gained to build a system for transforming diagrams of chessboards (taken from
books) and converting them into a representation of the chessboard state. This
involves taking the diagram of the full board, cutting it into 64 separate squares and
then working out what is on each square. The squares can either be empty or they
can contain a piece. A piece is either a white or a black pawn, bishop, knight, rook,
king or queen.

The images you will be processing have come from a classic book on chess published
in the early 20th century,

• Chess Fundamentals, José Raúl Capablanca (1921)

The task is not as straightforward as you might imagine because the mechanical
printing process, used at the time of publication, produces images that have a lot
variability (see Figure 1). Note that there are a lot of imperfections. However, you
are provided with a hand-labeled set of training data and if you use appropriate
techniques you should be able to build a very robust classifier.

To make the task more challenging:

1. You are also given a dataset in which the images have been corrupted, i.e., by
the addition of artificial noise. (Figure 2)

2. Your classification system can use no more than 10 features to represent each
square.

Two versions of the classifier are required.

1. Independent Square classification. In this version, the classifier has to make
a decision for each square using only the image of that square and no other
information, i.e., the system does not know the position of the square within
the board, or the appearance of other squares on the board.