Dört nokta perspektifi geri alır
Kamera yolu eğik görür: uzaktaki bir metre, yakındaki bir metreden çok daha az piksel kaplar. Piksel cinsinden hız bu yüzden anlamsızdır; aynı araç ufka doğru giderken yavaşlıyormuş gibi görünür. Ama yol düz bir düzlemdir ve bir düzlemin iki görüntüsü arasındaki ilişki tek bir 3×3 matrisle, bir homografiyle tam olarak ifade edilir. Bu matrisi bulmak için yolda boyutunu bildiğin bir dikdörtgenin dört köşesini işaretlemek yeter.
Doğru kalibrasyonda tahmin edilen hızlar gerçeğe birkaç yüzde içinde oturur. Bir tutamacı birkaç piksel kaydırmak bile hataları büyütür, çünkü uzaktaki pikseller çok daha fazla metre taşır. panoptes bu yüzden kalibrasyonu elle tıklamaya bırakmaz; şerit genişliği gibi bilinen ölçülerden kontrol eder ve güven aralığıyla raporlar.
Göremediğini kaybetmeyen takipçi
Dedektör her karede kutular ve güven puanları üretir. Takipçinin işi bu kutuları kareler arasında aynı araca bağlamaktır. Zor an, bir aracın bir direğin ya da başka bir aracın arkasına girdiği andır: dedektör onu ya hiç görmez ya da düşük güvenle görür. Saf bir takipçi düşük güvenli kutuları çöpe atar, izi kaybeder ve araç tekrar göründüğünde ona yeni bir kimlik verir.
ByteTrack’in fikri basit ve güçlüdür: önce yüksek güvenli kutuları mevcut izlerle eşleştir, sonra eşleşmeyen izleri düşük güvenli kutularla da eşleştirmeyi dene. Bu arada izler görünmezken bile hareket modeliyle ileri taşınır. panoptes bunu sıfırdan, lisans temiz biçimde uygular.
Kuralları okuyan küçük bir dil
Tespit ve takip sadece ham malzemedir. Asıl soru “ne oldu?” sorusudur: kim hız sınırını aştı, hangi kamyon sol şeritte, hangi araç yasak bölgede durdu. panoptes bu kuralları koda gömmek yerine bildirimsel bir dille yazdırır; kural değişince yeniden derleme gerekmez. Aşağıdaki editör aynı fikrin minyatürü: her satır bir kural ve olaylar sen yazarken değişir.
when <koşul> -> <etiket>. Alanlar: speed (km/s), lane (1 sağ, 2 sol), type (car, truck, bus), zone (A ya da B). Operatörler: > < >= <= == !=, and, or. Hatalı satırlar kırmızıyla işaretlenir.- homografi
- Yol düzleminin görüntüsünü metreye çeviren 3×3 matris; dört noktadan bulunur.
- bytetrack
- Düşük güvenli tespitleri de kullanan iki aşamalı eşleştirme; kimlikler kapanmadan sağ çıkar.
- kural dili
- Olayları bildirimsel kurallarla tanımlamak; kural değişince kod değişmez.