EdgeFlow - Yatay Ölçeklenebilir Gerçek Zamanlı Video Dağıtık İşleme Çerçevesi
(github.com/seolgugu)Bu, Raspberry Pi gibi düşük performanslı cihazlarda yüksek fps video işlemeyi hayata geçirmek için oluşturulmuş k3s tabanlı bir çerçevedir.
Ardışık video karelerini Redis üzerinden birden fazla işleme düğümüne dağıtıp ardından yeniden birleştirerek yatay ölçeklenebilirlik sağlandı.
Gerçekte, tek bir Raspberry Pi 4B üzerinde yalnızca 4 fps olan YOLOv5 çalışma hızının, 4 düğüme dağıtıldığında doğrusal olarak artarak 16~17 fps'ye ulaştığı doğrulandı.
Sistem, kareleri üreten Producer, işlemeyi üstlenen Consumer ve sonuçları bir araya getirip gösteren Gateway bileşenlerinden oluşur.
Gateway, arayüz serbestçe değiştirilerek çeşitli sistemlere genişletilebilir; ayrıca ara broker rolünü üstlenen Redis de başka protokollerle özelleştirilebilecek bir yapıya sahiptir.
Başlıca özellikler
- edgeflow komutu: Tek bir komutla k3s kümesinde image build, push ve deploy işlemlerini bir seferde gerçekleştirir.
- Sezgisel pipeline:
link().to()sözdizimiyle pipeline yapısı sezgisel biçimde kurulabilir. - Esnek yönetim: Her düğüm için bağımsız bağımlılık yönetimi mümkündür ve bağımlılıklarda değişiklik yoksa rebuild yapmadan çalışan pod'lara kod anında yansıtılabilir.
- Sıra garantisi: Dağıtık işlem sırasında oluşan kare sırası karışıklığını çözmek için Gateway içine Jitter Buffer gömülmüştür.
- Yerel test: Kubernetes kümesi olmasa bile pipeline, yerel ortamda çoklu süreç yöntemiyle yeniden üretilebilir.
İlerleme durumu
Prototip aşamasında gerçek Raspberry Pi kamerasını doğrudan pod içine almayı başardık ve şu anda bu özelliği çerçeve üzerinde kararlı biçimde yeniden üretmek için geliştirme sürüyor.
Şu anda birden fazla sistemi birbirine bağlamak için projeyi geliştiriyoruz. Hâlâ eksikler çok, ancak dağıtık sistemler veya video işleme pipeline tasarımı hakkında vereceğiniz her türlü geri bildirim benim için gerçekten çok değerli bir öğrenme fırsatı olur. Okuduğunuz için teşekkürler.
Ayrıntılar veya hızlı bir eğitim için aşağıdaki bağlantıya göz atabilirsiniz.
Github: https://github.com/seolgugu/edgeflow
Henüz yorum yok.