sancos/lane_keeping
🛣️ Otonom Şerit Takibi (U-Net Lane Detection)
<p align="center"> <img src="https://img.shields.io/badge/TensorFlow-FF9800?style=for-the-badge&logo=tensorflow&logoColor=white" /> <img src="https://img.shields.io/badge/Keras-FFB458?style=for-the-badge&logo=keras&logoColor=black" /> <img src="https://img.shields.io/badge/OpenCV-39AD39?style=for-the-badge&logo=opencv&logoColor=white" /> <img src="https://img.shields.io/badge/Albumentations-F1B060?style=for-the-badge&logo=albumentations&logoColor=black" /> <img src="https://img.shields.io/badge/Streamlit-FFD200?style=for-the-badge&logo=streamlit&logoColor=black" /> </p>
👁️ Derin Öğrenme Tabanlı Şerit Segmentasyon Projesi
📝 Proje Özeti
Bu proje, otonom sürüş sistemlerinin en kritik bileşenlerinden biri olan şerit takibi (lane detection) için geliştirilmiştir. TuSimple veri seti üzerinde, U-Net mimarisi kullanılarak şerit çizgilerinin görüntü üzerindeki piksel bazlı bölütlemesi (segmentation) yapılmıştır. Model, zorlu doku karmaşalarını ve ışık değişimlerini yönetebilmek için Data Augmentation teknikleriyle eğitilmiştir.
🚀 Teknik Detaylar ve Metodoloji
🛠️ Kullanılan Teknolojiler
- Mimari: U-Net (CNN)
- Framework: TensorFlow / Keras
- Görüntü İşleme: OpenCV
- Veri Çoğaltma: Albumentations (Horizontal Flip, Brightness/Contrast)
- Arayüz: Streamlit
📊 Model Performansı
Eğitim süreci EarlyStopping ile optimize edilmiş ve en iyi başarıyı yakalayan ağırlıklar kaydedilmiştir.
Not: Model, başlangıçtaki doku karmaşalarını (su damlacıkları, gölge etkileri) yüksek başarıyla aşarak genelleme yeteneğini kanıtlamıştır.
🔍 Modelin Çalışma Prensibi
Model, giriş görüntüsünü (256x512) bir encoder-decoder yapısından geçirerek her pikselin bir şerit çizgisine ait olup olmadığını tahmin eder. bce_dice_loss hibrit kayıp fonksiyonu sayesinde, şeritlerin sadece konumunu değil, geometrik formlarını da hassasiyetle yakalamaktadır.
🏗️ Kurulum ve Kullanım
- Repoyu klonlayın:
git clone https://github.com/madsancos/lane-keeping-project.git
2. Gerekli kütüphaneleri yükleyin:pip install -r requirements.txt
3. Uygulamayı başlatın:streamlit run app.py
---
## Hazırlayan
**Serdar ÖNAL** |
**Kıdemli İnşaat Mühendisi & Yapay Zeka Geliştiricisi | 2026**
> "Mühendislik disipliniyle veriyi işliyor, sahadaki arızaları dijital dünyada öngörüyorum."
[](https://www.linkedin.com/in/serdarönal1981)
[](https://github.com/madsancos)
[](https://huggingface.co/sancos)
