Neuromorphic Vision
Nöromorfik görüş, sahneleri retina gibi algılar: olay kameraları, piksel başına parlaklık değişikliklerini mikrosaniyeler içinde bildirir. Olayların nasıl çalıştığını ve kullanıldığını öğren.
Nöromorfik görüş, görüntüleri biyolojik retina ve beynin yaptığı gibi algılayıp işleyen bir bilgisayarlı görü yaklaşımıdır. Temel aygıtı olan olay kamerası veya dinamik görüş sensörü (DVS), bağımsız çalışan piksellere sahiptir; her piksel, sabit bir hızda tam kareler yakalamak yerine, parlaklık değişimini gerçekleştiği anda bildirir. Çıktı; mikrosaniye hassasiyetinde zaman bilgisi, yüksek dinamik aralık ve neredeyse hiç hareket bulanıklığı içeren seyrek bir olay akışıdır; durağan bir sahne ise neredeyse hiç veri üretmez. Alan, Carver Mead'in Caltech'teki grubunun 1980'lerin sonlarında sinir devrelerini taklit eden analog çipler geliştirdiği nöromorfik mühendislik çalışmalarından doğdu. Darbeli sinir ağları ise aynı tür seyrek, zamanlanmış olaylarla hesaplama yapan doğal işleme karşılığıdır.
Olay Kameraları Nasıl Çalışır#
Her piksel, son olayında gördüğü parlaklığın logaritmasını saklar. Mevcut logaritmik parlaklık, bu referanstan kontrast eşiğini aşacak kadar farklı olduğunda piksel; konumunu, zaman damgasını ve parlaklığın artması için ON, azalması için OFF kutupluluğunu kodlayan bir olay üretir ve ardından referansını sıfırlar. Logaritmik uzayda çalışmak, pikselin göreli kontrasta yanıt vermesini sağlar; böylece aynı sensör derin gölgeyi de doğrudan güneş ışığını da algılar. Kare kameralarda yaklaşık 60 dB olan dinamik aralığa kıyasla yaklaşık 140 dB dinamik aralık sunar.
Çıktının ne kadar seyrek olduğunu görmek için aynı kuralı sıradan videoya uygulayabilirsin:
import cv2
import numpy as np
# Read a clip of a person exercising in front of a fixed camera
cap = cv2.VideoCapture("https://github.com/ultralytics/assets/releases/download/v0.0.0/solution_ci_pose_demo.mp4")
ok, frame = cap.read()
reference = np.log1p(cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY).astype(np.float32))
threshold = 0.2 # contrast threshold on log brightness
events, samples = 0, 0
while True:
ok, frame = cap.read()
if not ok:
break
brightness = np.log1p(cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY).astype(np.float32))
# A pixel fires an ON or OFF event only when its brightness changed by more than the threshold
fired = np.abs(brightness - reference) >= threshold
reference[fired] = brightness[fired]
events += fired.sum()
samples += fired.size
print(f"{events:,} events vs {samples:,} pixel values in frames ({100 * events / samples:.2f}%)")233,492 events vs 13,593,600 pixel values in frames (1.72%) çıktısını verir: Sabit kamerada kareler arasında yalnızca egzersiz yapan kişi değişir; bu nedenle olay akışı, tam karelerin taşıyacağı değerlerin %1,72'sini içerir. v2e gibi simülatörler videoları aynı şekilde sentetik olay eğitim verilerine dönüştürür; isteğe bağlı olarak önce kare enterpolasyonu ile videoyu üst örnekler ve piksel başına eşik uyumsuzluğu ile gürültü ekler.
Olay Kameraları ve Kare Kameralar#
Olay kameraları; hızlı hareket, aşırı aydınlatma koşullarına sahip sahneler ve değişimin az olduğu, sürekli açık uç yapay zekâ algılaması için uygundur; bant genişliği de sahnedeki etkinliğe göre değişir. Mutlak parlaklık veya renk kaydetmezler: Durağan bir sahneyi izleyen sabit kamera hiçbir şey bildirmezken hareketli bir kamera, her kenardan gelen olaylarla çıktıyı doldurur. iniVation'ın DAVIS'i gibi hibrit sensörler aynı piksellerden standart kareler de yakalar; birçok sistem sensör füzyonu aracılığıyla olay kamerası ile kare kamerayı birleştirir. Evrişimli sinir ağları (CNNs) gibi standart modeller yoğun görüntüler beklediğinden, işlem hatları olayları ya yoğun bir temsile dönüştürür ya da doğrudan işler:
- Olay kareleri: Bir zaman aralığında piksel başına ON ve OFF olaylarını saymak, her CNN'in okuyabileceği iki kanallı bir görüntü oluşturur.
- Zaman yüzeyleri ve voksel ızgaraları: Her pikselin en son zaman damgasını saklamak veya olayları birkaç zaman dilimine bölmek, basit sayımların attığı zaman bilgisini korur.
- Nöromorfik çiplerdeki darbeli ağlar: Intel'in Loihi 2'si gibi işlemciler olayları doğrudan darbeler olarak alır ve yalnızca olay geldiğinde enerji harcar.
- Yoğunluk yeniden oluşturma: E2VID gibi ağlar olay akışından gri tonlamalı bir video oluşturur; böylece kare tabanlı modeller bu video üzerinde çalışabilir.
Ultralytics YOLO, giriş kanalı sayısını veri kümesi YAML dosyasının channels anahtarından okur; 10 kanallı COCO8-Multispectral veri kümesi buna örnektir. Böylece bir YOLO26 nesne algılama modeli, ON ve OFF sayımlarından oluşan iki kanallı olay kareleri üzerinde doğrudan eğitilebilir.
Gerçek Dünya Uygulamaları#
- Otomotiv algısı: 2024 tarihli bir Nature çalışmasında 20 FPS renkli kamera bir olay kamerasıyla eşleştirildi ve yoldaki nesneler, 45 FPS kameranın bant genişliğiyle 5.000 FPS kameranın gecikme süresinde algılandı.
- Drone'lar ve robotik: Zürih Üniversitesi'nden bir olay kameralı dört rotorlu drone, kendisine saniyede 10 metreye varan bağıl hızlarla fırlatılan engellerden 3,5 milisaniye toplam gecikmeyle kaçtı.
- Endüstriyel izleme: Olay kameraları hızlı hareket eden parçaları sayar, makine titreşimini ölçer ve yüksek hızlı süreçleri izler. IDS gibi endüstriyel kamera üreticileri, Prophesee sensörleriyle üretilen olay tabanlı modeller satar.










