Prior to the event we have learned that cancer is the second most common cause of death in United States, according to CDC. Particularly, WHO reported 570,000 women* diagnosed with cervical cancer# and 311,000 deaths from this disease in 2018. However, cervical cancer is completely preventable if caught on pre-cancerous or early stages. Pap smear is a gynecological test, which allows to detect HPV infection (leading cause of cervical cancer), pre-cancerous and cancerous lesions of the cervix. This test is considered a “gold standard” for cervical cancer detection and is used worldwide for routine screening. According to recent data, Pap smears have single handedly reduced incidence of cervical cancer by 75% over the past 60 years in USA. Although Pap tests allowed to reduce incidences of cervical cancer, there is still room for improvement as this field as the disease is completely preventable and with improvement of screening technologies cervical cancer can be completely eliminated. Particularly, development of automated Pap smear analysis would allow to interpret more smears in reduced time as well as decrease workload of doctors and lab personnel.

What it does

Inspired by these stats and trends in cervical cancer rates, we decided to develop a web application linked to a machine learning model, which will allow to analyze histological images of Pap smears. Particularly, we have constructed a database and trained a machine learning model to identify and count cells on Pap smear image as well as classify them by one of the five most common cell types. Also, the developed machine learning model can identify clumps of cells in the image, which is indicative of cervical cancer. Moreover, we have linked the model to a web application to improve user experience and add intuitive interface to the application. The developed web application and machine learning model allow healthcare professionals to create an account in the service, create patient profiles, upload Pap smear images, and obtain analysis results, which include cell identification, classification by cell type, cell count, and cell clump identification. Moreover, interface of the application has user-friendly and visually appealing appearance which will improve user experience with the app.

How we built it

We have built our project using MERN stack for the web part of it - MongoDB as a database management system, React for front end, express.js for back end, and node.js as our server. We have used TailwindCSS and Headless UI for the developing the front end. The ML part of the project is developed using PyTorch, OpenCV, and Detectron2. We have used the Cervical Cancer largest dataset (SipakMed) dataset from Kaggle. Also, we have used Figma for the web pages design and Canva for the logo design. Finally, we have used Docker to simplify the development process.

Challenges we ran into

The biggest issue for us was dataset preparation and identifying cells on images. Also, image uploading and storing it in the database took us some time since we did not have experience with it.

Accomplishments that we're proud of

We have build an entire website and a machine learning model and connected them together to work in one project, which are very proud of. Also, our app can be helpful to prevent cervical cancer and help doctors, which are also proud of.

What we learned

We have learned how to manage our time more efficiently as well as how to use the Detectron2 library and expanded our knowledge on developing front and back ends using MERN stack.

What's next for

  1. Add zoom feature to uploaded images in physician profile to make final manual analysis more convenient and user-friendly.
  2. Train machine learning model to recognize microorganisms on the Pap smear to allow for automated diagnosis of gynecological infections.
  3. Add calculation of N/C ratio - ratio of nucleus area to cytoplasm area in the cell - to machine learning model. This will allow app to suggest cervical cancer as suspected diagnosis.
  4. Develop a cross-platform application for Android, IOS, MacOS, Windows, etc. to improve user experience.
  5. Implement security algorithms to protect personal information stored within the service.
  6. Add student account option to allow use of this application as a learning tool for medical professionals in training.

Discord usernames:

Built With

Share this project: