EdgeFlow - क्षैतिज रूप से स्केल होने वाला रियल-टाइम वीडियो डिस्ट्रीब्यूटेड प्रोसेसिंग फ्रेमवर्क
(github.com/seolgugu)यह k3s-आधारित फ्रेमवर्क Raspberry Pi जैसे कम-प्रदर्शन वाले डिवाइसों पर high-fps वीडियो प्रोसेसिंग लागू करने के लिए बनाया गया है.
लगातार आने वाले वीडियो फ्रेम्स को Redis के जरिए कई प्रोसेसिंग नोड्स में वितरित करके फिर दोबारा एकत्र करने की विधि से horizontal scaling लागू की गई है.
वास्तव में, एक Raspberry Pi 4B पर केवल 4fps तक सीमित YOLOv5 की रनिंग स्पीड, 4 नोड्स में वितरित करने पर 16~17fps तक रेखीय रूप से बढ़ती हुई देखी गई.
सिस्टम Producer, जो फ्रेम बनाता है, Consumer, जो प्रोसेसिंग संभालता है, और Gateway, जो परिणामों को एकत्र करके दिखाता है, इनसे मिलकर बना है.
Gateway में इंटरफ़ेस को स्वतंत्र रूप से बदला जा सकता है, जिससे इसे कई सिस्टमों तक विस्तारित किया जा सकता है, और मध्यस्थ broker की भूमिका निभाने वाला Redis भी ऐसी संरचना में है जिसे दूसरे protocol के अनुसार customize किया जा सकता है.
मुख्य विशेषताएँ
- edgeflow कमांड: एक ही कमांड से k3s cluster में image build, push और deploy तक सब कुछ एक साथ किया जा सकता है.
- सहज pipeline:
link().to()syntax के जरिए pipeline को सहज रूप से कॉन्फ़िगर किया जा सकता है. - लचीला प्रबंधन: हर नोड के लिए स्वतंत्र dependency management संभव है, और यदि dependency में बदलाव न हो तो rebuild के बिना चल रहे pod में तुरंत code reflect किया जा सकता है.
- क्रम की गारंटी: distributed processing के दौरान होने वाली frame order के उलटफेर की समस्या को हल करने के लिए Gateway में Jitter Buffer बिल्ट-इन है.
- लोकल टेस्ट: Kubernetes cluster न होने पर भी लोकल environment में multi-process तरीके से pipeline को पुनः निर्मित किया जा सकता है.
प्रगति की स्थिति
प्रोटोटाइप चरण में वास्तविक Raspberry Pi camera को सीधे pod के अंदर लाने में सफलता मिली है, और अभी इस फीचर को framework पर स्थिर रूप से पुनः निर्मित करने के लिए implementation जारी है.
फ़िलहाल कई सिस्टमों को जोड़ने के लिए प्रोजेक्ट को और उन्नत किया जा रहा है. अभी इसमें कई कमियाँ हैं, लेकिन distributed system या वीडियो प्रोसेसिंग pipeline डिज़ाइन के बारे में आपका कोई भी feedback मेरे लिए सचमुच बहुत बड़ा सीखने का अवसर होगा. पढ़ने के लिए धन्यवाद.
विस्तृत जानकारी या त्वरित tutorial नीचे दिए गए लिंक पर देखे जा सकते हैं.
Github: https://github.com/seolgugu/edgeflow
अभी कोई टिप्पणी नहीं है.