Araştırma 2023–2025

TÜBİTAK 3501 — 222M494

GeoVisionAI

Özyeğin Üniversitesi · Yapay Zekâ Tabanlı Grasshopper Eklentisi

GeoVisionAI, üç boyutlu iç mekân tarama verisi kullanılarak yapı bileşenlerini otomatik tespit eden ve üç boyutlu NURBS model oluşturan bir Grasshopper eklentisidir. TÜBİTAK 3501 kapsamında Özyeğin Üniversitesi'nde yürütülen araştırma projesi çerçevesinde geliştirilmiştir.

Arka planda Mask R-CNN derin öğrenme algoritmasını kullanan eklenti; duvarlar, kapılar, pencereler, parke, seramik ve halı gibi yapı bileşenlerini mesh modeller üzerinden otomatik olarak tanımlar ve gerçek dünya ölçüleriyle üç boyutlu NURBS geometriye dönüştürür.

1

3B Tarama

  • Nokta bulutu verisi
  • Mesh model
2

Veri Seti

  • Etiketleme
  • Temizlik & bölme
3

Mask R-CNN Eğitimi

  • ResNet-101 + FPN
  • COCO transfer
4

Bileşen Tespiti

  • Segmentasyon
  • Sınıf tahmini
5

NURBS Model

  • 3B geometri üretimi
  • Analiz & rapor
Geliştirilen birleşik modelin genel diagramı

GeoVisionAI eklentisinin genel iş akış diagramı: 3B taramadan yapı bileşeni tespitine ve NURBS model oluşturmaya uzanan süreç.

GeoVisionAI Eklentisi

Eklenti, C# programlama dili ile geliştirilen altı ana komponent ve bir kurulum komponentinden oluşmaktadır.

MaskRCNN Installer
Kurulum Komponenti
Gerekli tüm bağımlılıkları tek butonla kurar.
Bounding Box Detector
Bounding Box Yaratıcı
Mesh modelin genişlik, uzunluk ve yükseklik ölçülerini hesaplar.
Viewport Size Analyzer
Viewport Ölçer
Rhino viewport oranlarının uygunluğunu doğrular.
Mesh Capture Tool
Görünüş Yakalayıcı
Altı yön görünüşünü yakalar ve imaj olarak kaydeder.
AI Detection and Mask Processing Tool
Öğe Tanımlayıcı
Mask R-CNN ile yapı bileşenlerini tespit eder ve maske dosyaları üretir.
Geo Mask Transformer
Öğe Yerleştirici
Maskeleri gerçek dünya ölçülerine dönüştürerek üç boyutlu konumlandırır.
Curve Grouping by Mask Type
Öğe Sınıflandırıcı
Tanımlanan öğeleri türlerine göre gruplandırır.

Ortam Kurulumu

MaskRCNN Installer komponenti Grasshopper arayüzü

MaskRCNN Installer komponentinin Grasshopper arayüzü. Kurulum, durum kontrolü ve manuel işlem seçenekleri görülmektedir.

TEK SEFERLİK KURULUM

Teknik bilgisi olmayan kullanıcıların sistemi kolayca kurabilmesi için MaskRCNN Installer komponenti geliştirilmiştir. Tek bir butonla Git, Miniconda, GitHub deposu, eğitilmiş model ve Python ortamı kurulumu otomatik olarak gerçekleştirilir.

Kurulum tamamlandığında durum paneli tüm bileşenlerin hazır olup olmadığını kontrol eder. Eksik bileşenler varsa kullanıcı uyarılır; tümü başarılı olduktan sonra ana iş akışına geçilebilir.

Sürecin İşleyişi

Kurulum tamamlandıktan sonra kullanıcı, üç boyutlu mekân taramasını Rhino ortamına aktarır ve Grasshopper kodundaki butonları sırasıyla çalıştırır. Süreç dört ana aşamadan oluşur: mesh modelin hazırlanması, cephe görünüşlerinin oluşturulması, yapı bileşenlerinin tespiti ve NURBS modelin üretilmesi.

GeoVisionAI iş akış diagramı

GeoVisionAI eklentisinin çalışma iş akış diagramı.

GeoVisionAI Grasshopper kodu

GeoVisionAI eklentisinin Grasshopper kodu. Butonlar ile kullanıcı yönlendirilmekte, arka planda geliştirilen komponentler çalışmaktadır.

GRASSHOPPER KODU

Grasshopper arayüzünde beş ana buton yer alır: Install Button ile kurulum, ardından sırasıyla Button 1–4 ile ana süreç yürütülür. Her buton arka planda ilgili komponentleri tetikler ve sonuçlar otomatik olarak bir sonraki aşamaya aktarılır.

Mesh Modelin Hazırlanması

Üç boyutlu iç mekân taraması sonucu elde edilen mesh model, Grasshopper ortamına aktarılır. Bounding Box Detector komponenti mesh modelin etrafına sınırlayıcı kutu oluşturarak genişlik, uzunluk ve yükseklik ölçülerini hesaplar. Bu değerler, ilerleyen aşamalarda piksel koordinatlarının gerçek dünya ölçülerine dönüştürülmesi için temel referans olarak kullanılır.

3B tarama mesh modeli

Üç boyutlu iç mekân taraması sonucu elde edilen mesh model — eklentinin başlangıç girdisi.

Cephe Görünüşlerinin Oluşturulması

Görünüş yakalama aşamasına geçilmeden önce Viewport Size Analyzer komponenti Rhino viewport oranlarını kontrol eder. Görüntü alanı uygun değilse kullanıcı uyarılır ve süreç durdurulur.

Viewport uygunsa Mesh Capture Tool devreye girer. Mesh geometrisinin merkezinden ortografik kamerayla altı yön görünüşü (kuzey, güney, doğu, batı, tavan, taban) yakalanır. Her görünüş JPEG ve PNG formatında kaydedilir, ardından alpha eşiğine göre siyah-beyaz maskelere dönüştürülür.

Yapı Bileşenlerinin Tespiti

Cephe görünüşleri hazırlandıktan sonra AI Detection and Mask Processing Tool komponenti devreye girer. Komponent, iç mekân fotoğraflarından oluşan özel bir veriseti ile eğitilmiş Mask R-CNN modelini kullanır. Arka planda Python betiği çalıştırılarak her görünüş üzerinde segmentasyon ve nesne tanıma işlemi gerçekleştirilir. Tespit edilen yapı bileşenleri için ayrı ayrı maske dosyaları oluşturulur ve kaydedilir.

Mask R-CNN dört cephe tespiti

Mask R-CNN algoritmasının dört cephe görünüşünde yapı bileşeni tespiti. Kırmızı maskeler tespit edilen pencere ve kapıları göstermektedir.

NURBS Modelin Üretilmesi

Tespit edilen maskeler, Geo Mask Transformer komponenti tarafından gerçek dünya ölçülerine dönüştürülür. Her maske için sınırlayıcı dikdörtgen çizilir, bounding box boyutlarıyla oran-orantı kurularak piksel değerleri oda boyutlarına ölçeklenir ve ilgili yüzeye (kuzey, güney, doğu, batı, tavan, taban) taşınarak döndürülür.

Son aşamada Curve Grouping by Mask Type komponenti öğeleri sınıflandırır. Öğe ve maske sayısının tutarlılığı kontrol edildikten sonra her öğenin alanı eşik değerle karşılaştırılır. Eşiği aşan öğeler maske adına göre kapı, pencere, döşeme, seramik ve halı listelerine atanır.

Cephe görünüşü ve maske oluşturma süreci

Üstte cephe görünüşü, altta (a) orijinal imaj, (b) siyah-beyaz maske, (c) pencere maskesi.

3B taramadan NURBS modele dönüşüm süreci

(a) Mesh model, (b) Mask R-CNN tespiti ve maskeleme, (c) NURBS çizgi tanımları, (d) üç boyutlu NURBS model.

C# ile geliştirilen 6 özgün Grasshopper komponenti ile 3B taramadan NURBS modele uzanan uçtan uca süreç tek ortamda gerçekleştirildi.

Üç boyutlu tarama mesh verilerinden yapı bileşenlerinin tespit edilip sınıflandırılabileceği ve Grasshopper ortamında üç boyutlu NURBS geometrisi olarak yeniden oluşturulabileceği gösterilmiştir.

Tür Yapay Zekâ Tabanlı Eklenti
Araçlar Rhino/Grasshopper, C#, Python
Yöntem Mask R-CNN tabanlı görüntü analizi
Çıktı Mimari eleman tespiti ve 3B model üretimi