Quarantine, GSOC and a world on fire


The experience that I have had in the past few months have been of a rather exclusive nature. The one that humanity has once every century, definitely not a critique on humanity or our definition of what is acceptable. I am just glad that I had got into GSOC and met the amazing folks at LibreHealth. The quarantine so far has been good and I am grateful for that.
The learning was immense on many levels. The plannings we did to solve problems in our weekly meets to learning about new tech stack. It was all amazing. Definitely learned a lot more about Linux and git :). But I believe it is just the beginning of the journey and there is a long way to go in FOSS world. I plan to improve this project to the best of my abilities.
I plan to keep in touch with my mentors and keep collaborating further, there are of course room for iterations and improvements. No software is ever complete. I just hope a lot of learning is to come in the future.
Link to detailed project descri…

Final Submission

"Problem statement"Our app is geared towards improving the dataset in Radiology domain. We provide gui interface to visualise the inferences and modify the inference output. This helps in increasing and improving the dataset. To summarise ML domain in Andrej Karpathy's words "Data is king" and we are making the data even better.
"Dataset" The dataset that we worked on is NIH 14 Chest-xrays. The dataset has 112,000 images of over 30,000 distinct patients. But for Object detection it has annotation data for just 900 images. Which to train for medical purpose is just unusable. So we decided we will start with this dataset. "Web App flow"[ Frontend ] Here is the flow of the app:
Sign Up/ Sign In

Get Image and start annotations:
Things we can do: Select the Deep Learning model from which you want your annotations fromAdd more bounding boxesRemove bounding boxesChange the label of bounding boxesAdd more labels to the label list

Switch to segmentationAdd …

GSOC Coding: Week 11

"Previously on LibreHealth GSOC 2020"[ Recap ]The app is ready, some requests were done by my mentors. which I have been adding.

"Finalising features UI and everything"[ Work ] Here is the look at the webapp in its full glory:

This week I have added validation for diseases, and a logging on the backend for keeping the track of who is adding more labels to the already provided label. Tweaked the theme color to match the logo's color.
I have also started the work on frontend segmentation tool. It should be finished soon.
"Next week"[ On LibreHealth ] 1) Complete the segmentation tool.
2) Start making final documentations.

GSOC Coding: Week 10

"Previously on LibreHealth GSOC 2020"[ Recap ]The segmentation integration is completed and valid output is coming."UI and other features"[ Work ]1) Added feature for downloading the annotation data in CSV format. Made all the necessary changes to the UI and Backend to facilitate this.
2) Added Snackbars for notifying user about the status of uploads.
3) Trained the retinanet few more steps to get better results.
"Next week"[ On LibreHealth ] 1) Start working on adding the segmentation functionality to the Frontend.

GSOC Coding: Week 9

"Previously on LibreHealth GSOC 2020"[ Recap ]The demo backend and frontend was connected and they are working. Added support for UNET for segmentation.
"UNET model served"[ Work ]I have served the model and updated the frontend and backend accordingly. Everything on the DevOps side is working fine. But the segmentation output is coming out gibberish. I'am currently trying to figure out what is happening wrong.
"Next week"[ On LibreHealth ]1) Complete the Segmentation integration. 2) Start looking into OHIF viewer.

GSOC Coding: Week 8

"Previously on LibreHealth GSOC 2020"[ Recap ]The demo backend and frontend was connected and they are working. Added support for multiple models. Trained tf2 resnet.
"Trained retinaNet in tf1"[ Work ] The previous trained net was having too many bugs so I trained another model from scratch. Here are the diagnostics.

I have finished the deployment part as well. and integrated React with Django. (Django serves the react app now)."Next week"[ On LibreHealth ]1) Add Image segmentation support to the app

GSOC Coding: Week 7

"Previously on LibreHealth GSOC 2020"[ Recap ]The demo backend and frontend was connected and they were working (with some bugs!).
"Trained retinaNet"[ Work ]This week has been all about training the retinanet model. Tensorflow just released Object detection API support for tensorflow v2. And it had bugs. So I ended up training the model from scratch and since there is a scarcity of data had to do some data augmentation to get nice results. The training went pretty well here is the loss curve:

Although the loss looks pretty good, it can be further improved. And I will try that in the coming week.
"Next week"[ On LibreHealth ] 1) Start the segmentation part.
2) Improve this model.