TOKİ Kura Sonuçları OCR Otomasyonu ve 3D Harita Platformu
YouTube canlı yayınlarından Python, OpenCV ve Tesseract OCR ile anlık veri çıkaran otomasyon sistemi ve CesiumJS tabanlı 3D harita ile zenginleştirilmiş TOKİ kura sonuçları sorgulama platformu.
🏠 SOSYAL SORUMLULUK PROJESİ
TOKİ Kura Sonuçları OCR Otomasyonu
YouTube canlı yayınlarından anlık veri çıkaran Python otomasyonu ve CesiumJS tabanlı 3D harita platformu
|
10.000+
Konut Verisi
|
OCR
Tesseract
|
3D
CesiumJS Harita
|
AI
Gemini İş Birliği
|
Proje Özeti
Bu proje, TOKİ'nin on binlerce konutluk İstanbul kura çekilişlerinde yaşanan veri erişim sorununa kökten çözüm getiren çok aşamalı bir sosyal sorumluluk çalışmasıdır.
Projenin ilk ve en yenilikçi adımı, saatlerce süren YouTube canlı yayınlarından Python, OpenCV ve Tesseract OCR kullanarak anlık veri çıkaran bir otomasyon sistemi geliştirmektir. Bu sistemle elde edilen ham veriler, daha sonra TOKİ tarafından yayınlanan resmi PDF listelerindeki detaylı konut bilgileriyle birleştirilmiş ve tamamı CesiumJS tabanlı 3D harita ile zenginleştirilmiş, kullanıcı dostu bir web platformuna dönüştürülmüştür.
Kişisel verilerin gizliliği ve veri bütünlüğü prensipleriyle, Google'ın yapay zeka asistanı Gemini ile iş birliği içinde geliştirilen bu platform, canlı yayındaki bir fikrin nasıl on binlerce insana hizmet eden bir teknoloji ürününe dönüştüğünün hikayesidir.
Bölüm 1: YouTube Canlı Yayınından OCR ile Anlık Veri Çıkarma
Saatlerce süren canlı yayınlardan manuel veri toplama işlemini otomatize eden bir Python projesi. Bu araç, canlı yayından anlık görüntüler alıp Optik Karakter Tanımlama (OCR) ile metinleri okuyarak yapılandırılmış bir Excel dosyasına otomatik olarak kaydeder.
⚠️ Problem: Anlık ve Erişilemeyen Veri
TOKİ kura çekilişleri, YouTube üzerinden canlı yayınlanırken, hak sahiplerinin isimleri ekranda sadece birkaç saniye kalıyordu. Bu hızlı akışı manuel olarak takip etmek, veriyi not almak ve doğrulamak imkansızdı. Resmi listelerin yayınlanması ise saatler, hatta günler sürebiliyordu. Bu durum, on binlerce insanın yaşadığı stresi ve belirsizliği artırıyordu.
⚙️ Geliştirilen Teknik Çözüm (main.py)
Doğrudan Video Akışına Erişim
Standart YouTube arayüzünün getirdiği kısıtlamaları aşmak için yt-dlp kütüphanesi kullanılarak videonun 1080p kalitesindeki doğrudan akış (stream) URL'si elde edildi.
Görüntü İşleme ve Yakalama
OpenCV (cv2) kütüphanesi ile video akışına bağlanıldı. Belirlenen saniye aralıklarıyla (örneğin 20 saniyede bir) video anlık olarak durdurulup ekrandan bir kare (frame) yakalandı.
Hedef Odaklı Kırpma ve Ön İşleme
OCR performansını maksimize etmek için, yakalanan her karenin sadece ilgili verileri içeren bölümü (ekranın %41 ile %92'si arası) programatik olarak kırpıldı. Ardından görüntü, OpenCV fonksiyonlarıyla büyütüldü, gri tonlamaya çevrildi ve ikili (siyah-beyaz) formata getirilerek Tesseract'in metni okuması için en uygun hale getirildi.
Optik Karakter Tanımlama (OCR)
Hazırlanan bu temiz görüntü, pytesseract kütüphanesine gönderilerek üzerindeki metinlerin okunması ve dijital metin verisine (string) dönüştürülmesi sağlandı.
Akıllı Veri Ayrıştırma (Parsing)
OCR'dan gelen ham metin genellikle "gürültülü" (hatalı karakterler, eksik boşluklar vb.) olur. Bu ham verinin içinden "Başvuru No", "Konut ID" gibi kritik bilgileri hatasız ayıklayabilmek için Regular Expression (RegEx) tabanlı akıllı bir ayrıştırıcı fonksiyon geliştirildi.
Veri Depolama
Ayıklanan her benzersiz ve geçerli sonuç, bir pandas DataFrame'ine aktarıldı ve işlem sonunda tamamı yapılandırılmış bir Excel dosyası (.xlsx) olarak kaydedildi.
✅ Sonuç
Bu otomasyon sayesinde, insan eliyle yapılması günler sürecek bir iş, hatasız bir şekilde saatler içinde tamamlanarak projenin bir sonraki aşaması için temel veri seti oluşturuldu.
Bölüm 2: Entegre Web Platformu ve Veri Merkezi
OCR otomasyonu ile elde edilen ilk veriler, projenin nihai hedefi olan kullanıcı dostu web platformunun temelini attı.
🛠️ Geliştirme Süreci
🔧 Kullanılan Teknolojiler
|
🐍
Python |
👁️
OpenCV |
📝
Tesseract OCR |
🌍
CesiumJS |
|
📊
Pandas |
📄
pdfplumber |
🗄️
SQL |
🤖
Gemini AI |
Kazanımlar ve Sonuç
Bu çok katmanlı proje, anlık bir probleme bulunan yaratıcı bir çözümün (OCR otomasyonu), sistematik bir veri işleme süreciyle nasıl on binlerce insana hizmet eden kalıcı bir platforma dönüşebileceğini göstermiştir.
|
🧩
Problem ÇözmeKarmaşık sorunlara yaratıcı teknik çözümler |
⚡
OtomasyonManuel süreçlerin otomatize edilmesi |
📊
Veri MühendisliğiHam veriden yapılandırılmış bilgiye |
🌐
Full-StackUçtan uca platform geliştirme |
Canlı yayından veri çekme gibi zorlu bir görevin üstesinden gelmek ve bu veriyi nihai bir ürün haline getirmek, problem çözme, otomasyon, veri mühendisliği ve tam yığın (full-stack) geliştirme konularındaki yetkinliklerimi birleştirdiğim en kapsamlı çalışmalardan biri oldu.
Bu proje kapsamında kullanılan ana teknolojiler:
Galeri
İlgili Projeler
Tümünü Gör ->SkyTrace - Python Tabanlı Roket Yörünge Simülasyonu
Newton hareket yasaları ve aerodinamik sürüklenme prensipleriyle geliştirilen parametrik roket s...
Projeyi Gör arrow_right_altGözcü İHA - YOLOv8 ile Gerçek Zamanlı Tank ve Zırhlı Araç Tespiti
Savunma sanayii için YOLOv8 tabanlı otonom tehdit tespit sistemi. Drone görüntülerinden tank ve...
Projeyi Gör arrow_right_altRulman Arıza Tespiti - Kestirimci Bakım ve Makine Öğrenmesi Projesi
CWRU titreşim verileri kullanılarak rulman arızalarının FFT sinyal işleme ve Random Forest mak...
Projeyi Gör arrow_right_alt