- 🫒 Argon-Bilig: Gemlik Zeytini Yapay Zekâ Teşhis ve Karar Destek Motoru
- 👥 Proje Geliştiricileri ve Sahipliği
- 📦 İlgili Veri Seti (Companion Dataset)
- 📊 1. Model Ağırlıkları ve Donanım Çıkarım Performansı
- 🏷️ 2. Sınıflar, Veri Dağılımı ve Sınıf Ağırlıkları
- 📈 3. Doğrulama Seti Performans Karnesi (Validation Metrics)
- 🧠 Model Mimarisi ve Hibrit Karar Akışı
- 🎯 Hedef Sınıflar ve Zirai Mücadele Reçeteleri
- 💻 Python ile Hızlı Çıkarım (Quickstart)
- 📖 Bu Modeli Alıntılamak İçin (Citation)
- 🙏 Veri Seti Kaynakları ve Teşekkür (Acknowledgements)
- 👥 Proje Geliştiricileri ve Sahipliği
🫒 Argon-Bilig: Gemlik Zeytini Yapay Zekâ Teşhis ve Karar Destek Motoru
Argon-Bilig, Gemlik (Olea europaea cv. 'Gemlik') zeytini özelinde rekolte ve ağaç sağlığını tehdit eden Halkalı Leke (Venturia oleaginea) ve Zeytin Pas Akarı (Aculus olearius) etmenlerini piksel hassasiyetinde tespit eden, arka plan gürültüsünü izole eden ve fenolojik döneme göre zirai mücadele reçetesi sunan hibrit bir yapay zekâ teşhis sistemidir.
Bu çalışma; TÜBİTAK 2204-A Lise Öğrencileri Araştırma Projeleri Yarışması ve TEKNOFEST Tarımsal Teknolojiler kapsamında geliştirilmiştir.
👥 Proje Geliştiricileri ve Sahipliği
- Muhammed Emin DUYAR
- Ahmet Buğra GİRGİN
- Yıl: 2026
📦 İlgili Veri Seti (Companion Dataset)
Bu modeller, arka plan gürültüsünden arındırılarak standardize edilen resmi Argon-Bilig veri seti ile eğitilmiştir:
- 🔗 Veri Seti Deposu: JoQert/argon-bilig-olive-dataset
📊 1. Model Ağırlıkları ve Donanım Çıkarım Performansı
Aşağıdaki değerler sistem tarafından CPU üzerinde gerçekleştirilen gerçek zamanlı testler ile ölçülmüştür:
| Model Bileşeni | Dosya Adı | Mimari | Dosya Boyutu | Giriş Çözünürlüğü | Ortalama CPU Gecikmesi |
|---|---|---|---|---|---|
| Model 1 (Segmentasyon) | yolov8_zeytin_seg.onnx |
YOLOv8s-seg | 45.18 MB | 640x640 px | 387.3 ms |
| Model 2 (Sınıflandırma) | efficientnet_classifier.onnx |
EfficientNet-B0 | 15.79 MB | 224x224 px | 16.1 ms |
| Toplam Sistem | Hibrit Boru Hattı | İki Aşamalı ONNX | 60.97 MB | - | 403.4 ms |
🏷️ 2. Sınıflar, Veri Dağılımı ve Sınıf Ağırlıkları
Eğitimde veri dengesizliğini bertaraf etmek amacıyla Weighted Cross-Entropy Loss kullanılmıştır:
| Sınıf ID | Sınıf Etiketi | Türkçe Tanım | Eğitim Seti (Train) | Doğrulama Seti (Val) | Kayıp Ağırlığı (Weight) |
|---|---|---|---|---|---|
0 |
Healthy |
Sağlıklı Zeytin Yaprağı | 1033 yaprak | 259 yaprak | 0.889 |
1 |
acerculus_olearius |
Zeytin Pas Akarı | 398 yaprak | 100 yaprak | 2.308 |
2 |
olive_peacock_spot |
Halkalı Leke | 1325 yaprak | 332 yaprak | 0.693 |
📈 3. Doğrulama Seti Performans Karnesi (Validation Metrics)
Doğrulama veri seti üzerindeki gerçek çıkarım sonuçları:
| Sınıf | Precision (Hassasiyet) | Recall (Duyarlılık) | F1-Score | Doğrulama Örneklemi (Support) |
|---|---|---|---|---|
| Sağlıklı Zeytin Yaprağı | %99.23 (0.9923) | %99.23 (0.9923) | %99.23 (0.9923) | 259 |
| Zeytin Pas Akarı | %99.00 (0.9900) | %99.00 (0.9900) | %99.00 (0.9900) | 100 |
| Halkalı Leke | %99.40 (0.9940) | %99.40 (0.9940) | %99.40 (0.9940) | 332 |
| Genel Başarım (Accuracy) | - | - | %99.28 | 691 |
Tarımsal Güvenlik Notu: Tarımda en kritik metrik, hastalıklı yaprağı gözden kaçırmamayı ifade eden Recall (Duyarlılık) değeridir. Modelimiz leke ve pas akarı sınıflarında yüksek duyarlılık göstererek yanlış negatif riskini en aza indirmiştir.
🧠 Model Mimarisi ve Hibrit Karar Akışı
Ham Yaprak Fotoğrafı
│
▼
[Model 1: YOLOv8s-seg] ──(Leke Alanı > %0.5)──► [Halkalı Leke Teşhisi & Şiddet Analizi]
│
(Leke Yok)
│
[Arka Plan İzolasyonu & Kırpma]
│
▼
[Model 2: EfficientNet-B0] ────────────────────► [Zeytin Pas Akarı VEYA Sağlıklı Yaprak]
🎯 Hedef Sınıflar ve Zirai Mücadele Reçeteleri
| Sınıf Etiketi | Bilimsel Adı | Türkçe Karşılığı | Mücadele ve Tedavi Reçetesi |
|---|---|---|---|
olive_peacock_spot |
Venturia oleaginea | Halkalı Leke | %1 - 1.5 Bordo Bulamacı / Ruhsatlı Bakırlı Fungisit |
acerculus_olearius |
Aculus olearius | Zeytin Pas Akarı | Sürgün döneminde Islanabilir Kükürt (WP) / Akarisit |
Healthy |
Olea europaea | Sağlıklı Yaprak | Rutin sulama, havalandırma budaması ve dengeli besleme |
💻 Python ile Hızlı Çıkarım (Quickstart)
import onnxruntime as ort
import numpy as np
import cv2
# Modeli Yükle
session = ort.InferenceSession("efficientnet_classifier.onnx", providers=['CPUExecutionProvider'])
classes = ['Healthy', 'acerculus_olearius', 'olive_peacock_spot']
# Görseli Oku ve Normalize Et (224x224)
img = cv2.imread("ornek_yaprak.jpg")
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
resized = cv2.resize(img_rgb, (224, 224)).astype(np.float32) / 255.0
mean = np.array([0.485, 0.456, 0.406], dtype=np.float32)
std = np.array([0.229, 0.224, 0.225], dtype=np.float32)
normalized = (resized - mean) / std
input_tensor = np.transpose(normalized, (2, 0, 1))[np.newaxis, ...]
# Çıkarım
input_name = session.get_inputs()[0].name
logits = session.run(None, {input_name: input_tensor})[0][0]
probs = np.exp(logits) / np.sum(np.exp(logits))
pred_class = classes[np.argmax(probs)]
print(f"Teşhis: {pred_class} (Güven: %{np.max(probs)*100:.2f})")
📖 Bu Modeli Alıntılamak İçin (Citation)
@misc{argonbilig2026,
title={Argon-Bilig: Gemlik Zeytini Hastalık ve Zararlıları İçin Hibrit Yapay Zekâ Teşhis Motoru},
author={Duyar, Muhammed Emin and Girgin, Ahmet Bu{\u{g}}ra},
year={2026},
howpublished={Hugging Face Hub: \url{https://huggingface.co/JoQert/argon-bilig-olive-models}},
note={Yapay zekâ teşhis motoru ve ONNX modelleri}
}
🙏 Veri Seti Kaynakları ve Teşekkür (Acknowledgements)
Model eğitiminde kullanılan öncül ham verilerin bilimsel katkıları için teşekkür ederiz:
- Olive Peacock Eye Dataset: Diker, A., Elen, A., Közkurt, C. et al. (2024). Eur Food Res Technol, 250, 287–299. DOI: 10.1007/s00217-023-04386-8
- Olive Leaf Disease Unified Dataset: Abeer Saleh (CC0: Public Domain)
- Olive Leaf Image Dataset: Habibul Basher (CC0: Public Domain)