mm-deepsnake-v2 / README.md
jojo-ai-mst's picture
Update README.md
d2b5971 verified
|
Raw History Blame Contribute Delete
9 kB
---
license: apache-2.0
language:
- en
- my
tags:
- image-classification
- wildlife
- biodiversity
- myanmar
- snake
- yolo
- ultralytics
- computer-vision
- conservation
metrics:
- accuracy
model-index:
- name: MM-DeepSnake-v2
results:
- task:
type: image-classification
name: Image Classification
dataset:
name: MM Snakes Raw Images (Private)
type: custom
metrics:
- type: accuracy
value: 0.9314
name: Top-1 Accuracy
- type: accuracy
value: 0.9974
name: Top-5 Accuracy
---
# 🐍 MM-DeepSnake v2 β€” Myanmar Snake Species Classifier
[![Top-1 Accuracy](https://img.shields.io/badge/Top--1%20Accuracy-93.1%25-brightgreen)](https://mmdeepsnake.vercel.app)
[![Top-5 Accuracy](https://img.shields.io/badge/Top--5%20Accuracy-99.7%25-brightgreen)](https://mmdeepsnake.vercel.app)
[![Classes](https://img.shields.io/badge/Classes-10%20Species-blue)](https://mmdeepsnake.vercel.app)
[![Framework](https://img.shields.io/badge/Framework-Ultralytics%20YOLO-red)](https://ultralytics.com)
[![License](https://img.shields.io/badge/License-Apache%202.0-yellow)](LICENSE)
[![Website](https://img.shields.io/badge/Website-mmdeepsnake.vercel.app-informational)](https://mmdeepsnake.vercel.app)
MM-DeepSnake is an AI-powered image classification model for identifying **10 snake species native to Myanmar**. Built to support wildlife conservation, public safety, and biodiversity research, this model achieves **93.1% Top-1 accuracy** and **99.7% Top-5 accuracy** using a YOLOv2 medium classification backbone fine-tuned on a curated Myanmar snake image dataset.
🌐 **Live Demo:** [mmdeepsnake.vercel.app](https://mmdeepsnake.vercel.app)
This is **Version 2** β€” a major upgrade over the original VGG19-based v1 model (~62% val accuracy), delivering a **+31% accuracy improvement**.
> α€™α€Όα€”α€Ία€™α€¬α€”α€­α€―α€„α€Ία€„α€Άα€α€½α€„α€Ία€α€½α€±α€·α€›α€Ύα€­α€›α€žα€±α€¬ မြွေမျိုးစိတ်များကို ထမျိုးထစား ခွဲခြားရန်ထတွက် α€›α€±α€Έα€†α€½α€²α€‘α€¬α€Έα€žα€±α€¬ AI Project α€α€…α€Ία€α€―α€–α€Όα€…α€Ία€žα€Šα€Ία‹
---
## πŸ” Model Details
| Property | Details |
|---|---|
| **Model Type** | Image Classification |
| **Architecture** | YOLOv2m-cls (`yolo26m-cls.pt`) |
| **Input Size** | 640 Γ— 640 px |
| **Output Classes** | 10 Myanmar snake species |
| **Framework** | Ultralytics 8.4.15 (PyTorch) |
| **Parent Model** | `yolo26m-cls.pt` (ImageNet pretrained) |
| **Developed by** | [α€™α€„α€Ία€Έα€…α€Šα€Ία€žα€° (Min Si Thu)](https://huggingface.co/jojo-ai-mst) |
| **Website** | [mmdeepsnake.vercel.app](https://mmdeepsnake.vercel.app) |
| **License** | Apache 2.0 |
---
## πŸ“Š Performance
| Metric | Value |
|---|---|
| **Top-1 Accuracy** | **93.14%** |
| **Top-5 Accuracy** | **99.74%** |
| Training Loss (final) | 0.00994 |
| Epochs Trained | 100 |
| Training Time | 7m 23s |
| Compute | RTX PRO 6000 |
### Version Comparison
| Version | Architecture | Input Size | Top-1 Accuracy | Top-5 Accuracy |
|---|---|---|---|---|
| v1 | VGG19 (TensorFlow/Keras) | 300 Γ— 300 | ~62% | β€” |
| **v2 (this model)** | **YOLOv2m-cls** | **640 Γ— 640** | **93.14%** | **99.74%** |
---
## πŸ–ΌοΈ Sample Inference
![MM DeepSnake Inference Sample](https://huggingface.co/jojo-ai-mst/mm-deepsnake-v2/resolve/main/inference.png)
*Sample predictions from MM-DeepSnake v2 on unseen test images.*
---
## 🐍 Supported Species (Classes)
The model classifies images into **10 snake species** found across Myanmar, covering both venomous and non-venomous species common to the region. Visit the project website for the full species list with descriptions and venom information:
πŸ‘‰ [mmdeepsnake.vercel.app/pages/snakes.html](https://mmdeepsnake.vercel.app/pages/snakes.html)
---
## πŸš€ How to Use
### Requirements
```bash
pip install ultralytics>=8.4.19
```
### Inference (Python)
```python
from ultralytics import YOLO
# Load model
model = YOLO("jojo-ai-mst/mm-deepsnake-v2") # or local path to model.pt
# Run inference
results = model("path/to/snake_image.jpg")
# Print top prediction
for result in results:
top1_class = result.names[result.probs.top1]
top1_conf = result.probs.top1conf.item()
print(f"Predicted species: {top1_class} ({top1_conf*100:.1f}% confidence)")
# Top-5 predictions
for idx in result.probs.top5:
print(f" {result.names[idx]}: {result.probs.data[idx]*100:.1f}%")
```
### Inference (CLI)
```bash
yolo classify predict model=jojo-ai-mst/mm-deepsnake-v2 source=snake_image.jpg
```
### Batch Inference
```python
from ultralytics import YOLO
model = YOLO("jojo-ai-mst/mm-deepsnake-v2")
results = model("path/to/images/", stream=True)
for result in results:
print(result.path, "β†’", result.names[result.probs.top1])
```
---
## πŸ‹οΈ Training Details
### Dataset
The model was trained on a **private dataset** of Myanmar snake images, collected from across the country and carefully labeled by species.
| Split | Images |
|---|---|
| Train | 1,300 |
| Validation | 201 |
| Test | 379 |
| **Total** | **~1,928** |
> The training dataset is not publicly available to protect data integrity and prevent misuse.
### Hyperparameters
| Parameter | Value |
|---|---|
| Epochs | 100 |
| Batch Size | 16 |
| Image Size | 640 |
| Optimizer | Auto (SGD) |
| Initial LR (`lr0`) | 0.01 |
| Final LR (`lrf`) | 0.01 |
| Momentum | 0.937 |
| AMP | βœ… Enabled |
| Dropout | 0.0 |
| Flip LR | 0.5 |
| Erasing | 0.4 |
| HSV-H / HSV-S / HSV-V | 0.015 / 0.7 / 0.4 |
| Close Mosaic | 10 |
| Pretrained | βœ… Yes (ImageNet) |
### For further Training Command
```bash
yolo train device=2 model=yolo26m-cls.pt \
data=your-dataset-path \
project=min-si-thu/mm-deepsnake \
name=experiment-1 \
epochs=100 batch=16 imgsz=640
```
> ⚠️ Requires `ultralytics>=8.4.19`
### Hardware & Environment
| Property | Details |
|---|---|
| GPU | NVIDIA RTX PRO 6000 |
| CPU | AMD EPYC 9655 (96-core) |
| Platform | Ultralytics Cloud (Docker) |
| OS | Linux 5.15.0 (Ubuntu, glibc 2.35) |
| Python | 3.11.14 |
| Ultralytics | 8.4.15 |
---
## ⚠️ Limitations & Biases
- **Dataset size:** ~1,928 images across 10 classes is relatively small. Performance may degrade on unusual lighting, rare poses, or juvenile specimens.
- **Geographic scope:** Trained exclusively on Myanmar snake species. This model is **not suitable** for identifying snake species from other regions.
- **No rejection mechanism:** The model has no out-of-distribution detection. Passing non-snake images may yield confident but incorrect predictions.
- **Class imbalance:** Some species may have fewer training samples, potentially resulting in lower per-class accuracy for underrepresented species.
- **Not a medical tool:** This system is intended to assist β€” **not replace** β€” professional identification, especially in snakebite emergency contexts.
---
## 🌏 Intended Use
**Recommended uses:**
- Wildlife research and biodiversity surveys in Myanmar
- Public snake safety education and awareness
- Field identification assistance for researchers and conservationists
- Citizen science platforms and mobile applications
**Out-of-scope uses:**
- Medical diagnosis or snakebite treatment decisions
- Identification of non-Myanmar snake species
- Real-time safety-critical systems without human expert oversight
---
## πŸ“– Citation
If you use this model in your research or applications, please cite:
```bibtex
@misc{mm-deepsnake-v2-2026,
author = {α€™α€„α€Ία€Έα€…α€Šα€Ία€žα€° (Min Si Thu)},
title = {MM-DeepSnake v2: Myanmar Snake Species Classification},
year = {2026},
url = {https://huggingface.co/jojo-ai-mst/mm-deepsnake-v2},
note = {YOLOv2m-cls fine-tuned on private MM Snakes dataset, Top-1 Acc: 93.1\%}
}
```
---
## πŸ”— Related Links
| Resource | Link |
|---|---|
| 🌐 Website | [mmdeepsnake.vercel.app](https://mmdeepsnake.vercel.app) |
| 🐍 Snake Species Info | [mmdeepsnake.vercel.app/pages/snakes.html](https://mmdeepsnake.vercel.app/pages/snakes.html) |
| ☠️ Venom Information | [mmdeepsnake.vercel.app/pages/venom.html](https://mmdeepsnake.vercel.app/pages/venom.html) |
| πŸ“– About the Project | [mmdeepsnake.vercel.app/about.html](https://mmdeepsnake.vercel.app/about.html) |
| πŸ€— Author Profile | [huggingface.co/jojo-ai-mst](https://huggingface.co/jojo-ai-mst) |
| πŸ”§ Ultralytics Docs | [docs.ultralytics.com](https://docs.ultralytics.com) |
---
## πŸ“„ License
This model is released under the **Apache 2.0 License**. See [LICENSE](LICENSE) for full terms.
The base model weights (`yolo26m-cls.pt`) are provided by [Ultralytics](https://ultralytics.com) under their respective license.
---
*Developed with ❀️ for Myanmar's wildlife and communities by [α€™α€„α€Ία€Έα€…α€Šα€Ία€žα€°](https://huggingface.co/jojo-ai-mst)