{"id":26792054,"url":"https://github.com/lsa3edii/graduation_project","last_synced_at":"2025-04-22T12:46:10.443Z","repository":{"id":217694242,"uuid":"669483613","full_name":"lsa3edii/Graduation_Project","owner":"lsa3edii","description":"Medical Diagnosis System for Brain Cancer by Using Deep Learning Techniques","archived":false,"fork":false,"pushed_at":"2024-03-15T05:27:37.000Z","size":48417,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T15:19:42.435Z","etag":null,"topics":["api","artificial-intelligence","dart","deep-learning","firebase","flask","flutter","jupyter-notebook","python"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lsa3edii.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-07-22T12:31:04.000Z","updated_at":"2024-08-19T20:43:12.000Z","dependencies_parsed_at":"2024-03-15T06:42:29.941Z","dependency_job_id":null,"html_url":"https://github.com/lsa3edii/Graduation_Project","commit_stats":null,"previous_names":["lsa3edii/graduation_project"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsa3edii%2FGraduation_Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsa3edii%2FGraduation_Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsa3edii%2FGraduation_Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsa3edii%2FGraduation_Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lsa3edii","download_url":"https://codeload.github.com/lsa3edii/Graduation_Project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250243220,"owners_count":21398304,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","artificial-intelligence","dart","deep-learning","firebase","flask","flutter","jupyter-notebook","python"],"created_at":"2025-03-29T15:19:43.897Z","updated_at":"2025-04-22T12:46:10.418Z","avatar_url":"https://github.com/lsa3edii.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Graduation Project\n## Overview:\nOur project investigates the use of deep learning technology in the medical field, it is a medical diagnosis system for brain cancer that works using artificial intelligence algorithms such as deep learning techniques especially CNNs, for the model to classify magnetic resonance images (MRI), because traditional methods for classifying brain tumours take a long time to complete. Manual inspection and subject to human error. Therefore, we decided to create a mobile application with many features and linked it to the deep learning model that we had previously trained via an API to help doctors and patients identify whether patients have brain cancer or not.\n\nWe have created a mobile app to use the deep learning model smoothly and easily.\n- Users in our System → (Admin, Patients, and Doctor).\n\nWe have created a backend system to handle Firebase, Flutter UI, API, and deep learning model together, and API controller that facilitates seamless communication among different components of the system, ensuring efficient data flow and interaction.\n\n## Documentation \u0026 Presentation \u0026 Videos:\n- https://drive.google.com/drive/folders/1-nBuDhLhixJS_Xvh3dno9dHhzX-mTJ1d?usp=drive_link\n\n## Explanation of CNN Model:\nIn this video, I personally explain our deep learning model: https://youtu.be/B4n_O51cDB0?si=b8SmDj6EP-moFNME\n\n## Technologies \u0026 Tools:\n- Python Language\n- Jupyter Notebook\n- Colab Notebook\n- Flask Framework\n- Dart Language\n- Flutter Framework\n- Firebase \u0026 Database\n- Android Studio\n- VS Code\n\n## Some of Features:\n- Registration \u0026 Login \u0026 Logout\n- Google Authentication\n- Facebook Authentication\n- Email Verification \u0026 Data Validation\n- Chatting with doctor\n- Searching for certain user\n- Reset Password\n- Change Profile Data\n- Manage Users (Add \u0026 Delete)\n- Use AI to predict brain cancer MRI\n- Contact with developer\n\n## Workflow:\n![Pipeline](https://github.com/lsa3edii/Test/assets/87280713/058d8c91-df19-40a6-b49f-278d5f5c8b51)\n\n## Details of Our Datasets:\nTo create our Brain Cancer MRI (Magnetic Resonance Imaging) dataset, we collected some datasets, based on three different types of brain tumors (glioma, meningioma, pituitary) and another dataset does not contain any disease to train our model.\n- Number of Samples: 20000\n- [Training : Testing] Ratio → 16000 image : 4000 image → 80% : 20%\n- Diminution of images: (512 * 512)\n- Classes number: 4\n- Classes Labels: (brain glioma, brain menin, brain pituitary, no_tumor)\n\n## Links:\n- https://www.kaggle.com/datasets/obulisainaren/multi-cancer\n- https://www.kaggle.com/datasets/masoudnickparvar/brain-tumor-mri-dataset\n- https://www.kaggle.com/datasets/ahmedhamada0/brain-tumor-detection\n- https://www.kaggle.com/datasets/pradeep2665/brain-mri\n- The dataset we collected and trained the model on it: https://drive.google.com/drive/folders/1_q7Tx93ISIR3tF4vKlco9FFPfTfOZZN7?usp=sharing\n\n## Analysis \u0026 Distribution Datasets:\n![Screenshot 2024-01-04 082717](https://github.com/lsa3edii/Test/assets/87280713/b4bafd41-ff49-4618-82b7-b9f47cf0a23f)\n\n## Preprocessing:\nSteps for our Image Preprocessing:\n- Image Collection \u0026 Exploration\n- Image Reading \u0026 Cleaning\n- Image Resizing\n- Splitting Dataset\n- Save Preprocessed Images\n\n## Model Training:\n![Screenshot 2024-01-03 192332](https://github.com/lsa3edii/Test/assets/87280713/32f6df36-8093-4c74-a0c3-c4cfb1619cba)\n\n## Accuracy \u0026 Loss Graphs:\n![Screenshot 2024-01-03 192221](https://github.com/lsa3edii/Test/assets/87280713/7022a9c2-f237-4861-9d09-bb4123872bec)\n\n## Evaluation:\n![Screenshot 2024-01-03 192447](https://github.com/lsa3edii/Test/assets/87280713/614ec296-ccff-4dde-960a-f927b10197f6)\nWe have made some modifications to the model of the paper and changed the hyperparameters in the model many times to get the best results.\n\n## Comparison between Models:\n![Screenshot 2024-01-03 192247](https://github.com/lsa3edii/Test/assets/87280713/f5cb6fff-c4d1-42e7-b5c9-9514405435d1)\n\n## Discussion and Notes about Custom CNN \u0026 TL Models:\n- There are many problems with Alex-Net Model because it is overfitting, and model can’t work with the dataset. So, we can’t train this model and the solution is with other models, especially Custom CNN.\n- VGG16 Model and Res-Net Model have shown great results in a very small number of epochs during the training, and we rely completely on our project on our Custom CNN.\n- Therefore, we did not care much about training both models (VGG16 and Res-Net) any further, and we were satisfied with these results.\n\n## Future Work:\n- Make the scaling of application is larger to handle many different of users.\n- Make an application version for the web to make it easier for users to use our web app.\n- Add Video call for users and doctors.\n- Support different languages to gain more audience from all over the world.\n- Activate Facebook authentication.\n- Add dark mode theme to our application.\n- Train another model on object detection techniques to detect the Infected cells.\n- Train another model on NLP techniques for predicting brain prescription texts.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsa3edii%2Fgraduation_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flsa3edii%2Fgraduation_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsa3edii%2Fgraduation_project/lists"}