Robotik & Sensör Teknolojileri

LiDAR Sistemlerde Görüntü İşleme ve Nokta Bulutu Analizi

Otonom araçlar, İHA'lar ve endüstriyel robotlarda kullanılan LiDAR sensör verilerinin 3D nokta bulutu işleme algoritmaları ile nesne tespiti ve çevre haritalamaya dönüştürülmesi rehberi.

Otonom sistemlerin çevrelerini 3 boyutlu olarak algılayabilmeleri, modern robotik dünyasının en kritik aşamalarından biridir. LiDAR (Light Detection and Ranging) sensörleri, saniyede yüz binlerce lazer darbesi göndererek nesnelerin uzaklığını milimetrik hassasiyetle ölçer. Ancak bu işlem sonucunda elde edilen ham veri, düzensiz uzay koordinatlarından oluşan devasa bir Nokta Bulutu (Point Cloud) kümesidir. Bu noktaların anlamlı nesnelere dönüştürülmesi ise ileri seviye görüntü işleme ve algoritma tekniklerini gerektirir.

1 LiDAR Verisinin Yapısı ve Çalışma Prensibi

Geleneksel 2D kameralar bir sahnedeki piksellerin renk (RGB) değerlerini yakalarken, LiDAR sensörü nesnelerin X, Y, Z uzay koordinatlarını ve lazer ışınının geri yansıma şiddetini (Intensity) üretir.

3D Koordinat Verisi Her nokta uzaydaki kesin konumunu gösteren (X, Y, Z) metre bazlı vektör bilgisine sahiptir.
Yansıma Şiddeti Nesnenin malzeme yapısına göre değişen yansıma değeri (Intensity) yol çizgileri ile asfaltı ayırt etmeyi sağlar.
Düzensiz Veri Yapısı Pikseller gibi düzenli bir matris yapısı yoktur; noktalar uzayda düzensiz ve değişken yoğunlukta dağılır.

2 Nokta Bulutu Görüntü İşleme Adımları

LiDAR ham verisini anlamlı bir otonom sürüş veya haritalama girdisine dönüştürmek için standart bir işleme hattı (pipeline) uygulanır:

  1. Gürültü Temizleme (Voxel Grid Filtering): Sensörden gelen milyonlarca noktayı küçülterek (downsampling) veri boyutunu düşürür ve hatalı lazer sıçramalarını eler.
  2. Zemin Ayrıştırma (RANSAC Ground Plane Removal): Algoritmanın aracın gittiği zemin yüzeyini tespit edip nokta bulutundan çıkarmasını sağlar; böylece sadece engeller kalır.
  3. Kümeleme (Clustering / Euclidean Cluster): Zemin çıkarıldıktan sonra birbirine yakın noktalar gruplanarak araç, yaya veya bina gibi nesne adayları oluşturulur.
  4. Sınıflandırma ve Bounding Box Yapılandırması: Kümelenen her nokta grubunun etrafına 3D kutular (Bounding Box) çizilerek nesnenin boyutu ve yönü hesaplanır.

Uzman İpucu: Open3D ve Python ile Nokta Bulutu İşleme

Python ekosisteminde LiDAR verisi işlemek için Open3D veya PCL (Point Cloud Library) kullanılır. Aşağıdaki kod örneği, ham bir nokta bulutundaki zemin düzlemini RANSAC algoritması kullanarak ayırır:

lidar_ransac_segmentation.py
import open3d as o3d

# 1. LiDAR nokta bulutu dosyasını yükle
pcd = o3d.io.read_point_cloud("lidar_scan.pcd")

# 2. Voxel Grid ile Seyreltme (Downsampling)
downpcd = pcd.voxel_down_sample(voxel_size=0.05)

# 3. RANSAC ile Zemin Düzlemini Tespit Et
plane_model, inliers = downpcd.segment_plane(distance_threshold=0.02,
                                             ransac_n=3,
                                             num_iterations=1000)

# 4. Zemin ve Engelleri Ayır
inlier_cloud = downpcd.select_by_index(inliers) # Zemin
outlier_cloud = downpcd.select_by_index(inliers, invert=True) # Engeller

o3d.visualization.draw_geometries([outlier_cloud])

3 Kamera ve LiDAR Füzyonu (Sensör Füzyonu)

Tek başına LiDAR, yüksek derinlik doğruluğu sağlasa da trafik ışığının rengini veya yol tabelasındaki yazıyı okuyamaz. 2D Kameralar ise zengin renk verisi sunar ancak mesafe ölçümünde yetersizdir. Bu noktada Sensor Fusion (Sensör Füzyonu) devreye girer. LiDAR'ın 3D koordinatları, piksel projeksiyon matrisleri ile kamera görüntüsü üstüne çakıştırılarak hem derinliği hem de rengi bilinen hibrit bir algılama elde edilir.

Sıkça Sorulan Sorular

LiDAR verisi ile normal kamera görüntüsü arasındaki fark nedir?

Normal kameralar 2D piksel ve renk bilgisi sağlarken, LiDAR lazer darbeleri kullanarak uzaydaki nesnelerin derinlik ve kesin 3D koordinat (X, Y, Z) bilgilerini üretir. LiDAR ışık koşullarından veya karanlıktan etkilenmez.

LiDAR nokta bulutu işlemek için hangi kütüphaneler kullanılır?

C++ ve Python tabanlı PCL (Point Cloud Library), Open3D, ROS/ROS2 sensor_msgs paketleri ve derin öğrenme tarafında PointNet++ ile PyTorch Geometric yaygın olarak kullanılır.

LiDAR-Kamera füzyonu (Sensor Fusion) neden gereklidir?

LiDAR milimetrik 3D mesafe verisi sağlar ancak renk/tabela metni okuyamaz. Kameralar ise yüksek renk zenginliği sunar. İki verinin birleştirilmesi otonom sürüş güvenliğini maksimuma çıkarır.

Robotik Kodlama ve Algoritma Dünyasına Adım Atın!

Otonom sistemler ve blok tabanlı kodlama platformumuz ile hemen tarayıcınız üzerinden algoritmalar geliştirmeye başlayın.

Kodlamaya Başla