Image classification of radiography images

A healthcare center asked my team to provide them the solution to easily identify Pneumonia in the chest x-ray images. They even mentioned that the solution that we have to provide should predict pneumonia accurately even if there are other lung-related diseases like consolidation, edema, etc. present in the x-ray image. We have to provide a Deep learning based universal model which can detect pneumonia. I am stuck at the data acquisition point. I am unable to figure out what different chest x ray images should i ask for? Other than chest x-ray images having pneumonia, what other images should I look for? Should I look for images having other lung-related conditions (TB, edema, lesion, etc.) or should I look for images that are perfectly normal (don’t have any disease at all)?

You can’t do that well if you only get true positives for Pneumonia and Normal. If you train only on those the model will not know what to do in the real world when presented with a non-normal but also non-Pneumonia image. You should get as many images from as many classes as you can. Do you know for certain that only one class label can apply per image? That is, you don’t need to support Pneumonia AND lesion ?

BTW, you should also read the replies in the other thread you created on this topic and consider responding to the questions.

Thanks @ai_curious . Each x-ray image can have more than one labels. From what I understand, you wish to convey that if we only train the model with pneumonia vs normal images, then the model won’t be able to perform well on those images which have other diseases as well apart from pneumonia, right?

Many approaches to classification assume mutual exclusion. That is, if an image is true Positive for Cat, then it cannot simultaneously be something (anything else) - Dog, Motorcycle, Stop Sign etc. if that is not the case in your problem domain, then you need to make choices of output shape and activation function accordingly. See, for example, Multi-label vs. Multi-class Classification: Sigmoid vs. Softmax – Glass Box

When designing a model to perform a classification task (e.g. classifying diseases in a chest x-ray or classifying handwritten digits) we want to tell our model whether it is allowed to choose many answers (e.g. both pneumonia and abscess) or only one answer (e.g. the digit “8.”)

In order to make useful predictions about the many possible outputs, you need them represented in the labelled training data. Ideally, with more or less the same representation in the dataset, else you may need to also account for class imbalance.

Try an interweb search on something like multilabel neural network output chest xray which yields hits like this, for example,

Multi-Label Chest X-Ray Classification via Deep Learning

The goal of this paper is to develop a lightweight solution to detect 14 different chest conditions from an X ray image. Given an X-ray image as input, our classifier outputs a label vector indi- cating which of 14 disease classes does the image fall into. Along with the image features, we are also going to use non-image features available in the data such as X-ray view type, age, gender etc.

You may also need to deal with the challenge that not only are the clinical conditions not mutually exclusive, they are hierarchical. You end up with a taxonomy like this…

which requires network architecture beyond what you are being introduced to in these classes.

Thanks @ai_curious . Really appreciate your help.

1 Like