VetVision is a desktop AI assistant for dog breed recognition and breed-aware veterinary guidance. The public repository combines a CustomTkinter desktop application, an EfficientNet-based training script, local label assets, PDF export, and optional Gemini-powered report generation.
The opening visual above is assembled from the original report screens and evaluation artifacts so the repository leads with the real product surfaces.
- Loads a dog image from disk with file picker support and optional drag-and-drop
- Produces the top breed predictions from the trained model
- Shows the primary breed label and confidence score in the desktop UI
- Generates a veterinary-style text report with Gemini when an API key is available
- Exports the current result set as a PDF document
- Includes a training script for rebuilding the classification pipeline
- The current desktop app uses a clean light
CustomTkinterinterface. - The current training script is
EfficientNetB0-based. - Model, evaluation, and dataset artifacts are grouped under
artifacts/so the source tree stays clearer without losing the original delivery assets.
- Course:
YBS 4015 Yapay Zeka - Project title:
VetVision: Yapay Zeka Destekli Köpek Irkı Analizi ve Veteriner Asistanı - Project window:
Oct 2025 - Dec 2025 - Team:
Batuhan Yüksel,Yusuf Yılmaz,Savaş Avcı,Ekin Çelik
| Area | Tools |
|---|---|
| Desktop app | Python, CustomTkinter, Pillow |
| Inference | TensorFlow, NumPy |
| Report generation | Google Gemini API, ReportLab |
| Training | TensorFlow Keras, pandas, matplotlib |
| UX extras | tkinterdnd2 for drag-and-drop |
| Environment | python-dotenv |
.
|-- app.py
|-- train_model.py
|-- llm_test_api.py
|-- create_charts.py
|-- requirements.txt
|-- artifacts/
| |-- model/
| | |-- vetvision_model.h5
| | `-- labels.txt
| |-- dataset/
| | |-- labels.csv
| | `-- sample_submission.csv
| `-- evaluation/
| |-- confusion_matrix.png
| `-- report.txt
`-- docs/assets/
-
Create a virtual environment:
python3 -m venv .venv source .venv/bin/activate -
Install the dependencies:
pip install -r requirements.txt
-
Create an environment file if you want Gemini-backed report generation:
cp .env.example .env
-
Add your Gemini key to
.envif you want AI-generated veterinary summaries:GEMINI_API_KEY=your-key-here
-
Launch the desktop application:
python app.py
If GEMINI_API_KEY is not set, the app still works for local breed recognition and PDF export, but the LLM-backed veterinary narrative remains disabled.
train_model.pyorganizes the dataset into train and validation folders- the current script uses transfer learning with
EfficientNetB0 - augmentation is applied through
ImageDataGenerator - the best model is saved as
artifacts/model/vetvision_model.h5
The repository already includes the confusion matrix generated during the academic delivery:
- This repository is strongest as a course project handoff and desktop AI demo.
- The public snapshot still includes the original heavy model and evaluation artifacts, but they are grouped under
artifacts/to reduce root-level clutter. - A production packaging pass would normally move the trained model to a release asset or model registry instead of versioning it in the source tree.
Released under the MIT License.

