This is an open-source project dedicated to helping people living in regions with a lack of dermatologists! π We've developed a Skin Cancer Detection App using React Native for the front end and TensorFlow, NumPy, and Python for the back end. The app empowers users to check if a naevus (mole) is benign or malignant.
- π· Camera Integration: Capture photos directly from your phone's camera.
- π Real-time Detection: Instantly send the photo to the TensorFlow model for analysis.
- π€ Machine Learning Magic: Utilizing TensorFlow, NumPy, and Python to distinguish between benign and malignant moles.
- π± User Permission: The app prompts the user for camera permissions.
- πΈ Capture Photo: Users can take photos of the naevus they want to analyze.
- π Model Processing: The app sends the photo to the TensorFlow model for analysis.
- π©Ί Diagnosis Result: The model processes the image and provides feedback on whether the naevus is benign or malignant.
- βοΈ React Native: For the frontend development.
- π§ TensorFlow: Powering the machine learning model.
- π Python: Backend development and model training.
- π NumPy: Handling numerical operations efficiently.
- π· Expo: Leveraging the React Native's cross-platform capability
- π Kaggle Dataset: The model has been trained on a curated dataset from Kaggle, ensuring robust and accurate predictions.
- π Web Deployment: I am considering deploying the app on the web for broader accessibility.
- π Improved UX/UI: I plan to enhance the user interface with nativewind.
A big shoutout to the open-source community and the incredible tools and libraries that made this project possible. Special thanks to my team members for contributing so much to this project! π
Also a big thank you to the authors of the
Melanoma and Nevus Skin Lesion Classification Using Handcraft and Deep Learning Feature Fusion via Mutual Information Measures
research paper for sharing their CAD system
Happy Coding! ππ©βπ»π¨βπ»
- Android or iOS device with a camera
- Internet connection for TensorFlow.js model updates (if applicable)
-
Clone the repository:
git clone https://github.com/VukIG/Melanoma-Detector.git
-
Install dependencies:
cd Melanoma-Detector npm install
-
Run the app and Scan the QR code with the Expo app from Play Store :
npx expo start --tunnel
-
Run the app on your emulator ( Optional if you don't want to use the expo app ):
Press w for web, a for android emulator ( Requires the AndroidSDK setup ) or i for ios emulator ( requires xcode )
Feel free to fork the repository and contribute to the development. Your suggestions and enhancements are more than welcome! π
We welcome contributions! If you have suggestions, found a bug, or want to improve the app, please open an issue or submit a pull request.
This project is licensed under the Apache 2.0.
The detailed explanation on how this app should work is in Serbian and can be accessed through this url: https://docs.google.com/document/d/1NwlALtB-bNRuoXDWS3nWsnSi3bMCoCZO5Nre84uz1rA/edit?usp=sharing