"Yazmak, varoluşsal bir bunalımın, kağıda dökülmüş, estetik bir intikamıdır." — Franz Kafka (kurgusal alıntı)"

Meyve Ağacı Dipkurtları (Capnodis cariosa): Modern Tanı ve Mücadele Teknolojileri

Bu metinde, Akdeniz iklim kuşağındaki meyve ağaçlarını tehdit eden Capnodis cariosa (dipkurdu) zararlısı ele alınıyor. Buprestidae familyasından olan bu böcek, siyah veya bronz renkte, metalik parıltılı ve beyaz noktalı desenlere sahiptir. İklim değişikliği nedeniyle popülasyonu artan zararlı, tarımsal üretimde ciddi ekonomik kayıplara neden olmaktadır.

yazı resim

Meyve ağacı dipkurtları (Capnodis cariosa Pall.), Buprestidae familyasından olan ve tarımsal üretimde ciddi ekonomik kayıplara neden olan önemli bir zararlıdır. Bu zararlı, özellikle Akdeniz iklim kuşağında yetişen meyve ağaçları için büyük tehdit oluşturmaktadır. Son yıllarda iklim değişikliği ve artan stres faktörleri nedeniyle popülasyonu ve zarar potansiyeli giderek artmaktadır.
Zararlının Tanımı ve Biyolojik Özellikleri
Morfolojik Özellikler
Capnodis cariosa'nın erginleri karakteristik yapısal özelliklere sahiptir. Vücut yapısı siyah veya bronz renkte olup, hafif metalik parıltı gösterir. En belirgin özelliği, üzerindeki beyaz noktalı kabarık desenlerdir. Bu desenler, türün tanımlanmasında önemli bir morfolojik belirteç olarak kullanılmaktadır. Erginlerin kanatları (elitra) oldukça sert yapıdadır ve bu özellik Buprestidae familyasının karakteristik bir özelliğidir. Bu sert kanat yapısı, zararlının çevresel koşullara karşı direncini artırmaktadır.
Davranış Özellikleri
Zararlının davranış özellikleri, mücadele stratejilerinin geliştirilmesinde kritik öneme sahiptir. Erginler çoğunlukla ağacın gövde ve kök boğazı bölgelerinde bulunur. Tehlike anında karakteristik bir kaçış davranışı sergiler: yaklaşıldığında dal veya gövde etrafında dönerek saklanmaya çalışır. Yakalanma anında ise "thanatosis" adı verilen ölü taklidi davranışını gösterir. Bu davranış sırasında bacaklarını vücut altına çekerek kendini toprağa atar ve kuru yapraklar ile otlar arasında hareketsiz kalarak gizlenir. Bu davranış, doğal düşmanlardan kaçınma stratejisi olarak gelişmiştir.
Zarar Şekli ve Konukçu Spektrumu
Ergin ve Larva Zararı
Capnodis cariosa'nın zarar mekanizması iki farklı gelişim evresinde farklı şekillerde ortaya çıkar:
Ergin Zararı: Erginler yaprakları nadiren tüketir. Asıl zarar, genç sürgünlerin, aşı gözlerinin ve yaprak saplarının oburca yenilmesi ile ortaya çıkar. Bu beslenme davranışı, özellikle özsuyu düzeni bozulmuş ve stres altındaki ağaçlarda yoğunlaşır.
Larva Zararı: Yumurtadan çıkan larvalar, ağacın en kritik noktası olan kök sistemine saldırır. Kök kabuğu altındaki kambiyum tabakasını beslenme alanı olarak kullanır. Kambiyum tabakası, ağacın su ve besin madde iletim sisteminin temel bileşeni olduğu için bu zarar, ağacın yaşamsal fonksiyonlarını doğrudan etkiler.
Zarar Belirtileri ve Gelişim Süreci
Zararlı saldırısı sonucunda ağaçlarda karakteristik belirtiler ortaya çıkar:

  1. İlk Dönem: Büyüme durması ve genel zayıflık belirtileri
  2. Orta Dönem: Larva sayısının artmasıyla birlikte ilerleyen zayıflık
  3. Son Dönem: Ağacın tamamen kuruması
    Zarar şiddeti, ağacın yaşına ve genel sağlık durumuna bağlı olarak değişir. Fidanlar çok kısa sürede (birkaç ay içinde), yetişkin ağaçlar ise 2-5 yıllık süreçte kuruma ile sonuçlanır.
    Konukçu Bitkileri
    Capnodis cariosa geniş bir konukçu spektrumuna sahiptir:
    Meyve Ağaçları: Şeftali, nektarin, kayısı, erik, badem, kiraz, vişne, antepfıstığı, incir
    Diğer Ağaç Türleri: Kavak, söğüt, çitlenbik, idris, kuzu kulağı
    Bu geniş konukçu spektrumu, zararlının adaptasyon kabiliyetinin yüksekliğini ve mücadele zorluğunu göstermektedir.
    Geleneksel Kültürel Mücadele Yöntemleri
    Ağaç Sağlığının Korunması
    Kültürel mücadelenin temel prensibi, ağaçları stres faktörlerinden uzak tutmaktır. Stresli ağaçlar zararlı saldırısına karşı daha savunmasızdır.
    Su Yönetimi: Düzenli ve yeterli sulama, ağacın direncini artıran en önemli faktörlerden biridir. Özellikle kurak dönemlerde su stresinin önlenmesi kritiktir.
    Gübreleme: Dengeli beslenme programı ile ağaçların genel sağlık durumu iyileştirilir. Özellikle azot, fosfor ve potasyum dengesine dikkat edilmelidir.
    Çevresel Düzenlemeler
    Temizlik: Ağaç altlarında erginlerin saklanabileceği yüksek boylu ot ve çalılar temizlenmelidir. Bu önlem, zararlının barınma alanlarını sınırlandırır.
    Kireçleme: Kabuklu bit problemi olmayan ağaçlarda gövde kireçlemesi yapılmalıdır. Kireç badanası, dişi böceklerin yumurta bırakma davranışını güçleştirir ve mekanik bir bariyer oluşturur.
    Ergin Mücadelesi
    Manuel Toplama: Sabah erken saatleri ve akşamüstü dönemleri ergin aktivitesinin yoğun olduğu zamanlardır. Bu dönemlerde gövde ve kök boğazında manuel toplama etkili sonuç verir.
    Sarsma Yöntemi: Ağaç dibindeki dökülen yaprakların bulunduğu alanlarda fidanlar sarsılarak, yere düşen erginler toplanabilir.
    Modern Teknoloji Destekli İzleme Sistemleri
    Tuzak ve Görüntü İşleme Teknolojileri
    Modern tarımsal mücadelede, feromon tuzaklar ve görüntü işleme teknolojilerinin entegrasyonu devrim niteliğinde gelişmeler sağlamaktadır.
    Feromon Tuzak Sistemleri: Türe özgü feromon bileşikleri kullanılarak ergin popülasyon yoğunluğu tespit edilebilir. Bu tuzaklar GPS koordinatları ile donatılarak coğrafi bilgi sistemleri ile entegre edilebilir.
    Yapay Zeka Destekli Görüntü Analizi: Tuzaklara yerleştirilen kameralar sayesinde sürekli izleme yapılabilir. Derin öğrenme algoritmaları kullanılarak otomatik böcek tanımlama ve sayma işlemleri gerçekleştirilebilir.
    İklim Verisi ve Modelleme
    Meteorolojik Veri Entegrasyonu: Zararlının yaşam döngüsü, sıcaklık ve nem değerleri ile yakından ilişkilidir. İklim istasyonlarından alınan gerçek zamanlı veriler, biyolojik modeller ile işlenerek ergin çıkış tahminleri yapılabilir.
    Tahmin Modelleri: Makine öğrenmesi algoritmaları kullanılarak, geçmiş yıl verileri ve meteorolojik parametreler baz alınarak gelecek dönem risk haritaları oluşturulabilir.
    Yazılım Tabanlı Karar Destek Sistemleri
    Mobil Uygulama Teknolojileri
    Saha Kayıt Uygulamaları: Çiftçiler ve tarım danışmanları için geliştirilmiş mobil uygulamalar, saha gözlemlerinin sistematik kaydedilmesini sağlar. GPS tabanlı konum kayıtları ile birlikte zararlı yoğunluk haritaları oluşturulabilir.
    Gerçek Zamanlı Bildirim Sistemleri: Risk seviyesi arttığında otomatik bildirimler göndererek, zamanında müdahale imkanı sağlanır.
    Veri Analitiği ve Tahminleme
    Büyük Veri Analizi: 5-10 yıllık saha kayıtlarının analizi ile trend analizleri yapılarak, salgın riski yüksek bölgeler ve dönemler önceden tespit edilebilir.
    Makine Öğrenmesi Modelleri: Regresyon analizi ve zaman serisi tahmin modelleri kullanılarak, popülasyon dinamikleri modellenebilir.
    Pratik Uygulama: Entegre Zararlı Yönetim Sistemi
    Sistem Mimarisi
    Modern bir dipkurt yönetim sistemi, çok katmanlı bir yapıya sahip olmalıdır:
  4. Veri Toplama Katmanı: Sensörler, tuzaklar, manuel gözlemler
  5. Veri İşleme Katmanı: Makine öğrenmesi algoritmaları, istatistiksel analizler
  6. Karar Destek Katmanı: Risk değerlendirme, öneri sistemleri
  7. Kullanıcı Arayüzü Katmanı: Web ve mobil uygulamalar
    Veri Yönetimi
    Veritabanı Tasarımı: SQLite veya PostgreSQL tabanlı veritabanları, gözlem verilerini, meteorolojik verileri ve coğrafi bilgileri entegre bir şekilde saklayabilir.
    API Entegrasyonu: RESTful API'ler sayesinde farklı veri kaynakları ve kullanıcı uygulamaları arasında sorunsuz veri alışverişi sağlanabilir.
    Tahmin Algoritmalarının Geliştirilmesi
    Lineer Regresyon Modelleri: Sıcaklık, nem, yağış gibi çevresel parametreler ile zararlı popülasyonu arasındaki ilişkiler modellenebilir.
    Üstel Düzeltme Yöntemleri: Zaman serisi verilerinde trend ve mevsimsellik analizleri yapılarak kısa vadeli tahminler geliştirilebilir.
    Derin Öğrenme Yaklaşımları: Konvolüsyonel Sinir Ağları (CNN) kullanılarak görüntü tabanlı zararlı tespit sistemleri geliştirilebilir.
    Risk Değerlendirme ve Erken Uyarı Sistemleri
    Risk Sınıflandırması
    Geliştirilen tahmin modelleri sonuçlarına göre üç seviyeli risk sınıflandırması önerilmektedir:
    Yüksek Risk (>20 ergin/tuzak): Acil müdahale gerektiren durum. Kültürel mücadele önlemlerinin hemen uygulanması ve ergin toplama faaliyetlerinin yoğunlaştırılması gerekir.
    Orta Risk (10-20 ergin/tuzak): Dikkatli izleme gerektiren durum. Bahçelerde sık gözlem yapılması, ot temizliği ve ağaç sağlığının kontrol edilmesi önerilir.
    Düşük Risk (<10 ergin/tuzak): Rutin gözlem ve koruyucu önlemlerin yeterli olduğu durum.
    Coğrafi Bilgi Sistemleri (CBS) Entegrasyonu
    Risk Haritalarının Oluşturulması: Folium, Leaflet gibi kütüphaneler kullanılarak interaktif haritalar oluşturulabilir. Bu haritalar üzerinde risk seviyeleri renk kodları ile görselleştirilebilir.
    Mekansal Analiz: Zararlı yoğunluğunun coğrafi dağılım desenleri analiz edilerek, yayılma rotaları ve potansiyel risk alanları belirlenebilir.
    Yapay Zeka Destekli Görüntü Analizi
    Derin Öğrenme Model Mimarisi
    Zararlı tespiti için geliştirilen CNN modelinde şu katmanlar önerilmektedir:
  8. Giriş Katmanı: 128x128x3 boyutunda RGB görüntüler
  9. Konvolüsyon Katmanları: Özellik çıkarımı için çok katmanlı konvolüsyon
  10. Havuzlama Katmanları: Boyut azaltma ve aşırı öğrenmeyi önleme
  11. Tam Bağlı Katmanlar: Sınıflandırma veya sayma işlemleri
  12. Çıkış Katmanı: Zararlı sayısı tahmini
    Model Eğitimi ve Optimizasyonu
    Veri Ön İşleme: Görüntü normalleştirme, boyut standardizasyonu ve veri artırma tekniklerinin uygulanması model performansını artırır.
    Transfer Öğrenme: ResNet, VGG gibi önceden eğitilmiş modellerin kullanılması, sınırlı veri seti durumlarında etkili sonuçlar verebilir.
    Hiper Parametre Optimizasyonu: Öğrenme oranı, batch boyutu, epoch sayısı gibi parametrelerin sistematik olarak ayarlanması gerekir.
    Ekonomik Değerlendirme ve Maliyet-Fayda Analizi
    Geleneksel Yöntemler vs. Modern Teknolojiler
    İlk Yatırım Maliyetleri: Modern teknoloji sistemlerinin kurulumu için önemli bir başlangıç yatırımı gereklidir. Ancak, uzun vadede işgücü maliyetlerinde önemli tasarruflar sağlanır.
    Etkinlik Karşılaştırması: Teknoloji destekli sistemler, geleneksel yöntemlere göre %30-50 daha yüksek erken tespit oranları sağlayabilir.
    Hasar Azaltma Potansiyeli: Erken uyarı sistemleri sayesinde, zararlı saldırısından kaynaklanan ekonomik kayıplar %60-80 oranında azaltılabilir.
    Yatırım Geri Dönüş Süresi
    Orta büyüklükteki işletmeler için teknoloji entegrasyonunun geri dönüş süresi 2-3 yıl olarak hesaplanmaktadır. Bu süre, önlenen hasarlar ve azalan işgücü maliyetleri dikkate alınarak belirlenmektedir.
    Gelecek Perspektifleri ve İnovasyonlar
    IoT Entegrasyonu
    Akıllı Sensör Ağları: Toprak nemi, sıcaklık, nem sensörleri ile zararlı tuzaklarının entegre edilmesi, tam otomatik izleme sistemleri geliştirilmesini sağlayacaktır.
    Gerçek Zamanlı Veri Akışı: 5G teknolojisi ile desteklenen sürekli veri akışı, anlık karar verme imkanı sunacaktır.
    Drone Teknolojisi
    Havacılık Destekli Gözlem: Multispektral kameralar ile donatılmış dronlar, geniş alanları kısa sürede tarayarak zararlı aktivitesi tespiti yapabilecektir.
    Otomatik Müdahale: Gelecekte, dronlar aracılığıyla biyolojik mücadele ajanlarının hedefli uygulanması mümkün olabilecektir.
    Blockchain ve Veri Güvenliği
    Veri Bütünlüğü: Blockchain teknolojisi kullanılarak, tarımsal veri kayıtlarının güvenliği ve izlenebilirliği sağlanabilir.
    Meyve ağacı dipkurtları ile mücadelede geleneksel kültürel yöntemler hala temel önemini korumaktadır. Ancak, modern teknoloji entegrasyonu ile bu yöntemlerin etkinliği dramatik olarak artırılabilmektedir. Önerilen entegre yaklaşımda, veri toplama, analiz etme ve karar verme süreçlerinin otomatikleştirilmesi ile hem maliyet etkinliği hem de başarı oranları önemli ölçüde iyileştirilebilir. Özellikle yapay zeka destekli erken uyarı sistemleri, zararlı popülasyonlarının kontrol altına alınmasında kritik rol oynayabilir. Gelecekte, tarımsal üretimde sürdürülebilirlik ve teknoloji entegrasyonunun artması ile birlikte, zararlı yönetim stratejileri daha da sofistike hale gelecektir. Bu gelişmelerin merkezinde, veri odaklı karar verme süreçleri ve çiftçi-teknoloji etkileşiminin güçlendirilmesi yer almaktadır. Son olarak, teknoloji transferi ve çiftçi eğitimi konularına özel önem verilmesi, modern mücadele yöntemlerinin yaygın adaptasyonu için gereklidir. Üniversite-sanayi-çiftçi işbirlikleri bu sürecin kilit dinamikleri olacaktır.
    Meyve Ağacı Dipkurtları Tespit Modeli
    import sqlite3
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    import folium
    import cv2
    import tensorflow as tf
    from datetime import datetime
    from sklearn.linear_model import LinearRegression
    from statsmodels.tsa.holtwinters import ExponentialSmoothing
    from flask import Flask, request, jsonify

Veritabanı Kurulumu

DB_NAME = "dipkurt.db"
def init_db():
conn = sqlite3.connect(DB_NAME)
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS observations (
id INTEGER PRIMARY KEY AUTOINCREMENT,
date TEXT,
location TEXT,
latitude REAL,
longitude REAL,
temperature REAL,
humidity REAL,
rainfall REAL,
beetle_count INTEGER
)
""")
conn.commit()
conn.close()

Veri Ekleme Fonksiyonu

def add_observation(date, location, latitude, longitude, temperature, humidity, rainfall, beetle_count):
conn = sqlite3.connect(DB_NAME)
cursor = conn.cursor()
cursor.execute("""
INSERT INTO observations (date, location, latitude, longitude, temperature, humidity, rainfall, beetle_count)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)""",
(date, location, latitude, longitude, temperature, humidity, rainfall, beetle_count))
conn.commit()
conn.close()

Veri Çekme Fonksiyonu

def get_data():
conn = sqlite3.connect(DB_NAME)
df = pd.read_sql_query("SELECT * FROM observations", conn)
conn.close()
df["date"] = pd.to_datetime(df["date"])
return df

Regresyon ile Tahmin Fonksiyonu

def regression_forecast(df):
df = df.sort_values("date")
df["days"] = (df["date"] - df["date"].min()).dt.days
X = df[["days", "temperature", "humidity", "rainfall"]]
y = df["beetle_count"]
model = LinearRegression()
model.fit(X, y)
future_days = np.arange(df["days"].max() + 1, df["days"].max() + 15).reshape(-1, 1)
future_temp = np.full_like(future_days, df["temperature"].mean())
future_hum = np.full_like(future_days, df["humidity"].mean())
future_rain = np.full_like(future_days, df["rainfall"].mean())
X_future = np.hstack([future_days, future_temp, future_hum, future_rain])
forecast = model.predict(X_future)
return future_days.flatten(), forecast

Üstel Düzeltme ile Tahmin Fonksiyonu

def exponential_smoothing(df):
df = df.sort_values("date")
model = ExponentialSmoothing(df["beetle_count"], trend="add", seasonal=None)
fit = model.fit()
forecast = fit.forecast(14)
return forecast

Grafik Oluşturma Fonksiyonu

def plot_results(df, reg_forecast, exp_forecast):
plt.figure(figsize=(12,6))
plt.plot(df["date"], df["beetle_count"], label="Gerçek Gözlemler", marker="o")
future_dates = pd.date_range(df["date"].max() + pd.Timedelta(days=1), periods=14)
plt.plot(future_dates, reg_forecast[1], label="Regresyon Tahmini", linestyle="--")
plt.plot(future_dates, exp_forecast, label="Üstel Düzeltme Tahmini", linestyle=":")
plt.title("Meyve Ağacı Dipkurtları Popülasyon Tahmini")
plt.xlabel("Tarih")
plt.ylabel("Böcek Sayısı")
plt.legend()
plt.grid(True)
plt.show()

Risk Değerlendirme Fonksiyonu

def check_risk(forecast):
if np.max(forecast) > 20:
return " Yüksek Risk: Ergin toplama ve kültürel mücadele hemen yapılmalı."
elif np.max(forecast) > 10:
return " Orta Risk: Bahçe sık gözlenmeli, ot temizliği yapılmalı."
else:
return " Düşük Risk: Rutin gözlem yeterli."

Harita Oluşturma Fonksiyonu

def generate_map(df, map_file="dipkurt_map.html"):
if df.empty:
print("Harita için veri bulunamadı.")
return
center_lat = df["latitude"].mean()
center_lon = df["longitude"].mean()
m = folium.Map(location=[center_lat, center_lon], zoom_start=7)
for _, row in df.iterrows():
if row["beetle_count"] > 20:
color = "red"
elif row["beetle_count"] > 10:
color = "orange"
else:
color = "green"
folium.CircleMarker(
location=[row["latitude"], row["longitude"]],
radius=7,
color=color,
fill=True,
fill_color=color,
popup=f"{row['location']} ({row['date'].date()}) - {row['beetle_count']} böcek"
).add_to(m)
m.save(map_file)
print(f"Harita kaydedildi: {map_file}")

Yapay Zeka ile Böcek Tespiti Fonksiyonu

def detect_beetles(image_path, model_path="beetle_model.h5"):
try:
model = tf.keras.models.load_model(model_path)
except Exception as e:
print("Model yüklenemedi:", e)
return 0
image = cv2.imread(image_path)
image_resized = cv2.resize(image, (128, 128)) / 255.0
image_input = np.expand_dims(image_resized, axis=0)
prediction = model.predict(image_input)
beetle_count = int(prediction[0][0])
return beetle_count

Flask API Uygulaması

app = Flask(__name__)
@app.route("/add", methods=["POST"])
def api_add_observation():
data = request.json
add_observation(
data["date"],
data["location"],
data["latitude"],
data["longitude"],
data["temperature"],
data["humidity"],
data["rainfall"],
data["beetle_count"]
)
return jsonify({"status": "success", "message": "Gözlem eklendi."})
@app.route("/forecast", methods=["GET"])
def api_forecast():
df = get_data()
if df.empty:
return jsonify({"status": "error", "message": "Veri bulunamadı."})
reg_future, reg_forecast = regression_forecast(df)
exp_forecast = exponential_smoothing(df)
risk = check_risk(exp_forecast)
return jsonify({
"status": "success",
"regression_forecast": reg_forecast.tolist(),
"exponential_forecast": exp_forecast.tolist(),
"risk": risk
})

Örnek Kullanım

if __name__ == "__main__":
init_db()

Örnek veri girişi

add_observation("2025-09-01", "Gaziantep", 37.066, 37.383, 32, 40, 0, 5)
add_observation("2025-09-05", "Gaziantep", 37.066, 37.383, 34, 35, 0, 9)
add_observation("2025-09-10", "Gaziantep", 37.066, 37.383, 30, 50, 2, 15)
add_observation("2025-09-15", "Gaziantep", 37.066, 37.383, 28, 55, 5, 22)
df = get_data()
reg_future, reg_forecast = regression_forecast(df)
exp_forecast = exponential_smoothing(df)
plot_results(df, (reg_future, reg_forecast), exp_forecast)
print(check_risk(exp_forecast))
generate_map(df)

Flask sunucusunu çalıştır

app.run(host="0.0.0.0", port=5000, debug=True)
Açıklamalar:

  1. Veritabanı İşlemleri: SQLite veritabanında gözlem verilerini saklar.
  2. Veri Analizi: Lineer regresyon ve üstel düzeltme ile böcek popülasyonu tahmini yapar.
  3. Görselleştirme: Tahmin sonuçlarını grafikte gösterir ve risk durumunu renkli haritada işaretler.
  4. Yapay Zeka: Eğitilmiş model ile fotoğraftaki böcek sayısını tahmin eder.
  5. Mobil API: Flask ile veri ekleme ve tahmin sonuçları için REST API sağlar.
    Kullanım:
    - Örnek veriler otomatik eklenir ve tahminler çalıştırılır.
    - http://localhost:5000/add endpoint'ine POST ile veri ekleyebilirsiniz.
    - http://localhost:5000/forecast endpoint'inden tahmin sonuçlarını alabilirsiniz.
    AI modeli için beetle_model.h5 dosyasının proje dizininde bulunması gerekir.
    Meyve Ağacı Dipkurtları Tespit Modeli (beetle_model.h5)
    Aşağıda, meyve ağacı dipkurtlarını tespit etmek için basit bir derin öğrenme modeli oluşturan ve eğiten bir Python kodu bulunmaktadır. Bu kodu çalıştırarak beetle_model.h5 dosyasını oluşturabilirsiniz.
    import numpy as np
    import tensorflow as tf
    from tensorflow.keras import layers, models
    import os

Basit bir CNN modeli oluşturma

def create_beetle_detection_model():
model = models.Sequential([
layers.Conv2D(32, (3, 3), activation='relu', input_shape=(128, 128, 3)),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(64, (3, 3), activation='relu'),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(64, (3, 3), activation='relu'),
layers.Flatten(),
layers.Dense(64, activation='relu'),
layers.Dense(1, activation='linear') # Regresyon için linear aktivasyon
])
model.compile(optimizer='adam',
loss='mean_squared_error',
metrics=['mae'])
return model

Modeli oluştur

model = create_beetle_detection_model()

Model özetini görüntüle

model.summary()

Eğitim için örnek veri oluşturma (gerçek uygulamada kendi verilerinizle değiştirin)

Bu sadece demonstrasyon içindir - gerçek bir model için etiketli görüntü verisine ihtiyacınız olacak

num_samples = 100
X_train = np.random.random((num_samples, 128, 128, 3)) # Rastgele görüntüler
y_train = np.random.randint(0, 30, (num_samples, 1)) # 0-30 arası rastgele böcek sayıları

Modeli eğitme

print("Model eğitiliyor...")
history = model.fit(X_train, y_train,
epochs=10,
validation_split=0.2,
verbose=1)

Modeli kaydetme

model.save('beetle_model.h5')
print("Model 'beetle_model.h5' olarak kaydedildi.")

Test için örnek veri

X_test = np.random.random((10, 128, 128, 3))
predictions = model.predict(X_test)
print("Örnek tahminler:", predictions.flatten())
Gerçek Model İçin Yapılması Gerekenler:

  1. Veri Toplama:
    - Dipkurtları içeren ve içermeyen yüzlerce görüntü toplayın.
    - Her görüntüdeki böcek sayısını manuel olarak etiketleyin.
  2. Veri Ön İşleme:
    - Görüntüleri 128x128 piksel boyutuna yeniden boyutlandırın.
    - Veri artırma (data augmentation) teknikleri uygulayın.
  3. Model Eğitimi:
    - Yukarıdaki kodu kendi veri setinizle değiştirin.
    - Daha fazla katman ve epoch sayısı ile denemeler yapın.
  4. Model Değerlendirme:
    - Test seti üzerinde model performansını değerlendirin.
    - Gerektiğinde hiper parametre ayarlamaları yapın.
    Bu kodu çalıştırdığınızda, mevcut dizinde beetle_model.h5 dosyası oluşturulacaktır. Ana projenizde bu dosyayı kullanarak görüntülerdeki böcek sayısını tahmin edebilirsiniz.

Yorumlar

Başa Dön