Coder Social home page Coder Social logo

elcronos / covid-19 Goto Github PK

View Code? Open in Web Editor NEW
315.0 26.0 72.0 234.07 MB

COVID-19 Detector from x-rays using Computer Vision and Deep Learning

Dockerfile 1.56% Python 12.31% HTML 0.91% Shell 0.24% JavaScript 32.41% Kotlin 3.75% CSS 32.06% Makefile 0.88% Swift 14.79% Ruby 1.09%

covid-19's Introduction

Important

Hi everyone! We are splitting this main repo in repos for each project (android, ios, web, landing-page, core, etc). This should increase maintainability and separate concerns a little bit better.

The new repos will be grouped under our Github Organization. Here it is: https://github.com/FightCOVID19.

Please do not open new PR on this repo if your PR relates to any project found in the mentioned above. Do it on the corresponding project repo.


NEW CHANGE OF DIRECTION

We started this group with an altruist objective in mind: To diagnose COVID-19 in chest X-ray. We perceived that task as a healthcare necessity and we began to work on it. So, a team of highly commited engineers started to work with that single objective on mind. In that path we found doctors willing to contribute. We had several videoconferences with them and we realized the full potential of our project. So, we decide to switch from our original and not so realistic objective to other more meaningful and needed project. We will use the amazing skills of all the team to create a world high impact surveillance app. So, the model became a secondary objective to work on. However, we recognize the attention we capture with it and we want to use all these attention in the necessities of the world facing the COVID pandemic.

Following the feedback of the doctors in our group, the app we are currently working on will follow the next 4 principles:

  1. To detect alarm signs
  2. To relief the load of the healthcare system by redirecting the low risk patients to sites with reliable information about health care and redirect the high-risk patients to the closest medical facility.
  3. To serve as generators of real-time information.
  4. To keep close links with healthcare authorities and generate useful epidemiological information.

We are still designing an artificial intelligence model for chest โ€“ x rays. But we have a slight switch according the medical feedback. So, right now, our main objective is:

  1. To Identify if AI has a role in the chest X-rays of patients with suspicion or diagnosis of coronavirus.

We are looking for high quality in the model we are about to release. We are increasingly curating additional datasets and will properly validate it. We have a team of radiologist collaborating with us. So, we are going to incorporate this model in our open-source app once it is adequately trained and validated. We want to be crystal-clear about the intentions of the team. We keep believing in the high impact of an open-source app able to provide real time information for patients, to relief the load of the healthcare providers and give useful insights to governments and health authorities.

LICENSE

Creative Commons Licence
COVID-19 Detector by Camilo Pestana is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

covid-19's People

Contributors

andreslopera avatar ashwinpn avatar blackdemon007 avatar calaojuanpablo avatar cyoann avatar dalmouiee avatar diogofalken avatar elcronos avatar franciscohanna92 avatar hecsanchez avatar jisazatappsi avatar kant avatar nietzscheson avatar rubinho101 avatar sinongame avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

covid-19's Issues

Create Documentation and Design Software Architecture

We have got credits on AWS so we will be using that platform for the deployment. Please help us to create a diagram and documentation explaining the services we will be using:

  • AWS Cognito (Authentication)
  • DynamoDB to save information from user:
    • email (mandatory)
    • age (optional)
    • gender(optional)
  • Lambda Functions for (AI models)
  • AWS Steps (We need to filter the images so we will be applying lambda functions sequentially)
  • SQS: we will use a queue system for processing the images
  • S3: If user gives consent we will anonymize the image and save it to S3 for future work.
    Image name should be in the format below separated by underscores:
    random_hashed_num + gender + age + xray/ct + .jpg
    Examples of valid names for images:
    - 2f45516cf7ae4d516dd1cc6491e45fe7_anon_20_xray.jpg
    - 624e70841c34f2c5f8d120c292c0bcc_male_60_ct.jpg
    - 18c1ca26c5e6a5f009af4672a858887_anon_anon_xray.jpg

Radiomics Features

I am a PhD student at UNSW Sydney and work on implementing pattern recognition and computer vision techniques for rock imagery.

One of the key things I do is to use the radiomics implementation from medical discipline and apply it to rocks. The radiomics library allows calculating pattern recognition based statistical descriptors of region of interest or the image being investigated. Based on what I have read they are extremely powerful for cancer detection and hence, I believe its implementation for COVID-19 is crucial.

Here's where you can read about how widely it is used: https://www.nature.com/collections/ksgfknntbs/

There are many pre-existing libraries that already have the implementation to extract radiomic features. So we need to ensure that this can be a part of the pipeline and fine tune based on your approach.

Looking for people to collaborate on this! Let's do it :)

DELETING ISSUES

OP is deleting issues to conceal fraudulent nature of repo.

Get Pytorch models ready for production

We want to use Pytorch models as lambda functions using AWS.

However, we need to reduce the size of the model. One way of doing that is using caffe and ONIX.

TO-DO:

  • Create a script to convert a pytorch model to caffe using ONIX.
  • Right documentation on how to use the script, pytorch version need, etc.
  • Find if there is any alternative to reduce the size of a pytorch model for production

Image capturing feature for Android

1. User should be able to capture an image through the device

2. When finished, it should return to the app and image must be saved somewhere locally (figure out the best way)

NOTE: The intent to start image capturing would be on Home Screen after login called "Upload X-Ray"

Example:

Camera

Software/Mobile Developers

Hi, I'm Colombian dev

I'm not sure how popular or accurate would be this solution.

If it turns popular I can help you with developing Mobile/WEB/PWA solution.

I will open this issue if other devs want to join in this section.

Thanks for your work. I will read in deep in the night

Create Dataset xray vs tomographies

At the moment we just have data to create a model that works ok using xrays. We should be aiming to create a model that works as well using tomographies.

TO-DO:

  • Create dataset with images of xrays vs CTs.
  • Create the documentation of the dataset including things like the source of the images and the structure of the dataset. For example, how many images in training, test and validation are for each category.

Recomendations:

  • Images should be resized or crop such that their size it's a 224x224 or 300x300.
  • Please be consistent with the type of images. Only use .jpeg or .jpg images

Implement i18n

Web app should support internationalization.

Considerations:

  • Every language should have its own file for the strings (something like en.js, es.js, ru.js), so in the future others can colaborate and merge those changes becomes easier.
  • Use an existing and supported npm module for this. It's a plus if it has a simpler React integration.
  • Layout the folder structure and file naming. Provide a working example in one of the pages.
  • If needed, create actions/reducers to store the current language in the redux store.

Create Dataset Medical Images vs Non-medical Images

I suspect once we upload our model online. There will be people trying to upload images that are not related to xrays or CTs (tomografies). Our model should automatically detect this and act accordingly.

TO-DO:

  • Create a dataset with non-medical images (Such as selfies, pets, etc) vs medical (xrays, CTs).
  • Create the documentation of the dataset including things like the source of the images and the structure of the dataset. For example, how many images in training, test and validation are for each category.

Recomendations:

  • Images should be resized or crop such that their size it's a 224x224 or 300x300.
  • Please be consistent with the type of images. Only use .jpeg or .jpg images

Frontend

Hi @elcronos this is an amazing initiative, congratulations on starting it. I am a software engineer from Los Angeles, focused on developing Android applications. I'd love to contribute to this cause!

Frontend devs (Android/iOS/Web) feel free to comment on this issue. Let's get this going ๐Ÿ’ช

Improve dataset COVID-19 vs Normal

We should try to find more images of COVID-19 and normal cases. Both CTs and Xray.

TO-DO:

  • Create and curate a dataset including images of COVID-19, and Normal cases.
  • Create folders for test, train and validation with their correspondent subfolders (normal, covid19) and split data accordingly.

Recommendations:

  • If you have to split the dataset it should ideally be train: 80%, test: 10%, validation: 10%
  • Images should be resized or crop such that their sizes are 224x224 or 300x300.
  • Please be consistent with the type of images. Only use .jpeg or .jpg images

Open Source Helps!

Thanks for your work to help the people in need! Your site has been added! I currently maintain the Open-Source-COVID-19 page, which collects all open source projects related to COVID-19, including maps, data, news, api, analysis, medical and supply information, etc. Please share to anyone who might need the information in the list, or will possibly contribute to some of those projects. You are also welcome to recommend more projects.

http://open-source-covid-19.weileizeng.com/

Cheers!

Implementation

Hi, I'm currently working as a software engineer in the AI industry, focused mainly on video analysis. I do not have a huge experience, but I would be glad if I could help with the implementation. Probability it would be good is this app is deployed on a cloud server, where users couls upload images and get the result using an API, or maybe with some basic web app for this porpouse.

Landing Page

We bought the domain name fightcovid19.ai
(There were many other options we wanted to buy but were already gone !)

Help us creating an eye-catching landing page.

Adopt TODO.md for task list

Hi,
Thanks for creating this great project!

I have some thoughts about the project task list:

  • Today, it's hard to find out what are the current plans, ideas or tasks being worked on.
  • Having a source of truth like TODO.md will help users quickly know about them which leads to more engagement.

Please adopt a TODO.md file for task list like the example here - https://github.com/coddx-hq/coddx-alpha

image

Thanks.

Cloud+Api

Hi, I'm currently working as a software engineer in the AI industry, focused mainly on video analysis. I do not have a huge experience, but I would be glad if I could help with the implementation. Probability it would be good if this app is deployed on a cloud server, where users couls upload images and get the result using an API, or maybe with some basic web app for this porpouse.

Logo & Branding

We bought the domain name fightcovid19.ai
(There were many other options we wanted to buy but were already gone !)

Help us creating an eye-catching logo for our Landing Page and Web App.

Create AWS Lambda Layer with PyTorch

AWS Lambda have restrictions. PyTorch is too longer. When trying to deploy the project, AWS Lambda reports the out of memory error. PyTorch weighs: 758MB.

There is PyTorch layers with other versions. It could be a problem. We need to control the versions of the dependencies that we are going to use.

An alternative is:

  • Create and publish our own layer. With the specifications that requirements the project.
  • Take PyTorch from requirements.txt and use it only in development or on Docker.

Related: #18, #20, #29, #30

ANDROID DEVELOPER HERE

I am a professional android developer. I really want to be a part of this project. Is there any help I can do ?

Create a lambda function for our server api

Currently, we just have a server with the first version of the model ready to run using docker. We will conserve that code, but you will need to create a new folder and adapt that code to work using AWS Lambda

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.