This mobile app uses a trained machine learning model to detect whether an image contains a snake or not. It is designed to assist with environmental monitoring and awareness, particularly useful in areas affected by invasive snake species.
- Author: Domingo Montesdeoca González
- School: I.E.S LOMO DE LA HERRADURA
- 📸 Upload or capture an image from your camera.
- 🤖 Uses a trained AI model to predict if the image contains a snake.
- ✅ Returns a clear result:
Snake
orNo Snake
. - 🗂 Works with JPEG and PNG images.
- 🔒 Offline mode available (depending on model integration).
- 🌍 Can be adapted to specific species or regions (e.g., Lampropeltis californiae in Canary Islands).
- Framework: TensorFlow / Keras
- Architecture: MobileNetV2 (lightweight for mobile)
- Binary classification:
snake
vsno_snake
- Trained with a custom dataset labeled by experts
flutter pub get
flutter run
Make sure your device/emulator has access to the camera or file system.
- Launch the app.
- Tap "Select Image" to upload or take a photo.
- Wait a few seconds for the prediction.
- View the result and confidence score.
- The model successfully identified the presence or absence of a snake.
- The model incorrectly detected a snake due to lack of training examples with toy snakes or similar objects.
🔧 Recommendation: Add a new class in the training dataset for "toy snakes" or similar misleading objects to reduce false positives and improve accuracy.
- Add heatmap visualization using Grad-CAM.
- Improve dataset with more balanced class distribution.
- Integrate live video detection mode.
- Add species-specific detection for invasive snakes.
Feel free to open issues or submit PRs to improve the model or app functionality.
This project is licensed under the MIT License.
Made with ❤️ for biodiversity monitoring and conservation.