X-Ray Bones Segmentation

This master project is part of the Image Processing course carried out in the Swiss Joint Master in Computer Science.

The goal of this project is to recognize and segment bones in x-ray images of hands. The main systems in use today make use of machine learning techniques aimed at recognizing these structures. Here, we wanted to implement another strategy, trying to understand which of the many direct techniques are more appropriate in such a situation.

The algorithm we built consists of 3 parts. In the first we preprocess the image to create a mask that identifies areas of the image containing parts of bone. This is done by applying a Discrete Fourier Transform to the image to bring it from the spatial domain to the frequency domain. Here, we apply a high-pass Butterworth transformation, to remove the parts of the image with lower frequency, that correspond to the skin of the hand.

Once we have this mask, we apply it back to the original image, thus getting rid of the parts of the hand that don't interest us.

At this point, we apply an edge detection algorithm to better recognize the edges of the bones in this dataset. This algorithm is based on the Canny Edge Detector, which is known to be promising in recognizing edges. However, we have modified it to better process our images.

The results obtained are very good. Being a very complex task, we believe that the algorithm we developed can be a good starting point for more intense and targeted processing.