Skip to Main Content
X-ray testing is playing an increasingly important role in food quality assurance. In the production of fish fillets, however, fish bone detection is performed by human operators using their sense of touch and vision which can lead to misclassification. In countries where fish is often consumed, fish bones are some of the most frequently ingested foreign bodies encountered in foods. Effective detection of fish bones in the quality control process would help avoid this problem. For this reason, we developed an X-ray machine vision approach to automatically detect fish bones in fish fillets. This paper describes our approach and the corresponding validation experiments with salmon fillets. The approach consists of six steps: 1) A digital X-ray image is taken of the fish fillet being tested. 2) The X-ray image is filtered and enhanced to facilitate the detection of fish bones. 3) Potential fish bones in the image are segmented using band pass filtering, thresholding and morphological techniques. 4) Intensity features of the enhanced X-ray image are extracted from small detection windows that are defined in those regions where potential fish bones were segmented. 5) A classifier is used to discriminate between 'bones' and 'no-bones' classes in the detection windows. 6) Finally, fish bones in the X-ray image are isolated using morphological operations applied on the corresponding segments classified as 'bones'. In the experiments we used a high resolution flat panel detector with the capacity to capture up to a 6 million pixel digital X-ray image. In the training phase, we analyzed 20 representative salmon fillets, 7700 detection windows (10×10 pixels) and 279 intensity features. Cross validation yielded a detection performance of 95% using a support vector machine classifier with only 24 selected features. We believe that the proposed approach opens new possibilities in the field of automated visual inspection of salmon and other similar fish.