Project: Automatic labelling of Radiology Images

Hello Priyanshu,

I would love to work on this project. I have experience in object detection as I have worked on a similar project last year where I used Faster-RCNN for training. I have also worked on a similar dataset (Breast Cancer Histopathology images) where I have dealt with segmentation although with a different perspective. I will be working on the POC and I will share the github link with you soon. The training will be done on GPUs which I can access Monday onwards, so the expectedly I will submit it by next week. Thank you!

Hi @aishwhereya, welcome to the community. Sure please submit your repo here.

Hello, I’m Vishesh. I wanted to know what are we supposed to implement for POC. I found my skills relevent to this project and would love to contribute.

Hi @unicorn-io, you need to develop a simple web app where user can upload any image and model should output its predictions. This is just for poc. Later on you can submit your proposal for this project.

Hi @SinghKislay, I tried your repo, but I’am not able to run it. Below is the error :

Page not found (404)

Request Method: GET
Request URL: http://127.0.0.1:8886/api

Using the URLconf defined in libre_health.urls , Django tried these URL patterns, in this order:

  1. admin/
  2. api/

The current path, api , didn’t match any of these.

You’re seeing this error because you have DEBUG = True in your Django settings file. Change that to False , and Django will display a standard 404 page.```

Now, I have one more suggestion, you mentioned curl arguments as curl --location --request POST 'http://127.0.0.1:8000/api/xray' --header 'Content-Type: application/x-www-form-urlencoded' --form 'image=@[image_location]'

Here HTTP point is pointing to your localhost, which should be changed. You can upload it to github as well and mention in readme.

Please see this.

Hello Priyanshu, I’ll resolve the problem and push changes in few hours. I’m implementing the grad-CAM for labelling rn. I’ll host the whole POC with basic frontend when I’m done with it in few days.

Thank you for your feed back priyanshu, I have done the necessary changes. Now you just have to run the local server in your virtual env and then run the python script request.py in the main folder. (The previous error it seems was because of the wrong request url endpoint, it should have been ‘api/xray’ ). In response, you will get a list of 12 floats, each one gives the probability of the concerned disease. For testing purposes, I have used MobileNet, so the accuracy is 72%. But rest assured, In the final build I will be using the VGG pretrained on imagenet, we are expected to get the results similar to that of the cheXnet paper(According to some blogs, as the exact architecture is not mentioned in the paper).

Hello @pri2si17, I just implemented the grad-cam for labelling important areas, I think with object bounding boxes grad cam should also be there as sometimes when the neural networks generalises on a huge dataset it can give insights that might not have been anticipated by the annotators. I have pushed the code to my github, please take a look at it. You just have to spin up the virtual env, change the location of the img in inference.py file to your img and run it. It’ll draw a heat map on the image. I’ll be integrating it to the web app shortly. Probably by today itself. Thank you.

Hello Priyanshu Sinha, @pri2si17 @sunbiz

I had participated in imagine cup this year and prepared a similar project for it. I believe my project matches all your requirements for now. I would really be happy to work under your expert guidance and support to further enhance the project.

You can check out my fully working project along with herokuapp deployment:

Sometimes the web-app won’t load the first time, refreshing will work.

The project is based upon the following research papers: 1] X. Wang, Y. Peng, L. Lu, Z. Lu, M. Bagheri, R. M. Summers, Chestx-ray8: Hospital-scale chest x-ray database and benchmarks on weakly-supervised classification and localization of common thorax diseases, in: IEEE CVPR,2017**

2]Hoo-chang Shin, Kirk Roberts, Le Lu, Dina Demner-Fushman, Jianhua Yao, Ronald M. Summers, Learning to Read Chest X-Rays: Recurrent Neural CascadeModel for Automated Image Annotation, IEEE CVPR, pp. 2497-2506, 2016**"

I published a paper in IEEE conference this February, detailing how our approach was better than the above mentioned papers [in detecting some of the diseases]. We did data augmentation and hyperparameter tuning to achieve the goal.

I truly believe I can improve the model further, with better data cleaning and some more data scraping it would definitely be the finest model.

Please do suggest your thoughts, I would be glad to take your inputs and try to improve it.

The webapp is using a flask server and is hosted on herokuapp.

Please do reply, Thank you

Parag Ghorpade

1 Like

Hi @Parag0506, I looked at the demo, and it is impressive. And, yes you can truly improve this, as you need to add some features. I would suggest you to think at the broader level, prepare a whole flow of tool and make a good proposal. I would further comment after looking at your code. Till then provide docker file for your project, so that one can easily deploy your code on his local machine and test it. I would expect this to be done soon. :slight_smile:

@judywawira @sunbiz Please see this, I think he has baseline done.

Hi @SinghKislay, I looked at your repo and the issue still persists. Can you please check at your end provide instructions to actually run it. Also, if possible create a docker file and run your project from that. It will be helpful for you as well as us for testing as everyone will have same environment, If you can update your demo link, than also we can see your work. Currently, there is some issue.

If you are stuck at something, do let me know

Thank You @pri2si17, I will get to work with the docker file. Do let me know which features you need. Currently, the project creates a heatmap around the area it detects any disease. I believe you need bounding boxes? Do let me know if I should include it. Thank you for your inputs really appreciate it.

Please use GitHub/GitLab.

Going forward, students are not to use Google Drive to share their projects. Use GitHub/GitLab.

We need to also see that you can work with Git.

Sure I will upload it in the repository itself. Thank you for letting me know.

Ideally by committing, not uploading via the web.

How in god’s name is your Dockerfile 2GB?

Hello @pri2si17, I tried uploading the Docker to repository, but not able to get it working. The size of the Docker file is 2GB. Could you please suggest any way of uploading it on Github,Gitlab?

Thank you

push it to hub.docker.com – 2GB is nothing lol

Also @Parag0506 – your IMAGE is 2GB – the Dockerfile is just the commands the build your image. We only care about the Dockerfile – not the image er se – we can build it locally ourselves.